CN112463224A - 一种***启动控制方法、装置、设备及可读存储介质 - Google Patents
一种***启动控制方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN112463224A CN112463224A CN202011256577.0A CN202011256577A CN112463224A CN 112463224 A CN112463224 A CN 112463224A CN 202011256577 A CN202011256577 A CN 202011256577A CN 112463224 A CN112463224 A CN 112463224A
- Authority
- CN
- China
- Prior art keywords
- kernel
- image
- mirror image
- hash value
- bmc
- 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 73
- 230000008569 process Effects 0.000 claims abstract description 26
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 5
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 3
- 230000007123 defense Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 102000003918 Hyaluronan Synthases Human genes 0.000 description 1
- 108090000320 Hyaluronan Synthases Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种***启动控制方法、装置、设备及可读存储介质,该方法包括:在***启动过程中,加载BMC内核镜像至内存;解析BMC内核镜像,得到可执行内核镜像和签名头部;利用签名头部,确定可执行内核镜像是否完整;若可执行内核镜像不完整,则停止启动***。该方法在BMC遭受攻击的情况下,通过检测可执行内核镜像的完整性,在检测出不完整时,停止启动***来避免***的数据信息遭受攻击,能够在***启动阶段有效阻拦恶意攻击。
Description
技术领域
本发明涉及信息安全技术领域,特别是涉及一种***启动控制方法、装置、设备及可读存储介质。
背景技术
随着信息技术的迅速发展,各行各业在享受信息技术带来诸多便利的同时,其背后也伴随着层出不穷的信息安全问题。享受信息时代的高效便捷及其创造的巨大利益的同时,同样受到信息安全的困扰。现在各种类型的物理服务器、白盒交换机已经广泛布置于各大数据中心,为医疗、教育、通讯等不同领域提供计算和存储能力。
但是,服务器或交换机在启动阶段其对于内部攻击所采取的防范能力十分有限。例如,在***启动过程中对BMC这种关键的板级固件进行攻击,***往往很难察觉,更谈不上对攻击的防御措施了。
综上所述,如何有效地解决***启动过程中的安全防御等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种***启动控制方法、装置、设备及可读存储介质,能够在***启动过程中进行安全防御。
为解决上述技术问题,本发明提供如下技术方案:
一种***启动控制方法,包括:
在***启动过程中,加载BMC内核镜像至内存;
解析所述BMC内核镜像,得到可执行内核镜像和签名头部;
利用所述签名头部,确定所述可执行内核镜像是否完整;
若所述可执行内核镜像不完整,则停止启动所述***。
优选地,利用所述签名头部,确定所述可执行内核镜像是否完整,包括:
从所述签名头部中,提取参考镜像散列值;
对所述可执行内核镜像进行散列值计算,得到实际镜像散列值;
若所述参考镜像散列值和所述实际镜像散列值一致,则确定所述可执行内核镜像完整。
优选地,从所述签名头部中,提取参考镜像散列值,包括:
从所述签名头部中读取出参考镜像散列值密文;
利用预设密钥,对所述参考镜像散列值密文进行解密;
若解密失败,则确定所述BMC内核镜像的来源不可信,停止启动所述***;
若解密成功,则得到所述参考镜像散列值。
优选地,在本次启动所述***之前,还包括:
在所述***处于运行状态下,对BMC原始***内核进行编译,生成所述可执行内核镜像;
在所述可执行内核镜像前增加所述签名头部,得到所述BMC内核镜像。
优选地,所述对BMC原始***内核进行编译,生成所述可执行内核镜像,包括:
对所述BMC原始***内核进行编译,生成linux内核镜像、文件***镜像和设备树镜像;
将所述linux内核镜像、所述文件***镜像和所述设备树镜像确定为所述可执行内核镜像。
优选地,在所述可执行内核镜像前增加所述签名头部,得到所述BMC内核镜像,包括:
获取参考镜像散列值密文、创建时间、镜像大小和内核加载地址;
将所述创建时间、所述镜像大小、所述内核加载地址以及所述参考镜像散列值密文确定为所述签名头部;
将所述签名头部添加至所述可执行内核镜像前,得到所述BMC内核镜像。
优选地,所述获取参考镜像散列值密文,包括:
利用安全哈希算法对所述可执行内核镜像进行散列值计算,得到参考镜像散列值;
利用预设密钥对所述参考镜像散列值进行加密,得到所述参考镜像散列值密文。
一种***启动控制装置,包括:
内核加载模块,用于在***启动过程中,加载BMC内核镜像至内存;
内核解析模块,用于解析所述BMC内核镜像,得到可执行内核镜像和签名头部;
镜像检测模块,用于利用所述签名头部,确定所述可执行内核镜像是否完整;
启动控制模块,用于若所述可执行内核镜像不完整,则停止启动所述***。
一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述***启动控制方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述***启动控制方法的步骤。
应用本发明实施例所提供的方法,在***启动过程中,加载BMC内核镜像至内存;解析***启动控制BMC内核镜像,得到可执行内核镜像和签名头部;利用***启动控制签名头部,确定***启动控制可执行内核镜像是否完整;若***启动控制可执行内核镜像不完整,则停止启动***启动控制***。
考虑到,在BMC遭受攻击后,会影响BMC的可执行内核镜像的完整性。基于此,在本方法中,通过在BMC内核镜像中增设签名头部,在***启动过程中,加载了BMC内核镜像之后,对其进行解析,得到可执行内核镜像和签名头部。然后,利用签名头部对可执行内核镜像的完整进行检测。在确定可执行内核镜像不完整的情况下,停止启动***。如此,在BMC遭受攻击的情况下,通过检测可执行内核镜像的完整性,在检测出不完整时,停止启动***来避免***的数据信息遭受攻击,能够在***启动阶段有效阻拦恶意攻击。
相应地,本发明实施例还提供了与上述***启动控制方法相对应的***启动控制装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种***启动控制方法的实施流程图;
图2为本发明实施例中一种BMC内核镜像生成示意图;
图3为本发明实施例中一种内核镜像验证示意图;
图4为本发明实施例中一种***启动控制装置的结构示意图;
图5为本发明实施例中一种电子设备的结构示意图;
图6为本发明实施例中一种电子设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例中一种***启动控制方法的流程图,该方法可应用于具有BMC固件的***(或称设备)中,如服务器、交换机等。
BMC固件是服务器或交换机的关键组成部分,它能够使得上层的指令传输到硬件层,并指挥硬件层进行上下电等关键操作;当设备通电并开始运行时,即***启动过程中,***首条指令就是在BMC固件中执行。可见BMC固件将是最早掌握***控制器的部件,其对于设备的安全起到非常重要的作用。举例说明,假设在固件中设定相应的后门程序,便能够以一种隐蔽的方式获取***的重要数据信息。
基于此,为了解决具有BMC固件的***的安全启动问题,本发明实施例所提供的***启动控制方法可从最基本的启动过程入手,确保设备启动过程中的关键固件是可信的。该方法包括以下步骤:
S101、在***启动过程中,加载BMC内核镜像至内存。
其中,***可以为具有BMC,且需要在***启动过程中对数据信息安全进行有效保障的任意一个***。
其中,BMC内核镜像即BMC固件运行所需的内核镜像。需要注意的是,在本发明实施例中,BMC内核镜像具体指镜像前具有签名头部。
S102、解析***启动控制BMC内核镜像,得到可执行内核镜像和签名头部。
解析BMC内核镜像,即按照编码规则,从BMC内核镜像中解析出可执行内核镜像以及签名头部。
其中,签名头部具体包括能够用于验证可执行内核镜像是否完整的信息,例如镜像大小、创建时间、加载地址、以及可执行内核镜像对应的唯一标识(如可执行内核镜像的散列值)中的至少一种信息。
S103、利用***启动控制签名头部,确定***启动控制可执行内核镜像是否完整。
解析出签名头部和可执行内核镜像之后,便可利用该签名头部确定可执行内核镜像是否完整。具体的,若签名头部包括镜像大小,则可判断可执行内核镜像的大小与该镜像大小是否一致,如果不一致,则确定可执行内核镜像不完整;若签名头部包括创建时间,则可判断可执行内核镜像的创建时间与签名头部中的创建时间是否一致,如果不一致,则确定可执行内核镜像不完整;若签名头部包括内核加载地址,则可判断可执行内核镜像的实际加载地址与该内核加载地址是否一致,如果不一种,则确定可执行内核镜像不完整;若签名头部包括可执行内核镜像对应的唯一标识,而该唯一标识与解析得到的可执行内核镜像不匹配,则可确定可执行内核镜像不完整。
S104、若***启动控制可执行内核镜像不完整,则停止启动***启动控制***。
若可执行内核镜像不完整,则表明该可执行内核镜像可能因遭受恶意攻击等应用导致其不完整,此时继续启动***,可能会造成不可估量的损失。因此,在确定可执行内核镜像不完整的情况下,可停止启动***。
应用本发明实施例所提供的方法,在***启动过程中,加载BMC内核镜像至内存;解析***启动控制BMC内核镜像,得到可执行内核镜像和签名头部;利用***启动控制签名头部,确定***启动控制可执行内核镜像是否完整;若***启动控制可执行内核镜像不完整,则停止启动***启动控制***。
考虑到,在BMC遭受攻击后,会影响BMC的可执行内核镜像的完整性。基于此,在本方法中,通过在BMC内核镜像中增设签名头部,在***启动过程中,加载了BMC内核镜像之后,对其进行解析,得到可执行内核镜像和签名头部。然后,利用签名头部对可执行内核镜像的完整进行检测。在确定可执行内核镜像不完整的情况下,停止启动***。如此,在BMC遭受攻击的情况下,通过检测可执行内核镜像的完整性,在检测出不完整时,停止启动***来避免***的数据信息遭受攻击,能够在***启动阶段有效阻拦恶意攻击。
需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在优选/改进实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在本文的优选/改进实施例中不再一一赘述。
在本发明的一种具体实施方式中,步骤S103利用***启动控制签名头部,确定***启动控制可执行内核镜像是否完整,包括:
步骤一、从***启动控制签名头部中,提取参考镜像散列值。
即,在签名头部包括参考镜像散列值。散列值即哈希值,可采用哈希算法在对完整的可执行内核镜像进行哈希计算(即散列值计算),而得到的参考镜像散列值。
进一步地,步骤一可具体包括:
步骤1、从***启动控制签名头部中读取出参考镜像散列值密文;
步骤2、利用预设密钥,对***启动控制参考镜像散列值密文进行解密;
步骤3、若解密失败,则确定***启动控制BMC内核镜像的来源不可信,停止启动***启动控制***;
步骤4、若解密成功,则得到***启动控制参考镜像散列值。
对于参考镜像散列值还可采用加密方式存储在签名头部,并且可以通过解密情况,确定BMC内核镜像的来源是否可信。具体的,若采用预设密钥无法解密参考镜像散列值密文,则说明BMC内核镜像的来源不可信,此时可直接停止启动***,以避免因来源不可信的BMC内核镜像导致***安全受到威胁。当然,在解密成功的情况下,便可得到参考镜像散列值。需要注意的是,对参考镜像散列值进行加密和解密的预设密钥应当对应。例如,若采用对称密钥,则加密和解密均采用同一个密钥;若采用非对称密钥,则加密和加密分别采用对应的公钥和私钥。在本实施例中,对预设密钥的具体形式不作限定。
步骤二、对***启动控制可执行内核镜像进行散列值计算,得到实际镜像散列值。
在解析得到可执行内核镜像之后,可对可执行内核镜像进行散列值计算,得到实际镜像散列值。需要注意的是,参考镜像散列值即为针对完整的可执行内核镜像进行散列值计算得到的结果,而实际镜像散列值即为针对解析出的可执行内核镜像进行散列值计算得到的结果。计算参照镜像散列值和计算实际镜像散列值所用的算法应当为同一算法,例如可采用SHA1算法(一种安全哈希算法)进行计算。
步骤三、若***启动控制参考镜像散列值和***启动控制实际镜像散列值一致,则确定***启动控制可执行内核镜像完整。
若参考镜像散列值与实际镜像散列值一致,基于散列计算特性,则可确定解析得到可执行内核镜像是完整的。相应地,若参考镜像散列值与实际镜像散列值不一致,则可确定解析得到的可执行内核镜像不是完整。需要注意的是,在本实施例中可执行内核镜像不完整,可具体为可执行内核镜像相对于正常可执行内核镜像而言,包括但不限于存在缺失、增加、修改等导致与注册内核镜像不同的情况。
在本发明的一种具体实施方式中,在本次启动***启动控制***之前,即执行步骤S101之前,生成BMC内核镜像的具体实现过程,包括:
步骤一、在***启动控制***处于运行状态下,对BMC原始***内核进行编译,生成***启动控制可执行内核镜像。
也就是说,***再次启动之前,在处于运行状态下,需对BMC原始***内核进行编译,生成可执行内核镜像。
其中,***启动控制对BMC原始***内核进行编译,生成***启动控制可执行内核镜像,可包括:
步骤1、对***启动控制BMC原始***内核进行编译,生成linux内核镜像、文件***镜像和设备树镜像;
步骤2、将***启动控制linux内核镜像、***启动控制文件***镜像和***启动控制设备树镜像确定为***启动控制可执行内核镜像。
也就是说,可执行内核镜像具体包括linux内核镜像、文件***镜像和设备树镜像。对于如何对BMC原始***内核进行编译,得到linux内核镜像、文件***镜像和设备树镜像的具体过程,可参照镜像编译生成规则与实现,在此不再一一赘述。
步骤二、在***启动控制可执行内核镜像前增加***启动控制签名头部,得到***启动控制BMC内核镜像。
相较于相关技术中可执行内核镜像即为BMC内核镜像不同,本发明实施例中,BMC内核镜像不仅包括可执行内核镜像,还包括签名头部,且该签名头部位于可执行内核镜像前。
在实际应用中,上述步骤二可具体包括:
步骤1、获取参考镜像散列值密文、创建时间、镜像大小和内核加载地址。
其中,参考镜像散列值密文、创建时间、镜像大小和内核加载地址均与正常的可执行内核镜像对应,在确定二者不对应的情况下,可确定可执行内核镜像不完整。
其中,参考镜像散列值密文即参考镜像散列值进行加密所得密文。***启动控制获取参考镜像散列值密文,可具体包括:
步骤1.1、利用安全哈希算法对***启动控制可执行内核镜像进行散列值计算,得到参考镜像散列值;
步骤1.2、利用预设密钥对***启动控制参考镜像散列值进行加密,得到***启动控制参考镜像散列值密文。
举例说明,可以采用SHA1算法(一种安全哈希算法)对可执行内核镜像进行散落在计算,得到参考镜像散列值。然后,采用RSA算法(一种非对称密钥)对应私钥对参考镜像散列值进行签名(即加密),得到加密后的(或称为签名后的)参考镜像散列值密文。
步骤2、将***启动控制创建时间、***启动控制镜像大小、***启动控制内核加载地址以及***启动控制参考镜像散列值密文确定为***启动控制签名头部。
即签名头部可包括创建时间、***启动控制镜像大小、***启动控制内核加载地址以及***启动控制参考镜像散列值密文。
步骤3、将***启动控制签名头部添加至***启动控制可执行内核镜像前,得到***启动控制BMC内核镜像。
即,BMC内核镜像包括签名头部和可执行内核镜像。
为便于本领域技术人员更好地理解本发明实施例所提供的***启动控制方法,下面结合具体的应用场景为例,对***启动控制方法进行详细说明。
BMC内核层主要包括U_Boot以及操作***内核两个模块,其中U_Boot作为BMC上电后的第一段执行代码,主要功能包括关闭看门狗、初始化SDRAM、读取Flash以及启动操作***内核等;采用本发明实施例所提供的***启动控制方法后,可在U_Boot原有功能的基础上增加BMC内核校验模块,实现启动阶段的内核镜像完整性校验功能,确保***启动的可信性。
在原来的可执linux内核镜像zImage的前面增加一个签名头部,签名头部包括自身的签名信息、头部校验值、创建时间、镜像大小等参数,U_Boot在加载linux内核时会获取该签名头部,通过对签名头部的检测确定镜像是否遭到破坏。
具体的,请参考图2和图3,其中图2为本发明实施例中一种BMC内核镜像生成示意图,图3为本发明实施例中一种内核镜像验证示意图。
其中,采用了本发明实施例所提供的***启动控制方法后,BMC内核镜像生成过程,包括:
1、首先对BMC原始***内核进行编译,生成原始***镜像zImage(即可执行内核镜像),镜像内容包括linux内核镜像、文件***镜像、设备树镜像。
2、通过SHA1算法对原始***镜像进行散列计算,得到原始镜像的散列值V-sha1(即参考镜像散列值)。
3、通过RSA算法,利用私钥对V-sha1进行签名,得到签名后的原始镜像散列值RV-sha1(即参考镜像散列值密文)。
4、最后将RV-sha1、镜像创建时间、镜像大小、加载地址等信息(即签名头部)与原始***镜像zImage整合生成新的镜像(即BMC内核镜像)。
其中,采用了本发明实施例所提供的***启动控制方法后,***启动过程,对内核镜像的验证过程,即U_Boot验证BMC内核镜像主要包括以下几个步骤:
1、将BMC内核镜像加载到内存中,之后根据镜像头部信息,解析出RV-sha1和原始镜像zImage。
2、利用RSA公钥来对RV-sha1进行解密。
其中,RSA公钥可以具体为BMC管理员通过终端输入,当然也可从存储介质中直接读取得到。若为BMC管理员通过终端输入,根据RSA非对称加密算法的特性,如果BMC管理员输入的公钥能够完成解密,那说明该镜像头部中RV-sha1信息可信,同时可以解密得到V-sha1;若解密失败,则说明镜像来源不合法,BMC内核镜像不可信,执行失败操作(即停止启动***)。特别地,在解密失败时,还可再次进行解密,直到到达预设解密次数,如3次,则可确定解密失败而执行失败操作。
3、对解析出的zImage原始镜像,采用相同的HAS1算法进行散列计算,重新获取原始镜像的散列值(即实际镜像散列值),并与V-sha1进行对比;若两者相等,说明可执行内核镜像内容是完整的,因此可以确定整个BMC内核镜像的来源真实,内容完整;如果两者不相等,则说明镜像遭到篡改,自然就不具备完整性特征,执行失败操作。
由此可见,本发明实施例所提供的***启动控制方法,在实际应用中,U-Boot阶段的BMC内核镜像检测,会最大限度提前发现内核镜像的恶意篡改或破坏风险,并提供对应的处理机制,防止产生更严重破坏。BMC内核加密以及校验过程的严谨性和完整性。即,通过U-Boot阶段对BMC内核镜像的校验,提高***启动的完整性,避免启动过程中的固件攻击而造成的严重故障,对提升产品整体的安全性具有很大的帮助。
相应于上面的方法实施例,本发明实施例还提供了一种***启动控制装置,下文描述的***启动控制装置与上文描述的***启动控制方法可相互对应参照。
参见图4所示,该装置包括以下模块:
内核加载模块101,用于在***启动过程中,加载BMC内核镜像至内存;
内核解析模块102,用于解析***启动控制BMC内核镜像,得到可执行内核镜像和签名头部;
镜像检测模块103,用于利用***启动控制签名头部,确定***启动控制可执行内核镜像是否完整;
启动控制模块104,用于若***启动控制可执行内核镜像不完整,则停止启动***启动控制***。
应用本发明实施例所提供的装置,在***启动过程中,加载BMC内核镜像至内存;解析***启动控制BMC内核镜像,得到可执行内核镜像和签名头部;利用***启动控制签名头部,确定***启动控制可执行内核镜像是否完整;若***启动控制可执行内核镜像不完整,则停止启动***启动控制***。
考虑到,在BMC遭受攻击后,会影响BMC的可执行内核镜像的完整性。基于此,在本装置中,通过在BMC内核镜像中增设签名头部,在***启动过程中,加载了BMC内核镜像之后,对其进行解析,得到可执行内核镜像和签名头部。然后,利用签名头部对可执行内核镜像的完整进行检测。在确定可执行内核镜像不完整的情况下,停止启动***。如此,在BMC遭受攻击的情况下,通过检测可执行内核镜像的完整性,在检测出不完整时,停止启动***来避免***的数据信息遭受攻击,能够在***启动阶段有效阻拦恶意攻击。
在本发明的一种具体实施方式中,镜像检测模块103,具体用于从***启动控制签名头部中,提取参考镜像散列值;对***启动控制可执行内核镜像进行散列值计算,得到实际镜像散列值;若***启动控制参考镜像散列值和***启动控制实际镜像散列值一致,则确定***启动控制可执行内核镜像完整。
在本发明的一种具体实施方式中,镜像检测模块103,具体用于从***启动控制签名头部中读取出参考镜像散列值密文;利用预设密钥,对***启动控制参考镜像散列值密文进行解密;若解密失败,则确定***启动控制BMC内核镜像的来源不可信,停止启动***启动控制***;若解密成功,则得到***启动控制参考镜像散列值。
在本发明的一种具体实施方式中,还包括:BMC内核镜像编译模块,用于在本次启动***启动控制***之前,在***启动控制***处于运行状态下,对BMC原始***内核进行编译,生成***启动控制可执行内核镜像;在***启动控制可执行内核镜像前增加***启动控制签名头部,得到***启动控制BMC内核镜像。
在本发明的一种具体实施方式中,BMC内核镜像编译模块,具体用于对***启动控制BMC原始***内核进行编译,生成linux内核镜像、文件***镜像和设备树镜像;将***启动控制linux内核镜像、***启动控制文件***镜像和***启动控制设备树镜像确定为***启动控制可执行内核镜像。
在本发明的一种具体实施方式中,BMC内核镜像编译模块,具体用于获取参考镜像散列值密文、创建时间、镜像大小和内核加载地址;将***启动控制创建时间、***启动控制镜像大小、***启动控制内核加载地址以及***启动控制参考镜像散列值密文确定为***启动控制签名头部;将***启动控制签名头部添加至***启动控制可执行内核镜像前,得到***启动控制BMC内核镜像。
在本发明的一种具体实施方式中,BMC内核镜像编译模块,具体用于利用安全哈希算法对***启动控制可执行内核镜像进行散列值计算,得到参考镜像散列值;利用预设密钥对***启动控制参考镜像散列值进行加密,得到***启动控制参考镜像散列值密文。
相应于上面的方法实施例,本发明实施例还提供了一种电子设备,下文描述的一种电子设备与上文描述的一种***启动控制方法可相互对应参照。
参见图5所示,该电子设备包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的***启动控制方法的步骤。
具体的,请参考图6,为本实施例提供的一种电子设备的具体结构示意图,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在电子设备301上执行存储器332中的一系列指令操作。
电子设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作***341。
上文所描述的***启动控制方法中的步骤可以由电子设备的结构实现。
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种***启动控制方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的***启动控制方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
Claims (10)
1.一种***启动控制方法,其特征在于,包括:
在***启动过程中,加载BMC内核镜像至内存;
解析所述BMC内核镜像,得到可执行内核镜像和签名头部;
利用所述签名头部,确定所述可执行内核镜像是否完整;
若所述可执行内核镜像不完整,则停止启动所述***。
2.根据权利要求1所述的***启动控制方法,其特征在于,利用所述签名头部,确定所述可执行内核镜像是否完整,包括:
从所述签名头部中,提取参考镜像散列值;
对所述可执行内核镜像进行散列值计算,得到实际镜像散列值;
若所述参考镜像散列值和所述实际镜像散列值一致,则确定所述可执行内核镜像完整。
3.根据权利要求2所述的***启动控制方法,其特征在于,从所述签名头部中,提取参考镜像散列值,包括:
从所述签名头部中读取出参考镜像散列值密文;
利用预设密钥,对所述参考镜像散列值密文进行解密;
若解密失败,则确定所述BMC内核镜像的来源不可信,停止启动所述***;
若解密成功,则得到所述参考镜像散列值。
4.根据权利要求1所述的***启动控制方法,其特征在于,在本次启动所述***之前,还包括:
在所述***处于运行状态下,对BMC原始***内核进行编译,生成所述可执行内核镜像;
在所述可执行内核镜像前增加所述签名头部,得到所述BMC内核镜像。
5.根据权利要求4所述的***启动控制方法,其特征在于,所述对BMC原始***内核进行编译,生成所述可执行内核镜像,包括:
对所述BMC原始***内核进行编译,生成linux内核镜像、文件***镜像和设备树镜像;
将所述linux内核镜像、所述文件***镜像和所述设备树镜像确定为所述可执行内核镜像。
6.根据权利要求4所述的***启动控制方法,其特征在于,在所述可执行内核镜像前增加所述签名头部,得到所述BMC内核镜像,包括:
获取参考镜像散列值密文、创建时间、镜像大小和内核加载地址;
将所述创建时间、所述镜像大小、所述内核加载地址以及所述参考镜像散列值密文确定为所述签名头部;
将所述签名头部添加至所述可执行内核镜像前,得到所述BMC内核镜像。
7.根据权利要求6所述的***启动控制方法,其特征在于,所述获取参考镜像散列值密文,包括:
利用安全哈希算法对所述可执行内核镜像进行散列值计算,得到参考镜像散列值;
利用预设密钥对所述参考镜像散列值进行加密,得到所述参考镜像散列值密文。
8.一种***启动控制装置,其特征在于,包括:
内核加载模块,用于在***启动过程中,加载BMC内核镜像至内存;
内核解析模块,用于解析所述BMC内核镜像,得到可执行内核镜像和签名头部;
镜像检测模块,用于利用所述签名头部,确定所述可执行内核镜像是否完整;
启动控制模块,用于若所述可执行内核镜像不完整,则停止启动所述***。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述***启动控制方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述***启动控制方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011256577.0A CN112463224A (zh) | 2020-11-11 | 2020-11-11 | 一种***启动控制方法、装置、设备及可读存储介质 |
PCT/CN2021/089877 WO2022100014A1 (zh) | 2020-11-11 | 2021-04-26 | 一种***启动控制方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011256577.0A CN112463224A (zh) | 2020-11-11 | 2020-11-11 | 一种***启动控制方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112463224A true CN112463224A (zh) | 2021-03-09 |
Family
ID=74825511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011256577.0A Withdrawn CN112463224A (zh) | 2020-11-11 | 2020-11-11 | 一种***启动控制方法、装置、设备及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112463224A (zh) |
WO (1) | WO2022100014A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022100014A1 (zh) * | 2020-11-11 | 2022-05-19 | 苏州浪潮智能科技有限公司 | 一种***启动控制方法、装置、设备及可读存储介质 |
CN115858251A (zh) * | 2023-01-18 | 2023-03-28 | 苏州浪潮智能科技有限公司 | 一种基板控制单元控制方法、装置及电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156659A (zh) * | 2014-08-14 | 2014-11-19 | 电子科技大学 | 一种嵌入式***的安全启动方法 |
CN106384052A (zh) * | 2016-08-26 | 2017-02-08 | 浪潮电子信息产业股份有限公司 | 一种实现BMC U‑boot可信启动控制的方法 |
CN109766134A (zh) * | 2019-01-08 | 2019-05-17 | 四川虹微技术有限公司 | ***启动方法、装置、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100062844A1 (en) * | 2003-03-05 | 2010-03-11 | Bally Gaming, Inc. | Authentication and validation systems for gaming devices |
CN109376550A (zh) * | 2018-11-01 | 2019-02-22 | 郑州云海信息技术有限公司 | 一种目标部件的启动控制方法、装置及设备 |
CN112463224A (zh) * | 2020-11-11 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种***启动控制方法、装置、设备及可读存储介质 |
-
2020
- 2020-11-11 CN CN202011256577.0A patent/CN112463224A/zh not_active Withdrawn
-
2021
- 2021-04-26 WO PCT/CN2021/089877 patent/WO2022100014A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156659A (zh) * | 2014-08-14 | 2014-11-19 | 电子科技大学 | 一种嵌入式***的安全启动方法 |
CN106384052A (zh) * | 2016-08-26 | 2017-02-08 | 浪潮电子信息产业股份有限公司 | 一种实现BMC U‑boot可信启动控制的方法 |
CN109766134A (zh) * | 2019-01-08 | 2019-05-17 | 四川虹微技术有限公司 | ***启动方法、装置、电子设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022100014A1 (zh) * | 2020-11-11 | 2022-05-19 | 苏州浪潮智能科技有限公司 | 一种***启动控制方法、装置、设备及可读存储介质 |
CN115858251A (zh) * | 2023-01-18 | 2023-03-28 | 苏州浪潮智能科技有限公司 | 一种基板控制单元控制方法、装置及电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022100014A1 (zh) | 2022-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9690498B2 (en) | Protected mode for securing computing devices | |
KR102105020B1 (ko) | 가상 머신 기반 코드 변이 기술을 이용한 동적 자가변이 시스템 | |
CN110990084B (zh) | 芯片的安全启动方法、装置、存储介质和终端 | |
US8694763B2 (en) | Method and system for secure software provisioning | |
US20130031371A1 (en) | Software Run-Time Provenance | |
EP3026558A1 (en) | Method and device for providing verifying application integrity | |
US20170262657A1 (en) | Method and device for providing verifying application integrity | |
KR20170088858A (ko) | 애플리케이션 무결성 검증을 제공하기 위한 방법 및 디바이스 | |
US20170262658A1 (en) | Method and device for providing verifying application integrity | |
US20210367781A1 (en) | Method and system for accelerating verification procedure for image file | |
CN112463224A (zh) | 一种***启动控制方法、装置、设备及可读存储介质 | |
CN115543694B (zh) | Flash器件切换方法、装置、计算机设备和存储介质 | |
KR20170089352A (ko) | 가상화 시스템에서 수행하는 무결성 검증 방법 | |
US20210216636A1 (en) | Determining Authenticity of Binary Images | |
CN115248919A (zh) | 一种函数接口的调用方法、装置、电子设备及存储介质 | |
CN112511306A (zh) | 一种基于混合信任模型的安全运行环境构建方法 | |
CN111597558B (zh) | 一种基于文件多镜像的嵌入式操作***可信引导方法及*** | |
CN113360914A (zh) | 一种bios更新的方法、***、设备及介质 | |
JP7439067B2 (ja) | ファイルシステムの検証とインストール | |
CN117150573A (zh) | Bios镜像验证的故障定位方法、装置、设备及介质 | |
CN112054895A (zh) | 可信根构建方法及应用 | |
CN108228219B (zh) | 一种带外刷新bios时验证bios合法性的方法及装置 | |
CN117992969B (zh) | 一种可信的***完整性校验方法和装置、电子设备 | |
Papakotoulas et al. | Sustaining the Trust of an IoT Infrastructure | |
CN114721693A (zh) | 一种微处理器、bios固件更新方法、计算机设备及存储介质 |
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 |
Application publication date: 20210309 |
|
WW01 | Invention patent application withdrawn after publication |