CN102063592B - 一种可信平台及其对硬件设备的控制方法 - Google Patents
一种可信平台及其对硬件设备的控制方法 Download PDFInfo
- Publication number
- CN102063592B CN102063592B CN2011100031364A CN201110003136A CN102063592B CN 102063592 B CN102063592 B CN 102063592B CN 2011100031364 A CN2011100031364 A CN 2011100031364A CN 201110003136 A CN201110003136 A CN 201110003136A CN 102063592 B CN102063592 B CN 102063592B
- Authority
- CN
- China
- Prior art keywords
- credible platform
- control module
- trusted
- credible
- platform control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
一种可信平台及其对硬件设备的控制方法属于计算机领域。可信平台上包括:硬件设备和具有主动控制功能的可信平台控制模块。可信平台控制模块内部设置主动度量引擎、控制裁决引擎、工作模式定制引擎、可信控制策略配置引擎等硬件单元,实现对硬件设备工作状态配置信息、控制策略配置信息、固件代码和电路工作状态的主动检查等控制功能,通过可信管道技术、主动控制和主动检查功能实现的可信硬件设备的身份合法性认证和主动控制,可以达到在非可信或者可信度较低的计算环境中,不修改计算平台系统结构,且不显著降低系统工作性能的情况下,仍能为可信平台的访问者提供一个上层无法旁路的可信硬件设备的安全控制机制。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种可信平台及其对硬件设备的方法。
背景技术
随着对可信计算技术研究的不断深入,可信计算规范对可信芯片的功能要求也在不断的增加。从最早的TCG1.1版本到目前的1.2版本,从计算机终端的应用,到服务器、嵌入式设备、虚拟机、网络等方面,可以说对可信芯片(TCG定义的可信芯片称为,可信平台模块。)的功能要求在不断的提高,设计复杂度在不断的增加,进而也造成了可信芯片的硬件规模和内部固件规模的不断增大。
在计算机终端领域,现有可信计算规范未对主板平台上的硬件设备进行可信度定义和详细的功能要求。并认为可信终端出厂时,主板上的硬件设备就是默认为可信的。同时,只要在使用过程中,可信平台上的硬件设备没有被人为替换,能正常通过对设备只读寄存器信息的度量,则该认为该硬件设备是可信的。
在芯片设计领域,随着芯片设计与制造工艺的不断提高,集成电路规模也相应的越来越高,之前很多必须由多个板卡组合实现的功能,现在完全可以由单颗芯片实现。随着集成度的不断提高,硬件层次(芯片)上的安全隐患也接踵而至。逻辑炸弹、嗅探器等安全威胁,在硬件设备中的存在也变得越来越容易。到目前为止,TCG还没有给出与芯片可信度评判相关的规范。保证可信平台的可信性,为此我们需要定义可信硬件设备模型,为可信计算提供底层硬件支持。
可信平台控制模块是一种具有密码运算功能的安全芯片,主要提供完整性度量功能、完整性报告功能、可信存储、加解密操作、数字签名操作等。参考相关专利《一种可信平台模块及其主动度量方法》(专利号:ZL200810115280.5)
硬件设备包括可信硬件设备和非可信硬件设备。经过可信平台认证后身份合法的硬件设备即是可信硬件设备,否则是非可信硬件设备。可信硬件设备是一种硬件电路上包括可信芯片的硬件设备,其特点包括:对自身电路工作状态检查、对自身固件代码进行完整性检查、与可信计算机进行可信的双向认证等。参考相关发明专利《一种可信硬件设备及其使用方法》(申请号:201010237511.7)
发明内容
本发明的目的在于提供一种可信平台,以及可信平台对硬件设备的控制方法。可信平台的可信平台控制模块是一种安装在可信平台上的工作在主动模式下,且具有主动度量功能、主动控制功能的可信芯片。可信平台控制模块对硬件设备的控制方法,主要解决的问题包括:在可信平台的信任链建立过程中,可信平台使用平台控制模块如何检查硬件设备的身份合法性、工作状态的正确性、固件代码的完整性、工作模式配置信息的完整性和控制策略配置信息的完整性;可信平台对可信平台的访问者提出的硬件设备访问操作的裁决;可信平台对可信硬件设备工作状态和访问控制状态的切换控制;可信平台控制模块向可信硬件设备下发数据。
一种可信平台包括CPU、显卡、内存、BOOT ROM、可信平台控制模块、硬件设备和外围设备控制器,其特征在于:
可信平台控制模块除包括:执行引擎、通信总线、非易失性存储单元、易失性存储单元、计数器和输入输出总线接口之外,还包括:控制裁决引擎、控制策略配置信息定制引擎、工作模式配置信息定制引擎、状态切换控制引擎、主动检查引擎和可信密码模块;
可信密码模块除包括:对称密码算法引擎、非对称密码算法引擎、随机数发生器、度量算法引擎、执行部件、非易失性存储单元、易失性存储单元、可信接口单元和通信总线之外,还包括输入输出隔离单元;
硬件设备除包括非可信硬件设备之外,还包括可信硬件设备;
可信硬件设备包括基本硬件电路、总线控制器、平台总线接口、外围总线接口、固件存储单元、策略存储单元、配置存储单元和可信模块,并且通过了可信平台控制模块对所述硬件设备的认证;
总线控制器通过通信总线与基本硬件电路、平台总线接口、外围设备接口、固件存储单元、策略存储单元、配置存储单元和可信模块相互连接;
外围设备控制器的控制信号输入端口连接到可信平台的处理器和可信平台控制模块;外围设备控制器的输入输出总线端口连接到可信平台的可信平台控制模块和硬件设备;
在可信平台控制模块内部,通过通信总线将控制裁决引擎、执行引擎、非易失性存储单元、易失性存储单元、计数器、输入输出总线接口、控制策略配置信息定制引擎、工作模式配置信息定制引擎、状态切换控制引擎、主动检查引擎、可信密码模块,相互连接在一起;
该可信平台还包括输入输出隔离单元;
输入输出隔离单元:包括两个端口,其中一个端口通过通信总线连接对称密码算法引擎、非对称密码算法引擎、随机数发生器、度量算法引擎、执行部件、非易失性存储单元和易失性存储单元,另一个端口连接可信平台控制模块的通信总线。
为达到上述目的,本发明的技术方案是这样实现的:
一、一种可信平台包括CPU、显卡、内存、硬件设备、BOOT ROM、可信平台控制模块和外围设备控制器,其特征在于包括:
1.1可信平台控制模块除包括:执行引擎、通信总线、非易失性存储单元、易失性存储单元、计数器和输入输出总线接口之外,还包括:控制裁决引擎、控制策略配置信息定制引擎、工作模式配置信息定制引擎、状态切换控制引擎、主动检查引擎和可信密码模块。
A、控制裁决引擎:用于可信平台控制模块对可信平台访问者提出使用可信硬件设备的请求进行判断。主要判断项目包括:访问者的身份合法性和访问者对硬件设备的使用权限,并裁定访问者提出的访问请求是否可以执行。
B、控制策略配置信息定制引擎:用于可信平台和可信平台访问者对访问者有权控制和使用的可信硬件设备,进行控制策略的定制。
C、工作模式配置信息定制引擎:用于可信平台和可信平台访问者对访问者有权控制和使用的可信硬件设备,进行工作模式的定制。
D、状态切换控制引擎:当可信平台或者可信平台访问者向可信硬件设备下发了工作模式配置信息和控制策略后,可信平台或者可信平台访问者通过状态切换控制引擎向可信硬件设备发生状态切换信号。
E、主动检查引擎:用于可信平台控制模块定时地或者随机地对硬件设备、CPU、显卡、内存、BOOT ROM和外围设备控制进行检查。
1.2可信密码模块除包括:对称密码算法引擎、非对称密码算法引擎、随机数发生器、度量算法引擎、执行部件、非易失性存储单元、易失性存储单元、可信接口单元和通信总线之外,还包括输入输出隔离单元。
输入输出隔离单元:包括两个端口,其中一个端口通过通信总线连接对称密码算法引擎、非对称密码算法引擎、随机数发生器、度量算法引擎、执行部件、非易失性存储单元和易失性存储单元,另一个端口连接可信平台控制模块的通信总线。现有的可信密码模块中包含可信接口单元,不包含输入输出各类单元。可信接口单元用于可信密码模块与现有可信平台进行通讯,使用的是LPC通讯传输协议。而本发明将可信密码模块嵌入到可信平台控制模块中,为了提高可信密码模块与可信平台控制模块中各个模块之间的通讯速度,又因为LPC通讯协议传输速度较慢,因此将可信接口单元去掉。但考虑到防止来自可信平台控制模块之外的非法读写操作,需要对可信密码模块进行保护。因此需要在可信密码模块与可信平台控制模块的通讯总线之间添加一个数据过滤单元,即输入输出隔离单元,用于防止来自可信平台控制模块外部对可信密码模块的读写操作。
现有的可信密码模块作为一个密码芯片,通过可信接口单元连接到可信平台上。用户通过可信接口单元访问可信密码模块。
本发明中将可信密码模块作为可信平台控制模块的一部分使用,因此需要对可信密码模块进行改造,改造内容包括:取消可信接口单元,增加输入输出隔离单元。可信密码模块通过输入输出隔离单元连接到可信平台控制模块内部的通信总线,用于隔离非法用户对可信平台控制模块发起的窃取密钥的访问操作。
1.3硬件设备除包括非可信硬件设备之外,还包括可信硬件设备。
可信硬件设备包括基本硬件电路、总线控制器、平台总线接口、外围总线接口、固件存储单元、策略存储单元、配置存储单元和可信模块。
总线控制器通过通信总线与基本硬件电路、平台总线接口、外围设备接口、固件存储单元、策略存储单元、配置存储单元和可信模块相互连接。
非可信硬件设备是指不包含可信模块,或者是没有通过可信平台的可信平台控制模块认证的硬件设备;现有可信平台上的硬件设备都是非可信硬件设备,可信平台只检查了硬件设备的数据寄存器、状态寄存器和控制寄存器,并不能观察到硬件设备内部状态的变化,因此不能判断除硬件设备是否是可以信赖的。而本发明中涉及的可信平台不仅可以检查可信硬件设备内部的工作状态,还可以检查可信硬件工作模式配置信息和控制策略配置信息的完整性,同时还可以对硬件设备进行身份合法性认证,并通过协议建立可信平台与可信硬件设备之间的通讯通道,保证机密数据传输过程中,数据的安全性。
1.4、外围设备控制器的控制信号输入端口连接到可信平台的处理器和可信平台控制模块;外围设备控制器的输入输出总线端口连接到可信平台的可信平台控制模块和硬件设备。
在可信平台控制模块内部,通过通信总线将控制裁决引擎、执行引擎、非易失性存储单元、易失性存储单元、计数器、输入输出总线接口、控制策略配置信息定制引擎、工作模式配置信息定制引擎、状态切换控制引擎、主动检查引擎、可信密码模块,相互连接在一起。
在Intel公司提供的计算机系统架构中,外围设备控制器可以分为北桥控制器和南桥控制器,在Intel公司之外的处理器公司提供的计算机系统架构中,外围设备控制器不区分北桥控制器和南桥控制器,而是直接与处理器相连接的设备控制器;如图6、7、8所示,分别是硬件设备与不同的外围设备控制器的连接方式;
二、所述可信平台控制模块对硬件设备的控制方法,其特征在于包括步骤1可信平台控制模块通过控制外围设备控制器对硬件设备进行控制;步骤2可信平台控制模块定制可信硬件设备的工作模式配置信息;步骤3可信平台控制模块定制可信硬件设备的控制策略配置信息;步骤4可信平台控制模块向可信硬件设备下发固件代码、工作模式配置信息和控制策略配置信息;步骤5可信平台控制模块切换可信硬件设备的固件代码、工作状态和控制策略;步骤6可信平台的访问者登陆或退出可信平台或者操作系统时,可信平台控制模块对可信硬件设备的工作状态和控制策略的切换;步骤1、2、3、4、5是顺序执行的,而步骤6随时执行。
在可信平台控制模块通过控制外围设备控制器对硬件设备进行控制的方法中,步骤1.1、1.2、1.3、1.4、1.5、1.6是顺序执行的。
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.2.3可信平台控制模块利用可信密码模块的密码算法引擎和可信平台控制模块与访问者之间的会话密码,对收到的加密的数据进行解密,得到硬件设备初始化的完整性参考值、证书和随机数,并对数字签名数据进行验证;然后,可信平台控制模块的执行引擎将硬件设备的证书和硬件设备初始化的完整性参考值,存储在可信平台控制模块的非易失性存储单元,然后向访问者发送确认信号;
1.2.4可信平台控制模块利用计数器产生一个时间戳,利用可信密码模块的随机数发生器产生一个随机数,利用可信密码模块的密码算法引擎和硬件设备证书中的初始化默认的会话密钥,对时间戳和随机数进行加密和数字签名,并将数字签名数据和加密后的数据,通过读取硬件设备初始化的完整性检查结果的命令发送给硬件设备的可信模块;
1.2.5硬件设备收到读取可信硬件设备初始化的完整性检查结果的命令之后,利用初始化默认的会话密钥和可信模块的密码算法引擎,对收到的数据进行解密和验证数字签名,得到一个随机数和时间戳;
1.2.6硬件设备的可信模块对收到的随机数进行加1操作,并从可信模块的非易失性存储单元取出硬件设备初始化的完整性检查结果,利用可信平台控制模块的会话密钥,对随机数、时间戳和硬件设备初始化的完整性度量结果,进行加密和数字签名,最后将加密后的数据和数字签名数据一起发送给可信平台控制模块;
1.2.7可信平台控制模块利用可信密码模块的密码算法引擎,对收到的数据进行解密和验证数字签名,由主动检查引擎将硬件设备初始化的完整性检查结果,与该硬件设备初始化的完整性参考值进行比较,如果比较结果一致,则认定该硬件设备通过了身份合法性检查和完整性检查,是一个可信硬件设备,可信硬件设备也认定与可信硬件设备相连接是可信平台;否则,认定该硬件设备为非可信硬件设备;
1.2.8至此,可信平台与可信硬件设备之间完成了双方的相互认证,并由可信平台控制模块向可信平台的设备控制器,发送允许可信平台的处理器或者可信硬件设备与该可信硬件设备进行交互的控制命令。
1.3、可信平台控制模块与可信硬件设备之间的会话密钥的生成。
1.3.1当可信平台上电启动,或者可信平台控制模块新认定某个硬件设备是可信硬件设备后,可信平台控制模块产生一个随机数和一个时间戳,使用可信平台密码模块的加密引擎和该硬件设备当前的会话密钥,对随机数和时间戳进行加密和数字签名,并通过更新会话密钥的命令,向该可信硬件设备发送加密后的随机数和时间戳,以及数字签名数据;
1.3.2可信硬件设备收到更新会话密钥的命令之后,对加密数据进行解密和验证数字签名,并对解密出的随机数进行加1操作;然后,可信硬件设备的可信模块,利用密码算法引擎产生产生一个会话密钥,可信模块的执行引擎生成一个会话密钥的编号,并将会话密钥和密钥编号存储在非易失性存储单元;最后,可信模块利用当前的会话密钥对随机数、时间戳、新生成的会话密钥和密钥编号进行加密和数字签名,并将加密后的数据和数字签名数据发送给可信平台控制模块;
可信平台控制模块,与可信平台的一个可信硬件设备之间,都有一个以上的会话密钥;
可信平台的所有可信硬件设备,发送给可信平台控制模块的会话密钥的编号必须唯一;
1.3.3可信平台控制模块的执行引擎,利用可信密码模块的密码算法引擎和硬件设备当前的会话密钥,对收到的加密数据进行解密和验证数字签名,从中得到一个随机数、时间戳、硬件设备新的会话密钥和密钥编号;可信平台控制模块的执行引擎验证随机数和时间戳是否正确,并将会话密钥和密钥编号存储在可信密码模块的非易失性存储单元;可信平台控制模块将该可信硬件设备新的会话密钥设置成该可信硬件设备当前的会话密钥;可信平台控制模块对随机数进行加1操作,然后利用该可信硬件设备当前的会话密钥对随机数进行加密和数字签名,最终发送给该可信硬件设备;
1.3.4可信硬件设备收到加密数据和数字签名数据后,可信模块的密码算法引擎,利用当前的会话密钥,对收到的加密数据进行解密和验证数字签名,并验证随机数是否正确;然后,可信模块对随机数再进行加1操作,并利用密码算法引擎和会话密钥对随机数和时间戳,进行加密和数字签名;最后,可信模块将加密后的数据和数字签名数据发送给可信平台控制模块。
1.4、可信平台控制模块或者访问者与可信硬件设备之间通信方式的建立。
1.4.1可信平台控制模块的执行引擎或者访问者,根据需要传输数据的内容,选择在可信平台控制模块与可信硬件设备之间,建立原始数据的通信管道、私有协议的通信管道、公开协议的通信管道、保护完整性的通信管道、加密的通信管道或者保护完整性的加密通信管道;
1.4.2当可信平台控制模块或者访问者与可信硬件设备之间传输的数据,不需要任何处理时,可信平台控制模块或者访问者,选择建立原始数据的通信管道,用于与可信硬件设备的数据通信;
1.4.3当可信平台控制模块或者访问者与可信硬件设备之间传输的数据,需要按照公开通信协议进行传输信息时,可信平台控制模块或者访问者,选择建立基于公开协议的通信管道,用于与可信硬件设备的数据通信;
1.4.4当可信平台控制模块或者访问者与可信硬件设备之间传输的数据,需要按照私有通信协议进行传输信息时,可信平台控制模块或者访问者,选择建立基于私有协议的通信管道,用于与可信硬件设备的数据通信;
1.4.5当可信平台控制模块或者访问者与可信硬件设备之间传输的数据,需要保护传输信息的完整性时,可信平台控制模块或者访问者,选择建立保护完整性的通信管道,用于与可信硬件设备的数据通信;
1.4.6当可信平台控制模块或者访问者与可信硬件设备之间传输的信息需要保护完整性和私密性时,可信平台控制模块或者访问者,选择建立保护完整性和私密性的通信管道,用于与可信硬件设备的数据通信;
1.4.7至此,可信平台控制模块或者访问者与可信硬件设备的可信模块之间完成了一次普通的数据传输、一次公开协议的数据传输、一次私有协议的数据传输、一次保护完整性的数据传输和一次保护完整性的加密的数据传输;
1.5、可信平台控制模块对可信硬件设备的主动检查。
1.5.1可信平台控制模块的主动检查引擎,向可信硬件设备的可信模块发送主动检查命令;
1.5.2可信硬件设备的可信模块接收到主动检查命令后,立即检查可信硬件设备的固件代码、工作模式配置信息、控制策略配置信息和会话密钥的完整性,并将完整性检查结果存储在可信模块的非易失性存储单元;可信模块立即检查可信硬件设备的基本硬件功能电路的工作状态和总线控制器当前的控制策略,并将检查结果存储在可信模块的非易失性存储单元;
1.5.4可信硬件设备的可信模块,利用可信模块的密码算法引擎,使用可信硬件设备的会话密钥,对硬件设备的完整性检查结果,以及当前工作状态和控制策略的检查结果进行加密和数字签名,并将加密后的传输数据和数字签名数据,一同发送给可信平台控制模块;
1.5.5可信平台控制模块使用可信硬件设备当前的会话密钥,对收到加密数据和数字签名数据进行解密和验证数字签名;
1.5.6如果解密的传输数据和数字签名信息对应,则可信平台控制模块的主动检查引擎,把收到的可信硬件设备的完整性检查结果、工作状态检查结果和控制策略检查结果,与可信平台控制模块的非易失性存储单元中的可信硬件设备的完整性参考结果、工作状态检查参考结果和控制策略检查参考结果进行比较,如果一致,则认为可信硬件设备当前的配置信息、工作状态和控制策略正确,否则认为可信硬件设备当前的配置被篡改,或者工作状态和控制策略不正确。
1.6、可信平台控制模块对可信硬件设备的控制方法。
1.6.1可信平台控制模块通过可信平台的控制器,禁用非可信硬件设备,直到可信平台控制模块认证该硬件设备为可信硬件设备;
1.6.2可信平台控制模块通过可信平台的控制器,禁止设备初始化配置信息被篡改的可信硬件设备与可信平台进行数据传输,直到该可信硬件设备通过了可信平台控制模块的完整性检查。
2、可信平台控制模块定制可信硬件设备的工作模式配置信息。
2.1访问者执行控制策略配置信息定制命令,并通过输入输出总线接口,向可信平台控制模块提供待配置的可信硬件设备的类型、工作模式的种类和工作模式的定制策略。
2.2可信平台控制模块收到访问者发送的工作模式配置信息定制命令后,先对访问者进行身份合法性检查和访问权限检查,并对访问者提供的信息进行完整性检查,再把通过完整性检查的信息存储在可信平台控制模块的非易失性存储单元。
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可信平台控制模块收到访问者的身份信息和访问权限后,立即将可信硬件设备的工作状态和控制策略,切换到与访问者身份和访问权限对应的工作状态和控制策略;
6.3当访问者退出可信平台或者操作系统时,可信平台立即向可信平台控制模块发送访问者退出信号;可信平台控制模块收到访问者退出的信号后,立即将连接到可信平台的可信硬件设备切换成初始化的默认工作状态和默认的控制策略。
实施效果
现有的可信平台对进入的硬件设备检查仅仅是对硬件设备接口寄存器数值的检查,不能提供硬件设备的身份合法性检查、硬件设备固件代码完整性检查、工作模式配置信息完整性检查、控制策略配置信息完整性检查和对基本电路工作状态的完整性检查。
通过检查的硬件设备并不一定是否安全可信的。
1、对接入可信平台的硬件设备进行身份认证。
本发明中提供的方案,却可以实现对硬件设备进行身份认证,判断硬件设备是否具有接入到可信平台的合法资格,因此从硬件层面保证了可信平台的安全性。而现有的计算机终端的设备控制器只能读写硬件设备提供的状态寄存器、控制寄存器和数据寄存器,但无法观察到硬件设备中电路的具体状态变化,因此不能实现对硬件设备的身份认证。
2、对可信硬件设备进行的可信检查。
可信平台对可信硬件设备的可信检查包括固件代码、工作模式配置信息、控制策略配置信息进行完整性检查,对可信硬件设备的基本电路工作状态进行检查,进而保证了在可信硬件设备身份可信的情况下,可信硬件设备的可变信息的安全性和工作状态的正确性。但现有的计算机终端检查不到硬件设备内部工作状态。
3、对可信硬件设备进行控制。
可信平台对可信硬件设备的控制包括工作状态控制和固件代码、工作模式、控制策略的切换控制,进而增强了对可信硬件设备的安全保证。可信平台对可信硬件设备的控制功能,在硬件层面实现了用户对硬件设备的不同访问权限的区分功能。实现了在硬件层面上用户之前的隔离。
附图说明
图1可信平台控制模块硬件结构,描述一种可信平台控制模块硬件组成结构的一种完整的实现方案。可信密码模块被当作一个硬件单元嵌入到可信平台控制模块中。
图2现有可信密码模块硬件结构,国家密码管理局在《可信计算密码支撑平台功能与接口规范》文档中描述了现有可信密码模块的硬件结构。
图3改造后的可信密码模块硬件结构,描述了一种在现有可信密码模块基础上进行改造的可信密码模块,通过输入输出接口模块嵌入到可信平台控制模块内部使用。
图4现有的可信密码模块与可信平台的连接方式,描述了现有可信密码模块与可信平台之间的连接方式。
图5可信平台的使用方法,描述在可信平台上的可信平台控制模块、可信硬件设备、可信管道之间的连接关系。
图6可信平台控制模块与可信平台连接方式1,描述的是外围设备控制器不区分南桥和北桥控制器的情况下,可信平台控制模块和可信平台之间的连接方式。
图7可信平台控制模块与可信平台连接方式2,描述的是外围设备控制器由南桥和北桥控制器构成的情况下,可信平台控制模块和可信平台的南桥控制器之间的连接方式。
图8可信平台控制模块与可信平台连接方式2,描述的是外围设备控制器由南桥和北桥控制器构成的情况下,可信平台控制模块和可信平台的北桥控制器之间的连接方式。
图9一种改造后的可信密码模块的具体实现方案,在具体实施方式中实现的一种改造后的可信密码模块结构,其中密码模块的算法引擎采用了国家密码管理局在《可信计算密码支撑平台功能与接口规范》文档中规定的密码算法引擎。
具体实施方式
本发明提供了一种可信平台控制模块以及对可信硬件设备的控制方法。以下是具体的实现方法。
一、可信平台控制模块的实现:
一种可信平台控制模块分为功能组成和硬件结构两个部分。硬件上包括输入输出总线接口、执行引擎、易失性存储单元、非易失性存储单元、可信密码模块、控制裁决引擎、工作模式配置信息定制引擎、控制策略配置信息定制引擎、主动检查引擎和状态切换控制引擎。功能上包括可信密码模块管理功能、可信度量功能、可信存储功能、可信报告功能、可信设备控制功能、可信硬件设备控制策略生成功能、可信硬件设备工作模式配置信息定制功能、可信硬件设备工作状态切换控制、可信硬件设备控制策略切换控制、可信硬件设备固件代码切换控制和主动检查功能。
其中本发明主要涉及的硬件部分包括:输入输出总线接口、控制裁决引擎、工作模式配置信息定制引擎、控制策略配置信息定制引擎、主动检查引擎、状态切换控制引擎、可信密码模块,功能部分包括可信硬件设备控制裁决功能、可信硬件设备控制策略生成功能、可信硬件设备工作模式配置信息定制功能、可信硬件设备工作状态切换控制、可信硬件设备控制策略切换控制、主动度量功能、配置信息载入功能、动态算法功能。
可信硬件设备的输入输出总线接口,通过信号线连接到可信平台的外围设备控制器的控制端和总线上,然后从外围设备控制器经信号线连接到可信硬件设备的平台总线接口,最后再通过信号线连接到可信硬件设备内部的总线控制器和可信模块上,进而建立了可信平台控制模块与可信硬件设备的可信模块之间的通讯线路。
控制裁决引擎,用于可信平台控制模块判定访问者的身份合法性和访问控制权限;用于可信平台控制模块裁决访问者调用的,可信平台控制模块定制可信硬件设备工作模式配置信息和控制策略配置信息的请求是否有权限执行;用于可信平台控制模块裁决访问者调用的,可信平台控制模块切换可信硬件设备的固件代码、工作状态和控制策略的请求是否有权限执行;用于可信平台控制模块裁决访问者调用的,可信平台控制模块主动检查连接到可信平台的可信硬件设备的身份合法性和完整性的请求是否有权限执行;在具体实现时,控制裁决引擎可以采用现有8位的8051单片机实现。
控制命令包括可信硬件设备工作模式配置信息和控制策略模式配置信息的载入和下发命令、可信硬件设备工作模式配置信息和控制策略模式配置信息的下发并且切换命令、可信硬件设备工作模式切换命令、可信硬件设备控制策略模式切换命令、可信硬件设备工作状态检查命令、可信硬件设备控制策略状态检查命令。访问者在调用可信硬件设备的控制命令时,可信平台控制模块需要先检查访问者身份的合法性、命令是否授权、访问者的物理存在性、命令调用操作的真实性、命令调用操作的时效性。检查访问者身份的合法性,可以通过认证手段实现,如口令、身份识别设备等。检查命令是否授权,是针对调用命令的访问者身份标识,确认访问者是否具有对该可信硬件设备的使用和控制权限。检查访问者的物理存在性,可以通过按钮或者操作认证设备的方式进行检验。检查命令调用操作的真实性,可以向访问者发出确认信息。检查命令调用操作的时效性,可以通过时间戳的方式予以实现。
工作模式配置信息定制引擎,设置于可信平台控制模块内部,当访问者发出定制可信硬件设备工作模式配置信息的请求时,可信平台控制模块的控制裁决引擎,先检查访问者身份的合法性、访问控制权限、此次请求是否授权、访问者的存在性、请求信息的真实性、请求信息的时效性。检查通过后,根据访问者发出的工作模式配置信息定制请求,定制可信硬件设备的工作模式配置信息。同时,配置策略和配置信息需要经过认证后,通过可信硬件设备,从可信平台之外,传递到可信平台,再传递到可信平台控制模块中的工作模式配置信息定制引擎。在具体实现时,控制裁决引擎可以采用现有8位的8051单片机实现。
控制策略配置信息定制引擎,设置于可信平台控制模块内部,当访问者发出定制可信硬件设备控制策略配置信息的请求时可信平台控制模块的控制裁决引擎,先检查访问者身份的合法性、访问控制权限、此次请求是否授权、访问者的存在性、请求信息的真实性、请求信息的时效性。检查通过后,根据访问者发出的控制策略配置信息定制请求,定制可信硬件设备的控制策略配置信息。同时,配置策略和配置信息需要经过认证后,通过可信硬件设备,从计算平台之外,传递到可信平台,再传递到可信平台控制模块中的控制策略配置信息定制引擎。在具体实现时,控制裁决引擎可以采用现有8位的8051单片机实现。
主动检查引擎,设置于可信平台控制模块内部,用于在可信平台启动阶段或者可信平台控制模块执行主动检查操作时,经可信平台控制模块的输入输出总线接口、可信平台外围设备控制器和信号线,主动向可信硬件设备的可信模块发出检查命令,接收可信硬件设备返回的检查结果和需要检查的数据。主动检查引擎将可信硬件设备报告的检查结果与可信平台控制模块的非易失性存储单元中存储的可信硬件设备完整性参考值进行比对,确定可信硬件设备的当前固件代码、工作状态和控制策略的正确性,以及工作模式配置信息、控制策略配置信息、密钥和证书等重要数据的完整性。默认状态下,可信平台控制模块的主动检查引擎只将可信硬件设备是否通过完整性检查的判断结果,发送给可信平台的操作系统和访问者,其他信息一律保留在可信平台控制模块内部或者经过加密处理后存储在可信平台的存储单元中。这样的目的是为了防止可信硬件设备的相关信息泄露。在具体实现时,控制裁决引擎可以采用现有8位的8051单片机实现。
状态切换控制引擎,设置于可信平台控制模块内部,用于可信平台控制模块对可信硬件设备的工作状态切换控制、固件代码切换和控制策略切换。当可信平台控制模块的执行引擎或者由访问者提出请求,经过控制裁决引擎裁决后,向可信平台控制模块的状态切换控制引擎,发送请求执行可信硬件设备的工作状态切换、固件代码切换和控制策略切换的信号。状态切换控制引擎,根据收到请求信号的种类,可以选择在可信平台控制模块和可信硬件设备之间,使用普通的通信管道、保护完整性的通信管道、加密的通信管道和保护完整性的加密通信管道,共四种通信管道。当使用保护完整性通信管道、加密通信管道和保护完整性的加密管道时,需要状态切换控制引擎调用可信平台控制模块的可信密码模块中密码算法引擎,用于对数据进行加解密和签名。在具体实现时,控制裁决引擎可以采用现有8位的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、至此,可信平台与可信硬件设备之间完成了双方的相互认证。
1.3、可信平台控制模块与可信硬件设备之间的会话密钥和签名密钥的生成。
1.3.1、当可信平台控制模块认定硬件设备是可信硬件设备后,可信平台控制模块与可信硬件设备的可信模块进行协商,分别在可信平台控制模块和该可信硬件设备的可信模块中,各生成三种非对称密钥对,非对称密钥对包括一个公钥和一个私钥,分别用于可信平台控制模块,在配置可信硬件设备的固件代码、配置工作模式配置信息和控制策略配置信息过程中的会话加密和签名操作;用于可信平台控制模块向可信硬件设备发送固件代码、工作状态和控制策略的切换信号;用于可信平台控制模块与可信硬件设备之间传输数据和控制信号的加密传输和签名;
Ki11代表可信平台控制模块生成的密钥的私钥,Ki12代表可信平台控制模块生成的密钥的公钥,Ki21代表可信硬件设备的可信模块生成的密钥的私钥,Ki22代表可信硬件设备的可信模块生成的密钥的公钥,i代表可信硬件设备的编号;
分别在可信平台控制模块生和该可信硬件设备的可信模块中,各生成一对密钥,用于固件更新、工作状态切换和控制策略切换的切换专用会话加密和签名,Ti11代表可信平台控制模块生成的密钥的私钥,Ti12代表可信平台控制模块生成的密钥的公钥,Ti21代表可信硬件设备的可信模块生成的密钥的私钥,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、可信平台控制模块的执行引擎从可信平台控制模块的非易失性存储单元中,读取需要定制工作模式配置信息的可信硬件设备的类型、工作模式种类,然后从可信平台控制模块的非易失性存储单元中,选取该可信硬件设备对应的工作模式的定制策略;
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、可信平台控制模块收到访问者的身份信息和访问权限后,立即对可信硬件设备的工作状态和控制策略,切换到与访问者身份和访问权限对应的工作状态和控制策略;
6.3、当访问者退出可信平台,或者操作系统时,可信平台立即向可信平台控制模块发送访问者退出信号。可信平台控制模块收到访问者退出的信号后,立即将连接到可信平台的可信硬件设备切换成初始化的默认工作状态。
7、可信平台控制模块裁决访问者对可信硬件设备的固件代码、工作模式配置信息和控制策略配置信息的请求。
7.1、当访问者试图修改、载入可信硬件设备中存储的固件代码、工作模式配置信息和控制策略配置信息时,需要向可信平台控制模块发送请求,由可信平台控制模块的控制裁决引擎,验证访问者的身份合法性和访问权限,并由可信平台控制模块的控制裁决引擎对访问操作进行裁决;
7.2、当可信平台控制模块的控制裁决引擎,判定当前访问者的修改、载入操作合法后,向访问者发出可以执行该操作的确认信号和一个随机数。访问者收到确认信号和随机数后,先利用密码手段,对固件代码、工作模式配置信息、控制策略配置信息和加1操作后的随机数进行加密和签名,然后将加密后的数据以及签名信息,一同发送给可信平台控制模块;
7.3、可信平台控制模块收到上述信息后,可信密码模块的密码算法引擎对收到的信息进行解密、验证签名、验证随机数操作。可信平台控制模块利用与可信硬件设备的会话密钥,对通过验证后的固件代码、工作模式配置信息、控制策略配置信息和一个新生成的随机数进行加密和签名,并将加密后的数据和签名信息一同发送给可信硬件设备;
7.4、可信硬件设备的可信模块对收到的数据进行解密和验证签名后,对收到的工作模式配置信息、固件代码和控制策略进行编号,将编号后的数据分别存储到配置存储单元、固件存储单元和策略存储单元中,将编号存储在保密存储单元中,然后向可信平台控制模块返回确认信号;
7.5、当可信平台控制模块收到可信硬件设备的确认信号后,立即向访问者发出固件代码、工作模式配置信息和控制策略配置信息已经收到的确认信号;
7.6、访问者收到确认信号后,此次配置操作结束。
8、可信平台控制模块裁决访问者对可信硬件设备的固件代码、工作状态和控制策略的切换请求:
8.1、当访问者向可信平台控制模块的状态切换控制引擎,发从切换可信硬件设备的固件代码、工作状态和控制策略的请求时,需要向可信平台控制模块的状态切换控制引擎,发送可信硬件设备的编号,以及固件代码、工作模式配置信息和控制策略配置信息的编号;
8.2、可信硬件设备收到上述请求后,首先检查访问者的身份合法性和访问权限,然后再判定该访问者提供的可信硬件设备的编号,以及固件代码、工作模式配置信息和控制策略配置信息的编号,是否在访问者的访问权限之内;
8.3、如果可信平台控制模块对访问者身份合法性和访问权限的检查通过后,立即通过命令调用方式,从可信平台控制模块的密码模块的非易失性存储单元中,选取与该硬件设备通讯时使用的会话密钥,利用可信平台控制模块的可信密码模块对固件代码、工作模式配置信息和控制策略配置信息的编号进行加密和签名操作,并将加密后的数据和签名信息一同发送给可信硬件设备;
8.4、如果可信平台控制模块对访问者身份合法性和访问权限的检查没有通过,则可信平台控制模块向访问者发出拒绝信号;
8.5、可信硬件设备收到可信平台控制模块发送的数据后,立即对收到的数据进行解密和验证签名,并根据得到的状态切换信号、固件代码、工作模式配置信息和控制策略配置信息的编号,从固件存储单元、配置存储单元和策略存储单元中读取相应的固件代码、工作模式配置信息和控制策略配置信息,然后进行状态切换操作;
8.6、可信硬件设备的状态切换操作执行成功后,立即向可信平台控制模块返回执行成功的确认信息,否则返回执行失败的信息;
8.7、可信平台控制模块收到上述信息后,将执行结果信息返回给访问者。至此可信平台控制模块对访问者的请求切换可信硬件设备的固件代码、工作状态、控制策略的操作执行完毕;
8.8、可信硬件设备的可信模块,根据可信硬件设备当前配置的固件代码、工作模式配置信息和控制策略配置信息,控制可信硬件设备中的总线控制器,实现对访问者的访问操作的限制。
Claims (2)
1.一种可信平台包括CPU、显卡、内存、BOOT ROM、可信平台控制模块、硬件设备和外围设备控制器,其特征在于:
可信平台控制模块除包括:执行引擎、通信总线、非易失性存储单元、易失性存储单元、计数器和输入输出总线接口之外,还包括:控制裁决引擎、控制策略配置信息定制引擎、工作模式配置信息定制引擎、状态切换控制引擎、主动检查引擎和可信密码模块;
可信密码模块除包括:对称密码算法引擎、非对称密码算法引擎、随机数发生器、度量算法引擎、执行部件、非易失性存储单元、易失性存储单元、可信接口单元和通信总线之外,还包括输入输出隔离单元;
硬件设备除包括非可信硬件设备之外,还包括可信硬件设备;
可信硬件设备包括基本硬件电路、总线控制器、平台总线接口、外围总线接口、固件存储单元、策略存储单元、配置存储单元和可信模块,并且通过了可信平台控制模块对所述硬件设备的认证;
总线控制器通过通信总线与基本硬件电路、平台总线接口、外围总线接口、固件存储单元、策略存储单元、配置存储单元和可信模块相互连接;
外围设备控制器的控制信号输入端口连接到可信平台的CPU和可信平台控制模块;外围设备控制器的输入输出总线端口连接到可信平台的可信平台控制模块和硬件设备;
在可信平台控制模块内部,通过通信总线将控制裁决引擎、执行引擎、非易失性存储单元、易失性存储单元、计数器、输入输出总线接口、控制策略配置信息定制引擎、工作模式配置信息定制引擎、状态切换控制引擎、主动检查引擎、可信密码模块,相互连接在一起;
上述输入输出隔离单元:包括两个端口,其中一个端口通过通信总线连接对称密码算法引擎、非对称密码算法引擎、随机数发生器、度量算法引擎、执行部件、非易失性存储单元和易失性存储单元,另一个端口连接可信平台控制模块的通信总线。
2.根据权利要求1所述可信平台对硬件设备的控制方法,其特征在于包括步骤1可信平台控制模块通过控制外围设备控制器对硬件设备进行控制;步骤2可信平台控制模块定制可信硬件设备的工作模式配置信息;步骤3可信平台控制模块定制可信硬件设备的控制策略配置信息;步骤4可信平台控制模块向可信硬件设备下发固件代码、工作模式配置信息和控制策略配置信息;步骤5可信平台控制模块切换可信硬件设备的固件代码、工作状态和控制策略;步骤6可信平台的访问者登陆或退出可信平台或者操作系统时,可信平台控制模块对可信硬件设备的工作状态和控制策略的切换;步骤1、2、3、4、5是顺序执行的,而步骤6是随机执行;
在可信平台控制模块通过控制外围设备控制器对硬件设备进行控制的方法中,步骤1.1、1.2、1.3、1.4、1.5、1.6是顺序执行的;
1、可信平台控制模块通过控制外围设备控制器对硬件设备进行控制;
1.1可信平台控制模块控制可信硬件设备的初始化与自检;
1.1.1当硬件设备连接到可信平台的外围设备控制器或者硬件设备上电后,可信平台的外围设备控制器,立即通知可信平台控制模块,并只允许硬件设备中的非可信硬件设备被可信平台控制模块和设备控制器访问;
1.1.2可信平台控制模块通过与硬件设备交互,判定硬件设备中是否存在可信模块;并只给嵌有可信模块的硬件设备送初始化命令;
1.1.3含有可信模块的硬件设备的初始化包括可信模块的初始化和自检操作,可信模块对硬件设备进行完整性检查,并保存完整性检查结果;
1.1.4可信模块使用初始化默认的信息对硬件设备进行初始化;
1.1.5可信模块通过硬件设备中的电路工作状态检查点检查硬件设备的工作状态,并存储检查结果,然后向可信平台控制模块发送初始化和自检的结束信号;
1.2可信平台控制模块获取硬件设备的初始化和自检结果;
1.2.1含有可信模块的硬件设备的初始化和自检结束之后,可信平台的访问者通过加密和数字签名的手段,向可信平台控制模块发送该硬件设备的驱动程序、硬件设备的证书和硬件设备初始化的完整性检查的参考值;
1.2.2硬件设备通过加密和数字签名手段,将硬件设备初始化的完整性检查结果发送给可信平台控制模块;
1.2.3可信平台控制模块将硬件设备初始化的完整性检查结果,与该硬件设备初始化的完整性参考值进行比较,通过判断该硬件设备的身份合法性检查和完整性检查,判断该硬件设备是否是可信硬件设备;
1.2.4可信平台控制模块通过可信平台的控制器禁用非可信硬件设备,使能可信硬件设备;
1.3可信平台控制模块与可信硬件设备协商生成会话密钥;
1.3.1当可信平台上电启动,或者可信平台控制模块新认定某个硬件设备是可信硬件设备后,可信平台控制模块产生一个随机数和一个时间戳,并通过加密和数字签名手段发送给该可信硬件设备;
1.3.2可信硬件设备对可信平台控制模块发送的随机数和时间戳,进行验证;然后产生新的会话密钥,并利用加密和数字签名手段将新产生的会话密钥发送给可信平台控制模块;可信平台控制模块,与可信平台的一个可信硬件设备之间,有一个以上的会话密钥;
1.3.3可信平台控制模块收到可信硬件设备发送的新的会话密钥后,向可信硬件设法发送确认信号;
1.4可信平台控制模块或者可信平台的访问者与可信硬件设备建立交互;
1.4.1可信平台控制模块的执行引擎或者可信平台的访问者,首先向可信硬件设备发送交互请求,并等到可信硬件设备的响应信号;如果可信硬件设备没有发送响应信号,则可信平台控制模块不与该可信硬件设备继续进行交互操作;
1.4.2可信平台控制模块的执行引擎或者可信平台的访问者收到可信硬件设备的响应信号后,判断需要传输数据的安全级别;
1.4.3可信平台控制模块的执行引擎或者可信平台的访问者根据传输数据的安全级别选择在可信平台控制模块与可信硬件设备之间,建立原始数据的通信管道、私有协议的通信管道、公开协议的通信管道、保护完整性的通信管道、加密的通信管道或者保护完整性的加密通信管道,并完成数据传输操作;
1.5可信平台控制模块对可信硬件设备的主动检查;
1.5.1可信平台控制模块的主动检查引擎,向可信硬件设备的可信模块发送主动检查命令;
1.5.2可信硬件设备的可信模块接收到主动检查命令后,立即检查可信硬件设备的固件代码、工作模式配置信息、控制策略配置信息和会话密钥的完整性,以及基本硬件功能电路的工作状态和总线控制器当前的控制策略,并存储检查结果;
1.5.3可信硬件设备的可信模块,使用加密和数字签名手段将检查结果发送给可信平台控制模块;
1.5.4可信平台控制模块对收到加密数据和数字签名数据进行解密和验证数字签名;并由可信平台控制模块的主动检查引擎将通过数字签名验证的数据与参考数据进行比对,判断该可信硬件设备完整性和工作状态是否正确;
1.6可信平台控制模块对硬件设备的控制方法;
1.6.1可信平台控制模块通过可信平台的控制器,禁用非可信硬件设备,直到可信平台控制模块认证该硬件设备为可信硬件设备;
1.6.2可信平台控制模块通过可信平台的控制器,禁止设备初始化配置信息被篡改的可信硬件设备与可信平台进行数据传输,直到该可信硬件设备通过了可信平台控制模块的完整性检查;
2、可信平台控制模块定制可信硬件设备的工作模式配置信息;
2.1可信平台的访问者通过加密和数字签名手段,向可信平台控制模块提供待配置的可信硬件设备的类型、工作模式的种类和工作模式的定制策略;
2.2可信平台控制模块对可信平台的访问者进行身份合法性和权限认证;通过对访问者认证后,可信平台控制模块对访问者提供的信息进行完整性检查,并存储完整性检查的信息;可信平台控制模块拒绝接收没有通过认证的访问者提供的数据;
2.3可信平台控制模块的执行引擎,向工作模式配置信息定制引擎发送定制配置信息的信号,由工作模式配置信息定制引擎生成并存储该可信硬件设备的工作模式配置信息,并利用密码算法引擎,对生成的工作模式配置信息进行完整性度量,生成并存储完整性参考值;
3、可信平台控制模块定制可信硬件设备的控制策略配置信息;
3.1可信平台的访问者通过加密和数字签名手段,向可信平台控制模块提供待配置的可信硬件设备的类型、控制的对象、控制的参考值和控制策略配置信息的定制策略;
3.2可信平台控制模块对可信平台的访问者进行身份合法性和权限认证;通过对访问者认证后,可信平台控制模块对访问者提供的信息进行完整性检查,并存储完整性检查的信息;可信平台控制模块拒绝接收没有通过认证的访问者提供的数据;
3.3可信平台控制模块的执行引擎,向控制策略配置信息定制引擎发送定制配置信息的信号,由控制策略配置信息定制引擎生成并存储控制策略配置信息;然后,并利用密码算法引擎,对生成的控制策略配置信息进行完整性度量,将生成的控制策略配置信息的完整性参考值,生成并存储完整性参考值;
4、可信平台控制模块向可信硬件设备下发固件代码、工作模式配置信息和控制策略配置信息;
4.1可信平台控制模块根据可信平台的访问者的请求,向可信硬件设备下发固件代码、工作模式配置信息和控制策略配置信息;
4.2可信平台控制模块的控制裁决引擎对提出请求的可信平台的访问者,进行身份合法性和访问权限的检查,通过检查后,可信平台控制模块的执行引擎获取可信密码模块的非易失性存储单元中的会话密钥;如果没有通过身份合法性和访问权限的检查,则拒绝继续执行下发操作;
4.3可信平台控制模块的执行引擎,利用加密和数字签名手段将固件代码编号、固件代码、工作模式配置信息编号、工作模式配置信息、控制策略配置信息编号和控制策略配置信息,发送给可信硬件设备;
4.4可信硬件设备存储可信平台控制模块下发的数据;
5、可信平台控制模块切换可信硬件设备的固件代码、工作状态和控制策略;
5.1可信平台的访问者向可信平台控制模块,发送切换可信硬件设备的固件、工作状态和控制策略的请求,可信平台控制模块对访问者的身份合法性和访问权限进行检查,选取与通过检查的访问者对应的会话密钥;如果访问者没有通过检查,则拒绝继续执行该切换操作;
5.2可信平台控制模块的状态切换控制引擎使用可信密码模块,利用加密和数字签名手段,将状态切换控制信息发送给可信硬件设备的可信模块;
5.3可信硬件设备的可信模块,对收到的信息进行解密,并验证数字签名的正确性;如果数字签名正确,则执行该切换操作并向可信平台控制模块发送确认信号,否则拒绝执行切换操作;
5.4可信平台控制模块的状态切换控制引擎使用可信密码模块,对收到的确认信号进行验证;
6、可信平台的访问者登陆或退出可信平台或者操作系统时,可信平台控制模块对可信硬件设备的工作状态和控制策略的切换;
6.1可信平台的访问者登录可信平台或者操作系统时,可信平台立即将访问者身份信息和访问权限,发送给可信平台控制模块;
6.2可信平台控制模块收到访问者的身份信息和访问权限后,立即将可信硬件设备的工作状态和控制策略,切换到与访问者身份和访问权限对应的工作状态和控制策略;
6.3当访问者退出可信平台或者操作系统时,可信平台立即向可信平台控制模块发送访问者退出信号;可信平台控制模块收到访问者退出的信号后,立即将连接到可信平台的可信硬件设备切换成初始化的默认工作状态和默认的控制策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100031364A CN102063592B (zh) | 2011-01-07 | 2011-01-07 | 一种可信平台及其对硬件设备的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100031364A CN102063592B (zh) | 2011-01-07 | 2011-01-07 | 一种可信平台及其对硬件设备的控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102063592A CN102063592A (zh) | 2011-05-18 |
CN102063592B true CN102063592B (zh) | 2013-03-06 |
Family
ID=43998863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100031364A Expired - Fee Related CN102063592B (zh) | 2011-01-07 | 2011-01-07 | 一种可信平台及其对硬件设备的控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102063592B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543764A (zh) * | 2019-09-11 | 2019-12-06 | 天津飞腾信息技术有限公司 | 片上系统内存防护方法、密码加速引擎及内存防护装置 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106373B (zh) * | 2011-11-10 | 2016-11-09 | 国民技术股份有限公司 | 一种可信计算芯片及可信计算系统 |
WO2015106248A1 (en) * | 2014-01-13 | 2015-07-16 | Visa International Service Association | Efficient methods for protecting identity in authenticated transmissions |
CN104809399A (zh) * | 2015-04-23 | 2015-07-29 | 中山弘博企业管理咨询有限公司 | 可信计算机度量系统 |
CN107636712B (zh) * | 2015-05-08 | 2022-03-01 | 维萨国际服务协会 | 使用从详细设备信息导出的风险评分来认证交易 |
CN104899506B (zh) * | 2015-05-08 | 2018-01-12 | 深圳市雪球科技有限公司 | 基于可信执行环境中虚拟安全元件的安全系统实现方法 |
CN104993992B (zh) * | 2015-05-18 | 2018-04-24 | 天津市津能双鹤热力设备有限公司 | 一种可自动识别扩展设备数量、加密的动态地址通讯方法 |
CN105631364A (zh) * | 2015-05-20 | 2016-06-01 | 宇龙计算机通信科技(深圳)有限公司 | 安全属性切换方法、安全属性切换装置和终端 |
CN105260289A (zh) * | 2015-11-02 | 2016-01-20 | 浪潮电子信息产业股份有限公司 | 一种可信服务器硬件平台可信状态提示方法 |
CN106156658B (zh) * | 2016-07-04 | 2019-05-17 | 昆山百敖电子科技有限公司 | 一种基于韧体层的软件防护加密认证方法 |
US10936722B2 (en) * | 2018-04-18 | 2021-03-02 | Nuvoton Technology Corporation | Binding of TPM and root device |
CN111105777B (zh) * | 2018-10-25 | 2023-10-31 | 阿里巴巴集团控股有限公司 | 语音数据的采集和播放方法和装置、密钥包的更新方法和装置以及存储介质 |
CN109977665B (zh) * | 2019-03-22 | 2021-01-01 | 北京工业大学 | 基于tpcm的云服务器启动过程防窃取和防篡改方法 |
CN111967010B (zh) * | 2019-05-20 | 2024-05-24 | 阿里巴巴集团控股有限公司 | 一种可信服务方法、装置、设备及存储介质 |
CN110266659B (zh) * | 2019-05-31 | 2020-09-25 | 联想(北京)有限公司 | 一种数据处理方法和设备 |
CN110781527B (zh) * | 2019-09-29 | 2022-02-22 | 苏州浪潮智能科技有限公司 | 一种控制寄存器保护方法与装置 |
CN112084518B (zh) * | 2020-09-17 | 2021-07-23 | 何冰 | 基于通讯控制模块的安全辨识方法 |
CN114679368A (zh) * | 2022-03-04 | 2022-06-28 | 南方电网数字电网研究院有限公司 | 一种多态类型域控终端管理方法、系统 |
WO2023184291A1 (en) * | 2022-03-31 | 2023-10-05 | Intel Corporation | Techniques to implement mutual authentication for confidential computing |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101557251B1 (ko) * | 2006-05-09 | 2015-10-02 | 인터디지탈 테크날러지 코포레이션 | 무선 장치에 대한 안전 시간 기능 |
CN201203867Y (zh) * | 2008-05-28 | 2009-03-04 | 北京工业大学 | 一种可信计算系统 |
CN100568254C (zh) * | 2008-06-20 | 2009-12-09 | 北京工业大学 | 一种可信平台模块及其主动度量方法 |
CN101901318B (zh) * | 2010-07-23 | 2011-11-30 | 北京工业大学 | 一种可信硬件设备及其使用方法 |
-
2011
- 2011-01-07 CN CN2011100031364A patent/CN102063592B/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543764A (zh) * | 2019-09-11 | 2019-12-06 | 天津飞腾信息技术有限公司 | 片上系统内存防护方法、密码加速引擎及内存防护装置 |
CN110543764B (zh) * | 2019-09-11 | 2021-07-23 | 飞腾信息技术有限公司 | 片上系统内存防护方法、密码加速引擎及内存防护装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102063592A (zh) | 2011-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102063592B (zh) | 一种可信平台及其对硬件设备的控制方法 | |
US7886355B2 (en) | Subsidy lock enabled handset device with asymmetric verification unlocking control and method thereof | |
CN101828357B (zh) | 用于证书提供的方法和装置 | |
US8484486B2 (en) | Integrated cryptographic security module for a network node | |
US8789195B2 (en) | Method and system for access control and data protection in digital memories, related digital memory and computer program product therefor | |
KR102239711B1 (ko) | 보안 파라미터들에 기초한 작업 보안 키의 생성 | |
CN101452514B (zh) | 一种安全计算机的用户数据保护方法 | |
CN1791111B (zh) | 通过多接口实现安全性的方法和装置 | |
CN103679062A (zh) | 智能电表主控芯片和安全加密方法 | |
US9680643B2 (en) | System and method for the secure transmission of data | |
CN105745661A (zh) | 对权限管理的内容的基于策略的受信任的检测 | |
JP2007027896A (ja) | 通信カード、機密情報処理システム、機密情報転送方法およびプログラム | |
CN103269271A (zh) | 一种备份电子签名令牌中私钥的方法和系统 | |
CN113438205A (zh) | 区块链数据访问控制方法、节点以及系统 | |
CN112152802A (zh) | 数据加密方法、电子设备及计算机存储介质 | |
Schleiffer et al. | Secure key management-a key feature for modern vehicle electronics | |
CN108418692B (zh) | 认证证书的在线写入方法 | |
CN103164661A (zh) | 用于对终端中的数据进行管理的装置及方法 | |
CN103944721A (zh) | 一种基于web的保护终端数据安全的方法和装置 | |
CN105933117A (zh) | 一种基于tpm秘钥安全存储的数据加解密装置和方法 | |
CN110740036A (zh) | 基于云计算的防攻击数据保密方法 | |
KR20130100032A (ko) | 코드 서명 기법을 이용한 스마트폰 어플리케이션 배포 방법 | |
CN202177903U (zh) | 一种具有控制功能的可信平台 | |
KR101262844B1 (ko) | 네트워크 접근제어를 위한 원격검침데이터 중계장치 및 방법 | |
US20140082364A1 (en) | Collaborative Uses of a Cloud Computing Confidential Domain of Execution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130306 Termination date: 20140107 |