一种基于TrustZone的系统可信启动方法技术方案

技术编号:18458970 阅读:19 留言:0更新日期:2018-07-18 12:46
本发明专利技术一种基于TrustZone的系统可信启动方法,是基于具有支持TrustZone技术的系统,系统的设备至少包括存储器,存储器至少包括处于安全域的ROM和RAM,和处于普通域的存储器C,包括如下步骤:S1:设备启动;S2:位于ROM中的ROM加载程序启动;S3:ROM加载程序对操作系统引导程序进行加载验证,若验证通过则操作系统引导程序启动;S4:操作系统引导程序对操作系统内核程序进行加载验证,若验证通过则操作系统内核程序启动。利用ARM 片上系统(SOC)本身的硬件技术特点来布防系统的可信启动过程,不需额外的可信芯片或可信计算模块,降低了被破解的风险;降低了电路设计的难度及产品成本。

A system trusted startup method based on TrustZone

A system trusted boot method based on TrustZone is based on a system with support for TrustZone technology, which includes at least ROM and RAM in the security domain, and memory C in the ordinary domain, including S1: device startup; S2: ROM plus in ROM. The load program starts; the S3:ROM loader loading and verifying the operating system boot program, if the verification passes, the operating system boot program starts; S4: the operating system bootloader loads the operating system kernel program to verify, if the verification passes, the operating system kernel program starts. The hardware technology of ARM on chip system (SOC) is used to prevent the trusted startup process of the system, without additional trusted chips or trusted computing modules, reducing the risk of being cracked, reducing the difficulty of the circuit design and the cost of the product.

【技术实现步骤摘要】
一种基于TrustZone的系统可信启动方法
本专利技术属于信息安全
,具体涉及一种基于TrustZone的系统可信启动方法。
技术介绍
在当今的信息时代,保护信息安全,提供一个可信赖的计算环境已经成为信息化的必然要求。随着恶意软件的快速演变,恶意软件正在将底层固件和启动程序作为首选攻击目标,对底层固件和启动程序进行攻击的病毒较难防御,所以保护系统启动过程的可信及安全性尤为重要。现有的可信启动方面的技术基本上是基于外部的可信芯片或可信计算模块来布防整个可信启动的流程。如公布号为CN103927490A的中国专利《操作系统安全启动方法及装置》,利用可信平台模块来实现操作系统的安全启动。可信芯片或可信计算模块一方面带来了成本的增加,另一方面由于是独立于MCU存在的,外部的一些信号可以通过相关仪器进行探测,存在被破解的风险。
技术实现思路
本专利技术在于为解决上述问题而提出一种基于TrustZone的系统可信启动方法,该技术基于TrustZone的可信启动是集成于ARM架构的一种技术,整合在MCU(微控制器)之中。利用ARM片上系统(SOC)本身的硬件技术特点来布防系统的启动过程,确保系统加载启动的每一个组件都是授权验证过的组件,防止启动过程中系统组件被未授权的组件篡改或者替换的风险。本专利技术一种基于TrustZone的系统可信启动方法,是基于具有支持TrustZone技术的系统,系统的设备至少包括存储器,存储器至少包括处于安全域的ROM和RAM,和处于普通域的存储器C,包括如下步骤:S1:设备启动,进入S2;S2:位于ROM中的ROM加载程序启动,进入S3;S3:ROM加载程序对操作系统引导程序进行加载验证,若验证通过则操作系统引导程序启动,具体包括如下步骤:S31:分配一块安全域使用的RAM空间,用来存储操作系统引导程序的镜像公钥和其中间摘要值,进入S32;S32:对位于ROM中的根秘钥进行验证,若验证通过则进入S33;S33:对位于存储有镜像的存储器C中的操作系统引导程序的镜像进行加载验证,若验证通过则进入S4;S4:操作系统引导程序对操作系统内核程序进行加载验证,若验证通过则操作系统内核程序启动。进一步的,S32包括如下步骤:S321:对根秘钥进行hash计算,得到根密钥摘要P′,进入S322;S322:取出预先烧录到一次性只读存储器中的根密钥摘要P,和S321中得到的P′对比,若结果一致则验证通过。进一步的,S33包括如下步骤:S331:对操作系统引导程序的镜像信息进行加载验证,若验证通过则进入S332;S332:加载操作系统引导程序的镜像证书和操作系统引导程序的镜像签名,用S32中已验证的根密钥去解密操作系统引导程序的镜像证书,获取操作系统引导程序的镜像公钥,并安装操作系统引导程序的镜像公钥到S31中分配的RAM中,进入S333;S333:用S332中获取的操作系统引导程序的镜像公钥解密操作系统引导程序的镜像签名获得操作系统引导程序的镜像摘要P1,进入S334;S334:对操作系统引导程序的镜像进行hash计算,得到操作系统引导程序的镜像摘要P1′,将P1′与P1进行比对,若结果一致则操作系统引导程序的镜像验证通过。进一步的,S4包括如下步骤:S41:操作系统引导程序请求切换到安全域,进入S42;S42:对位于存储器C中的操作系统内核镜像进行加载验证,其中用S31中分配的RAM空间来存储操作系统内核镜像公钥和其中间摘要值;若验证通过进入S43;S43:操作系统内核程序启动。更进一步的,根密钥是RSA中的公钥。本专利技术的有益效果是:1.利用ARM片上系统(SOC)本身的硬件技术特点来布防系统的启动过程,不需额外的可信芯片或可信计算模块,没有相关的信号裸露在外面,降低了被破解的风险;2.降低了电路设计的难度及产品成本;3.确保系统加载启动的每一个组件都是授权验证过的组件,防止启动过程中系统组件被未授权的组件篡改或者替换的风险。附图说明图1为本专利技术的可信启动过程示意图;图2为本实施例设备存储器分布及相应信息存储位置图;图3为本实施例ROM加载程序对Uboot进行加载验证过程示意图;图4为本实施例根密钥验证过程示意图;图5为本实施例Uboot镜像证书和Uboot镜像签名验证过程示意图。具体实施方式为进一步说明各实施例,本专利技术提供有附图。这些附图为本专利技术揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本专利技术的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。现结合附图和具体实施方式对本专利技术进一步说明。本专利技术一种基于TrustZone的系统可信启动方法,可应用于具有TrustZone技术的多种系统,例如移动终端系统、电脑系统、车载系统等。如图1本专利技术方法的可信启动过程示意图所示,可信启动的过程从一个暗含可信的组件开始,即ROM加载程序,ROM加载程序是第一个被加载的程序,是位于SOC的ROM中,所有其他的组件在执行之前被验证。ROM加载程序对操作系统引导程序进行加载验证,只有验证通过操作系统引导程序才能启动运行,验证过的操作系统引导程序在执行操作系统(OS)内核程序之前同样需要进行验证,只有验证过了操作系统内核程序才能正常启动。利用ARM片上系统(SOC)本身的硬件技术特点来布防系统的启动过程,不需额外的可信芯片或可信计算模块,来确保系统加载启动的每一个组件都是授权验证过的组件,防止启动过程中系统组件被未授权的组件篡改或者替换的风险。本实施例以应用于车载系统来对本专利技术进行进一步说明。本专利技术实施例提供了一种基于TrustZone的系统可信启动方法,是基于具有支持TrustZone技术的车载系统,车载系统中,ARM片上系统(SOC)本身的硬件技术特点是,硬件系统可分为处于安全域或者普通域两种状态,如图2基于TrustZone的系统设备存储器分布及相应信息存储位置图所示,ROM处于安全域,是系统中唯一不能被简单的重编程攻击修改和替换的组件,可信启动过程的基础,即ROM加载程序,是位于SOC的ROM中,根密钥也是放在ROM中的。RAM中用来存储解密出来的uboot(这里使用uboot作为操作系统引导程序来作为说明,下文其他地方类似)镜像公钥和内核镜像公钥以及计算的中间摘要值等相关的敏感数据的这一块内存区域,也是处于安全域的,这块内存空间非安全域不能读写和访问。而用于存储uboot镜像和内核镜像的存储器C(实施例中以闪存作为说明),则处于普通域。本专利技术实施例包括如下步骤:S1:设备启动,进入S2;S2:位于ROM中的ROM加载程序启动,进入S3;S3:ROM加载程序对操作系统引导程序Uboot进行加载验证,若验证通过则Uboot启动,具体包括如下步骤:S31:分配一块安全域使用的RAM空间,用来存储Uboot镜像公钥和其中间摘要值,进入S32;S32:对位于ROM中的根秘钥进行验证,若验证通过则进入S33;S33:对位于闪存中的Uboot镜像进行加载验证,若验证通过则进入S4;S4:Uboot对操作系统内核程序进行加载验证,若验证通过则操作系统内核程序启动。具体地,启用基于TrustZo本文档来自技高网...

