CN111488589A - 基于硬件写保护的安全可信启动及固件升级系统和方法 - Google Patents
基于硬件写保护的安全可信启动及固件升级系统和方法 Download PDFInfo
- Publication number
- CN111488589A CN111488589A CN202010309525.9A CN202010309525A CN111488589A CN 111488589 A CN111488589 A CN 111488589A CN 202010309525 A CN202010309525 A CN 202010309525A CN 111488589 A CN111488589 A CN 111488589A
- Authority
- CN
- China
- Prior art keywords
- memory
- write
- mirror image
- upgraded
- embedded processor
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000015654 memory Effects 0.000 claims abstract description 102
- 230000007246 mechanism Effects 0.000 claims abstract description 6
- 230000011664 signaling Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- JBWKIWSBJXDJDT-UHFFFAOYSA-N triphenylmethyl chloride Chemical compound C=1C=CC=CC=1C(C=1C=CC=CC=1)(Cl)C1=CC=CC=C1 JBWKIWSBJXDJDT-UHFFFAOYSA-N 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect 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/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/572—Secure firmware programming, e.g. of basic input output system [BIOS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提出了基于硬件写保护的安全可信启动及固件升级系统和方法,系统包括嵌入式处理器、两个存储器和写保护控制模块;嵌入式处理器分别与两个存储器相连;采用代码在判断第二存储器不存在待升级的镜像文件后,进入安全启动,通过写保护控制模块控制第一存储器位于写保护状态。第一存储器存储代码和不需要更改的配置文件;第二存储器存储需要更改的配置文件和日志;写保护控制模块与第一存储器和嵌入式处理器连接。在系统的基础上,提出了安全可信启动及固件升级方法,本发明硬件上使用两个存储器,采用硬件写保护机制,在软件上通过u‑boot代码来实现安全可信启动及固件升级,是一种简化、易用、可靠的可信启动系统及固件升级方案。
Description
技术领域
本发明属于服务器启动和升级安全领域,特别涉及基于硬件写保护的安全可信启动及固件升级系统和方法。
背景技术
近年来随着云计算与物联网等技术的发展,嵌入式移动平台作为客户端已经成为人们生活不可或缺的部分,因此,嵌入式系统的安全至关重要。在信息安全领域的研究中,从信息系统的硬件和软件的底层采取安全措施,能够比较有效地确保信息系统的安全。在服务器、存储、交换机等关键计算机、交换等设备领域,在全球信息安全关注度原来越高的背景下,关键设备或部件的可信启动逐渐成为标配。
目前可信启动通常需要配备专业的可信部件,如TPM、TPCM,一方面这些特殊部件及其软件价格昂贵,另一方面,硬件设计上有很大限制,需要有复杂硬件设计,这些问题限制了可信部件的广泛应用。
发明内容
本发明提出了基于硬件写保护的安全可信启动及固件升级系统和方法,将嵌入式处理器与硬件存储器相连,基于硬件存储写保护实现嵌入式系统的安全可信启动以及固件升级,降低成本和设备的复杂度。
为实现上述目的,本发明提出了基于硬件写保护的安全可信启动及固件升级系统,该系统包括嵌入式处理器、第一存储器、第二存储器和写保护控制模块;
所述嵌入式处理器分别与第一存储器和第二存储器相连;采用u-boot代码在判断第二存储器不存在待升级的镜像文件后,进入安全启动,发出GPIO信号,通过写保护控制模块控制第一存储器位于写保护状态;
所述第一存储器用于存储代码和不需要更改的配置文件;第二存储器用于存储需要更改的配置文件和日志;所述写保护控制模块分别第一存储器和嵌入式处理器连接。
进一步的,所述第一存储器具备硬件写保护机制。
进一步的,所述写保护控制模块接收嵌入式处理器发出的GPIO信号,通过GPIO信号电平控制第一存储器写保护PIN电平,使第一存储器被操作后,处于写保护状态。
进一步的,所述写保护控制模块的输出PIN连接第一存储器的写保护PIN,写保护PIN默认为高电平,当写保护控制模块接收到嵌入式处理器发出的GPIO信号下降沿时,将写保护控制模块的输出PIN拉低,使第一存储模块进入写保护状态。
基于硬件写保护的安全可信启动及固件升级方法,是在基于硬件写保护的安全可信启动及固件升级系统基础上实现的,其特征在于,包括以下步骤:
S1:嵌入式处理器采用u-boot代码检查第二存储器是否存在待升级镜像,如果存在,则执行步骤S3,进行镜像升级,否则,则执行步骤S2,进行安全启动;
S2:嵌入式处理器发出GPIO信号,通过写保护控制模块控制第一存储器位于写保护状态,通过u-boot代码继续执行引导Kernel、文件系统和可执行程序,进入运行模块;
S3:嵌入式处理器提供升级接口,第二存储器接收通过升级接口存入的待升级镜像,采用将待升级镜像标记,以及对原始镜像加密比对的方式进行升级。
进一步的,步骤S3具体为:
嵌入式处理器提供升级接口,第二存储器接收通过升级接口存入的待升级镜像待升级镜像标记为带有数字签名的第一镜像;
通过私钥对原始镜像计算第一数字签名并放置在第一镜像末尾;
远程重启系统,通过u-boot代码首先检查第一镜像是否存在,并通过预先保存的公约对原始镜像计算第二数字签名,如果第一数字签名和第二数字签名比对成功,则待升级镜像合法,将待升级镜像升级后覆盖第一存储器,升级完成后,删除掉第二存储器中的待升级镜像。
进一步的,所述嵌入式处理器一次升级完成后,在下一次升级时,更换私钥和公钥。
进一步的,所述升级接口包括WEB接口和Restful接口。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明实施例提出了基于硬件写保护的安全可信启动及固件升级系统和方法,该系统包括嵌入式处理器、第一存储器、第二存储器和写保护控制模块;嵌入式处理器分别与第一存储器和第二存储器相连;采用u-boot代码在判断第二存储器不存在待升级的镜像文件后,进入安全启动,发出GPIO信号,通过写保护控制模块控制第一存储器位于写保护状态。第一存储器用于存储代码和不需要更改的配置文件;第二存储器用于存储需要更改的配置文件和日志;写保护控制模块分别第一存储器和嵌入式处理器连接。在基于硬件写保护的安全可信启动及固件升级系统的基础上,提出了基于硬件写保护的安全可信启动及固件升级方法,首先,嵌入式处理器采用u-boot代码检查第二存储器是否存在待升级镜像,如果存在,则镜像升级,否则,则进行安全启动;启动的过程为:嵌入式处理器发出GPIO信号,通过写保护控制模块控制第一存储器位于写保护状态,通过u-boot代码继续执行引导Kernel、文件系统和可执行程序,进入运行模块;在启动之后,嵌入式处理器提供升级接口,第二存储器接收通过升级接口存入的待升级镜像待升级镜像标记为带有数字签名的第一镜像;通过私钥对原始镜像计算第一数字签名并放置在第一镜像末尾;远程重启系统,通过u-boot代码首先检查第一镜像是否存在,并通过预先保存的公约对原始镜像计算第二数字签名,如果第一数字签名和第二数字签名比对成功,则待升级镜像合法,将待升级镜像升级后覆盖第一存储器,升级完成后,删除掉第二存储器中的待升级镜像。本发明硬件上使用两个存储器,采用硬件写保护机制,在软件上通过u-boot代码来实现安全可信启动及固件升级,不再使用TPM、TPCM等昂贵的设备,实现了简化、易用、可靠的可信启动及固件升级。
附图说明
如图1给出了本发明实施例1基于硬件写保护的安全可信启动及固件升级系统结构示意图;
如图2给出了本发明实施例1基于硬件写保护的安全可信启动及固件升级方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例1提出了基于硬件写保护的安全可信启动及固件升级系统,如图1给出了基于硬件写保护的安全可信启动及固件升级系统。包括嵌入式处理器、第一存储器、第二存储器和写保护控制模块。嵌入式处理器还与内存模块相连。
嵌入式处理器分别与第一存储器和第二存储器相连;采用u-boot代码在判断第二存储器不存在待升级的镜像文件后,进入安全启动,发出GPIO信号,通过写保护控制模块控制第一存储器位于写保护状态。
嵌入式系统通常要配备存储器用于存储嵌入式固件镜像,即嵌入系统所运行的软件代码,嵌入式系统启动后将运行存储器中的u-boot来引导Kernel、文件系统、可执行程序;本发明要求两个存储器,第一存储器用于存储代码和不需要更改的配置文件,这个存储器要具备硬件写保护机制;第二存储器用于存储运行中需要更改的配置文件和运行中生产的日志,由于可对这个分区进行写保护,所以不需要具备写保护机制。嵌入式系统需要从第一存储器加载代码、文件系统,文件系统将包括配置文件和日志分区,由于第一存储器将进行写保护,即只能读取第一存储器的内容而不能做内容更改,所以嵌入式系统第一次运行时要将第一存储器的配置文件和日志分区拷贝到第二存储器,在后续的运行过程中,嵌入式系统将对第二存储器中的配置和日志进行读写。
第一存储器设置为永久硬件写保护,实际产品生产时,先将镜像文件通过治具烧录到第一存储器中,然后将第一存储器打到主板上,即所谓先烧后贴;由于用户实际使用中需要频繁的固件升级,所以将存储器做成可拆卸,如果有需要时将整机断电后,拆卸出第一存储器并通过治具进行固件升级,这种方案适用于小规模的设备集群,因为升级嵌入式系统还要做拆卸动作,非常费时、费力。
考虑到如何使固件升级更加便利,将第一存储器的写保护做成运行时操作,即第一存储器默认为可写状态,嵌入式系统启动后先检查是否有待升级镜像,如果有则进入镜像升级程序;如果没有则安全启动程序,将第一存储器置位写保护状态,并且只要不重启嵌入式系统,写保护状态一直维持,保障第一存储器的镜像没有被破坏的条件。
写保护控制模块通过GPIO信号与第一存储器相连,写保护控制模块的输出PIN连接第一存储器的写保护PIN,输入的为嵌入式系统发出的GPIO信号,输出到第一存储器的写保护PIN,写保护PIN默认为高电平,当写保护控制模块接收到嵌入式处理器发出的GPIO信号下降沿时,将写保护控制模块的输出PIN拉低,使第一存储模块进入写保护状态,并不再响应其他信号,使第一存储器处于置位状态,触发嵌入式系统重新启动。
嵌入式系统启动后,u-boot代码启动执行,首先查找第二存储器是否有待升级的镜像文件,如果发现没有待升级的镜像,则进入安全启动流程,嵌入式处理器通过拉低GPIO信号的电平通知写保护控制模块拉低第一存储器写保护PIN的电平,使第一存储器进入写保护状态,u-boot代码继续执行,引导Kernel、文件系统、可执行程序,进入正常的运行模块。
在基于硬件写保护的安全可信启动及固件升级系统的基础上,还提出了基于硬件写保护的安全可信启动及固件升级方法,如图2给出了基于本发明实施例1提出的基于硬件写保护的安全可信启动及固件升级方法流程图。
在步骤S201中,开始处理该流程,嵌入式系统启动后,u-boot代码启动执行。
在步骤S202中,嵌入式处理器采用u-boot代码检查第二存储器是否存在待升级镜像,如果存在,则执行步骤S204,进行镜像升级,否则,则执行步骤203,进行安全启动。
在步骤S203中:嵌入式处理器发出GPIO信号,通过写保护控制模块控制第一存储器位于写保护状态,通过u-boot代码继续执行引导Kernel、文件系统和可执行程序,进入运行模块。
在步骤S204中:嵌入式处理器提供升级接口,其中升级接口可采用WEB接口或Restful接口。第二存储器接收通过升级接口存入的待升级镜像待升级镜像标记为带有数字签名的第一镜像;通过私钥对原始镜像计算第一数字签名并放置在第一镜像末尾;远程重启系统,通过u-boot代码首先检查第一镜像是否存在,并通过预先保存的公约对原始镜像计算第二数字签名,如果第一数字签名和第二数字签名比对成功,则待升级镜像合法,将待升级镜像升级后覆盖第一存储器,升级完成后,删除掉第二存储器中的待升级镜像,将进入正常启动软件逻辑,将第一存储器写保护,并正常启动。
其中,为了公私钥的安全保护,待升级的镜像必须每次更换公私钥对,即待升级镜像将新的公钥存储于待升级镜像中u-boot里,待升级镜像的数字签名值用嵌入式系统现在使用的公钥对应的私钥进行数字签名计算;升级完成后第一存储器中将存储为新的公钥,那下次的升级将用这个新公钥对应的私钥进行待升级镜像的签名。
本发明提出的基于硬件写保护的安全可信启动及固件升级系统和方法,可应用与所有嵌入式系统实现可信启动,如服务器、存储、交换机、手机等关键设备中的BMC、BIOS等嵌入式系统。
内容仅仅是对本发明的结构所作的举例和说明,所属本技术领域的技术人员对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
Claims (8)
1.基于硬件写保护的安全可信启动及固件升级系统,其特征在于,包括嵌入式处理器、第一存储器、第二存储器和写保护控制模块;
所述嵌入式处理器分别与第一存储器和第二存储器相连;采用u-boot代码在判断第二存储器不存在待升级的镜像文件后,进入安全启动,发出GPIO信号,通过写保护控制模块控制第一存储器位于写保护状态;
所述第一存储器用于存储代码和不需要更改的配置文件;第二存储器用于存储需要更改的配置文件和日志;所述写保护控制模块分别第一存储器和嵌入式处理器连接。
2.根据权利要求1所述的基于硬件写保护的安全可信启动及固件升级系统,其特征在于,所述第一存储器具备硬件写保护机制。
3.根据权利要求1所述的基于硬件写保护的安全可信启动及固件升级系统,其特征在于,所述写保护控制模块接收嵌入式处理器发出的GPIO信号,通过GPIO信号电平控制第一存储器写保护PIN电平,使第一存储器被操作后,处于写保护状态。
4.根据权利要求3所述的基于硬件写保护的安全可信启动及固件升级系统,其特征在于,所述写保护控制模块的输出PIN连接第一存储器的写保护PIN,写保护PIN默认为高电平,当写保护控制模块接收到嵌入式处理器发出的GPIO信号下降沿时,将写保护控制模块的输出PIN拉低,使第一存储模块进入写保护状态。
5.基于硬件写保护的安全可信启动及固件升级方法,是基于权利要求1至4任意一项所述的基于硬件写保护的安全可信启动及固件升级系统实现的,其特征在于,包括以下步骤:
S1:嵌入式处理器采用u-boot代码检查第二存储器是否存在待升级镜像,如果存在,则执行步骤S3,进行镜像升级,否则,则执行步骤S2,进行安全启动;
S2:嵌入式处理器发出GPIO信号,通过写保护控制模块控制第一存储器位于写保护状态,通过u-boot代码继续执行引导Kernel、文件系统和可执行程序,进入运行模块;
S3:嵌入式处理器提供升级接口,第二存储器接收通过升级接口存入的待升级镜像,采用将待升级镜像标记,以及对原始镜像加密比对的方式进行升级。
6.根据权利要求5所述的基于硬件写保护的安全可信启动及固件升级方法,其特征在于,步骤S3具体为:
嵌入式处理器提供升级接口,第二存储器接收通过升级接口存入的待升级镜像待升级镜像标记为带有数字签名的第一镜像;
通过私钥对原始镜像计算第一数字签名并放置在第一镜像末尾;
远程重启系统,通过u-boot代码首先检查第一镜像是否存在,并通过预先保存的公约对原始镜像计算第二数字签名,如果第一数字签名和第二数字签名比对成功,则待升级镜像合法,将待升级镜像升级后覆盖第一存储器,升级完成后,删除掉第二存储器中的待升级镜像。
7.根据权利要求6所述的基于硬件写保护的安全可信启动及固件升级方法,其特征在于,一次升级完成后,在下一次升级时,更换私钥和公钥。
8.根据权利要求5所述的基于硬件写保护的安全可信启动及固件升级方法,其特征在于,所述升级接口包括WEB接口和Restful接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010309525.9A CN111488589A (zh) | 2020-04-17 | 2020-04-17 | 基于硬件写保护的安全可信启动及固件升级系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010309525.9A CN111488589A (zh) | 2020-04-17 | 2020-04-17 | 基于硬件写保护的安全可信启动及固件升级系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111488589A true CN111488589A (zh) | 2020-08-04 |
Family
ID=71795005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010309525.9A Withdrawn CN111488589A (zh) | 2020-04-17 | 2020-04-17 | 基于硬件写保护的安全可信启动及固件升级系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111488589A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231709A (zh) * | 2020-10-15 | 2021-01-15 | 中国电子科技集团公司第三十八研究所 | 一种带远程升级功能的系统安全设计方法 |
CN112380083A (zh) * | 2020-10-23 | 2021-02-19 | 浪潮电子信息产业股份有限公司 | 一种bmc主备切换稳定性测试方法和系统 |
CN113127041A (zh) * | 2021-05-07 | 2021-07-16 | 长江存储科技有限责任公司 | 存储器系统及其固件更新方法、设备及可读存储介质 |
CN115952564A (zh) * | 2023-03-01 | 2023-04-11 | 荣耀终端有限公司 | 数据写入方法和终端设备 |
-
2020
- 2020-04-17 CN CN202010309525.9A patent/CN111488589A/zh not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231709A (zh) * | 2020-10-15 | 2021-01-15 | 中国电子科技集团公司第三十八研究所 | 一种带远程升级功能的系统安全设计方法 |
CN112380083A (zh) * | 2020-10-23 | 2021-02-19 | 浪潮电子信息产业股份有限公司 | 一种bmc主备切换稳定性测试方法和系统 |
CN112380083B (zh) * | 2020-10-23 | 2023-01-06 | 浪潮电子信息产业股份有限公司 | 一种bmc主备切换稳定性测试方法和系统 |
CN113127041A (zh) * | 2021-05-07 | 2021-07-16 | 长江存储科技有限责任公司 | 存储器系统及其固件更新方法、设备及可读存储介质 |
CN115952564A (zh) * | 2023-03-01 | 2023-04-11 | 荣耀终端有限公司 | 数据写入方法和终端设备 |
CN115952564B (zh) * | 2023-03-01 | 2023-08-15 | 荣耀终端有限公司 | 数据写入方法和终端设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488589A (zh) | 基于硬件写保护的安全可信启动及固件升级系统和方法 | |
CN103718165B (zh) | Bios闪存攻击保护和通知 | |
US10754955B2 (en) | Authenticating a boot path update | |
US7752428B2 (en) | System and method for trusted early boot flow | |
EP2831722B1 (en) | Method and system for verifying proper operation of a computing device after a system change | |
US9703635B2 (en) | Method, computer program, and computer for restoring set of variables | |
US20100132042A1 (en) | Method for upgrading antivirus software and terminal and system thereof | |
US20140115316A1 (en) | Boot loading of secure operating system from external device | |
US10437580B2 (en) | Software updating methods and systems | |
US11163886B2 (en) | Information handling system firmware bit error detection and correction | |
US11886595B2 (en) | Computer boot method, controller, storage medium, and system | |
US9286468B2 (en) | Option read-only memory use | |
CN106909848A (zh) | 一种基于bios扩展的计算机安全增强系统及其方法 | |
WO2015168211A1 (en) | Verified boot | |
CN111625295A (zh) | 一种嵌入式系统启动方法、装置、设备及存储介质 | |
US20200410104A1 (en) | Secure boot process | |
CN113127879A (zh) | 一种固件可信启动方法、电子设备及可读存储介质 | |
CN113901473A (zh) | 一种服务器安全启动的方法、装置、设备及可读介质 | |
CN117130672A (zh) | 服务器启动流程控制方法、系统、终端及存储介质 | |
CN116700768B (zh) | 一种应用的处理方法及相关装置 | |
CN111090443A (zh) | 一种保障linux系统安全升级的方法、设备和存储介质 | |
KR20180023575A (ko) | 펌웨어 자동 업데이트 방법 및 이의 방법을 기록한 컴퓨터 판독 가능한 기록 매체 | |
CN111198832A (zh) | 一种处理方法和电子设备 | |
US20230111120A1 (en) | Alternate operating systems | |
CN112099855B (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200804 |