CN115080075B - 一种嵌入式硬件安全模块的固件部署系统及方法 - Google Patents

一种嵌入式硬件安全模块的固件部署系统及方法 Download PDF

Info

Publication number
CN115080075B
CN115080075B CN202211003128.4A CN202211003128A CN115080075B CN 115080075 B CN115080075 B CN 115080075B CN 202211003128 A CN202211003128 A CN 202211003128A CN 115080075 B CN115080075 B CN 115080075B
Authority
CN
China
Prior art keywords
firmware
encryption
module
hardware security
security module
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
CN202211003128.4A
Other languages
English (en)
Other versions
CN115080075A (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.)
Nanjing Semidrive Technology Co Ltd
Original Assignee
Nanjing Semidrive 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 Nanjing Semidrive Technology Co Ltd filed Critical Nanjing Semidrive Technology Co Ltd
Priority to CN202211003128.4A priority Critical patent/CN115080075B/zh
Publication of CN115080075A publication Critical patent/CN115080075A/zh
Application granted granted Critical
Publication of CN115080075B publication Critical patent/CN115080075B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/72Protecting 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 in cryptographic circuits
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

一种嵌入式硬件安全模块的固件部署系统,包括:SoC芯片,用于存储加密密钥和单向加密使能位,选择加密模式加密固件发送给Flash存储器存储;Flash存储器,用于存储被加密的固件部署烧录镜像;上位机,用于生成加密固件的加密密钥,发送给所述SoC芯片。本申请还提供一种嵌入式硬件安全模块的固件部署方法,可以在大型集成了嵌入式硬件安全模块的芯片中,使用普通闪存部署固件,既能满足高信息安全等级要求,又方便使用,降低了成本。

Description

