基于可信计算模块的嵌入式系统安全启动与可信度量的方法与流程

文档序号:19814261发布日期:2020-01-31 18:52阅读:426来源:国知局
基于可信计算模块的嵌入式系统安全启动与可信度量的方法与流程

本发明涉及智能终端的可信运行技术领域,尤其涉及一种基于可信计算模块的嵌入式系统安全启动与可信度量的方法。



背景技术:

信息技术的高速发展,带来了信息产业的空前繁荣;但危害信息安全的事件也不断发生,信息安全形势日益严峻。当前比较流行的系统安全保障技术有强制访问控制技术、以及加密技术,但这些都是运行于系统上层,他们能够实现安全机制的前提是系统本身是安全的,如果系统自身在启动时就由于被恶意程序篡改等原因进入一种不可信的状态,则基于此系统的应用程序和上层安全机制都是不可信的。因此,系统的安全启动技术已逐步被引起重视,它是可信计算的核心部分。同时,对于运行过程中的可信度量也是可信计算的一个重要组成部分。

中国专利cn201120295129.1提出了一种兼容多种可信计算模式的可信计算系统,包含固件设置模块,固件下载模块,固件存储模块和可信计算单元,所述可信计算单元上设有与固件下载模块和总线进行通讯的通信接口;所述固件设置模块,用于设置可信计算单元的工作模式;所述固件存储模块,存储有可信计算标准固件;所述固件下载模块,用于从固件存储模块中下载与固件设置模块设置的可信计算单元的工作模式相对应的固件到可信计算单元中;所述可信计算单元,用于与总线进行数据传输,且承载固件下载模块下载的固件;使得可信计算系统在商业应用上具有更好的适应性,拥有极大的灵活性,且大大降低了成本。

可信计算组织(tcg)为了从基础上提高计算平台的安全可信性,定义了一个可信第三方,具有安全存储以及加解密引擎的可信平台模块(tpm),并且从硬件组件和软件两方面入手,解决跨平台和跨操作环境束缚,开发不依赖任何特定计算平台的可信计算环境。此解决方案对于pc端是非常有效的。

由于嵌入式领域的安全研究起步稍晚,针对嵌入式智能终端的安全研究还不完善,特别是系统层面的软件防御措施还有待加强,恰巧系统层面的安全又是整个设备的安全基石。而智能终端固有的一些特点使得pc上的安全防御措施和技术很难在这些设备中得到实施。应对这些安全威胁,应该在嵌入式设备中建立一套防御体系,杜绝一些非法且恶意的程序,防止这些带有攻击威胁的程序运行,或者至少在这些程序运行后能够被检测出。目前在嵌入式平台上主要的解决方案是:设计只读的块设备存储启动镜像,启动时从该只读设备中读取未受更改的镜像,只读设备在出厂时镜像一次性烧写,以后的启动中镜像都无法被篡改,可验证其启动镜像的完整性。此类两种措施一是增加了额外的硬件开销,对于成本控制严格的设备负担太大,二是需要加载的镜像一次性烧写,无法实现正常的系统更新及镜像更新。其客观缺点为:

(1)软算法安全性较差,信任根容易被篡改;

(2)面向pc的tpm、tpcm流程对于嵌入式平台过于繁琐,实用性较差;

(3)设计只读的块设备存储启动镜像的解决办法无法实现正常的系统更新。

因此,为了解决上述问题,急需发明一种新的基于可信计算模块的嵌入式系统安全启动与可信度量的方法。



技术实现要素:

本发明的目的在于:提供一种基于可信计算模块的嵌入式系统安全启动与可信度量的方法,具有流程简单、安全性高、允许嵌入式平台更新固件的特点。

本发明提供了下述方案:

一种基于可信计算模块的嵌入式系统安全启动与可信度量的方法,包括以下步骤:

物联网可信计算模块写入根证书p0;

物联网可信计算模块写入方案商标识公钥p1;

智能终端主控mcu刷写bootloader,完成物联网可信计算模块与智能终端主控mcu的绑定;

智能终端主控mcu下载固件;

物联网可信计算模块写入智能终端标识公钥p2和私钥r2;

智能终端启动校验和身份认证。

