From: Eduardo Falcão <eduardolfalcao(a)gmail.com>
Sent: Tuesday, June 2, 2020 10:38 PM
Subject: [tpm2] Re: How we authorize the EK hierarchy to create AIK?
Thank you, Nicolas.
It worked when I removed the password for the TPM Endorsement Hierarchy.
So the idea is a client creating an AK and having a server recognizing that this AK
comes from an authentic TPM.
I'm thinking out loud about the steps just to confirm that I'm on the right way:
1. The client sends the name (hash public part) of AK to server; 2. The server
generates a nonce and creates a credential. Name of AK is passed as argument.
3. Client receives the encrypted nonce, and decrypt it with AK using
tpm2_activatecredential (if different AK is used, nonce can't be recovered, I
4. Client quotes PCRs with freshly decrypted nonce 5. Server checks quote using
previously generated nonce.
The only thing I'm not comprehending clearly is the need of a session.
Before this attestation of AK process, on my TPM learning process, I was running
commands (e.g.: creation of keys and quote) on TPM without sessions. Why do I
need a session to run tpm2_activatecredential?
I mean... I know sessions are meant to keep states. But why running only
tpm2_activatecredential, which decrypts the challenge, is not enough?
Sessions are state, but in this case, they are state with authorization data.
tpm2_activatecredential, you give it the credentialed key. Which is the
EK. Which means you need authorization to the EK for the command.
The EK created by tpm2_createek, sets the authorization to a policy
satisfied by a tpm2_policysecret policy event with the
Endorsement Hierarchy password (per the spec). So the only way
To use the EK in the ActivateCredential flow, is to authorize to it via the
> I apologize for such a silly question.
> Best regards
> tpm2 mailing list -- tpm2(a)lists.01.org
> To unsubscribe send an email to tpm2-leave(a)lists.01.org