我对将预先存在的密钥“添加”到 TPM 的存储层次结构感兴趣。
所需密钥层次结构的示例可以显示为:
(SRK)----->(User Storage Key)-------> User Working Key 1
|
|------> User Working Key 2
|
|------> User Working Key 3
在哪里:
- SRK是 TPM 管理员创建和管理的存储根密钥
- 用户存储密钥创建为 TPM 外部的(公共、私有)密钥对。例如,通过使用 OpenSSL 命令行工具。
- 用户工作密钥也是使用 OpenSSL 在 TPM 之外创建的。
如何在上述层次结构中插入“用户存储密钥”和“用户工作密钥”?
TPM 允许我在 TPM 内部创建(公钥、私钥)密钥对(并导出公钥及其(封装形式的)私钥)。但我不清楚 TPM 命令是否喜欢TPM_CreateWrapKey并TPM_LoadKey2允许此选项。
这在用户的签名/加密密钥已经在其他地方创建并且我们有兴趣使用 TPM 作为操作平台上的安全密钥存储库的情况下得到保证。(绑定/密封在 TPM 中创建不透明数据在这里没有用,因为绑定/密封数据无法扩展密钥层次结构)。