参考内容:《龙芯自主可信计算及应用》
3 可信计算的功能
可信计算平台的主要应用目标是风险管理、数字资源管理的安全监控和应急响应。为了实现这些目标,可信计算支撑平台在计算机系统中的功能如图3-1所示。
从图3-1可以看出,可信计算密码支撑平台为可信计算机提供了平台完整性、平台身份可信和平台数据安全保护等功能。其中,平台完整性利用密码机制,通过对系统平台组件的完整性度量、存储与报告,确保平台完整性。平台身份可信利用密码机制,标识系统平台身份,实现系统平台身份管理功能,并向外部实体提供系统平台身份证明。
平台数据安全保护利用密码机制,保护系统平台敏感数据,其中数据安全保护包括平台自身敏感数据的保护和用户敏感数据的保护,另外也可为用户数据保护提供服务接口。
4 可信计算技术
可信计算作为一种新型信息安全技术,已经成为信息安全领域的研究热点,近年来这方面的相关研究已经陆续展开,并取得长足发展。
主要关键技术包括密码技术、可信度量技术、信任链技术和远程证明技术。
可信计算从密码技术入手,形成可信度量技术,解决单一组件的可信安全问题。
在此基础上建立信任链技术,把这种信任安全扩展到整个计算系统。
最后,通过远程证明技术,进一步将信任安全扩展到整个网络系统,从而确保整个网络信息系统的可信。
(注意这个逻辑:单个-这个系统-整个网络)
1 密码技术
密码技术不仅是信息安全的基础,也是可信计算的基础。
可信计算体系结构以密码体系为基础,采用对称和非对称密码算法相结合的密码体制,从可信平台控制模块出发,建立信息系统的信任链,保障关键信息系统的安全。图3-7所示显示了密码与可信计算平台的功能关系。
从图3-7可以看出,可信计算平台基于密码技术,实现平台自身的完整性、身份可信性和数据安全性等安全功能。
利用密码技术,通过对系统平台组件的完整性度量,确保系统平台的完整性,并向外部实体可信地报告平台完整性。
利用密码技术,标识系统平台身份,实现系统平台身份管理功能,并向外部实体提供系统平台身份证明。利用密码技术,保护系统平台敏感数据。
其中,数据安全保护包括平台自身敏感数据的保护和用户敏感数据的保护;另外,也可为用户数据保护提供服务接口。
2 可信度量技术
建立计算平台信任的主要技术手段是完整性度量。在信息安全中,数据完整性度量技术通过消息认证码(Message Authentication Code,MAC)的一致性校验来实现度量功能。对于MAC消息认证码的产生,可以利用单向哈希(HASH)函数来实现。
在可信计算中,早期的可信度量主要是借助专用PCI板卡和外部可信实体执行度量工作,如马里兰大学的Copilot系统和卡内基梅隆大学的Pioneer系统,这种度量技术存在无法适用于通用终端平台的问题。
TCG提出以TPM为信任根,逐级度量启动过程中的硬件、操作系统和应用程序的方法,以此建立通用终端平台的信任。TPM提供了满足单向性、抗碰撞性的安全HASH函数SHA1引擎,可以为度量的实现提供保证。
同时,TPM还提供安全存储及内部的平台配置寄存器PCR(Platform Confi guration Register),这样可信度量的更新及实际应用都是以平台配置寄存器PCR作为载体。IBM研究院研发了最早的TCG框架下的完整性度量架构IMA,其特点是在可执行文件装载时对其进行完整性度量,缺陷是对所有装载程序都进行度量,系统效率较低。
对此它们又进一步提出了PRIMA度量架构,该架构将度量与信息流访问控制模型相结合,从而大幅度精简度量对象,提高系统效率。上述两种度量架构都只能静态度量可执行文件,无法保证程序在运行过程中可信。
卡内基梅隆大学提出了BIND度量系统,其扩展了编程语言的度量语义,包含度量标记的代码被执行时会激活BIND系统对其完整性度量。BIND系统在一定程度上实现了对软件关键代码动态行为的度量,但是需要软件开发者手动添加度量标记,编程要求较高。我国学者针对静态度量的不足也提出了一些解决方案,具体的可信度量技术将在第4章中做进一步介绍。
3 信任链技术
TCG 提出信任链(Trusted Chain)来解决安全问题,其思想是从一个初始的信任根出发,在平台上计算环境的每一次转换时,如果这种信任可以通过传递的方式保持下去不被破坏,那么平台上的计算环境始终是可信的。
基于这种思想,可信计算平台首先构建一个信任根,再建立一条信任链,从信任根开始到硬件平台,到操作系统,再到应用,一级认证一级,一级信任一级,从而把这种信任扩展到整个计算系统。因此,信任链是可信计算的又一个关键技术。
信任链的起点是信任根,信任链是在计算系统启动和运行过程中,使用完整性度量方法在部件之间所建立的信任传递关系。
信任链的传递则是依靠可信度量技术来实现。在信任链的理论中,无论是最底层的BIOS启动模块还是最上层的应用,在得到信任以运行之前,都需要经过可信度量,即一个测量或认证的过程。具体的信任链技术将在第5章中做进一步介绍。
4 远程证明技术
在本地计算平台信任构建的基础上,将本地计算平台的信任扩展到远程计算平台的主要方法是远程证明,它是可信计算用于解决可信计算平台之间、可信网络节点信任的重要安全机制。
远程证明包含平台身份的证明和平台完整性状态的证明,这两种证明的基本模型非常类似,包含一个带有可信安全芯片的可信计算平台、验证平台和辅助支持验证的可信第三方。
远程证明基本模型的信任锚点是可信安全芯片,以及颁发平台证书(包括平台身份证书,或者平台属性证书)的可信第三方,可信安全芯片保证了平台的真实性,可信第三方确保了协议的正确性。
在平台身份证明方面,TCG的TPM提出基于Privacy CA的身份证明方案。该方案通过平台身份证书证明平台真实身份,无法实现平台身份的匿名性。为此,Briekel针对TPM匿名证明的需求提出了基于CL签名的直接匿名证明协议(Direct Anonymous Attestation,DAA)方案。
DAA方案的研究主要针对RSA密码体制展开,因此存在DAA签名长度较长和计算量大的缺点。为此,Briekel又提出了基于椭圆曲线及双线性映射的DAA改进方案,大幅提高了计算和通信性能。
冯登国基于q-SDH假设对DAA方案也进行了改进研究,进一步提高了计算和通信效率。此外,Liqun Chen采用新的密码学假设对DAA方案进行了深入的研究,对TPM的协议计算量进行了优化。
在平台状态证明方面,TCG提出二进制直接远程证明方法,IBM遵循该方法实现了直接证明的原型系统。这种方法存在平台配置容易泄漏、扩展性差等问题。为此,许多科研机构、专家和学者提出了改进。例如,IBM基于属性的证明方法(Property-Based Attestation,PBA),将平台配置度量值转换为特定的安全属性,并加以证明。
此外,Poritz和Schunter等学者利用可信虚拟机向远程方证明Java高级语言程序的语义安全,在此基础上提出了基于语义的证明方法。Seshadri和Perrig等学者针对特殊的嵌入式设备提出了基于软件的证明方法。沈昌祥院士和李晓勇等学者将平台配置状态转化为平台历史行为序列,并在此基础上提出了基于系统行为的证明方法。