1、1可信可信计算基础计算基础内容提要 概述概述 可信计算的发展历史可信计算的发展历史 可信计算的基本规范可信计算的基本规范 可信计算的基本思想与主要技术路线可信计算的基本思想与主要技术路线2一、概一、概 述述3无处不在的无处不在的产生安全事故的技术原因:产生安全事故的技术原因: PC机软、硬件结构简化,导致资机软、硬件结构简化,导致资源可任意使用,尤其是执行代码可源可任意使用,尤其是执行代码可修改,恶意程序可以被植入修改,恶意程序可以被植入 病毒程序利用病毒程序利用PC操作系统对执行操作系统对执行代码不检查一致性弱点,将病毒代代码不检查一致性弱点,将病毒代码嵌入到执行代码程序,实现病毒码嵌入到执
2、行代码程序,实现病毒传播传播 黑客利用被攻击系统的漏洞窃取超黑客利用被攻击系统的漏洞窃取超级用户权限,植入攻击程序,肆意级用户权限,植入攻击程序,肆意进行破坏进行破坏 更为严重的是对合法的用户没有进更为严重的是对合法的用户没有进行严格的访问控制,可以进行越权行严格的访问控制,可以进行越权访问,造成不安全事故访问,造成不安全事故 即使一个安全的操作系统也不能验即使一个安全的操作系统也不能验证自身的完整性证自身的完整性为了解决计算机和网络结构上的不安全,从根为了解决计算机和网络结构上的不安全,从根本上提高其安全性,必须从芯片、硬件结构和本上提高其安全性,必须从芯片、硬件结构和操作系统等方面综合采取
3、措施,由此产生出可操作系统等方面综合采取措施,由此产生出可信计算的基本思想,其目的是在计算和通信系信计算的基本思想,其目的是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高整体的安全性。计算平台,以提高整体的安全性。 硬件结构的安全和操作系统的安全是基础,硬件结构的安全和操作系统的安全是基础,密码、网络安全等技术是关键技术。密码、网络安全等技术是关键技术。67可信计算是一种信息系统安可信计算是一种信息系统安全新技术。全新技术。包括包括可信硬件可信硬件、可信软件可信软件、可信网络和和可信计算应用可信计算应用等诸多等诸多方面。方面。二、
4、可信计算发展历史二、可信计算发展历史81、可信计算发展历史、可信计算发展历史 可信计算的发展可以分为个三个基本阶段:可信计算的发展可以分为个三个基本阶段:初级阶段、中级阶段和高级阶段。初级阶段、中级阶段和高级阶段。(1 1)初级阶段)初级阶段 早在二十世纪早在二十世纪6070年代,人们就开始重年代,人们就开始重视可信电路视可信电路DC(Dependable Circuit)的研)的研究。那个时候对计算机安全性的理解主要是硬究。那个时候对计算机安全性的理解主要是硬件设备的安全,而影响计算机安全的主要因素件设备的安全,而影响计算机安全的主要因素是硬件电路的可靠性,因此研究的重点是电路是硬件电路的可
5、靠性,因此研究的重点是电路的可靠性。把高可靠的电路称为可信电路。的可靠性。把高可靠的电路称为可信电路。9(2 2)中级阶段)中级阶段1983年美国国防部制定了世界上第一个年美国国防部制定了世界上第一个可信计可信计算机系统评价准则算机系统评价准则TCSEC(Trusted Computer System Evaluation Criteria)(又称又称为彩虹系列为彩虹系列)。在。在TCSEC中第一次提出可信计算基中第一次提出可信计算基TCB(Trusted Computing Base)的概念,并)的概念,并把把TCB作为系统安全的基础。彩虹系列(作为系统安全的基础。彩虹系列(桔皮书桔皮书)的
6、出现形成了可信计算的一次高潮,多年来彩虹的出现形成了可信计算的一次高潮,多年来彩虹系列一直成为评价计算机系统安全的主要准则,系列一直成为评价计算机系统安全的主要准则,对计算机系统安全有积极的指导意义。对计算机系统安全有积极的指导意义。但是彩虹系列主要考虑了但是彩虹系列主要考虑了信息的秘密性信息的秘密性,对完整,对完整性、真实性考虑较少;强调系统安全性的评价,性、真实性考虑较少;强调系统安全性的评价,并没有给出达到这种安全性的系统结构和主要技并没有给出达到这种安全性的系统结构和主要技术路线。术路线。10(3 3)高级阶段:可信计算平台的出现)高级阶段:可信计算平台的出现1999年年IEEE太平洋
7、沿岸国家容错系统会议改名太平洋沿岸国家容错系统会议改名为为 “ 可信计算会议可信计算会议”,标志着可信计算又一次,标志着可信计算又一次成为学术界的研究热点。成为学术界的研究热点。2000年年12月月11日以美国卡内基梅农大学与美国国家日以美国卡内基梅农大学与美国国家宇航局的宇航局的Ames研究中心牵头,研究中心牵头,IBM、HP、Intel、微、微软等著名企业参加,成立了可信计算联盟软等著名企业参加,成立了可信计算联盟TCPA,标,标志着可信计算进入产业界。志着可信计算进入产业界。TCPA于于2001年年9月制定了可信月制定了可信PC的详细实现规范的详细实现规范V1.1。2003年年TCPA改
8、组为可信计算组织改组为可信计算组织TCG。TCG的成的成立标志着可信计算技术和应用领域的进一步扩大。立标志着可信计算技术和应用领域的进一步扩大。2003年年9月月TCG推出可信推出可信PC的新规范的新规范V1.2。制定了制定了关于可信计算平台、可信存储和可信网络连接等一系关于可信计算平台、可信存储和可信网络连接等一系列技术规范。列技术规范。112.TCG2.TCG可信计算的意义可信计算的意义首次提出可信计算机平台的概念,并把这一概首次提出可信计算机平台的概念,并把这一概念具体化到服务器、微机、念具体化到服务器、微机、PDA和手机,而且和手机,而且具体给出了可信计算平台的体系结构和技术路具体给出
9、了可信计算平台的体系结构和技术路线。线。 不仅考虑信息的秘密性,更强调了信息的真不仅考虑信息的秘密性,更强调了信息的真实性和完整性。实性和完整性。更加产业化和更具广泛性。目前国际上更加产业化和更具广泛性。目前国际上(包括包括中国中国)已有多家已有多家IT行业著名公司加入了行业著名公司加入了TCG。IBM,HP,DELL,NEC,GATEWAY,TOSHIBA,FUJITSU,SONY等公司都研制出等公司都研制出自己的可信自己的可信PC机机(台式机或笔记本机台式机或笔记本机)。ATMEL,INFINEON,BROADCOM,NATIONALSEMICONDUCTOR等公司都研制等公司都研制出自己
10、的可信平台模块出自己的可信平台模块(TPM)芯片。芯片。12133、可信计算的其他流派(除了、可信计算的其他流派(除了TCG) 微软流派。微软独立提出了代号为微软流派。微软独立提出了代号为Palladium(守护守护神神)的可信计算计划。微软用的是的可信计算计划。微软用的是Trustworthycomputing(可信赖),而没有使用(可信赖),而没有使用Trustedcomputing。Intel对微对微软的软的Palladium计划计划给予支持,宣布了支持给予支持,宣布了支持Palladium计计划的划的LaGrande硬件技术,并计划推出采用硬件技术,并计划推出采用LaGrande技技术
11、的新一代奔腾处理器。后来,微软又将这一计划改名术的新一代奔腾处理器。后来,微软又将这一计划改名为为NGSCB(next generation secure computing base)。 新一代操作系统新一代操作系统VISTA支持可信计算机制。支持可信计算机制。 容错流派。容错计算是计算机领域中一个重要的容错流派。容错计算是计算机领域中一个重要的分支。分支。1995年法国年法国Jean-ClaudeLaprie和美国和美国Algirdas Avizienis提出可信计算提出可信计算(dependable computing)的概的概念。容错专家们自念。容错专家们自1999年将容错计算会议改名
12、为可信计年将容错计算会议改名为可信计算会议算会议(PRDC)后,便致力于可信计算的研究。他们的可后,便致力于可信计算的研究。他们的可信计算更强调计算系统的可靠性、可用性和可维性,而信计算更强调计算系统的可靠性、可用性和可维性,而且强调可信的可论证性。且强调可信的可论证性。 144、可信计算的概念、可信计算的概念概念概念1: 1990年年 ISO/IEC“如果第如果第 2个实体完全个实体完全按照第按照第1 个实体的预期行动时个实体的预期行动时,则第则第 1个实体认为第个实体认为第 2个实体是可信的个实体是可信的.概念概念2:2002年年TCG“一个实体是可信的,如果一个实体是可信的,如果它的行为
13、总是以预期的方式达到预期的目标它的行为总是以预期的方式达到预期的目标”(抓(抓住了实体的行为特征,符合哲学思想)。住了实体的行为特征,符合哲学思想)。概念概念3:IEEE所谓可信是指计算机系统所提供所谓可信是指计算机系统所提供的服务是可以论证其是可信赖的,即不仅计算机系的服务是可以论证其是可信赖的,即不仅计算机系统所提供的服务是可信赖的,而且这种可信赖还是统所提供的服务是可信赖的,而且这种可信赖还是可论证的。可论证的。可信可信安全安全+可靠。可信计算系统是能够提供系统的可靠。可信计算系统是能够提供系统的可靠性、可用性、信息和行为安全性的计算机系统。可靠性、可用性、信息和行为安全性的计算机系统。
14、三、可信计算规范三、可信计算规范1516TCG的使命的使命Developandpromoteopen,vendor-neutral,industrystandardspecificationsfortrustedcomputingbuildingblocksandsoftwareinterfacesacrossmultipleplatforms。公开的工业标准公开的工业标准(规范规范)、提供可信计算、提供可信计算的构造块与软件接口,用于跨平台的工的构造块与软件接口,用于跨平台的工作环境作环境17 01年年9月月TCPA制定了可信制定了可信PC的技术规范的技术规范V1.1。 03年年9月月TCG
15、又推出可信又推出可信PC的新规范的新规范V1.2。 05年年3月月TCG推出可信服务器推出可信服务器GSS的规范的规范V1.0。 05年年5月月TCG推出可信网络连接推出可信网络连接TNC的新规范的新规范V1.0。 2007年,年,150个成员,个成员,11工作组工作组目前目前TCG定义了如下四种可信计算平台:定义了如下四种可信计算平台: 可信可信PC,可信服务器、可信,可信服务器、可信PDA、可信手机、可信手机TCG关于可信计算规范关于可信计算规范Trusted Computing Group (TCG)可信计可信计算组织算组织lIT企业的联盟,迄今超过企业的联盟,迄今超过150个成员个成员
16、lwww.trustedcomputing.org/about/members/l集中于开发跨平台和设备的支持可信计算的集中于开发跨平台和设备的支持可信计算的硬件和软件技术硬件和软件技术l已经发布了多种规范已经发布了多种规范18TCG工作组工作组IlTrusted Platform Module (TPM) 可信平台模块工可信平台模块工作组作组lTCG Software Stack (TSS) 可信计算组织软件栈可信计算组织软件栈工作组工作组专门用于使用专门用于使用TPM特性的指定的硬件和操作系统独特性的指定的硬件和操作系统独立接口立接口lTrusted Network Connect (TN
17、C) 可信网络连接可信网络连接工作组工作组指定标准来保证多厂商的互用性,使得网络运营商指定标准来保证多厂商的互用性,使得网络运营商能为网络连接的端点完整性提供安全策略能为网络连接的端点完整性提供安全策略lInfrastructure Work Group (IWG)基础设施工作基础设施工作组组采用并整合采用并整合TCG概念到因特网及企业基础设施技术概念到因特网及企业基础设施技术中去中去19TCG工作组工作组IIlPC客户机程序工作组客户机程序工作组使用使用TCG组件为客户机程序指定功能性、接口、以组件为客户机程序指定功能性、接口、以及安全和隐私的要求及安全和隐私的要求为为TPM和其它和其它TC
18、G工作组起咨询作用工作组起咨询作用l服务器工作组服务器工作组详述详述TCG技术整合到服务器系统中技术整合到服务器系统中l移动电话工作组移动电话工作组为移动设备采用为移动设备采用TCG概念概念移动设备的特征,如连通性和能力有限性移动设备的特征,如连通性和能力有限性20TCG工作组工作组IIIl存储系统工作组存储系统工作组为可卸除式多媒体磁盘驱动器、闪存、为可卸除式多媒体磁盘驱动器、闪存、以及包含存储控制接口的各种存储设以及包含存储控制接口的各种存储设备系统制定专用存储系统的安全服务备系统制定专用存储系统的安全服务标准标准ATA, Serial ATA, SCSI, FibreChannel, U
19、SB storage, FireWire (IEEE 1394) and Network Attached Storage (NAS)21TCG的主要规范的主要规范lTrusted Platform Module (TPM) TPM2002, TPM2003,TPM2007提供一套不可改变的加密和安全函数提供一套不可改变的加密和安全函数lTrusted Software Stack (TSS) TSS2003 TSS2007 为了高层的应用软件发布低层的为了高层的应用软件发布低层的TPM请求和接请求和接受低层的受低层的TPM响应响应22四、可信计算的基本思想与主要四、可信计算的基本思想与主要技
20、术路线技术路线2324基本概念基本概念(1 1)信任的属性:信任是一种二元关系,它可以是一对一、)信任的属性:信任是一种二元关系,它可以是一对一、一对多一对多( (个体对群体个体对群体) )、多对一、多对一( (群体对个体群体对个体) )或多对多或多对多( (群体群体对群体对群体) )。 信任具有二重性,既具有主观性又具有客观性。信任具有二重性,既具有主观性又具有客观性。 信任不一定具有对称性,即信任不一定具有对称性,即A A信任信任B B不一定就有不一定就有B B信任信任A A。 信任可度量。也就是说信任的程度可以测量,可以划分等信任可度量。也就是说信任的程度可以测量,可以划分等级。级。 信
21、任可传递,但不绝对,而且在传播过程中有损失。信任可传递,但不绝对,而且在传播过程中有损失。 信任具有动态性,即信任与与环境信任具有动态性,即信任与与环境( (上下文上下文) )和时间等因素和时间等因素相关。相关。25基本概念基本概念(2)信任的度量与模型:)信任的度量与模型:基于概率统计的信任模型基于概率统计的信任模型基于模糊数学的信任模型基于模糊数学的信任模型基于主观逻辑的信任模型基于主观逻辑的信任模型基于证据理论的信任模型基于证据理论的信任模型和基于软件行为学的信任模型和基于软件行为学的信任模型 目前的这些模型都还需要进一步优化,朝着目前的这些模型都还需要进一步优化,朝着既能准确刻画客观事
22、实,又尽量简单实用的既能准确刻画客观事实,又尽量简单实用的方向发展。值得特别提出的是,应当着重研方向发展。值得特别提出的是,应当着重研究软件可信性的度量模型,可信计算迫切需究软件可信性的度量模型,可信计算迫切需要这方面的理论支持。要这方面的理论支持。26(3)信任根和信任链)信任根和信任链 信任根是系统可信的基点。信任根是系统可信的基点。TCG认为一个可信计认为一个可信计算平台必须包含算平台必须包含3个信任根:个信任根:可信测量根可信测量根CRTM(Corerootoftrustformeasurement)u BIOS引导模块作为引导模块作为CRTM(BIOSBootBlockonPCsu
23、CRTM就是整个就是整个BIOS可信可信存储根存储根RTS(rootoftrustformeasurement)ThatstheTPM可信报告根可信报告根RTR(rootoftrustformeasurement) Thats the TPM信任根的可信性由物理安全和管理安全确保。信任根的可信性由物理安全和管理安全确保。 基本概念基本概念27(3)信任链)信任链u 目的目的是要信任实体是要信任实体En,E0、E1En构成一个链。构成一个链。要相信要相信En,则必须相信则必须相信En-1。u 信信任任传递传递满足条件:满足条件:信任是信任是从从E0传到传到E1传到传到E2不能不能逆向传递:即相信
24、逆向传递:即相信E0、不意味必须相信、不意味必须相信E2若相信若相信E2,则必须相信,则必须相信E0和和E1基本概念基本概念28(3)信任链)信任链u 链中的每个实体成员在传递控制给后继者链中的每个实体成员在传递控制给后继者时,必时,必须先须先测量测量后再执行后再执行/传递给后继者传递给后继者如:如:E0measuresE1beforepassingcontroltoE1andsoonu 如创建一个可信链,第一个实体必须是可信根,如创建一个可信链,第一个实体必须是可信根,且没有机制测且没有机制测RTM。基本概念基本概念29基本概念基本概念1. 可信测量根(可信测量根(RTM)测)测量实体量实体
25、E2. RTM在在TPM事件日志事件日志中,中, 生成事件结构。生成事件结构。SML包包含含 Event Structures,SM Event Log能存储能存储 在任意存储设备如磁盘上在任意存储设备如磁盘上3. RTM将值扩展到寄存器将值扩展到寄存器中中4. 执行执行/传递传递 控制给实体控制给实体E30先建立一个信任根(先建立一个信任根(CRTM、TPM),再建立一条),再建立一条信任链信任链。从信任根开始到硬件平台、到操作系统、。从信任根开始到硬件平台、到操作系统、再到应用,一级认证一级,一级信任一级。从而把再到应用,一级认证一级,一级信任一级。从而把这种信任扩展到整个计算机系统(传递
26、)。这种信任扩展到整个计算机系统(传递)。理念:完整性保护(理念:完整性保护(圈内受保护、圈外不受保护圈内受保护、圈外不受保护)。)。单凭软件来实现安全是不够的、硬件安全比软件安单凭软件来实现安全是不够的、硬件安全比软件安全更可靠;全更可靠;TPM与与TSS可信软件栈相辅相承。可信软件栈相辅相承。可信根核(可信根核(CRTM)可信计算的基本思想可信计算的基本思想可信测量的根核可信测量的根核CRTM 2022-3-1731/54“信任链信任链”设计的基本思想设计的基本思想隔离隔离“测量测量” 与与“报告报告” 必须信任必须信任“测量测量” 与与“报告报告” :生产厂商有一个:生产厂商有一个静态测
27、量值,系统运行时有一个动态的测量值,进静态测量值,系统运行时有一个动态的测量值,进行比较后,对变化情况进行报告;行比较后,对变化情况进行报告; 设计理念一定要隔离设计理念一定要隔离“测量测量” 与与“报告报告”,还要,还要信任报告。信任报告。报告受报告受TPM保护保护。“惟一的惟一的” 需求是:需求是: 测量测量(散列散列), 报告报告(扩展扩展), 执行(传递)。执行(传递)。抽象起来作三个事:抽象起来作三个事: 密码学密码学测量测量HASH(杂凑)、报告、执行(杂凑)、报告、执行2022-3-1732/54信任链序列信任链序列 1、Load &Measures2、Extend(Hash(A
28、)3、ExecuteLoad &MeasuresExtend(Hash(B)Execute1、对组件、对组件A进行加载和测量进行加载和测量2、然后对、然后对A进行进行HASH的值存储在的值存储在TPM中。中。TPM有两个最有两个最主要的功能:一个提供了关键的保护功能;另一个提供主要的功能:一个提供了关键的保护功能;另一个提供了受屏蔽的存储单元(非易时性存储和易时性存储)。了受屏蔽的存储单元(非易时性存储和易时性存储)。比存储在比存储在PC机和服务器更加可靠,不可能被修改。机和服务器更加可靠,不可能被修改。3、CRTM执行执行/传递给组件传递给组件A;延伸:然后延伸:然后A加载一个组件加载一个组
29、件B,进行测量。重复上述,进行测量。重复上述1-3步骤步骤可信计算平台模块可信计算平台模块TPMTPM是一种专用的安全芯片是一种专用的安全芯片包含了一个公私钥对包含了一个公私钥对Kpub,Kpriv包含了一个用于说明包含了一个用于说明Kpub属于合法属于合法TPM的的证书证书2022-3-17332022-3-1734可信平台模块可信平台模块TPMTPMTPMTPM是一种是一种SOCSOC芯片,它是可芯片,它是可信计算平台的信任根信计算平台的信任根( (可信存储可信存储根和可信报告根根和可信报告根) ),其结构如左,其结构如左图所示。图所示。由由CPUCPU、存储器、存储器、I/OI/O、密码
30、、密码协处理器、随机数产生器和嵌协处理器、随机数产生器和嵌入式操作系统等部件组成。入式操作系统等部件组成。完成可信度量的存储、可信完成可信度量的存储、可信度量的报告、密钥产生、加密度量的报告、密钥产生、加密和签名、数据安全存储等功能。和签名、数据安全存储等功能。2022-3-1735可信平台模块可信平台模块TPMTPM执行引擎:命令校验及解析、执行引擎:命令校验及解析、命令码的执行、控制内部执命令码的执行、控制内部执行流、微控制器。行流、微控制器。易失存储器:密钥槽易失存储器:密钥槽(10(10个个) )、 PCRPCR值值(24(24个个) )非易失存储器:非易失存储器:EK(2048bit
31、)EK(2048bit)、 EKEK证书、证书、SRK(2048bit)SRK(2048bit)及所有者及所有者(Owner)(Owner)授权数据授权数据(160bit)(160bit)等等配置开关:平台属主决定是配置开关:平台属主决定是否使用否使用TPMTPM带有带有TPM的计算系统引导过的计算系统引导过程程2022-3-1736带有带有TPM的计算系统引导过的计算系统引导过程程2022-3-1737TPM证明软件的完整性2022-3-1738/54TCGTCG中的可信中的可信PCPC信任链信任链 (1)信任链以)信任链以BIOS Boot Block和和TPM芯片为芯片为信任根。信任根。
32、(2)经过)经过BIOSOSloaderOS。沿着这个信任链,一级测沿着这个信任链,一级测量认证一级,一级信任一量认证一级,一级信任一级,以确保整个平台的系级,以确保整个平台的系统资源的完整性。统资源的完整性。 采用了一种迭代计算采用了一种迭代计算HASH 值的方式值的方式,即将现值与新值相连即将现值与新值相连,再计再计算算HASH 值并被作为新的完整性度量值存储到平台配置寄存器值并被作为新的完整性度量值存储到平台配置寄存器PCR 中中 2022-3-1739/542022-3-1740/54TSS(TCGsoftwarestack)是可信计算平是可信计算平台上台上TPM的支撑软的支撑软件。件
33、。TSS的作用主的作用主要是为操作系统和要是为操作系统和应用软件提供使用应用软件提供使用TPM的接口。的接口。TSS的结构可分为的结构可分为内核层(内核层(TDDL模模块块 )、系统服务层)、系统服务层(TCS模块模块 )和用)和用户程序层(户程序层(TSP处处理模块)。理模块)。支撑软件支撑软件(TSS)2022-3-1741/54工作的流程如下工作的流程如下:(1) 应用程序将数据和命令发给应用应用程序将数据和命令发给应用API函数函数TSP(2) TSP处理后通过处理后通过TCS再传给再传给TDDL.(3) TDDL处理后传给处理后传给TDD.(4) TDD处理并驱动处理并驱动TPM.(
34、5) TPM给出的响应给出的响应反向经反向经TDD,TDDL,TCS,TSP传给应用传给应用.TSS是与是与TPM进行交互的核心软件进行交互的核心软件TSS的设计规范由的设计规范由TCG颁布颁布2022-3-1742/54 TCG服务提供者服务提供者(TSP) 顶层模块顶层模块 提供标准的提供标准的API接口接口 TSS核心服务核心服务(TCS) 管理服务管理服务 TCG设备驱动程序库设备驱动程序库 提供标准的驱动接口提供标准的驱动接口TSS的构成的构成2022-3-1743/54 TPM的驱动程序由厂商提供,并运行在内核模的驱动程序由厂商提供,并运行在内核模式下;式下; 驱动程序所提供的功能
35、接口仅由驱动程序所提供的功能接口仅由TDDL调用使调用使用,而不允许其他的组件调用;用,而不允许其他的组件调用; 驱动是除了驱动是除了TSS外,是不提供对其他应用程序外,是不提供对其他应用程序的连接的连接TPM服务;服务; 提供除基本驱动以外的额外服务提供除基本驱动以外的额外服务例如,电源管理等;例如,电源管理等; TDD接口设计必须参考接口设计必须参考TIS标准。标准。TPMDeviceDriver(TDD)2022-3-1744/54 TSS用于和用于和TPM通信的组件。通信的组件。 运行于用户空间的第一个运行于用户空间的第一个TSS组件,提供了内核模组件,提供了内核模式到用户模式的转换。
36、处于式到用户模式的转换。处于TCS和和TDD之间,为之间,为TCS提供接口提供接口TDDLi。 TDDLi是一个单线程同步接口,发送到是一个单线程同步接口,发送到TDDLi的的TPM命令都已经被串行化。命令都已经被串行化。 对于直接访问对于直接访问TPM设备的程序,设备的程序,TDDLi提供了提供了7个个功能函数,用于和功能函数,用于和TDD进行通信。进行通信。 Tddli_Open()、Tddli_Close()、Tddli_TransmitData()、 TDDL仅提供对仅提供对TCS的链接的链接TPMDeviceDriverLibrary(TDDL)2022-3-1745/54 TPM的
37、缺陷的缺陷 一次只有一个操作可以进行一次只有一个操作可以进行 处理速度很慢处理速度很慢 有限的资源,包括密钥槽、授权槽等有限的资源,包括密钥槽、授权槽等 只能通过一个驱动程序与其进行串行通信只能通过一个驱动程序与其进行串行通信 本地软件与之通信是有限制的本地软件与之通信是有限制的 TCS的优点的优点 可以对多个可以对多个TPM待处理的操作进行排队待处理的操作进行排队 对于不需要对于不需要TPM处理的操作,处理的操作,TCS可以自行作出响应可以自行作出响应 对对TPM有限资源进行管理,可看作是无限的资源有限资源进行管理,可看作是无限的资源 将输入输出的数据进行相应的转换将输入输出的数据进行相应的
38、转换 可以对资源提供本地的或者远程的调用方式可以对资源提供本地的或者远程的调用方式TCGCoreService(TCS)2022-3-1746/54TCGCoreService(TCS)TCS的特点 TCS是一个后台服务是一个后台服务(daemonorsystemservice) 为为TSP提供标准的接口提供标准的接口 TCG标准中,标准中,TCS是唯一一个可以直接访问是唯一一个可以直接访问TPM的实体的实体 每个每个TPM仅对应一个仅对应一个TCS TCS并不提供加解密功能并不提供加解密功能 对对TPM有限的资源进行管理有限的资源进行管理 密钥、证书管理密钥、证书管理 上下文管理上下文管理
39、TCS负责调度要操作的负责调度要操作的TPM命令命令 每个操作都是原子操作每个操作都是原子操作 允许多线程访问允许多线程访问 TCS对对TPM命令格式进行转换命令格式进行转换“软件TPM”2022-3-1747/54所提供的服务所提供的服务 完整性收集和报告服务完整性收集和报告服务 保护存储服务保护存储服务 加密、解密服务加密、解密服务 证书服务证书服务不仅提供对不仅提供对TPM的访问的访问(经由经由TCS),也包括额外的,也包括额外的功能,比如签名校验、哈希等功能,比如签名校验、哈希等可以访问远程的可以访问远程的TCS,经由,经由RPC或者用标准的或者用标准的SOAP消息消息永久的用户存储,
40、与永久的用户存储,与TCS类似,但是它针对的是每类似,但是它针对的是每个用户,提供了隔离机制个用户,提供了隔离机制提供了标准的提供了标准的C语言接口语言接口(TSPi)及公共的库函数及公共的库函数TCGServiceProvider(TSP)2022-3-1748/54可信计算的研究领域可信计算的研究领域 关键技术关键技术 可信计算的系统结构可信计算的系统结构: 可信计算平台的硬件结构可信计算平台的硬件结构, 可信计算平台的软件结构可信计算平台的软件结构. TPM 的系统结构的系统结构: TPM 的硬件结构的硬件结构, TPM 的物的物理安全理安全, TPM 的嵌入式软件的嵌入式软件. 可信计
41、算中的密码技术可信计算中的密码技术: 公钥密码公钥密码, 对称密码对称密码, HASH 函数函数, 随机数产生随机数产生. 信任链技术信任链技术: 完整的信任链完整的信任链, 信任链的延伸信任链的延伸. 信任的度量信任的度量: 信任的动态测量、存储和报告机制信任的动态测量、存储和报告机制. 可信软件可信软件: 可信操作系统可信操作系统, 可信编译可信编译, 可信数据可信数据库库, 可信应用软件可信应用软件. 可信网络可信网络: 可信网络结构可信网络结构, 可信网络协议可信网络协议, 可信可信网络设备网络设备, 可信网格可信网格. 2022-3-1749/54 可信计算模型可信计算模型: 可信计算的数学模型可信计算的数学模型, 可信可信计算的行为学模型计算的行为学模型. 可信性的度量理论可信性的度量理论: 软件的动态可信性度量软件的动态可信性度量理论与方法理论与方法. 信任链理论信任链理论: 信任的传递理论信任的传递理论, 信任传递过信任传递过程中的损失度量程中的损失度量. 可信软件理论可信软件理论: 可信软件工程方法学可信软件工程方法学, 可信可信程序设计方法学程序设计方法学, 软件行为软件行为理论基础理论基础THE ENDTHE END