一种基于TPM的用电采集终端的可信启动方法与流程

文档序号:14941104发布日期:2018-07-13 20:49阅读:176来源:国知局

本发明涉及信息安全防护领域,尤其是涉及一种基于tpm的用电采集终端的可信启动方法。



背景技术:

一个可信计算机系统由可信硬件平台、可信操作系统和可信应用系统组成,信任链的源头是可信根,从可信根开始依次经过可信硬件平台、可信操作系统,最终到应用程序,每一级都应建立在上一级的信任之上。可信硬件平台的核心部件是可信计算模块tpm(trustedplatformmodule),tpm由cpu、密码运算器、i/o、存储器和嵌入式操作系统等部件组成,用于完成系统的启动、系统监控、用户认证、加密签名等安全信任的功能。

在可信操作系统中,每一个程序都以文件的方式存放在磁盘上,且需要保证每一个程序的完整性不被破坏;在系统初始化的安装中,文件的校验值储存在tpm中,若一个程序要打开并运行在内存时,可信操作系统的内核需先检查该部件是否可信;系统内核则需通过算法对将要运行的校验值与储存在tpm中的校验值进行对比,若一致,则说明该程序没有被篡改;若不一致,则拒绝;以实现安全保护功能。

目前可信计算技术已经被广泛应用于解决个人电脑和服务器的信息安全防护,但是对可信计算如何应用于提高用电采集终端的信息安全防护能力还处于初级阶段,且尚未有完整的方法达到良好的效果。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种启动安全、备份程序可恢复基于tpm的用电采集终端的可信启动方法。

本发明的目的可以通过以下技术方案来实现:

一种基于tpm的用电采集终端的可信启动方法,包括以下步骤:

s1:tpm初始化与自检:用电采集终端加电,启动嵌入式tpm安全芯片,嵌入式tpm安全芯片进行初始化及自检,若检验合格,进行步骤s2,若不合格,嵌入式tpm安全芯片重新启动及初始化;

s2:引导程序验证:嵌入式tpm安全芯片的cpu从主板上读取第一条指令,并引导用电采集终端的只读存储器生成代码,代码从emmc中获取第一阶段引导程序后,采用设定的算法对其进行可信验证,若验证通过,则进行步骤s3,若未通过,则进入第一备份还原存储区获取备份程序并执行恢复操作;

s3:u-boot验证:采用设定的算法对u-boot获取hash值,将hash值存储至用电采集终端的pcr后,获取第二阶段引导程序,并对其计算hash值,将该值与存储的hash值进行对比,若二者一致,则验证通过,进入步骤s4,若验证未通过,则进入第二备份还原存储区获取备份程序并执行恢复操作;

s4:系统内核完整性度量:u-boot对系统内核进行完整性度量,若度量成功,则判断系统内核可信,整个可信过程验证完成,进行步骤s5;若度量失败,u-boot从第三备份还原存储区中读取备份程序,完成系统的恢复后,进行步骤s5;

s5:安全启动:系统内核完整性验证通过后,安全启动嵌入式cpu,嵌入式tpm进入就绪状态等待命令,进行用电采集终端的安全启动。

优选地,所述的设定的算法为sha-1算法。

优选地,所述的步骤s2中,第一阶段引导程序为mlo文件。

优选地,所述的步骤s3中,第二阶段引导程序为u-boot.img。

优选地,所述的步骤s2具体包括以下步骤:

201)嵌入式tpm安全芯片检查完毕后,嵌入式tpm安全芯片的cpu从主板上读取第一条指令,并引导用电采集终端的只读存储器生成一段用于系统内核第一阶段启动的代码,此时可信信任链建立,rom获取控制权;

202)代码在内嵌式存储器上依次扫描第一阶段的启动分区和该分区的根目录,并在根目录下寻找第一阶段引导程序mlo文件;rom-code将获取的mlo文件加载到sram中;

203)采用sha-1算法对mlo文件进行加密并得到hash值后,将hash值扩展到相对应的pcr中,并将mlo文件密封;

204)系统在内存地址中读取并执行第一条指令,然后在mlo密封的内存地址中读取mlo文件并用sha-1算法进行hash运算;

205)将步骤203和步骤204中得到的hash值进行对比,若二者一致,则第一阶段引导程序验证通过,将密封的mlo文件解除封装,并移交控制权给mlo文件,进行步骤s3;若不一致,则验证未通过,进入第一备份还原存储区获取备份程序并执行恢复操作。

优选地,所述的步骤s3具体包括以下步骤:

301)将运行在sram中的mlo文件初始化sdram,并将烧录进emmc中的u-boot.img下载至sdram中;

302)采用sha-1算法对u-boot进行加密并得到hash值后,将hash值扩展到相对应的pcr中,并将u-boot.img密封;

303)mlo文件在u-boot.img密封的内存地址中读取第二阶段引导程序u-boot.img,并对其进行hash运算;

