是否可以使用 TPM 存储一些私钥?它不是全盘加密,我希望它与现有的 LUKS 兼容,只需添加另一个密钥,并将其存储在 TPM 中。
将 TPM 与 DMcrypt 一起使用?
信息安全
加密
linux
密钥管理
可信计算
2021-08-24 02:17:47
3个回答
试试 tpm-luks [1],这是一个脚本,可以帮助在 TPM 的 NVRAM 和 LUKS 密钥槽中存储新的秘密。
这应该可以解决问题:
$ tpm-luks -c -d <device>
您可以通过以下方式找到您的 LUKS 设备:
# blkid -t TYPE=crypto_LUKS
我最近发布了 tpm-luks,所以它只在 git ATM 中可用。
据我所知,在实践中没有什么能阻止这一点,但代码还没有编写。但是,您可以查看http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=%2Fliaai%2Fecrypts%2Fliaaiecryptfs.htm
这个想法是使用 tpm_sealdata 来加密文件,然后只有在启动时没有被摆弄才能解锁。
您可能需要使用一个补丁版本的 grub,称为trusted grub。我不认为这被集成到 grub2 中。
解锁文件后,您可以将其作为 cryptsetup 的密钥提供,如果失败,则运行常规的“询问密码”对话框,从而允许在硬件被篡改时启动。但当然,这意味着系统默认会在没有密码的情况下启动。
仅供参考,对 tpm-luks 进行了微小的更改,我让它与我们的应用程序一起工作,以保护 TPM NVRAM 中根分区的 LUK 密钥。这些脚本就像一个魅力。如果它不是根分区但可能是其他分区或文件,这很容易。我根据 PCR 0 到 9 以及 12 和 13 将密钥绑定到 NVRAM。请注意,您的 BIOS 应符合 NIST SP800-147 - 一些 MITRE 研究人员发现了一个漏洞。
其它你可能感兴趣的问题