Key Attestation from Trusted Execution Environments
Credential platforms implemented on top of Trusted Execution Environments (TrEEs) allow users to store and use their credentials, e.g., cryptographic keys or user passwords, securely. One important requirement for a TrEE-based credential platform is the ability to attest that a credential has been created and is kept within the TrEE. Credential properties, such as usage permissions, should be also attested. Existing attestation mechanisms are limited to attesting which applications outside the TrEE are authorized to use the credential. In this paper the authors describe a novel key attestation mechanism that allows attestation of both TrEE internal and external key usage permissions. They have implemented this attestation mechanism for mobile phones with M-Shield TrEE.