CN110730079B - 基于可信计算模块的嵌入式系统安全启动和可信度量的系统 - Google Patents

基于可信计算模块的嵌入式系统安全启动和可信度量的系统 Download PDF

Info

Publication number
CN110730079B
CN110730079B CN201910984516.7A CN201910984516A CN110730079B CN 110730079 B CN110730079 B CN 110730079B CN 201910984516 A CN201910984516 A CN 201910984516A CN 110730079 B CN110730079 B CN 110730079B
Authority
CN
China
Prior art keywords
internet
things
trusted computing
computing module
management platform
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
Application number
CN201910984516.7A
Other languages
English (en)
Other versions
CN110730079A (zh
Inventor
罗燕京
刘鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xinchangcheng Technology Development Co ltd
Original Assignee
Beijing Xinchangcheng Technology Development Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Xinchangcheng Technology Development Co ltd filed Critical Beijing Xinchangcheng Technology Development Co ltd
Priority to CN201910984516.7A priority Critical patent/CN110730079B/zh
Publication of CN110730079A publication Critical patent/CN110730079A/zh
Application granted granted Critical
Publication of CN110730079B publication Critical patent/CN110730079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及智能终端的可信运行技术领域,尤其涉及一种基于可信计算模块的嵌入式系统安全启动和可信度量的系统;包括信长城可信计算管理平台,包括物联网可信计算模块;物联网可信计算模块,用于写入根证书P0;写入方案商标识公钥P1;写入智能终端标识公钥P2和私钥r2;物联网应用管理平台,用于刷写智能终端主控MCU的BootLoader,完成物联网可信计算模块与智能终端主控MCU的绑定;启动校验和身份认证;以及智能终端,用于下载固件。本发明所公开的基于可信计算模块的嵌入式系统安全启动和可信度量的系统,与现有技术的方式相比,可信计算模块较易设计;对原系统的改动较小;可更新固件镜像。

Description

基于可信计算模块的嵌入式系统安全启动和可信度量的系统
技术领域
本发明涉及智能终端的可信运行技术领域,尤其涉及一种基于可信计算模块的嵌入式系统安全启动和可信度量的系统。
背景技术
信息技术的高速发展,带来了信息产业的空前繁荣;但危害信息安全的事件也不断发生,信息安全形势日益严峻。当前比较流行的系统安全保障技术有强制访问控制技术、以及加密技术,但这些都是运行于系统上层,他们能够实现安全机制的前提是系统本身是安全的,如果系统自身在启动时就由于被恶意程序篡改等原因进入一种不可信的状态,则基于此系统的应用程序和上层安全机制都是不可信的。因此,系统的安全启动技术已逐步被引起重视,它是可信计算的核心部分。同时,对于运行过程中的可信度量也是可信计算的一个重要组成部分。
中国专利CN201120295129.1提出了一种兼容多种可信计算模式的可信计算系统,包含固件设置模块,固件下载模块,固件存储模块和可信计算单元,所述可信计算单元上设有与固件下载模块和总线进行通讯的通信接口;所述固件设置模块,用于设置可信计算单元的工作模式;所述固件存储模块,存储有可信计算标准固件;所述固件下载模块,用于从固件存储模块中下载与固件设置模块设置的可信计算单元的工作模式相对应的固件到可信计算单元中;所述可信计算单元,用于与总线进行数据传输,且承载固件下载模块下载的固件;使得可信计算系统在商业应用上具有更好的适应性,拥有极大的灵活性,且大大降低了成本。
可信计算组织(TCG)为了从基础上提高计算平台的安全可信性,定义了一个可信第三方,具有安全存储以及加解密引擎的可信平台模块(TPM),并且从硬件组件和软件两方面入手,解决跨平台和跨操作环境束缚,开发不依赖任何特定计算平台的可信计算环境。此解决方案对于PC端是非常有效的。
由于嵌入式领域的安全研究起步稍晚,针对嵌入式智能终端的安全研究还不完善,特别是系统层面的软件防御措施还有待加强,恰巧系统层面的安全又是整个设备的安全基石。而智能终端固有的一些特点使得PC上的安全防御措施和技术很难在这些设备中得到实施。应对这些安全威胁,应该在嵌入式设备中建立一套防御体系,杜绝一些非法且恶意的程序,防止这些带有攻击威胁的程序运行,或者至少在这些程序运行后能够被检测出。目前在嵌入式平台上主要的解决方案是:设计只读的块设备存储启动镜像,启动时从该只读设备中读取未受更改的镜像,只读设备在出厂时镜像一次性烧写,以后的启动中镜像都无法被篡改,可验证其启动镜像的完整性。此类两种措施一是增加了额外的硬件开销,对于成本控制严格的设备负担太大,二是需要加载的镜像一次性烧写,无法实现正常的系统更新及镜像更新。其客观缺点为:
(1)软算法安全性较差,信任根容易被篡改;
(2)面向PC的TPM、TPCM流程对于嵌入式平台过于繁琐,实用性较差;
(3)设计只读的块设备存储启动镜像的解决办法无法实现正常的系统更新。
因此,为了解决上述问题,急需发明一种新的基于可信计算模块的嵌入式系统安全启动和可信度量的系统。
发明内容
本发明的目的在于:提供一种基于可信计算模块的嵌入式系统安全启动和可信度量的系统,具有流程简单、安全性高、允许嵌入式平台更新固件的特点。
本发明提供了下述方案:
一种基于可信计算模块的嵌入式系统安全启动和可信度量的系统,包括:
信长城可信计算管理平台,包括物联网可信计算模块;
物联网可信计算模块,用于写入根证书P0;写入方案商标识公钥P1;写入智能终端标识公钥P2和密钥r2;
物联网应用管理平台,用于刷写智能终端主控MCU的BootLoader,完成物联网可信计算模块与智能终端主控MCU的绑定;启动校验和身份认证;
以及智能终端,用于下载固件。
优选地,所述的基于可信计算模块的嵌入式系统安全启动和可信度量的系统还包括:物联网应用管理平台用于进行远程度量操作;进行固件在线升级操作。
优选地,物联网可信计算模块用于写入根证书P0,具体为:
信长城可信计算管理平台随机生成一对密钥r0和P0;
信长城可信计算管理平台利用可信计算量产工具将P0写入物联网可信计算模块;
P0对应的密钥r0保存在信长城可信计算管理平台。
优选地,物联网可信计算模块用于写入方案商标识公钥P1,具体为:
信长城可信计算管理平台生成密钥对r1和P1,利用r0对P1进行签名得到Sign0;
信长城可信计算管理平台将r1、P1和Sign0发送给物联网应用管理平台;
物联网应用管理平台将P1写入物联网可信计算模块,r1由物联网应用管理平台保存。
优选地,智能终端主控MCU刷写BootLoader,完成物联网可信计算模块与智能终端主控MCU的绑定,具体为:
物联网应用管理平台计算BootLoader和BootLoader属性信息的hash值H0,并用r1对H0签名得到Sign1;
物联网应用管理平台管理平台将BootLoader刷写至智能终端主控MCU;
物联网应用管理平台管理平台将Sign1、H0发送给物联网可信计算模块;
物联网可信计算模块基于P0验证Sign1的有效性,若有效,则将H0和BootLoader属性信息保存至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;写入智能终端标识公钥P2和密钥r2;物联网应用管理平台,用于刷写智能终端主控MCU的BootLoader,完成物联网可信计算模块与智能终端主控MCU的绑定;启动校验和身份认证;以及智能终端,用于下载固件;智能终端启动校验和身份认证;与现有技术的方式相比,整体流程较为简单;可信计算模块较易设计;对原系统的改动较小;可更新固件镜像。
图1为本发明的基于可信计算模块的嵌入式系统安全启动和可信度量的系统的结构框图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
参见图1所示,一种基于可信计算模块的嵌入式系统安全启动和可信度量的系统,包括:
信长城可信计算管理平台,包括物联网可信计算模块;
物联网可信计算模块,用于写入根证书P0;写入方案商标识公钥P1;写入智能终端标识公钥P2和密钥r2;
物联网应用管理平台,用于刷写智能终端主控MCU的BootLoader,完成物联网可信计算模块与智能终端主控MCU的绑定;启动校验和身份认证;
以及智能终端,用于下载固件。
所述的基于可信计算模块的嵌入式系统安全启动和可信度量的系统还包括:
物联网应用管理平台进行远程度量操作;
进行固件在线升级操作。
物联网可信计算模块写入根证书P0的步骤,具体为:
信长城可信计算管理平台随机生成一对密钥r0和P0;
信长城可信计算管理平台利用可信计算量产工具将P0写入物联网可信计算模块;
P0对应的密钥r0保存在信长城可信计算管理平台。
物联网可信计算模块写入方案商标识公钥P1的步骤,具体为:
信长城可信计算管理平台生成密钥对r1和P1,利用r0对P1进行签名得到Sign0;
信长城可信计算管理平台将r1、P1和Sign0发送给物联网应用管理平台;
物联网应用管理平台将P1写入物联网可信计算模块,r1由物联网应用管理平台保存。
智能终端主控MCU刷写BootLoader,完成物联网可信计算模块与智能终端主控MCU的绑定的步骤,具体为:
物联网应用管理平台计算BootLoader和BootLoader属性信息的hash值H0,并用r1对H0签名得到Sign1;BootLoader属性信息是指BootLoader的版本号、发布日期、升级方式、修改日志等关于本BootLoader的相关信息;
物联网应用管理平台管理平台将BootLoader刷写至智能终端主控MCU;
物联网应用管理平台管理平台将Sign1、H0发送给物联网可信计算模块;
物联网可信计算模块基于P0验证Sign1的有效性,若有效,则将H0和BootLoader属性信息保存至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的签发。物联网应用管理平台负责智能终端主控MCU BootLoader的刷写以及身份认证等操作。为了实现可信计算目的,本方案需要基于以下条件:物联网可信计算模块可以读写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和BootLoader属性信息的hash值H0,并用r1对H0签名得到Sign1;
(2)物联网应用管理平台管理平台利用量产工具将BootLoader刷写至智能终端主控MCU;
(3)物联网应用管理平台管理平台利用量产工具将Sign1、H0及其他属性信息发送给物联网可信计算模块;
(4)物联网可信计算模块基于P0验证Sign1的有效性,若有效,则将H0和BootLoader属性信息保存至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)远程度量流程。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (5)

