CN112861137A - 安全固件 - Google Patents

安全固件 Download PDF

Info

Publication number
CN112861137A
CN112861137A CN201911178435.4A CN201911178435A CN112861137A CN 112861137 A CN112861137 A CN 112861137A CN 201911178435 A CN201911178435 A CN 201911178435A CN 112861137 A CN112861137 A CN 112861137A
Authority
CN
China
Prior art keywords
key
secure
firmware
security
authentication
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
Application number
CN201911178435.4A
Other languages
English (en)
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.)
Quantum Core Cloud Beijing Microelectronics Technology Co ltd
Original Assignee
Quantum Core Cloud Beijing Microelectronics Technology 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 Quantum Core Cloud Beijing Microelectronics Technology Co ltd filed Critical Quantum Core Cloud Beijing Microelectronics Technology Co ltd
Priority to CN201911178435.4A priority Critical patent/CN112861137A/zh
Publication of CN112861137A publication Critical patent/CN112861137A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种安全固件,在所述安全固件的BOOT区中包含用于验证数字签名的特定公钥,用于验证固件中的版本号、关键校验字以及针对整体代码哈希值的数字签名是否正确,正确才允许加载执行。所述安全固件需要载体芯片具备唯一ID号、安全加密算法库及可外挂带安全存储器的加密芯片,是安全存储器、全国产服务器及安全终端中关键主控芯片不可或缺的重要核心底层安全基础,由此保障安全启动和系统信任链的建立。

Description

