CN113505380A - 基于国密算法的bmc安全启动方法、装置、设备及介质 - Google Patents

基于国密算法的bmc安全启动方法、装置、设备及介质 Download PDF

Info

Publication number
CN113505380A
CN113505380A CN202110656088.2A CN202110656088A CN113505380A CN 113505380 A CN113505380 A CN 113505380A CN 202110656088 A CN202110656088 A CN 202110656088A CN 113505380 A CN113505380 A CN 113505380A
Authority
CN
China
Prior art keywords
bmc
encrypted
image file
starting
file
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
CN202110656088.2A
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.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center 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 Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202110656088.2A priority Critical patent/CN113505380A/zh
Publication of CN113505380A publication Critical patent/CN113505380A/zh
Pending legal-status Critical Current

Links

Images

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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

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

Abstract

本发明公开了一种基于国密算法的BMC安全启动方法、装置、设备及介质。所述方法包括:基于国密算法对镜像文件进行加密以生成加密文件,并将所述加密文件存储至闪存;响应于接收到BMC启动信号,则检测BMC的安全启动寄存器是否被置位;响应于BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的公钥和闪存中的所述加密文件,并基于所述公钥对所述加密文件进行解密以生成解密镜像文件;利用所述解密镜像文件启动BMC内ARM处理器。本发明的方案安全性更好,速度更快,同时可以实现自主可控,弥补现有技术在无法自主可控方面的不足,对于BMC的发展具有促进作用。

Description

