一种可信机制上的嵌入式平台引导的制作方法

文档序号:6573077阅读:470来源:国知局
专利名称:一种可信机制上的嵌入式平台引导的制作方法
技术领域
本发明涉及一种嵌入式设备在启动阶段对外部设备,特别是存储型外部设备进行安全 检测的体系结构。
技术背景传统计算机系统存在如下一些安全隐患计算机软、硬件结构简单,导致计算机资源 可被任意使用,尤其是执行代码可修改、可植入恶意程序;病毒程序利用计算机操作系统 对执行代码不进行一致性检查的弱点,将病毒代码嵌入到执行代码程序,实现病毒传播等 等。因此,必须考虑对传统的计算机的软、硬件结构进行改造。TCG (Trust Computing Group,可信计算组织)提出了 "可信链"禾Q "可信度量"的 概念,包含系统平台的信任度量、存储、报告这一系列的可信机制。TCG认为如果计 算机系统由一个被接受的初始"可信根"开始,在系统平台的每一次控制权转换时,通过 完整性度量,可以将这种信任传递给下一个控制单元,因此平台计算环境始终是可信的。 TCG在其发布的规范[l]中定义了具有安全功能的可信平台模块(Trust Platform Module, TPM),通过在计算机系统中嵌入一个可抵制篡改的独立计算引擎作为平台系统的可信根, 再通过信任链机制,将信任扩展到整个平台。平台启动过程是从硬件域到软件域的重要过渡,因此实现安全的平台启动对整个系统 的安全意义重大。嵌入式平台启动后,所运行的第一部分引导代码称为Bootloader (平台引导程序)。 Bootloader是严重依赖与硬件的,针对不同的嵌入式平台有不同的Bootloader,但其基本 功能都为平台上电、设置CPU工作频率、设置中断、初始化核心硬件设备、建立内存 空间映射、初始化部分所需的外部设备,然后从Flash存储设备上将操作系统内核拷贝到 预定的内存空间中,将用户配置的启动参数传递Linux系统,随后跳转到操作系统内核的 起始地址运行操作系统。由于嵌入式平台一般没有配置ROM (只读存储器),Bootloader通常存储在Flash这 种可读写的存储介质中,容易受到来自外部的恶意攻击。恶意攻击者会试图对Bootloader 进行篡改和破坏,以图达到控制或破坏整个系统的目的。目前采用的一些体系结构改进方案,如依靠USBkey、智能卡进行身份认证和完整性 度量,都存在的问题是嵌入式系统的信任根依赖于启动程序Bootloader,如果Bootloader 被恶意篡改,则可以越过USBkey等认证方式启动系统。所以,这类方案仍然是凭借软件 方式来建立信任链。鉴于此威胁,可考虑引入硬件保护机制-TPM,用于保护Bootloader 的完整性。现有的Bootloader在初始化外部设备过程中都没有对外部设备进行检测,而是假定外 部设备都是可正常工作、安全可信的。然而攻击者有可能通过添加、更改、替换外部设备 等手段接入非法外部设备,以图在嵌入式平台工作时,收集平台的重要信息、破坏平台正 常工作。若要在操作系统层来排除上述潜在危险,由于Limix操作系统采用虚拟文件系统机制, 将物理设备映射成文件进行管理。必须对Linux驱动层源代码有较大幅度的修改,难度大, 修改结果的可预计性差。因此,在Bootloader引导阶段对外部设备进行检测是一个较好的 策略。 发明内容本发明所要解决的技术问题是结合可信测量、可信报告、可信链拓展思想,设计一 种可信机制上的嵌入式平台引导方式,该方式基于嵌入式Linux操作系统在嵌入式平台上 启动过程的现实条件,利用TPM提供独立、硬件方式以实现嵌入式平台的可信启动。本发明解决其技术问题采用的技术方案是将嵌入式平台与TPM结合在一起,用TPM 支持嵌入式平台的安全性和可信性;TPM首先将根据可信完整性测量根,在嵌入式平台 CPU开始工作之前,对存储在嵌入式平台上Flash中的包括Bootloader、操作系统在内的 部分进行完整性验证,以确保平台启动链中的软件可执行代码未被篡改,其后再允许嵌入 式平台CPU读取Bootloader进行启动;由于Bootloader源码开放,TPM可按照步进方式 控制启动过程中每一个步骤的走向,并且在初始化外部设备的同时,对指定的外部设备进 行完整性、可靠性测量,实现可信测量和报告机制;TPM是可信平台模块,Bootloader 是嵌入式平台引导程序。本发明提供的方法与现有技术相比具有以下的主要优点其一.采用独立硬件单元TPM作为整个嵌入式系统的硬件信任根,因此TPM在嵌入 式平台初始化之前就开始工作;在TPM支持下能够按照信任链结构对将在嵌入式平台执 行的Bootloader引导程序进行完整性测量,使运行的Bootloader保证良好的完整性。其二.由于使用了经过可信化后的Bootloader,通过信任链机制保证在带有TPM监控 的可信环境卜一进行嵌入式主平台初始化、外部设备检测、操作系统载入、操作系统参数传 入、操作系统运行等工作。其三.可以形成从硬件到软件的一个完整可信启动体系,实现可信测量和报告机制。


图1为嵌入式平台与TPM的结构关系图。 图2为修改后Bootloader整体流程示意图。 图3为带有TPM的星型信任链示意图。 图4为外部设备函数流程图。
具体实施方式
本发明公开了一种建立在可信机制上的嵌入式平台启动引导方式,具体是根据可信系统的体系结构特点,将嵌入式平台与TPM硬件模块(其屮,TPM硬件模块包括可信测量 根、可信报告根、可信存储根三个部分)结合在一起,嵌入式平台的初始化使用具有信任 链结构的、在vivi (—种Bootloader)的基础上改进的Bootloader,该Bootloader被
固化在平台的Flash存储器中。TPM首先根据可信完整性测量根从系统的启动开始,对 Bootloader、操作系统等进行完整性验证,确保平台启动链中的软件未被篡改,再允许 CPU读取Bootloader进行启动。由于Bootloader源码开放,经过可信化后的Bootloader 支持TPM按步进方式进行控制嵌入式平台启动过程中每一个步骤都处于TPM可信的监控 下,并且在初始化外部设备的同时,在TPM支持下对指定的外部设备进行完整性、可靠性 测量,并实现可信测量和报告机制。上述路线符合可信平台启动建议。本发明提供的上述嵌入式平台启动引导方式,具体是采用以下步骤的方法(1) 嵌入式平台系统由一个硬件独立的TPM作为控制平台,首先启动;由TPM对 嵌入式平台的Bootloader进行完整性度量;(2) 如果Bootloader没有通过TPM的完整性度量,TPM则通过自身的硬件机制, 发送"禁止启动"信号,禁止嵌入式平台启动;(3) 如果Bootloader通过完整性检测,则TPM授予Bootloader程序在嵌入式平台执 行的权力;(4) 使用Bootloader初始化嵌入式平台的核心板,包括平台工作频率设置、中断向 量表配置、内存规划;(5) Bootloader主程序调用指定的外部设备相关函数,对外部设备进行初始化,此过 程中保持与TPM的交互;(6) Bootloader检测外部设备是否能正常工作,Bootloader暂存此检测结果;(7) Bootloader判断外部设备是否为先前接入、使用过的设备,Bootloader读取外部 设备标识符,并与TPM中先前保存的标识符相比较如果相同,则认为该外部设备的完 整性没有受到破坏;如果不同,则认为该外部设备完整性受到了破坏;Bootloader暂存此 检测结果;(8) Bootloader主程序将以上外部设备检测结果传递给TPM, TPM将依照预先设置 的安全策略进行判别,将外部设备分为可信与不可信两类,其后TPM依此进行外部设备 的管理;(9) 在此后系统工作的过程中,当操作系统要使用某个外部设备时,需向TPM发出 请求,TPM将根据启动阶段的检测结果,允许对可信外部设备的使用请求,而禁止使用 不可信的外部设备;在系统中检测到的外部设备不可使用的情况可以加入到TPM的记录 中去,但是不能使已被禁用的外部设备重新启用。下面结合附图对本发明作进一步说明,但不限定于本发明。 l.信任链理论基础(参看图3)可信平台模块(TPM)是能够提供可信服务的软硬件结合的实体,能够提供系统的、 可靠性、可用性、信息和行为的安全性。TPM作为整个计算机系统平台的可信根,由可 信根组成最初的可信边界。平台和用户都通过证书进行身份验证,平台的证书存储于TPM 中,与平台硬件绑定,从而使得平台有唯一身份。这里假设TPM硬件是不可被破坏的。平台启动是从可信根(CTRM)开始,首先由可信根对第一个将要执行的平台部件(即Bootloader)进行可信度量,当检测通过后,将该部件纳入可信边界,允许其执行。 基本的可信平台思路是链式的首先构建一个信任根,再建立信任链,从信任根开始到硬 件平台、到Bootloader、再到0S及应用,逐级认证,从而把信任链扩展到整个系统。假定模型分为三层TPM平台;Bootloader; 0S。并用T (TPM) , T (Bootloader)分 别形式化的表示TPM和Bootloader的信任域集合。由链式信任模型有,规则①T(TPM)+Bootloader;规则②T (Bootloader) +0S;则 由①和②的递推关系,推理出规则③T (TPM)今0S。首先,经过多次逐级传递后,信任链的强度会不断减弱,从而可能会影响到整个信任 关系系统的安全性。其次,信任链中的任何一个环节被攻破都会破坏整个系统的安全。再 次,过多层次的调用会降低系统的工作效率。另一种信任模型一星型结构,为链式模型的拓展。信任根从硬件平台开始后,不但会 直接度量Bootloader的完整性,而且会把这种TPM的直接度量延伸到0S层,甚至应用层 中去(具体延伸到那一个阶段可根据实际情况决定),从而整个系统的信任关系为放射状 的星型结构。即有①T(TPM)+Bootloader;规则②T (TPM)今0S。其中的规则②亦为前提,而不 是推出规则,整个信任链不具有传递性,避免了信任强度在传递过程中的减弱。其次,由 于TPM的安全性,TPM直接对Bootloader和操作系统进行度量的这个环节是不可破坏的。星型的信任链结构实现难度大,对TPM的处理能力和对上层行为的判断能力要求很 高,但采用星型信任链结构,使得整个系统的可信源唯一,可保证整个信任关系链的强度。对以上两种信任链结构,可根据具体实现的需要进行选取。2. 存储Bootloader和操作系统都存放在写操作受限的Flash存储器空间中,逻辑上作为ROM 部分存储,由TPM控制,用户方是不允许对这一存储区域进行写操作的。3. 外部设备检测过程进入某个外部设备处理函数后的详细流程如下(参看图2、图4):1) 设备上电;2) 检测外部设备寄存器是否能正常工作,若不行则到6);3) 设置外部设备寄存器,使外部设备进入正常工作模式;4) 判别其是否为之前接入的设备,若不是,跳转到6);5) 检测存储型外部设备的完整性,若完整性良好,则到7);6) 标记为不可信设备,跳转到9);7) 标记能正常工作的、可信的外部设备,并作为参数传递给TPM;8) 退出该类外部设备的处理函数。4. 针对几类外部设备的说明这里把外部设备划分为两种类型通讯型外部设备和存储型外部设备。通讯型外部设备只有控制信息和状态信息,没有数据信息。存储型外部设备则包括控制信息、状态信息
和数据信息。属于通讯型外部设备的有串行接口(UART)、 12C接口、 USB接口。属于存储型外部 设备的有SD存储卡。参考文献[l]TCG Specification Architecture Overview(Version 1.2);P]ZHAO Bo,ZHANG H腿guo,HUANG Rui,A New Approach of TPM Construction Based, Wuhan University Journal of Natural Sciences,Vo1.12 No.l 2007; [3]郑军,刘皖,张红旗,基于TPM的可信链模型研究,微计算机信息,Control & Automation,2006年33期。
权利要求
1. 一种嵌入式平台引导,其特征是一种建立在可信机制上的嵌入式系统启动引导方 法,该方法是将嵌入式平台与TPM结合在一起,用TPM支持嵌入式平台的安全性和可信 性;TPM首先将根据可信完整性测量根,在嵌入式平台CPU开始工作之前,对存储在嵌 入式平台上Flash中的包括Bootloader、操作系统在内的部分进行完整性验证,以确保平 台启动链中的软件可执行代码未被篡改,其后再允许嵌入式平台CPU读取Bootloader进 行启动;由于Bootloader源码开放,TPM可按照步进方式控制启动过程中每一个步骤的 走向,并且在初始化外部设备的同时,对指定的外部设备进行完整性、可靠性测量,实现 可信测量和报告机制;TPM是可信平台模块,Bootloader是嵌入式平台引导程序。
2. 根据权利要求l所述的嵌入式平台引导,其特征是具有步骤(1) 嵌入式平台系统由一个硬件独立的TPM作为控制平台,由TPM对嵌入式平台 的Bootloader进行完整性度量;(2) 如果启动程序没有通过TPM的完整性度量,TPM则通过自身的硬件机制,发 送"禁止启动"信号,禁止嵌入式平台启动;(3) 如果Bootloader通过完整性检测,则TPM授予Bootloader程序在嵌入式平台执 行的权力;(4) 使用Bootloader初始化嵌入式平台的核心板,包括平台工作频率设置、中断向 量表配置、内存规划;(5) Bootloader主程序调用指定的外部设备相关函数,对外部设备进行初始化;(6) Bootloader检测外部设备是否能正常工作,Bootloader暂存此检测结果;(7) Bootloader判断外部设备是否为先前接入、使用过的设备,Bootloader暂存此检 测结果;(8) Bootloader主程序将以上外部设备检测结果传递给TPM, TPM将依照预先设置 的安全策略,将外部设备分为可信与不可信两类,其后TPM依此进行外部设备的管理;(9) 在此后系统工作的过程中,当操作系统要使用某个外部设备时,需向TPM发出 请求,TPM将根据启动阶段的检测结果,允许对可信外部设备的使用请求,而禁止使用 不可信的外部设备;在系统中检测到的外部设备不可使用的情况可以加入到TPM的记录 中去,但是不能使已被禁用的外部设备重新启用。
全文摘要
本发明是一种可信机制上的嵌入式平台引导,即将嵌入式平台与TPM在一起,用TPM支持嵌入式平台的安全性和可信性;TPM先根据可信完整性测量根,在嵌入式平台CPU开始工作之前,对存储在嵌入式平台上Flash中的包括Bootloader、操作系统在内的部分进行完整性验证,以确保平台启动链中的软件可执行代码未被篡改,再允许嵌入式平台CPU读取Bootloader进行启动;TPM控制启动过程,并且在初始化外部设备的同时,对指定的外部设备进行完整性、可靠性测量。本发明依照信任链结构对将在平台执行的Bootloader进行完整性测量,使其保证良好的完整性;并且在带有TPM监控的可信环境下实现报告机制。
文档编号G06F9/445GK101122936SQ200710053330
公开日2008年2月13日 申请日期2007年9月21日 优先权日2007年9月21日
发明者伟 宋, 张焕国, 泉 熊, 波 赵, 鹏 郑, 玮 黄 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1