CN113051584A - 一种***安全启动方法、装置、计算设备及可读存储介质 - Google Patents

一种***安全启动方法、装置、计算设备及可读存储介质 Download PDF

Info

Publication number
CN113051584A
CN113051584A CN202110604078.4A CN202110604078A CN113051584A CN 113051584 A CN113051584 A CN 113051584A CN 202110604078 A CN202110604078 A CN 202110604078A CN 113051584 A CN113051584 A CN 113051584A
Authority
CN
China
Prior art keywords
program
starting
loading
signature
uefi
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.)
Granted
Application number
CN202110604078.4A
Other languages
English (en)
Other versions
CN113051584B (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.)
Wuhan Deepin Technology Co ltd
Original Assignee
Wuhan Deepin 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 Wuhan Deepin Technology Co ltd filed Critical Wuhan Deepin Technology Co ltd
Priority to CN202110604078.4A priority Critical patent/CN113051584B/zh
Publication of CN113051584A publication Critical patent/CN113051584A/zh
Application granted granted Critical
Publication of CN113051584B publication Critical patent/CN113051584B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/575Secure boot
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

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

Abstract

本发明公开了一种***安全启动方法,适于在计算设备中执行,计算设备中安装有操作***,方法包括:在计算设备加电时,启动UEFI单元,以便加载UEFI环境;通过UEFI单元加载并启动中间层程序;通过中间层程序加载并启动***启动引导程序;通过***启动引导程序加载并启动***内核。本发明一并公开了相应的装置、计算设备及可读存储介质。

Description

