基于移动可信计算模块的嵌入式终端可信启动方法

文档序号:6516168阅读:280来源:国知局
基于移动可信计算模块的嵌入式终端可信启动方法
【专利摘要】本发明公开了一种基于移动可信计算模块的嵌入式终端可信启动方法把启动程序进行分割,对其部分内容进行度量,虽然安全性有所降低,但大大加快了启动速度,有效地弥补了嵌入式设备运算能力有限的弊端。而在系统启动之后,在进行剩余部分的度量,运算能力也不再是单纯的嵌入式设备,保证所有验证可以在较短的时间内完成,而整体上的全部内容的验证,则又有效地保证了嵌入式终端的安全运行。
【专利说明】基于移动可信计算模块的嵌入式终端可信启动方法
【技术领域】
[0001]本发明涉及一种基于移动可信计算模块的嵌入式终端可信启动方法。
【背景技术】
[0002]随着物联网技术的发展,嵌入式终端设备(下文简称为终端设备)的智能化给大众的生活带来了极大的乐趣和便利,智能化识别、定位、跟踪、监控和管理已成为终端设备很常见的功能,但是终端设备的安全问题也日益突出,黑客攻击、病毒泛滥使嵌入式系统的安全问题显得尤为严峻。
[0003]目前信息安全技术大部分仅依靠强健的密码算法和密钥相结合的方式来保证系统的安全运行,但是这种纯软件的机制并非绝对安全,很多用户在管理和使用中操作不当,均可导致敏感数据的泄露、窃取、篡改和破坏。另外,纯软件的密码运算将消耗大量的计算机资源和时间,使得纯软件的密码运算不能满足信息安全的需求。
[0004]可信计算(Trusted Computing)是指在计算和通信系统中广泛采用基于硬件安全模块支持下的可信计算平台,它由可信计算组织TCG(Trusted Computing Group)提出,用于提高系统整体的安全性,其主要思路是在现有的设备硬件平台上引入可信平台模块TPM(Trusted Platform Module),通过该模块提供密码运算实现可信引导、身份证明和数据保护等功能,来保证计算机的系统安全性。在中国采用的是在计算机主板上加入具有中国自主产权的TCM(Trusted Cryptography Module,可信密码模块)模块,TCM模块与处理器总线之间通过LPC (Low Pin Count,低引脚数)连接交换数据,实现安全启动、身份鉴别、数据加密等功能,可以解决计算机系统的安全问题。
[0005]由于TPM模块和TCM模块最初都是为个人计算机和服务器设计的,因此,将TPM模块或TCM模块使用到嵌入式终端设备会有高功耗、数据存储难、接口不对应等问题。
[0006]移动可信计算模块是嵌入式终端设备可信的根源。它是一个由密码运算部件和存储部件的SoC (片上系统),主要由微处理器、密码运算引擎、真随机数发生器、存储器、控制接口等硬件和相对应的固件组成,提供对称加解密运算、非对称加解密元算、签名运算、哈希运算、存储和保护敏感数据等TPM或TCM能完成的功能。移动可信计算模块采用独立的封装形式,如SD卡,mini SD卡以及TF卡(Τ-Flash,又称为microSD)的形式,方便与终端设备的分尚。
[0007]移动可信计算模块中的PCR(平台配置寄存器)记录可信计算平台的状态。
[0008]移动可信计算模块可以在不改变原有嵌入式终端设备的体系架构的前提下,很容易完成在可信计算技术上的升级,提高可信计算在嵌入式设备上的实用性。但由于移动可信计算模块具有易拔插,易更换等特性,因此在建立可信启动之初,需要进行可信计算模块和终端设备进行相互认证,认证通过后才能进入可信启动过程,否则可信就是无稽之谈。另夕卜,系统备份程序一般存储在外部存储器中,系统备份程序特别容易被篡改和破坏,可信启动的可用性不可保障。现有的可信系统没有可信计算模块和终端设备的认证过程,已不适合具有移动可信计算模块的嵌入式终端的可信启动过程。另外,现有的嵌入式可信启动设计没有对系统备份进行保护和管理,一旦备份被恶意破坏,嵌入式终端设备也将不可正常使用,稳定性差。最后,由于嵌入式终端资源有限,现有的技术启动速度很慢。

