可信计算标准导论
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.3 TCM核心体系和规范

可信计算TCM技术标准体系框架是一个统一的整体,通过一定的分类,构建出一系列可信计算应用技术规范和标准。

总体来说,TCM技术标准体系主要可分为三层:可信计算基础设施支撑层、可信计算平台层、可信计算测评层,如图2-3所示。

可信计算基础设施支撑层标准包括:证书格式规范、完整性管理框架规范、证书服务架构规范等。

可信计算平台层标准包括如下4部分。

1)基础模块标准包括:TCM技术规范和TSM技术规范。

2)计算平台标准包括:可信计算密码支撑平台功能原理与接口规范、安全主板及BIOS规范、PC平台TCM接口规范。

3)中间件标准包括:可信网络接入架构规范、通用密码应用结构规范。

4)应用指南包括:PC平台应用轮廓、电子支付应用轮廓、电子政务应用轮廓等。

可信计算测评层标准包括:TCM符合性测试规范、可信计算密码支撑平台检测规范、可信计算机检测规范、可信密码模块保护轮廓、可信计算平台保护轮廓等。

图2-3 TCM标准体系

2.3.1 TCM核心标准

TCM核心标准是指《可信计算密码支撑平台技术规范》,是面向可信计算密码支撑平台核心部件开发的技术规范簇,如图2-4所示,主要包括以下文件。

1)《总体:可信密码支撑平台功能原理》,定义了可信计算密码支撑平台的功能架构与实现原理。

2)《TCM规范》,定义了TCM功能命令与实现模式。

3)《TSM规范》,定义了TCM服务模块的功能函数及接口。

4)《PC平台TCM接口规范》定义了针对PC平台的TCM特定硬、软件资源要求。

5)《TCM数据结构》《TSM数据结构》《数字证书规范》3个支撑性规范。

基于以上规范簇,还提炼出《信息安全技术 可信计算密码支撑平台功能与接口规范》,面向全社会公布。这主要源于我国的密码技术管理政策,核心规范簇所包含的密码算法及技术当时还处于未公开状态,所以核心标准也不能对外公布,只有有密码研制资质的厂商和机构才能由特定途径获取,这不利于TCM产业推广,于是从规范簇中选择了一些可公开的部分,制定标准,供应用开发厂商参考指导。

图2-4 TCM核心标准

下面概要描述各规范的主要技术思路及内容。

1. 总体《可信计算密码支撑平台功能原理》

TCM标准体系的总体部分即可信计算密码支撑平台功能原理,主要介绍了平台的体系结构、密码算法要求和功能原理。

(1)平台的体系结构

首先,阐述平台功能与密码的关系。

1)平台完整性:利用密码机制,通过对系统平台组件的完整性度量,确保系统平台完整性,并向外部实体可信地报告平台完整性。

2)平台身份可信:利用密码机制,标识系统平台身份,实现系统平台身份管理功能,并向外部实体提供系统平台身份证明。

3)平台数据安全保护:利用密码机制,保护系统平台敏感数据。其中,数据安全保护包括平台自身敏感数据的保护和用户敏感数据的保护。另外,也可为用户数据保护提供服务接口。

其次,介绍了平台的组成结构,可信计算密码支撑平台主要由可信密码模块(TCM)和TCM服务模块(TSM)两大部分组成,可信计算密码支撑平台以可信密码模块为可信根,通过如下三类机制及平台自身安全管理功能,实现平台安全功能。

1)以可信度量根为起点,计算系统平台完整性度量值,建立计算机系统平台信任链,确保系统平台可信。

2)可信报告根标识平台身份的可信性,具有唯一性,以可信报告根为基础,实现平台身份证明和完整性报告。

3)基于可信存储根,实现密钥管理、平台数据安全保护功能,提供相应的密码服务。

最后,介绍了可信密码模块的组成内容和功能。可信密码模块是可信计算密码支撑平台必备的关键基础部件,提供了独立的密码算法支撑,是硬件和固件的集合,可采用独立封装形式,也可采用IP核方式和其他类型芯片集成。

其中定义了TCM服务模块,TSM主要提供对TCM基础资源的支持,由多个部分组成,每个部分间的接口定义应具有互操作性。

总体部分还讲述了密码算法要求,涉及的算法主要有SM2椭圆曲线密码算法、SM4对称密码算法、SM3密码杂凑算法、HMAC消息认证码算法、随机数发生器。