一种嵌入式硬件安全模块的固件部署系统及方法
技术领域
本申请涉及信息安全技术领域,特别是涉及一种嵌入式硬件安全模块的固件部署系统及方法。
背景技术
随着车载芯片的集成度越来越高,硬件安全模块(Hardware Security Module,HSM)会被整合到大型系统级芯片(System on Chip,SoC)中,例如智能座舱芯片带有嵌入式硬件安全模块(embedded Hardware Security Module,eHSM)。因为HSM有很高的安全要求,如果HSM需要支持丰富的加解密服务,需要的固件会比较大。对于智能卡行业内对于信息安全等级要求较高的安全单元(Secure Element,SE),芯片通常采用高安全等级的Flash(闪存)存储其固件,防止被破解。同样HSM如果用普通的Flash部署HSM的固件,会存在安全性风险,因此目前的HSM普遍采用高安全等级的Flash实现HSM的固件部署。
目前eHSM的固件部署实现都是直接下载固件到Flash上,有两种安全等级,高安全等级使用安全Flash(安全认证闪存),无安全等级要求,使用普通Flash。
eHSM搭载安全Flash成本较高,使用普通的Flash,信息安全等级不够,一般的加密存储又导致部署和升级困难。如何在成本较低的情况下提高信息安全等级成为了一个难题。
发明内容
为了解决现有技术存在的不足,本申请的目的在于提供一种嵌入式硬件安全模块的固件部署系统及方法,可以在大型集成了嵌入式硬件安全模块的芯片中,使用普通Flash部署固件,既能满足高信息安全等级要求,又方便使用。
为实现上述目的,本申请还提供的嵌入式硬件安全模块的固件部署系统,包括:
SoC芯片,用于存储加密密钥和单向加密使能位,选择加密模式加密固件发送给Flash存储器存储;
Flash存储器,用于存储被加密的固件部署烧录镜像;
上位机,用于生成秘钥加密固件,发送给所述SoC芯片。
进一步地,所述SoC芯片,包括:
嵌入式硬件安全模块,接受电编程熔丝模块和其上固件的控制,选择单向加密模式或双向加密模式加密固件;
所述电编程熔丝模块,用于控制所述嵌入式硬件安全模块采用单向加密模式加密固件。
进一步地,所述电编程熔丝模块,存储有加密密钥和单向加密使能位,通过所述加密密钥和使能控制位,控制所述嵌入式硬件安全模块采用单向加密模式加密固件。
进一步地,所述嵌入式硬件安全模块,包括:
Flash控制器,用于接受硬件安全模块固件和所述电编程熔丝模块的控制,采用单向加密模式或双向加密模式加密固件;
所述硬件安全模块固件,用于控制Flash控制器采用双向加密模式加密固件。
进一步地,所述Flash控制器,包括:对称加解密模块,所述对称加解密模块,包括:
加密模式控制模块,其根据信息寄存器记录的所述硬件安全模块固件控制指令和所述电编程熔丝模块控制指令,选择单向加密模式或双向加密模式加密固件;
所述信息寄存器,用于记录所述硬件安全模块固件的控制指令和所述电编程熔丝模块的控制指令。
进一步地,所述加密模式控制模块,包括
单向加密模块,采用单向加密模式加密固件;
双向加密模块,采用双向加密模式加密固件;
测试模块,用于测试所述单向加密模块和所述双向加密模块加密固件。
更进一步地,所述信息寄存器,具有单向加密使能和双向加密使能。
为实现上述目的,本申请还提供一种嵌入式硬件安全模块的固件部署方法,包括以下步骤:
生成加密密钥和固件部署烧录镜像;
烧写加密密钥和单向加密使能位
烧写固件部署烧录镜像;
产品上电,读取固件并更新加密密钥;
读取加密密钥和单向加密使能位,使能单向加密模式加密固件;
使能双向加密模式,将固件明文写入到flash存储器;
关闭双向加密模式,将加密固件写入flash存储器。
进一步地,所述生成加密密钥和固件部署烧录镜像的步骤,还包括:由外部生成并输入加密密钥;对固件img文件与密钥组装后签名;利用所述密钥加密固件包,生成固件部署烧录镜像。
进一步地,所述烧写加密密钥和单向加密使能位的步骤,还包括:将密钥和单向加密使能位烧写到SoC芯片的电编程熔丝模块中。
进一步地,所述烧写固件部署烧录镜像的步骤,进一步包括:将被加密的所述固件部署烧录镜像烧写到flash存储器。
更进一步地,所述产品上电,读取固件并更新加密密钥的步骤,还包括:嵌入式硬件安全模块读取固件,根据从固件img文件中组合的加密密钥和电编程熔丝模块的密钥区域中随机挑选的未熔断的比特位熔点,更新固件加密密钥;将更新后的密钥烧写到电编程熔丝模块。
为实现上述目的,本申请还提供一种电子设备,包括,存储器和处理器,所述存储器中存储有计算机指令,所述处理器被设置为运行所述指令以执行如上所述的嵌入式硬件安全模块的固件部署方法的步骤。
为实现上述目的,本申请还提供一种电路板,包括如上所述的嵌入式硬件安全模块的固件部署系统。
为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质,其上存储有程序,当所述程序运行时执行如上所述的嵌入式硬件安全模块的固件部署方法的步骤。
本申请的嵌入式硬件安全模块的固件部署系统及方法,在SoC芯片中将eHSM的Flash控制器中对称加解密(SM4、AES等)模块分成:ROT(Root of Trust,信任根)控制读取解密的单向加密、和CPU控制写入加密读取解密的双向加密两种模式,两种模式的开关权限在芯片内部来源于不同的信任链(Chain of Trust),其中eFuse中的密钥和使能控制位强制控制单向加密模式,运行在HSM上的固件控制双向加密模式,并且固件中增加部署控制块用于不同模式(或不同的生产方式)的固件部署,由此通过SoC和部署软件配合实现了基于普通Flash的e硬件安全模块固件的高信息安全等级,同时解决了使用加密导致固件部署或者升级困难的问题。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,并与本申请的实施例一起,用于解释本申请,并不构成对本申请的限制。在附图中:
图1为根据本申请的一个实施例的嵌入式硬件安全模块的固件部署系统架构图;
图2为根据本申请的又一个实施例的嵌入式硬件安全模块的固件部署系统架构图;
图3为根据本申请的固件组装结构示意图;
图4为根据本申请的一个实施例的嵌入式硬件安全模块的固件部署方法流程图;
图5为根据本申请的另一个实施例的嵌入式硬件安全模块的固件部署方法流程图;
图6根据本申请实施例的电子设备结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。“多个”应理解为两个或以上。
本发明实施例中:
eFuse(电可编程熔丝):通常是芯片制造厂商提供的一种非易失性存储器,eFuse的特性是默认值存储的比特位都是0,可以通过编程将需要的比特位由0改为1,一旦改为1,就不能再改为0了,但没有改为0的比特位还可以通过编程将其改为1。eFuse通常用于存储一些芯片内部ram(随机存储器)的修复信息,用于提高芯片的良率。所以通常在芯片量产测试阶段对eFuse进行一次编程。另外,在eFuse中还会存储一些很重要很敏感的信息,如密钥,特定设置等。通常对eFuse实现编写的方式为:芯片处于ram bist(内建自测试)测试模式下,将eFuse的信号都直接送到芯片管脚上,由测试机台按eFuse要求的时序对eFuse进行读操作和编程操作。
HSM(Hardware Security Module,嵌入式硬件安全模块):为一种可用于对密钥进行安全管理/存储,且可提供密码计算操作的硬件设备,该模块一般通过扩展或外部设备的形式连接到主设备。HSM是一个可防篡改和入侵的硬件,用来保护存储密钥,同时允许授权用户使用,系统中充当信任锚(Trust anchor)的角色。HSM通常作为公共基础设施(PublicKey Infrastructure - PKI)或网上银行等关键基础设施的一部分,一般多个HSM 同时使用。现在随着车载ECU数量的不断增加、软件日益复杂及对车载网络安全的重视,HSM同样用于汽车零部件的开发以保障其对于通信实时性和降低性能开销。
HSM提供篡改留证(tamper evidence/proof)、篡改抵抗(tamper evidence)两种方式的防篡改功能,前者设计使得篡改行为会留下痕迹,后者设计使得篡改行为会令HSM销毁密钥一类的受保护信息。每种HSM都会包括一个或多个安全协处理器,用于阻止篡改或总线探测。许多HSM系统提供可靠的密钥备份机制,使机密数据可以通过智能卡或其他设备安全地处理或转移。
单向加密模式,是在加密过程中不使用密钥,明文由系统加密处理成密文,密文无法解密。在验证过程中,重新输入明文,并经过同样的加密算法处理,得到相同的密文并被系统重新认证。
双向加密模式,是将可以直接理解的明文数据加密为不可直接理解的密文数据,然后,在需要的时候,可以使用一定的算法将这些加密以后的密文解密为原来可以理解的明文。
固件(Firmware),是存储于设备中的电可擦除只读存储器EEPROM(ElectricallyErasable Programmable ROM)或FLASH芯片中,可由用户通过特定的刷新程序进行升级的程序,通俗的理解就是“固化的软件”,为产品最基础、最底层工作的软件。
Flash存储器,是存储芯片的一种,通过特定的程序可以修改里面的数据。flash又称为闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还可以快速读取数据(NVRAM的优势),使数据不会因为断电而丢失,被广泛用作硬盘或U盘。由于普通的flash存储器,其存储特性相当于硬盘,因此没有安全等级要求,不具备自动加密功能。
固件部署烧录镜像,为固件img文件与加密密钥一起按照固定格式组装后签名,然后将整个固件包用加密密钥加密,生成被加密的固件部署烧录镜像。上位机,与下位机对应,用来给下位机发送指令以及从下位机接收反馈数据。一般作为上位机的就是电脑,通过电脑上运行的软件(称为上位机软件)来控制下位机。上位机软件要实现串口通信才能够给下位机发指令以及接收反馈数据。其中串口可以理解为USB接口,上位机通过USB接口与下位机连接,上位机软件通过USB 接口与下位机通信。这样就实现了上位机和下位机的相互配合。
本申请实施例中,上位机用于与下位机协商(如DH密钥交换算法)生成加密密钥(K1),加密固件,发送到SoC上。
下面,将参考附图详细地说明本申请的实施例。
实施例1
图1为根据本申请的一个实施例的嵌入式硬件安全模块的固件部署系统架构图,如图1所示,本实施例的嵌入式硬件安全模块的固件部署系统,包括:
SoC芯片1,用于存储加密密钥和单向加密使能位,选择加密模式加密固件,后发送给Flash存储器2存储。
本申请实施例中,加密模式包括单向加密模式或双向加密模式,SoC芯片1可以选择单向加密模式或双向加密模式加密固件。本申请实施例中,单向加密使能位,用于控制SoC芯片1加密固件的单向加密模式,当单向加密使能位使能时,强制SoC芯片1采用单向加密模式加密固件。
Flash存储器2,用于存储被加密的固件部署烧录镜像。
上位机3,用于生成秘钥加密固件,发送给SoC芯片1。
SoC芯片1,包括:
eHSM模块(嵌入式硬件安全模块)10,接受eFuse模块(电编程熔丝模块)20的控制,采用单向加密模式加密固件;接受运行在其上固件控制,采用双向加密模式加密固件。
eFuse模块20,通过其内部存储的密钥和单向加密使能位,强制控制eHSM模块10选择单向加密模式加密固件。
本申请实施例中,eFuse模块20的单向加密使能位,用于控制eHSM模块10加密固件的单向加密模式,当单向加密使能位使能时,强制eHSM模块10采用单向加密模式加密固件。
eHSM模块10,包括:
Flash控制器11,接受eFuse模块20的控制,采用单向加密模式加密固件;接受HSM固件(硬件安全模块固件)12的控制,采用双向加密模式加密固件。
HSM固件12,为运行在eHSM模块10上的固件,用于控制Flash控制器11采用双向加密模式加密固件。
Flash控制器11,包括:包括对称加解密模块110。对称加密模块110,包括:
加密模式控制模块111,其根据信息寄存器112记录的HSM固件12的控制指令和eFuse模块20的控制指令,选择单向加密模式或双向加密模式加密固件。
信息寄存器112,用于记录HSM固件12的控制指令和eFuse模块20的控制指令。
本申请实施例中,eFuse模块20具有加密密钥和单向加密使能位。
本申请实施例中,在PC上生成加密密钥K1,并由SoC芯片1通过固件img文件与密钥K1一起按照固定格式组装后签名,以将整个固件包用密钥K1加密,形成固件部署烧录镜像。
eFuse模块20批量烧写密钥K1和eHSM Flash的单向加密使能位。Flash存储器2通过Flash烧写工具批量烧写同一个被加密的固件部署烧录镜像。
eHSM模块10读取固件,并根据从固件img文件中组合的密钥K1、和eFuse模块20的密钥区域中随机挑选的未熔断的bit位熔点,更新固件加密密钥,并将更新后的密钥烧写到eFuse模块20中。
eHSM模块10的加密模式控制模块111开启双向加密模式并将固件明文写入到Flash存储器2上。
实施例2
图2为根据本申请的又一个实施例的嵌入式硬件安全模块的固件部署系统架构图,如图2所示,本实施例的嵌入式硬件安全模块的固件部署系统与实施例1的嵌入式硬件安全模块的固件部署系统区别在于:
加密模式控制模块111,包括:
单向加密模块1101,用于根据信息寄存器112记录的HSM固件12的控制指令,采用单向加密模式加密固件。
双向加密模块1102,用于根据信息寄存器112记录的eFuse模块20的控制指令,采用双向加密模式加密固件。
测试模块1103,用于测试单向加密模块1101和双向加密模块1102加密固件。
信息寄存器112,具有单向加密使能和双向加密使能。
图3为根据本申请的固件组装结构示意图,如图3所示,本申请的固件组装结构,包括:部署控制块、固件img文件、签名等,其中,
部署控制块,用于不同模式的固件部署,包括固件的秘钥K1、加密标记、信息块版本等。
本申请实施例中,固件和秘钥K1一起构成了被加密的固件部署烧录镜像。
实施例3
图4为根据本申请的一个实施例的嵌入式硬件安全模块的固件部署方法流程图,下面将参考图4,对本实施例的嵌入式硬件安全模块的固件部署方法进行详细描述。
本实施例涉及的嵌入式硬件安全模块的固件部署方法,适用于用Flash烧写工具批量烧写,然后贴到产品的电路板上的情况。
在步骤401,生成加密密钥K1和固件部署烧录镜像。具体地,在步骤401中,在PC上生成或者由外部输入加密密钥K1;固件img文件与密钥K1一起按照固定格式组装后签名;将整个固件包用密钥K1加密,生成固件部署烧录镜像。
在步骤402,烧写密钥K1和固件部署烧录镜像。具体地,在步骤402中,对应的SoC芯片的eFuse(Filesystem in Userspace,用户空间文件系统)模块批量烧写密钥K1和eHSMFlash单向加密使能位;Flash存储器通过Flash烧写工具批量烧写同一个被加密的固件部署烧录镜像。
在步骤403,eHSM读取固件,更新固件加密密钥。具体地,产品上电,eHSM模块读取固件,根据从固件img文件中组合的密钥K1、和eFuse模块的密钥区域中随机挑选的未熔断的bit位(比特位)熔点,更新固件加密密钥;将更新后的密钥烧写到eFuse模块中。
在步骤404,将固件明文写入到Flash上。在步骤404中,eHSM开启双向加密模式并将固件明文写入到Flash存储器上。
(嵌入式硬件安全模块的固件部署系统)
实施例4
图5为根据本申请的另一个实施例的嵌入式硬件安全模块的固件部署方法流程图,下面将参考图5对本实施例的嵌入式硬件安全模块的固件部署方法进行详细描述。
本实施例涉及的嵌入式硬件安全模块的固件部署方法,适用于Flash存储器已经完全贴到电路板上,硬件完成组装后,由产线工具部署固件的情况。
在步骤501,连接上位机,下载固件img文件。具体地,在步骤501中,产品上电并连接上位机;eHSM模块的ROM(Read-Only Memory,只读存储器)或SoC芯片内其它核心的ROM下载固件img文件。
在步骤502,生成加密密钥K1和固件部署烧录镜像。具体地,在步骤502中,上位机与下位机协商(如DH(Diffie-Hellman)密钥交换算法)生成密钥K1;将固件包用密钥K1加密;生成固件部署烧录镜像;将密钥K1和固件部署烧录镜像发送到SoC芯片中。
在步骤503,SoC烧写密钥K1,并将加密固件写入Flash。具体地,在步骤503中,SoC芯片将密钥K1烧写到eFuse模块上;关闭对称加密模块的双向加密模式;将加密固件写入到Flash存储器上。
本申请实施例中,由外部(上位机3)生成加密密钥K1,并从SoC芯片1下载固件img文件,通过将固件包用密钥K1加密,来生成固件部署烧录镜像,之后将密钥K1和固件部署烧录镜像发送到SoC芯片1中。其中,密钥K1是通过上位机与下位机协商(如DH(Diffie-Hellman)密钥交换算法)生成密钥K1)输入的。
SoC芯片1将密钥K1烧写到eFuse模块20上。eHSM模块10中flash控制器110的加密模式控制模块111关闭双向加密模式,并将加密固件写入到Flash存储器2上。
在本申请实施例中,开机eHSM模块10从eFuse模块20上获取到单向加密模式,从Flash存储器2上加载固件时,被直接解密无感使用。其中,Flash存储器2上存储的是密文,不用担心固件泄密,eHSM模块10部署的key和控制位由硬件保证只能由对称加解密模块读取。在SoC芯片1内部产生的明文数据写入场景,加密模式控制模块111打开双向加解密模式,保证写入Flash存储器2的为密文。另外,在OTA(Over-the-Air Technology,空中下载技术)等外部输入的密文场景时,加密模式控制模块111关闭双向加解密模式,保证不被二次加密。由此,Flash存储器2被部署完固件后,就与SoC芯片1形成了一一绑定关系,无法被克隆。
根据本申请的嵌入式硬件安全模块的固件部署系统及方法,在SoC芯片中将eHSM的Flash控制器中对称加解密(SM4、AES等)模块分成:ROT(Root of Trust,信任根)控制读取解密的单向加密、和CPU控制写入加密读取解密的双向加密两种模式,两种模式的开关权限在芯片内部来源于不同的信任链(Chain of Trust),其中eFuse中的密钥和使能控制位强制控制单向加密模式,运行在HSM上的固件控制双向加密模式,并且固件中增加部署控制块用于不同模式(或不同的生产方式)的固件部署,由此通过SoC和部署软件配合实现了基于普通Flash的eHSM固件的高信息安全等级,同时解决了使用加密导致固件部署或者升级困难的问题,降低了成本。
实施例5
本申请的实施例中,还提供了还提供了一种电子设备,图6为根据本申请实施例的电子设备结构示意图,如图6所示,本申请的电子设备,包括处理器601,以及存储器602,其中,
存储器602存储有计算机程序,计算机程序在被处理器601读取执行时,执行如上所述的嵌入式硬件安全模块的固件部署方法实施例中的步骤。
实施例6
本申请的实施例中,还提供了还提供了一种电路板,包括如上所述实施例的嵌入式硬件安全模块的固件部署系统。
实施例7
本申请的实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行如上所述的嵌入式硬件安全模块的固件部署方法实施例中的步骤。
在本申请实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本领域普通技术人员可以理解:以上所述仅为本申请的优选实施例而已,并不用于限制本申请,尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (7)

