我们的设备附带了一个设备证书,该证书是与我们的私人注册机构(CA)签署的。私钥(ECC类型)是在设备本身上生成的-更具体地说,是在车载TPM上生成的。公钥包含在设备证书中。
现在我们有了一个用例,在这个用例中,我们希望对设备上使用的一些敏感文件进行加密,并想知道如何使用现有的机制来做到这一点。设备证书内的公共ECC密钥(或从证书中派生的东西)是否可以用于加密只有设备才能使用其基于TPM的私有ECC密钥(或从它派生的东西)解密的数据?
在使用特定于设备的信息时,我们必须为设备加密什么选项?我们不希望加密的文件在每个设备上都能工作,如果我们直接使用共享的秘密和对称加密,情况就是这样。
发布于 2023-04-25 08:52:51
处理这类事情的通常方法是生成一个短暂的对称密钥,用对称密钥加密您的文件,然后用公共ECC密钥加密对称密钥。发送加密的对称密钥+加密文件。该设备使用基于TPM的ECC密钥解密对称密钥,然后解密该文件。
备注:
发布于 2023-04-25 13:39:43
该ECC公钥必须是用于TPM更新或验证的平台密钥(PK)或批注密钥(EK)。不要直接使用这些密钥中的任何一个来加密和解密数据。相反,您可以使用不同的方法来保护数据:
第一个选项确保只有与密钥关联的TPM才能解密数据。
- With the test-key encrypt the data and seal (Bind) it with any one or multiple PCR from 0-7. a. For e.g., we will user PCR 7 (Stores hash for secure boot policy)
- Now the data is sealed. For unsealing the TPM unseal operation will ensure that PCR7 contains the same hash which was used during sealing.
- If the hash matches data will be decrypted.
- In case of any changes in the secure boot policy the data will not be decrypted.
第二种选择确保
第三种选择提供了真实性和第三方验证,证明数据受到有效的TPM和系统的保护。
https://security.stackexchange.com/questions/269883
复制相似问题