安全固件
技术领域
本发明涉及一种基于安全内核的安全固件,能够验证固件中的版本号、关键校验字及数字签名,能够兼容多应用。
背景技术
普通的固件不能防止被篡改和刷回旧版本,如果在安全CPU内核配合下,加入安全固件,保护启动过程,使数据和芯片唯一编号做关联,并通过与唯一编号绑定的密钥保护数字签名,能够实现更安全的多应用安全固件。
发明内容
本发明公开了一种安全固件,其特征在于,在所述安全固件的BOOT区中包含用于验证数字签名的特定公钥,用于验证固件中的版本号、关键校验字以及针对整体代码哈希值的数字签名是否正确,正确才允许继续加载执行;所述安全固件需要载体芯片具备唯一ID号和安全加密算法库。
所述的安全固件,其特征在于,所述安全固件需要载体芯片具备可外挂带安全存储器的加密芯片,由此保障安全启动和系统信任链的建立;所述载体芯片,其特征在于,至少包括两个独立的CPU,其中至少包括一个安全SPU,所述安全SPU即安全CPU,是基于独立的安全内核,即包括唯一编号、独立的内存、程序存储器、数据存储器、加密运算组件和控制其它CPU及总线的加密接口,所述安全SPU内部的启动程序根据加密逻辑和认证公钥,调用加密运算组件,能够有效控制所有CPU及SPU的操作系统及应用程序的执行和安全更新,操作系统和应用程序代码通过特定私钥签名,才能用安全SPU的认证公钥认证通过,所有CPU及SPU的操作系统和应用程序经过特定的安全编译器编译后,也需要安全SPU进行协助处理才能正确执行,通过安全SPU的唯一编号或数字签名方的唯一编号能够计算认证公钥,并保护数字签名,实现更安全的多应用。
所述的安全固件,其特征在于,所述认证公钥的计算方法采用基于组合公钥的标识认证方法,即构架多个椭圆曲线公私钥对,用标识的摘要值及非线性算法计算出多个坐标,分别将对应的公钥点加成标识公钥,将对应的私钥模加成标识私钥,因此每个安全CPU包含自己的私钥及公钥矩阵,能够直接计算与标识对应的公钥,验证标识对应的数字签名。
所述的安全固件,其特征在于,所述安全编译器通过外部的安全硬件钥匙进行加密和数字签名运算,所述安全硬件钥匙每个都具有唯一编号,代表了操作系统或应用程序开发者的可信身份,也便于通过数字签名进行追溯。
所述的安全固件,其特征在于,所述安全内核的工作流程包括:(1)在安全内核中设置安全SPU;(2)启动信息处理设备,由安全SPU验证当前底层固件的完整性,如正确则完成正常的系统初始化后执行步骤(3),否则停止启动该信息处理设备;(3)由底层固件验证当前操作系统的完整性,如正确则正常运行操作系统,否则停止装入操作系统;SPU是通过在信息处理设备的启动过程中对监控程序、底层固件、操作系统依次进行完整性验证,从而保证信息处理设备的安全启动之后,再利用安全SPU内置的加密运算组件调用并管理系统中各种密钥,对应用模块进行加解密,以保证手机或智能信息设备中应用模块的安全。
所述的安全固件,其特征在于,所述安全SPU具有多安全分区,通过对唯一标识运算实现的可信认证功能,同时兼容现有应用系统规范,能够创建互联互通应用;所述可信认证通过将密钥运算绑定安全SPU芯片唯一编号和/或用户唯一标识实现;所述可信认证互联互通应用上有多种应用目录,包括兼容现有应用系统规范的应用,以及带有可信认证功能的应用;带可信认证功能的应用名称和发行密钥是用户能够自定义的;在装载现有应用系统统一密钥的情况下能够在现有应用系统中运行;在装载配合可信认证的自定义密钥的情况下能够在装有可信认证的系统中运行。
所述的安全固件,其特征在于,所述可信认证的实现方式为,根据外部云服务平台或终端中PSAM卡发出的随机数和认证申请,所述可信认证互联互通应用通过安全SPU内部安全指令方式获取唯一编号和认证密钥,然后用认证密钥对唯一编号和随机数进行运算,把运算结果返回给外部云服务平台或PSAM卡,由外部云服务平台或PSAM卡判断可信认证互联互通应用申请的合法性;所述唯一编号的来源是所述可信认证互联互通应用写入安全SPU的用户唯一标识和/或安全SPU的芯片唯一编号。
所述的安全固件,其特征在于,所述随机数的一部分能够校验随机数另一部分的正确性,且校验运算还需要唯一编号、特定密钥、授权文件数据和时间数据中的一种或多种数据参与。
所述的安全固件,其特征在于,当所述载体芯片或外挂的加密芯片中包含芯片唯一ID及安全计数器时,所述安全固件中包含与芯片唯一ID相关的密钥K,更新安全计数器时,先用与唯一ID匹配的密钥K用随机数做分散算法,加密安全固件当前版本,关键字和校验值发给安全芯片,安全芯片通过ID计算出密钥K,并根据随机数分散过程密钥,解密出当前版本和关键校验字,与安全计数器中的当前版本及关键校验字的值比较,如果版本比计数器中版本低,不进行安全计数器更新;如果版本一样,关键校验字一样则更新安全计数器;如果关键校验字错误,则返回错误信息。
具体实施方式
本发明所述的安全固件,具体实施方式为,选择合适的CPU内核进行加密运算改进,置入HMAC等多种加密运算,安全SPU采用自动加载随机噪声的指令体系,能够抗逻辑分析和DPA探测,采用低频自动抑制结构防止低频分析,采用抗打磨传感器和自毁装置防止芯片打磨探测,采用扰乱加密总线对加载指令和数据做保护。所述安全固件支持可信认证系统,并兼容现有的操作系统,同时能够创建互联互通应用。所述可信认证通过将密钥运算绑定SPU的芯片唯一编号和/或用户唯一标识实现;装载现有应用系统密钥和可信认证发行系统密钥,即能够在现有应用系统中使用,也能够在更安全的可信认证系统中运行。

Claims (9)

