用可信平台搭建可信网络

[摘要]拥有了TPM,我们不仅仅能够在各种终端系统里面建立可信链,还能够将可信链扩展到网络中去。要扩展可信链,需要解决的就是可信的传输、身份的认证和可信的互连。在可信计算技术体系中,最核心的就是TPM芯片。可信平台模块可以看做是一个完整的计算机,有处理器、协处理器、存储单元和操作系统等。TPM至少需要具备四

拥有了TPM,我们不仅仅能够在各种终端系统里面建立可信链,还能够将可信链扩展到网络中去。要扩展可信链,需要解决的就是可信的传输、身份的认证和可信的互连。

在可信计算技术体系中,最核心的就是TPM芯片。可信平台模块可以看做是一个完整的计算机,有处理器、协处理器、存储单元和操作系统等。TPM至少需要具备四个主要功能: 对称/非对称加密、安全存储、完整性度量和签名认证。数据的非对称加密和签名认证,是通过RSA算法来实现的,而完整性度量则是通过高效的SHA-1散列算法来完成,对称加密可以使用任意算法,既可以使用专用协处理器也可以使用软件来完成。

可信传输

传统的报文交换基于非对称加密,就是说只有一个人可以使用公钥加密。而通过使用私钥签字可以防止对报文的篡改。在这种传统传输中,不正确的管理密钥和终端不正确的配置都会导致安全上的风险。TPM通过提供密钥管理和配置管理(保护存储、度量和报告)来增加传输的安全性。这些特性可以同封印组合到一起,使得终端配置更加清晰和强壮。TCG定义了四种被保护的报文交换方式:绑定,签名、封印绑定、封印签名。

绑定和签名同传统方法一样,TCG体系中最有特色的也就是“封印”了。封印比绑定有着更进一步的安全性,封印报文就是一套由发送者定义的PCR值,平台PCR值描述了在解密之前必须存在的平台的配置值,封印帮助使用PCR值和不可移交的密钥去加密报文(事实上,使用对称密钥加密报文)。拥有非对称解密密钥的TPM,只有在平台配置符合发送者规定的PCRs值时,才能对对称密钥进行解密,这是TPM的一个强有力的特性。

签名操作也可以和PCR值一起作为一种提高平台安全性的手段,要求平台签名的时候使用精确的配置信息。验证者要求签名必须包含一部分PCRs值。签名者在签名的过程中,收集要求的PCRs值并把它们包含进报文中,作为计算摘要的一部分。验证者能够检查报文中的PCR值,作为确认签名平台在生成时的配置。

通过将PCR值加入到传输中,也就保证了不仅要经过身份认证,还要同时保证目标平台的环境配置也满足要求才能进行传输,这一方面可以加强安全性,同时也能够进行数字版权保护。

身份认证

身份认证并不难,但一般希望在使用个人隐私来证明身份的时候,要尽可能少地暴露自己的身份信息,这与身份认证的要求正好矛盾。而在TCG的体系里,这个隐私就是EK,我们不能使用EK来进行身份认证。所以,在TCG体系中,身份认证一般是使用AIK,作为EK的别名。这种方法类似传统的解决方案, 首先需要生成一个AIK,如图2所示。

1. 所有者使用RSA密钥生成模块生成一对AIK密钥,然后将公钥和签注证书、平台证书和验证证书打包在一起;

2. 发送一个AIK的请求给Privacy-CA;

3. 可信第三方通过验证证书的有效性来验证AIK请求的有效性;

4. 可信第三方使用自己的签名密钥对AIK证书签名;

5. 将签名后的AIK证书返回给TPM。

之后,我们就可以使用AIK和AIK证书来证明自己的身份,如图3所示。


1. 平台1所有者向平台2发送请求;

2. 平台2向平台1发送证明(attesta-tion)的请求,同时说明需要那些PCR值;

3. 使用AIK对需要的PCR值签名;

4. 将签名后的PCR值发送给平台2的校验者;

5. 同PrivacyCA一起确认平台1的身份,评估平台1的可信程度;

6. 评估平台1的环境配置状态。

通过这两步,就可以完成通信时的身份认证了。而且因为加入了对环境配置的评估,能够确认通信双方的状态,增强对各种恶意软件的抵御能力。

由于一个用户理论上可以有无限多个AIK,用户在进行通信的时候,只有可信第三方知道用户的真实身份,通信对象并不知道,这样,也就减少了隐私的暴露。