一种***安全启动方法、装置、计算设备及可读存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种***安全启动方法、装置、计算设备及可读存储介质。
背景技术
用户在X86架构中启动Windows***时,可以通过进入UEFI/BIOS选择是否进行安全启动(secure boot),安全启动项位于UEFI-BIOS的SECURITY选项下,用来对抗感染EFI(Extensible Firmware Interface,EFI)的恶意软件,统一可扩展固件接口(UnifiedExtensible Firmware Interface,UEFI)规定,主板出厂的时候,可以内置一些可靠的公钥,任何想要在这块主板上加载的操作***或者硬件驱动程序,都必须通过这些公钥的认证,否则主板拒绝加载,防止恶意软件侵入,目前主板商签名数据库中都内置微软的两张证书“Microsoft Corporation UEFI CA 2011”和“Microsoft Windows Production PCA2011”。
对于运行于ARM/MIPS架构,尤其Linux***,安全启动的支持尚不完善,虽然已经在使用EDKII开发套件提供UEFI,可以集成操作***厂商提供的证书,但是这样集成的证书不够灵活,更新的时候需要更新固件,对普通用户不友好。
发明内容
为此,本发明提供了一种***安全启动方法、装置、计算设备及可读存储介质,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种***安全启动方法,适于在计算设备中执行,计算设备中安装有操作***,方法包括:在计算设备加电时,启动UEFI单元,以便加载UEFI环境;通过UEFI单元加载并启动中间层程序;通过中间层程序加载并启动***启动引导程序;通过***启动引导程序加载并启动***内核。
可选的,在根据本发明的***安全启动方法中,UEFI单元中内置第一校验证书,中间层程序中内置第一签名,通过UEFI单元加载并启动中间层程序包括:根据第一校验证书对中间层程序中的第一签名进行校验;若第一签名校验通过,则加载并启动中间层程序,若第一签名校验失败,则停止操作***启动程序。
可选的,在根据本发明的***安全启动方法中,还包括:当UEFI环境加载完成后,加载UEFI环境的相关组件,相关组件包括:SEC、PEI、DXE和BDS等。
可选的,在根据本发明的***安全启动方法中,中间层程序中内置第二校验证书,***启动引导程序中内置第二签名,通过中间层程序加载并启动***启动引导程序包括:通过第二校验证书对***启动引导程序的第二签名进行校验;若第二签名校验通过,则加载并启动***启动引导程序,若第二签名校验失败,则停止操作***启动程序。
可选的,在根据本发明的***安全启动方法中,中间层程序中内置第三校验证书,***内核中内置第三签名,通过***启动引导程序加载***内核包括:根据第三检验证书对***内核的第三签名进行校验;若第三签名校验成功,则加载并启动***内核,若第三签名校验失败,则停止操作***启动程序。
可选的,在根据本发明的***安全启动方法中,还包括:通过GNU-LD链接器将第二校验证书和第三校验证书链接到中间层程序的二进制文件中。
可选的,在根据本发明的***安全启动方法中,通过GNU-LD链接器将第二校验证书和第三校验证书链接到中间层程序的二进制文件中还包括:根据计算设备的处理器架构的类型,通过相应的链接脚本将第二校验证书和第三校验证书链接到中间层程序的二进制文件中。
根据本发明的又一个方面,提供一种***安全启动装置,适于驻留在计算设备中,计算设备安装有操作***,装置包括UEFI引导执行单元、中间层程序、***启动引导程序,其中,UEFI单元,适于在计算设备加电时进行启动,以便加载UEFI环境,还适于加载并启动中间层程序;中间层程序,适于加载并启动***启动引导程序;***启动引导程序,适于加载并启动***内核。
根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行如上的任一项***安全启动方法的指令。
根据本发明的又一方面,提供一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行如上的任一项***安全启动方法。
根据本发明的***安全启动方法,引入了中间层程序,将校验证书集成在中间层程序中,通过中间层程序完成引导程序和内核的认证,实现有中间层对可扩展固件接口程序的校验,相较于将证书集成在固件中,大大方便了证书的更新过程,实现了用户友好的安全启动证书验证和更新机制。
进一步地,根据本发明的***安全启动方法,根据计算设备处理器架构不同,通过不同的链接脚本将校验证书链接到中间层程序中,实现了不同处理器架构对安全启动的支持,保证各个平台快速安全更新、更换安全启动证书。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100 的框图;
图2示出了根据本发明一个实施例的***安全启动方法200的流程图;
图3示出了根据本发明一个实施例的***安全启动装置300的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的计算设备100的示意图。需要说明的是,图1所示的计算设备100仅为一个示例,在实践中,用于实施本发明***安全启动方法的计算设备可以是任意型号的设备,其硬件配置情况可以与图1所示的计算设备100相同,也可以与图1所示的计算设备100不同。实践中用于实施本发明的***安全启动方法的计算设备可以对图1所示的计算设备100的硬件组件进行增加或删减,本发明对计算设备的具体硬件配置情况不做限制。
如图1所示,在基本的配置102中,计算设备100典型地包括***存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和***存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(µP)、微控制器(µC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,***存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。计算设备中的物理内存通常指的是易失性存储器RAM,磁盘中的数据需要加载至物理内存中才能够被处理器104读取。***存储器106可以包括操作***120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作***上由一个或多个处理器104利用程序数据124执行指令。操作***120例如可以是Linux、Unix等,其包括用于处理基本***服务以及执行依赖于硬件的任务的程序指令。应用122包括用于实现各种用户期望的功能的程序指令,应用122例如可以是浏览器、即时通讯软件、软件开发工具(例如集成开发环境IDE、编译器等)等,但不限于此。当应用122被安装到计算设备100中时,可以向操作***120添加驱动模块。
在计算设备100启动运行时,处理器104会从存储器106中读取操作***120的程序指令并执行。应用122运行在操作***120之上,利用操作***120以及底层硬件提供的接口来实现各种用户期望的功能。当用户启动应用122时,应用122会加载至存储器106中,处理器104从存储器106中读取并执行应用122的程序指令。
计算设备100还包括储存设备132,储存设备132包括可移除储存器136和不可移除储存器138,可移除储存器136和不可移除储存器138均与储存接口总线134连接。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
图2示出了根据本发明一个实施例的***安全启动方法200的流程图,适于在计算设备(例如图1所示的计算设备100)中执行。
如图2所示,方法200始于步骤S210,计算设备加电,在开启安全启动操作***模式时,启动UEFI单元,加载UEFI环境。
***安全启动是为了防止恶意软件侵入,是UEFI/BIOS的一个子规则,位于UEFI-BIOS的SECURITY选项下, 当计算设备加电时,可以通过BIOS设置启动设备顺序,如硬盘、软盘、U盘等,当UEFI-BIOS找到引导扇区GPT后,会将GPT的内容拷贝到内存中,执行主引导程序,并引导***启动引导程序grub程序,然后启动内核和initrd。
UEFI是***固件之上的软件接口,由于替代BIOS接口。本实施例中通过启动UEFI单元,加载UEFI环境。UEFI环境启动后, 会加载自身的运行必备组件,包括SEC(SecurityPhase)、PEI(Pre-EFI Init Phase)、DXE(Driver eXecution Environment)、BDS(BootDevice Select)等, 按顺序逐个加载。
随后进入步骤S220,根据安全启动模式,通过UEFI单元对中间层程序进行校验。在开启安全启动特性的UEFI环境中,预先集成了一个或多个校验证书(第一校验证书)用于后续的校验环节,该证书可以是操作***发行商自定义的校验证书,例如,Linux***版本发行厂商可以定义***安全启动校验证书。根据本发明的一个实施例,根据安全启动模式,在加载完必备组件SEC、PEI、DXE、BDS等后,会加载中间层程序,该中间层程序通常称为SHIM程序,下文中的SHIM程序即为中间层程序,在SHIM程序文件中内置有第一签名,本步骤中,根据UEFI中内置的第一校验证书对SHIM程序中的第一签名进行校验。
若第一签名校验失败,则进入步骤S260,操作***启动程序终止,***启动失败,可以同时提示用户,校验证书验证失败。
若第一签名校验成功,则进入步骤S230,通过SHIM程序对***启动引导程序进行校验。根据本发明的一个实施例,SHIM在构建的时候, 会将DER格式的校验证书(第二校验证书)放入编译目录,用于校验操作***厂商的***启动引导程序(GRUB),GRUB引导程序中内置有第二签名。
根据本发明的一个实施例,SHIM程序在被UEFI单元加载运行后, 会提供一个独立接口给GRUB引导程序使用,GRUB的主要功能是引导加载***,不同计算机GRUB大致相同,SHIM被加载后, 会根据固定路径(一般是SHIM程序存放的路径)加载GRUB引导程序,加载时,根据第二校验证书对GRUB引导程序的第二签名进行校验。
若第二签名校验失败,则进入步骤S260,操作***启动程序终止,***启动失败,可以同时提示用户,校验证书验证失败,***不可信。
若第二签名校验通过,则进入步骤S240,通过***启动引导程序对预加载的***内核进行校验,根据SHIM程序中内置的第三检验证书对***内核中内置的第三签名进行校验。其中,第三检验证书可以与第二校验证书一致,使用同一个证书,也可以使用不同的证书,本发明对此不做限制。
根据本发明的一个实施例,GRUB引导程序校验通过后,调用SHIM程序提供的内核校验接口,根据第三检验证书对内核的第三签名进行校验,
若第三签名校验失败,则进入步骤S260,操作***启动程序终止,***启动失败,可以同时提示用户,校验证书验证失败。
若第三签名校验通过,则进入步骤S250,加载***内核,启动操作***。
根据本发明的又一个实施例,SHIM程序在集成第二验证证书和第三验证证书时,使用了GNU-LD链接器将数据直接链接到SHIM程序的二进制文件中,链接的数据有dbx、cert、sbat等,由于ARM和MIPS架构的不同,大小端不同等,所以针对不同的架构采用了不同的链接脚本,不同的平台的链接脚本通过OUTPUT_FORMAT、OUTPUT_ARCH等指令输出不同格式的文件,GNU-LD链接器自动处理对应的指令,由于GNU-LD工具的跨平台特性,使用此种方式可以快速扩展到更多平台,根据本发明的一个实施例,计算设备为ARM平台或MIPS平台,但不限于此。
SHIM程序为标准EFI程序, 基于GNU-EFI开发框架构建,由于SHIM SHIM的核心组件:SHIM.EFI修改了UEFI提供的LoadImage协议,StartImage协议和ExitBootServices协议,同时提供了ShimVerify协议。SHIM尝试从LoadImage载入证书(自定义证书),StartImage调用EFI程序,EFI验证签名是否匹配(通过内部的Secureboot机制),如果LoadImage返回EFI_SECURITY_VIOLATION则该证书验证失败,Secureboot将尝试从内部证书载入stage2,内部证书在编译时加载到SHIM.EFI中,若该证书验证通过则正常启动SHIM,SHIM验证grub,通过后正常启动grub。
其中,LoadImage协议,SHIM程序修改此协议以达到使用自定义证书的目的;StartImage协议:SHIM程序修改此协议以使验证通过的EFI程序得以运行;ExitBootServices协议:SHIM程序修改此协议以根据验证结果修改机器运行状态;ShimVerify协议:SHIM程序通过此协议提供EFI校验能力。
图3示出了根据本发明一个实施例的***安全启动装置300的示意图,适于驻留在计算设备(例如图1所示的计算设备100)中。装置300包括UEFI单元310、SHIM程序320以及***启动引导程序330.
UEFI单元310,适于在安全启动开启状态下计算设备加电时进行启动,加载UEFI环境,其中集成了自定义的校验证书,还适于根据其中的校验证书对SHIM程序进行校验,并在校验成功时,加载SHIM程序。
SHIM程序320,适于对***启动引导程序进行校验,SHIM程序中集成了一个或多个证书,以便于对***启动引导程序进行检验,并在检验成功后加载***启动引导程序。
***启动引导程序330,适于根据SHIM程序中集成的校验证书对***内核进行校验,并在校验成功后,加载并启动内核,完成***启动。
根据本发明的***安全启动方法,引入了SHIM程序,将校验证书集成在SHIM程序中,通过SHIM程序完成引导程序和内核的认证,实现有SHIM对可扩展固件接口程序的校验,相较于将证书集成在固件中,大大方便了证书的更新过程,实现了用户友好的安全启动证书验证和更新机制。
进一步地,根据本发明的***安全启动方法,根据计算设备处理器架构不同,通过不同的链接脚本将校验证书链接到SHIM程序中,实现了不同处理器架构对安全启动的支持,保证各个平台快速安全更新、更换安全启动证书。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的***安全启动方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与本发明的示例一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机***的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种***安全启动方法,适于在计算设备中执行,所述计算设备中安装有操作***,方法包括:
在计算设备加电时,启动UEFI单元,以便加载UEFI环境;
通过所述UEFI单元加载并启动中间层程序;
通过所述中间层程序加载并启动***启动引导程序;
通过所述***启动引导程序加载并启动***内核。
2.如权利要求1所述的方法,其中,所述UEFI单元中内置第一校验证书,所述中间层程序中内置第一签名,所述通过所述UEFI单元加载并启动中间层程序包括:
根据所述第一校验证书对所述中间层程序中的第一签名进行校验;
若所述第一签名校验通过,则加载并启动所述中间层程序,若所述第一签名校验失败,则停止操作***启动程序。
3.如权利要求1或2所述的方法,还包括:
当所述UEFI环境加载完成后,加载所述UEFI环境的相关组件,所述相关组件包括:SEC、PEI、DXE和BDS。
4.如权利要求1或2所述的方法,其中,所述中间层程序中内置第二校验证书,所述***启动引导程序中内置第二签名,所述通过所述中间层程序加载并启动***启动引导程序包括:
通过所述第二校验证书对所述***启动引导程序的第二签名进行校验;
若所述第二签名校验通过,则加载并启动所述***启动引导程序,若所述第二签名校验失败,则停止操作***启动程序。
5.如权利要求4所述的方法,其中,所述中间层程序中内置第三校验证书,所述***内核中内置第三签名,所述通过所述***启动引导程序加载***内核包括:
根据所述第三检验证书对所述***内核的第三签名进行校验;
若所述第三签名校验成功,则加载并启动所述***内核,若所述第三签名校验失败,则停止操作***启动程序。
6.如权利要求5所述的方法,还包括:
通过GNU-LD链接器将所述第二校验证书和第三校验证书链接到中间层程序的二进制文件中。
7.如权利要求6所述的方法,其中,所述通过GNU-LD链接器将所述第二校验证书和第三校验证书链接到中间层程序的二进制文件中还包括:
根据所述计算设备的处理器架构的类型,通过相应的链接脚本将所述第二校验证书和第三校验证书链接到中间层程序的二进制文件中。
8.一种***安全启动装置,适于驻留在计算设备中,所述计算设备安装有操作***,所述装置包括UEFI单元、中间层程序、***启动引导程序,其中,
UEFI单元,适于在计算设备加电时进行启动,以便加载UEFI环境,还适于加载并启动中间层程序;
中间层程序,适于加载并启动***启动引导程序;
***启动引导程序,适于加载并启动***内核。
9.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-7中任一项所述方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-7中任一项所述方法。
CN202110604078.4A 2021-05-31 2021-05-31 一种***安全启动方法、装置、计算设备及可读存储介质 Active CN113051584B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110604078.4A CN113051584B (zh) 2021-05-31 2021-05-31 一种***安全启动方法、装置、计算设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110604078.4A CN113051584B (zh) 2021-05-31 2021-05-31 一种***安全启动方法、装置、计算设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN113051584A true CN113051584A (zh) 2021-06-29
CN113051584B CN113051584B (zh) 2023-05-02

Family

ID=76518617

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110604078.4A Active CN113051584B (zh) 2021-05-31 2021-05-31 一种***安全启动方法、装置、计算设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113051584B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116243994A (zh) * 2023-05-10 2023-06-09 苏州浪潮智能科技有限公司 一种存储设备的驱动加载方法、操作***启动方法及***

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102270288A (zh) * 2011-09-06 2011-12-07 中国人民解放军国防科学技术大学 基于反向完整性验证的操作***可信引导方法
CN103927490A (zh) * 2014-04-25 2014-07-16 华为技术有限公司 操作***安全启动方法及装置
US20140380031A1 (en) * 2013-06-24 2014-12-25 Red Hat, Inc. System wide root of trust chaining via signed applications
US20150019856A1 (en) * 2013-07-15 2015-01-15 Samsung Electronics Co., Ltd. Secure download and security function execution method and apparatus
US20150193620A1 (en) * 2014-01-07 2015-07-09 Dell Products, Lp System and Method for Managing UEFI Secure Boot Certificates
CN106293691A (zh) * 2015-06-24 2017-01-04 联想企业解决方案(新加坡)有限公司 安全引导证书的自动发现和安装
CN106529301A (zh) * 2016-09-28 2017-03-22 东软集团股份有限公司 车机***的控制方法、装置以及车机***
CN106940769A (zh) * 2017-03-01 2017-07-11 广州大学 操作***安全远程加载方法
CN107403098A (zh) * 2017-06-13 2017-11-28 北京溢思得瑞智能科技研究院有限公司 可信工业控制计算机启动阶段的主动安全防护方法及可信工业控制计算机
CN107609403A (zh) * 2017-09-19 2018-01-19 浙江大华技术股份有限公司 一种嵌入式设备的安全启动方法、装置、设备及介质
CN108153554A (zh) * 2017-12-18 2018-06-12 江苏方天电力技术有限公司 一种基于可信芯片的rtos可信***及实现方法
CN108287999A (zh) * 2017-01-10 2018-07-17 厦门雅迅网络股份有限公司 一种基于TrustZone的***可信启动方法
CN110096869A (zh) * 2019-05-08 2019-08-06 苏州浪潮智能科技有限公司 Bios加载签名证书方法、***、设备及计算机介质
US10664599B2 (en) * 2017-05-01 2020-05-26 International Business Machines Corporation Portable executable and non-portable executable boot file security
CN111291371A (zh) * 2020-01-10 2020-06-16 北京深之度科技有限公司 一种应用程序安全验证方法及装置
CN112487435A (zh) * 2020-11-06 2021-03-12 麒麟软件有限公司 基于x86架构的安全启动方法
CN112783532A (zh) * 2021-01-28 2021-05-11 杉德银卡通信息服务有限公司 用于金融终端设备的程序测试***及装置

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102270288A (zh) * 2011-09-06 2011-12-07 中国人民解放军国防科学技术大学 基于反向完整性验证的操作***可信引导方法
US20140380031A1 (en) * 2013-06-24 2014-12-25 Red Hat, Inc. System wide root of trust chaining via signed applications
US20150019856A1 (en) * 2013-07-15 2015-01-15 Samsung Electronics Co., Ltd. Secure download and security function execution method and apparatus
US20150193620A1 (en) * 2014-01-07 2015-07-09 Dell Products, Lp System and Method for Managing UEFI Secure Boot Certificates
CN103927490A (zh) * 2014-04-25 2014-07-16 华为技术有限公司 操作***安全启动方法及装置
CN106293691A (zh) * 2015-06-24 2017-01-04 联想企业解决方案(新加坡)有限公司 安全引导证书的自动发现和安装
CN106529301A (zh) * 2016-09-28 2017-03-22 东软集团股份有限公司 车机***的控制方法、装置以及车机***
CN108287999A (zh) * 2017-01-10 2018-07-17 厦门雅迅网络股份有限公司 一种基于TrustZone的***可信启动方法
CN106940769A (zh) * 2017-03-01 2017-07-11 广州大学 操作***安全远程加载方法
US10664599B2 (en) * 2017-05-01 2020-05-26 International Business Machines Corporation Portable executable and non-portable executable boot file security
CN107403098A (zh) * 2017-06-13 2017-11-28 北京溢思得瑞智能科技研究院有限公司 可信工业控制计算机启动阶段的主动安全防护方法及可信工业控制计算机
CN107609403A (zh) * 2017-09-19 2018-01-19 浙江大华技术股份有限公司 一种嵌入式设备的安全启动方法、装置、设备及介质
CN108153554A (zh) * 2017-12-18 2018-06-12 江苏方天电力技术有限公司 一种基于可信芯片的rtos可信***及实现方法
CN110096869A (zh) * 2019-05-08 2019-08-06 苏州浪潮智能科技有限公司 Bios加载签名证书方法、***、设备及计算机介质
CN111291371A (zh) * 2020-01-10 2020-06-16 北京深之度科技有限公司 一种应用程序安全验证方法及装置
CN112487435A (zh) * 2020-11-06 2021-03-12 麒麟软件有限公司 基于x86架构的安全启动方法
CN112783532A (zh) * 2021-01-28 2021-05-11 杉德银卡通信息服务有限公司 用于金融终端设备的程序测试***及装置

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
DANNF: "UEFI/SecureBoot", 《HTTPS://WIKI.UBUNTU.COM/UEFI/SECUREBOOT》 *
FEDORA官网: "UEFI Secure Boot Implementation", 《HTTPS://DOCS.FEDORAPROJECT.ORG/EN-US/FEDORA/18/HTML/UEFI_SECURE_BOOT_GUIDE/SECT-UEFI_SECURE_BOOT_GUIDE-IMPLEMENTATION_OF_UEFI_SECURE_BOOT-SHIM.HTML》 *
PPPAASS: "EFI secure boot", 《HTTPS://BLOG.CSDN.NET/PPPAASS/ARTICLE/DETAILS/78579457》 *
QUQI99: "UEFI Secure Boot学习草稿(quqi99)", 《HTTPS://BLOG.CSDN.NET/QUQI99/ARTICLE/DETAILS/108874017》 *
RENAJIA: "UEFI简介", 《HTTPS://BLOG.CSDN.NET/RENAJIA/ARTICLE/DETAILS/45894817》 *
UBUNTU官网: "how-to-sign-things-for-secure-boot", 《HTTPS://UBUNTU.COM/BLOG/2017/08/11/HOW-TO-SIGN-THINGS-FOR-SECURE-BOOT》 *
何尚平,陈艳,万彬,辜小花主编: "《嵌入式***原理与应用》", 31 August 2019, 重庆大学出版社 *
匿名: "How Shim verifies binaries in secure boot?", 《HTTPS://ASKUBUNTU.COM/QUESTIONS/951040/HOW-SHIM-VERIFIES-BINARIES-IN-SECURE-BOOT》 *
武汉大学多核架构与编程技术课程组编著: "《多核架构与编程技术》", 31 January 2010, 武汉大学出版社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116243994A (zh) * 2023-05-10 2023-06-09 苏州浪潮智能科技有限公司 一种存储设备的驱动加载方法、操作***启动方法及***
CN116243994B (zh) * 2023-05-10 2023-08-04 苏州浪潮智能科技有限公司 一种存储设备的驱动加载方法、操作***启动方法及***

Also Published As

Publication number Publication date
CN113051584B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
US10656936B2 (en) Systems and methods for software integrity validation using blockchain
KR101643072B1 (ko) 인터넷 이용 가능 컴퓨팅 노드에 대한 불변 안티바이러스 페이로드의 제공
JP5767751B2 (ja) Biosを検証する方法、コンピューティングプラットフォーム、およびプログラム
US7937575B2 (en) Information processing system, program product, and information processing method
US7984286B2 (en) Apparatus and method for secure boot environment
US10437580B2 (en) Software updating methods and systems
US20140115316A1 (en) Boot loading of secure operating system from external device
US11169819B2 (en) Information handling system (IHS) and method to proactively restore firmware components to a computer readable storage device of an IHS
JP5307196B2 (ja) シリコンに一体化されたコードのシステムへの提供
US20140025939A1 (en) Methods and apparatus for trusted boot optimization
CN113434205B (zh) 一种操作***启动方法及计算设备
US11163886B2 (en) Information handling system firmware bit error detection and correction
CN107567629B (zh) 在可信执行环境容器中的动态固件模块加载器
CN107766084B (zh) 启动装载及安装方法及其计算***
WO2019103902A1 (en) Software packages policies management in a securela booted enclave
US20200250314A1 (en) Securely loading uefi images at runtime
CN113051584B (zh) 一种***安全启动方法、装置、计算设备及可读存储介质
CN113221123B (zh) 一种内核分支合入补丁的方法及计算设备
US11436334B2 (en) Systems and methods for securing operating system applications with hardware root of trust
CN113867825B (zh) 一种多***运行方法、计算设备及存储介质
US11960372B2 (en) Verified callback chain for bios security in an information handling system
WO2023027687A1 (en) Hashes to control code execution
JP2003044270A (ja) マイクロプログラムチェックシステム

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