一种可信平台模块及其主动度量方法

文档序号:6464385阅读:168来源:国知局
专利名称:一种可信平台模块及其主动度量方法
技术领域
本发明涉及信息安全领域,尤其涉及一种可信平台模块及其主动度量的方法。
背景技术
国际可信计算组织TCG所提出的可信计算的基本思想是构建一个可信根(Root of trust),并从可信根开始,用杂凑度量的方法建立一条可以验证的信任链,从硬件平台 到BI0S、操作系统,再到应用, 一级验证一级,从而把这种信任扩展到整个计算机系统, 确保计算机系统可信。
TCG推出了以可信平台模块TPM (Trusted Platform modules)为主的系列规范,以 TPM为可信根,建立从底层硬件到操作系统的信任链,形成可信平台。
TCG规范中给出三个信任根,可信存储根、可信报告根和可信度量根,前两个根放在 可信平台模块TPM芯片中,但可信度量根放在BIOS中,在工程实践中,这种方式引起了 BI0S篡改、信任根建立等问题。
可信根
在TCG系统中,可信根是无条件被信任的,系统并不检测可信根的行为,因此可信根 的是否真正值得信任,是系统的可信关键。这就要求可信根的功能最小化,理论上应具有 数学意义上的可信任,工程实现上基于硬件的物理保护。文献[2]给出三个信任根 用于度量的根信任(Root of Trust for Measurement, RTM),即可信度量根; 用于存储的根信任(Root of Trust for Storage, RTS),即可信存储根; 用于报告的根信任(Root of Trust for Report, RTR),即可信报告根; RTM是一个完整性度量的起始点,能够进行可靠的完整性测量的计算引擎。 RTS是能够保存完整性信息摘要的正确记录和信息摘要序列的计算部件。 RTR是能正确报告RTS所保存信息的可靠性的计算部件。
其中,可信存储根和可信报告根存储在不可篡改的可信平台模块TPM中。核心可信度 量根CRTM存储在基本输入输出系统BIOS中,也就是说CRTM和RTM不在TPM中。而可信 度量根是建立可信链的重要部件,它的可信是整个系统可信的根基,将CRTM存放在BIOS 可能引起病毒和恶意程序的修改,从而引起整个信任根的破坏,导致信任链的失效。
可信度量根存储在可以修改的BIOS中降低了系统的安全性。因为信任链是一个单向传 递链,其间任意一个节点出现问题,都会导致整个信任环境建立失败,因此, 一旦该可信度量根被篡改,则无法在该可信终端系统中建立可信计算环境,导致可信终端系统存在安全隐患。发明内容本发明的目的在于提供一种可信平台模块(TPCM) Trusted Platform Control Module, 以及基于可信平台模块的主动度量方法。可信平台模块是一种集成在可信计算平台中,用 于建立和保障信任源点的硬件核心模块,为可信计算提供完整性度量、安全存储、可信报 告以及密码服务等功能。为达到上述目的,本发明的技术方案具体是这样实现的一种可信平台模块,其特征在于包括控制单元和主动度量单元。其中主动度量单元, 其包括数据访问模块、数据解析模块、杂凑算法模块和同步时钟模块,是用于在TPCM上 电后,主动读取外部待度量的信息,并完成对所述信息的度量工作;其中控制单元包括控 制执行模块和状态检测模块,用于决定如何对计算机系统中的硬件设备进行硬件控制,以 及向硬件设备发出控制信号。数据访问模块通过可信平台模块芯片管脚和外部扩展的存储体连接。上电后,对可 信平台模块外部扩展的存储体进行数据读取的控制操作。数据解析模块与数据访问模块相连,负责实现通讯协议和读取数据访问模块采集到 的数据内容,并将采集到的数据转换成可以被杂凑运算模块直接操作的数据。杂凑算法模块是度量运算的主要执行单元。其与数据解析模块相连,对数据解析模 块转换后的数据进行杂凑值运算,生成度量值或者度量参考值。同步时钟模块:通过可信平台模块芯片管脚和外部扩展的存储体连接。负责向被主动 读取数据的外部存储提供同步时钟。控制执行模块直接连接到硬件资源的使能信号输入端,负责向硬件资源发出控制信号。状态检测模块负责实时检测硬件资源的工作状态。所述的可信平台模块(TPCM)进行主动度量方法,包括以下步骤a) 主机供电,可信平台模块TPCM与BIOS芯片同时先于主板上其他硬件单元上电, 执行初始化模块代码;b) TPCM执行状态检查,判断是否处于禁用状态;同时状态检测模块通过通讯总线搜集PC上的硬件资源信息与当前使用状态;c) 如果TPCM处于使能状态,则TPCM的控制执行模块将向信号切换单元发出切换命 令,准备进行主动度量操作,同时同步时钟模块向BIOS芯片提供同步工作时钟; 控制执行模块想BIOS芯片发出使能信号,数据访问模块读出BIOS中的关键代码, 经数据解析模块解析后,交给杂凑算法模块进行度量并存储度量结果;如果BIOS 度量不成功,则控制执行模块向信号切换信号器发出控制指令,切换单元切换到 正常启动模式后,平台受控启动,TPCM进入失败处理流程,由预定管理策略或者 由平台管理员现场4喿作,选4奪进入非可信工作才莫式平台下电或重启;d) 如果TPCM对BIOS的关键代码度量结果正确,则TPCM的控制执行模块向信号切换 单元发出切换信号,信号切换单元发出平台上电信号,平台上电,BIOS启动执行; 如果判断到TPCM处于禁用状态,信号切换单元进行切换操作,则平台正常上电, BIOS启动,系统不经过度量环节,依次经过MBR启动和内核加载步骤,使平台进 入非可信工作冲莫式;e) BIOS中的关键代码完成对BIOS其他部分代码和MBR的度量,并将度量结果存储在 TPCM中;f) 如果对MBR度量成功,则MBR启动;g) MBR对OS Loader进行度量,将度量结果存储在TPCM中;h) 如果对OS Loader度量成功,则OS内核被加载;i) 系统进入可信工作模式。所述可信平台模块,其特征在于将完整性度量根放置在TPCM内部,由硬件和固件协同 实现,用于实现对可信计算平台和可信计算系统的主动度量4喿作。TPCM上电初始化后,首 先将根据可信完整性度量功能,在可信计算平台上的CPU上电之前,主动的对存储在BOOT ROM中的BIOS代码、外围硬件设备的固件、操作系统在内的各部分依次的分步骤的进行完 整性检查,以保证平台启动链中的软件代码没有被篡改硬件设备没有被非法替换,其后CPU 上电,读取BIOS代码。并且在初始化外部设备的同时,对制定的外部i殳备进行完整性、 可靠性检查,实现可信报告功能;在主动度量阶段和正常计算机工作阶段之间进行切换时, 需要通过信号切换单元来实现。实施效果本发明设计了可信平台才莫块(Trusted Platform modules, TPCM),它实现了 TPM的 功能,且将可信度量才艮RTM植入TPCM中。这样,TPM所提出的三个信任根都存储在具有物 理保护的芯片中,防止外界篡改可信^f艮,因此,其可信性更有保障。
在信任链建立方面提出了主动度量模式。设计独立的隔离电源为TPCM和CPU供电, 让TPCM先于CPU启动,使TPCM运行于主动模式,对BIOS的启动代码(Boot Block)进 行完整性验证,实现了可信平台模块作为整个平台的信任根的特性。
与TCG的TPM方案相比,TPCM方案不仅提高了芯片的可信性,也体现了可信根的可控 制性。本文的方案中,TPCM是平台唯一的信任根,所以默认可信(axiomatically trusted) 的只有TPCM芯片;在TCG方案中,除TPM要求默认可信之外,还要求核心可信度量根(Core Root of Trusted Measurement, CRTM)默认可信,而CRTM包含BIOS、键盘等。显然,TPCM 方案更加安全。