基于国密算法的BMC安全启动方法、装置、设备及介质
技术领域
本发明涉及服务器技术领域,尤其涉及一种基于国密算法的BMC安全启动方法、装置、设备及介质。
背景技术
在服务器中有一个非常重要的固件:基板管理控制器(Baseboard ManagementControl,简称BMC),BMC负责监控整个服务器的运行状况,随着计算技术的不断发展,攻击手段变得越来越强大,因此,一个完整的未被修改的BMC的安全启动,对系统监控有着重要的作用。
目前,现有BMC安全启动解决方案中常用安全散列算法(Secure Hash Algorithm,简称为SHA)和非对称加密算法(RSA算法)对镜像文件进行签名验证;然而现有的解决方案存在以下问题:一方面,现有方案处理速度较慢,并且安全性差容易被破解;另一方面,现有方案可控性较差。因此,BMC安全启动的方式亟需改进。
发明内容
有鉴于此,有必要针以上技术问题,提供安全性更高、且自主可控的一种基于国密算法的BMC安全启动方法、装置、设备及介质。
根据本发明的第一方面,提供了一种基于国密算法的BMC安全启动方法,所述方法包括:
基于国密算法对镜像文件进行加密以生成加密文件,并将所述加密文件存储至闪存;
响应于接收到BMC启动信号,则检测BMC的安全启动寄存器是否被置位;
响应于BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的公钥和闪存中的所述加密文件,并基于所述公钥对所述加密文件进行解密以生成解密镜像文件;
利用所述解密镜像文件启动BMC内ARM处理器。
在一些实施例中,所述基于国密算法对镜像文件进行加密以生成加密文件,并将所述加密文件存储至闪存的步骤还包括:
利用预设加密分组长度对镜像文件进行数据长度对齐确认;
利用SM4算法对镜像文件进行加密以生成加密镜像文件;
利用SM2算法的私钥对SM4算法的密钥进行加密以生成加密SM4密钥;
利用SM3算法对所述加密镜像文件进行杂凑计算以生成第一摘要值,并通过SM2算法的私钥对所述第一摘要值进行加密以生成签名值;
将所述加密文件、所述加密SM4密钥以及所述签名值分别存储至闪存。
在一些实施例中,所述响应于BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的公钥和闪存中的所述加密文件,并基于所述公钥对所述加密文件进行解密以生成解密镜像文件的步骤包括:
响应于BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的SM2公钥,以及读取闪存中的所述加密文件、所述加密SM4密钥以及所述签名值;
利用SM2公钥对所述签名值进行解密以得到第二摘要值;
利用SM3算法对所述加密文件进行杂凑计算以生产第二摘要值,并对比所述第一摘要值与所述第二摘要值是否一致;
响应于所述第一摘要值与所述第二摘要值一致,则利用SM2公钥对所述加密SM4密钥进行解密,并利用解密得到的SM4密钥对所述加密文件进行解密以生成解密镜像文件。
在一些实施例中,所述的方法还包括:
响应于所述第一摘要值与所述第二摘要值不一致,则阻止解密所述加密镜像文件,阻止解密所述加密SM4密钥,以及阻止启动BMC内ARM处理器。
在一些实施例中,所述的方法还包括:
响应于所述第一摘要值与所述第二摘要值不一致,则发出安全启动错误信号。
在一些实施例中,所述方法还包括:
将未加密镜像文件存储至闪存;
响应于BMC的安全启动寄存器未被置位,则读取闪存中的未加密镜像文件,并利用未加密的镜像文件启动BMC内ARM处理器。
在一些实施例中,所述BMC启动信号包括上电信号和复位信号。
根据本发明的第二方面,提供了一种基于国密算法的BMC安全启动装置,所述装置包括:
加密模块,用于基于国密算法对镜像文件进行加密以生成加密文件,并将所述加密文件存储至闪存;
检测模块,用于在接收到BMC启动信号时,则检测BMC的安全启动寄存器是否被置位;
解密模块,用于在BMC的安全启动寄存器被置位时,则读取BMC内一次性可编程存储器中预先存储的公钥和闪存中的所述加密文件,并基于所述公钥对所述加密文件进行解密以生成解密镜像文件;
启动模块,用于利用所述解密镜像文件启动BMC内ARM处理器。
根据本发明的第三方面,还提供了一种计算机设备,该计算机设备包括:
至少一个处理器;以及
存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的基于国密算法的BMC安全启动方法,所述方法包括以下步骤:
基于国密算法对镜像文件进行加密以生成加密文件,并将所述加密文件存储至闪存;
响应于接收到BMC启动信号,则检测BMC的安全启动寄存器是否被置位;
响应于BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的公钥和闪存中的所述加密文件,并基于所述公钥对所述加密文件进行解密以生成解密镜像文件;
利用所述解密镜像文件启动BMC内ARM处理器。
根据本发明的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的基于国密算法的BMC安全启动方法,所述方法包括以下步骤
基于国密算法对镜像文件进行加密以生成加密文件,并将所述加密文件存储至闪存;
响应于接收到BMC启动信号,则检测BMC的安全启动寄存器是否被置位;
响应于BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的公钥和闪存中的所述加密文件,并基于所述公钥对所述加密文件进行解密以生成解密镜像文件;
利用所述解密镜像文件启动BMC内ARM处理器。
上述一种基于国密算法的BMC安全启动方法,先基于国密算法对镜像文件进行加密以生成加密文件后存储至闪存,进而在接收到BMC启动信号后检测安全启动寄存器是否被置位,如果被置位,则利用预先存储的公钥和闪存中的加密文件进行解密以得到解密镜像文件,最后利用解密镜像文件启动BMC内ARM处理器,安全性更好,速度更快,同时可以实现自主可控,弥补现有技术在无法自主可控方面的不足,对于BMC的发展具有促进作用。
此外,本发明还提供了一种基于国密算法的BMC安全启动装置、一种计算机设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明一个实施例提供的一种基于国密算法的BMC安全启动方法流程示意图;
图2为本发明一个实施例提供的基于国密算法的BMC安全启动拓扑结构示意图;
图3为本发明又一个实施例提供的基于国密算法的BMC安全启动方法的工作流程示意图;
图4为本发明又一个实施例提供的一种基于国密算法的BMC安全启动装置结构示意图;
图5本发明另一个实施例中计算机设备的内部结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
首先,为方便理解本发明实施例,下面将对本发明中所涉及的部分术语或名词进行解释说明:
国密算法,国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4,密钥长度和分组长度均为128位。国密算法是我国自主研发创新的一套数据加密处理系列算法。从SM1-SM4分别实现了对称、非对称、摘要等算法功能。特别适合应用于嵌入式物联网等相关领域,完成身份认证和数据加解密等功能。
SM2,是非对称加密算法,它是基于椭圆曲线密码的公钥密码算法标准,其秘钥长度256bit。
SM3,是一种密码杂凑算法,用于替代MD5/SHA-1/SHA-2等国际算法,适用于数字签名和验证等等。
SM4,是分组加密算法,是我国自主设计的分组对称密码算法,其算法设计简沽,结构有特点,安全高效。
一次性可编程存储器,(One Time Programmable,简称为OTP)是单片机的一种存储器类型,意思是一次性可编程:程序烧入单片机后,将不可再次更改和清除。
Flash存储器(FLASH EEPROM)又称闪存,快闪,它是EEPROM的一种。
在一个实施例中,请参照图1所示,本发明提供了一种基于国密算法的BMC安全启动方法,所述方法包括以下步骤:
S100,基于国密算法对镜像文件进行加密以生成加密文件,并将所述加密文件存储至闪存;
S200,响应于接收到BMC启动信号,则检测BMC的安全启动寄存器是否被置位;优选地,所述BMC启动信号包括上电信号和复位信号;
S300,响应于BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的公钥和闪存中的所述加密文件,并基于所述公钥对所述加密文件进行解密以生成解密镜像文件;
S400,利用所述解密镜像文件启动BMC内ARM处理器。
上述一种基于国密算法的BMC安全启动方法,先基于国密算法对镜像文件进行加密以生成加密文件后存储至闪存,进而在接收到BMC启动信号后检测安全启动寄存器是否被置位,如果被置位,则利用预先存储的公钥和闪存中的加密文件进行解密以得到解密镜像文件,最后利用解密镜像文件启动BMC内ARM处理器,安全性更好,速度更快,同时可以实现自主可控,弥补现有技术在无法自主可控方面的不足,对于BMC的发展具有促进作用。
在又一个实施例中,请结合图2和图3所示,前述步骤S100具体包括以下子步骤:
S110,利用预设加密分组长度对镜像文件进行数据长度对齐确认;
S120,利用SM4算法对镜像文件进行加密以生成加密镜像文件;
S130,利用SM2算法的私钥对SM4算法的密钥进行加密以生成加密SM4密钥;
S140,利用SM3算法对所述加密镜像文件进行杂凑计算以生成第一摘要值,并通过SM2算法的私钥对所述第一摘要值进行加密以生成签名值;
S150,将所述加密文件、所述加密SM4密钥以及所述签名值分别存储至闪存。
在又一个实施例中,请再次结合图3所示,在前述实施例的基础上,上述步骤S300具体包括以下子步骤:
S310,响应于BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的SM2公钥,以及读取闪存中的所述加密文件、所述加密SM4密钥以及所述签名值;
S320,利用SM2公钥对所述签名值进行解密以得到第二摘要值;
S330,利用SM3算法对所述加密文件进行杂凑计算以生产第二摘要值,并对比所述第一摘要值与所述第二摘要值是否一致;
S340,响应于所述第一摘要值与所述第二摘要值一致,则利用SM2公钥对所述加密SM4密钥进行解密,并利用解密得到的SM4密钥对所述加密文件进行解密以生成解密镜像文件。
在又一个实施例中,本发明方法还包括以下步骤:
510,响应于所述第一摘要值与所述第二摘要值不一致,则阻止解密所述加密镜像文件,阻止解密所述加密SM4密钥,以及阻止启动BMC内ARM处理器。
优选地,所述的方法还包括:
S520,响应于所述第一摘要值与所述第二摘要值不一致,则发出安全启动错误信号。
在又一个实施例中,本发明方法还包括以下步骤:
S610,将未加密镜像文件存储至闪存;
S620,响应于BMC的安全启动寄存器未被置位,则读取闪存中的未加密镜像文件,并利用未加密的镜像文件启动BMC内ARM处理器。
在又一个实施例中,为了便于理解本发明的方案,下面结合图2和图3所示进行阐述,本发明的方法包括软件部分、存储部分、BMC部分,各部分的作用具体如下:
软件部分:主要是通过SM4算法对镜像文件进行加密,生成加密镜像文件(Encrypted Image),同时,通过SM2算法对SM4密钥(Key)进行加密得到加密SM4密钥(Encryted SM4 Key);然后通过SM3和SM2算法对密镜像文件(Encrypted Image)进行处理,生成签名值(Signature)。同时,通过软件配置寄存器的方式编程OTP数据,将SM2公钥(Public Key)存入一次性可编程存储区OTP中,用于硬件安全启动时解密签名和SM4密钥Key。
存储部分:将加密SM4密钥Encryted SM4 Key、签名值Signature以及加密后镜像文件Encrypted Image以特定数据格式存入用于启动的Flash中。
BMC部分:主要是从OTP中读取SM2公钥public key解密签名值signature,得到摘要值Digest;通过SM3算法对加密镜像文件Encrypted Image进行计算,得到杂凑值,对两者进行比较,如果数值一致,则解密密钥和镜像,启动ARM处理器;如果不一致,则发出安全启动错误信号,则不解密密钥和镜像,不进行ARM启动。
具体的所述方法的实施步骤如下:
步骤一,根据加密分组长度对镜像文件进行数据长度对齐确认;
步骤二,通过SM4算法对镜像文件进行加密生成加密镜像文件Encrypted Image,同时,通过SM2算法对其密钥Key进行加密,生成加密SM4密钥Encrypted SM4 Key;
步骤三,通过SM3算法对加密镜像文件Encrypted Image进行杂凑计算,得到摘要值Digest;
步骤四,通过SM2算法对镜像的摘要值进行加密,生成签名值Signature;
步骤五,将加密SM4密钥Encrypted SM4 Key、签名值Signature以及加密镜像文件Encrypted Image以特定数据格式存入用于启动的Flash中;
步骤六,BMC重新上电或复位;
步骤七,检测BMC中的安全启动寄存器是否置位,若置位,则进行安全启动,否则不进行安全启动,直接启动ARM处理器;需要说明的是在Flash预先还存储未加密启动ARM处理器镜像文件,如果安全启动寄存器没有置位则使用该未加密镜像文件启动ARM处理器。
步骤八,检测到置位信号后,从OTP中读取有效的Public Key,从Flash中读取签名值,通过SM2公钥Public Key解密签名值得到摘要值;
步骤九,从Flash中读取加密镜像文件Encrypted Image,通过SM3算法计算镜像杂凑值;
步骤十,对杂凑值和摘要值进行比较,如果数值相等,则使用SM2公钥Public Key解密加密SM4密钥Encrypted SM4 Key,利用解密后的密钥,通过SM4算法解密加密镜像文件,启动ARM处理器;如果不相等,则发出安全启动错误信号,安全启动失败。
本发明的方法指示具备以下有益技术效果:
(1)相比于SHA和RSA算法,SM2、SM23、SM4算法安全性更好,速度更快,同时它们是由中国国家密码局公布的,可以实现自主可控,提高了BMC启动的安全性能;
(2)弥补现有技术BMC安全启动不足,对于BMC的发展具有促进作用。
在又一个实施例中,请结合图4所示,本发明还提供了一种基于国密算法的BMC安全启动装置70,所述装置包括:
加密模块71,用于基于国密算法对镜像文件进行加密以生成加密文件,并将所述加密文件存储至闪存;
检测模块72,用于在接收到BMC启动信号时,则检测BMC的安全启动寄存器是否被置位;
解密模块73,用于在BMC的安全启动寄存器被置位时,则读取BMC内一次性可编程存储器中预先存储的公钥和闪存中的所述加密文件,并基于所述公钥对所述加密文件进行解密以生成解密镜像文件;
启动模块74,用于利用所述解密镜像文件启动BMC内ARM处理器。
上述一种基于国密算法的BMC安全启动装置,先基于国密算法对镜像文件进行加密以生成加密文件后存储至闪存,进而在接收到BMC启动信号后检测安全启动寄存器是否被置位,如果被置位,则利用预先存储的公钥和闪存中的加密文件进行解密以得到解密镜像文件,最后利用解密镜像文件启动BMC内ARM处理器,安全性更好,速度更快,同时可以实现自主可控,弥补现有技术在无法自主可控方面的不足,对于BMC的发展具有促进作用。
需要说明的是,关于基于国密算法的BMC安全启动装置的具体限定可以参见上文中对基于国密算法的BMC安全启动方法的限定,在此不再赘述。上述基于国密算法的BMC安全启动装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
根据本发明的另一方面,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图请参照图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现以上所述的基于国密算法的BMC安全启动方法,具体来说,所述方法包括以下步骤:
基于国密算法对镜像文件进行加密以生成加密文件,并将所述加密文件存储至闪存;
响应于接收到BMC启动信号,则检测BMC的安全启动寄存器是否被置位;
响应于BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的公钥和闪存中的所述加密文件,并基于所述公钥对所述加密文件进行解密以生成解密镜像文件;
利用所述解密镜像文件启动BMC内ARM处理器。
在一些实施例中,所述基于国密算法对镜像文件进行加密以生成加密文件,并将所述加密文件存储至闪存的步骤还包括:
利用预设加密分组长度对镜像文件进行数据长度对齐确认;
利用SM4算法对镜像文件进行加密以生成加密镜像文件;
利用SM2算法的私钥对SM4算法的密钥进行加密以生成加密SM4密钥;
利用SM3算法对所述加密镜像文件进行杂凑计算以生成第一摘要值,并通过SM2算法的私钥对所述第一摘要值进行加密以生成签名值;
将所述加密文件、所述加密SM4密钥以及所述签名值分别存储至闪存。
在一些实施例中,所述响应于BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的公钥和闪存中的所述加密文件,并基于所述公钥对所述加密文件进行解密以生成解密镜像文件的步骤包括:
响应于BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的SM2公钥,以及读取闪存中的所述加密文件、所述加密SM4密钥以及所述签名值;
利用SM2公钥对所述签名值进行解密以得到第二摘要值;
利用SM3算法对所述加密文件进行杂凑计算以生产第二摘要值,并对比所述第一摘要值与所述第二摘要值是否一致;
响应于所述第一摘要值与所述第二摘要值一致,则利用SM2公钥对所述加密SM4密钥进行解密,并利用解密得到的SM4密钥对所述加密文件进行解密以生成解密镜像文件。
在一些实施例中,所述的方法还包括:
响应于所述第一摘要值与所述第二摘要值不一致,则阻止解密所述加密镜像文件,阻止解密所述加密SM4密钥,以及阻止启动BMC内ARM处理器。
在一些实施例中,所述的方法还包括:
响应于所述第一摘要值与所述第二摘要值不一致,则发出安全启动错误信号。
在一些实施例中,所述方法还包括:
将未加密镜像文件存储至闪存;
响应于BMC的安全启动寄存器未被置位,则读取闪存中的未加密镜像文件,并利用未加密的镜像文件启动BMC内ARM处理器。
在一些实施例中,所述BMC启动信号包括上电信号和复位信号。
根据本发明的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的基于国密算法的BMC安全启动方法,具体来说,包括执行以下步骤:
基于国密算法对镜像文件进行加密以生成加密文件,并将所述加密文件存储至闪存;
响应于接收到BMC启动信号,则检测BMC的安全启动寄存器是否被置位;
响应于BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的公钥和闪存中的所述加密文件,并基于所述公钥对所述加密文件进行解密以生成解密镜像文件;
利用所述解密镜像文件启动BMC内ARM处理器。
在一些实施例中,所述基于国密算法对镜像文件进行加密以生成加密文件,并将所述加密文件存储至闪存的步骤还包括:
利用预设加密分组长度对镜像文件进行数据长度对齐确认;
利用SM4算法对镜像文件进行加密以生成加密镜像文件;
利用SM2算法的私钥对SM4算法的密钥进行加密以生成加密SM4密钥;
利用SM3算法对所述加密镜像文件进行杂凑计算以生成第一摘要值,并通过SM2算法的私钥对所述第一摘要值进行加密以生成签名值;
将所述加密文件、所述加密SM4密钥以及所述签名值分别存储至闪存。
在一些实施例中,所述响应于BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的公钥和闪存中的所述加密文件,并基于所述公钥对所述加密文件进行解密以生成解密镜像文件的步骤包括:
响应于BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的SM2公钥,以及读取闪存中的所述加密文件、所述加密SM4密钥以及所述签名值;
利用SM2公钥对所述签名值进行解密以得到第二摘要值;
利用SM3算法对所述加密文件进行杂凑计算以生产第二摘要值,并对比所述第一摘要值与所述第二摘要值是否一致;
响应于所述第一摘要值与所述第二摘要值一致,则利用SM2公钥对所述加密SM4密钥进行解密,并利用解密得到的SM4密钥对所述加密文件进行解密以生成解密镜像文件。
在一些实施例中,所述的方法还包括:
响应于所述第一摘要值与所述第二摘要值不一致,则阻止解密所述加密镜像文件,阻止解密所述加密SM4密钥,以及阻止启动BMC内ARM处理器。
在一些实施例中,所述的方法还包括:
响应于所述第一摘要值与所述第二摘要值不一致,则发出安全启动错误信号。
在一些实施例中,所述方法还包括:
将未加密镜像文件存储至闪存;
响应于BMC的安全启动寄存器未被置位,则读取闪存中的未加密镜像文件,并利用未加密的镜像文件启动BMC内ARM处理器。
在一些实施例中,所述BMC启动信号包括上电信号和复位信号。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于国密算法的BMC安全启动方法,其特征在于,所述方法包括:
基于国密算法对镜像文件进行加密以生成加密文件,并将所述加密文件存储至闪存;
响应于接收到BMC启动信号,则检测BMC的安全启动寄存器是否被置位;
响应于BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的公钥和闪存中的所述加密文件,并基于所述公钥对所述加密文件进行解密以生成解密镜像文件;
利用所述解密镜像文件启动BMC内ARM处理器。
2.根据权利要求1所述的基于国密算法的BMC安全启动方法,其特征在于,所述基于国密算法对镜像文件进行加密以生成加密文件,并将所述加密文件存储至闪存的步骤还包括:
利用预设加密分组长度对镜像文件进行数据长度对齐确认;
利用SM4算法对镜像文件进行加密以生成加密镜像文件;
利用SM2算法的私钥对SM4算法的密钥进行加密以生成加密SM4密钥;
利用SM3算法对所述加密镜像文件进行杂凑计算以生成第一摘要值,并通过SM2算法的私钥对所述第一摘要值进行加密以生成签名值;
将所述加密文件、所述加密SM4密钥以及所述签名值分别存储至闪存。
3.根据权利要求2所述的基于国密算法的BMC安全启动方法,其特征在于,所述响应于BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的公钥和闪存中的所述加密文件,并基于所述公钥对所述加密文件进行解密以生成解密镜像文件的步骤包括:
响应于所述BMC的安全启动寄存器被置位,则读取BMC内一次性可编程存储器中预先存储的SM2公钥,以及读取闪存中的所述加密文件、所述加密SM4密钥以及所述签名值;
利用SM2公钥对所述签名值进行解密以得到第二摘要值;
利用SM3算法对所述加密文件进行杂凑计算以生产第二摘要值,并对比所述第一摘要值与所述第二摘要值是否一致;
响应于所述第一摘要值与所述第二摘要值一致,则利用SM2公钥对所述加密SM4密钥进行解密,并利用解密得到的SM4密钥对所述加密文件进行解密以生成解密镜像文件。
4.根据权利要求3所述的基于国密算法的BMC安全启动方法,其特征在于,所述的方法还包括:
响应于所述第一摘要值与所述第二摘要值不一致,则阻止解密所述加密镜像文件,阻止解密所述加密SM4密钥,以及阻止启动BMC内ARM处理器。
5.根据权利要求4所述的基于国密算法的BMC安全启动方法,其特征在于,所述的方法还包括:
响应于所述第一摘要值与所述第二摘要值不一致,则发出安全启动错误信号。
6.根据权利要求1-5任意一项所述的基于国密算法的BMC安全启动方法,其特征在于,所述方法还包括:
将未加密镜像文件存储至闪存;
响应于BMC的安全启动寄存器未被置位,则读取闪存中的未加密镜像文件,并利用未加密的镜像文件启动BMC内ARM处理器。
7.根据权利要求1-5任意一项所述的基于国密算法的BMC安全启动方法,其特征在于,所述BMC启动信号包括上电信号和复位信号。
8.一种基于国密算法的BMC安全启动装置,其特征在于,所述装置包括:
加密模块,用于基于国密算法对镜像文件进行加密以生成加密文件,并将所述加密文件存储至闪存;
检测模块,用于在接收到BMC启动信号时,则检测BMC的安全启动寄存器是否被置位;
解密模块,用于在BMC的安全启动寄存器被置位时,则读取BMC内一次性可编程存储器中预先存储的公钥和闪存中的所述加密文件,并基于所述公钥对所述加密文件进行解密以生成解密镜像文件;
启动模块,用于利用所述解密镜像文件启动BMC内ARM处理器。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器中运行的计算机程序,所述处理器执行所述程序时执行权利要求1-7任意一项所述的基于国密算法的BMC安全启动方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行权利要求1-7任意一项所述的基于国密算法的BMC安全启动方法。
CN202110656088.2A 2021-06-11 2021-06-11 基于国密算法的bmc安全启动方法、装置、设备及介质 Pending CN113505380A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110656088.2A CN113505380A (zh) 2021-06-11 2021-06-11 基于国密算法的bmc安全启动方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110656088.2A CN113505380A (zh) 2021-06-11 2021-06-11 基于国密算法的bmc安全启动方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN113505380A true CN113505380A (zh) 2021-10-15

