Skip to content

Latest commit

 

History

History
20 lines (15 loc) · 873 Bytes

Decrypt-only-EK.md

File metadata and controls

20 lines (15 loc) · 873 Bytes

Endorsement Keys are (Generally) Decrypt-Only

All TPMs (2.0) must have decrypt-only Endorsement Keys (EKs).

Some TPMs may have signing-only EKs. E.g., Google cloud vTPMs have signing-only EKs as well as decrypt-only EKs.

Somehow one must make do with decrypt-only EKs to authenticate a TPM. The obvious answer is to make the TPM prove possession of an EK by sending a challenge encrypted to the EK's public key (EKpub).

This is what TPM2_MakeCredential() (encrypt) and TPM2_ActivateCredential() (decrypt) are all about, except that they add some structure to the plaintext and semantics to the decryption function.

See README for details of how TPM2_MakeCredential() and TPM2_ActivateCredential() are used in attestation protocols.