一种具有控制功能的可信平台的制作方法

文档序号:6445312阅读:137来源:国知局
专利名称:一种具有控制功能的可信平台的制作方法
技术领域
本实用新型涉及信息安全领域,尤其涉及一种可信平台。
背景技术
随着对可信计算技术研究的不断深入,可信计算规范对可信芯片的功能要求也在不断的增加。从最早的TCG1. 1版本到目前的1. 2版本,从计算机终端的应用,到服务器、嵌入式设备、虚拟机、网络等方面,可以说对可信芯片(TCG定义的可信芯片称为,可信平台模块。)的功能要求在不断的提高,设计复杂度在不断的增加,进而也造成了可信芯片的硬件规模和内部固件规模的不断增大。在计算机终端领域,现有可信计算规范未对主板平台上的硬件设备进行可信度定义和详细的功能要求。并认为可信终端出厂时,主板上的硬件设备就是默认为可信的。同时,只要在使用过程中,可信平台上的硬件设备没有被人为替换,能正常通过对设备只读寄存器信息的度量,则该认为该硬件设备是可信的。在芯片设计领域,随着芯片设计与制造工艺的不断提高,集成电路规模也相应的越来越高,之前很多必须由多个板卡组合实现的功能,现在完全可以由单颗芯片实现。随着集成度的不断提高,硬件层次(芯片)上的安全隐患也接踵而至。逻辑炸弹、嗅探器等安全威胁,在硬件设备中的存在也变得越来越容易。到目前为止,TCG还没有给出与芯片可信度评判相关的规范。保证可信平台的可信性,为此我们需要定义可信硬件设备模型,为可信计算提供底层硬件支持。可信平台控制模块是一种具有密码运算功能的安全芯片,主要提供完整性度量功能、完整性报告功能、可信存储、加解密操作、数字签名操作等。参考相关专利《一种可信平台模块及其主动度量方法》(专利号ZL200810115^0. 5)硬件设备包括可信硬件设备和非可信硬件设备。经过可信平台认证后身份合法的硬件设备即是可信硬件设备,否则是非可信硬件设备。可信硬件设备是一种硬件电路上包括可信芯片的硬件设备,其特点包括对自身电路工作状态检查、对自身固件代码进行完整性检查、与可信计算机进行可信的双向认证等。参考相关发明专利《一种可信硬件设备及其使用方法》(申请号:201010237511. 7)