【发明内容】

[0009]本发明的目的在于提出一种基于移动可信计算模块的嵌入式终端可信启动方法,借以有效提高了可信模块的启动速度。
[0010]本发明采用以下技术方案:
一种基于移动可信计算模块的嵌入式终端可信启动方法,包括以下步骤:
基于嵌入式终端设备与移动可信计算模块的相互认证,将启动程序分割,产生的若干个分割体构成分割体集;
针对分割体集匹配一个算法,从而在每次可信启动度量验证之初产生至少一个随机
数;
由获得的随机数应用上述算法对所述分割体集进行检索,得到分割体;
度量检索到的所述分割体得到相应的度量值;
验证度量值的正确性,若正确进入下步启动环节,否则进行不可信处理;
启动完成后,对分割体集其余的分割体进行度量验证。
[0011]从上述方案可以看出,依据本发明,把启动程序进行分割,对其部分内容进行度量,虽然安全性有所降低,但大大加快了启动速度,有效地弥补了嵌入式设备运算能力有限的弊端。而在系统启动之后,在进行剩余部分的度量,运算能力也不再是单纯的嵌入式设备,保证所有验证可以在较短的时间内完成,而整体上的全部内容的验证,则又有效地保证了嵌入式终端的安全运行。
[0012]上述基于移动可信计算模块的嵌入式终端可信启动方法,为了提高灵活性,且在对有限的内容进行度量时仍然满足较高的安全性要求,把启动程序分割成份后进行分组,其中的分组构成为所述分割体,每个分组分配一个组号。
[0013]上述基于移动可信计算模块的嵌入式终端可信启动方法,认证过程是先进行启动程序所对应的认证代码和匹配认证数据的度量,然后再进行嵌入式终端设备和可信计算模块的认证。现有技术检测到可信计算模块后就进行认证过程,这样不能确保认证程序是合法的,认证结果是不可信的。由于任何可信计算模块的度量结果都是可预测的,所以本发明在认证前进行可信度量是可信的。
[0014]上述基于移动可信计算模块的嵌入式终端可信启动方法,认证数据和认证代码分开存放,有利于移动可信计算模块的维护。
[0015]上述基于移动可信计算模块的嵌入式终端可信启动方法,系统备份程序采用移动可信计算模块进行保护,有严格的权限控制,确保备份程序不被恶意篡改,有效保证了嵌入式终端设备运行的健壮性。
【专利附图】

