[tpm2] Re: tpm2_createprimary to a transient handle...
David Challener <david.c.challener at gmail.com>
| Newsgroups | dev.linux.lists.tpm2 |
|---|---|
| Message-ID | <[email protected]> |
The problem we were trying to solve was a privacy one.
The solution for you can be done many ways.
1) create a signing key and sign it yourself
2) create a signing key and have a CA (usually a privacy CA) sign it as
a TPM key as follows:
A) Create an AIK signing key. Send its public portion of it o the
Privacy CA along with the EK certificate
B) Create a regular signing key and use TPM2_Certify to sign this key
with the AIK. send this to the PrivacyCA.
C) the privacy CA creates certificates for the signing keys and an AES
key. It encrypts the {AES key along with the public portion of the AIK
key} with the public portion of the EK. It sends the result to the
owner of the TPM.
D) the owner of the TPM uses the EK to decrypt the blob. (This will only
work if both the AIK and the EK are loaded) This results it the AES key.
Because of the EK cert, you know the EK is only on one TPM. Because the
TPM was able to decrypt the AES key you know
i) that the EK is bound to that TPM
ii) that the AIK is bound to the same TPM as the EK and is a real
AIK (it won't decrypt it otherwise)
Because the AIK certified the the signing key, you know it is also on
the same TPM (and if the public portion of it signed by the AIK says it
is fixedTPM, you know that about the signing key as well.)
If you remote CA wants to, it CAN put in the certs it makes what EK they
are bound to. (e.g. for an enterprise for its own PCs). If it is a
PrivacyCA, it promises not to.