Family

ID=78010156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110656088.2A Pending CN113505380A (zh) 2021-06-11 2021-06-11 基于国密算法的bmc安全启动方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN113505380A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114995918A (zh) * 2022-08-02 2022-09-02 苏州浪潮智能科技有限公司 基板管理控制器的启动方法、配置方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182696A (zh) * 2014-08-15 2014-12-03 浪潮电子信息产业股份有限公司 一种基于Avalon接口的AES算法IP核的设计方法
CN106228088A (zh) * 2016-08-11 2016-12-14 浪潮电子信息产业股份有限公司 一种基于国产bmc芯片的sm4算法ip核的设计方法
CN107147488A (zh) * 2017-03-24 2017-09-08 广东工业大学 一种基于sm2加解密算法的签名验签系统和方法
CN107403098A (zh) * 2017-06-13 2017-11-28 北京溢思得瑞智能科技研究院有限公司 可信工业控制计算机启动阶段的主动安全防护方法及可信工业控制计算机
CN110008689A (zh) * 2019-04-15 2019-07-12 苏州浪潮智能科技有限公司 一种bmc启动方法、装置、设备及计算机可读存储介质
CN110362427A (zh) * 2019-06-26 2019-10-22 苏州浪潮智能科技有限公司 一种镜像文件的处理方法、系统、bmc及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182696A (zh) * 2014-08-15 2014-12-03 浪潮电子信息产业股份有限公司 一种基于Avalon接口的AES算法IP核的设计方法
CN106228088A (zh) * 2016-08-11 2016-12-14 浪潮电子信息产业股份有限公司 一种基于国产bmc芯片的sm4算法ip核的设计方法
CN107147488A (zh) * 2017-03-24 2017-09-08 广东工业大学 一种基于sm2加解密算法的签名验签系统和方法
CN107403098A (zh) * 2017-06-13 2017-11-28 北京溢思得瑞智能科技研究院有限公司 可信工业控制计算机启动阶段的主动安全防护方法及可信工业控制计算机
CN110008689A (zh) * 2019-04-15 2019-07-12 苏州浪潮智能科技有限公司 一种bmc启动方法、装置、设备及计算机可读存储介质
CN110362427A (zh) * 2019-06-26 2019-10-22 苏州浪潮智能科技有限公司 一种镜像文件的处理方法、系统、bmc及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114995918A (zh) * 2022-08-02 2022-09-02 苏州浪潮智能科技有限公司 基板管理控制器的启动方法、配置方法、装置及电子设备