【技术保护点】
1.一种基于TrustZone的系统可信启动方法,是基于具有支持TrustZone技术的系统,系统的设备至少包括存储器,存储器至少包括处于安全域的ROM和RAM,和处于普通域的存储器C,其特征在于:包括如下步骤:S1:设备启动,进入S2;S2:位于ROM中的ROM加载程序启动,进入S3;S3:ROM加载程序对操作系统引导程序进行加载验证,若验证通过则操作系统引导程序启动,具体包括如下步骤:S31:分配一块安全域使用的RAM空间,用来存储操作系统引导程序的镜像公钥和其中间摘要值,进入S32;S32:对位于ROM中的根秘钥进行验证,若验证通过则进入S33;S33:对位于存储有镜像的存储器C中的操作系统引导程序的镜像进行加载验证,若验证通过则进入S4;S4:操作系统引导程序对操作系统内核程序进行加载验证,若验证通过则操作系统内核程序启动。

【技术特征摘要】
1.一种基于TrustZone的系统可信启动方法,是基于具有支持TrustZone技术的系统,系统的设备至少包括存储器,存储器至少包括处于安全域的ROM和RAM,和处于普通域的存储器C,其特征在于:包括如下步骤:S1:设备启动,进入S2;S2:位于ROM中的ROM加载程序启动,进入S3;S3:ROM加载程序对操作系统引导程序进行加载验证,若验证通过则操作系统引导程序启动,具体包括如下步骤:S31:分配一块安全域使用的RAM空间,用来存储操作系统引导程序的镜像公钥和其中间摘要值,进入S32;S32:对位于ROM中的根秘钥进行验证,若验证通过则进入S33;S33:对位于存储有镜像的存储器C中的操作系统引导程序的镜像进行加载验证,若验证通过则进入S4;S4:操作系统引导程序对操作系统内核程序进行加载验证,若验证通过则操作系统内核程序启动。2.如权利要求1所述的一种基于TrustZone的系统可信启动方法,其特征在于:S32包括如下步骤:S321:对根秘钥进行hash计算,得到根密钥摘要P′,进入S322;S322:取出预先烧录到一次性只读存储器中的根密钥摘要P,和S321中得到的P′对比,若结果一致则验证通过。3.如权利要求1所述的一种基于TrustZone的系统可信启动...

【专利技术属性】
技术研发人员:赵国开刘炯钟涂岩恺池炜宾
申请(专利权)人:厦门雅迅网络股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1