1、沈晴霓沈晴霓 教授教授北京大学北京大学软件与微电子学院软件与微电子学院1一一可信计算概述可信计算概述二二TCG组织介绍组织介绍三三TCG现有标准规范介绍现有标准规范介绍四四TPM的核心功能介绍的核心功能介绍2一一. 可信计算概述可信计算概述可信计算概念与需求可信计算概念与需求可信计算涵义与属性可信计算涵义与属性可信计算平台架构可信计算平台架构可信计算的机遇可信计算的机遇3 TCSEC:可信计算机系统评估标准 分为A/B/C/D四类七个等级-D,C1,C2,B1,B2,B3,A1 CC:公共准则(ISO/IEC 15408) 分为EAL1, EAL2, EAL3,EAL4,EAL5,EAL6,E
2、AL7 安全安全是指采取技术和管理的安全保护手段,保护软硬件与数据不是指采取技术和管理的安全保护手段,保护软硬件与数据不因偶然的或恶意的原因而遭受到破坏、更改、暴露。因偶然的或恶意的原因而遭受到破坏、更改、暴露。4攻击者进不去攻击者进不去窃取保密信息窃取保密信息看不懂看不懂系统和信息系统和信息改不了改不了非授权者重要信非授权者重要信息拿不到息拿不到系统工作瘫不成系统工作瘫不成攻击行为攻击行为赖不掉赖不掉安全保障技术与效果安全保障技术与效果标识与鉴别标识与鉴别访问控制数据加密数据加密完整性保护可用性可用性资源管理资源管理+ +安全管理安全管理安全审计 如果如果针对某个特定的目的针对某个特定的目的
3、,实体的行为与预期的行为相符实体的行为与预期的行为相符,则称针对这个目的,则称针对这个目的,该实体是可信的。该实体是可信的。什么是可信什么是可信 商业运行、社会基础设施运行、个人越来越商业运行、社会基础设施运行、个人越来越依赖于依赖于IT计算环境计算环境。 IT计算环境计算环境面临面临越来越多的越来越多的安全威胁安全威胁。 安全可信问题安全可信问题已经已经成为成为普适计算、云计算等普适计算、云计算等新型计算模式新型计算模式真正真正实现的瓶颈实现的瓶颈。 现技术现技术因成本、可管理性、向后兼容性、性能、可移植性等问题因成本、可管理性、向后兼容性、性能、可移植性等问题无法被广泛采纳无法被广泛采纳。
4、对建立可信计算环境的需求对建立可信计算环境的需求6 身份欺诈身份欺诈所造成的损失在所造成的损失在20042004年达到了年达到了526526亿美元亿美元 美国一年花费了美国一年花费了672672亿美元亿美元对付病毒、间谍软件等对付病毒、间谍软件等与与计算机计算机相关的犯罪相关的犯罪 超过超过130130次的电脑入侵将至少次的电脑入侵将至少55005500万美国人的万美国人的个人数据偷走个人数据偷走,如社会保险号和信用卡号,如社会保险号和信用卡号计算机安全攻击所造成的损失是惊人的计算机安全攻击所造成的损失是惊人的 容易受攻击的程序容易受攻击的程序(代码(代码bug/bug/缓冲区溢出缓冲区溢出/
5、 /解析错误)解析错误) 恶意程序恶意程序(间谍软件、木马程序)(间谍软件、木马程序) 错误配置的程序错误配置的程序(没有启用安全特性)(没有启用安全特性) 社会工程社会工程(网络钓鱼)(网络钓鱼) 物理上的偷窃物理上的偷窃 电子窃听电子窃听(截获邮件)(截获邮件)正在变化中的计算机安全威胁正在变化中的计算机安全威胁 每千行源代码就有一个安全相关的每千行源代码就有一个安全相关的bugbug,一个典型的千万行代码的操作系统将有上万个安全,一个典型的千万行代码的操作系统将有上万个安全bugbug 即使能够建立一个安全的软件系统,对已有操作系统即使能够建立一个安全的软件系统,对已有操作系统数千万行代
6、码进行安全处理的难度很大数千万行代码进行安全处理的难度很大 软件安全检测方法都可以被恶意代码绕过软件安全检测方法都可以被恶意代码绕过,如果没有硬件支持,无法检测出系统中恶意代码,如果没有硬件支持,无法检测出系统中恶意代码软件能够做到完全安全吗?软件能够做到完全安全吗?7 用户的身份认证用户的身份认证:这是对使用者的信任:这是对使用者的信任。 平台软硬件配置的正确性平台软硬件配置的正确性:这体现了使用者对平台运行环境的信任:这体现了使用者对平台运行环境的信任。 应用程序的完整性和合法性应用程序的完整性和合法性:这体现了应用程序运行的可信:这体现了应用程序运行的可信。 平台之间的可验证性平台之间的
7、可验证性:指网络环境下平台之间的相互信任。:指网络环境下平台之间的相互信任。“可信计算可信计算”可以从几个方面来理解可以从几个方面来理解 可可鉴别鉴别:计算机系统的用户可以确定与他们进行通信的对象身份:计算机系统的用户可以确定与他们进行通信的对象身份。 完整性完整性:用户确保信息能被正确传输:用户确保信息能被正确传输。 私密性私密性:用户相信系统能保证信息的私密性。:用户相信系统能保证信息的私密性。TCG制定的规范中定义了可信计算的三个属性制定的规范中定义了可信计算的三个属性8uThe TPM driver is provided by the TPM manufacturerUnlike m
8、ost drivers, it is required before the OS loads because the OS loader needs to access the TPM if it is using a secure startup mechanism. Therefore, a TPM driver is also integrated into the BIOS code.uTBS is a component of Windows Vista, andTBS serves as a mediator between higher-level applications a
9、nd the TPM driver.uTSS is the implementation of the TCG specification of the TSSTSS provides a standard API for interacting with the TPM9 提供一个提供一个更安全的计算环境更安全的计算环境 保护保护终端用户终端用户数据数据 提供提供可信可信的电子商务的电子商务交易交易 基于基于硬件的信任硬件的信任得到产业界支持的、基于标准化得到产业界支持的、基于标准化 增加用户及管理员增加用户及管理员使用因特网的使用因特网的信心信心 降低降低商业,特别是商业,特别是关键行业关
10、键行业(金融、保险、政府、医疗)(金融、保险、政府、医疗)的风险的风险 在硬件的保护下在硬件的保护下增加交易量和交易额增加交易量和交易额 更多的信任更多的信任将信任扩展到任何平台将信任扩展到任何平台 10一一可信计算概述可信计算概述二二TCG组织介绍组织介绍三三TCG现有标准规范介绍现有标准规范介绍四四TPM的核心功能的核心功能介绍介绍11二二. TCG组织介绍组织介绍TCG组织的成立组织的成立TCG的远景目标的远景目标TCG的解决方案的解决方案TCG组织结构图组织结构图TCG工作组介绍工作组介绍1219991999年年1010月月,由由HPHP、IBMIBM、IntelIntel和和Micr
11、osoftMicrosoft等公司等公司牵头牵头组织组织 TCPATCPA(Trusted Trusted Computing Platform Computing Platform AllianceAlliance),发展成员约,发展成员约200200家,遍布全球各大洲主家,遍布全球各大洲主力厂商力厂商,TCPATCPA专注于从计专注于从计算平台体系结构上增强其算平台体系结构上增强其安全性安全性。20012001年年1 1月月,TCPATCPA组织组织发发布了布了TPMTPM主规范(主规范(v1.1v1.1)20032003年年3 3月月,改组为改组为TCG TCG (Trusted Com
12、puting (Trusted Computing Group)Group),同年同年1010月月,发发布了布了TPMTPM主规范(主规范(v1.2v1.2)20092009年,年,TCGTCG与与ISO/IEC ISO/IEC 的的合作合作形成国际标准形成国际标准ISO/IECISO/IEC 11889-X: 200911889-X: 200920132013年年3 3月,月,TCGTCG组织发布组织发布了了TPMTPM主规范(主规范(v2.0v2.0)成立目的成立目的:在计算和通:在计算和通信系统中广泛使用基于信系统中广泛使用基于硬件安全模块支持下的硬件安全模块支持下的可信计算平台,以提高
13、可信计算平台,以提高整体的安全性。整体的安全性。TCGTCG的使命的使命:发展并推动:发展并推动开放的、厂商中立的、多开放的、厂商中立的、多种平台间的可信计算构造种平台间的可信计算构造单元及软件接口的业界标单元及软件接口的业界标准规范准规范1314 将平台将平台转变为可信计算环境转变为可信计算环境 使平台能够使平台能够证明证明给定的网络环境给定的网络环境是一个受保护的环境是一个受保护的环境 在正确的平台环境下在正确的平台环境下,秘密秘密才会被才会被释放释放出来出来 将将TPM作为作为产品中的产品中的可信构造块可信构造块TCG的解决方案的解决方案 带有带有TPM的的PC、Server、IoT设备
14、设备 第三方软件第三方软件使用使用TPM提供数据保护、网络访问、标识管理、认证提供数据保护、网络访问、标识管理、认证 网络产品网络产品:Radius认证认证服务器、病毒保护、策略管理服务器、病毒保护、策略管理当前应用当前应用151617TPM工作组:工作组:制订制订TPM规范规范 在在TPM的设计中由于考虑到成本问题,将非可信关键功能放到上层软件执行的设计中由于考虑到成本问题,将非可信关键功能放到上层软件执行 软件栈需要完成软件栈需要完成如下工作:如下工作:1)提供应用程序到提供应用程序到TPM功能的入口点、功能的入口点、2)提供对提供对TPM功能的同步访问、功能的同步访问、3)向应用程序向应
15、用程序隐藏命令流的实现细节、隐藏命令流的实现细节、4)对对TPM资源进行管理资源进行管理TSS工作组:工作组:为应用程序开发商提供为应用程序开发商提供API,对硬件接口进行封装,定义与,对硬件接口进行封装,定义与TPM的交互接口(的交互接口(如:如:系统软件接口)。系统软件接口)。 各自特殊职能:各自特殊职能:PC是是TPM规范的试验台,规范的试验台,Server是可信基础设施的载体,移动电话(设备)是可信计算未来发展趋势是可信基础设施的载体,移动电话(设备)是可信计算未来发展趋势PC工作组、工作组、Server工作组、移动电话工作组等:工作组、移动电话工作组等:具体平台工作组具体平台工作组,
16、符合符合TPM规范、配合规范、配合TPM建立信任根建立信任根Compliance工作组:工作组:致力于定义适当的规范和文档,便于定义保护轮廓致力于定义适当的规范和文档,便于定义保护轮廓PP及其他需要的评估准则。及其他需要的评估准则。 信任决策信息的规范化的表示与交换。信任决策信息的规范化的表示与交换。 研究平台信任根、信任链、密钥生存期服务,表示它们与所有者策略之间的关系研究平台信任根、信任链、密钥生存期服务,表示它们与所有者策略之间的关系 建立一个体系结构框架、接口、元数据弥补基础设施之间的差距建立一个体系结构框架、接口、元数据弥补基础设施之间的差距基础设施工作组基础设施工作组 :因特网及企
17、业基础设施中符合因特网及企业基础设施中符合TCG特定平台规范的可信平台的集成,在混合的环境下实现各种商业模式。特定平台规范的可信平台的集成,在混合的环境下实现各种商业模式。 发布一个开放的体系结构(在网络连接时或之后实施策略,各种终端节点、网络技术、策略之间可以相互交互)发布一个开放的体系结构(在网络连接时或之后实施策略,各种终端节点、网络技术、策略之间可以相互交互) 发布一系列终端完整性标准。发布一系列终端完整性标准。TNC子工作组子工作组:基础设施工作组的一个子工作组基础设施工作组的一个子工作组18存储工作组存储工作组:开发专有存储设备上的安全服务标准开发专有存储设备上的安全服务标准外设工
18、作组外设工作组:标记与信任相关的外设属性、外设的各种工作环境,研究外设在多组件可信平台上的角色及影响。标记与信任相关的外设属性、外设的各种工作环境,研究外设在多组件可信平台上的角色及影响。 工作组需要保证不修改现有使用工作组需要保证不修改现有使用TPM应用程序或者软件,保证在虚拟化平台中该应用程序或者软件仍然可以使用可应用程序或者软件,保证在虚拟化平台中该应用程序或者软件仍然可以使用可信计算服务。同时信计算服务。同时, 也需要不修改现在的也需要不修改现在的TPM接口命令和接口命令和TPM内部指令内部指令,保证保证TPM可以为上层提供可以为上层提供TPM的功能。的功能。 针对虚拟化技术和可信计算
19、技术的相结合,该工作组的工作重点在于:保证可信计算中信任关系的传递在虚拟平台针对虚拟化技术和可信计算技术的相结合,该工作组的工作重点在于:保证可信计算中信任关系的传递在虚拟平台可以有足够的保证;保证可信属性满足的情况下虚拟机可以在不同的平台之间自由迁移。可以有足够的保证;保证可信属性满足的情况下虚拟机可以在不同的平台之间自由迁移。虚拟平台工作组虚拟平台工作组:致力于推广可信计算技术在虚拟化领域的应用。致力于推广可信计算技术在虚拟化领域的应用。 实现共享的基础设施、多提供商的基础设施、参考模型和实现指导、鉴定和消除现有标准间的差异等。实现共享的基础设施、多提供商的基础设施、参考模型和实现指导、鉴
20、定和消除现有标准间的差异等。可信多租户基础设施工作组可信多租户基础设施工作组(云工作组)云工作组):致力于开发一个标准框架,为实际部署可信云或可信共享设施定义端到端参考模型致力于开发一个标准框架,为实际部署可信云或可信共享设施定义端到端参考模型19一一可信计算概述可信计算概述二二TCG组织介绍组织介绍三三TCG现有标准规范介绍现有标准规范介绍四四TPM的核心功能的核心功能介绍介绍20三三. TCG现有标准规范介绍现有标准规范介绍TCG规范的设计原则规范的设计原则TCG的文档路线图的文档路线图TCG现有规范介绍现有规范介绍21 对指定的关键安全数据进行受控的访问对指定的关键安全数据进行受控的访问
21、 可靠的度量并报告系统的安全性质可靠的度量并报告系统的安全性质 报告机制要在所有者的完全控制之下报告机制要在所有者的完全控制之下安全性原则安全性原则 设计实现时考虑私密性需求设计实现时考虑私密性需求私密性原则私密性原则 在保证安全性的前提下,不引入新互操作障碍在保证安全性的前提下,不引入新互操作障碍可互操作性原则可互操作性原则 规范的部署应该支持在数据所有权方面已建立的原则及惯例规范的部署应该支持在数据所有权方面已建立的原则及惯例数据的可移植性原则数据的可移植性原则 所有者对属于它们的所有者对属于它们的TCGTCG功能的使用及操作能够进行有效的选择和控制功能的使用及操作能够进行有效的选择和控制
22、可控性原则可控性原则 非技术用户也可以理解和使用非技术用户也可以理解和使用TCGTCG功能功能易用性原则易用性原则2223 从从TCG技术的应用场景、以技术的应用场景、以TPM为中心的为中心的TCG技术的体系结构、产品的评估模型、生产要求几方面技术的体系结构、产品的评估模型、生产要求几方面,对对TCG技术进行了概括性的介绍。技术进行了概括性的介绍。 有效的弥补了有效的弥补了TPM规范过分注重细节、可读性差的缺点规范过分注重细节、可读性差的缺点 作者是作者是TPM规范的主要作者,所以规范的主要作者,所以“体系结构体系结构” 还是以还是以TPM为中心。为中心。TCG体系结构规范体系结构规范 给出给
23、出TPM的基本概念及与的基本概念及与TPM功能相关的一般信息。功能相关的一般信息。 对于与特定平台相关的功能在特定平台规范中定义。对于与特定平台相关的功能在特定平台规范中定义。 包括包括4个部分:个部分:“设计理念设计理念”、“TPM结构结构”、“TPM命令命令”、“Compliance”(CC保护轮廓)保护轮廓) 规范通过具体技术细节的描述,为用户展现规范通过具体技术细节的描述,为用户展现TPM的功能。的功能。TPM主规范主规范 定义了应用程序层次定义了应用程序层次TCG软件栈的分层结构及关键数据结构,然后分软件栈的分层结构及关键数据结构,然后分TPM驱动程序接口、驱动程序接口、TSS核心服
24、务接口、核心服务接口、TCG服务提供者接口定义了不同层次软件之间的标准接口服务提供者接口定义了不同层次软件之间的标准接口。 该规范的出发点还是以该规范的出发点还是以TPM为中心的为中心的。 实际上在操作系统层次也可以或者说需要使用一些实际上在操作系统层次也可以或者说需要使用一些TPM功能,这个层次的接口本规范没有涉及功能,这个层次的接口本规范没有涉及。TSS规范规范24 PC客户机客户机TPM接口规范(接口规范(TIS):考虑):考虑PC机的特点,对安装在机的特点,对安装在PC机上的机上的TPM需要满足的要求进行了补充需要满足的要求进行了补充 TCG针对传统针对传统BIOS型型PC客户机的实现
25、规范:操作系统前状态到操作系统状态转换中客户机的实现规范:操作系统前状态到操作系统状态转换中PCR寄存器的使用、寄存器的使用、BIOS或其他组件如何作为或其他组件如何作为CRTM(度量的核心信任根)、(度量的核心信任根)、BIOS执行执行TCG子系统功能时子系统功能时BIOS的编程接口。在上电、的编程接口。在上电、有电期间、掉电及初始化状态的行为等有电期间、掉电及初始化状态的行为等PC客户平台规范客户平台规范 是服务器的总体规范,内容包括:在是服务器的总体规范,内容包括:在server环境中用到的专用术语总结、环境中用到的专用术语总结、server平台的平台的TPM需求、针对需求、针对serv
26、er平平台的主规范分析、台的主规范分析、server环境下环境下TBB的定义及需求、引导过程中的定义及需求、引导过程中PCR的使用的使用 具体平台还有平台特定的规范,但目前没有公开发布的具体规范具体平台还有平台特定的规范,但目前没有公开发布的具体规范服务器规范服务器规范 定义了在移动电话环境下,针对平台完整性、设备认证、可靠定义了在移动电话环境下,针对平台完整性、设备认证、可靠DRM(数字产权保护)、设备个人化、安全软(数字产权保护)、设备个人化、安全软件下载、设备间的安全通道、移动票据、移动支付、软件使用、对用户证明平台及应用程序的完整性等需求场件下载、设备间的安全通道、移动票据、移动支付、
27、软件使用、对用户证明平台及应用程序的完整性等需求场景景移动电话使用场景规范移动电话使用场景规范25 互操作参考体系结构:互操作参考体系结构: 为为TCG定义的可信平台的支撑环境定义一个参考的体系结构定义的可信平台的支撑环境定义一个参考的体系结构 主要针对可信平台的生存期、可信平台的部署基础设施、实体断言签署结构、可信平台生存期内的信任状类主要针对可信平台的生存期、可信平台的部署基础设施、实体断言签署结构、可信平台生存期内的信任状类型、私密性问题、基础设施工作组的文档路线图及构造块进行了定义。型、私密性问题、基础设施工作组的文档路线图及构造块进行了定义。 备份与迁移服务的互操作规范备份与迁移服务
28、的互操作规范 SKAE(主体密钥证实证据)扩充:针对(主体密钥证实证据)扩充:针对X.509增加了与基于增加了与基于TCG的安全断言的绑定的安全断言的绑定基础设施规范基础设施规范 TNC的体系结构规范:定义可互操作的网络访问控制及授权的可信网络连接体系结构的体系结构规范:定义可互操作的网络访问控制及授权的可信网络连接体系结构 IF-IMC:完整性度量值收集者与:完整性度量值收集者与TNC客户端之间的标准接口。客户端之间的标准接口。 IF-IMV:完整性度量值收集者与:完整性度量值收集者与TNC服务器之间的标准接口服务器之间的标准接口可信网络连接规范可信网络连接规范26一一可信计算概述可信计算概
29、述二二TCG组织介绍组织介绍三三TCG现有标准规范介绍现有标准规范介绍四四TPM的核心功能的核心功能介绍介绍27四四. TPM的核心功能介绍的核心功能介绍TPM简介简介TPM体系结构体系结构安全度量和报告安全度量和报告远程证实远程证实数据保护数据保护密钥管理密钥管理28基于加密技术的应用包括:1.1.加密算法可以用于一个文件(或者一组文件),加密算法可以用于一个文件(或者一组文件),目的是创建一个哈希目的是创建一个哈希值或者消息摘要作为文件的指纹。这项功能被广泛应用于数据的完整值或者消息摘要作为文件的指纹。这项功能被广泛应用于数据的完整性度量,对于取证领域至关重要。性度量,对于取证领域至关重要
30、。2.2.数字签名使用公钥加密和消息摘要,数字签名使用公钥加密和消息摘要,目的是允许接收方可以验证他们目的是允许接收方可以验证他们接受消息的完整性和真实性。接受消息的完整性和真实性。3.3.敏感的用户数据可以使用加密算法来处理,敏感的用户数据可以使用加密算法来处理,目的是保护数据的机密性。目的是保护数据的机密性。29 TCGTCG技术的核心内容就是为计算平台提供了一整套基于技术的核心内容就是为计算平台提供了一整套基于TPMTPM及平台中及平台中TBBTBB(平(平台可信构造台可信构造块块= =TPM+CRTMTPM+CRTM)的信任建立及可信性证实方法和机制的信任建立及可信性证实方法和机制30
31、 在最初设计可信平台架构时,在最初设计可信平台架构时,TCGTCG考虑到平台改造的成本和风险,考虑到平台改造的成本和风险,并没有将并没有将C CRTMRTM集成到集成到TPMTPM内部,而是通过改造主板上的内部,而是通过改造主板上的 Boot ROM Boot ROM 来实现的来实现的。 在启动的最初阶段,在启动的最初阶段,最先执行的一部分指令就是最先执行的一部分指令就是CRTMCRTM,它,它负责对紧随其后执行的负责对紧随其后执行的其他指令进行完整性度量其他指令进行完整性度量,CRTMCRTM是可信度量根是可信度量根。 根据信任根的定义,根据信任根的定义,CRTMCRTM必须是平台上的一个受
32、保护的部件必须是平台上的一个受保护的部件,它必须总是按照预,它必须总是按照预期的方式运作,从而能够被无条件信任。期的方式运作,从而能够被无条件信任。CRTMCRTM 是一个拥有受保护的独立执行能力是一个拥有受保护的独立执行能力(密码运算部件(密码运算部件) )和小容量存储能力的和小容量存储能力的硬件芯硬件芯片片。 TPMTPM是可信平台的核心是可信平台的核心,配合配合CRTMCRTM就能够实现完整性的度量和报告就能够实现完整性的度量和报告。 在可信体系的三个信任根中在可信体系的三个信任根中,TPMTPM实现实现的是的是可信报告根可信报告根RTRRTR和和可信存储根可信存储根RTSRTS的功的功
33、能。能。可信平台模块可信平台模块TPMTPM31 数据的数据的非对称加密和签名认证非对称加密和签名认证,是通过,是通过RSARSA算法算法来实现的来实现的。 完整性度量完整性度量则是通过高效的则是通过高效的SHA-1SHA-1散列算法散列算法来完成的来完成的。 对称加密可以使用任意算法对称加密可以使用任意算法,既可以使用专用协处理器,也可以使用软,既可以使用专用协处理器,也可以使用软件来完成。件来完成。TPMTPM至少需要具备四个主要功能:至少需要具备四个主要功能: 对称对称/ /非对称加密;非对称加密; 安全存储;安全存储; 完整性度量;和完整性度量;和 签名认证。签名认证。32q受受保护的
34、功能:保护的功能:是一组命令,只有它们才能访问被屏蔽的位置是一组命令,只有它们才能访问被屏蔽的位置q被隔离的位置:被隔离的位置:是内存,寄存器是内存,寄存器等,满足:等,满足:在在这些位置上操作敏感数据是安全这些位置上操作敏感数据是安全的的访问访问数据的位置只能是受保护的功能数据的位置只能是受保护的功能实现实现TPMTPM内部功内部功能的关闭、停能的关闭、停用和完全激活用和完全激活用来存储永久用来存储永久标识标识( (如如EK)EK)以以及和及和TPMTPM相关的相关的状态状态一一个个可信散列可信散列算法实现算法实现, ,用于用于完整性完整性度量和度量和签名签名用来记录系统用来记录系统运行状态
35、运行状态(如(如内核内核镜像、进镜像、进程信息列表和程信息列表和应用的二进制应用的二进制可执行可执行程序)程序)负责产生各种负责产生各种密钥生成和签密钥生成和签名中所需要的名中所需要的随机数随机数3334 是一个是一个160比特比特(20个字节)个字节)的屏蔽存储位置,用来的屏蔽存储位置,用来存储离散的完整性度量值存储离散的完整性度量值。 共共有有2424个个PCRPCR:0707用于系统启动,用于系统启动,815815供操作系统使用,供操作系统使用,16231623用于动态可信根的建立。用于动态可信根的建立。PCR的作用的作用 重置操作(重置操作(Reset):机器断电或重启之后,:机器断电
36、或重启之后,PCR的值自动重新清零。的值自动重新清零。 扩展操作(扩展操作(Extend):它将:它将PCR的当前值连接上新的度量值,再将连接后的值的的当前值连接上新的度量值,再将连接后的值的SHA-1散列值散列值存为存为PCR的新值,的新值,这样做的好处:这样做的好处:一方面,可以用少量且固定的存储空间来存储无限数量的度一方面,可以用少量且固定的存储空间来存储无限数量的度量项;另一方面,迭代的连接和散列操作也使得恶意的篡改变得极其困难量项;另一方面,迭代的连接和散列操作也使得恶意的篡改变得极其困难。 PCRi New Value= HASH( PCRiOld value | new meas
37、urement)允许允许修改修改PCR值值的的两种操作:两种操作: 一个是一个是顺序性顺序性,即对,即对PCR的扩展操作是不可交换的的扩展操作是不可交换的(A-B,B-A结果不同);结果不同); 一个是一个是单向性单向性,即给定,即给定PCR值,攻击者要想确定值,攻击者要想确定其其输入在计算上是不可能的输入在计算上是不可能的;若;若不知道不知道PCR Old Value或从上次复位后或从上次复位后PCR的所有输入的所有输入,不可能确定不可能确定PCR扩展扩展值值。与与PCR构造相关的密码哈希的性质:构造相关的密码哈希的性质:PCRPCR平台配置平台配置寄存器寄存器3536完整性度量、存储、报告
38、机制完整性度量、存储、报告机制 允许平台进入任何状态,但这些状态都被忠实的记录下来,供其它过程参考允许平台进入任何状态,但这些状态都被忠实的记录下来,供其它过程参考目的目的 是获得与平台完整性相关的平台特性的度量值的方法是获得与平台完整性相关的平台特性的度量值的方法完整性度量完整性度量 由由TPM内的内的PCR及及TPM外的外的SML(Stored Measurement Log)共同完成)共同完成 完整性度量值保存在完整性度量值保存在SML中,完整性度量值的摘要扩充到中,完整性度量值的摘要扩充到PCR中中度量值的存储度量值的存储 对完整性存储的内容进行证实的过程。对完整性存储的内容进行证实的
39、过程。完整性报告完整性报告37信任链产生信任链产生 提供密码提供密码机制对机制对TPMTPM的的状态及信息进行数字签名状态及信息进行数字签名可信报告根可信报告根(Root of Trust for Reporting,RTR) 提供密码机制保护保存在提供密码机制保护保存在TPMTPM之外的信息之外的信息( (数据和密钥数据和密钥) )可信存储根可信存储根(Root of Trust for Storage,RTS) 由平台提供的对平台的状态进行度量的机制由平台提供的对平台的状态进行度量的机制可信可信度量根度量根(Root of Trust for Measurement,RTM)在可信体系中,
40、在可信体系中,信任链以可信根(信任链以可信根(TPMTPM)为起点而建立)为起点而建立,在此基础上再将信任,在此基础上再将信任关系逐级传递到系统的各个模块,从而建立整个系统的信任关系。所以信任根关系逐级传递到系统的各个模块,从而建立整个系统的信任关系。所以信任根必须是一个能够被信任的组件,通常必须是一个能够被信任的组件,通常在一个可信平台中有三个可信在一个可信平台中有三个可信根根:38信任链产生信任链产生( (续)续)信任链扩展流程所加载的组件顺序信任链扩展流程所加载的组件顺序39可信启动过程:可信启动过程:以以windows vistawindows vista为例为例1. The CRTM
41、 takes integrity measurements of the remaining BIOS code. The measurements may be written to the Stored Measurement Log (SML) or recomputed whenever needed, and a digest of this measurement is created using the SHA-1 hashing algorithm. The SHA-1 digest is written to PCR0.2. If the CRTM determines th
42、at the measurement it has just taken is evidence of trustworthiness, it passes control of the platform to the remaining BIOS code.3. The BIOS takes integrity measurements of the platform configuration settings, firmware code, and the code that loads the operating system (OS). The measurements may be
43、 written to the SML or recomputed whenever needed, and digests of these measurements are created using the SHA-1 hashing algorithm. The digests are written to the appropriate PCRs.4. If the BIOS determines that the measurements it has just taken represent evidence of trustworthiness, it passes contr
44、ol of the platform to the remaining OS loader code.5. Once the OS loader code executes, the next step is to pass control to the remainder of the OS. Before this can be done, the OS loader code must establish trust in the OS code. Trust measurements are taken against this code, and again, a digest is
45、 written to the appropriate PCR in the TPM.6. If the OS loader trusts the remainder of the OS based, again, on trust measurements, it passes control to the remainder of the OS code.7. Once the OS is loaded and running, it will control the TPM. However, at times, other applications will need to utili
46、ze the TPM. Before the OS can transfer control to an application, it must establish that the application code is trustworthy. It can do this just as it did previously: It takes integrity measurements on the application code and writes a digest to the TPM.8. Once trust in the application has been est
47、ablished, the OS may transfer control over to it.40完整性报告完整性报告远程报告远程报告可信平台使用可信平台使用AIK对当前平台的对当前平台的PCR值值进行签名,报告给远程挑战者,以证明进行签名,报告给远程挑战者,以证明其平台状态的可信性其平台状态的可信性。这一过程使用挑战这一过程使用挑战-应应答答协议协议完成完成。本地报告本地报告借助借助TPM本身提供的本身提供的Seal操作操作(将数据或密钥与(将数据或密钥与一个或一组指定的一个或一组指定的PCR值绑定,只有当这个或这值绑定,只有当这个或这组组PCR值符合特定的指定值时,这些数据和密钥值符合
48、特定的指定值时,这些数据和密钥才能够被释放出来)来完成本地的安全报告。才能够被释放出来)来完成本地的安全报告。当挑战者要判断本地机器是否被攻陷,意当挑战者要判断本地机器是否被攻陷,意味着本机有可能是不可信的。那么本机的味着本机有可能是不可信的。那么本机的验证会被攻击者篡改验证会被攻击者篡改, ,挑战者会受到欺骗。挑战者会受到欺骗。41远程证实时,一个平台(挑战方)向另个平台(证实方)发送一个挑战证实的消息远程证实时,一个平台(挑战方)向另个平台(证实方)发送一个挑战证实的消息和一个随机数,要求获得一个或多个和一个随机数,要求获得一个或多个PCRPCR值,以便对证实者的平台状态进行验证值,以便对
49、证实者的平台状态进行验证42 每个每个TPMTPM拥有唯一的拥有唯一的EKEK TPMTPM出厂时出厂时, ,由由TPMTPM厂商签发厂商签发EKEK证书证书, ,来来唯一标识可信平台的身份唯一标识可信平台的身份。背书密钥背书密钥 EKEK(Endorsement KeyEndorsement Key) TCGTCG规定,规定,EKEK不不直接用于身份认证,直接用于身份认证,而而使用使用AIKAIK作为作为EKEK的的别名别名(多个)(多个)。 TPMTPM使用使用EKEK生成生成AIKAIK,并通过,并通过CACA签发的签发的AIKAIK证书来证书来完成身份认证。完成身份认证。 要解决认证过
50、程的匿名性(隐私性)问题要解决认证过程的匿名性(隐私性)问题:1 1)除除TPMTPM及所在平台外,任何实体不能确定及所在平台外,任何实体不能确定EKEK与与AIKAIK的绑定关系的绑定关系,不然,不然获得获得AIKAIK证书的实体就可能掌握证书的实体就可能掌握TPMTPM的的PIIPII(私密性标识信息)(私密性标识信息)2 2)AIKAIK证书只是让其他实体相信,证书只是让其他实体相信,用用AIKAIK签名的信息确实来自一个可信签名的信息确实来自一个可信平台,但不知道具体是哪一个平台,但不知道具体是哪一个TPMTPM,在平台层次实现对私密性的保护。,在平台层次实现对私密性的保护。身份认证密