优选地,所述的基于可信计算模块的嵌入式系统安全启动与可信度量的方法还包括:

物联网应用管理平台进行远程度量操作;

进行固件在线升级操作。

优选地,物联网可信计算模块写入根证书p0的步骤,具体为:

信长城可信计算管理平台随机生成一对密钥r0和p0;

信长城可信计算管理平台利用可信计算量产工具将p0写入物联网可信计算模块;

p0对应的私钥r0保存在信长城可信计算管理平台。

优选地,物联网可信计算模块写入方案商标识公钥p1的步骤,具体为:

信长城可信计算管理平台生成密钥对r1和p1,利用r0对p1进行签名得到sign0;

信长城可信计算管理平台将r1、p1和sign0发送给物联网应用管理平台;

物联网应用管理平台将p1写入物联网可信计算模块,r1由物联网应用管理平台保存。

优选地,智能终端主控mcu刷写bootloader,完成物联网可信计算模块与智能终端主控mcu的绑定的步骤,具体为:

物联网应用管理平台计算bootloader和属性信息的hash值h0,并用r1对h0签名得到sign1;

物联网应用管理平台管理平台将bootloader刷写至智能终端主控mcu;

物联网应用管理平台管理平台将sign1、h0发送给物联网可信计算模块;

物联网可信计算模块基于p0验证sign1的有效性,若有效,则将h0和属性信息保存至flash。

优选地,智能终端主控mcu下载固件的步骤,具体为:

物联网应用管理平台利用r1对固件hash值签名,得到sign2;

物联网应用管理平台将固件发送给智能终端主控mcu;

智能终端主控mcu的bootloader计算固件的hash值得到h1,并将h1和sign2发送给物联网可信计算模块,验证签名的有效性;若签名有效,物联网可信计算模块保存h1,bootloader将固件写入flash,完成固件的下载。

优选地,物联网可信计算模块写入智能终端标识公钥p2和私钥r2的步骤,具体为:

物联网应用管理平台生成密钥对r2和p2,用r1对r2和p2构成的组合签名得到sign3;

将r2、p2和sign3发送给智能终端主控mcu;

智能终端主控mcu利用物联网可信计算模块验证r2、p2和sign3的有效性,若有效,则将r2、p2保存至物联网可信计算模块。

优选地,智能终端启动校验和身份认证的步骤,具体为:

智能终端上电后,物联网可信计算模块计算bootloader的hash值与h0比较,若一致表示bootloader完整,则允许bootloader启动;

bootloader计算固件的hash值,并将hash值传至可信计算模块,物联网可信计算模块与h1匹配,并将结果返回给bootloader;

bootloader判断固件是否完整,如果完整则启动固件;

固件启动后,请求物联网可信计算模块生成身份认证签名;

物联网可信计算模块判断是否完成了bootloader和固件的完整性度量,若已完成,则利用r2生成身份认证签名sign4,否则返回错误;

固件利用通信模组将sign4发送至物联网应用管理平台;

物联网应用管理平台收到智能终端的认证请求后,验证sign4,若验证通过,则完成身份认证。

优选地,物联网应用管理平台进行远程度量操作的步骤,具体为:

管理平台向终端发起远程度量命令;

终端主控根据命令计算摘要值,并交由可信计算模块进行比对;

可信计算模块对摘要值进行比对,如果要求度量bootloader则主动计算bootloader的摘要值,并与之前保存的值进行比对,若比对成功,则将结果进行签名;

可信计算模块将结果和签名值返回给主控mcu;

主控mcu将结果上传至管理平台,管理平台验证签名的有效性,并检查度量值合规性;若是合规的,则应用管理平台随机生成一个自动发起的时间值,并将此值和要度量的内容利用终端的p2进行加密得到enccheckparas;

管理平台将enccheckparas发送至终端,终端将mcu将其发送至可信计算模块;

可信计算模块解密enccheckparas得到checkparas,并设置主动度量计划;

当设置的主动度量时间到,可信模块发起主动度量,并将度量结果进行签名。

优选地,进行固件在线升级操作的步骤,具体为:

物联网应用管理平台首先利用r1对新的固件的hash值进行签名,得到sign5;

物联网应用管理平台将新的固件及签名发送至智能终端;

