收藏 分享(赏)

TPM故障解决方案.doc

上传人:hyngb9260 文档编号:6314022 上传时间:2019-04-06 格式:DOC 页数:3 大小:133.50KB
下载 相关 举报
TPM故障解决方案.doc_第1页
第1页 / 共3页
TPM故障解决方案.doc_第2页
第2页 / 共3页
TPM故障解决方案.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、目前对可信计算平台的研究,主要集中在可信计算平台的重要部件 TPM 上面。嵌入 TPM 芯片的系统在加电时,TPM 首先验证当前底层固件的完整性,如正确则完成正常的系统初始化,然后由底层固件依次验证 BIOS 和操作系统完整性,如正确则正常运行操作系统,否则停止运行 1-3 。由此我们可以看出,在计算机主板上安装 TPM 的安全计算机存在下列问题:用户在使用 TPM 的过程中不可避免的会出现某些故障或失误,如 TPM 被拔出、TPM 芯片烧毁等,现有的 TPM1.2 规范并没有考虑这些问题。一旦出现这些情况,系统就不能正常启动。TPM 使用者就无法恢复出保存在 TPM 中的秘密信息以及用这些秘

2、密信息加密的硬盘数据。导致现有 TPM 的使用严重妨碍了易用性的原则。申请(专利)号:200710199230.5可信平台模块的体系结构及其提供服务的方法,提供了一种基于硬件的解决方案,即通过在现有的 TPM 芯片的结构基础上,增设专用信息 I/O 接口模块替代原有的 PP引脚来实现可新平台模块内部信息的内置,备份与恢复,但其不足是需要改变现有的 TPM 芯片的结构,不符合兼容性的原则。文献4提出了一种借鉴太行安全 BIOS 可信体系结构与实现方案,虽然能够保障 BIOS 安全,但是并未考虑 TPM 芯片发生故障的情况;文献5 提出了一种基于 BIOS 和 USB 盘实现对 PC 机的安全访问

3、策略,虽然实现了从计算机启动入口处的安全检查,提高了系统的安全性,但是并未兼容 TPM。本文采用基于软件的方法,无需改变现有 TPM 的架构,改进了文献4 的 BIOS 体系结构,借鉴文献5的技术,使系统在 TPM 故障时,可以禁用 TPM 进行可信测量,并以及通过改变 BIOS 可执行顺序使计算机能够正常启动,在并能启动过程中,还可以利用 USB KEY,实现在 BIOS 层的身份认证; 然后利用保存在 TPM 里的相关证书和密钥,恢复用户的一些重要信息。0 基于 BIOS 和 USB KEY 实现对 PC 机的安全访问 0.1 太行安全BIOS技术BIOS安全是目前信息安全领域研究的一个热

4、点。BIOS 作为固化在主板上ROM芯片中的一段软件代码,主要包括基本硬件驱动与初始化启动及引导部分代码。文献4提出的太行可信 BIOS由两部分构成:CRTM(Core Root of Trust for Measurement)和N- CRTM (Non- CRTM) 。CRTM 是可信链建立的起点,是被无条件信任的。可信BIOS的CRTM包含4个功能模块:平台初始化模块完成CPU 、芯片组、主板、内存、堆栈的初始化工作,建立后续BIOS 程序最小化运行环境;可信硬件驱动模块初始化可信硬件设备,提供可信硬件设备调用的协议函数;可信测量引擎为后续可信测量提供消息摘要和非对称加密引擎;可信恢复引

5、擎在N- CRTM完整性遭到破坏时驱动 BIOS备份存储设备USB KEY,并从该设备中对可信BIOS的N- CRTM进行可信恢复。进入可信恢复模式后,CRTM阶段的可信恢复引擎负责从USB KEY中读入除CRTM之外的可信BIOS的其他部分的映像,并写回到Flash 芯片中。可信恢复的过程同样需要对被加载的BIOS映像进行可信测量,要求操作者提供完整合法的恢复映像。可信BIOS的N- CRTM 完成BIOS固件的其他功能,包括对硬件平台的进一步检测和初始化、设备驱动、模块调度、系统管理、板卡上OPROM(Option ROM)固件代码的调用执行,操作系统引导代码等。用于安全/管理的其他BIO

6、S层的应用程序也可在N- CRTM阶段加载执行。N- CRTM包含的代码必须通过可信测量才能够被加载执行。0.2 兼容TPM故障的BIOSTPM 正常时,以上的太行安全 BIOS 体系结构可以保障 BIOS 安全,但是一旦 TPM 发生故障,此体系结构就不再适用了。尤其是对一些重要应用的政府或军事系统,若攻击者利用了这一严重缺陷,只需要破坏 TPM 芯片,则通过 TPM 加密的所有关键数据都将无法恢复,这一攻击也就成了可信系统的一个严重漏洞。因此需要做出一些改进,使系统能兼容 TPM 故障。要想 TPM 故障时系统能够正常工作,本文采取的第一步是改进 BIOS,即在 BIOS 中添加一个可执行

7、模块。TPM 通过 LPC(Low Pin Count)接口同主板的南桥芯片组连接。在 CRTM 的最初阶段对 LPC 作初始化,读取 TPM 芯片的 VID(Vendor ID)和 DID(Device ID),确定主板上是否存在 TPM,以决定运行过程中是否使用 TPM 进行可信测量。若检测到 TPM 存在,则向 TPM 发出 TPM _Startup( ST_CLEAR)和 TPM_ Continue Self-Test 命令使 TPM 进入完全操作状态,使 TPM 可用于后续的可信测量过程。若在初始化 TPM 时,收到 TPM_NO_ RESPONSE6信号,即 TPM 无响应,说明