【附图说明】
[0016]图1为一种基于移动可信计算模块的嵌入式终端系统可信启动流程图。
[0017]图2为终端设备和移动可信计算模块相互认证过程图。
[0018]图3为系统备份还原流程图。【具体实施方式】
[0019]以下以一个具体实施例进行描述本发明的实施过程,但本发明不仅限于该实施例。本发明的内容涵盖任何在本发明核心内容上做修改、等效、替换的各种方案。该实施例中SD可信计算模块是一种封装成SD卡形式的移动可信计算模块。
[0020]在可信启动过程中,若可信计算模块不合法,那么系统的安全性就成为了无稽之谈。本发明解决方案具有移动可信计算模块认证过程,能够保证移动可信计算模块的合法性,从而保证了系统启动的安全性。另外,本发明解决方案的系统备份有可信计算模块管理,防止系统备份被恶意篡改,保证嵌入式终端的健壮性。
[0021]在度量过程中,由于全部度量将耗费大量时间和计算资源,本发明采用先部分后全部度量的思想,实现了快速启动的方法。
[0022]【具体实施方式】如下:
基于移动可信计算模块的嵌入式终端系统可信启动流程如图1所示:
Stepl:嵌入式终端设备基本硬件、SD可信计算模块上电初始化,度量步骤Step2的认证代码;
Step2:终端设备和SD可信计算模块相互认证;
Step3:SD可信计算模块度量Bootloader,度量验证失败跳至步骤Step8 ;
St印4:SD可信计算模块度量操作系统内核,度量验证失败跳至步骤StepS ;
St印5:SD可信计算模块度量文件系统,度量验证失败跳至步骤Step8 ;
St印6:SD可信计算模块度量应用程序和数据,度量验证失败跳至步骤StepS ;
St印7:SD可信计算模块报告系统状态。
[0023]St印8:不可信处理,进行系统备份还原。
[0024]在以上的步骤中,需要度量的对象相对比较多,不可避免的会增加启动的时间,可以任选其中一个或者多个进行度量,在启动后进行剩余部分的度量。
[0025]还可以对其中的对象进行分割,形成多个份后再进行分组,每个分组对应一个度量值,针对以分组为单位的度量。
[0026]对于图1所示的流程,其中,步骤Stepl包含以下步骤:
Stepl-1:嵌入式终端设备基本硬件、SD可信计算模块上电初始化,若可信计算模块初始化失败则执行步骤Step 1-3 ;
St印1-2:可信计算模块度量验证步骤Step2的认证代码,得到度量值并将度量值扩展到PCR中,度量成功执行步骤Step2,否则执行步骤Step8 ;
St印1-3:提示SD可信模块错误,启动失败 Step2如图2所示,包含以下步骤:
Step2-1:嵌入式终端设备向SD可信计算模块发送验证请求;
St印2-2:嵌入式终端设备产生随机数并将随机数和终端设备ID发送给SD可信计算模
块;
St印2-3:SD可信计算模块接收到终端设备ID后,检测设备ID是否合法,若合法则使用SD可信计算模块的身份认证密钥对随机数进行签名,并将随机数和签名发送给终端设备; Step2-4:终端设备使用可信计算模块的公钥验证签名,若验证通过执行步骤St印2-5,否则执行步骤St印2-6 ;
St印2-5:终端设备验证SD可信计算模块通过,系统启动进入下一环节;
St印2-6:终端设备验证SD可信计算模块失败,提示用户插入合法的SD可信计算模块,并关闭终端设备。
[0027]Step3包含以下步骤:
St印3-1:SD可信计算模块度量Bootloader,得到度量值H,并将度量值扩展到PCR中;St印3-2:将度量值H与SD可信计算模块中配置的值进行比较,若相同执行步骤Step4,不相同度量验证失败跳至步骤Step8 ;
Step4包含以下步骤:
St印4-1:SD可信计算模块度量操作系统内核,得到度量值H,并将度量值扩展到PCR
中;
St印4-2:将度量值H与SD可信计算模块中配置的值进行比较,若相同执行Step5,不相同度量验证失败跳至Step8 ;
Step5包含以下步骤:
St印5-1:SD可信计算模块度量文件系统,得到度量值H,并将度量值扩展到PCR中;
St印5-2:将度量值H与SD可信计算模块中配置的值进行比较,若相同执行步骤Step6,不相同度量验证失败跳至步骤Step8 ;
Step6包含以下步骤:
St印6-1:SD可信计算模块度量应用程序和数据,得到度量值H,并将度量值扩展到PCR
中;
St印6-2:将度量值H与SD可信计算模块中配置的值进行比较,若相同执行Step7,不相同度量验证失败跳至步骤Step8 ;
Step7包含以下步骤:
St印7-1:SD可信计算模块度量向报告实体的数字证书,若证书合法,执行Step7-2,否贝U,进行不可信处理;
Step7-2:利用数字信封技术向报告实体报告PCR状态。
[0028]St印8如图3所示,包含以下步骤:
系统备份存放在SD可信计算模块的非易失存储器中,由可信计算模块管理,终端在可信状态下授权用户才能修改系统备份文件,这就保证了系统备份不被破坏,能够保证系统的健壮性。
[0029]StepS-1:SD可信计算模块根据系统备份还原程序运行上下文判断判断启动环节ID ;
St印8-2:SD可信计算模块根据启动环节ID查找对应的备份文件,若找到备份文件执行步骤Step8-3,否则,提示用户查找不到备份文件,并中止系统启动。
[0030]St印8-3:将备份文件进行还原,并重新进行一次度量验证。
[0031]下面,以度量操作系统内核为例,描述度量验证过程:
I)将操作系统内核二进制镜像按照地址空间分成10000份,共分为100组,其中,1、101,201......9901 为第一组,2、102、202......9902 为第二组。[0032]2)度量操作系统内核二进制镜像开始时,终端请求SD可信计算模块产生一个随机数,终端获得随机数rand后,按照下面规则,组号n=rand%100 (组数),将随机数映射到其中一个组;
3)度量该组,并根据组号验证度量值是否正确,若正确进入下一启动环节,否则进行不可信处理;
4)系统启动后对其它分组进行度量验证。
[0033]通过以上说明,与现有技术的不同之处在于:
I)本发明实现了基于移动可信计算模块的嵌入式终端设备的快速可信启动和恢复方法;现有技术已实现移动可信计算模块在PC上的可信启动方法和基于普通可信计算模块的嵌入式可信启动方法,这些现有技术应用在嵌入式终端设备中具有启动速度慢、启动不安全、实现复杂等缺点,本发明有效的解决了这些问题。
[0034]2)本发明是在利用可信计算模块度量认证代码和认证数据之后,再进行终端设备和可信计算模块的认证过程。现有技术检测到可信计算模块后就进行认证过程,这样不能确保认证程序是合法的,认证结果是不可信的。由于任何可信计算模块的度量结果都是可预测的,所以本发明在认证前进行可信度量是可信的。另外,认证代码和认证数据分开,有利于移动可信计算模块的维护。
[0035]3)本发明的度量过程是对二进制启动程序采用离散度量的形式,虽然安全性有所降低,但是大大加快了启动速度,有效弥补了嵌入式设备运算能力有限的弊端。在系统启动之后再进行全部度量验证,有效保证嵌入式终端的安全运行。
[0036]4)本发明采用移动可信计算模块保护系统备份程序,有严格的权限控制,确保备份程序不被恶意篡改,有效保证了嵌入式终端设备运行的健壮性。现有技术对备份程序的保护力度较弱,系统备份程序容易被破坏,造成终端设备健壮性差。
【权利要求】
1.一种基于移动可信计算模块的嵌入式终端可信启动方法,其特征在于,包括以下步骤: 基于嵌入式终端设备与移动可信计算模块的相互认证,将启动程序分割,产生的若干个分割体构成分割体集; 针对分割体集匹配一个算法,从而在每次可信启动度量验证之初产生至少一个随机数; 由获得的随机数应用上述算法对所述分割体集进行检索,得到分割体; 度量检索到的所述分割体得到相应的度量值; 验证度量值的正确性,若正确进入下步启动环节,否则进行不可信处理; 启动完成后,对分割体集其余的分割体进行度量验证。
2.根据权利要求1所述的基于移动可信计算模块的嵌入式终端可信启动方法,其特征在于,把启动程序分割成份后进行分组,其中的分组构成为所述分割体,每个分组分配一个组号。
3.根据权利要求1或2所述的基于移动可信计算模块的嵌入式终端可信启动方法,其特征在于,认证过程是先进行启动程序所对应的认证代码和匹配认证数据的度量,然后再进行嵌入式终端设备和可信计算模块的认证。
4.根据权利要求3所述的基于移动可信计算模块的嵌入式终端可信启动方法,其特征在于,认证数据和认证代码分开存放。
5.根据权利要求1所述的基于移动可信计算模块的嵌入式终端可信启动方法,其特征在于,系统备份程序采用移动可信计算模块进行保护。
【文档编号】G06F9/445GK103530548SQ201310497510
【公开日】2014年1月22日 申请日期:2013年10月22日 优先权日:2013年10月22日
【发明者】赵志超, 孙涛, 赵华太 申请人:山东神思电子技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1