Similar Documents

Publication Publication Date Title
KR102168984B1 (ko) 보안 디바이스 페어링
US9768951B2 (en) Symmetric keying and chain of trust
TWI567579B (zh) 用於對硬體裝置提供金鑰的方法和設備
US9521125B2 (en) Pseudonymous remote attestation utilizing a chain-of-trust
US20100082984A1 (en) Protocol-Independent Remote Attestation And Sealing
US11101984B2 (en) Onboarding software on secure devices to generate device identities for authentication with remote servers
CN111107073B (zh) 应用自动登录方法、装置、计算机设备和存储介质
CN110688660B (zh) 一种终端安全启动的方法及装置、存储介质
US9893882B1 (en) Apparatus, system, and method for detecting device tampering
CN110795742B (zh) 高速密码运算的度量处理方法、装置、存储介质及处理器
US11985247B2 (en) Network device authentication
TWI760752B (zh) 應用加速驗證映像檔方法的系統
WO2023070425A1 (zh) 设备身份验证方法及装置、电子设备、计算机可读介质
US20240146525A1 (en) Batch Transfer of Control of Memory Devices over Computer Networks
CN113505380A (zh) 基于国密算法的bmc安全启动方法、装置、设备及介质
US9215069B2 (en) Methods and apparatus for device authentication with one-time credentials
CN114978542A (zh) 面向全生命周期的物联网设备身份认证方法、系统及存储介质
US10114654B2 (en) Method of booting a production computer system
CN108228219B (zh) 一种带外刷新bios时验证bios合法性的方法及装置
US20230214492A1 (en) Computer System for Failing a Secure Boot in a Case Tampering Event
US11677560B2 (en) Utilization of a memory device as security token
CN114329422A (zh) 一种可信安全防护方法、装置、电子设备和存储介质
US9143318B1 (en) Secure recoverable offline storage of a shared secret
US20230319553A1 (en) Vpn authentication with forward secrecy
CN116628675A (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