首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用公钥的基于TPM - ECC的加密/解密

使用公钥的基于TPM - ECC的加密/解密
EN

Security用户
提问于 2023-04-25 07:03:47
回答 2查看 119关注 0票数 3

我们的设备附带了一个设备证书,该证书是与我们的私人注册机构(CA)签署的。私钥(ECC类型)是在设备本身上生成的-更具体地说,是在车载TPM上生成的。公钥包含在设备证书中。

现在我们有了一个用例,在这个用例中,我们希望对设备上使用的一些敏感文件进行加密,并想知道如何使用现有的机制来做到这一点。设备证书内的公共ECC密钥(或从证书中派生的东西)是否可以用于加密只有设备才能使用其基于TPM的私有ECC密钥(或从它派生的东西)解密的数据?

在使用特定于设备的信息时,我们必须为设备加密什么选项?我们不希望加密的文件在每个设备上都能工作,如果我们直接使用共享的秘密和对称加密,情况就是这样。

EN

回答 2

Security用户

发布于 2023-04-25 08:52:51

处理这类事情的通常方法是生成一个短暂的对称密钥,用对称密钥加密您的文件,然后用公共ECC密钥加密对称密钥。发送加密的对称密钥+加密文件。该设备使用基于TPM的ECC密钥解密对称密钥,然后解密该文件。

备注:

  • 确保使用良好的密码随机性来生成对称密钥。
  • 确保使用经过身份验证的加密方案(如AES-GCM)。
  • 您可能会发现TPM中的私钥是签名密钥,不希望用于解密。如果这是一个问题,您可能会生成另一个用于加密/解密的TPM密钥,并为其公钥生成一个证书(该证书将使用原始密钥、签名密钥和密钥签名)。
票数 0
EN

Security用户

发布于 2023-04-25 13:39:43

该ECC公钥必须是用于TPM更新或验证的平台密钥(PK)或批注密钥(EK)。不要直接使用这些密钥中的任何一个来加密和解密数据。相反,您可以使用不同的方法来保护数据:

  1. 使用SRK (存储根密钥)层次结构下的密钥加密文件或数据。
    • 生成SRK (存储根键),它将由您的应用程序控制。
    • 在SRK层次结构下生成密钥,并使用该密钥加密文件或任何类型的数据。
    • SRK将包装生成的密钥并根据输入解密。
    • SRK位于TPM中。

第一个选项确保只有与密钥关联的TPM才能解密数据。

  1. 加密+将数据绑定到系统状态:(在安全引导的情况下工作)
    • 生成SRK (存储根键),它将由您的应用程序控制。
    • 在SRK层次结构下生成密钥。例如,测试密钥
    • TPM有聚合酶链反应(PCR),可以存储特定数据类型,例如哈希。
    • 如果启用了安全引导,则可以使用PCR0-7来确保系统状态不被更改。
      • 散列是在TPM引导过程中计算和存储的。

代码语言:javascript
运行
复制
- 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 +具有特定状态的系统( BIOS、内核等系统软件没有变化)将只能解密数据。
  1. 加密+绑定+认证(提供第三方验证,如CA)
    • 按照“2”点中提到的步骤执行所有步骤。
    • 现在在SRK下生成AK (认证密钥)。
    • 生成AK证书,即由第三方(例如CA)签署的AK证书
    • 用AK签署PCR。
    • 使用AK证明PCR是有效的,并由可信的第三方签名。
    • 这就提供了用TPM (即硬件)加密数据。

第三种选择提供了真实性和第三方验证,证明数据受到有效的TPM和系统的保护。

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/269883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档