1
kita 165 天前
简单说 AMD fTPM 因为 chiplet 的设计问题导致密钥会被读出来
|
2
ysc3839 165 天前 via Android 1
引入外部密钥就能解决了,上述问题都是跟 TPM 有关的。
个人认为 Windows 用 TPM 保存加密密钥都是为了给“Windows 不支持使用用户密码作为硬盘解密密钥”这个问题擦屁股。 隔壁几个操作系统,如 Android iOS macOS 都支持使用用户密码来解密数据,启动时能先显示一个输密码的界面出来,用户输入密码后才解密。 而 Windows 不支持这种操作,所以如果引入了外部密钥,就只能是现在 BitLocker PIN 那种对用户很不友好的界面,结果微软选择了降低安全性换取用户便利的方案。 |
3
billccn 165 天前
首先除非你有被国家级单位盯上的可能,那 TPM 旁路攻击根本不需要考虑,因为能把自己挂到 LPC 总线上的攻击者完全可以通过其他的方法攻击,反正读出你的密钥是没有问题。唯一的解决方案是把 TPM 和内存直接集成进 CPU ,比如苹果的处理器。
至于雷电 DMA 漏洞是老黄历,Windows 系统中安装 Intel 的雷电驱动以后,插入新的雷电设备需要管理员权限才能允许 DMA 。同时最近版本的 Windows 10 和所有版本的 Windows 11 都可以启用 BitLocker Core Isolation ,之后 DMA 也会被限制住,再没有权限读取内存里面的密钥。 最后我个人的观点是凡是软件实现的东西都比硬件更容易有漏洞。几乎所有在固件里实现的 TPM 都出现过泄露 key 的终极漏洞,而我知道的最严重的硬件 TPM 问题只是生成的随机数不够随机而已。 另外如果你不相信你机器上的 TPM 的话,那也不用相信 Secure boot 了,那一切在那台电脑上的操作都是不可信的,无论你是如何输入密码。比如你被一个特工盯上了,而你电脑上没有启用 TPM ,那他可以很容易的在你电脑上装个 rootkit ,你下次启动的时候只要输入了密码就会被通过网络发送出去,他就可以解密之前做的硬盘镜像。 |