实用新型内容本实用新型目的在于提供一种可信平台。可信平台的可信平台控制模块是一种安装在可信平台上的工作在主动模式下,且具有主动度量功能、主动控制功能的可信芯片。一种具有主动控制功能的可信平台,包括CPU、显卡、内存、BOOT ROM、可信平台控制模块、硬件设备和外围设备控制器,其特征在于可信平台控制模块除包括执行引擎、通信总线、非易失性存储单元、易失性存储单元、计数器和输入输出总线接口之外,还包括控制裁决引擎、控制策略配置信息定制引擎、工作模式配置信息定制引擎、状态切换控制引擎、主动检查引擎和可信密码模块;[0010]可信密码模块除包括对称密码算法引擎、非对称密码算法引擎、随机数发生器、 度量算法引擎、执行部件、非易失性存储单元、易失性存储单元、可信接口单元和通信总线之外,还包括输入输出隔离单元;硬件设备除包括非可信硬件设备之外,还包括可信硬件设备;可信硬件设备包括基本硬件电路、总线控制器、平台总线接口、外围总线接口、固件存储单元、策略存储单元、配置存储单元和可信模块,并且通过了可信平台控制模块对所述硬件设备的认证;总线控制器通过通信总线与基本硬件电路、平台总线接口、外围设备接口、固件存储单元、策略存储单元、配置存储单元和可信模块相互连接;外围设备控制器的控制信号输入端口连接到可信平台的处理器和可信平台控制模块;外围设备控制器的输入输出总线端口连接到可信平台的可信平台控制模块和硬件设备;在可信平台控制模块内部,通过通信总线将控制裁决引擎、执行引擎、非易失性存储单元、易失性存储单元、计数器、输入输出总线接口、控制策略配置信息定制引擎、工作模式配置信息定制引擎、状态切换控制引擎、主动检查引擎、可信密码模块,相互连接在一起;该可信平台还包括输入输出隔离单元;输入输出隔离单元包括两个端口,其中一个端口通过通信总线连接对称密码算法引擎、非对称密码算法引擎、随机数发生器、度量算法引擎、执行部件、非易失性存储单元和易失性存储单元,另一个端口连接可信平台控制模块的通信总线。为达到上述目的,本实用新型的技术方案具体是这样实现的一、一种可信平台包括CPU、显卡、内存、硬件设备、BOOT ROM、可信平台控制模块和外围设备控制器,其特征在于包括1. 1可信平台控制模块除包括执行引擎、通信总线、非易失性存储单元、易失性存储单元、计数器和输入输出总线接口之外,还包括控制裁决引擎、控制策略配置信息定制引擎、工作模式配置信息定制引擎、状态切换控制引擎、主动检查引擎和可信密码模块。A、控制裁决引擎用于可信平台控制模块对可信平台访问者提出使用可信硬件设备的请求进行判断。主要判断项目包括访问者的身份合法性和访问者对硬件设备的使用权限,并裁定访问者提出的访问请求是否可以执行。B、控制策略配置信息定制引擎用于可信平台和可信平台访问者对访问者有权控制和使用的可信硬件设备,进行控制策略的定制。C、工作模式配置信息定制引擎用于可信平台和可信平台访问者对访问者有权控制和使用的可信硬件设备,进行工作模式的定制。D、状态切换控制引擎当可信平台或者可信平台访问者向可信硬件设备下发了工作模式配置信息和控制策略后,可信平台或者可信平台访问者通过状态切换控制引擎向可信硬件设备发生状态切换信号。E、主动检查引擎用于可信平台控制模块定时地或者随机地对硬件设备、CPU、显卡、内存、BOOT ROM和外围设备控制进行检查。1. 2可信密码模块除包括对称密码算法引擎、非对称密码算法引擎、随机数发生器、度量算法引擎、执行部件、非易失性存储单元、易失性存储单元、可信接口单元和通信总线之外,还包括输入输出隔离单元。输入输出隔离单元包括两个端口,其中一个端口通过通信总线连接对称密码算法引擎、非对称密码算法引擎、随机数发生器、度量算法引擎、执行部件、非易失性存储单元和易失性存储单元,另一个端口连接可信平台控制模块的通信总线。现有的可信密码模块中包含可信接口单元,不包含输入输出各类单元。可信接口单元用于可信密码模块与现有可信平台进行通讯,使用的是LPC通讯传输协议。而本实用新型将可信密码模块嵌入到可信平台控制模块中,为了提高可信密码模块与可信平台控制模块中各个模块之间的通讯速度,又因为LPC通讯协议传输速度较慢,因此将可信接口单元去掉。但考虑到防止来自可信平台控制模块之外的非法读写操作,需要对可信密码模块进行保护。因此需要在可信密码模块与可信平台控制模块的通讯总线之间添加一个数据过滤单元,即输入输出隔离单元,用于防止来自可信平台控制模块外部对可信密码模块的读写操作。现有的可信密码模块作为一个密码芯片,通过可信接口单元连接到可信平台上。 用户通过可信接口单元访问可信密码模块。本实用新型中将可信密码模块作为可信平台控制模块的一部分使用,因此需要对可信密码模块进行改造,改造内容包括取消可信接口单元,增加输入输出隔离单元。可信密码模块通过输入输出隔离单元连接到可信平台控制模块内部的通信总线,用于隔离非法用户对可信平台控制模块发起的窃取密钥的访问操作。1. 3硬件设备除包括非可信硬件设备之外,还包括可信硬件设备。可信硬件设备包括基本硬件电路、总线控制器、平台总线接口、外围总线接口、固件存储单元、策略存储单元、配置存储单元和可信模块。总线控制器通过通信总线与基本硬件电路、平台总线接口、外围设备接口、固件存储单元、策略存储单元、配置存储单元和可信模块相互连接。非可信硬件设备是指不包含可信模块,或者是没有通过可信平台的可信平台控制模块认证的硬件设备;现有可信平台上的硬件设备都是非可信硬件设备,可信平台只检查了硬件设备的数据寄存器、状态寄存器和控制寄存器,并不能观察到硬件设备内部状态的变化,因此不能判断除硬件设备是否是可以信赖的。而本实用新型中涉及的可信平台不仅可以检查可信硬件设备内部的工作状态,还可以检查可信硬件工作模式配置信息和控制策略配置信息的完整性,同时还可以对硬件设备进行身份合法性认证,并通过协议建立可信平台与可信硬件设备之间的通讯通道,保证机密数据传输过程中,数据的安全性。1.4、外围设备控制器的控制信号输入端口连接到可信平台的处理器和可信平台控制模块;外围设备控制器的输入输出总线端口连接到可信平台的可信平台控制模块和硬件设备。在可信平台控制模块内部,通过通信总线将控制裁决引擎、执行引擎、非易失性存储单元、易失性存储单元、计数器、输入输出总线接口、控制策略配置信息定制引擎、工作模式配置信息定制引擎、状态切换控制引擎、主动检查引擎、可信密码模块,相互连接在一起。在htel公司提供的计算机系统架构中,外围设备控制器可以分为北桥控制器和南桥控制器,在^tel公司之外的处理器公司提供的计算机系统架构中,外围设备控制器不区分北桥控制器和南桥控制器,而是直接与处理器相连接的设备控制器;如图6、7、8所示,分别是硬件设备与不同的外围设备控制器的连接方式;实施效果现有的可信平台对进入的硬件设备检查仅仅是对硬件设备接口寄存器数值的检查,不能提供硬件设备的身份合法性检查、硬件设备固件代码完整性检查、工作模式配置信息完整性检查、控制策略配置信息完整性检查和对基本电路工作状态的完整性检查。通过检查的硬件设备并不一定是否安全可信的。1、对接入可信平台的硬件设备进行身份认证。本实用新型中提供的方案,却可以实现对硬件设备进行身份认证,判断硬件设备是否具有接入到可信平台的合法资格,因此从硬件层面保证了可信平台的安全性。而现有的计算机终端的设备控制器只能读写硬件设备提供的状态寄存器、控制寄存器和数据寄存器,但无法观察到硬件设备中电路的具体状态变化,因此不能实现对硬件设备的身份认证。2、对可信硬件设备进行的可信检查。可信平台对可信硬件设备的可信检查包括固件代码、工作模式配置信息、控制策略配置信息进行完整性检查,对可信硬件设备的基本电路工作状态进行检查,进而保证了在可信硬件设备身份可信的情况下,可信硬件设备的可变信息的安全性和工作状态的正确性。但现有的计算机终端检查不到硬件设备内部工作状态。3、对可信硬件设备进行控制。可信平台对可信硬件设备的控制包括工作状态控制和固件代码、工作模式、控制策略的切换控制,进而增强了对可信硬件设备的安全保证。可信平台对可信硬件设备的控制功能,在硬件层面实现了用户对硬件设备的不同访问权限的区分功能。实现了在硬件层面上用户之前的隔离。