1.一种基于可信计算模块的嵌入式系统安全启动和可信度量的系统,其特征在于:包括:
可信计算管理平台,包括物联网可信计算模块;
物联网可信计算模块,用于写入根证书;写入方案商标识公钥P1;写入智能终端标识公钥P2和密钥r2;
物联网应用管理平台,用于刷写智能终端主控MCU的BootLoader,完成物联网可信计算模块与智能终端主控MCU的绑定;
以及智能终端,用于下载固件;
物联网可信计算模块用于写入根证书,具体为:
可信计算管理平台随机生成一对密钥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属性信息是指BootLoader的版本号、发布日期、升级方式和修改日志关于本BootLoader的相关信息;
物联网应用管理平台将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保存至物联网可信计算模块。
2.根据权利要求1所述的基于可信计算模块的嵌入式系统安全启动和可信度量的系统,其特征在于:还包括:
物联网应用管理平台用于进行远程度量操作;进行固件在线升级操作。
3.根据权利要求2所述的基于可信计算模块的嵌入式系统安全启动和可信度量的系统,其特征在于:智能终端启动校验和身份认证,具体为:
智能终端上电后,物联网可信计算模块计算BootLoader的hash值与H0比较,若一致表示BootLoader完整,则允许BootLoader启动;
BootLoader计算固件的hash值,并将hash值传至物联网可信计算模块,物联网可信计算模块将hash值与H1匹配,并将结果返回给BootLoader;
BootLoader判断固件是否完整,如果完整则启动固件;
固件启动后,请求物联网可信计算模块生成身份认证签名;
物联网可信计算模块判断是否完成了BootLoader和固件的完整性度量,若已完成,则利用r2生成身份认证签名Sign4,否则返回错误;
固件利用通信模组将Sign4发送至物联网应用管理平台;
物联网应用管理平台收到智能终端的认证请求后,验证Sign4,若验证通过,则完成身份认证。
4.根据权利要求3所述的基于可信计算模块的嵌入式系统安全启动和可信度量的系统,其特征在于:物联网应用管理平台用于进行远程度量操作具体为:
物联网应用管理平台向智能终端发起远程度量命令;
智能终端主控MCU根据命令计算摘要值,并交由可信计算模块进行比对;
可信计算模块对摘要值进行比对,如果要求度量BootLoader则主动计算BootLoader的摘要值,并与之前保存的值进行比对,若比对成功,则将结果进行签名;
可信计算模块将结果和签名值返回给智能终端主控MCU;
智能终端主控MCU将结果上传至物联网应用管理平台,物联网应用管理平台验证签名的有效性,并检查度量值合规性;若是合规的,则物联网应用管理平台随机生成一个自动发起的时间值,并将此值和要度量的内容利用智能终端的P2进行加密得到EncCheckParas;
物联网应用管理平台将EncCheckParas发送至智能终端,智能终端主控MCU将其发送至物联网可信计算模块;
物联网可信计算模块解密EncCheckParas得到CheckParas,并设置主动度量计划;
当设置的主动度量时间到,物联网可信计算模块发起主动度量,并将度量结果进行签名。
5.根据权利要求4所述的基于可信计算模块的嵌入式系统安全启动和可信度量的系统,其特征在于:进行固件在线升级操作,具体为:
物联网应用管理平台首先利用r1对新的固件的hash值进行签名,得到Sign5;
物联网应用管理平台将新的固件及签名发送至智能终端;
智能终端主控MCU计算固件hash值,并将hash值和Sign5发送至物联网可信计算模块;
物联网可信计算模块使用P1对Sign5进行验签,若验签通过则保存固件hash值;若验签通过,启动固件替换流程,并重启智能终端主控MCU。
CN201910984516.7A 2019-10-16 2019-10-16 基于可信计算模块的嵌入式系统安全启动和可信度量的系统 Active CN110730079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910984516.7A CN110730079B (zh) 2019-10-16 2019-10-16 基于可信计算模块的嵌入式系统安全启动和可信度量的系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910984516.7A CN110730079B (zh) 2019-10-16 2019-10-16 基于可信计算模块的嵌入式系统安全启动和可信度量的系统

