7

I am dealing with the TPM right now and do not get why there is a need for an extra signing key. Instead one could use one of the Attestation Identity Keys (AIKs) for signing as well?! Using different keys shall be good practice but I would like to get a more detailed view on that issue.

I figured out that one advantage is that the signing key can be migratable. So changing the plattform/tpm would not necessarily end in revoking the created certificates.

Are there further reasons for a separate signing key?

2
  • 1
    What are "the AIKs"?
    – user49075
    Commented Mar 7, 2015 at 21:19
  • AIK = Attestation Identity Key
    – onb
    Commented Mar 9, 2015 at 9:24

1 Answer 1

9

AIKs are only allowed to perform two signature-based operations:

  • TPM_Quote, which generates a signed statement of the state of the PCRs using an AIK; this is the operation used in remote attestation.
  • TPM_CertifyKey, which generates a signed statement that another key (not the AIK) is in the TPM's storage hierarchy and is non-migratable. (Obviously, the key being so certified must have these properties.)

In particular, AIKs cannot be used in TPM_Sign, meaning it is impossible to sign arbitrary data. Otherwise, it would be possible to generate a fake quote, and remote attestation would be broken.

(Conversely, TPM_Quote must use an AIK; it cannot use a signing key.)

TL;DR: if you need a key to sign arbitrary data, use a signing key. If you're doing remote attestation, use an AIK.

3
  • "...If you are doing remote attestation, use an AIK." More generally, if you are doing identity based operations (of which remote attestation is one), use the AIK. Indeed, the 'I' stands for Identity. Commented Apr 14, 2016 at 0:40
  • Yes, ish: because you can't use an AIK to sign arbitrary data, it's not possible to use it as an SSL identity. You instead need to do a TPM_CertifyKey on a signing key, and use that as your SSL identity. Commented Apr 29, 2016 at 12:41
  • Yes, my comment should amended to read "if you are doing TPM based platform identity operations...use the AIK." Didn't mean "identity in any situation". Commented May 2, 2016 at 23:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .