可信嵌入式平台总线仲裁启动方法

文档序号:6459898阅读:203来源:国知局
专利名称:可信嵌入式平台总线仲裁启动方法
技术领域
本发明涉及可信嵌入式平台领域,特别是涉及一种遵循可信计算(Trusted Computing, TC) [l]思想的链式信任启动架构、用于嵌入式平台安全引导机制的可信嵌入式平台总线 仲裁启动方法。
技术背景可信是指"一个实体在实现给定目标时,其行为总会获得与所预期一样的结果"。 可信强调行为结果的可预测和可控制。可信计算是指一个可信的组件、操作或过程的行为可预测,能抵抗一定的物理干扰和 不良代码造成的破坏。可信计算的基本思想是从芯片、硬件结构和操作系统等方面制定安全规范,以保证计 算机和网络结构的安全。它以安全芯片作为可信的基点(称为可信根),通过安全机制不 断扩展可信域,直到对整个系统形成一个可信域。可信计算的功能是确保用户唯一身份、权限、工作空间的完整性、可用性;确保存储、 处理、传输的机密性和完整性;确保硬件环境配置、操作系统内核、服务及应用程序的完 整性;确保密钥操作和存储的完整性。根据可信计算组织(Trusted Computing Group, TCG) [2]规范的描述, 一个可信嵌 入式平台至少要包含以下组件① 至少一个完整性测量的可信测量根(Root of Trust for Measurement, RTM);② 刚好一个完整性存储和报告可信根;③ 至少一个可信嵌入式平台度量存储;④ 至少一个TCG确认数据;(D刚好一个可信嵌入式平台代理。可信计算根包含一个核心组件,核心和计算引擎以及其他对象是物理链接。可信根必 须能提供对自身以及连接电路的物理保护,并能作为一个平台系统的可信权威,提供身份 认证保护、重要数据加密和访问控制服务。从可信根开始,所有测量过程中的信任都是可预料的,对于处于不适当环境中的平台, 将否决其存取数据和运行程序的权利。为了实现可信启动过程,现有个人电脑(Personal Computer, PC机)结合其自身体系 结构特点,采用以下技术来实现1) 可信测量根(RTM)集成在基本输入输出系统(Basic Input Output System, BIOS) 中,并在PC中进行完整性度量。2) 采用链式结构度量,从BIOS开始度量,到操作系统装载程序(Operation SystemLoader, OS Loader),到操作系统(Operation System, OS),再到应用程序, 一级验证一 级, 一级信任一级,从而达到整个系统的可信。3)可信嵌入式平台模块(Trusted Computer Platform Module, TPM)集成在主板上, 作为PC机的外设。PC的这种实现结构存在以下问题采用链式度量结构,对于信任在传递过程中的缺失 问题,会在信任传递过程中逐级放大;BIOS作为PC的可信基础,而不是TPM。对于嵌入式系统,由于其灵活的体系结构,还有嵌入式操作系统,应用程序较为稳定, 这样在可信嵌入式系统中,可以实现与可信PC不同的结构来克服可信PC的不足。可信嵌入式系统采用了以下技术-1) 可信测量根在TPM (Trust Platform Module,可信平台模块,包含有可信计算 根、可信存储根和可信报告根三类可信根)中,完整性测量过程也在TPM中进行。2) 启动时采用星型度量结构,由TPM对底层软件进行统一进行验证,不会产生信任 损失。3) TPM在可信嵌入式系统体系结构中作为主控制器,可信嵌入式系统的启动流程完 全由TPM进行控制。发明内容本发明所要解决的技术问题是提供一种可信嵌入式平台总线仲裁启动方法,该方法结合可信计算、现场可编程门阵列(Field -Programmable Gate Array, FPGA)和嵌入式系 统三类技术,实现在FPGA支持下的、由TPM控制的可信嵌入式系统的启动,达到平台 对用户的可信。本发明解决其技术问题采用的技术方案是将嵌入式系统与TPM结合在一起,并将嵌 入式系统中外部存储器设备独立出来,由TPM控制对其的读和写;在嵌入式系统启动过程 中,必须先由TPM对外部存储器中可执行代码进行完整性验证,仅当验证通过后,TPM才 将外部存储器读和写的权力赋予嵌入式系统,允许其启动。本发明中,TPM在系统启动过程中处于核心地位,它可以方便地通过控制总线仲裁 芯片实现可信嵌入式系统的启动流程。本发明具有以下优点(1) 启动控制方便、灵活TPM通过对总线控制芯片中的控制寄存器的操作,可以 灵活控制可信嵌入式平台的启动。(2) 扩展方便本发明只实现了与可信嵌入式平台启动相关的功能,如对嵌入式系统的启动控制、对外部存储器数据的读取。对于其他安全控制方式,如嵌入式系统外设的 开断、外部存储器的读和写保护等,可以通过对总线仲裁芯片作少许扩展即可实现。(3) 可靠、安全由于可信计算的关键部件TPM、总线仲裁芯片等使用独立硬件方 式实现,与PC机外接模块形式或软件实现形式相比,它们安全性更好,运行时也更为可罪。