Publications (2)

Publication Number Publication Date
CN110730079A CN110730079A (zh) 2020-01-24
CN110730079B true CN110730079B (zh) 2023-06-02

Family

ID=69221417

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910984516.7A Active CN110730079B (zh) 2019-10-16 2019-10-16 基于可信计算模块的嵌入式系统安全启动和可信度量的系统

Country Status (1)

Country Link
CN (1) CN110730079B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112910651B (zh) * 2021-01-15 2022-07-01 烽火通信科技股份有限公司 一种智慧灯杆与接入设备id自动绑定方法及系统
CN113438240A (zh) * 2021-06-25 2021-09-24 北京八分量信息科技有限公司 一种物联网信息防止入侵的免疫系统及其方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102222181A (zh) * 2010-04-15 2011-10-19 北京同方微电子有限公司 一种在嵌入式设备中实现可信计算平台的方法
CN103530548A (zh) * 2013-10-22 2014-01-22 山东神思电子技术股份有限公司 基于移动可信计算模块的嵌入式终端可信启动方法
CN104156659A (zh) * 2014-08-14 2014-11-19 电子科技大学 一种嵌入式系统的安全启动方法
CN109889589A (zh) * 2019-02-18 2019-06-14 闪联信息技术工程中心有限公司 一种基于区块链实现嵌入式硬件ota升级系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9117083B2 (en) * 2011-02-14 2015-08-25 Blackberry Limited Managing booting of secure devices with untrusted software

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102222181A (zh) * 2010-04-15 2011-10-19 北京同方微电子有限公司 一种在嵌入式设备中实现可信计算平台的方法
CN103530548A (zh) * 2013-10-22 2014-01-22 山东神思电子技术股份有限公司 基于移动可信计算模块的嵌入式终端可信启动方法
CN104156659A (zh) * 2014-08-14 2014-11-19 电子科技大学 一种嵌入式系统的安全启动方法
CN109889589A (zh) * 2019-02-18 2019-06-14 闪联信息技术工程中心有限公司 一种基于区块链实现嵌入式硬件ota升级系统及方法

