可信计算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
J I A N G S U U N I V E R S I T Y
可信计算密码支撑平台完整性度量和密码机制的
研究
学院:计算机科学与通信工程学院
班级:信息安全1202
学号: **********
姓名:肖雪
本文从可信平台,可信计算密码支撑平台完整性度量,密码机制,TCG的密钥管理体系分析,这四个方面来研究可信计算密码支撑平台完整性度量和密码机制。研究可信计算密码支撑平台和TCM可信密码模块的组成结构,分析密码算法的支撑作用和可信计算密码支撑平台的完整性度量机制。分析它的密码机制,指出了其密码机制上的特色与不足。
一.可信平台
我们认为,可信计算机系统是能够提供系统的可靠性、可用性、信息和行为安全性的计算机系统。
1.可信计算平台的功能与应用目标
可信计算组织认为,可信计算平台的主要应用目标是风险管理、数字资源管理、电子商务和安全监控和应急相应。为了实现这些目标,可信计算平台至少需要提供以下基本功能:数据安全保护、平台身份证明、完整性测量、存储与报告。
2.可信平台模块的逻辑结构
TCG定义了可信平台模块(TPM)的逻辑结构,它是一种SoC(System on Chip)芯片,由CPU、存储器、I/O、密码运算处理器、随机数产生器和嵌入式操作系统等部件组成,完成可信度量的存储、可信度量的报告、系统监控、密钥产生、加密签名、数据的安全存储等功能。由于可信平台模块用作可信计算平台的信任根,所以它应当是物理安全和管理安全的。
图 1 TCG的TPM结构如图 1 所示。
二.可信计算密码支撑平台完整性度量
1 功能和结构
《可信计算密码支撑平台功能与接口规范》,定义了可信计算密码支撑平台的密码算法、密钥管理、证书管理、密码协议、 密码服务等应用接口规范,适用于可信计算密码支撑平台相关产品的研制、生产、测评和应用开发。
1.1平台功能
可信计算密码支撑平台在计算系统中的作用如图2所示,平台主要提供完整性、身份可信性和数据安全性的密码支持,密码算法与平台功能的关系如图3 所示。
图 2 可信计算密码支撑平台与计算系统
图 3 密码算法与平台功能
平台完整性:利用密码机制,通过对系统平台组件的完 整性度量、存储与报告,确保平台完整性。 平台完整性 平台身份可信 平台数据安全保护
密码算法 SM3 SM2 SMS4
随机数发生器
平台身份可信:利用密码机制,标识系统平台身份,实现系统平台身份管理功能,并向外部实体提供系统平台身份证明。
平台数据安全保护:利用密码机制,保护系统平台敏感数据,其中数据安全保护包括平台自身敏感数据的保护和用户敏感数据的保护,另外也可为用户数据保护提供服务接口。
1.2 平台结构
平台结构主要分为TCM 和TSM。TCM 是可信计算密码支撑平台必备的关键基础部件,提供独立的密码算法支撑。TCM 定义了一个具有存储保护和执行保护的子系统,该子系统将为计算平台建立信任根基,并且其独立的计算资源将建立严格受限的安全保护机制。为防止TCM 成为计算平台的性能瓶颈,将子系统中需执行保护的函数与无需执行保护的函数分开,将无需执行保护的功能函数由计算平台主处理器执行,这些功能函数构成TSM。TCM 结构如图3所示,各部件功能如下:
图3TCM 结构
I/O:TCM 的输入输出硬件接口;
SMS4 引擎:执行SMS4 对称密码运算;
SM2 引擎:产生SM2 密钥对,执行SM2 加/解密、签名运算;
SM3 引擎:执行杂凑运算;随机数产生器:生成随机数;
HMAC 引擎:基于SM3 引擎,计算消息认证码;
执行引擎:TCM 的运算执行部件;
非易失性存储器:存储永久数据的存储部件;
易失性存储器:TCM 运行时的临时数据存储部件。
2完整性度量
TCG 定义“可信”:如果一个实体的行为总是以期望的方式,达到预期的目标,我们就认为它是可信的。
可信平台的可信根分别是:RTM(可信度量根),RTS(可信存储根),RTR(可信报告根)。RTM 是能进行完整性度量的计算引擎。RTS 是能保持完整性度量摘要值及其顺
序的计算引擎。RTR 是能可靠报告RTS 所持有信息的计算引擎。可信计算密码支撑平台以TCM 为可信根,通过以下三种机制及平台自身安全管理实现平台安全功能:
(1)以RTM 为起点计算系统平台完整性的度量值,建立计算机系统平台信任链,确保系统平台可信。
(2)RTR 标识平台身份的可信性且有唯一性,以RTR为基础实现平台身份证明和完整性报告。
(3)基于RTS 实现密钥管理、平台数据安全保护功能,提供相应的密码服务。
2.1 PCR(平台配置寄存器)
PCR 位于TCM,用于保存完整性度量的摘要值,代表当前平台的配置状态,是保证平台完整性的基础,所有PCR 都是32byte 的存储空间,规范没有限定PCR 的数量,但TCG 规范要求TPM 至少支持24 个PCR[4,5,6]。规范要求,在TCM 启动时PCR 以一定的规则被赋予初值,平台完整性度量结果以SM3 摘要的形式存储在PCR 中,为在一个PCR 中存储更多的摘要值,PCR 在存储时执行扩展机制,计算公式[2]如下:PCR[i] = SM3 (PCR[i] || new value to add)
2.2 预定义
在对部件的完整性度量中,参照比对的标准值由预定义机制产生,并保存在可信存储区,形成标准值仓库[2,7],标准值的生成和修改必须得到TCM 拥有者的身份授权,否则不能进行。对某部件的完整性度量,如度量结果与标准值相同,则它可获得执行权。
2.3 完整性度量
完整性度量是对某部件的特征代码计算摘要值,并将摘要值保存在特定PCR 的过程。完整性度量始于RTM,以根可信为前提,对即将获得执行权的部件的特征代码进行完整性度量,以SM3 算法计算摘要值。
2.4 存储
以扩展机制将完整性度量生成的部件特征摘要值保存在特定PCR 中,并将度量过程的信息保存在平台度量日志中,包括:度量者信息、被度量者信息、原PCR 值、度量值、新PCR 值、完成时间等。 3.5 完整性报告
完整性报告是指平台向验证者提供平台或部件的完整性度量值的过程。平台应无需授权的向验证者提供指定的PCR 值,可向验证者提供相关事件日志信息,TCM 内部生成一个SM2 密钥对作为PIK(平台身份密钥),以PIK 的私钥对PCR 值签名,验证者以PIK 公钥解密签名,以日志为据按执行部件顺序重新计算PCR 值,与接收的PCR 值比较,从而确定平台或部件是否能通过验证。
三密码机制
可信计算密码支撑平台涉及密码算法包括:SM2 椭圆曲线密码算法、SMS4 对称密码算法、SM3 密码杂凑算法、HMAC 消息认证码算法、RNG(随机数发生器)。
SM2 椭圆曲线密码算法,密钥长256 位,包括:系统参数、密钥对生成和三个子算法,三个子算法分别是:数字签名算法(SM2-1)、密钥交换协议(SM2-2)、加密算法(SM2-3)。
SMS4 是对称密码算法,分组长度为128bit,密钥长度为128bit,加密算法和密钥