智能终端主控mcu计算固件hash值,并将hash值和sign5发送至物联网可信计算模块;

物联网可信计算模块使用p1对sign5进行验签,若验签通过则保存固件hash值;若验签通过,启动固件替换流程,并重启智能终端主控mcu。

本发明产生的有益效果:

本发明所公开的基于可信计算模块的嵌入式系统安全启动与可信度量的方法,包括以下步骤:物联网可信计算模块写入根证书p0;物联网可信计算模块写入方案商标识公钥p1;智能终端主控mcu刷写bootloader,完成物联网可信计算模块与智能终端主控mcu的绑定;智能终端主控mcu下载固件;物联网可信计算模块写入智能终端标识公钥p2和私钥r2;智能终端启动校验和身份认证;与现有技术的方式相比,整体流程较为简单;可信计算模块较易设计;对原系统的改动较小;可更新固件镜像。

附图说明

图1为本发明的基于可信计算模块的嵌入式系统安全启动与可信度量的方法的流程框图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

参见图1所示,一种基于可信计算模块的嵌入式系统安全启动与可信度量的方法,包括以下步骤:

物联网可信计算模块写入根证书p0;

物联网可信计算模块写入方案商标识公钥p1;

智能终端主控mcu刷写bootloader,完成物联网可信计算模块与智能终端主控mcu的绑定;

智能终端主控mcu下载固件;

物联网可信计算模块写入智能终端标识公钥p2和私钥r2;

智能终端启动校验和身份认证。

所述的基于可信计算模块的嵌入式系统安全启动与可信度量的方法还包括:

物联网应用管理平台进行远程度量操作;

进行固件在线升级操作。

物联网可信计算模块写入根证书p0的步骤,具体为:

信长城可信计算管理平台随机生成一对密钥r0和p0;

信长城可信计算管理平台利用可信计算量产工具将p0写入物联网可信计算模块;

p0对应的私钥r0保存在信长城可信计算管理平台。

物联网可信计算模块写入方案商标识公钥p1的步骤,具体为:

信长城可信计算管理平台生成密钥对r1和p1,利用r0对p1进行签名得到sign0;

信长城可信计算管理平台将r1、p1和sign0发送给物联网应用管理平台;

物联网应用管理平台将p1写入物联网可信计算模块,r1由物联网应用管理平台保存。

智能终端主控mcu刷写bootloader,完成物联网可信计算模块与智能终端主控mcu的绑定的步骤,具体为:

物联网应用管理平台计算bootloader和属性信息的hash值h0,并用r1对h0签名得到sign1;

物联网应用管理平台管理平台将bootloader刷写至智能终端主控mcu;

物联网应用管理平台管理平台将sign1、h0发送给物联网可信计算模块;

物联网可信计算模块基于p0验证sign1的有效性,若有效,则将h0和属性信息保存至flash。

智能终端主控mcu下载固件的步骤,具体为:

物联网应用管理平台利用r1对固件hash值签名,得到sign2;

物联网应用管理平台将固件发送给智能终端主控mcu;

智能终端主控mcu的bootloader计算固件的hash值得到h1,并将h1和sign2发送给物联网可信计算模块,验证签名的有效性;若签名有效,物联网可信计算模块保存h1,bootloader将固件写入flash,完成固件的下载。

物联网可信计算模块写入智能终端标识公钥p2和私钥r2的步骤,具体为:

物联网应用管理平台生成密钥对r2和p2,用r1对r2和p2构成的组合签名得到sign3;

将r2、p2和sign3发送给智能终端主控mcu;

智能终端主控mcu利用物联网可信计算模块验证r2、p2和sign3的有效性,若有效,则将r2、p2保存至物联网可信计算模块。

智能终端启动校验和身份认证的步骤,具体为:

智能终端上电后,物联网可信计算模块计算bootloader的hash值与h0比较,若一致表示bootloader完整,则允许bootloader启动;

bootloader计算固件的hash值,并将hash值传至可信计算模块,物联网可信计算模块与h1匹配,并将结果返回给bootloader;

bootloader判断固件是否完整,如果完整则启动固件;

固件启动后,请求物联网可信计算模块生成身份认证签名;

