The question How to use TPM to perform platform authentication is basically asking if the TPM's EK can be used to "authenticate" a host/device. And one of the answers says
The Endorsement Key (EK) is not directly accessible as this would be privacy issue - we could track a system using this unique identifier.
But the EK's public key hash (and public key too, I guess) is publicly available (if you have access to the machine), e.g.,
PS C:\windows\system32> get-tpmendorsementkeyinfo -hash "Sha256"
IsPresent : True
PublicKey : System.Security.Cryptography.AsnEncodedData
PublicKeyHash : 18e3b568aeb17b4e75f3838d7b01ffe63c52d976950943a10968761b5bfe3f4d
ManufacturerCertificates : {[Subject]
TPMVersion=id:0808, TPMModel=ST19NP18PVMT, TPMManufacturer=id:53544D20
[Issuer]
CN=STM TPM EK Intermediate CA 01, O=STMicroelectronics NV, C=CH
...
Why isn't the EK's public key hash sufficient to identify a unique host/device? (Assuming all you want is a "fingerprint" and not to encrypt/decrypt with it.)
And in fact, this is sort of suggested by the other answer to the question which suggests generating an AIK and using its public key. (But why do you need the extra step of generating an AIK when you can just use the EK's public key?)
Update: @Andre, in a comment below, says that the EK can be reset and regenerated by the device. I didn't know this, thanks! Microsoft says "The endorsement key is an encryption key that is permanently embedded in the Trusted Platform Module (TPM) security hardware, generally at the time of manufacture." in technet, here - but generally of course means "not always". This result from the book "Trusted Computing Platforms: TCPA Technology in Context" (page 124) talks about how originally the private endorsement key was generated on the device - but that was later relaxed because it caused manufacturing problems, and now the manufacturer generates the EK off the device and injects it into the device. Finally, the book "A Practical Guide to TPM 2.0: Using the Trusted Platform Module in the New Age of Security" agrees with an important caveat: The EK can be reset but if you do long-living certificates (including some the TPM chip manufacturer is holding that are used in some attestation scenarios) are all invalidated.
So, for purposes of this question: Let's say the fingerprint needn't be absolutely permanent so that you will always get the same fingerprint for the device for all time. Rather, let's say the fingerprint needs to be unique, so that you'll never confuse this device with another device (though you might lose the relationship of this device to itself earlier). With that interpretation: Can the EK's public key (hash) be used to uniquely fingerprint the device?