我可以在 TPM 中保存 LUKS(或其他加密)密码或密钥吗?

我可以在 TPM 中保存 LUKS(或其他加密)密码或密钥吗?

规范相当复杂。软件相当敏感,所以我把它放在加密卷上。我的假设是使用我自己的平台密钥进行安全启动,以确保只有我签名的引导加载程序运行,然后保持主磁盘(甚至只是带有软件的数据)加密。

当然,问题在于解密密钥。我是否可以将其存储(绑定或密封)在 TPM 中,从而使其可解密仅有的在这个平台上?

有了 SecureBoot 确保只有未经修改的启动程序在运行,我的启动程序从 TPM 读取解密密钥,以及某种形式的传感器,如果打开,会导致固件被擦除(或 TPM 被重置),我应该有一个适度安全的盒子。这不会阻止政府人员,但应该可以阻止随意破解。

我可以为此使用 TPM 吗?我该怎么做?

答案1

简短的回答是肯定的。这是我的设计。

  • 已启用安全启动
  • PK 和所有其他密钥都替换为我自己的密钥仅有的
  • UEFI 受超长密码保护,以防止未经授权的更改
  • 启动盘有一个未加密的小型 grub 引导加载程序分区
  • 启动 .uefi 文件已由我的私钥进行数字签名
  • 启动 .uefi 配置为解密磁盘上 LUKS 加密的其他分区,从 TPM 检索密钥
  • 密钥已加载到 TPM 中,以匹配 ROM+UEFI+启动分区+机箱关闭警报未关闭+外围设备+grub 的精确当前状态

这样,只有我的操作系统会加载,如果你做了哪怕是最轻微的更改,你也无法检索解密密钥(因为哈希值不匹配)。

相关内容