TPM学习笔记1-1
可信平台模块(trusted platform module,TPM)是由可信计算组织(trusted computing group,TCG)定义的,一种置于计算机中的新的嵌入式安全子系统。
TPM到底能够解决什么问题?
可看roger schell和Michael thompson的文章:平台安全防御
可信计算的目的是保护最敏感的信息,如私钥和对称秘钥不被窃取或不被恶意代码使用。(可信计算假定客户端软件在其使用过程中可能会遭到破坏,当攻击发生时,敏感的秘钥被保护起来)TPM的设计非常灵活,可以应用于安全领域中的任何问题。
目前的安全问题非常严峻,不能仅仅靠软件来抵抗安全威胁,TPM是专门用来抵御安全威胁的。
背景介绍:
黑客攻击客户端:破译口令;会话拦截 ——》网络数据加密,防火墙的入侵检测机制和安全审计来应对攻击
DDoS和垃圾邮件
1)易受攻击的程序(代码bug,缓冲区溢出,解析错误)
Telnet和FTP 在网络上传送不加密的用户名和口令。
2)恶意程序:病毒和间谍软件/广告软件
3)错误配置的程序
4)社会工程:网络钓鱼和网络嫁接
(查询网站的ICP网站备案信息,通过ICP备案可以查询网站的基本情况、网站拥有者的情况等,用户可以通过工业与信息化部的网站备案管理网站(http://www.miibeian.gov.cn/)查询该信息进行网站信息并加以确认。)
5)物理数据窃取 ——》技术1:砖头技术(口令);2,对硬盘上数据加密;3,被盗物重获取技术(定位)
6)电子窃听:网络窃听;嗅探邮件——》邮件在发送前加密
结论:目前客户端软件不能做到完全安全,要考虑复杂性/兼容性等多种因素。考虑用硬件的支持来检测和防御恶意攻击。
TPM保护终端是通过以下几个方面进行的:
1.保证私钥的安全
2.检测恶意代码
3.阻止恶意代码使用私钥
4.保证加密秘钥安全
TCG芯片通过以下三个主要功能来达到这些目标:
1.公钥认证功能
公钥认证功能包括:采用硬件随机数产生器在芯片内产生密钥对,以及公钥签名、验证、加密和解密等。通过在芯片中生成私钥,并在其要传送至芯片外部时进行加密等方法,TPM可以保证恶意软件完全不能访问密钥。因为密钥在芯片外若不解密是不可见的,所以即使是密钥拥有者也无法取得私钥,从而避免网络钓鱼攻击(?)。同时,还因为恶意代码可能会使用TPM芯片中的私钥,因此必须采取一定的措施来确保恶意代码不能使用任何密钥。
2.完整性度量功能
完整性度量功能可以防止恶意代码获取私钥。
在可信引导过程中,引导序列中的配置信息的散列值被存储到芯片中的平台配置寄存器(platform configuration register,PCR)中。一旦平台启动,数据(如私钥)就在当时PCR值的情况下被密封,仅当PCR值与数据被密封时的值相同时,才能被解封。因此,启动一个非正常系统,或者病毒在OS中留有后门,由于PCR的值无法匹配,则不能解封,从而保护数据不被恶意代码访问。
3.证明功能
证明功能可以收集提交给PCR的所有软件度量的列表,然后用只有TPM知道的私钥进行签名。这样,一个可信的客户端就可以向第三方证明其软件没有危险。