功能原理主要阐述平台完整性、平台身份可信和平台数据安全保护三个方面的内涵。

第3章将详细描述《可信计算密码支撑平台功能原理》的内容。

2. TCM技术规范

TCM是构建可信计算密码支撑平台的核心基础部件,需要建立独立的、安全的以密码算法功能为核心的运算环境,并以特定的LPC I/O接口与主机平台进行连接,为主机平台建立可信计算功能提供支撑。

TCM的产品形态为SoC芯片(Systems on Chip),由硬件和固件组成。

在TCM硬件结构中,有5个密码算法引擎:椭圆曲线公钥算法SM2、杂凑算法SM3、对称分组算法SM4、消息认证算法HMAC、随机数发生器,是TCM的关键模块,必须采用国家密码管理局提供的算法,TCM规范中详细描述了密码算法的实现要求。

TCM的功能体系是通过其固件来实现的,该规范主体内容详细描述TCM功能及实现命令,分为以下4部分。

1)定义TCM自身运行管理功能及命令,是本规范的基础内容;后面3部分是依据可信计算密码支撑平台的3个功能维度要求,定义TCM需要建立的功能命令与接口。

2)定义实现平台身份标识和认证的功能命令与函数接口。

3)定义实现平台数据保护的功能命令与函数接口。

4)定义实现平台完整性度量和报告的功能命令与函数接口。

3. TSM规范

TSM规范是将TCM中无须执行保护的功能命令分开,将无须执行保护的功能函数由计算平台主处理器执行,这样可以解决TCM的性能瓶颈问题。

可信密码服务模块规范主要用于统一基于可信计算的各种安全应用及基础设施中信任的建立过程、接口及通信的消息格式,以实现基于可信计算应用体系下信任服务和密码学服务的兼容与统一。

TSM规范给出了软件架构,包括TCM应用服务、TCM核心服务和TCM设备驱动库(TDDL)3个组成部分。

1)TCM服务提供者(TCM Service Provider,TSP):向应用程序提供TCM的服务,提供高层的TCM函数,使应用程序只关注它本身的特性,依靠TSP执行TCM提供的可信函数。

2)TCM核心服务(TCM Core Services,TCS):位于TSM服务提供者(TSP)层和TCM设备驱动库(TDDL)层之间,以系统服务的形式存在,为TSP等上层应用提供TCM使用和密钥管理等功能接口。

3)TCM设备驱动库(TDDL):位于TCM核心服务(TCS)层和TCM设备驱动(TDD)层之间,主要目的是在TDD之上提供一个标准的接口,屏蔽各设备I/O控制信息的差异,完成指令和状态信息在用户模式和内核模式间的传递。

4. 安全PC技术规范

安全PC技术规范是在TCM规范、可信软件服务规范等产品规范之上构建的安全PC产品的技术规范,是整个可信计算产品标准体系中的重要环节之一。

安全PC技术规范概述了安全PC平台的体系结构,明确了TCM芯片在PC上的功能使用规范,描述了PC平台上的信任链构建过程,定义了TCM的BIOS驱动功能与接口规范。本规范用于指导基于自主TCM芯片的安全PC产品的设计、研制以及检测。

规范的主要内容如下。

(1)PC体系结构

设计可信计算PC平台的通用架构,描述平台中各个硬件组件的相互关系,特别是TCM, CRTM、BIOS、主板等之间的硬件集成关系。由TCM和CRTM共同组成了平台的可信构建块,它们作为整个平台启动前初始构建的信任环境,必须严格地受到安全保护。

(2)TCM在安全PC上的使用规范

定义TCM在安全PC上Locality的使用设置,“Locality”是指允许平台上不同的可信进程与TCM通信,并且TCM可以分辨是哪个可信进程发出的指令,Locality可以通过指定LPC地址范围识别;描述TCM芯片内部的PCR寄存器的使用规范,定义每个PCR的用途和属性。

(3)TCM BIOS驱动功能和接口

安全PC厂商除了提供正常的操作系统驱动外,在安全PC启动过程中还必须提供TCM BIOS驱动用于信任链构建。TCM的BIOS驱动分为两类:一类Post-BIOS环境下的内存可用(MP)驱动,另一类是内存缺失(MA)驱动,运行在无内存和无堆栈的环境下。

5. 可信计算密码支撑平台功能与接口规范