图1 TPCM组成结构图
图2 TPCM内部固件组成图
图3 TPCM可信度量流程图
图4 TPCM详细工作流程图
图5 TPCM与主板其它通用设备复位时序关系
图6信号切换单元连接图
具体实施例方式
TPGM硬件组成结构
可信平台模块采用经典SOC设计方案,主要完成TPCM的基本功能(见图1)。芯片内 部实现包括CPU、非易失性存储单元、易失性存储单元、随机数发生器、密码算法引擎、 密钥生成器、定时器、控制单元、主动度量单元、输入输出桥接单元和总线控制器,由输 入输出桥接单元统一将这些功能单元映射到片内微处理器的访问地址空间。另外,芯片除 LPC控制器之外,设置多种控制器接口 ,以适应不同主板总线。
其中主动度量单元,其包括数据访问模块、数据解析模块、杂凑算法模块和同步时钟 模块,是用于在TPCM上电后,主动读取外部待度量的信息,并完成对所述信息的度量工 作;其中控制单元包括控制执行模块和状态检测模块,用于决定如何对计算机系统中的硬 件设备进行硬件控制,以及向硬件设备发出控制信号。>模块实现方法1) 数据访问模块该模块采用硬件方式实现,主要负责完成TPCM主动对外部数据存储体 的访问操作。组成主要包括对LPC通讯总线的主从模式的切换控制部分、数据控制读 取部分、读取数量控制部分、读取时序控制部分等。该模块1/0端口主要包括使能信 号端口、输入输出信号端口、中断信号端口等2) 数据解析模块该模块采用硬件方式实现,与数据访问模块相连,负责实现通讯协议 和读取数据访问模块采集到的数据内容,并将采集到的数据转换成可以被杂凑运算模 块直接操作的数据。通讯协议部分是基于LPC通讯协议基础上实现自定义的可信平台 控制模块的通讯协议,该部分包括数据解析操作和数据封装操作。数据解析操作主要 是进行数据的分类、非法数据过滤、数据的格式转换、数据组合等。数据封装操作是 将处理完的数据按照自定义的通讯协议进行组包封装。该模块I/O端口主要包括使能 信号端口、输入输出信号端口、功能选择端口等3) 杂凑算法模块该模块采用硬件方式实现,是度量运算的主要执行单元。其与数据解 析模块相连,对数据解析模块转换后的数据进行杂凑值运算,生成度量值或者度量参 考值。模块1/0端口主要包括使能信号端口、输入输出信号端口、中断信号端口等。4) 同步时钟模块通过可信平台模块芯片管脚和外部扩展的存储体连接。负责向被主动 读取数据的外部存储提供与可信平台模块同步的工作时钟。同步时钟信号可以由可信 平台模块内部产生,也可以取自外部的分支信号。5) 控制执行模块直接连接到硬件资源的使能信号输入端,负责向硬件资源发出控制信 号。可以进行硬件资源使能和禁用、信号切换单元的切换控制等操作。主要包括与相 连设备的使能信号控制端口、中断端口、数据通讯端口等。6) 状态检测模块负责实时检测硬件资源的工作状态。通过SMBUS总线接口查询硬件资 源的使用状态和相关信息。TPCM固件组成构成TPCM固件是芯片内部的核心控制程序,主要负责辅助硬件单元实现可信计算功能,同 时以软件的方式管理和维护硬件资源。TPCM基本功能由内部固件实现,其固件包含五个部 分(见图2):*初始化模块负责对模块进行初始化、模块自检等。*输入输出驱动模块模块内输入输出的驱动函数库,负责可信平台模块内部的总线控制器。* 主动度量模块负责控制主动度量单元,对Boot R0M的主动度量。*指令处理模块负责对外部实体发送的指令进行解析和执行。*访问控制模块负责辅助控制单元,实现对硬件资源的访问控制和工作状态检测。TPCM可信度量流程TPCM可信度量流程(见图3):a) 主机供电,TPCM与BIOS芯片同时先于其他主板上其他硬件单元上电,执行初始化 模块代码。b) TPCM执行状态检查,判断是否处于禁用状态。同时状态检查模块通过I2C或者SMbus 总线搜集PC上的硬件资源信息与当前使用状态。c) 如果TPCM处于使能状态,则TPCM的控制执行才莫块将向信号切换单元发出切换命 令,准备进行主动度量操作,同时同步时钟模块向BIOS芯片提供同步工作时钟。 控制执行模块想BIOS芯片发出使能信号,数据访问模块读出BIOS中的关键代码, 经数据解析模块解析后,交给杂凑算法模块进行度量并存储度量结果。如果BIOS 度量不成功,则控制执行模块向信号切换信号器发出控制指令,切换单元切换到 正常启动模式后,平台受控启动,TPCM进入失败处理流程,由预定管理策略或者 由平台管理员现场操作,选择进入非可信工作模式或者是平台下电或重启。d) 如果TPCM对BIOS的关键代码度量结果正确,则TPCM的控制执行模块向信号切换 单元发出切换信号,信号切换单元发出平台上电信号,平台上电,BIOS启动执行。 如果判断到TPCM处于禁用状态,信号切换单元进行切换操作,则平台正常上电, BIOS启动,系统不经过度量环节,依次经过MBR启动和内核加载步骤,使平台进 入非可信工作模式。e) BIOS中的关键代码完成对BIOS其他部分代码和MBR的度量,并将度量结果存储在 TPCM中。f) 如果对MBR度量成功,则MBR启动。g) MBR对OS Loader进行度量,将度量结果存储在TPCM中。h) 如果对OS Loader度量成功,则OS内核被加载。i) 系统进入可信工作模式。TPCM详细工作流程
TPCM详细工作流程分为三个部分(见图4):可信工作模式流程、异常处理工作流程和非
可信工作模式流程。
>可信工作模式流程
1) TPCM正常启动后完成初始化自检、度量、认证绑定、发送可信计算平台启动信号 的一系列动作,开始进入可信工作;漠式。
2) 接收指令TPCM通过总线控制器和数据解析模块来接收指令。如果没有接收到指 令则处于等待接收指令状态。
3) 口令判断指令集部分指令需要通过授权口令判断才能执行。如果没有通过口令 判断,则应该向可信计算平台返回指令失败应答信号,装换到空闲等待接收指令 状态。
4) 指令解析通过数据解析模块和固件中的指令处理模块,将接收到的指令进行细 化分析,转换成可复用的原语操作。
5) 访问权限检查如果指令需要使用到硬件设备时,需要4会查当前用户对该设备的 使用权限。通过检查的指令可以继续执行,没有通过检查的指令不能执行,并向 可信计算平台返回指令失败应答信号。
6) 指令执行执行通过检查的指令包含的所有原语操作。
7) 返回成功应答当指令包含的所有原语操作都执行完成后,应向可信计算平台发 送指令执行成功应答信号。
8) TPCM掉电判断当向可信计算平台发送指令执行成功应答信号后,应做TPCM掉电 判断。如果有掉电请求,则TPCM内部的控制执行模块应向信号切换单元发出切换 操作,并执行平台和TPCM掉电操作,最后退出。如果没有掉电请求,则应回到等 待接收指令状态。
>异常处理工作流程
TPCM上电启动后,当处于功能使能状态,应进行出错状态检查、初始化自检、度量EMM1 、 认证绑定操作。如果上述操作有任意一项不能完成,则应按照下面流程完成异常处理工作
1) 处于出错状态TPCM启动后需要检查TPCM是否处于出错状态,如果在出错状态, 则需要保存审计日志,并交由管理员处理错误。
2) 初始化、自检TPCM启动后需要执行初始化和主动自检工作,并保存审计日志。 其中自检工作必须包括主动和被动两种自检方式。3) 度量BIOS关键代码TPCM中的可信度量根RTM对BIOS中的关键代码主动进行完 整性度量,保存度量日志。4) 认证绑定TPCM启动后需要认证当前所在平台是否是上次可信计算平台绑定操作 中被绑定的对象。如果不是,则给出出错信号,并保存审计日志。5) 保存失败类型如果出现上述四种情况之一,则应保存失败类型及审计日志。6) 平台启动信号保存失败类型后,应向平台发送启动信号,TPCM也可以在此时关 闭平台上的除鼠标/键盘/显示器以外的其它部件,进一步控制平台的启动环境。7) 显示失败信息当平台启动,执行BI0S后,应才艮据保存的失败类型,向用户显示 失败类型信息。8) 管理员登录当显示失败信息后,需要管理员登录对失败信息进行处理。9) 异常处理操作由管理员根据失败原因进行相应的异常处理操作。10) 禁用TPCM:当管理员不能及时对失败信息进行处理时,可以由管理员发出TPCM的 功能禁用操作。功能禁用后,系统的启动流程不发生变化。11) 如果执行了 TPCM禁用操作,则应给可信计算平台发出TPCM禁用信号。并通过BI0S 显示给用户。12) 平台、TPCM重启管理员可以执^f亍平台掉电、TPCM重新启动才喿作。 >非可信工作模式流程TPCM上电启动后,当处于功能禁用状态或者是处于出错状态,则应按照下面流程完成 功能禁用状态或者出错状态处理流程1) 平台启动信号当TPCM处于功能禁用状态或者处于出错状态后,TPCM控制执行模 块向信号切换单元和可信计算平台发出平台正常启动信号。2) 用户登录可信计算平台BI0S启动,系统提示用户登录。如果登录的是管理员, 则可以进入到对TPCM的使能状态设置操作流程。如果是普通用户登录,则可以选 择是否继续启动,进入到非可信操作系统中,或者是平台、TPCM都掉电,并退出 系统。如果是管理员登录,则可以选择是否使能TPCM,并执行平台掉电、TPCM重 新启动,或者是平台、TPCM都掉电,并退出系统。TPCM电源设计为了实现主动度量功能,改进了主板的电源供电子系统,设计了 TPCM隔离的供电电路, 并对现有的平台主板启动时序进行调整(见图5)。计算机启动后,TPCM、 BIOS和系统时钟同时先与CPU上电。先由TPCM对Boot ROM的 初始启动代码(Boot Block)和主板硬件设备进行完整性度量。TPCM中的可信度量根RTM 完成度量后,向信号切换单元发出切换信号进行正常启动。此时信号切换单元向电源控制 器发出全面供电信号,启动CPU、芯片组和动态存储器等通用设备,实现正常开机启动。
工程实验表明,改进方案对主板的修改涉及范围不大,成本开销很小,且修改后的主 板与原主板可以完全兼容。
信号切换单元设计
在计算机正常工作阶段,可信平台模块、BIOS相对于计算机主板都被视为受控设备, 直接受控于计算机设备控制器(见图6)。而在计算机启动过程中的主动度量阶段,可信 平台控制模块被当作控制端,BIOS被当作TPCM的受控设备,接受TPCM的主动度量和检测。 这样可信平台控制模块和计算机设备控制器之间就存在两个工作阶段中,两个控制主端的 切换问题。
为了解决TPCM和计算机设备控制器之间存在的切换问题,就需要设计一个由TPCM控 制的信号切换单元,分别连接计算机设备控制器、TPCM、 BIOS和电源控制器,负责在两个 阶段切换时提供信号的切换和抗干扰功能。其主要连接的通讯线包括数据线、地址线和 控制线(包括TPCM单独向BIOS提供的同步时钟信号线和连接到电源控制器的信号线)。 具体要求
1) 在主动度量阶段TPCM使用的通讯协议应和BIOS采用的通讯协议一致。
2) TPCM和BIOS之间的通讯速度在双方芯片运行的工作范围内,可以才艮据TPCM提供的同 步时钟自适应设定。 一般定义为33MHZ。
3) 在每一个阶_&中,信号切换单元应保证同一时刻只能有一个主控制端存在。
4) 在任一主控制端工作时,信号切换单元应保证正常的通讯不受外部电路的串扰影响。
5) 在TPCM功能使能前提下,默认计算机启动时信号切换单元将TPCM与BIOS连通,且为 想电源控制器发出全面供电信号。
与TPM不同之处在于,TPCM独立于系统CPU供电,所以可以作为主设备先于CPU启动。 这样设计的目的有两个 一是可信度量根可以设计在TPCM内部,由TPCM提供基于硬件级 的可信度量根,以TPCM为起点建立信任链;二是TPCM独立于系统CPU,对可信平台环境 的度量、监控与记录。
权利要求
1.一种可信平台模块,其特征在于包括控制单元和主动度量单元;其中主动度量单元由硬件实现,包括数据访问模块、数据解析模块、杂凑算法模块和同步时钟模块,是用于在可信平台模块上电后,主动读取外部待度量的信息,并完成对所述信息的度量工作;其中控制单元包括控制执行模块和状态检测模块,用于决定如何对计算机系统中的硬件设备进行硬件控制,以及向硬件设备发出控制信号;数据访问模块通过可信平台模块芯片管脚和外部扩展的存储体连接;上电后,对可信平台模块外部扩展的存储体进行数据读取的控制操作;数据解析模块与数据访问模块相连,负责实现通讯协议和读取数据访问模块采集到的数据内容,并将采集到的数据转换成可以被杂凑运算模块直接操作的数据;杂凑算法模块是度量运算的主要执行单元,与数据解析模块相连,对数据解析模块转换后的数据进行杂凑值运算,生成度量值或者度量参考值;同步时钟模块通过可信平台模块芯片管脚和外部扩展的存储体连接;负责向被主动读取数据的外部存储提供同步时钟;控制执行模块直接连接到计算机系统中的硬件设备的使能信号输入端,负责向硬件设备发出控制信号;状态检测模块负责实时检测计算机系统中的硬件设备的工作状态。
2. 应用权利要求l所述的一种可信平台模块进行主动度量的方法,其特 征在于,包括以下步骤a) 主机供电,可信平台模块TPCM与BIOS芯片同时先于主板上其他硬件 单元上电,执行初始化模块代码;b) TPCM执行状态检查,判断是否处于禁用状态;同时状态检测模块通过 通讯总线搜集PC上的硬件资源信息与当前使用状态;c) 如果TPCM处于使能状态,则TPCM的控制执行模块将向信号切换单元 发出切换命令,准备进行主动度量操作,同时同步时钟模块向BIOS芯 片提供同步工作时钟;控制执行模块想BIOS芯片发出使能信号,数据 访问模块读出BIOS中的关键代码,经数据解析模块解析后,交给杂凑 算法模块进行度量并存储度量结果;如果BIOS度量不成功,则控制执 行模块向信号切换信号器发出控制指令,切换单元切换到正常启动模式后,平台受控启动,TPCM进入失败处理流程,由预定管理策略或者由平台管理员现场操作,选择进入非可信工作模式平台下电或重启;d) 如果TPCM对BIOS的关键代码度量结果正确,则TPCM的控制执行模块 向信号切换单元发出切换信号,信号切换单元发出平台上电信号,平 台上电,BI0S启动执4亍;如果判断到TPCM处于禁用状态,信号切换单 元进行切换操作,则平台正常上电,BIOS启动,系统不经过度量环节, 依次经过MBR启动和内核加载步骤,使平台进入非可信工作模式;e) BIOS中的关键代码完成对BIOS其他部分代码和MBR的度量,并将度量 结果存储在TPCM中;f) 如果对MBR度量成功,则MBR启动;g) MBR对OS Loader进行度量,将度量结果存储在TPCM中;h) 如果对OS Loader度量成功,则OS内核被加载;i) 系统进入可信工作模式。
全文摘要
一种可信平台模块及其主动度量方法涉及信息安全领域。可信平台模块TPM是可信计算平台的信任根,是可信计算的核心模块,本发明指出TPM芯片中的度量根核心CRTM构成和信息链建立的问题,提出新的可信平台模块设计方案,以及基于该可信平台模块的一种主动模式的度量方式,将平台的可信度量根设计在可信平台模块内部,解决了BIOS篡改引起的信任根安全威胁,并利用该模块作为信任根建立了一种主动模式的信任链。本发明称这种模块为可信平台控制模块TPCM(Trusted Platform Control Module),体现了信任根在整个平台中的控制作用。
文档编号G06F21/00GK101295340SQ200810115280
公开日2008年10月29日 申请日期2008年6月20日 优先权日2008年6月20日
发明者刘智君, 刘贤刚, 姜广智, 瑜 孙, 庄俊玺, 兴 张, 晨 李, 李瑞华, 毛军捷, 蒋敏慧, 黄宁玉 申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1