物联网可信计算模块判断是否完成了bootloader和固件的完整性度量,若已完成,则利用r2生成身份认证签名sign4,否则返回错误;

固件利用通信模组将sign4发送至物联网应用管理平台;

物联网应用管理平台收到智能终端的认证请求后,验证sign4,若验证通过,则完成身份认证。

物联网应用管理平台进行远程度量操作的步骤,具体为:

管理平台向终端发起远程度量命令;

终端主控根据命令计算摘要值,并交由可信计算模块进行比对;

可信计算模块对摘要值进行比对,如果要求度量bootloader则主动计算bootloader的摘要值,并与之前保存的值进行比对,若比对成功,则将结果进行签名;

可信计算模块将结果和签名值返回给主控mcu;

主控mcu将结果上传至管理平台,管理平台验证签名的有效性,并检查度量值合规性;若是合规的,则应用管理平台随机生成一个自动发起的时间值,并将此值和要度量的内容利用终端的p2进行加密得到enccheckparas;

管理平台将enccheckparas发送至终端,终端将mcu将其发送至可信计算模块;

可信计算模块解密enccheckparas得到checkparas,并设置主动度量计划;

当设置的主动度量时间到,可信模块发起主动度量,并将度量结果进行签名。

进行固件在线升级操作的步骤,具体为:

物联网应用管理平台首先利用r1对新的固件的hash值进行签名,得到sign5;

物联网应用管理平台将新的固件及签名发送至智能终端;

智能终端主控mcu计算固件hash值,并将hash值和sign5发送至物联网可信计算模块;

物联网可信计算模块使用p1对sign5进行验签,若验签通过则保存固件hash值;若验签通过,启动固件替换流程,并重启智能终端主控mcu。

本实施例中所述基于可信计算模块的嵌入式系统安全启动与可信度量的方法,包括以下步骤:物联网可信计算模块写入根证书p0;物联网可信计算模块写入方案商标识公钥p1;智能终端主控mcu刷写bootloader,完成物联网可信计算模块与智能终端主控mcu的绑定;智能终端主控mcu下载固件;物联网可信计算模块写入智能终端标识公钥p2和私钥r2;智能终端启动校验和身份认证;与现有技术的方式相比,整体流程较为简单;可信计算模块较易设计;对原系统的改动较小;可更新固件镜像。

本实施例中所述基于可信计算模块的嵌入式系统安全启动与可信度量的方法,整体架构由智能终端、物联网应用管理平台、信长城可信计算管理平台构成。信长城可信计算管理平台负责生成一对公私钥r0、p0用于方案商身份密钥对r1、p1的签发。物联网应用管理平台负责智能终端主控mcubootloader的刷写以及身份认证等操作。为了实现可信计算目的,本方案需要基于以下条件:物联网可信计算模块可以读写bootloader存储器。

本实施例中所述基于可信计算模块的嵌入式系统安全启动与可信度量的方法,主要流程为:

1、物联网可信计算模块写入根证书p0

(1)信长城可信计算管理平台随机生成一对密钥r0和p0;

(2)信长城可信计算管理平台利用可信计算量产工具将p0写入物联网可信计算模块。

p0对应的私钥r0保存在信长城可信计算管理平台。

2、物联网可信计算模块写入方案商标识公钥p1

p1是方案商身份对应的公钥,对应的私钥为r1。

(1)信长城可信计算管理平台生成密钥对r1和p1,利用r0对p1进行签名得到sign0;

(2)信长城可信计算管理平台将r1、p1和sign0发送给物联网应用管理平台;

(3)物联网应用管理平台利用专用工具将p1写入物联网可信计算模块(可信计算模块首先验证sign0的有效性,如果有效则写入p1),r1由物联网应用管理平台保存。

3、智能终端主控mcu刷写bootloader、及物联网可信计算模块与智能终端主控mcu绑定

(1)物联网应用管理平台计算bootloader和属性信息的hash值h0,并用r1对h0签名得到sign1;

(2)物联网应用管理平台管理平台利用量产工具将bootloader刷写至智能终端主控mcu;

(3)物联网应用管理平台管理平台利用量产工具将sign1、h0及其他属性信息发送给物联网可信计算模块;