可信计算密码支撑平台功能与接口规范着重描述了可信计算密码支撑平台功能原理与要求,并详细定义了可信计算密码支撑平台的密码算法、密钥管理、证书管理、密码协议、密码服务等应用接口规范,主要用于可信计算密码支撑平台相关产品的研制、生产、测评与应用开发。

《可信计算密码支撑平台功能接口》重点提供可信计算密码支撑平台功能接口,包括上下文管理、策略管理、可信密码模块管理、密码管理、数据加密与解密、PCR管理、非易失性存储管理、杂凑操作、密钥协商等九大类接口的定义。

1)上下文管理类包含关于TSM对象的执行环境的信息,如对象的标识和与其他TSM软件模块的交互、通信,以及内存管理。

2)策略管理类用于为不同用户应用程序配置相应的安全策略与行为,应用程序通过策略管理为授权机制提供专门的授权秘密信息的处理操作。

3)可信密码模块管理表示TCM的所有者。TCM的所有者可以看作PC环境中的系统管理员。因此,每个上下文仅有一个TCM管理类的实例。这个对象自动与一个策略对象相关联,用于处理TCM所有者的授权数据。此外,它还提供一些基本控制和报告的功能。

4)密钥管理用于表示TSM密钥管理功能的入口。每个密钥对象的实例代表TSM密钥树中一个具体的密钥结点。每个需授权的密钥对象,需要分配一个策略对象,用于管理授权秘密信息。

5)数据加密与解密类用于表示将外部(如用户、应用程序)产生的数据与系统关联起来(与平台或PCR绑定),或者用于为外部提供数据加密/解密服务,进行授权处理时,可以给该类分配一个策略对象。

6)CR管理类可用于建立系统平台的信任级别。该类提供了对PCR进行选择、读、写等操作的简便方法,所有需要PCR信息的函数,在其参数表中都使用了这个类的对象句柄。

7)非易失性存储管理类用于在TCM的非易失性存储区域存储属性信息,用于非易失性区域的定义、读、写和释放。该类用于建立非易失性存储区的大小、索引、各种读写授权,其中授权可以基于PCR值或者授权数据。

8)杂凑操作类为数字签名操作提供了一种密码学安全的方法。

9)密钥协商类用于执行密钥交换协议操作。

2.3.2 TCM测评规范

可信计算产品已经大规模走向应用,为确保可信计算平台的安全及可信密码模块对可信计算平台的安全支持,需要测试可信计算产品是否符合可信计算的规范要求,从而产生了可信计算测评平台标准簇。

以可信计算密码支撑平台技术规范体系中的《TCM规范》、《TSM规范》、《PC平台TCM接口规范》为基础,制定出《TCM符合性测试标准》、《可信计算密码支撑平台检测规范》和《可信计算机检测规范》,同时还制定了《可信密码模块保护轮廓》、《可信计算平台保护轮廓》等,如图2-5所示。

图2-5 可信计算检测规范

这些规范为检测TCM、可信计算密码支撑平台、可信计算机的技术功能和安全性是否符合要求,为测评机构提供了测试标准,也为可信计算产品厂商提供了测试标准,具有指导性的意义。

1. TCM符合性测试规范

TCM符合性测试规范是可信计算平台测评系统研究的基础,其主要作用是为可信计算产品的检测提供依据。

TCM符合性测试规范主要用于检测TCM/TSM的规范符合性。这种检测有别于产品安全评估和对规范自身的检验。

《可信密码符合性测试规范》用于评估TCM符合性,适用的主要人员是TCM厂商和产品评估者。该测试规范通过分析国内外可信计算的发展现状、信息安全测评技术的发展现状,以及对TCM符合性测试相关工作的经验总结,最后研究讨论出了针对TCM符合性测试的测试流程和测试方法,其中重点说明了适用于TCM密码算法的检测方法。

可信密码模块符合性测试部分主要包括测试流程和测试方法两部分。TCM符合性测试流程如下。

(1)明确命令依赖关系

TCM的很多命令并不是孤立存在的,其命令之间存在着依赖关系。这些依赖关系包括授权关系上的依赖以及数据流关系上的依赖,只有明确了命令的依赖关系,才能正确地对命令进行符合性检测。

(2)定义命令的测试向量

