As mentioned, it provides a powerful and flexible environment for cloud-side processing with guarantees about confidentiality to the cloud. However, the size of the TCB makes it very difficult for the client to evaluate its security. To put this another way: the client needs to evaluate whether the entire software stack properly upholds the specified policy φ. Even if the software is open-source, it is very difficult to do that; there are some standard things one can look for, but establishing any property (such as security) of software is undecidable. The hardware (TPM and TXT) ensures that the software stack is the one being run, but it does not establish that it is secure. This phenomenon is sometimes called binary attestation, meaning that the guarantees are about what software binaries are running, rather than about the properties that are provided. Efforts at moving towards property-based attestation are currently being researched (Chen et al., 2006) and have partly been implemented in Excalibur, but the reliance on binary attestation is still a significant issue.