CN103530548B - 基于移动可信计算模块的嵌入式终端可信启动方法 - Google Patents
基于移动可信计算模块的嵌入式终端可信启动方法 Download PDFInfo
- Publication number
- CN103530548B CN103530548B CN201310497510.XA CN201310497510A CN103530548B CN 103530548 B CN103530548 B CN 103530548B CN 201310497510 A CN201310497510 A CN 201310497510A CN 103530548 B CN103530548 B CN 103530548B
- Authority
- CN
- China
- Prior art keywords
- trustable
- mobile
- computation module
- built
- dividing body
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于移动可信计算模块的嵌入式终端可信启动方法把启动程序进行分割,对其部分内容进行度量,虽然安全性有所降低,但大大加快了启动速度,有效地弥补了嵌入式设备运算能力有限的弊端。而在***启动之后,在进行剩余部分的度量,运算能力也不再是单纯的嵌入式设备,保证所有验证可以在较短的时间内完成,而整体上的全部内容的验证,则又有效地保证了嵌入式终端的安全运行。
Description
技术领域
本发明涉及一种基于移动可信计算模块的嵌入式终端可信启动方法。
背景技术
随着物联网技术的发展,嵌入式终端设备(下文简称为终端设备)的智能化给大众的生活带来了极大的乐趣和便利,智能化识别、定位、跟踪、监控和管理已成为终端设备很常见的功能,但是终端设备的安全问题也日益突出,黑客攻击、病毒泛滥使嵌入式***的安全问题显得尤为严峻。
目前信息安全技术大部分仅依靠强健的密码算法和密钥相结合的方式来保证***的安全运行,但是这种纯软件的机制并非绝对安全,很多用户在管理和使用中操作不当,均可导致敏感数据的泄露、窃取、篡改和破坏。另外,纯软件的密码运算将消耗大量的计算机资源和时间,使得纯软件的密码运算不能满足信息安全的需求。
可信计算(Trusted
Computing)是指在计算和通信***中广泛采用基于硬件安全模块支持下的可信计算平台,它由可信计算组织TCG(Trusted
Computing Group)提出,用于提高***整体的安全性,其主要思路是在现有的设备硬件平台上引入可信平台模块TPM(Trusted Platform Module),通过该模块提供密码运算实现可信引导、身份证明和数据保护等功能,来保证计算机的***安全性。在中国采用的是在计算机主板上加入具有中国自主产权的TCM(Trusted Cryptography Module,可信密码模块)模块,TCM模块与处理器总线之间通过LPC(Low
Pin Count,低引脚数)连接交换数据,实现安全启动、身份鉴别、数据加密等功能,可以解决计算机***的安全问题。
由于TPM模块和TCM模块最初都是为个人计算机和服务器设计的,因此,将TPM模块或TCM模块使用到嵌入式终端设备会有高功耗、数据存储难、接口不对应等问题。
移动可信计算模块是嵌入式终端设备可信的根源。它是一个由密码运算部件和存储部件的SoC(片上***),主要由微处理器、密码运算引擎、真随机数发生器、存储器、控制接口等硬件和相对应的固件组成,提供对称加解密运算、非对称加解密元算、签名运算、哈希运算、存储和保护敏感数据等TPM或TCM能完成的功能。移动可信计算模块采用独立的封装形式,如SD卡,mini SD卡以及TF卡(T-Flash,又称为microSD)的形式,方便与终端设备的分离。
移动可信计算模块中的 PCR(平台配置寄存器)记录可信计算平台的状态。
移动可信计算模块可以在不改变原有嵌入式终端设备的体系架构的前提下,很容易完成在可信计算技术上的升级,提高可信计算在嵌入式设备上的实用性。但由于移动可信计算模块具有易拔插,易更换等特性,因此在建立可信启动之初,需要进行可信计算模块和终端设备进行相互认证,认证通过后才能进入可信启动过程,否则可信就是无稽之谈。另外,***备份程序一般存储在外部存储器中,***备份程序特别容易被篡改和破坏,可信启动的可用性不可保障。现有的可信***没有可信计算模块和终端设备的认证过程,已不适合具有移动可信计算模块的嵌入式终端的可信启动过程。另外,现有的嵌入式可信启动设计没有对***备份进行保护和管理,一旦备份被恶意破坏,嵌入式终端设备也将不可正常使用,稳定性差。最后,由于嵌入式终端资源有限,现有的技术启动速度很慢。
发明内容
本发明的目的在于提出一种基于移动可信计算模块的嵌入式终端可信启动方法,借以有效提高了可信模块的启动速度。
本发明采用以下技术方案:
一种基于移动可信计算模块的嵌入式终端可信启动方法,包括以下步骤:
基于嵌入式终端设备与移动可信计算模块的相互认证,将启动程序分割,产生的若干个分割体构成分割体集;
针对分割体集匹配一个算法,从而在每次可信启动度量验证之初产生至少一个随机数;
由获得的随机数应用上述算法对所述分割体集进行检索,得到分割体;
度量检索到的所述分割体得到相应的度量值;
验证度量值的正确性,若正确进入下步启动环节,否则进行不可信处理;
启动完成后,对分割体集其余的分割体进行度量验证。
从上述方案可以看出,依据本发明,把启动程序进行分割,对其部分内容进行度量,虽然安全性有所降低,但大大加快了启动速度,有效地弥补了嵌入式设备运算能力有限的弊端。而在***启动之后,在进行剩余部分的度量,运算能力也不再是单纯的嵌入式设备,保证所有验证可以在较短的时间内完成,而整体上的全部内容的验证,则又有效地保证了嵌入式终端的安全运行。
上述基于移动可信计算模块的嵌入式终端可信启动方法,为了提高灵活性,且在对有限的内容进行度量时仍然满足较高的安全性要求,把启动程序分割成份后进行分组,其中的分组构成为所述分割体,每个分组分配一个组号。
上述基于移动可信计算模块的嵌入式终端可信启动方法,认证过程是先进行启动程序所对应的认证代码和匹配认证数据的度量,然后再进行嵌入式终端设备和可信计算模块的认证。现有技术检测到可信计算模块后就进行认证过程,这样不能确保认证程序是合法的,认证结果是不可信的。由于任何可信计算模块的度量结果都是可预测的,所以本发明在认证前进行可信度量是可信的。
上述基于移动可信计算模块的嵌入式终端可信启动方法,认证数据和认证代码分开存放,有利于移动可信计算模块的维护。
上述基于移动可信计算模块的嵌入式终端可信启动方法,***备份程序采用移动可信计算模块进行保护,有严格的权限控制,确保备份程序不被恶意篡改,有效保证了嵌入式终端设备运行的健壮性。
附图说明
图1为一种基于移动可信计算模块的嵌入式终端***可信启动流程图。
图2为终端设备和移动可信计算模块相互认证过程图。
图3为***备份还原流程图。
具体实施方式
以下以一个具体实施例进行描述本发明的实施过程,但本发明不仅限于该实施例。本发明的内容涵盖任何在本发明核心内容上做修改、等效、替换的各种方案。该实施例中SD可信计算模块是一种封装成SD卡形式的移动可信计算模块。
在可信启动过程中,若可信计算模块不合法,那么***的安全性就成为了无稽之谈。本发明解决方案具有移动可信计算模块认证过程,能够保证移动可信计算模块的合法性,从而保证了***启动的安全性。另外,本发明解决方案的***备份有可信计算模块管理,防止***备份被恶意篡改,保证嵌入式终端的健壮性。
在度量过程中,由于全部度量将耗费大量时间和计算资源,本发明采用先部分后全部度量的思想,实现了快速启动的方法。
具体实施方式如下:
基于移动可信计算模块的嵌入式终端***可信启动流程如图1所示:
Step1:嵌入式终端设备基本硬件、SD可信计算模块上电初始化,度量步骤Step2的认证代码;
Step2:终端设备和SD可信计算模块相互认证;
Step3:SD可信计算模块度量Bootloader,度量验证失败跳至步骤Step8;
Step4:SD可信计算模块度量操作***内核,度量验证失败跳至步骤Step8;
Step5:SD可信计算模块度量文件***,度量验证失败跳至步骤Step8;
Step6:SD可信计算模块度量应用程序和数据,度量验证失败跳至步骤Step8;
Step7:SD可信计算模块报告***状态。
Step8:不可信处理,进行***备份还原。
在以上的步骤中,需要度量的对象相对比较多,不可避免的会增加启动的时间,可以任选其中一个或者多个进行度量,在启动后进行剩余部分的度量。
还可以对其中的对象进行分割,形成多个份后再进行分组,每个分组对应一个度量值,针对以分组为单位的度量。
对于图1所示的流程,其中,步骤Step1包含以下步骤:
Step1-1:嵌入式终端设备基本硬件、SD可信计算模块上电初始化,若可信计算模块初始化失败则执行步骤Step1-3;
Step1-2:可信计算模块度量验证步骤Step2的认证代码,得到度量值并将度量值扩展到PCR中,度量成功执行步骤Step2,否则执行步骤Step8;
Step1-3:提示SD可信模块错误,启动失败
Step2如图2所示,包含以下步骤:
Step2-1:嵌入式终端设备向SD可信计算模块发送验证请求;
Step2-2:嵌入式终端设备产生随机数并将随机数和终端设备ID发送给SD可信计算模块;
Step2-3:SD可信计算模块接收到终端设备ID后,检测设备ID是否合法,若合法则使用SD可信计算模块的身份认证密钥对随机数进行签名,并将随机数和签名发送给终端设备;
Step2-4:终端设备使用可信计算模块的公钥验证签名,若验证通过执行步骤Step2-5,否则执行步骤Step2-6;
Step2-5:终端设备验证SD可信计算模块通过,***启动进入下一环节;
Step2-6:终端设备验证SD可信计算模块失败,提示用户***合法的SD可信计算模块,并关闭终端设备。
Step3包含以下步骤:
Step3-1:SD可信计算模块度量Bootloader,得到度量值H,并将度量值扩展到PCR中;
Step3-2:将度量值H与SD可信计算模块中配置的值进行比较,若相同执行步骤Step4,不相同度量验证失败跳至步骤Step8;
Step4包含以下步骤:
Step4-1:SD可信计算模块度量操作***内核,得到度量值H,并将度量值扩展到PCR中;
Step4-2:将度量值H与SD可信计算模块中配置的值进行比较,若相同执行Step5,不相同度量验证失败跳至Step8;
Step5包含以下步骤:
Step5-1:SD可信计算模块度量文件***,得到度量值H,并将度量值扩展到PCR中;
Step5-2:将度量值H与SD可信计算模块中配置的值进行比较,若相同执行步骤Step6,不相同度量验证失败跳至步骤Step8;
Step6包含以下步骤:
Step6-1:SD可信计算模块度量应用程序和数据,得到度量值H,并将度量值扩展到PCR中;
Step6-2:将度量值H与SD可信计算模块中配置的值进行比较,若相同执行Step7,不相同度量验证失败跳至步骤Step8;
Step7包含以下步骤:
Step7-1:SD可信计算模块度量向报告实体的数字证书,若证书合法,执行Step7-2,否则,进行不可信处理;
Step7-2:利用数字信封技术向报告实体报告PCR状态。
Step8如图3所示,包含以下步骤:
***备份存放在SD可信计算模块的非易失存储器中,由可信计算模块管理,终端在可信状态下授权用户才能修改***备份文件,这就保证了***备份不被破坏,能够保证***的健壮性。
Step8-1:SD可信计算模块根据***备份还原程序运行上下文判断判断启动环节ID;
Step8-2:SD可信计算模块根据启动环节ID查找对应的备份文件,若找到备份文件执行步骤Step8-3,否则,提示用户查找不到备份文件,并中止***启动。
Step8-3:将备份文件进行还原,并重新进行一次度量验证。
下面,以度量操作***内核为例,描述度量验证过程:
1)将操作***内核二进制镜像按照地址空间分成10000份,共分为100组,其中,1、101、201……9901为第一组,2、102、202……9902为第二组。
2)度量操作***内核二进制镜像开始时,终端请求SD可信计算模块产生一个随机数,终端获得随机数rand后,按照下面规则,组号n=rand%100(组数),将随机数映射到其中一个组;
3)度量该组,并根据组号验证度量值是否正确,若正确进入下一启动环节,否则进行不可信处理;
4)***启动后对其它分组进行度量验证。
通过以上说明,与现有技术的不同之处在于:
1)本发明实现了基于移动可信计算模块的嵌入式终端设备的快速可信启动和恢复方法;现有技术已实现移动可信计算模块在PC上的可信启动方法和基于普通可信计算模块的嵌入式可信启动方法,这些现有技术应用在嵌入式终端设备中具有启动速度慢、启动不安全、实现复杂等缺点,本发明有效的解决了这些问题。
2)本发明是在利用可信计算模块度量认证代码和认证数据之后,再进行终端设备和可信计算模块的认证过程。现有技术检测到可信计算模块后就进行认证过程,这样不能确保认证程序是合法的,认证结果是不可信的。由于任何可信计算模块的度量结果都是可预测的,所以本发明在认证前进行可信度量是可信的。另外,认证代码和认证数据分开,有利于移动可信计算模块的维护。
3)本发明的度量过程是对二进制启动程序采用离散度量的形式,虽然安全性有所降低,但是大大加快了启动速度,有效弥补了嵌入式设备运算能力有限的弊端。在***启动之后再进行全部度量验证,有效保证嵌入式终端的安全运行。
4)本发明采用移动可信计算模块保护***备份程序,有严格的权限控制,确保备份程序不被恶意篡改,有效保证了嵌入式终端设备运行的健壮性。现有技术对备份程序的保护力度较弱,***备份程序容易被破坏,造成终端设备健壮性差。
Claims (5)
1.一种基于移动可信计算模块的嵌入式终端可信启动方法,其特征在于,包括以下步骤:
基于嵌入式终端设备与移动可信计算模块的相互认证,将启动程序分割,产生的若干个分割体构成分割体集;其中,分割体集中的分割体有Bootloader、操作***内核、文件***、应用程序和数据;
针对分割体集匹配一个算法,从而在每次可信启动度量验证之初产生至少一个随机数;
由获得的随机数应用上述算法对所述分割体集进行检索,得到分割体;
度量检索到的所述分割体得到相应的度量值;
验证度量值的正确性,若正确进入下步启动环节,否则进行不可信处理;
启动完成后,对分割体集其余的分割体进行度量验证。
2.根据权利要求1所述的基于移动可信计算模块的嵌入式终端可信启动方法,其特征在于,把启动程序分割成份后进行分组,其中的分组构成为所述分割体,每个分组分配一个组号。
3.根据权利要求1或2所述的基于移动可信计算模块的嵌入式终端可信启动方法,其特征在于,认证过程是先进行启动程序所对应的认证代码和匹配认证数据的度量,然后再进行嵌入式终端设备和可信计算模块的认证。
4.根据权利要求3所述的基于移动可信计算模块的嵌入式终端可信启动方法,其特征在于,认证数据和认证代码分开存放。
5.根据权利要求1所述的基于移动可信计算模块的嵌入式终端可信启动方法,其特征在于,***备份程序采用移动可信计算模块进行保护。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310497510.XA CN103530548B (zh) | 2013-10-22 | 2013-10-22 | 基于移动可信计算模块的嵌入式终端可信启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310497510.XA CN103530548B (zh) | 2013-10-22 | 2013-10-22 | 基于移动可信计算模块的嵌入式终端可信启动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103530548A CN103530548A (zh) | 2014-01-22 |
CN103530548B true CN103530548B (zh) | 2016-08-17 |
Family
ID=49932552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310497510.XA Active CN103530548B (zh) | 2013-10-22 | 2013-10-22 | 基于移动可信计算模块的嵌入式终端可信启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103530548B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426750A (zh) * | 2015-12-03 | 2016-03-23 | 致象尔微电子科技(上海)有限公司 | 一种嵌入式***的启动方法及嵌入式装置 |
CN106055966B (zh) * | 2016-05-16 | 2019-04-26 | 邵军利 | 一种认证方法及*** |
JP6736456B2 (ja) * | 2016-11-17 | 2020-08-05 | キオクシア株式会社 | 情報処理装置およびプログラム |
CN109088952A (zh) * | 2018-10-30 | 2018-12-25 | 深圳瑞生耀电子有限公司 | 嵌入式设备接入到区块链的装置及方法 |
CN109492404A (zh) * | 2018-11-01 | 2019-03-19 | 北京京航计算通讯研究所 | 一种适用于VxWorks环境的可信引导*** |
CN110378125A (zh) * | 2019-07-24 | 2019-10-25 | 北京智芯微电子科技有限公司 | 可信计算的验证方法 |
CN110601831A (zh) * | 2019-09-19 | 2019-12-20 | 北京天地和兴科技有限公司 | 基于可信模块的工控网络嵌入式安全设备的度量方法 |
CN110730079B (zh) * | 2019-10-16 | 2023-06-02 | 北京信长城科技发展有限公司 | 基于可信计算模块的嵌入式***安全启动和可信度量的*** |
CN110740041B (zh) * | 2019-10-16 | 2022-04-15 | 北京仁信证科技有限公司 | 基于可信计算模块的嵌入式***安全启动与可信度量的方法 |
CN112445440B (zh) * | 2020-11-20 | 2023-02-17 | 珠海奔图电子有限公司 | 一种图像形成装置及其启动控制方法和存储介质 |
CN114327791B (zh) * | 2022-03-03 | 2022-06-10 | 阿里云计算有限公司 | 基于虚拟化的可信计算度量方法、装置、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1755572A (zh) * | 2004-09-30 | 2006-04-05 | 联想(北京)有限公司 | 计算机安全启动的方法 |
CN103049293A (zh) * | 2012-12-12 | 2013-04-17 | 中国电力科学研究院 | 一种嵌入式可信***的启动方法 |
-
2013
- 2013-10-22 CN CN201310497510.XA patent/CN103530548B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1755572A (zh) * | 2004-09-30 | 2006-04-05 | 联想(北京)有限公司 | 计算机安全启动的方法 |
CN103049293A (zh) * | 2012-12-12 | 2013-04-17 | 中国电力科学研究院 | 一种嵌入式可信***的启动方法 |
Non-Patent Citations (2)
Title |
---|
"基于SHA-1模块的可信嵌入式***安全启动方法";罗钧等;《山东大学学报(理学版)》;20120930;第47卷(第9期);第1-6页 * |
"基于USBKEY的Linux安全启动链的研究与设计";刘晓鹏;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;20090415;第2009年卷(第4期);I138-28,正文第1-60页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103530548A (zh) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103530548B (zh) | 基于移动可信计算模块的嵌入式终端可信启动方法 | |
CN109313690B (zh) | 自包含的加密引导策略验证 | |
US11861372B2 (en) | Integrity manifest certificate | |
KR101662618B1 (ko) | 단일 신뢰 플랫폼 모듈을 가진 플랫폼 컴포넌트의 측정 | |
US8997198B1 (en) | Techniques for securing a centralized metadata distributed filesystem | |
CN111245597B (zh) | 密钥管理方法、***及设备 | |
CN102947795B (zh) | 安全云计算的***和方法 | |
KR20210132216A (ko) | 동작 동안 긴급 차량의 아이덴티티 검증 | |
US11171774B2 (en) | System for synchronizing a cryptographic key state through a blockchain | |
JP2022527757A (ja) | 物理複製困難関数を使用したコンピューティングデバイスのidの生成 | |
KR20210131438A (ko) | 비밀 키를 이용한 아이덴티티 검증 | |
US9225530B2 (en) | Secure crypto-processor certification | |
US11252193B2 (en) | Attestation service for enforcing payload security policies in a data center | |
US20240104213A1 (en) | Securing node groups | |
US11755406B2 (en) | Error identification in executed code | |
US20180227288A1 (en) | Password security | |
US20230237155A1 (en) | Securing communications with security processors using platform keys | |
US11347858B2 (en) | System and method to inhibit firmware downgrade | |
US20200310776A1 (en) | Over-the-air update validation | |
US20230020838A1 (en) | Measured restart of microcontrollers | |
US20230394152A1 (en) | Establishing a chain of ownership of a device | |
US20230274002A1 (en) | Firmware authenticity check | |
WO2023166363A1 (en) | Secure attestation of hardware device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Shun high tech Zone of Ji'nan City, Shandong province 250101 China West Road No. 699 Applicant after: SYNTHESIS ELECTRONIC TECHNOLOGY CO., LTD. Address before: Shun high tech Zone of Ji'nan City, Shandong province 250101 China West Road No. 699 Applicant before: Shandong Synthesis Electronic Technology Co., Ltd. |
|
COR | Change of bibliographic data | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |