TPM概述

https://book.2cto.com/201512/58740.html

https://www.cnblogs.com/chenguang/p/3742220.html

https://www.cnblogs.com/embedded-linux/p/6716744.html

https://zhuanlan.zhihu.com/p/29840740

https://www.cnblogs.com/summer2017/p/7747080.html

TPM(Trusted Platform Module)安全芯片,是指符合TPM(可信赖平台模块)标准的安全芯片。标准由TCG(可信赖计算组织,Trusted Computing Group)提出,目前最新版本为2.0。
符合TPM的芯片首先必须具有产生加解密密钥的功能,此外还必须能够进行高速的资料加密和解密,以及充当保护BIOS和操作系统不被修改的辅助处理器。
TPM的可信基础来源于可信根,可信根(Root of trust)是无条件被信任的,系统并不检测可信根的行为,因此可信根是否真正值得信任,是系统可信的关键。TPM是一个含有密码运算部件和存储部件的小型系统,也可以作为另一个芯片的一部分出现,比如以太网接口。
TPM安全芯片包含了分别实现RSA、SHA等算法硬件处理引擎,它既是密钥生成器,又是密钥管理器件。TPM通过提供密钥管理和配置管理等特性,与配套的应用软件一起,主要用于完成计算平台的可靠性认证、防止未经授权的软件修改、用户身份认证、数字签名以及全面加密硬盘和可擦写等功能。TPM安装在输入/输出控制器,即连接外部设备与内存的总线中,让TPM可以监视每一个从外存装载入内存的软件。由于TPM处于硬件层,所以只要用户选择了打开TCG功能,任何行为都无法逃避监视。

通过TPM安全芯片对计算机系统提供保护的方法为:(1)在主板上设置TPM安全芯片;(2)启动信息处理设备时,由TPM芯片验证当前底层固件的完整性,如正确则完成正常的系统初始化后执行步骤(3),否则停止启动该信息处理设备;(3)由底层固件验证当前操作系统的完整性,如正确则正常运行操作系统,否则停止装入操作系统。总之,此方法是通过在信息处理设备的启动过程中对BIOS、底层固件、操作系统依次进行完整性验证,从而保证信息处理设备的安全启动之后,再利用TPM芯片内置的加密模块生成并管理系统中各种密钥,对应用模块进行加解密,以保证计算机等信息设备中应用模块的安全。
图2中,信息处理设备的CPU 与主板上的北桥相连,北桥与南桥和静态存储器(SRAM)分别直接相连[2],南桥分别与超级输入输出接口(SuperIO)、BIOS 模块和安全芯片通过LPC(Low Pin Count Bus)总线直接相连,同时,计算机主板上的CPU 通过读写控制线与安全芯片中的BIOS模块直接相连。安全芯片通过完整性校验检验主板上的BIOS模块是否被非法修改。上述方法能够对BIOS的完整性进行验证,但它仅仅避免了BIOS中的病毒对操作系统的破坏,安全芯片并不能防止BIOS本身被修改,只能在发现BIOS被修改后,停止启动计算机,因而该方法只是被动应对可能的攻击。

 

作者:furious
链接:https://www.zhihu.com/question/35496371/answer/856294314
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

  • 传统的系统中,密钥和授权信息等安全信息只能存储在磁盘中,这样非常不安全。而在带TPM安全芯片的系统中,一些关键的key是存在TPM芯片内部,这时攻击者只有攻破TPM才有可能攻破系统的防护,攻克一块芯片比一块硬盘成本和难度可大得多。TPM成为系统可信的最低层次,它提供了整个系统可信的基础。
  • TPM主要目的是用来加解密数据(seal/unseal),这些经TPM加密的数据只有这块TPM芯片才能解密,从而达到了数据与此TPM芯片绑定来保护数据的目的。离了加密的这块TPM芯片这份资料是无法解密的。
  • 但是通常TPM芯片是一个很低速的芯片,所以不会用来加解密大量的数据。通常只是用来加解密少量数据(比如其他软件层加解密算法的key,可以统称这些key经TPM加密保护的数据为TPM密钥)。例如整个硬盘数据加密,并不是直接用TPM加密,而是用一个key去软件加密,而这个key是用TPM再加密保护起来(如前所述,加密后称之为一个TPM密钥)。如果要解密硬盘数据,只能先把该TPM密钥用这个TPM芯片解密得到初始的key,才能解密硬盘数据。如此即使别人偷了硬盘也没用,甚至别人的TPM owner密码一样也是解不出来的。
  • TPM功能的核心是签注密钥( endorsement key),这是在生产过程中内置到TPM硬件的加密密钥,每个TPM是唯一的。这个签注密钥的私钥部分绝不会出现在TPM外部或暴露给其他组件、软件、程序或个人。它是TPM的基础,也可以认为是数据与此TPM芯片绑定的原因。
  • TPM有密码和ownership的概念,take ownership的时候你会设置一个密码,之后就是这块TPM的owner,只有知道这块密码才能用它做一系列的操作,如前面提到的加解密。你可以clear ownership,clear之后别人才可以take ownership,但是在这之前这块TPM只属于你(的密码)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值