尽管如此,还是暴露了AIK证书,而且需要可信第三方的参与,所以TCG还提供了一种认证方法――直接匿名认证(direct anonymous attestation,DAA)。直接匿名认证的基础,来自于贝尔实验室与剑桥大学在1990年代初所开发的零知识证明(zero-knowledge proof)概念。在零知识证明之中,一个人(或装置)无须披露机密,也可以证明自己确实知道这个秘密,就好象不必说出真正的密码组合,就可以打开密码锁一样。根据这些想法,IBM瑞士苏黎士研究部门的卡梅尼希、惠普的陈立群以及英特尔的布里克尔,在去年创造了直接匿名认证。使用这种方法,可以更少地暴露个人隐私。

可信网络连接(TNC)

随着信息化的发展,恶意软件(Malware,比如病毒、蠕虫等)的问题异常突出。TCG组织针对这个问题,专门制定了一个基于可信计算技术的网络连接规范。TCG体系的可信网络连接包括了开放的终端完整性(Integrity)架构和一套确保安全互操作(Interoperability)的标准。这套标准是用来在需要时保护一个网络,保护到一个什么程度完全由用户自定义。

可信网络连接,本质上就是要从终端的完整性开始,建立连接。首先,需要创建一套在可信网络内部系统运行状况的策略。然后只有遵守网络设定的策略的终端才能访问网络,网络将隔离和定位那些不遵守策略的设备。同时,由于使用了TPM,还可以使用TPM去阻挡root kits(一种攻击脚本、经修改的系统程序,或者成套攻击脚本和工具,用于在一个目标系统中非法获取系统的最高控制权限)的攻击。

TNC的基本架构如图4所示。TNC的架构分为三类实体: 请求访问者(the Access Requestor,AR)、策略执行者(Policy Enforcement Point,PEP)、策略定义者(Policy Decision Point,PDP),这些都是逻辑实体,可以分布在任意位置。TNC体系架构在纵向分为三个层次,从下到上为:

网络访问层,这一层用于支持传统的网络连接技术; 完整性评估层,负责评估所有请求访问网络的实体的完整性; 完整性度量层,收集和校验请求访问者的完整性相关信息的组件。一次完整的可信网络连接重的信息传输如图8所示。

在建立网络连接之前。TNC客户端需要准备好所需要的完整性信息,交给完整性收集者(IMC)。在一个拥有TPM的终端里面,这也就是将网络策略所需信息经散列后存入PCRs,TPM服务端需要预先制定完整性的要求,并交给完整性验证者(IMV)。过程为:

1. 向PEP发起访问请求,这个策略执行者通常是防火墙或者VPN 网关;

2. PEP将访问请求描述发往网络访问授权者;

3. 假设授权被允许了,网络访问授权者将请求发往TNC服务端;

4. TNC服务端开始对客户端的授权验证,比如验证AIK;

5. TNC客户端告诉IMC开始了一个新的网络连接,这个网络连接需要一个完整性握手协议。IMC通过IF-IMC返回所需信息。TNC服务端将这些信息通过IF-IMV交给IMV;

6. 在这个过程里面,TNC客户端和TNC服务端需要交换一次或多次数据,直到TNC服务器端满意为止;

7. 当TNC服务器完成了对客户端的完整性握手,它将发送一个推荐信(Action Recommendation)给NAA ,要求允许访问。这里需要特别注意,如果还有另外的安全考虑,此时NAA仍旧可以不允许NA的访问;

8. NAA传递访问决定(final decision)给PEP,PEP将最终执行这个决定,来控制NA的访问。

从上面可以看出,TNC的安全思路和传统的方法完全不同。如果把网络比作一个博物馆,每个访问者就如同到大楼里面的参观者。传统的方法就如同应用各种技术(比如攻击探测等)去保护博物馆里面的展品,观众参观时候既可以看,也可以动手,但是由于保护技术的存在,参观者不一定能进行破坏。TNC技术则如同在门口就规定了各种安全策略,比如安装金属探测器、禁止带刀进入、参观者必须戴安全手套等,使各种可能的破坏手段被阻挡在入口之外。TNC也是通过技术将攻击隔离在网络之外,极大地减少了攻击的发生。从这个层面上来讲,TNC就是用自由换信任。




免责声明:

本站系本网编辑转载,会尽可能注明出处,但不排除无法注明来源的情况,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系, 来信: liujun@soft6.com 我们将在收到邮件后第一时间删除内容!

[声明]本站文章版权归原作者所有,内容为作者个人观点,不代表本网站的观点和对其真实性负责,本站拥有对此声明的最终解释权。