注:本文不涉及专业技术细节,放心食用
Why
将密钥存储在U盘/电脑上,是一件很危险的事情,
因为文件可以很轻易的被访问到,
被人轻易的COPY走.PC上的程序很容易被人篡改,
付费软件可以被黑阔破解成免费软件,
同理,一些关键加解密程序,也可能被黑阔篡改,使得计算结果不再可信.在硬盘加密 BIOS UEFI 安全启动保护方面,
拥有一个安全的存储密钥的黑箱,安全执行加解密和验证过程的环境,
显得非常重要.
How
- 能不能将密钥存储在一个 只能存 不能读 的黑箱子中呢?
- 能不能将加解密程序和它的执行过程,也放在一个不容易篡改的黑箱中?
What
已经有这种东西了:
TPM芯片就是这样的黑箱设备(Trusted Platform Module),
它做到了,像是在笼子里执行代码/存储密钥一样,
外部的黑阔很难对它读取和干扰.
对普通用户来说,
不需要知道它内部是怎么做到的,
只需要无条件的信任它即可.摘抄一些微软文档中对它的描述:
1 TPM芯片是一个安全加密处理器.
2 它包含多个物理安全机制,防止恶意软件篡改它的功能.
3 可生成密钥,存储密钥,并限制外界对该密钥的访问.
4 可用于操作系统和主板固件的完整性检测
5 可以在计算机上创建证书,把证书的RSA私钥将绑定到TPM,但不能导出.
物理形态
TPM最常见的形态是在主板上,
也有的直接集成在CPU中,如AMDRisonPro.在手机上也有类似解决方案,
和PC有一定差别但需求和功能大致是相似的,
如GooglePixel使用自家称为Titan M的安全芯片,
Iphone对应的是SEP模块(Secure Enclave Processor)
2016年后的PC现状:
当前TPM芯片已被广泛集成到PC电脑中,
毫不夸张的说,它已经成为当前计算机系统的安全基石,
没有它就没有UEFI 加载器 操作系统的闭环安全.-
一系列重要安全特性,都需要TPM来提升安全性的下限:
证书密钥存储
Defender应用控制
BitLocker硬盘加密
Windows Hello验证
UEFI分区安全
......
一个普通用户的常见使用场景:
开启BitLocker功能时,
用TPM芯片来存储BitLocker解锁所需的相关要素,
这些要素很难被黑阔访问到.
而在没有TPM时,直接存到磁盘内存里,
可就不是这么回事了.
TPM存在的安全问题
和所有电子设备一样,TPM芯片并非万无一失,同样可能存在安全问题.
当TPM出现漏洞(后门)等事件,作为整条安全链的终极保护,
通常会造成较为严重的影响,自顶向下导致安全链条崩溃.如果用户选择相信和使用TPM,最好经过了深思熟虑,
当TPM出问题时,对信任它的用户们来说,事情会变的不可控.
如何在Windows 10上使用TPM
https://docs.microsoft.com/zh-cn/windows/security/information-protection/tpm/how-windows-uses-the-tpm
https://docs.microsoft.com/zh-cn/windows/security/information-protection/tpm/initialize-and-configure-ownership-of-the-tpm
参考
揭秘TPM安全芯片技术及加密应用
http://safe.it168.com/a2012/0912/1396/000001396884.shtml
Bitlocker、TPM和系统安全
https://zhuanlan.zhihu.com/p/29840740
基于静态可信根(SRTM)的Bitlocker的工作原理是什么?
https://zhuanlan.zhihu.com/p/33858479
浅谈可信启动
https://www.freebuf.com/articles/network/236974.html
如何从 TPM 中提取 BitLocker 私钥
http://www.myzaker.com/article/5ca42b6377ac641810174cea/
TPM-Fail漏洞影响全球数十亿台设备
https://baijiahao.baidu.com/s?id=1650167943879290933&wfr=spider&for=pc
英飞凌TPM芯片爆安全漏洞 Google、微软忙修补
https://www.sohu.com/a/198613435_119709
TPM-FAIL - Houston, We've had a problem
https://www.youtube.com/watch?v=HOoW_Mwi6BQ
https://tpm.fail/
36C3 - Hacking (with) a TPM
https://www.youtube.com/watch?v=NFQ22SBlejk
Trusted Platform Module (TPM) Part 1 Part 2
https://www.youtube.com/watch?v=ZST2Cmt5Fm4
https://www.youtube.com/watch?v=PLef73R3OpY