1.一种嵌入式硬件安全模块的固件部署系统,其特征在于,包括:
SoC芯片,用于存储加密密钥和单向加密使能位,选择加密模式加密固件发送给Flash存储器存储;
Flash存储器,用于存储被加密的固件部署烧录镜像;
上位机,用于生成加密固件的加密密钥,发送给所述SoC芯片;
所述SoC芯片,包括:
嵌入式硬件安全模块,接受电编程熔丝模块和运行在嵌入式硬件安全模块上的固件的控制,选择单向加密模式或双向加密模式加密固件;
所述电编程熔丝模块,用于控制所述嵌入式硬件安全模块采用单向加密模式加密固件;所述电编程熔丝模块,存储有加密密钥和单向加密使能位,通过所述加密密钥和使能控制位,控制所述嵌入式硬件安全模块采用单向加密模式加密固件;所述嵌入式硬件安全模块,包括:
Flash控制器,用于接受硬件安全模块固件和所述电编程熔丝模块的控制,采用单向加密模式或双向加密模式加密固件;
所述硬件安全模块固件,用于控制Flash控制器采用双向加密模式加密固件;所述Flash控制器,包括:对称加解密模块,所述对称加解密模块,包括:
加密模式控制模块,其根据信息寄存器记录的所述硬件安全模块固件控制指令和所述电编程熔丝模块控制指令,选择单向加密模式或双向加密模式加密固件;
所述信息寄存器,用于记录所述硬件安全模块固件的控制指令和所述电编程熔丝模块的控制指令。
2.根据权利要求1所述的嵌入式硬件安全模块的固件部署系统,其特征在于,所述加密模式控制模块,包括
单向加密模块,采用单向加密模式加密固件;
双向加密模块,采用双向加密模式加密固件;
测试模块,用于测试所述单向加密模块和所述双向加密模块加密固件。
3.根据权利要求1所述的嵌入式硬件安全模块的固件部署系统,其特征在于,所述信息寄存器,具有单向加密使能和双向加密使能。
4.一种嵌入式硬件安全模块的固件部署方法,其特征在于,包括以下步骤:
生成加密密钥和固件部署烧录镜像;
烧写加密密钥和单向加密使能位;
烧写固件部署烧录镜像;
产品上电,读取固件并更新加密密钥;
嵌入式硬件安全模块读取加密密钥和单向加密使能位,使能单向加密模式加密固件,将加密固件写入flash存储器;
嵌入式硬件安全模块使能双向加密模式,将固件明文写入到flash存储器;
所述生成加密密钥和固件部署烧录镜像的步骤,还包括:在PC上生成或者由外部输入加密密钥;SoC芯片对固件img文件与密钥组装后签名,利用所述密钥加密固件包,生成固件部署烧录镜像;
所述烧写加密密钥和单向加密使能位的步骤,还包括:嵌入式硬件安全模块将密钥和单向加密使能位烧写到SoC芯片的电编程熔丝模块中;
所述烧写固件部署烧录镜像的步骤,进一步包括:将被加密的所述固件部署烧录镜像烧写到flash存储器;
所述产品上电,读取固件并更新加密密钥的步骤,还包括:嵌入式硬件安全模块读取固件,根据从固件img文件中组合的加密密钥和电编程熔丝模块的密钥区域中随机挑选的未熔断的比特位熔点,更新固件加密密钥;将更新后的密钥烧写到电编程熔丝模块。
5.一种电子设备,包括,存储器和处理器,其特征在于,所述存储器中存储有计算机指令,所述处理器被设置为运行所述指令以执行权利要求4所述的嵌入式硬件安全模块的固件部署方法的步骤。
6.一种电路板,其特征在于,包括权利要求1-3任一项所述的嵌入式硬件安全模块的固件部署系统。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质,其上存储有程序,当所述程序运行时执行权利要求4所述的嵌入式硬件安全模块的固件部署方法的步骤。
CN202211003128.4A 2022-08-22 2022-08-22 一种嵌入式硬件安全模块的固件部署系统及方法 Active CN115080075B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211003128.4A CN115080075B (zh) 2022-08-22 2022-08-22 一种嵌入式硬件安全模块的固件部署系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211003128.4A CN115080075B (zh) 2022-08-22 2022-08-22 一种嵌入式硬件安全模块的固件部署系统及方法