304)将步骤302和步骤303中获取的hash值进行对比,若二者一致,则第二阶段引导程序验证通过,解封u-boot.img,并移交控制权至u-boot.img;若不一致,则进入第二备份还原存储区获取备份程序并执行恢复操作。

优选地,所述的步骤s4的具体内容为:u-boot从内存地址中获取用电采集终端的系统内核,并对系统内核通过计算hash值的方法进行完整性度量,若与pcr中存储的hash值一致,则判断系统内核可信,系统可正常启动;若度量失败,u-boot从第三备份还原存储区中读取备份程序,并调用可信计算平台对备份文件解除封装,完成系统的恢复。

与现有技术相比,本发明方法基于嵌入式tpm安全芯片,在用电采集终端的启动过程中采用了信任链动态扩展机制,即通过控制权的传递来提取采集终端平台部件的可信状态;本发明方法依次对引导程序和操作系统内核进行了验证,若验证通过,证明系统安全,可进行用电采集终端的安全启动,若验证未通过,则执行备份恢复功能。在可信安全验证的同时,无需再重新运行已通过验证的启动程序,节约了时间,提高了运行效率。本发明方法通过可信度量技术的引入可有效保障采集终端可信启动过程的鲁棒性,提高用电采集终端的主动防御能力。

附图说明

图1为本发明方法的可信启动流程图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。

实施例

本发明涉及一种基于tpm的用电采集终端的可信启动方法,其流程如图1所示,本发明方法具体包括以下步骤:

步骤一、tpm初始化与自检;

将用电采集终端加电,并启动嵌入式tpm安全芯片;用电采集终端发送复位信号控制嵌入式tpm安全芯片的cpu进入复位状态后,嵌入式tpm安全芯片进行初始化及自检,若检验合格,进行下一步骤,若不合格,嵌入式tpm安全芯片重新启动及初始化。

步骤二、引导程序验证;该步骤具体包括:

201)嵌入式tpm安全芯片检查完毕后,嵌入式tpm安全芯片的cpu从主板上读取第一条指令,并引导用电采集终端的只读存储器(rom)生成一段代码(rom-code),用于用电采集终端的系统内核第一阶段的启动,可信信任链建立,rom获取控制权;

202)rom-code在内嵌式存储器(emmc)上依次扫描第一阶段的启动分区和该分区的根目录,并在根目录下寻找第一阶段引导程序mlo文件;rom-code将获取的mlo文件加载到静态随机存取存储器(sram)中;

203)采用sha-1算法对mlo文件进行加密并得到hash值后,将hash值扩展到相对应的程序控制暂存器序列(pcr,programcontrolregister)中,并运用对称加密算法将mlo文件密封;

204)系统首先自动执行在内存地址0x40000000中读取到的第一条指令,然后在mlo密封的内存地址0x402f0400中读取mlo文件并用sha-1算法进行hash运算;

205)将步骤203)和步骤204)中得到的hash值进行对比,若二者一致,则第一阶段引导程序验证通过,将密封的mlo文件解除封装,并移交控制权给mlo文件,进入下一步;若两次所得到的hash值不同,则验证未通过,进入第一备份还原存储区(flash1)获取备份程序并执行恢复操作。

步骤三、u-boot验证;该步骤具体包括:

301)将第一阶段引导程序mlo文件和从地址0x80000000中获取的第二阶段引导程序u-boot.img(内核映像文件)加载至emmc中,运行在sram中的mlo文件初始化同步动态随机存储器(sdram)后,emmc中的u-boot.img下载至sdram中;

302)采用sha-1算法对u-boot(处理器上电复位后最开始需要执行的初始化代码)进行加密并得到hash值后,将hash值扩展到相对应的pcr中,并运用对称加密算法将u-boot.img密封;

303)mlo文件从内存地址0x80000000中读取第二阶段引导程序u-boot.img,并对其进行hash运算;

304)将步骤302和步骤303中得到的hash值进行对比,若二者一致,则第二阶段引导程序验证通过,解封u-boot.img,并移交控制权给u-boot.img,进入下一步;若二者所得到的hash值不同,则验证未通过,进入第二备份还原存储区(flash2)获取备份程序并执行恢复操作。

步骤四、系统内核完整性度量;

u-boot从地址0x80008000中获取用电采集终端的系统内核,并对系统内核通过计算hash值的方法进行完整性度量,若与pcr中存储的hash值一致,则判断系统内核可信,整个可信过程验证完成,系统可正常启动;若度量失败,u-boot从第三备份还原存储区(flash3)中读取备份程序,并调用可信计算平台对备份文件解除封装,完成系统的恢复。

步骤五、安全启动;

系统内核完整性验证通过后,安全启动嵌入式cpu,嵌入式tpm进入就绪状态等待命令,进行用电采集终端的安全启动。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的工作人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1