1.一种安全固件,其特征在于,在所述安全固件的BOOT区中包含用于验证数字签名的特定公钥,用于验证固件中的版本号、关键校验字以及针对整体代码哈希值的数字签名是否正确,正确才允许继续加载执行;所述安全固件需要载体芯片具备唯一ID号和安全加密算法库。
2.根据权利要求1中所述的安全固件,其特征在于,所述安全固件需要载体芯片具备可外挂带安全存储器的加密芯片,由此保障安全启动和系统信任链的建立;所述载体芯片,其特征在于,至少包括两个独立的CPU,其中至少包括一个安全SPU,所述安全SPU即安全CPU,是基于独立的安全内核,即包括唯一编号、独立的内存、程序存储器、数据存储器、加密运算组件和控制其它CPU及总线的加密接口,所述安全SPU内部的启动程序根据加密逻辑和认证公钥,调用加密运算组件,能够有效控制所有CPU及SPU的操作系统及应用程序的执行和安全更新,操作系统和应用程序代码通过特定私钥签名,才能用安全SPU的认证公钥认证通过,所有CPU及SPU的操作系统和应用程序经过特定的安全编译器编译后,也需要安全SPU进行协助处理才能正确执行,通过安全SPU的唯一编号或数字签名方的唯一编号能够计算认证公钥,并保护数字签名,实现更安全的多应用。
3.根据权利要求2中所述的安全固件,其特征在于,所述认证公钥的计算方法采用基于组合公钥的标识认证方法,即构架多个椭圆曲线公私钥对,用标识的摘要值及非线性算法计算出多个坐标,分别将对应的公钥点加成标识公钥,将对应的私钥模加成标识私钥,因此每个安全CPU包含自己的私钥及公钥矩阵,能够直接计算与标识对应的公钥,验证标识对应的数字签名。
4.根据权利要求3中所述的安全固件,其特征在于,所述安全编译器通过外部的安全硬件钥匙进行加密和数字签名运算,所述安全硬件钥匙每个都具有唯一编号,代表了操作系统或应用程序开发者的可信身份,也便于通过数字签名进行追溯。
5.根据权利要求4中所述的安全固件,其特征在于,所述安全内核的工作流程包括:(1)在安全内核中设置安全SPU;(2)启动信息处理设备,由安全SPU验证当前底层固件的完整性,如正确则完成正常的系统初始化后执行步骤(3),否则停止启动该信息处理设备;(3)由底层固件验证当前操作系统的完整性,如正确则正常运行操作系统,否则停止装入操作系统;SPU是通过在信息处理设备的启动过程中对监控程序、底层固件、操作系统依次进行完整性验证,从而保证信息处理设备的安全启动之后,再利用安全SPU内置的加密运算组件调用并管理系统中各种密钥,对应用模块进行加解密,以保证手机或智能信息设备中应用模块的安全。
6.根据权利要求5中所述的安全固件,其特征在于,所述安全SPU具有多安全分区,通过对唯一标识运算实现的可信认证功能,同时兼容现有应用系统规范,能够创建互联互通应用;所述可信认证通过将密钥运算绑定安全SPU芯片唯一编号和/或用户唯一标识实现;所述可信认证互联互通应用上有多种应用目录,包括兼容现有应用系统规范的应用,以及带有可信认证功能的应用;带可信认证功能的应用名称和发行密钥是用户能够自定义的;在装载现有应用系统统一密钥的情况下能够在现有应用系统中运行;在装载配合可信认证的自定义密钥的情况下能够在装有可信认证的系统中运行。
7.根据权利要求6中所述的安全固件,其特征在于,所述可信认证的实现方式为,根据外部云服务平台或终端中PSAM卡发出的随机数和认证申请,所述可信认证互联互通应用通过安全SPU内部安全指令方式获取唯一编号和认证密钥,然后用认证密钥对唯一编号和随机数进行运算,把运算结果返回给外部云服务平台或PSAM卡,由外部云服务平台或PSAM卡判断可信认证互联互通应用申请的合法性;所述唯一编号的来源是所述可信认证互联互通应用写入安全SPU的用户唯一标识和/或安全SPU的芯片唯一编号。
8.根据权利要求7中所述的安全固件,其特征在于,所述随机数的一部分能够校验随机数另一部分的正确性,且校验运算还需要唯一编号、特定密钥、授权文件数据和时间数据中的一种或多种数据参与。
9.根据权利要求8中所述的安全固件,其特征在于,当所述载体芯片或外挂的加密芯片中包含芯片唯一ID及安全计数器时,所述安全固件中包含与芯片唯一ID相关的密钥K,更新安全计数器时,先用与唯一ID匹配的密钥K用随机数做分散算法,加密安全固件当前版本,关键字和校验值发给安全芯片,安全芯片通过ID计算出密钥K,并根据随机数分散过程密钥,解密出当前版本和关键校验字,与安全计数器中的当前版本及关键校验字的值比较,如果版本比计数器中版本低,不进行安全计数器更新;如果版本一样,关键校验字一样则更新安全计数器;如果关键校验字错误,则返回错误信息。
CN201911178435.4A 2019-11-27 2019-11-27 安全固件 Pending CN112861137A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911178435.4A CN112861137A (zh) 2019-11-27 2019-11-27 安全固件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911178435.4A CN112861137A (zh) 2019-11-27 2019-11-27 安全固件