Publications (2)

Publication Number Publication Date
CN115080075A CN115080075A (zh) 2022-09-20
CN115080075B true CN115080075B (zh) 2022-11-18

Family

ID=83245124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211003128.4A Active CN115080075B (zh) 2022-08-22 2022-08-22 一种嵌入式硬件安全模块的固件部署系统及方法

Country Status (1)

Country Link
CN (1) CN115080075B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117850917A (zh) * 2024-01-10 2024-04-09 镁佳(武汉)科技有限公司 一种安全启动出厂部署方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106982123A (zh) * 2017-06-02 2017-07-25 丁爱民 一种单向加密电子签名方法及系统
CN111095213A (zh) * 2018-08-23 2020-05-01 深圳市汇顶科技股份有限公司 嵌入式程序的安全引导方法、装置、设备及存储介质
CN111258613A (zh) * 2020-03-11 2020-06-09 Oppo广东移动通信有限公司 固件升级方法、装置、电子设备以及存储介质
CN111814208A (zh) * 2020-07-02 2020-10-23 国家广播电视总局广播电视科学研究院 一种soc国密安全芯片安全启动时防御故障注入的方法
CN112784280A (zh) * 2021-01-12 2021-05-11 苏州浪潮智能科技有限公司 一种SoC芯片安全设计方法及硬件平台
CN113220498A (zh) * 2021-05-08 2021-08-06 青芯半导体科技(上海)有限公司 一种支持加密存储的嵌入式Flash控制器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11418493B2 (en) * 2019-08-07 2022-08-16 Bank Of America Corporation Identifying and securing unencrypted data in a production environment
CN113014444B (zh) * 2020-11-23 2022-04-15 杭州安芯物联网安全技术有限公司 一种物联网设备生产测试系统及安全保护方法
CN112948153B (zh) * 2021-05-14 2021-08-10 支付宝(杭州)信息技术有限公司 一种消息跨链传输的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106982123A (zh) * 2017-06-02 2017-07-25 丁爱民 一种单向加密电子签名方法及系统
CN111095213A (zh) * 2018-08-23 2020-05-01 深圳市汇顶科技股份有限公司 嵌入式程序的安全引导方法、装置、设备及存储介质
CN111258613A (zh) * 2020-03-11 2020-06-09 Oppo广东移动通信有限公司 固件升级方法、装置、电子设备以及存储介质
CN111814208A (zh) * 2020-07-02 2020-10-23 国家广播电视总局广播电视科学研究院 一种soc国密安全芯片安全启动时防御故障注入的方法
CN112784280A (zh) * 2021-01-12 2021-05-11 苏州浪潮智能科技有限公司 一种SoC芯片安全设计方法及硬件平台
CN113220498A (zh) * 2021-05-08 2021-08-06 青芯半导体科技(上海)有限公司 一种支持加密存储的嵌入式Flash控制器

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
eFuse based IC authentication architecture;Seung-Yeob Lee等;《2016 International SoC Design Conference (ISOCC)》;20161231;145-146 *
一种高可信双向加密认证的网络安全管理方案;章丽娟 等;《自动化技术与应用》;20211231;第40卷(第12期);85-88 *
集成硬件加密的加密固态盘的设计与实现;吴殿霜等;《计算机测量与控制》;20090525(第05期);951-953 *