图l为本发明可信嵌入式系统的体系结构框图。图2为本发明总线仲裁芯片的实现框图。
具体实施方式
本发明提供的可信嵌入式平台总线仲裁启动方法,它涉及可信嵌入式体系结构设计方 法及其启动流程方法。可信嵌入式平台总线仲裁启动方法是一种建立在可信机制上的嵌入 式系统启动引导方法。该方法是将嵌入式系统与TPM结合在一起,并将嵌入式系统中外 部存储器设备独立出来,由TPM控制对其的读和写;在嵌入式系统启动过程中,必须先 由TPM对外部存储器中可执行代码进行完整性验证,仅当验证通过后,TPM才将外部存 储器读和写的权力赋予嵌入式系统,允许其启动。在上电启动后,TPM先运行,控制嵌 入式系统重启;TPM获取外部存储器总线控制权,然后读取外部存储器中的启动引导程 序、操作系统内核等软件代码,进行完整性校验;如果校验通过,可信嵌入式平台模块则 将外部存储器总线控制权仲裁给嵌入式系统,并启动嵌入式系统运行,否则提示嵌入式系 统底层软件被更改,可信嵌入式系统终止运行。使用该总线仲裁方法,在嵌入式系统运行 之前,对将要在其上运行的软件进行可信验证,实现平台对用户的可信。下面结合实施例及附图对本发明作进一步说明,但不限定本发明。一.体系结构设计可信嵌入式系统启动时,TPM处于控制地位,同时采用星型信任结构进行完整性度量。 在嵌入式系统中,启动引导程序和操作系统的二进制可执行代码都存在外部存储器中(如 NandFlash)。因此,在可信嵌入式系统启动过程中,要解决以下问题一是启动流程,在上电后,TPM必须先进行完整性检验,此时嵌入式系统还不能启动, 在TPM校验通过后,嵌入式系统开始启动;二是TPM要读取外部存储器的数据进行完整性校验,这样就存在两个设备需要访问外 部存储器嵌入式系统和TPM,因此要对外部存储器的总线进行仲裁。在现有嵌入式系统结构下,很难解决这些问题。本发明设计了一种可以实现可信嵌入式系统启动流程的体系结构。可信嵌入式系统的体系结构框图可参看附图1。在可信嵌入式体系结构中,总线仲裁芯片在TPM的控制下对外部存储器总线控制权进 行仲裁,并对嵌入式系统进行控制复位和启动。总线仲裁芯片唯一由TPM进行控制。在 该结构下,TPM可以方便地控制可信嵌入式系统的启动流程。针对可信嵌入式体系结构,本发明设计了以下可信嵌入式系统的启动流程(1) 将可信嵌入式系统上电,该系统包括TPM、不包括无外部存储器设备部分的嵌入式系统、总线仲裁器和嵌入式系统外部存储器设备;(2) TPM最先启动,并控制嵌入式系统处于复位状态;(3) TPM获得外部存储器设备总线的控制权;(4) TPM读取外部存储器设备中平台启动引导程序(bootloader)、操作系统 (Operating System, OS)等数据信息;(5) 在TPM内部,对读入数据进行完整性校验;(6) 若TPM通过完整性校验,跳转到步骤(8);(7) 否则说明嵌入式系统外部存储器设备中内容已被非法修改,TPM不再允许嵌入式 系统执行启动操作,并向用户给出提示,运行终止;(8) TPM将外部存储器总线控制权仲裁给嵌入式系统;(9) 嵌入式系统读取外部存储器设备中的可执行代码并运行,嵌入式平台正常启动、 工作,但在此后的嵌入式系统运行过程中,TPM—直保持有随时终止嵌入式系统对外部存储器设备的读和写的权力。 二.在具体平台中的实现该实例证明发明的实际可行性,并不限定具体嵌入式平台。1. 实现环境本发明使用的嵌入式系统为基于ARM的S3C2410嵌入式系统,TPM为瑞达公司的J2810 嵌入式安全模块(Embedded Security Module, ESM),总线仲裁芯片使用FPGA实现。2. 总线仲裁芯片设计本发明结合所选用的试验设备的特点对总线仲裁模块进行设计。(1) S3C2410的外部存储器储器为Nand Flash (当前主流非易失性存储器之一)。TPM 中没有Nand Flash控制器,也没有相应的Nand Flash接口,本设计选择了 IIC总线 (Inter-Integrated Circuit, IIC总线是一种由PHILIPS公司开发的两线式总线)接口作 为TPM与总线仲裁芯片的通信接口; TPM要通过IIC总线读取Nand Flash,这就需要在总 线仲裁芯片中实现Nand Flash控制器。(2) S3C2410嵌入式系统本身实现了 Nand Flash控制器,有相应的Nand Flash总线 引脚引出,因此只需将该引脚与FPGA相连。同时本发明在总线仲裁芯片中实现了 Nand Flash总线控制模块,对嵌入式系统访问Nand Flash的操作进行控制。(3) 在可信嵌入式启动过程中,TPM处于控制地位,它可以决定Nand Flash总线控 制权的归属,同时也可以对S3C2410进行复位、启动等操作。为了实现这些特点,FPGA 中设计了控制寄存器实现上述操作。该控制寄存器只能由TPM进行控制.总线仲裁芯片的实现框图可参看附图2。总线仲裁芯片中各模块功能如下图中多路 选择器为TPM和嵌入式系统访问外存储器提供仲裁功能,决定哪个设备可以获得外部存储 器的总线使用权;嵌入式系统外存总线控制器连接嵌入式系统和外部存储器总线,可以根 据总线上的信号判断总线上信息的流向,为嵌入式系统与外存储器设备之间的通讯提供桥 接;IIC控制器接口实现IIC的从设备接口,使用IIC总线与TPM相连接,接收从TPM发 过来的数据或发送数据返回给TPM; Nand flash控制器实现对Nand flash的读取,它可 以根据TPM发过来的读外部存储器命令自动读取Nand flash相应信息,并由IIC接口模 块传递给TPM;控制寄存器为总线仲裁芯片的控制部分,通过写它的相应位,可以控制嵌 入式系统的启动、多路选择器的总线仲裁以及Nand flash控制器的启动,它由TPM通过 IIC接口模块进行操作,确保由TPM进行唯一控制。在本发明中,TPM为控制核心,由它来实现可信嵌入式系统的启动流程。TPM对启流程控制的实现通过对总线仲裁芯片进行相应操作实现。在TPM中,使用软件控制可信嵌入式系统的启动,控制流程设计如下(1) 系统上电,TPM运行启动流程控制程序;(2) 写总线仲裁芯片中的控制寄存器的相应位使S3C2410处于复位状态;(3) 写总线仲裁芯片中的控制寄存器使TPM获得Nand Flash总线控制权;(4) 读取外部存储器相应信息进行完整性校验;(5) 若通过完整性校验转步骤(7);(6) 没有通过完整性校验,提示系统被修改,终止启动流程;(7) 写总线仲裁芯片中的控制寄存器,将Nand Flash总线控制权交给S3C2410;(8) 写总线仲裁芯片中的控制寄存器,启动S3C2410;(9) 启动流程控制程序运行结束。 参考文献[l]TCG Specification Architecture Overview(Versionl.2)。 [2]TCPA Main TCG Architecture(Version 1.lb)。
权利要求
1.一种可信嵌入式平台总线仲裁启动方法,其特征是一种建立在可信机制上的嵌入式系统启动引导方法,该方法是将嵌入式系统与TPM结合在一起,并将嵌入式系统中外部存储器设备独立出来,由TPM控制对其的读和写;在嵌入式系统启动过程中,必须先由TPM对外部存储器中可执行代码进行完整性验证,仅当验证通过后,TPM才将外部存储器读和写的权力赋予嵌入式系统,允许其启动。
全文摘要
本发明提供了一种建立在可信机制上的嵌入式系统启动引导方法,该方法是将嵌入式系统与可信平台模块(Trusted Platform Module,TPM)结合在一起,并将嵌入式系统中外部存储器设备独立出来,由TPM控制对其的读和写;在嵌入式系统启动过程中,必须先由TPM对外部存储器中可执行代码进行完整性验证,仅当验证通过后,TPM才将外部存储器读和写的权力赋予嵌入式系统,允许其启动。本发明中,TPM在系统启动过程中处于核心地位,它可以方便地通过控制总线仲裁芯片实现可信嵌入式系统的启动流程,并且具有启动控制方便、灵活,扩展方便,运行可靠和安全等优点。
文档编号G06F9/445GK101221509SQ20081004677
公开日2008年7月16日 申请日期2008年1月24日 优先权日2008年1月24日
发明者伟 宋, 张焕国, 晶 李, 泉 熊, 波 赵, 鹏 郑, 韩碧霞 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1