测试向量的目的就是确保命令参数的格式正确,确保其结构解释正确,操作的执行与规范一致。在TCM产品中,TCM不需要支持使用测试向量,但是这些测试向量在TCM自检时是推荐使用的。测试向量要求命令之间的交互最小化。使用授权会话的命令需要的是成功AP会话的输出,这将是其测试向量执行的默认前置条件。

(3)生成测试脚本

对于需要厂商特殊决定的命令,或者需要一组命令序列的命令,需要根据相应的测试向量生成测试脚本来对命令进行符合性测试。这些测试脚本可以由厂商提供,也可以由评估者根据厂商的信息资料开发。TCM要提供动态执行这些脚本的能力。

(4)建立测试用例

根据命令的测试向量或者测试脚本建立测试用例,通过执行测试用例来实施命令的符合性测试。

(5)形成TCM检测工具

通过调用不同的测试用例来控制对不同命令的符合性测试,从而完成对TCM的符合性检测。

2. 《TCM保护轮廓规范》

《TCM保护轮廓规范》简要分析了国内TCM评估的现状并提出了TCM评估框架与流程,重点说明了保护轮廓在评估中的作用及其应该包含的内容,给出了可信密码模块保护轮廓的主要内容。

可信密码模块保护轮廓规范用于为TCM产品提供符合CC标准的安全属性描述,为TCM产品评估提供符合性标准服务;有利于各TCM芯片厂商明确TCM产品的安全环境,提高产品的安全性及标准符合度;有利于CC评估的进行,提高TCM产品评估的效率。

可信密码模块保护轮廓标准研究根据CC标准对于保护轮廓文档内容的要求,并基于《信息技术安全 可信计算密码支撑平台功能与接口规范》中TCM相关功能描述,通过对TCM产品的具体分析和研究,从而编制符合CC标准以及TCM产品特点的保护轮廓标准。标准的具体内容包括以下方面。

(1)TCM安全环境研究

其主要对TCM典型应用环境和期望使用方式中存在的安全问题进行研究,通过TCM产品以及相关标准的调研和分析,给出TCM安全环境描述。

(2)TCM安全目的研究

针对TCM安全环境中定义的威胁以及组织安全策略,研究满足安全要求的TCM产品需要达到的安全目的。其研究内容主要包括TCM自身的安全目的和环境安全目的两类研究。TCM自身的安全目的对应着其可以对抗的已知威胁或者可满足的组织安全策略。环境安全目的则对应着TCM无法完全对抗的威胁或者无法完全满足的组织安全策略及假设。标准将针对TCM安全环境给出TCM安全目的陈述,以明确TCM产品需要达到的目的。

(3)TCM安全要求研究

TCM安全要求的研究主要包括功能和保证安全要求两部分。TCM的安全功能要求是从CC标准的第二部分中提取出来的,而安全保证要求则是选择CC标准第三部分的一个评估保证级(Evaluation Assurance Level,EAL)来表达,如EAL3。

标准将对已有的TCM安全目标进行分析,从CC中抽取相应的安全要求组件来描述TCM应该具有的安全功能以及完整的为评估准备的证据。

3. 可信计算平台测评标准

可信计算平台测评标准规定了可信计算密码支撑平台测评要求和管理要求。

本标准主要适用于可信计算密码支撑平台类信息安全产品的密码测评。

可信计算密码支撑平台测试对可信计算密码支撑平台体系架构和可信计算密码支撑平台密码功能均有要求。本标准所称的可信计算密码支撑平台产品,指为可信计算平台自身的完整性、身份可信性和数据安全性提供密码支持的功能系统,主要包括可信密码模块和可信服务模块等。

可信计算密码支撑平台体系架构的平台硬件要求如下。

1)主板应嵌入可信密码模块。

2)可信密码模块应为硬件形式。

3)可信密码模块与平台主板应建立一对一绑定关系。

平台软件要求如下。

1)必须具备平台操作系统相应的驱动。

2)提供分层管理,其支撑管理软件应符合《TSM规范》的软件架构要求。

3)向应用程序提供服务接口。

可信计算密码支撑平台密码功能的测试内容主要包括密码算法、密码的使用、密钥管理。可信计算密码支撑平台必须采用国家密码管理局指定的椭圆曲线密码算法、杂凑算法和对称密码算法。同时,可信计算密码支撑平台产品的所有密码算法实现都必须符合相应算法标准文本中所提供的测试实例。密钥管理要求包括密码模块密钥、存储主密钥、平台身份密钥、平台加密密钥和用户密钥这几种密钥的生成、存储、访问控制、使用、备份和迁移以及销毁,对于不同密钥,其测评要求不同,测评方法也不相同。密码的使用包括授权协议、数据加密、数据封装、密钥迁移、传输保护协议和密钥协商几方面的测评要求和测评方法。