Also Published As

Publication number Publication date
CN115080075A (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
RU2628325C2 (ru) Система на кристалле для выполнения безопасной начальной загрузки, использующее ее устройство формирования изображения и способ ее использования
US9824239B2 (en) System for and method of cryptographic provisioning
CN101273363B (zh) 快闪大容量存储装置及其操作方法
US9881161B2 (en) System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof
US20080082828A1 (en) Circuit arrangement and method for starting up a circuit arrangement
EP1056015A1 (en) Storage device, encrypting/decrypting device, and method for accessing nonvolatile memory
US20090024784A1 (en) Method for writing data into storage on chip and system thereof
EP2702526B1 (en) Method and apparatus for securing programming data of a programmable device
US8140862B2 (en) Memory device
CN111984962A (zh) 固件安全验证方法及装置
KR20090007123A (ko) 보안 부팅 방법 및 그 방법을 사용하는 반도체 메모리시스템
CN103946856A (zh) 加解密处理方法、装置和设备
CN101630265A (zh) 升级设备、终端设备、软件更新方法及系统
CN109814934B (zh) 数据处理方法、装置、可读介质和系统
CN115080075B (zh) 一种嵌入式硬件安全模块的固件部署系统及方法
CN114491682A (zh) 虚拟订户识别模块和虚拟智能卡
EP2429226B1 (en) Mobile terminal and method for protecting its system data
US11481523B2 (en) Secure element
CN103370718B (zh) 使用分布式安全密钥的数据保护方法、设备和系统
EP2232760B1 (en) System for and method of cryptographic provisioning
CA2611382A1 (en) Itso fvc2 application monitor
CN115037492B (zh) 用于存储器认证的方法、系统和计算机存储媒体
CN100472391C (zh) 许可信息管理设备和许可信息管理方法
KR20190058302A (ko) 반도체 장치, 인증 시스템 및 인증 방법
CN111142902B (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
GR01 Patent grant
GR01 Patent grant