Also Published As

Publication number Publication date
CN110730079A (zh) 2020-01-24

Similar Documents

Publication Publication Date Title
CN108810894B (zh) 终端授权方法、装置、计算机设备和存储介质
US11360784B2 (en) Integrity manifest certificate
TWI674533B (zh) 授權將於目標計算裝置上執行之操作的設備
US7546468B2 (en) Program update method and server
US9009357B2 (en) Method and apparatus for field firmware updates in data storage systems
CN102449631B (zh) 用于执行管理操作的系统和方法
CN110795126A (zh) 一种固件安全升级系统
US20110246778A1 (en) Providing security mechanisms for virtual machine images
TW201516733A (zh) 用以核對uefi認證變量變化之系統及方法
JP2009521032A (ja) チップカードを備えるオンボードコンピュータシステム上に安全なカウンタを作成する方法
JP2017021434A (ja) 情報処理装置及びその制御方法
CN110688660B (zh) 一种终端安全启动的方法及装置、存储介质
US11803366B2 (en) Firmware updating system and method
CN103051451A (zh) 安全托管执行环境的加密认证
CN106156635A (zh) 终端启动方法和装置
US20090287917A1 (en) Secure software distribution
CN103269271A (zh) 一种备份电子签名令牌中私钥的方法和系统
CN110730079B (zh) 基于可信计算模块的嵌入式系统安全启动和可信度量的系统
CN111901304B (zh) 移动安全设备的注册方法和装置、存储介质、电子装置
WO2018166163A1 (zh) Pos终端控制方法、pos终端、服务器及存储介质
CN116070217A (zh) 一种用于芯片模块的安全启动系统及其启动方法
US11822669B2 (en) Systems and methods for importing security credentials for use by an information handling system
CN110740041B (zh) 基于可信计算模块的嵌入式系统安全启动与可信度量的方法
US11822668B2 (en) Systems and methods for authenticating configurations of an information handling system
CN109508201A (zh) 一种基于硬件认证和安全审查的uefi更新方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: A1501, 15 / F, No. 22, Zhongguancun Street, Haidian District, Beijing 100089

Applicant after: Beijing xinchangcheng Technology Development Co.,Ltd.

Address before: 100080 room 1505, 15 / F, block B, 3 Haidian Street, Haidian District, Beijing

Applicant before: BEIJING RENXINZHENG TECHNOLOGY CO.,LTD.

GR01 Patent grant
GR01 Patent grant