8、TPM设备可能出现故障。初始化时,TPM 的状态不同,返回的值也就不同,且返回值被保存在 DL 寄存器中。若 TPM 无响应,返回值为 03h6。本文拟采取的方案是:在从 DL 寄存器读取返回值时,进行一个判断,如果返回值 VALUE=03h,则自动执行一个预先编译好的程序文件可执行模块,其作用是关闭 TPM 的端口,通知系统在以后的运行过程中不使用 TPM 进行可信度量,并执行一个跳转指令,使 BIOS 跳转到平台驱动模块继续执行。如果返回值不等于 03h,即 TPM 正常,则禁用 ISA 模块。可以通过 CBROM 软件提前把此模块写入到主板的 BIOS 之中,CBROM 是由著名的 BI

9、OS 设计公司 AWARD 出品的一款工具软件,其主要的作用是用来编辑、修改、增加、移除 BIOS 压缩包中的内容。0.3 通过USB KEY实现对PC机的安全访问在禁用 TPM 进行可信度量后, BIOS 就可以继续执行其他功能了,但是为了保证系统安全,必须对访问进行控制,本文采取 USB KEY 结合访问控制模块来实现。BIOS 中访问控制模块是嵌入在 BIOS 中的,它在 BIOS 启动过程中自动加载运行,访问控制模块读取USB KEY 的标志、密钥信息和用户输入的密码,将这些数据作为输入参数送入到 MD5 算法模块中,将生成的数值与 BIOS 模块中存储的密钥相比较,若一致系统继续启动

10、,否则系统处于等待状态,由于是在计算机启动入口处进行访问控制的检查,因此任何方法都无法绕开检查。要想使编写的程序在BIOS中运行,必须遵守BIOS 的模块格式。BIOS 中有一个模块是ISA(Industrial Standard Architecture)模块来源于ISA协议,由于ISA协议是属于早期的协议,内容相对简单, BIOS对ISA模块的验证也较为简单,我们可以将程序做成ISA模块挂到BIOS中,这样 BIOS启动时,访问控制模块就会启动,而且是先于操作系统之前运行。访问控制模块需要UFI (USB Floppy Interface)驱动的支持才可以对USB盘进行访问,而 ISA模块

11、在 UFI驱动之前加载,为了解决这个问题采用挂钩19H中断的方法。INT 19中断是B IOS程序执行的最后一条指令, 之后将执行操作系统的代码。在ISA 模块的程序运行时,将自己的中断服务程序挂钩到INT 19中断上,当BIOS 代码执行完之后,调用INT 19中断,就会执行访问控制模块的程序,当访问控制程序执行完之后,恢复INT 19中断向量的内容就可以启动操作系统 5。USB KEY中存储用户密钥和身份信息、TPM 相关的密钥以及用于可信恢复的N- CRTM部分的映像。可在系统开启后,利用存储的TPM 密钥进行硬盘解密,读取相关信息。1 改进的 BIOS 体系结构根据第一节的描述,我们对

12、文献4的体系结构做了相应修改,如图 1所示。平 台 初 始 化 模 块可 信 硬 件 驱 动 模 块可 信 测 量 引 擎可 信 恢 复 引 擎C R T M平 台 驱 动 模 块引 导 模 块应 用 功 能 模 块 启 动 选 择 摸 块调度引擎可 信 B I O S初 始 化 向 量BIOS备份存储I P LN - C R T M访 问 控 制 模 块T P M 正 常初 始 化 T P M 时 , 若 T P M故 障 , 跳 转 执 行 可 执行 模 块可 执 行 模 块跳 转 执 行执 行 完 后图1 什么的BIOS 体系结构,可否给这一体系结构起一个名称当TPM正常时, BIOS按

13、左侧的体系结构部分执行。系统开机上电后,CPU初始指向并执行可信BIOS的CRTM包含的指令代码,CRTM执行完后会对N-CRTM 的调度引擎进行可信测量。测量成功则执行调度引擎,测量失败说明加载代码不可信(遭到修改或破坏、或来源不可信),则CRTM会启动可信恢复引擎要求用户对BIOS系统进行可信恢复。调度引擎加载后续的N-CRTM 的其他模块时,需调用CRTM提供的可信测量引擎提供的加解密协议对其进行可信测量。测量成功则执行下一个模块,否则调用CRTM的可信恢复引擎作可信恢复。可信BIOS执行的最后一个阶段是由可信BIOS引导模块对IPL进行可信测量,成功后进入操作系统引导阶段。当 TPM 发生故障时, BIOS 按右侧体系结构部分执行。平台初始化模块完成 CPU、芯片组、主板、内存、堆栈的初始化工作,建立后续 BIOS 程序最小化运行环境;当系统执行到可信硬件驱动模块即初始化 TPM 时,因为此时 TPM 故障,根据 1.1 节的描述,在系统读返回值 03h 的同时,我们加载自己编写的可执行模块,关闭 TPM 端口,然后,执行一个跳转指令,使系统跳转到 N-CRTM 模块的地址处执行。在调用 INT 19H 时,系统会加载访问控制进行访问控制,成功后进入操作系统引导阶段。否则,若用户连续输入超过三次,强制关机。整个方案的流程图,如图 2 所示。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 解决方案

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报