如何使用TPM执行平台身份验证的问题基本上是问TPM的EK是否可以用于“验证”主机/设备。其中一个答案说
背书密钥(EK)不能直接访问,因为这将是隐私问题-我们可以使用这个唯一的标识符跟踪一个系统。
但是EK的公钥哈希(我猜也是公钥)是公开可用的(如果您可以访问机器),例如,
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
...为什么EK的公钥哈希不足以识别唯一的主机/设备?(假设您想要的只是一个“指纹”,而不是用它进行加密/解密。)
事实上,这是另一个回答对这个问题提出的建议,它建议生成一个AIK并使用它的公钥。(但是,当您只需要使用EK的公钥时,为什么还需要生成一个AIK呢?)
更新:@Andre,在下面的评论中说,EK可以由设备重置和重新生成。我不知道,谢谢!微软表示,“该认证密钥是一个永久嵌入在可信平台模块(TPM)安全硬件中的加密密钥,通常是在制造时。”在技术网,这里中--但通常意思是“并不总是”。这来自于“可信计算平台:上下文中的Technology”(第124页)一书,其中谈到了最初是如何在设备上生成私有背书密钥的--但后来由于它造成了制造问题而放松了,现在制造商在设备上生成EK并将其注入设备中。最后,书TPM2.0实用指南:在新的安全时代使用可信平台模块同意一个重要的警告: EK可以被重置,但是如果你做了长期使用的证书(包括一些TPM芯片制造商持有的在某些认证场景中使用的证书)都是无效的。
因此,为了这个问题的目的:假设指纹不一定是绝对永久的,这样你就可以始终得到相同的指纹。相反,假设指纹必须是唯一的,这样您就不会将该设备与另一个设备混淆(尽管您可能会在更早的时候丢失该设备与其自身的关系)。有了这种解释:EK的公钥(哈希)能被唯一地用于对设备进行指纹识别吗?
发布于 2015-10-13 15:48:30
不能重置EK。正是该证书将TPM标识为真实/可信赖(例如,不基于软件)和TCG兼容。
关于EK是私有的声明是指第三方在远程认证的背景下--而不是已经在本地机器上的人--这也是用来对设备进行指纹识别的许多其他手段。
换句话说,如果您要直接通过EK进行远程认证,您将始终公开相同的身份。使用AIK,您可以拥有任意数量的身份,并且只有CA知道您的真实身份(public EK)。
因此,在远程认证的背景下,答案是否定的,在已经在您系统上的人的上下文中,答案是肯定的。
https://security.stackexchange.com/questions/90260
复制相似问题