图1可信平台控制模块硬件结构,描述一种可信平台控制模块硬件组成结构的一种完整的实现方案。可信密码模块被当作一个硬件单元嵌入到可信平台控制模块中。图2现有可信密码模块硬件结构,国家密码管理局在《可信计算密码支撑平台功能与接口规范》文档中描述了现有可信密码模块的硬件结构。图3改造后的可信密码模块硬件结构,描述了一种在现有可信密码模块基础上进行改造的可信密码模块,通过输入输出接口模块嵌入到可信平台控制模块内部使用。图4现有的可信密码模块与可信平台的连接方式,描述了现有可信密码模块与可信平台之间的连接方式。图5可信平台的使用方法,描述在可信平台上的可信平台控制模块、可信硬件设备、可信管道之间的连接关系。图6可信平台控制模块与可信平台连接方式1,描述的是外围设备控制器不区分南桥和北桥控制器的情况下,可信平台控制模块和可信平台之间的连接方式。图7可信平台控制模块与可信平台连接方式2,描述的是外围设备控制器由南桥和北桥控制器构成的情况下,可信平台控制模块和可信平台的南桥控制器之间的连接方式。图8可信平台控制模块与可信平台连接方式2,描述的是外围设备控制器由南桥和北桥控制器构成的情况下,可信平台控制模块和可信平台的北桥控制器之间的连接方式。图9 一种改造后的可信密码模块的具体实现方案,在具体实施方式
中实现的一种改造后的可信密码模块结构,其中密码模块的算法引擎采用了国家密码管理局在《可信计算密码支撑平台功能与接口规范》文档中规定的密码算法引擎。
具体实施方式
本实用新型提供了一种可信平台控制模块以及对可信硬件设备的控制方法。以下是具体的实现方法。一、可信平台控制模块的实现—种可信平台控制模块分为功能组成和硬件结构两个部分。硬件上包括输入输出总线接口、执行引擎、易失性存储单元、非易失性存储单元、可信密码模块、控制裁决引擎、 工作模式配置信息定制引擎、控制策略配置信息定制引擎、主动检查引擎和状态切换控制引擎。功能上包括可信密码模块管理功能、可信度量功能、可信存储功能、可信报告功能、可信设备控制功能、可信硬件设备控制策略生成功能、可信硬件设备工作模式配置信息定制功能、可信硬件设备工作状态切换控制、可信硬件设备控制策略切换控制、可信硬件设备固件代码切换控制和主动检查功能。其中本实用新型主要涉及的硬件部分包括输入输出总线接口、控制裁决引擎、 工作模式配置信息定制引擎、控制策略配置信息定制引擎、主动检查引擎、状态切换控制引擎、可信密码模块,功能部分包括可信硬件设备控制裁决功能、可信硬件设备控制策略生成功能、可信硬件设备工作模式配置信息定制功能、可信硬件设备工作状态切换控制、可信硬件设备控制策略切换控制、主动度量功能、配置信息载入功能、动态算法功能。可信硬件设备的输入输出总线接口,通过信号线连接到可信平台的外围设备控制器的控制端和总线上,然后从外围设备控制器经信号线连接到可信硬件设备的平台总线接口,最后再通过信号线连接到可信硬件设备内部的总线控制器和可信模块上,进而建立了可信平台控制模块与可信硬件设备的可信模块之间的通讯线路。控制裁决引擎,用于可信平台控制模块判定访问者的身份合法性和访问控制权限;用于可信平台控制模块裁决访问者调用的,可信平台控制模块定制可信硬件设备工作模式配置信息和控制策略配置信息的请求是否有权限执行;用于可信平台控制模块裁决访问者调用的,可信平台控制模块切换可信硬件设备的固件代码、工作状态和控制策略的请求是否有权限执行;用于可信平台控制模块裁决访问者调用的,可信平台控制模块主动检查连接到可信平台的可信硬件设备的身份合法性和完整性的请求是否有权限执行;在具体实现时,控制裁决引擎可以采用现有8位的8051单片机实现。控制命令包括可信硬件设备工作模式配置信息和控制策略模式配置信息的载入和下发命令、可信硬件设备工作模式配置信息和控制策略模式配置信息的下发并且切换命令、可信硬件设备工作模式切换命令、可信硬件设备控制策略模式切换命令、可信硬件设备工作状态检查命令、可信硬件设备控制策略状态检查命令。访问者在调用可信硬件设备的控制命令时,可信平台控制模块需要先检查访问者身份的合法性、命令是否授权、访问者的物理存在性、命令调用操作的真实性、命令调用操作的时效性。检查访问者身份的合法性,
7可以通过认证手段实现,如口令、身份识别设备等。检查命令是否授权,是针对调用命令的访问者身份标识,确认访问者是否具有对该可信硬件设备的使用和控制权限。检查访问者的物理存在性,可以通过按钮或者操作认证设备的方式进行检验。检查命令调用操作的真实性,可以向访问者发出确认信息。检查命令调用操作的时效性,可以通过时间戳的方式予以实现。工作模式配置信息定制引擎,设置于可信平台控制模块内部,当访问者发出定制可信硬件设备工作模式配置信息的请求时,可信平台控制模块的控制裁决引擎,先检查访问者身份的合法性、访问控制权限、此次请求是否授权、访问者的存在性、请求信息的真实性、请求信息的时效性。检查通过后,根据访问者发出的工作模式配置信息定制请求,定制可信硬件设备的工作模式配置信息。同时,配置策略和配置信息需要经过认证后,通过可信硬件设备,从可信平台之外,传递到可信平台,再传递到可信平台控制模块中的工作模式配置信息定制引擎。在具体实现时,控制裁决引擎可以采用现有8位的8051单片机实现。控制策略配置信息定制引擎,设置于可信平台控制模块内部,当访问者发出定制可信硬件设备控制策略配置信息的请求时可信平台控制模块的控制裁决引擎,先检查访问者身份的合法性、访问控制权限、此次请求是否授权、访问者的存在性、请求信息的真实性、 请求信息的时效性。检查通过后,根据访问者发出的控制策略配置信息定制请求,定制可信硬件设备的控制策略配置信息。同时,配置策略和配置信息需要经过认证后,通过可信硬件设备,从计算平台之外,传递到可信平台,再传递到可信平台控制模块中的控制策略配置信息定制引擎。在具体实现时,控制裁决引擎可以采用现有8位的8051单片机实现。主动检查引擎,设置于可信平台控制模块内部,用于在可信平台启动阶段或者可信平台控制模块执行主动检查操作时,经可信平台控制模块的输入输出总线接口、可信平台外围设备控制器和信号线,主动向可信硬件设备的可信模块发出检查命令,接收可信硬件设备返回的检查结果和需要检查的数据。主动检查引擎将可信硬件设备报告的检查结果与可信平台控制模块的非易失性存储单元中存储的可信硬件设备完整性参考值进行比对, 确定可信硬件设备的当前固件代码、工作状态和控制策略的正确性,以及工作模式配置信息、控制策略配置信息、密钥和证书等重要数据的完整性。默认状态下,可信平台控制模块的主动检查引擎只将可信硬件设备是否通过完整性检查的判断结果,发送给可信平台的操作系统和访问者,其他信息一律保留在可信平台控制模块内部或者经过加密处理后存储在可信平台的存储单元中。这样的目的是为了防止可信硬件设备的相关信息泄露。在具体实现时,控制裁决引擎可以采用现有8位的8051单片机实现。状态切换控制引擎,设置于可信平台控制模块内部,用于可信平台控制模块对可信硬件设备的工作状态切换控制、固件代码切换和控制策略切换。当可信平台控制模块的执行引擎或者由访问者提出请求,经过控制裁决引擎裁决后,向可信平台控制模块的状态切换控制引擎,发送请求执行可信硬件设备的工作状态切换、固件代码切换和控制策略切换的信号。状态切换控制引擎,根据收到请求信号的种类,可以选择在可信平台控制模块和可信硬件设备之间,使用普通的通信管道、保护完整性的通信管道、加密的通信管道和保护完整性的加密通信管道,共四种通信管道。当使用保护完整性通信管道、加密通信管道和保护完整性的加密管道时,需要状态切换控制引擎调用可信平台控制模块的可信密码模块中密码算法引擎,用于对数据进行加解密和签名。在具体实现时,控制裁决引擎可以采用现有
88位的8051单片机实现。可信密码模块,设置与可信平台控制模块内部,用于为可信平台控制模块提供密码操作服务,硬件组成包括密码算法引擎(SMS4引擎和ECC引擎),摘要算法引擎(SCH引擎和HMAC引擎)、随机数发生器、执行部件、非易失性存储单元、易失性存储单元、通信总线和输入输出隔离单元。可信密码模块的输入输出隔离单元,一端通过可信密码模块的通信总线连接到 SMS4引擎、ECC引擎、SCH引擎、随机数发生器、HMAC引擎、执行部件、非易失性存储单元、易失性存储单元,另一端连接到可信平台控制模块的通信总线,用于隔离可信平台控制模块外部对可信密码模块的密码算法引擎、非易失性存储单元和易失性存储单元的直接读写操作。可信平台控制模块对可信密码模块的访问,是通过命令请求方式实现的。在可信平台控制模块内部,可以主动通过命令方式请求可信密码模块提供密码服务的单元包括: 执行引擎和状态切换控制引擎。可信平台控制模块中的密钥和证书,为了保证安全性,需要考虑存储介质的安全性,通常将密钥和证书存储可信密码模块中的非易失性存储单元中,由可信密码模块的输入输出隔离单元对其进行保护。二、可信平台控制模块对可信硬件设备的控制方法1、可信平台控制模块通过控制外围设备控制器,对硬件设备进行控制。1. 1、可信平台控制模块控制可信硬件设备的初始化。1. 1. 1、可信平台控制模块的输入输出总线接口,通过信号线连接可信平台的外围设备控制器,控制外围设备控制器,禁止未通过可信平台控制模块的验证和完整性检查的硬件设备在可信平台上使用。通过可信平台控制模块的验证和完整性检查的,且受可信平台控制模块控制的硬件设备,被可信平台控制模块认定为可信硬件设备;1. 1. 2、所有硬件设备的平台总线接口,均通过信号线连接到可信平台的外围设备控制器上,用于可信平台与可信硬件设备的交互;1. 1. 3、当硬件设备连接到可信平台的外围设备控制器时,可信平台的外围设备控制器,立即向可信平台控制模块发送通知信号;1. 1. 4、收到外围设备控制器发送的通知信号后,可信平台控制模块向外围设备控制器发送控制信号,禁止可信平台的处理器,访问未通过可信平台控制模块验证和完整性检查的硬件设备;禁止未通过可信平台控制模块的可信验证的硬件设备,通过外围设备控制器,访问可信平台的可信硬件设备;1. 1. 5、可信平台控制模块通过外围设备控制器,向硬件设备发送交互请求,用于确认硬件设备中是否存在可信模块;1. 1. 6、如果硬件设备回复了可信平台控制模块的交互请求,则可信平台控制模块向硬件设备发送初始化命令,硬件设备接收到初始化命令后,开始执行初始化操作;1. 1. 7、含有可信模块的硬件设备的初始化操作过程,首先进行可信模块的初始化和自检,然后再由可信模块进行基本硬件功能电路的固件代码的完整性检查与初始化,进行基本硬件功能电路初始化默认的工作状态配置信息和控制策略配置信息的完整性检查和初始化,并将完整性度量结果和完整性检查结果,存储在可信模块的非易失性存储单元中;1. 1. 8、硬件设备的初始化操作完成后,可信硬件设备向可信平台控制模块,发送初始化结束的返回信号。1. 2、可信平台控制模块获取硬件设备的初始化检查结果。1. 2. 1、当可信平台控制模块收到硬件设备返回的初始化操作结束的信号时,通过操作系统通知访问者,可信平台发现新接入的硬件设备,并提示访问者提供该硬件设备的驱动程序、硬件设备信息、初始化的工作模式配置信息的完整性参考值、初始化的控制策略配置信息的完整性参考值、初始化的固件代码的完整性参考值和硬件设备的证书;1. 2. 2、当访问者通过了可信平台控制模块的控制裁决引擎,对访问者进行的身份合法性和访问权限的认证后,访问者从可信平台控制模块获得一个会话公钥、会话公钥的编号、密码算法编号和一个随机数,然后对随机数进行加1操作,再将该硬件设备的证书、 加1后的随机数和硬件设备信息,经过加密和签名后,发送给可信平台控制模块,同时还需要向可信平台控制模块提供所选用的密码算法编号;1. 2. 3、可信平台控制模块根据访问者的会话公钥和密钥编号,利用可信密码模块中的密码算法引擎,对访问者发送的数据进行解密和验证后,从解密的信息中得到硬件设备信息,以及从证书中得到硬件设备的会话公钥;可信平台控制模块的执行引擎将解密的硬件设备信息、初始化的工作模式配置信息的完整性参考值、初始化的控制策略配置信息的完整性参考值和初始化的固件代码的完整性参考值,存储在可信平台控制模块的非易失性存储单元;将硬件设备的会话密钥,存储在可信平台控制模块的可信密码模块中的非易失性存储单元中;1.2. 4、可信平台控制模块的可信密码模块利用硬件设备的会话公钥,对可信平台控制模块的会话公钥和一个随机数进行签名和加密,再将签名数据和加密后的信息,与可信平台控制模块的主动检查引擎发送的,用于读取硬件设备初始化完整性检查结果的命令,一同发送给硬件设备的可信模块;1. 2. 5、硬件设备的可信模块对收到的数据进行解密和验证签名,从解密的数据中得到可信平台控制模块的会话公钥、一个随机数和读取可信硬件设备初始化完整性检查结果的命令;1. 2. 6、硬件设备收到上述信息后,由硬件设备的可信模块对随机数进行加1操作,并从可信模块的非易失性存储单元中取出初始化的完整性度量结果,然后利用可信平台控制模块的会话公钥和硬件设备的可信模块的会话私钥,对随机数、完整性度量结果进行加密和签名,最后将加密后的数据和签名信息一同发送给可信平台控制模块;1. 2. 7、可信平台控制模块利用可信密码模块的密码算法引擎,对收到的上述信息进行解密和验证签名,由主动检查引擎将解密的硬件设备的初始化的工作模式配置信息的完整性度量结果、初始化的控制策略配置信息的完整性度量结果、初始化的固件代码的完整性度量结果,与可信平台控制模块的非易失性存储单元中存储的,该硬件设备的初始化完整性参考值进行比较,如果完整性检查结果和完整性参考值一致,则认定该硬件设备通过了可信平台控制模块的可信检查,是一个可信硬件设备,否则认定为非可信硬件设备;同时,可信硬件设备也认定当前接入的计算平台是可信平台;1. 2. 8、至此,可信平台与可信硬件设备之间完成了双方的相互认证。[0090]1.3、可信平台控制模块与可信硬件设备之间的会话密钥和签名密钥的生成。1. 3. 1、当可信平台控制模块认定硬件设备是可信硬件设备后,可信平台控制模块与可信硬件设备的可信模块进行协商,分别在可信平台控制模块和该可信硬件设备的可信模块中,各生成三种非对称密钥对,非对称密钥对包括一个公钥和一个私钥,分别用于可信平台控制模块,在配置可信硬件设备的固件代码、配置工作模式配置信息和控制策略配置信息过程中的会话加密和签名操作;用于可信平台控制模块向可信硬件设备发送固件代码、工作状态和控制策略的切换信号;用于可信平台控制模块与可信硬件设备之间传输数据和控制信号的加密传输和签名;Kill代表可信平台控制模块生成的密钥的私钥,Κ 12代表可信平台控制模块生成的密钥的公钥,Κ 21代表可信硬件设备的可信模块生成的密钥的私钥,Κ 22代表可信硬件设备的可信模块生成的密钥的公钥,i代表可信硬件设备的编号;分别在可信平台控制模块生和该可信硬件设备的可信模块中,各生成一对密钥, 用于固件更新、工作状态切换和控制策略切换的切换专用会话加密和签名,Till代表可信平台控制模块生成的密钥的私钥,Τ 12代表可信平台控制模块生成的密钥的公钥,Τ 21代表可信硬件设备的可信模块生成的密钥的私钥,Ti22代表可信硬件设备的可信模块生成的密钥的公钥,i代表可信硬件设备的编号;1.3. 2、可信平台控制模块的执行引擎,为密钥、密钥的用途、所属的可信硬件设备,建立一一对应的关联编号,并将关联编号存储在可信平台控制模块的非易失性存储单元中;1. 3. 3、可信平台控制模块的可信密码模块的密码算法引擎,使用可信平台控制模块的会话密钥的私钥、可信硬件设备的可信模块的会话密钥的公钥,对可信平台控制模块的可信密码模块生成的会话密钥的公钥和随机数,分别进行加密和签名操作,然后将加密后的数据和签名信息,一同发送给可信硬件设备的可信模块;1. 3. 4、可信硬件设备的可信模块的密码算法引擎,使用可信模块的会话密钥的私钥、可信平台控制模块的会话密钥的公钥,对可信模块生成的会话密钥的公钥和加1操作后的随机数进行加密和签名操作,然后将加密后的数据和签名信息,一同发送给可信平台控制模块;1. 3. 5、可信平台控制模块的执行引擎,定时的向可信平台控制模块的可信模块和可信硬件设备的可信模块发送更新密钥的命令,可信平台控制模块的可信模块和可信硬件设备的可信模块收到更新会话密钥和签名密钥的命令后,立即进行协商,以产生新的会话密钥和签名密钥。1.4、可信平台控制模块或者访问者与可信硬件设备之间通信方式的建立。1. 4. 1、可信平台控制模块的执行引擎或者访问者根据传输数据的内容,选择建立原始数据的通信管道、基于私有协议的通信管道、基于公开协议的通信管道、保护完整性的通信管道、加密的通信管道和保护完整性的加密通信管道;1. 4. 2、当可信平台控制模块或者访问者与可信硬件设备之间传输的信息不需要任何处理时,可信平台控制模块或者访问者,直接建立原书数据的通信管道,用于与可信硬件设备的数据通信;1. 4. 3、当可信平台控制模块或者访问者与可信硬件设备之间传输的信息需要按照某种公开通信协议进行处理时,可信平台控制模块或者访问者,直接建立基于公开协议的通信管道,用于与可信硬件设备的数据通信;1. 4. 4、当可信平台控制模块或者访问者与可信硬件设备之间传输的信息需要按照某种私有的通信协议进行处理时,可信平台控制模块或者访问者,直接建立基于私有协议的通信管道,用于与可信硬件设备的数据通信;1. 4. 5、当可信平台控制模块或者访问者与可信硬件设备之间传输的信息需要保护数据的完整性时,则需要使用可信平台控制模块或者访问者的会话密钥的私钥,对传输数据和随机数进行签名,然后将传输数据、随机数和签名信息一同发送给可信硬件设备的可信模块;可信硬件设备的可信模块收到数据后,利用可信平台控制模块或者访问者的会话密钥的公钥和收到的签名信息,验证数据发送方的身份和传输数据的完整性,然后对随机数进行加1操作,并利用可信硬件设备的可信模块的会话密钥的私钥,对返回给可信平台控制模块或者访问者的传输数据和随机数进行签名操作,最后将传输数据、随机数和签名信息一同发送给可信平台控制模块或者访问者;可信平台控制模块或者访问者收到传输数据、随机数和签名信息后,利用可信硬件设备的可信模块的会话密钥的公钥和收到签名信息,验证数据发送方的身份和传输数据的完整性,并判断随机数是否进行了加1操作;1. 4. 6、当可信平台控制模块或者访问者与可信硬件设备之间传输的信息需要保护完整性和私密性时,则需要使用可信平台控制模块或者访问者的会话密钥的私钥,对传输数据和随机数进行签名,利用可信硬件设备的可信模块的会话密钥的公钥对传输数据进行加密,然后将加密后的传输数据、随机数和签名信息,一同发送给可信硬件设备的可信模块;可信硬件设备的可信模块收到加密后的传输数据、加密后的随机数、签名信息后,利用可信模块的密码算法引擎,使用可信模块的会话密钥的私钥对数据进行解密,利用可信平台控制模块或者访问者的会话密钥的公钥和签名信息,验证数据发送方的身份和传输数据的完整性,然后对随机数进行加1操作;可信硬件设备的可信模块,利用可信模块的密码算法引擎,使用可信硬件设备的可信模块的会话密钥的私钥,对待返回的传输数据和随机数进行签名;然后可信模块的密码算法引擎,再使用可信平台控制模块或者访问者的会话密钥的公钥对数据和随机数进行加密,最后将加密后的传输数据、加密后的随机数和签名信息一同发送给可信平台控制模块或者访问者;可信平台控制模块或者访问者收到加密的传输数据、加密的随机数和签名信息后,使用可信平台控制模块或者访问者的会话密钥的私钥,对加密数据进行解密,然后使用可信硬件设备的可信模块的会话密钥的公钥和签名信息,验证数据发送方的身份和数据的完整性,同时还需要判断随机数是否进行了加1操作;1. 4. 7、至此,可信平台控制模块或者访问者与可信硬件设备的可信模块之间完成了一次普通的数据传输、一次基于公开协议的数据传输、一次基于私有协议的数据传输、一次保护完整性的数据传输和一次保护完整性的加密的数据传输;可信平台控制模块或者访问者与可信硬件设备的可信模块之间的会话密钥,由可信平台控制模块与可信硬件设备, 定时的协商产生新的会话密钥,并对先前的会话密钥进行更换。1. 5、可信平台控制模块对可信硬件设备的主动检查。1. 5. 1、在可信平台控制模块与可信硬件设备完成双方的相互认证之后,可信平台控制模块的主动检查引擎,才可以向可信硬件设备的可信模块,发送检查可信硬件设备当前的固件代码、工作模式配置信息、控制策略配置信息和保密数据的,完整性检查结果、完整性度量值的信号,以及检查可信硬件设备当前工作状态和控制策略的正确性的信号;1. 5. 2、可信硬件设备的可信模块接收到可信平台控制模块的主动检查引擎发送的完整性检查信号后,立即检查可信硬件设备的配置存储单元、固件存储单元、策略存储单元和保密数据存储单元中存储的数据的完整性,并将完整性度量结果存储在可信模块的非易失性存储单元;1. 5. 3、可信硬件设备的可信模块接收到可信平台控制模块的主动检查引擎发送的工作状态和控制策略检查信号后,可信模块立即检查可信硬件设备的基本硬件功能电路的工作状态,立即检查可信硬件设备的总线控制器的当前的控制策略,并将生成的状态检查结果存储在可信模块的非易失性存储单元;1. 5. 4、可信硬件设备的可信模块,利用可信模块的密码算法引擎,使用可信模块的非易失性存储单元中存储的,可信平台控制模块的会话密钥的公钥,对固件代码、工作模式配置信息、控制策略配置信息、保密数据的完整性度量值,以及基本硬件功能电路的工作状态检查结果和总线控制器的控制策略检查结果,进行加密,再利用可信模块的非易失性存储单元中的会话密钥的私钥,对上述完整性度量值,以及工作状态检查结果和控制策略检查结果进行签名,并将加密后的传输数据和签名数据,一同发送给可信平台控制模块;1. 5. 5、可信平台控制模块收到上述信息后,主动检查引擎首先利用可信平台控制模块的可信密码模块的密码算法引擎,使用可信密码模块的非易失性存储单元中的会话密钥的私钥,对收到的传输数据进行解密,利用可信硬件设备的会话密钥的公钥和签名信息, 对传输数据进行验证;1. 5. 6、如果解密的传输数据和签名信息对应,则可信平台控制模块的主动检查引擎,把收到的完整性度量值,以及工作状态检查结果和控制策略检查结果,与可信平台控制模块的非易失性存储单元中存储的完整性参考值,进行比较,产生完整性检查结果,如果比较结果仍然一致,则认为可信硬件设备当前的工作模式、控制策略和固件代码没有发生改变,否则认为可信硬件设备当前的配置被篡改;1. 5. 7、如果可信平台控制模块发现可信硬件设备初始化配置被篡改,则向可信平台的外围设备控制器发信号,继续禁止处理器对该设备的访问,直到该可信硬件设备通过了可信平台控制模块的完整性验证;1. 5. 8、可信平台控制模块的主动检查引擎对可信硬件设备的完整性检查通过后, 主动检查引擎再对可信硬件设备发送的,工作状态检查结果和控制策略检查结果进行正确性判断,如果工作状态检查结果和控制策略检查结果均正确,则可信平台控制模块判定可信硬件设备当前的工作状态和控制策略可信。2、可信平台控制模块定制可信硬件设备的工作模式配置信息。2.1、可信平台控制模块的执行引擎通过输入输出总线接口,从可信平台控制模块外部得到待配置的可信硬件设备的硬件设备类型、工作模式种类和工作模式的定制策略, 并对上述信息的提供者进行身份合法性判断和数据完整性检查,把通过完整性检查的上述信息存储在可信平台控制模块的非易失性存储单元;2. 2、可信平台控制模块的执行引擎从可信平台控制模块的非易失性存储单元中, 读取需要定制工作模式配置信息的可信硬件设备的类型、工作模式种类,然后从可信平台
1控制模块的非易失性存储单元中,选取该可信硬件设备对应的工作模式的定制策略;2. 3、可信平台控制模块的执行引擎通过内部通信总线,向工作模式配置信息定制引擎发送进行配置信息定制的信号,并将可信硬件设备的类型、工作模式种类和工作模式的定制策略,发送给工作模式配置信息定制引擎,由工作模式配置信息定制引擎生成工作模式配置信息;同时,执行引擎调用可信密码模块的密码算法引擎,对生成的工作模式配置信息进行完整性度量,将生成的完整性度量结果当作工作模式配置信息的完整性参考值, 存储在可信平台控制模块的非易失性存储单元;2. 4、可信平台控制模块的执行引擎,将可信硬件设备的工作模式配置信息,存储到可信平台控制模块的非易失性存储单元中,然后为生成的工作模式配置信息分配一个唯一的编号,并将所有工作模式配置信息的编号构建成一个设备配置信息编号表,存储在可信平台控制模块的非易失性存储单元中。3、可信平台控制模块定制可信硬件设备的控制策略配置信息。3.1、可信平台控制模块的执行引擎通过输入输出总线接口,从可信平台控制模块外部得到待配置的可信硬件设备的硬件设备类型、控制的对象、控制的参考值和控制策略的定制策略,并对上述信息的提供者进行身份合法性判断和数据完整性检查,把通过完整性检查的上述信息存储在可信平台控制模块的非易失性存储单元;3. 2、可信平台控制模块的执行引擎从可信平台控制模块的非易失性存储单元中, 读取需要定制控制策略配置信息的可信硬件设备的类型、控制的对象和控制的参考值,然后从非易失性存储单元中选取该可信硬件设备对应的控制策略的定制策略;3. 3、可信平台控制模块的执行引擎通过内部通信总线,向控制策略配置信息定制引擎发送进行配置信息定制的信号,并将可信硬件设备的类型、控制的对象、控制的参考值和控制策略的定制策略,发送给控制策略配置信息定制引擎,由控制策略配置信息定制引擎生成控制策略模式配置信息;同时,执行引擎调用可信密码模块的密码算法引擎,对生成的控制策略配置信息进行完整性度量,将生成的完整性度量结果当作控制策略配置信息的完整性参考值,存储在可信平台控制模块的非易失性存储单元;3. 4、可信平台控制模块的执行引擎,将可信硬件设备的控制策略配置信息,存储到可信平台控制模块的非易失性存储单元中,然后为生成的控制策略配置信息分配一个唯一的编号,并将所有控制策略配置信息的编号构建成一个设备配置信息编号表,存储在可信平台控制模块的非易失性存储单元中。4、可信平台控制模块下发固件、工作模式配置信息和控制策略配置信息。4. 1、可信平台控制模块可以向可信硬件设备下发固件代码、工作模式配置信息和控制策略配置信息,或者根据访问者请求进行上述信息的下发操作;4. 2、当可信平台控制模块收到访问者提出的下发固件代码、工作模式配置信息和控制策略配置信息的请求时,可信平台控制模块的控制裁决引擎对提出请求的访问者,进行身份合法性和访问权限的检查;4. 3、可信平台控制模块的控制裁决引擎,通过对访问者身份合法性和访问权限的检查后,可信平台控制模块的执行引擎从可信密码模块中,获得可信密码模块的非易失性存储单元中存储的会话密钥;4. 4、可信平台控制模块的执行引擎,利用可信硬件设备的可信模块的会话密钥的公钥和可信平台控制模块的会话密钥的私钥,对固件代码编号、固件代码、工作模式配置信息编号、工作模式配置信息、控制策略配置信息编号和控制策略配置信息进行签名和加密操作;4. 5、可信平台控制模块的执行引擎利用输入输出总线接口,将加密和签名后的固件代码编号、固件代码、工作模式配置信息编号、工作模式配置信息、控制策略配置信息编号和控制策略配置信息,发送给可信硬件设备;4. 6、可信硬件设备收到的固件代码存储到固件存储单元,将工作模式配置信息存储到可信硬件设备的配置存储单元,将控制策略配置信息存储到策略存储单元,将固件代码编号、工作模式配置信息的编号和控制策略配置信息的编号,存储到可信硬件设备的保密数据存储单元;4. 7、至此,可信平台控制模块对可信硬件设备的固件代码、工作模式配置信息和控制策略配置信息的下发操作完成。5、可信平台控制模块切换可信硬件设备的固件、工作状态和控制策略。5. 1、当访问者或者可信平台向可信平台控制模块,发送切换可信硬件设备的固件、工作状态和控制策略的请求时,可信平台控制模块首先对访问者,或者来着可信平台的请求者的身份合法性和访问权限进行检查;5. 2、可信平台控制模块通过对访问者,或者来自可信平台的请求者的身份合法性和访问权限的检查后,可信平台控制模块的状态切换控制引擎,根据访问者发送的可信硬件设备的编号,从非易失性存储单元中,读取与该可信硬件设备对应的用于传输切换信号专用的会话密钥和签名密钥;5. 3、可信平台控制模块的状态切换控制引擎,向可信密码模块发送产生随机数的命令,并把传输切换信号专用的会话密钥,传递给可信密码模块,由可信密码模块对切换信号和随机数进行加密和签名操作;5. 4、可信平台控制模块的状态切换控制引擎,将加密和签名后的数据,通过信号线传递给可信硬件设备的可信模块;5. 5、可信硬件设备的可信模块,对收到的信息进行解密,并验证签名的正确性;如果签名正确,则执行该切换操作,否则拒绝执行切换操作;5. 6、可信硬件设备的切换操作执行之后,可信硬件设备的可信模块对执行结果和加1后的随机数,进行加密和签名,发送给可信平台控制模块;5. 7、可信平台控制模块的状态切换控制引擎,调用可信密码模块的密码算法引擎,对可信硬件设备发送的数据,进行解密和验证签名,签名验证通过后,得到切换后的结果和加1后的随机数。6、可信平台控制模块对访问者访问可信硬件设备的请求的控制裁决。访问者登陆和退出可信平台或者操作系统时,可信平台控制模块对可信硬件设备的工作状态和控制策略的切换6. 1、访问者登录可信平台,或者操作系统时,可信平台立即将访问者身份信息和访问权限,发送给可信平台控制模块;6. 2、可信平台控制模块收到访问者的身份信息和访问权限后,立即对可信硬件设备的工作状态和控制策略,切换到与访问者身份和访问权限对应的工作状态和控制策略;[0145]6. 3、当访问者退出可信平台,或者操作系统时,可信平台立即向可信平台控制模块发送访问者退出信号。可信平台控制模块收到访问者退出的信号后,立即将连接到可信平台的可信硬件设备切换成初始化的默认工作状态。7、可信平台控制模块裁决访问者对可信硬件设备的固件代码、工作模式配置信息和控制策略配置信息的请求。7. 1、当访问者试图修改、载入可信硬件设备中存储的固件代码、工作模式配置信息和控制策略配置信息时,需要向可信平台控制模块发送请求,由可信平台控制模块的控制裁决引擎,验证访问者的身份合法性和访问权限,并由可信平台控制模块的控制裁决引擎对访问操作进行裁决;7. 2、当可信平台控制模块的控制裁决引擎,判定当前访问者的修改、载入操作合法后,向访问者发出可以执行该操作的确认信号和一个随机数。访问者收到确认信号和随机数后,先利用密码手段,对固件代码、工作模式配置信息、控制策略配置信息和加1操作后的随机数进行加密和签名,然后将加密后的数据以及签名信息,一同发送给可信平台控制模块;7. 3、可信平台控制模块收到上述信息后,可信密码模块的密码算法引擎对收到的信息进行解密、验证签名、验证随机数操作。可信平台控制模块利用与可信硬件设备的会话密钥,对通过验证后的固件代码、工作模式配置信息、控制策略配置信息和一个新生成的随机数进行加密和签名,并将加密后的数据和签名信息一同发送给可信硬件设备;7. 4、可信硬件设备的可信模块对收到的数据进行解密和验证签名后,对收到的工作模式配置信息、固件代码和控制策略进行编号,将编号后的数据分别存储到配置存储单元、固件存储单元和策略存储单元中,将编号存储在保密存储单元中,然后向可信平台控制模块返回确认信号;7. 5、当可信平台控制模块收到可信硬件设备的确认信号后,立即向访问者发出固件代码、工作模式配置信息和控制策略配置信息已经收到的确认信号;7. 6、访问者收到确认信号后,此次配置操作结束。8、可信平台控制模块裁决访问者对可信硬件设备的固件代码、工作状态和控制策略的切换请求8.1、当访问者向可信平台控制模块的状态切换控制引擎,发从切换可信硬件设备的固件代码、工作状态和控制策略的请求时,需要向可信平台控制模块的状态切换控制引擎,发送可信硬件设备的编号,以及固件代码、工作模式配置信息和控制策略配置信息的编号;8. 2、可信硬件设备收到上述请求后,首先检查访问者的身份合法性和访问权限, 然后再判定该访问者提供的可信硬件设备的编号,以及固件代码、工作模式配置信息和控制策略配置信息的编号,是否在访问者的访问权限之内;8. 3、如果可信平台控制模块对访问者身份合法性和访问权限的检查通过后,立即通过命令调用方式,从可信平台控制模块的密码模块的非易失性存储单元中,选取与该硬件设备通讯时使用的会话密钥,利用可信平台控制模块的可信密码模块对固件代码、工作模式配置信息和控制策略配置信息的编号进行加密和签名操作,并将加密后的数据和签名信息一同发送给可信硬件设备;[0157]8. 4、如果可信平台控制模块对访问者身份合法性和访问权限的检查没有通过,则可信平台控制模块向访问者发出拒绝信号;8. 5、可信硬件设备收到可信平台控制模块发送的数据后,立即对收到的数据进行解密和验证签名,并根据得到的状态切换信号、固件代码、工作模式配置信息和控制策略配置信息的编号,从固件存储单元、配置存储单元和策略存储单元中读取相应的固件代码、工作模式配置信息和控制策略配置信息,然后进行状态切换操作;8. 6、可信硬件设备的状态切换操作执行成功后,立即向可信平台控制模块返回执行成功的确认信息,否则返回执行失败的信息;8. 7、可信平台控制模块收到上述信息后,将执行结果信息返回给访问者。至此可信平台控制模块对访问者的请求切换可信硬件设备的固件代码、工作状态、控制策略的操作执行完毕;8. 8、可信硬件设备的可信模块,根据可信硬件设备当前配置的固件代码、工作模式配置信息和控制策略配置信息,控制可信硬件设备中的总线控制器,实现对访问者的访问操作的限制。
权利要求1. 一种具有控制功能的可信平台,包括CPU、显卡、内存、BOOT ROM、可信平台控制模块、 硬件设备和外围设备控制器,其特征在于硬件设备除包括非可信硬件设备之外,还包括可信硬件设备; 可信硬件设备包括基本硬件电路、总线控制器、平台总线接口、外围总线接口、固件存储单元、策略存储单元、配置存储单元和可信模块,并且通过了可信平台控制模块对所述硬件设备的认证;总线控制器通过通信总线与基本硬件电路、平台总线接口、外围设备接口、固件存储单元、策略存储单元、配置存储单元和可信模块相互连接;外围设备控制器的控制信号输入端口连接到可信平台的处理器和可信平台控制模块; 外围设备控制器的输入输出总线端口连接到可信平台的可信平台控制模块和硬件设备; 该可信平台还包括输入输出隔离单元。
专利摘要本实用新型描述了一种具有控制功能的可信平台。在所述可信平台上连接有主动控制功能的可信平台控制模块和硬件设备,可信平台控制模块通过主动控制功能将硬件设备隔离成可信硬件设备和非可信硬件设备。在可信平台控制模块内部设置主动度量引擎、控制裁决引擎、工作模式定制引擎、可信控制策略配置引擎等硬件单元,实现对硬件设备工作状态配置信息、控制策略配置信息、固件代码和电路工作状态的主动检查,以及工作状态和控制策略的切换、工作模式配置信息和控制策略配置信息定制和下发的控制功能。可信平台控制模块结合可信管道技术,在不修改计算平台系统结构情况下,实现对硬件设备的主动控制功能。
文档编号G06F21/00GK202177903SQ20112000445
公开日2012年3月28日 申请日期2011年1月7日 优先权日2011年1月7日
发明者刘毅, 方娟, 毛军捷, 王昱波, 胡俊 申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1