I try to learn a bit about the TPM and have a few questions I could not solve by myself.

  1. There are some privacy concerns about using the EK for identifying a TPM. I do not get these privacy concerns. Can anyone provide me a small example how one could identify the certain TPM when using an EK for attestation purposes?
  2. Same story with the AIK. One should use an AIK which is derived from the EK. But there are seemingly also privacy concerns. That should be the reason why there is more than one AIK in a TPM. I don't get this either. A small explanation would be nice.
  3. My last question: Why do we need an extra signing key? We could use the/an AIK instead?
  • Better constrain to a single question per question. In case of multiple only slightly related questions, post multiple ones. Have a look at the FAQ and How to Ask. – Jens Erat Mar 5 '15 at 10:21
  • @onb You should remove the #3 question (create a separate question) and change the title accordingly. This should please the moderators. I'll do the same for my answer. – northox Mar 5 '15 at 23:47
  1. The EK is unique for each TPM. If we would all be using the EK for TPM operations (remote attestation via TPM_Quote()), anyone could correlate our actions. In other words, anonymity wouldn't be impossible for any TPM operations - a single identity.

  2. Same here. If you're always using the same AIK, you're providing a single identity and thus loosing the possibility to do anonymous operations. This is why it is recommended to use multiple AIK for different purpose. Here, the EK is only used to - behind the scene - to attest the adherence of the TPM to the TGC specifications.

  3. In crypto, it is recommended to use different keys for different purposes. This is normally done using key hierarchy. The top level can be used as the root of trust for a specific task. This way, you have have multiple key signed by the top level and used for different purposes (encryption, signature) but you only have to distribute the top-level public key. In other words, because it's a good practice.

Not the answer you're looking for? Browse other questions tagged or ask your own question.