可信计算密码支撑平台产品密码的测评由国家密码管理局授权的境内商用密码测评机构执行。可信计算密码支撑平台产品密码的测评管理分为两个阶段:测评准备阶段、测评实施阶段。在测评准备阶段,由送测单位向测评机构提出书面申请、提交可信计算密码支撑平台产品和全套文档资料,测评机构经过资质和形式审查,确认符合测评条件后,方可正式受理测评申请,并通知送测单位。在测评实施阶段,测评机构按照测评流程对可信计算密码支撑平台产品进行测试,并形成测评报告。测评机构或主管部门在确认可信计算密码支撑平台产品密码通过测评后,应向送测单位颁发相关证书。

2.3.3 应用规范

应用规范主要介绍可信计算密码应用规范、可信计算平台直接匿名证明标准和可信网络连接架构规范。

1. 可信计算平台密码应用接口规范

目前,大多数安全应用所采用的密码服务调用接口类型主流是CSP、CNG和PKCS#11,大多数应用开发者熟悉和习惯CSP、CNG和PKCS#11接口调用模式,并且已建立成熟的产品开发支持体系。当传统安全应用的开发者转向基于TCM密码服务功能而进行应用开发时,需要重新学习TCM密码服务调用接口体系(TSPI),另外,更为甚者,传统安全应用要移植到TCM上,必须全部重新开发,给应用厂商带来资源消耗,这为TCM应用推广带来很大阻力。

为消除这种TCM推广阻力,可信计算平台密码应用接口规范专门在《信息安全技术 可信计算密码支撑平台功能与接口规范》的基础上,重新设计了TCM的密码服务调用接口,即在TSPI基础上重新封装接口,使TCM提供CSP、CNG和PKCS#11类型调用接口,这样为安全应用厂商快速移植到TCM应用开发上创建了极好的条件。

本规范的技术架构如图2-6所示,以TCM/TSM提供的服务调用接口为基础,分别按CSP、CNG和PKCS#11接口类型和调用模式,创建三类接口—CryptoAPI、CNGAPI和PKCS11-API,并详细描述其接口函数要求和功能要求。本规范要求基于TCM的CSP、CNG和PKCS#11接口必须通过调用TSPI接口来实现,要求密钥的创建、加/解密、签名必须通过TCM来实现。

图2-6 可信计算平台密码应用接口技术架构

本规范中CSP接口主要描述了在基于TCM的可信计算平台中如何构建CSP模块,以支持应用程序开发人员能够通过调用CryptoAPI标准接口来使用TCM提供的密码服务。本部分先对CSP的TCM CSP接口和CSP命名及类型进行了说明,再分别对CSP连接接口、CSP密钥生成与交换接口、CSP数据加解密接口和CSP哈希与数字签名接口等做了详细的分析。其中CSP连接接口又分别对获取CSP上下文、释放CSP上下文、获取CSP提供者的信息和设置CSP提供者信息等函数做了详细的介绍。CSP密钥生成与交换接口又分别对派生密钥、生成密钥、获取用户密钥、销毁密钥、导出密钥、导入密钥、获取密钥参数、设置密钥参数、生成随机数等函数做了详细的介绍。CSP数据加解密分别对数据解密和数据加密函数做了详细的介绍。CSP哈希与数字签名接口又分别从创建哈希对象、销毁哈希对象、获取哈希对象属性、设置哈希对象属性、添加哈希数据到哈希对象中,会话密钥的哈希计算、对哈希对象进行签名、验证哈希对象签名等函数做了详细的介绍。

