I don't understand very well the concept of trusted platform module. from what I understood AIKs are sent to servers for authentication. Does that means that id two computers are communicating they could learn each other's AIKs? Does TPM publish any information at all by default whenever starting communication?
1 Answers
Actually, AIK's are not sent to generic servers for authentication. There is an extra level of indirection: the AIK is used to sign a CK (certified key), and the CK is used for authentication. See TPM: signing key or Attestation Identity Key? But if a computer with a TPM authenticates using the TPM to some remote server, then the remote server does learn the AIK. (The public key, of course — an AIK is actually a key pair and the private part never leaves the TPM.)
Note that an AIK does not identify a TPM in a way that allows tracking it across different usages. A TPM can generate multiple AIK's. The expectation is to generate a separate one for each service that the computer is enrolled in (e.g. one to validate connections to the enterprise network, one to authenticate to a bank, etc.). Different AIK's from the same TPM cannot be identified as related (unless the AIK enrollment service did a bad job).
Also, note that the TPM itself does not communicate. The TPM makes integrity measurements of the system state (i.e. it verifies that the CPU and memory are in an approved state), and it holds keys with which it can encrypt and sign these measurements and other data. What gets transmitted over the network is the responsibility of applications running on the CPU's operating system. Choosing which AIK to use for which communication partner is the responsibility of the application (and possibly the operating system's, which performs access control so that applications can only make certain requests to the TPM), it's outside the hands of the TPM.
![](../../users/profiles/414.webp)
- 50,912
- 13
- 120
- 179
-
Thanks for the answer. This means then that I cannot ask a random computer to give me the public key part of AIK, or we can't say that every time my computer connect to a specific network, I can automatically get authenticated with just TMP. – eskoba Feb 17 '17 at 13:48
-
@eskoba Indeed. The computer would only give you an AIK if it's prepared to give it out in this context. For example, if the computer is trying to connect to an enterprise network, it might reveal the AIK that it uses when talking to that network's gateway. In that case, the computer would authenticate to the network thanks to the key held by the TPM. Unless your computer has been set up for an enterprise network that uses TPM, it won't be sending out anything like this. – Gilles 'SO- stop being evil' Feb 17 '17 at 13:50