(4)物联网可信计算模块基于p0验证sign1的有效性,若有效,则将h0和属性信息保存至flash。

4、智能终端主控mcu下载固件

(1)物联网应用管理平台利用r1对固件hash值签名,得到sign2;

(2)物联网应用管理平台利用下载工具将固件发送给智能终端主控mcu;

(3)智能终端主控mcu的bootloader计算固件的hash值得到h1,并将h1和sign2发送给物联网可信计算模块,验证签名的有效性;

(4)若签名有效,物联网可信计算模块保存h1,bootloader将固件写入flash,完成固件的下载。

5、物联网可信计算模块写入智能终端标识公钥p2和私钥r2

智能终端公私钥对用于智能终端身份认证与数据加密。

(1)物联网应用管理平台生成密钥对r2和p2,用r1对r2和p2构成的组合签名得到sign3;

(2)将r2、p2和sign3发送给智能终端主控mcu;

(3)智能终端主控mcu利用物联网可信计算模块验证r2、p2和sign3的有效性,若有效,则将r2、p2保存至物联网可信计算模块。

6、智能终端启动校验、身份认证

(1)智能终端上电后,物联网可信计算模块计算bootloader的hash值与h0比较,若一致表示bootloader完整,则允许bootloader启动;

(2)bootloader计算固件的hash值,并将hash值传至可信计算模块,物联网可信计算模块与h1匹配,并将结果返回给bootloader;

(3)bootloader判断固件是否完整,如果完整则启动固件;

(4)固件启动后,请求物联网可信计算模块生成身份认证签名;

(5)物联网可信计算模块判断是否完成了bootloader和固件的完整性度量,若已完成,则利用r2生成身份认证签名sign4,否则返回错误;

(6)固件利用通信模组将sign4发送至物联网应用管理平台;

(7)物联网应用管理平台收到智能终端的认证请求后,验证sign4,若验证通过,则完成身份认证。

7、远程度量

远程度量由应用管理平台远程发起和自动发起相结合,有效杜绝终端出现漏洞时非法应用规避度量的行为。基本流程为:

(1)管理平台向终端发起远程度量命令;

(2)终端主控根据命令计算摘要值,并交由可信计算模块进行比对;

(3)可信计算模块对摘要值进行比对,如果要求度量bootloader则主动计算bootloader的摘要值,并与之前保存的值进行比对,若比对成功,则将结果进行签名

(4)可信计算模块将结果和签名值返回给主控mcu;

(5)主控mcu将结果上传至管理平台,管理平台验证签名的有效性,并检查度量值合规性;

(6)若是合规的,则应用管理平台随机生成一个自动发起的时间值,并将此值和要度量的内容利用终端的p2进行加密得到enccheckparas;

(7)管理平台将enccheckparas发送至终端,终端将mcu将其发送至可信计算模块;

(8)可信计算模块解密enccheckparas得到checkparas,并设置主动度量计划。

(9)当设置的主动度量时间到,可信模块发起主动度量,并将度量结果进行签名,后续流程(4)-(7)。

8、固件在线升级

(1)物联网应用管理平台首先利用r1对新的固件的hash值进行签名,得到sign5;

(2)物联网应用管理平台将新的固件及签名发送至智能终端;

(3)智能终端主控mcu计算固件hash值,并将hash值和sign5发送至物联网可信计算模块;

(4)物联网可信计算模块使用p1对sign5进行验签,若验签通过则保存固件hash值;

(5)若验签通过,启动固件替换流程,并重启智能终端主控mcu。

本实施例中所述基于可信计算模块的嵌入式系统安全启动与可信度量的方法的创新点有:(1)物联网可信计算模块,此模块可基于国芯的cc3310、华大的ciu981024等安全芯片进行设计;

(2)物联网可信计算模块写入根证书p0流程;

(3)物联网可信计算模块写入方案商标识公钥p1流程;

(4)智能终端主控mcu刷写bootloader、及物联网可信计算模块与智能终端主控mcu绑定流程;

(5)智能终端主控mcu下载固件流程;

(6)物联网可信计算模块写入智能终端标识公钥p2和私钥r2流程;

(7)智能终端启动校验、身份认证流程;

(8)远程度量流程。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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