规范中还详细描述了基于TCM的CNG接口,涵盖了CNG与TCM之间接口关系以及接口实现逻辑。此部分主要在加密算法接口和密钥存储库接口两方面做了详细叙述。其中,加密算法接口对打开密码算法库、获取算法属性、设置算法属性、关闭密码算法库、生成对称密钥、创建一个非对称密钥对象、生成非对称密钥、使用密钥加密数据、使用密钥解密数据、使用私钥对数据签名、使用公钥验证签名、导入密钥数据、导出密钥数据、复制密钥、销毁密钥、生成随机数、使用哈希算法计算数据哈希值、完成哈希计算获得哈希结果和复制一个SM3算法对象等函数做了详细的介绍。密钥存储库接口又对打开密钥存储库、打开密钥存储库中的一个密钥、创建密钥存储库中一个永久性存储密钥、获取密钥存储库或密钥的属性、设置密钥存储库或密钥的属性、完成一个密钥的创建、删除一个密钥、释放密钥存储库中的对象、使用密钥存储库中的密钥加密数据、使用密钥存储库中的密钥解密数据、判断密钥存储库是否支持某种算法、枚举密钥存储库支持的算法名称、枚举密钥存储库中的密钥名称、导入一个密钥、导出一个密钥、对一个杂凑值对象进行签名、验证一个签名、创建或删除一个密钥变化声明、创建由密钥公钥和私钥的密码数据和根据密码数据获取一个密钥等函数做了详细的介绍。

规范中以《信息技术安全 可信计算密码支撑平台功能与接口规范》和《PKCS #11:Cryptographic Token Interface Standard》为基础,详细描述了PKCS#11接口功能及基于TCM接口的实现方法。实现中需严格遵守PKCS系列标准相关定义,内部加解密、签名与验证、哈希算法的实现应依赖于TCM模块。

PKCS#11接口详细描述了PKCS#11接口功能及基于TCM接口的实现方法。其主要内容包括通用类函数接口、槽和令牌管理类函数接口、会话管理类函数接口、对象管理类函数接口、加密函数接口、解密函数接口、摘要函数接口、签名和MACing函数接口、签名验证和MACs函数接口、密钥管理函数接口和随机数生成函数接口等接口。

扩展服务接口包括TCM实现的身份认证接口和完整性度量功能接口。开发者可以直接调用这些标准接口,利用TCM底层服务,完成用户身份相关功能以及数据完整性度量相关功能。

2. 可信计算平台直接匿名证明标准

可信计算平台直接匿名证明标准规定了可信计算密码支撑平台框架体系下可信计算平台的直接匿名证明功能、接口和数据结构。其主要作用是为安全芯片、可信软件栈和匿名证明服务等直接匿名证明相关产品的设计、开发和检测提供标准依据和指导,进而提高可信计算产业发展水平。

TCM直接匿名证明规范用于TCM安全芯片的匿名身份证明,结合TCM芯片内部的椭圆曲线密码算法,采用双线性映射实现TCM数字身份的匿名证明。TCM直接匿名证明规范明确了匿名证明体系结构和安全功能,定义了直接匿名证明的接口及其相关数据结构,主要用于指导TCM安全芯片功能和规格设计、匿名证明软件接口定义和实现、可信计算匿名证明应用系统研发。

基于椭圆曲线的直接匿名证明(ECDAA)系统主要由证书颁发方(Issuer)、证明平台(Prover)和验证平台(Verifier)三方面的参与者构成,其中证明平台根据ECDAA计算位置不同而分为主机和TCM安全芯片,两者协同计算共同完成了TCM芯片的匿名证书申请和匿名证明过程。

TCM安全芯片必须提供TCM_ECDAA_Join和TCM_ECDAA_Sign两个匿名证明命令支持,前者用于ECDAA证明的证书颁发过程(ECDAA_Join),后者用于匿名证明过程(ECDAA_Sign)。由于这两个命令的运行将消耗TCM内部的多数资源,因而厂商可以选择在它们执行期间禁用其他命令。

不同于普通的TCM命令,在同一次证书颁发会话中的TCM_ECDAA_Join或同一次证明-验证会话中的TCM_ECDAA_Sign将分为多个阶段执行。每个阶段完成一个原子操作,各原子操作合作才能构成完整的直接匿名证明功能。由于每个原子操作只进行少量的运算和存储,多阶段方式一方面可以最大限度地降低TCM的资源需求,另一方面可以缩短匿名证明过程独占TCM的时间,减小对于用户使用TCM的影响。鉴于原子操作之间中断有可能使得TCM内部储存的公共参数发生变化,所以必须在各执行阶段中检查公共参数的一致性。

TCM芯片匿名证明实现上可以选择支持多个并行的匿名证明会话。如果只支持一个匿名证明会话,则新调用TCM_ECDAA_Join命令将清除TCM内部原有的匿名证明数据结构。TCM必须验证公共参数的合法性。公共参数必须由合法的Issuer签名,否则对手可能选择特殊的公共参数来与TCM执行DAA协议,进而获取TCM的秘密值f。TCM应保证足够的拥有空间存储公共参数值,各参数的具体值由用户在匿名证明会话开始时输入。密码系统所基于的椭圆曲线应固定内置于TCM内部。

