专利名称:一种可信平台及其对硬件设备的控制方法
技术领域:
本发明涉及信息安全领域,尤其涉及一种可信平台及其对硬件设备的方法。
背景技术:
随着对可信计算技术研究的不断深入,可信计算规范对可信芯片的功能要求也在 不断的增加。从最早的TCG1. 1版本到目前的1. 2版本,从计算机终端的应用,到服务器、嵌 入式设备、虚拟机、网络等方面,可以说对可信芯片(TCG定义的可信芯片称为,可信平台模 块。)的功能要求在不断的提高,设计复杂度在不断的增加,进而也造成了可信芯片的硬件 规模和内部固件规模的不断增大。在计算机终端领域,现有可信计算规范未对主板平台上的硬件设备进行可信度定 义和详细的功能要求。并认为可信终端出厂时,主板上的硬件设备就是默认为可信的。同 时,只要在使用过程中,可信平台上的硬件设备没有被人为替换,能正常通过对设备只读寄 存器信息的度量,则该认为该硬件设备是可信的。在芯片设计领域,随着芯片设计与制造工艺的不断提高,集成电路规模也相应的 越来越高,之前很多必须由多个板卡组合实现的功能,现在完全可以由单颗芯片实现。随着 集成度的不断提高,硬件层次(芯片)上的安全隐患也接踵而至。逻辑炸弹、嗅探器等安全 威胁,在硬件设备中的存在也变得越来越容易。到目前为止,TCG还没有给出与芯片可信度 评判相关的规范。保证可信平台的可信性,为此我们需要定义可信硬件设备模型,为可信计 算提供底层硬件支持。可信平台控制模块是一种具有密码运算功能的安全芯片,主要提供完整性度量功 能、完整性报告功能、可信存储、加解密操作、数字签名操作等。参考相关专利《一种可信平 台模块及其主动度量方法》(专利号ZL200810115^0. 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、外围设备控制器的控制信号输入端口连接到可信平台的处理器和可信平台 控制模块;外围设备控制器的输入输出总线端口连接到可信平台的可信平台控制模块和硬 件设备。
在可信平台控制模块内部,通过通信总线将控制裁决引擎、执行引擎、非易失性存 储单元、易失性存储单元、计数器、输入输出总线接口、控制策略配置信息定制引擎、工作模 式配置信息定制引擎、状态切换控制引擎、主动检查引擎、可信密码模块,相互连接在一起。在htel公司提供的计算机系统架构中,外围设备控制器可以分为北桥控制器和 南桥控制器,在^tel公司之外的处理器公司提供的计算机系统架构中,外围设备控制器 不区分北桥控制器和南桥控制器,而是直接与处理器相连接的设备控制器;如图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、当可信平台控制模块认定硬件设备是可信硬件设备后,可信平台控制模块 与可信硬件设备的可信模块进行协商,分别在可信平台控制模块和该可信硬件设备的可信 模块中,各生成三种非对称密钥对,非对称密钥对包括一个公钥和一个私钥,分别用于可信 平台控制模块,在配置可信硬件设备的固件代码、配置工作模式配置信息和控制策略配置 信息过程中的会话加密和签名操作;用于可信平台控制模块向可信硬件设备发送固件代 码、工作状态和控制策略的切换信号;用于可信平台控制模块与可信硬件设备之间传输数 据和控制信号的加密传输和签名;Kill代表可信平台控制模块生成的密钥的私钥,Kil2代表可信平台控制模块生 成的密钥的公钥,Κ 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、可信平台控制模块的执行引擎从可信平台控制模块的非易失性存储单元中,读取需要定制工作模式配置信息的可信硬件设备的类型、工作模式种类,然后从可信平台 控制模块的非易失性存储单元中,选取该可信硬件设备对应的工作模式的定制策略;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、可信硬件设备的可信模块,根据可信硬件设备当前配置的固件代码、工作模 式配置信息和控制策略配置信息,控制可信硬件设备中的总线控制器,实现对访问者的访 问操作的限制。
权利要求
1.一种可信平台包括CPU、显卡、内存、BOOT ROM、可信平台控制模块、硬件设备和外围 设备控制器,其特征在于可信平台控制模块除包括执行引擎、通信总线、非易失性存储单元、易失性存储单元、 计数器和输入输出总线接口之外,还包括控制裁决引擎、控制策略配置信息定制引擎、工 作模式配置信息定制引擎、状态切换控制引擎、主动检查引擎和可信密码模块;可信密码模块除包括对称密码算法引擎、非对称密码算法引擎、随机数发生器、度量 算法引擎、执行部件、非易失性存储单元、易失性存储单元、可信接口单元和通信总线之外, 还包括输入输出隔离单元;硬件设备除包括非可信硬件设备之外,还包括可信硬件设备; 可信硬件设备包括基本硬件电路、总线控制器、平台总线接口、外围总线接口、固件存 储单元、策略存储单元、配置存储单元和可信模块,并且通过了可信平台控制模块对所述硬 件设备的认证;总线控制器通过通信总线与基本硬件电路、平台总线接口、外围设备接口、固件存储单 元、策略存储单元、配置存储单元和可信模块相互连接;外围设备控制器的控制信号输入端口连接到可信平台的处理器和可信平台控制模块; 外围设备控制器的输入输出总线端口连接到可信平台的可信平台控制模块和硬件设备;在可信平台控制模块内部,通过通信总线将控制裁决引擎、执行引擎、非易失性存储单 元、易失性存储单元、计数器、输入输出总线接口、控制策略配置信息定制引擎、工作模式配 置信息定制引擎、状态切换控制引擎、主动检查引擎、可信密码模块,相互连接在一起; 该可信平台还包括输入输出隔离单元;输入输出隔离单元包括两个端口,其中一个端口通过通信总线连接对称密码算法引 擎、非对称密码算法引擎、随机数发生器、度量算法引擎、执行部件、非易失性存储单元和易 失性存储单元,另一个端口连接可信平台控制模块的通信总线。
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可信平台控制模块的主动检查引擎,向可信硬件设备的可信模块发送主动检查 命令;3.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、可信平台控制模块向可信硬件设备下发固件代码、工作模式配置信息和控制策略配 直fe息;.4. 1可信平台控制模块根据可信平台的访问者的请求,向可信硬件设备下发固件代码、 工作模式配置信息和控制策略配置信息;.4. 2可信平台控制模块的控制裁决引擎对提出请求的可信平台的访问者,进行身份合法性和访问权限的检查,通过检查后,可信平台控制模块的执行引擎获取可信密码模块的 非易失性存储单元中的会话密钥;如果没有通过身份合法性和访问权限的检查,则拒绝继 续执行下发操作;·4. 3可信平台控制模块的执行引擎,利用加密和数字签名手段将固件代码编号、固件代 码、工作模式配置信息编号、工作模式配置信息、控制策略配置信息编号和控制策略配置信 息,发送给可信硬件设备;·4.4可信硬件设备存储可信平台控制模块下发的数据;·5、可信平台控制模块切换可信硬件设备的固件代码、工作状态和控制策略;·5. 1可信平台的访问者向可信平台控制模块,发送切换可信硬件设备的固件、工作状态 和控制策略的请求,可信平台控制模块对访问者的身份合法性和访问权限进行检查,选取 与通过检查的访问者对应的会话密钥;如果访问者没有通过检查,则拒绝继续执行该切换 操作;·5. 2可信平台控制模块的状态切换控制引擎使用可信密码模块,利用加密和数字签名 手段,将状态切换控制信息发送给可信硬件设备的可信模块;·5. 3可信硬件设备的可信模块,对收到的信息进行解密,并验证数字签名的正确性;如 果数字签名正确,则执行该切换操作并向可信平台控制模块发送确认信号,否则拒绝执行 切换操作;·5.4可信平台控制模块的状态切换控制引擎使用可信密码模块,对收到的确认信号进 行验证;·6、可信平台的访问者登陆或退出可信平台或者操作系统时,可信平台控制模块对可信 硬件设备的工作状态和控制策略的切换;·6··. 1可信平台的访问者登录可信平台或者操作系统时,可信平台立即将访问者身份信 息和访问权限,发送给可信平台控制模块;·6. 2可信平台控制模块收到访问者的身份信息和访问权限后,立即将可信硬件设备的 工作状态和控制策略,切换到与访问者身份和访问权限对应的工作状态和控制策略;·6. 3当访问者退出可信平台或者操作系统时,可信平台立即向可信平台控制模块发送 访问者退出信号;可信平台控制模块收到访问者退出的信号后,立即将连接到可信平台的 可信硬件设备切换成初始化的默认工作状态和默认的控制策略。
全文摘要
一种可信平台及其对硬件设备的控制方法属于计算机领域。可信平台上包括硬件设备和具有主动控制功能的可信平台控制模块。可信平台控制模块内部设置主动度量引擎、控制裁决引擎、工作模式定制引擎、可信控制策略配置引擎等硬件单元,实现对硬件设备工作状态配置信息、控制策略配置信息、固件代码和电路工作状态的主动检查等控制功能,通过可信管道技术、主动控制和主动检查功能实现的可信硬件设备的身份合法性认证和主动控制,可以达到在非可信或者可信度较低的计算环境中,不修改计算平台系统结构,且不显著降低系统工作性能的情况下,仍能为可信平台的访问者提供一个上层无法旁路的可信硬件设备的安全控制机制。
文档编号G06F21/00GK102063592SQ20111000313
公开日2011年5月18日 申请日期2011年1月7日 优先权日2011年1月7日
发明者刘毅, 方娟, 毛军捷, 沈昌祥, 王昱波, 胡俊 申请人:北京工业大学