Publications (1)

Publication Number Publication Date
CN112861137A true CN112861137A (zh) 2021-05-28

Family

ID=75985907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911178435.4A Pending CN112861137A (zh) 2019-11-27 2019-11-27 安全固件

Country Status (1)

Country Link
CN (1) CN112861137A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113848771A (zh) * 2021-08-11 2021-12-28 广州求远电子科技有限公司 一种uwb锚点自动配置方法、装置、设备及储存介质
CN115766043A (zh) * 2023-01-06 2023-03-07 北京象帝先计算技术有限公司 一种片外固件的验签方法、装置、芯片及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113848771A (zh) * 2021-08-11 2021-12-28 广州求远电子科技有限公司 一种uwb锚点自动配置方法、装置、设备及储存介质
CN115766043A (zh) * 2023-01-06 2023-03-07 北京象帝先计算技术有限公司 一种片外固件的验签方法、装置、芯片及电子设备

Similar Documents

Publication Publication Date Title
US10244394B2 (en) Method and update gateway for updating an embedded control unit
CN109840430B (zh) Plc的安全处理单元及其总线仲裁方法
US9830456B2 (en) Trust transference from a trusted processor to an untrusted processor
JP5079803B2 (ja) ゲーム装置を認証するシステムおよび方法
US20190253417A1 (en) Hardware device and authenticating method thereof
CN106295404B (zh) 基于安全内核的一体化soc芯片
JP6371919B2 (ja) セキュアなソフトウェアの認証と検証
CN110688660B (zh) 一种终端安全启动的方法及装置、存储介质
US20080082828A1 (en) Circuit arrangement and method for starting up a circuit arrangement
TW201732669A (zh) 受控的安全碼鑑認
EP3343424B1 (en) Control board secure start method, and software package upgrade method and device
US20160344704A1 (en) Method and decision gateway for authorizing a function of an embedded control unit
US8984296B1 (en) Device driver self authentication method and system
US11106798B2 (en) Automatically replacing versions of a key database for secure boots
JP2004265026A (ja) アプリケーション認証システムと装置
TWI745629B (zh) 電腦系統以及初始化電腦系統的方法
CN111199058B (zh) 用于确保数据的完整性和机密性的系统和方法
US11270003B2 (en) Semiconductor device including secure patchable ROM and patch method thereof
CN108345805B (zh) 验证固件的方法及装置
CN108595950A (zh) 一种结合远程认证的sgx安全增强方法
US20170180139A1 (en) Key revocation
CN111177709A (zh) 一种终端可信组件的执行方法、装置及计算机设备
JP2017011491A (ja) 認証システム
CN112861137A (zh) 安全固件
CN115934194A (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