CN111967019A - 一种基于tee物联网安全启动实现方法 - Google Patents
一种基于tee物联网安全启动实现方法 Download PDFInfo
- Publication number
- CN111967019A CN111967019A CN202010754683.5A CN202010754683A CN111967019A CN 111967019 A CN111967019 A CN 111967019A CN 202010754683 A CN202010754683 A CN 202010754683A CN 111967019 A CN111967019 A CN 111967019A
- Authority
- CN
- China
- Prior art keywords
- mirror image
- signature
- hash
- certificate
- key
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于TEE物联网安全启动实现方法,该方法包括以下步骤:找出为签名镜像的可信应用镜像;找出证书,计算镜像内四组密钥哈希栏位的哈希摘要,比对两哈希摘要的一致性;计算可信应用签名镜像的哈希摘要;利用非对称式加密验证签名合法性;检查客户应用镜像标头合法性,找出标志为签名镜像的客户应用镜像;找出证书,计算镜像内四组密钥哈希栏位的哈希摘要,并提取密钥库内的可信应用安全启动密钥哈希摘要,比对两哈希摘要的一致性;计算客户应用签名镜像之哈希摘要;利用非对称式加密验证签名合法性,进入可信应用执行。通过该方法,保证了安全性、灵活性、撤销已发布的签名镜像,防止了回滚。
Description
技术领域
本发明涉及物联网安全技术领域,具体来说,涉及一种基于TEE物联网安全启动实现方法。
背景技术
随着物联网装置对安全的重视,虽然把敏感业务和信息放在安全处理环境执行,但仍然存在软件伪造或窜改的安全隐患。目前,存在以下缺点:
安全隐患:物联网装置上,当该设备接入电源时,即执行装置上的软件,若装置上的软件是被恶意植入或窜改的,则会对装置的私密资料进行窃取或窜改造成损害,造成装置功能无法正常运作或无法开机的风险。
伪造:恶意客户应用或可信应用伪装成合法固件、从而获取到TEE输出的敏感数据,造成数据泄漏。
窜改:恶意固件执行,导致TEE或可信应用无法提供正常服务,甚至装置无法开机。
当前没有相关标准和规范对这部分进行约束和定义。
发明内容
针对相关技术中的上述技术问题,本发明提出一种基于TEE物联网安全启动实现方法,能够克服现有技术的上述不足。
为实现上述技术目的,本发明的技术方案是这样实现的:
一种基于TEE物联网安全启动实现方法,该方法包括以下步骤:
S1:检查可信应用镜像标头是合法性,找出为签名镜像的可信应用镜像,其中,采用签名标头内含的标志识别镜像是否签名,若所述标志不是签名镜像,则停止安全启动;
S2:验证可信应用镜像中嵌入的X.509数字证书,检查并找出证书内夹带序列号大于等于芯片内的撤消ID的证书,计算镜像内四组密钥哈希栏位的哈希摘要,并提取密钥库内的可信应用安全启动密钥哈希摘要,比对两哈希摘要的一致性,其中,若两个哈希摘要不一致,则停止安全启动;
S3:计算可信应用签名镜像的哈希摘要;
S4:所述步骤S2中X.509证书的公开金钥与所述步骤S2中计算的哈希摘要利用非对称式加密验证签名合法性;
S5:检查客户应用镜像标头合法性,签名标头内含有标志,找出标志为签名镜像的客户应用镜像;
S6:验证客户应用镜像中嵌入的X.509数字证书,检查并找出证书内夹带序列号大于等于芯片内的撤消ID的证书,计算镜像内四组密钥哈希栏位的哈希摘要,并提取密钥库内的可信应用安全启动密钥哈希摘要,比对两哈希摘要的一致性;
S7:计算客户应用签名镜像之哈希摘要;
S8:所述步骤S6中X.509证书的公开金钥与所述步骤S7中计算的哈希摘要利用非对称式加密验证签名合法性,进入可信应用执行。
进一步的,所述步骤S2中,若检查证书内夹带序列号小于芯片内的撤消ID,则停止安全启动。
进一步的,所述步骤S4中,若签名不合法,则停止安全启动。
进一步的,所述签名镜像支持若干密钥。
本发明的有益效果:通过该方法,达到了:
安全性:设备软件的真实性和完整性通过加密数位签章得到验证,以确保只有授权的软件才能够在该物联网设备上运行;
灵活性:基于TEE基础下的安全启动,可单独验证运行于安全处理环境下的可信应用与运行非安全处理环境下的客户应用,即使可信应用与客户应用的应用程序升级,TEE安全启动程序无须修改;
撤销已发布的签名镜像:支持多个私钥,如果私钥被盗,则带有被盗证书的镜像应被撤销,通过撤销镜像证书来撤销已发布的签名镜像,防止回滚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所述的一种基于TEE物联网安全启动实现方法的原理框图;
图2是根据本发明实施例所述的签名镜像的结构图;
图3是根据本发明实施例所述的一种基于TEE物联网安全启动实现方法的流程框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1、3所示,根据本发明实施例所述的一种基于TEE物联网安全启动实现方法,包括以下步骤:
S1:检查可信应用镜像标头是合法性,找出为签名镜像的可信应用镜像,其中,采用签名标头内含的标志识别镜像是否签名,若所述标志不是签名镜像,则停止安全启动;
S2:验证可信应用镜像中嵌入的X.509数字证书,检查并找出证书内夹带序列号大于等于芯片内的撤消ID的证书,计算镜像内四组密钥哈希栏位的哈希摘要,并提取密钥库内的可信应用安全启动密钥哈希摘要,比对两哈希摘要的一致性,其中,若两个哈希摘要不一致,则停止安全启动;
S3:计算可信应用签名镜像的哈希摘要;
S4:所述步骤S2中X.509证书的公开金钥与所述步骤S2中计算的哈希摘要利用非对称式加密验证签名合法性;
S5:检查客户应用镜像标头合法性,签名标头内含有标志,找出标志为签名镜像的客户应用镜像;
S6:验证客户应用镜像中嵌入的X.509数字证书,检查并找出证书内夹带序列号大于等于芯片内的撤消ID的证书,计算镜像内四组密钥哈希栏位的哈希摘要,并提取密钥库内的可信应用安全启动密钥哈希摘要,比对两哈希摘要的一致性;
S7:计算客户应用签名镜像之哈希摘要;
S8:所述步骤S6中X.509证书的公开金钥与所述步骤S7中计算的哈希摘要利用非对称式加密验证签名合法性,进入可信应用执行。
在本发明的一个具体实施例中,所述步骤S2中,若检查证书内夹带序列号小于芯片内的撤消ID,则停止安全启动。
在本发明的一个具体实施例中,所述步骤S4中,若签名不合法,则停止安全启动。
在本发明的一个具体实施例中,所述签名镜像支持若干密钥。
在本发明的一个具体实施例中,在一个物联装置上,具备空中更新固件功能,如何确保装置上的空中固件更新是完善且安全的,基于TEE务联装置的安全启动架构下,由三个镜像所组成,分别是执行于安全端的TEE镜像与含空中固件更新可信应用镜像,以及含空中固件更新客户应用的非安全端镜像。分别对这三个镜像使用其私钥制作签名镜像,并烧录在对应内存配置位置。固件更新程序为客户应用收到固件更新请求后,传送请求至可信应用,可信应用经由TEE核心功能完成固件更新。装置一开机即执行TEE镜像,TEE镜像内含安全启动验证程序,分别对可信应用镜像与含客户应用镜像作身分认证,若两者皆认证成功,则由TEE跳到固件更新可信应用执行,可信应用启动成功后跳到非安全端执行,非安全端的固件更新客户应用启动成功后即进入等候固件更新程序,经由安全启动验证程序,确保此物联网装置上的空中固件更新应用是可信赖的。
为了方便理解本发明的上述技术方案,以下对本发明的上述技术方案进行详细说明。
本发明是一种基于TEE物联网安全启动方法,TEE镜像为开机后启动的第一个镜像,负责核心程序与安全启动验证,将物联网装置的应用分为可信应用与客户应用,含可信应用的镜像为第二个镜像执行于安全端,而包含客户应用的镜像为第三个镜像执行于非安全端,TEE镜像分别对含可信应用镜像与含客户应用镜像作身分验证,确保物联装置从开机到固件执行的启动程序是可信的。
如图1所述,本发明提出一种基于可信执行环境的物联网安全启动方法,替物联网装置上执行的软件作全方位的身分认证把关,使物联网设备从一上电后就是安全劳不可破的。
基于TEE系统架构下,安全处理环境包含两个镜像,分别为核心TEE镜像与含可信应用镜像;非安全处理环境则包含客户应用镜像。安全启动实现在可信执行环境的第一个执行镜像TEE,也是ROM Boot启动后执行的第一个镜像,TEE安全启动软件架构由安全启动,内存驱动,密钥库与加解密四个模块共同组合。安全启动模块为安全启动的核心模块,负责可信应用与客户应用镜像的认证,透过内存驱动模块读取镜像资料,提取密钥库内可信应用与客户应用安全启动密钥,使用加解密模块认证镜像签名的合法性。
如图2所示,签名镜像支持RSA密钥和X.509 V3证书,使用RSASSA-PKCS1-v1_5签名验证。签名镜像格式如下图所示,在明文镜像前加上签名标头,后面加上X509证书与保留四组密钥哈希摘要栏位,最后为数位签章,数位签章的算法,由标头至公钥三哈希摘先计算出一个哈希摘要,并使用RSA私密密钥对此计算出的哈希摘要作加密而成。
镜像验证包含两个过程:
1.验证镜像中嵌入的X.509数字证书。
2.使用从x509证书中提取镜像公共密钥来验证镜像签名。
本发明的特点为签名镜像可支持多个密钥,且密钥证书具吊销功能, 设计上最多可支持4个密钥,和最多16个具有镜像吊销功能的密钥证书。如果私钥被盗则带有被盗证书的镜像应被撤销,可以通过撤销镜像密钥证书来撤销已签名的已发布镜像,防止回滚。作法上证书内有一个带有证书序列号的字段,并在芯片内部受保护的闪存区域存储一个撤消ID,如果是数字证书的序列号小于芯片内部之撤消ID,则镜像验证过程将失败,序列号值可以向前跳转但不能回滚,藉由重新制作较高序列号的证书,并更新带新证书之签名镜像,以更新芯片内部撤消ID,此时旧的已签名的发布镜像已无法再被执行或更新,亦即被撤销。签名镜像内保留四个密钥哈希摘要,密钥库内则储存一组哈希摘要为此四个密钥哈希值的哈希摘要,作为验证公开金钥是否正确。四个密钥哈希值栏位代表最多可使用四组密钥,当使用小于四组密钥时,则未使用之栏位值为0。
如图3所示,安全启动流程为:
1)检查可信应用镜像标头是否合法,签名标头内含标志,用来识别镜像是否签名,若此标志不为签名镜像,则停止安全启动。
2) 验证镜像中嵌入的X.509数字证书,并检查证书内夹带序列号是否大于等于芯片内的撤消ID,若不符合则停止安全启动。接着计算镜像内四组密钥哈希栏位的哈希摘要,并提取密钥库内的可信应用安全启动密钥哈希摘要,比对两者否一致,以检验公开金钥是否正确,若不一致则停止安全启动。
3) 计算可信应用签名镜像之哈希摘要。
4) 使用2)X.509证书内公开金钥与3)计算之哈希摘要,利用非对称式加密验证签名是否合法,若不合法则停止安全启动。
5) 检查客户应用镜像标头是否合法,签名标头内含标志,用来识别镜像是否签名, 若此标志不为签名镜像,则停止安全启动。
6) 验证客户应用镜像中嵌入的X.509数字证书,并检查证书内夹带序列号是否大于等于芯片内的撤消ID,若不符合则停止安全启动。接着计算镜像内四组密钥哈希栏位的哈希摘要,并提取密钥库内的可信应用安全启动密钥哈希摘要,比对两者否一致,以检验公开金钥是否正确,若不一致则停止安全启动。
7) 计算客户应用签名镜像之哈希摘要。
8) 使用6)X.509证书内公开金钥与7)计算之哈希摘要,利用非对称式加密验证签名是否合法,若不合法则停止安全启动,合法则进入可信应用执行。
综上所述,借助于本发明的上述技术方案,通过该方法,达到了:安全性:设备软件的真实性和完整性通过加密数位签章得到验证,以确保只有授权的软件才能够在该物联网设备上运行;灵活性:基于TEE基础下的安全启动,可单独验证运行于安全处理环境下的可信应用与运行非安全处理环境下的客户应用,即使可信应用与客户应用的应用程序升级,TEE安全启动程序无须修改;撤销已发布的签名镜像:支持多个私钥,如果私钥被盗,则带有被盗证书的镜像应被撤销,通过撤销镜像证书来撤销已发布的签名镜像,防止回滚。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于TEE物联网安全启动实现方法,其特征在于,包括以下步骤:
S1:检查可信应用镜像标头是合法性,找出为签名镜像的可信应用镜像,其中,采用签名标头内含的标志识别镜像是否签名,若所述标志不是签名镜像,则停止安全启动;
S2:验证可信应用镜像中嵌入的X.509数字证书,检查并找出证书内夹带序列号大于等于芯片内的撤消ID的证书,计算镜像内四组密钥哈希栏位的哈希摘要,并提取密钥库内的可信应用安全启动密钥哈希摘要,比对两哈希摘要的一致性,其中,若两个哈希摘要不一致,则停止安全启动;
S3:计算可信应用签名镜像的哈希摘要;
S4:所述步骤S2中X.509证书的公开金钥与所述步骤S2中计算的哈希摘要利用非对称式加密验证签名合法性;
S5:检查客户应用镜像标头合法性,找出标志为签名镜像的客户应用镜像;
S6:验证客户应用镜像中嵌入的X.509数字证书,检查并找出证书内夹带序列号大于等于芯片内的撤消ID的证书,计算镜像内四组密钥哈希栏位的哈希摘要,并提取密钥库内的可信应用安全启动密钥哈希摘要,比对两哈希摘要的一致性;
S7:计算客户应用签名镜像之哈希摘要;
S8:所述步骤S6中X.509证书的公开金钥与所述步骤S7中计算的哈希摘要利用非对称式加密验证签名合法性,进入可信应用执行。
2.根据权利要求1所述的一种基于TEE物联网安全启动实现方法,其特征在于,所述步骤S2中,若检查证书内夹带序列号小于芯片内的撤消ID,则停止安全启动。
3.根据权利要求1所述的一种基于TEE物联网安全启动实现方法,其特征在于,所述步骤S4中,若签名不合法,则停止安全启动。
4.根据权利要求1所述的一种基于TEE物联网安全启动实现方法,其特征在于,所述签名镜像支持若干密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010754683.5A CN111967019A (zh) | 2020-07-31 | 2020-07-31 | 一种基于tee物联网安全启动实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010754683.5A CN111967019A (zh) | 2020-07-31 | 2020-07-31 | 一种基于tee物联网安全启动实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111967019A true CN111967019A (zh) | 2020-11-20 |
Family
ID=73364062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010754683.5A Pending CN111967019A (zh) | 2020-07-31 | 2020-07-31 | 一种基于tee物联网安全启动实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111967019A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486360A (zh) * | 2021-07-14 | 2021-10-08 | 上海瓶钵信息科技有限公司 | 基于risc-v的安全启动方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005317A1 (en) * | 2001-06-28 | 2003-01-02 | Audebert Yves Louis Gabriel | Method and system for generating and verifying a key protection certificate |
CN102594568A (zh) * | 2012-03-23 | 2012-07-18 | 南京小网科技有限责任公司 | 基于多级数字证书的保障移动设备软件镜像安全的方法 |
EP3182318A1 (de) * | 2015-12-16 | 2017-06-21 | Bundesdruckerei GmbH | Signaturgenerierung durch ein sicherheitstoken |
CN108604263A (zh) * | 2016-02-10 | 2018-09-28 | 思科技术公司 | 用于客户提供的完整性的双重签名可执行镜像 |
-
2020
- 2020-07-31 CN CN202010754683.5A patent/CN111967019A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005317A1 (en) * | 2001-06-28 | 2003-01-02 | Audebert Yves Louis Gabriel | Method and system for generating and verifying a key protection certificate |
CN102594568A (zh) * | 2012-03-23 | 2012-07-18 | 南京小网科技有限责任公司 | 基于多级数字证书的保障移动设备软件镜像安全的方法 |
EP3182318A1 (de) * | 2015-12-16 | 2017-06-21 | Bundesdruckerei GmbH | Signaturgenerierung durch ein sicherheitstoken |
CN108604263A (zh) * | 2016-02-10 | 2018-09-28 | 思科技术公司 | 用于客户提供的完整性的双重签名可执行镜像 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486360A (zh) * | 2021-07-14 | 2021-10-08 | 上海瓶钵信息科技有限公司 | 基于risc-v的安全启动方法及系统 |
CN113486360B (zh) * | 2021-07-14 | 2022-11-11 | 上海瓶钵信息科技有限公司 | 基于risc-v的安全启动方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107463806B (zh) | 一种Android应用程序安装包的签名和验签方法 | |
US8600896B2 (en) | Software updating apparatus, software updating system, invalidation method, and invalidation program | |
JP4410821B2 (ja) | 保護された処理システムへの初期トラステッド・デバイスのバインディングの検証 | |
US8464347B2 (en) | Software updating apparatus, software updating system, alteration verification method and alteration verification program | |
EP2659373B1 (en) | System and method for secure software update | |
WO2016074506A1 (zh) | 应用程序完整性验证方法及网络设备 | |
EP3343424B1 (en) | Control board secure start method, and software package upgrade method and device | |
US8756414B2 (en) | Information processing apparatus, software verification method, and software verification program | |
TW201502855A (zh) | 使用安全加強晶片之用於資料之安全儲存之系統、方法及裝置 | |
CN106156635A (zh) | 终端启动方法和装置 | |
CN110795126A (zh) | 一种固件安全升级系统 | |
CN113032814B (zh) | 物联网数据管理方法和系统 | |
CN110378104A (zh) | 一种升级防纂改的方法 | |
CN111160879B (zh) | 一种硬件钱包及其安全性提升方法和装置 | |
JP6387908B2 (ja) | 認証システム | |
CN108345805B (zh) | 验证固件的方法及装置 | |
CN116070217A (zh) | 一种用于芯片模块的安全启动系统及其启动方法 | |
CN115062292A (zh) | 一种基于分级加密的设备安全启动及认证方法和装置 | |
CN111967019A (zh) | 一种基于tee物联网安全启动实现方法 | |
CN110730079B (zh) | 基于可信计算模块的嵌入式系统安全启动和可信度量的系统 | |
CN112417422A (zh) | 安全芯片升级方法及计算机可读存储介质 | |
CN115357908B (zh) | 一种网络设备内核可信度量与自动修复方法 | |
CN114816549B (zh) | 一种保护bootloader及其环境变量的方法及系统 | |
CN116032484A (zh) | 一种通信设备安全启动的方法、装置和电子设备 | |
CN112733126B (zh) | 一种产品许可认证方法和系统 |
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 |