3. 可信网络连接架构规范

可信网络连接架构规范规定了可信连接架构层次、实体、部件、接口、实现流程、隔离修补服务、完整性管理和安全策略管理,解决终端连接到网络过程中终端与网络之间的双向的用户身份鉴别、平台身份鉴别和平台完整性评估问题。本规范适用于具有可信平台控制模块的终端与网络的可信网络连接。

可信连接架构(TCA)规定具有可信平台控制模块(TPCM)的终端与网络之间的可信网络连接(TNC)。

在图2-7所示的TCA中,存在3个实体:访问请求者(AR)、访问控制器(AC)和策略管理器(PM)。其从上至下分为3个抽象层:完整性度量层、可信平台评估层和网络访问控制层。在每个实体中,矩形方框表示实体中的部件。部件之间存在相应的接口,用带名称的双向虚线箭头表示。

AR中的部件为网络访问请求者(NAR)、TNC客户端(TNCC)和完整性度量收集者(IMC),其中TNCC和IMC之间的接口为完整性度量收集接口(IF-IMC)。AC中的部件为网络访问控制者(NAC)、TNC接入点(TNCAP)和IMC,其中TNCAP和IMC之间的接口为IF-IMC。PM中的部件为鉴别策略服务者(APS)、评估策略服务者(EPS)和完整性度量校验者(IMV),其中EPS和IMV之间的接口为完整性度量校验接口(IF-IMV)。

图2-7 可信连接架构

网络访问控制层包含的部件为NAR、NAC和APS,其中NAR和NAC之间的接口为可信网络传输接口(IF-TNT),NAC和APS之间的接口为鉴别策略服务接口(IF-APS)。可信平台评估层包含的部件为TNCC、TNCAP和EPS,其中TNCC和TNCAP之间的接口为TNCC-TNCAP接口(IF-TNCCAP),TNCAP和EPS之间的接口为鉴别策略服务接口(IF-EPS)。完整性度量层包含的部件为IMC和IMV,其中IMC和IMV之间的接口为完整性度量接口(IF-IM)。

AR和AC都具有TPCM,AR请求接入受保护网络,AC控制AR对受保护网络的访问。PM对AR和AC进行集中管理。AR、AC基于PM来实现AR和AC之间的双向用户身份鉴别和平台鉴别,其中平台鉴别包括平台身份鉴别和平台完整性评估,PM在用户身份鉴别和平台鉴别过程中充当可信第三方。

在网络访问控制层,NAR、NAC和APS采用三元鉴别可扩展协议(TAEP)来实现TCA的网络传输。NAR、NAC和APS首先执行外TAEP鉴别方法来实现AR和AC之间的双向用户身份鉴别,然后执行隧道TAEP鉴别方法来实现AR和AC之间的双向平台鉴别,其中隧道TAEP鉴别方法包括隧道方法和内TAEP鉴别方法两个阶段。NAR和NAC采用基于三元对等鉴别的访问控制方法(TePA-AC)来实现TCA的访问控制,其中TCA的TePA-AC实现方式包括:全端口控制实现方式和部分端口控制方式。

在可信平台评估层,TNCC、TNCAP和EPS首先执行一次平台鉴别过程(可以包含一轮或多轮平台鉴别协议)来实现AR和AC之间的双向平台鉴别(包括平台身份鉴别和平台完整性评估),其中EPS在平台鉴别协议中充当可信第三方,它负责验证AR和AC的PIK证书以及通过IF-IMV调用它上端的各个IMV评估AR和AC的平台完整性。本次平台鉴别过程完成后,TNCC和TNCAP依据对对方平台的PIK证书验证结果和平台完整性评估结果生成访问决策,然后分别发送给NAR和NAC。若AR或AC需要进行平台修补,则AR或AC在完成平台修补后执行下一次平台鉴别过程,直至AR和AC都不需要进行平台修补为止。

完整性度量层存在两种组件:IMC和IMV。AR中的各个IMC负责收集AR的平台完整性信息,AC中的各个IMC负责收集AC的平台完整性信息,而PM中的各个IMV负责评估AR和AC的平台完整性信息。