CN107045611B - 安全启动方法及装置 - Google Patents

安全启动方法及装置 Download PDF

Info

Publication number
CN107045611B
CN107045611B CN201610081934.1A CN201610081934A CN107045611B CN 107045611 B CN107045611 B CN 107045611B CN 201610081934 A CN201610081934 A CN 201610081934A CN 107045611 B CN107045611 B CN 107045611B
Authority
CN
China
Prior art keywords
boot
starting
item
validation value
reading
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
CN201610081934.1A
Other languages
English (en)
Other versions
CN107045611A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201610081934.1A priority Critical patent/CN107045611B/zh
Priority to PCT/CN2017/072296 priority patent/WO2017133559A1/zh
Publication of CN107045611A publication Critical patent/CN107045611A/zh
Application granted granted Critical
Publication of CN107045611B publication Critical patent/CN107045611B/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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

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

Abstract

本发明公开了一种安全启动方法及装置,包括:启动链中上级启动项读取其下级启动项的启动镜像;计算所述启动镜像的安全效验值;通过非授权读的方式读取存储在安全芯片中所述启动镜像对应的标准效验值;比对所述安全效验值和所述标准效验值,若所述安全效验值与所述标准效验值匹配,则启动所述下级启动项;否则,停止启动。通过该启动方式避免了现有技术中因使用解密封机制受到解密数据长度的限制而导致的启动效率低的技术问题。同时,本申请提出的安全启动方法中,在系统更新时只需将需要更新的启动项的标准效验值更新到安全芯片即可,并不会影响到其他不需要更新的启动项,简化了系统升级流程。

Description

安全启动方法及装置
技术领域
本发明涉及安全技术领域,尤其涉及一种安全启动方法及装置。
背景技术
设备从加电到完全运行的过程称为启动,启动一般有两种启动方式,一种为可信启动,另一种为安全启动。可信启动是对当前需要运行的启动项进行度量后,无论其是否安全都继续运行该启动项,然后将对启动项的度量结果通知验证方,由验证方评估所运行设备的安全状态。安全启动指除核度量信任根(Core Root of trusted measurement,CRTM)之外,每次运行一个启动项之前,就对该启动项的安全性进行评估,只有在该启动项安全的情况下,才继续运行该启动项,否则,则拒绝运行并发出告警。
在2011年7月27日公开的公开号为102136044A的中国专利文献中公开了一种安全启动方法,其方案大致为:具有操作控制权的启动组件调用可信平台模块TPM中的解封装函数,所述解封装函数被调用以用于在所述具有操作控制权的启动组件运行时,获取当前所述具有操作控制权的启动组件所对应的平台配置寄存器PCR中的数值,在当前所述具有操作控制权的启动组件所对应的PCR中的数值与封装包中的PCR值匹配且封装包中具有用于解密下一个即将启动的加密组件的解密密钥时,向所述具有操作控制权的启动组件返回所述解密密钥;利用调用返回的解密密钥解密所述下一个即将启动的加密组件,并度量解密得到的启动组件,得到度量值,控制TPM将所述度量值与所述解密得到的启动组件所对应的PCR中的数值进行哈希运算,将哈希运算结果作为当前所述解密得到的启动组件所对应的PCR中的数值,将操作控制权移交给所述解密得到的启动组件,返回执行步骤A,直到设备的启动组件全部启动完成。
该方案的基本思想是利用安全芯片以及密封、解密封思想,对启动组件进行解密与镜像度量,并将度量结果扩展到安全芯片的PCR寄存器,这实质上是通过数字签名的方式来保证启动的安全。由于安全芯片的密封和解密封操作使用标准的非对称加密算法,该算法规定解密数据长度不应大于秘钥长度,所以每次能够解密的数据小于150个字节,因此该方法可以保证启动镜像的正确性,但是有严重的效率问题。同时,如果每个启动镜像的度量值扩展到不同索引的PCR寄存器,就限制了系统启动链中的启动镜像数目不能大于平台中PCR寄存器的个数;如果将启动镜像的度量值扩展到平台的同一个PCR寄存器,虽然系统启动链中的启动镜像的数目不受约束,但是,该方案在系统升级时却面临严重的限制:因为启动链中的某一个镜像的升级将影响到启动链后面的所有镜像,必须对此后的每个启动镜像进行重新度量和扩展的操作验证,这种方案会使系统的升级流程异常繁琐。
发明内容
本发明要解决的主要技术问题是,提供一种安全启动方法,用以解决现有技术中采用数字签名方式来启动时导致的启动效率低、系统升级流程复杂的技术问题。
为解决上述技术问题,本发明提供一种安全启动方法,其特征在于,包括:
启动链中上级启动项读取其下级启动项的启动镜像;
计算所述启动镜像的安全效验值;
通过非授权读的方式读取存储在安全芯片中所述启动镜像对应的标准效验值;
比对所述安全效验值和所述标准效验值,若所述安全效验值与所述标准效验值匹配,则启动所述下级启动项;否则,停止启动。
在本发明的一种实施例中,读取所述下级启动项的启动镜像包括:读取所述下级启动项的安装位置及大小。
在本发明的一种实施例中,所述安全芯片包括:可信密码模块或可信平台模块。
在本发明的一种实施例中,当所述安全芯片为可信密码模块时,计算所述启动镜像的安全效验值包括:根据国产密码哈希算法计算所述启动镜像的哈希值。
在本发明的一种实施例中,在所述上级启动项读取其下级启动项的启动镜像之前还包括:将所述下级启动项安装到磁盘的连续扇区。
在本发明的一种实施例中,还包括:在所述下级启动项初次部署或更新时,所述启动镜像的标准效验值被通过以授权写的方式存储在所述安全芯片中。
本发明还提供一种安全启动装置,包括安全芯片、启动链中的上级启动项和其下级启动项;
所述上级启动项包括:
镜像读取模块,用于读取所述下级启动项的启动镜像;
计算模块,用于计算所述启动镜像的安全效验值;
标准值读取模块,用于通过非授权读的方式读取存储在安全芯片中所述启动镜像对应的标准效验值;
控制模块,用于比对所述安全效验值和所述标准效验值,若所述安全效验值与所述标准效验值匹配,则启动所述下级启动项;否则,停止启动。
在本发明的一种实施例中,所述镜像读取模块读取的下级启动项的启动镜像包括:读取所述下级启动项的安装位置及大小。
在本发明的一种实施例中,所述安全芯片包括:可信密码模块或可信平台模块。
在本发明的一种实施例中,当所述安全芯片为可信密码模块时,计算模块用于根据国产密码哈希算法计算所述启动镜像的哈希值。
在本发明的一种实施例中,还包括安装单元,用于在所述上级启动项读取其下级启动项的启动镜像之前,将所述下级启动项安装到磁盘的连续扇区。
在本发明的一种实施例中,还包括标准值存储单元,用于在所述下级启动项初次部署或更新时,将所述启动镜像的标准效验值以授权写的方式存储在所述安全芯片中。
本发明的有益效果是:
本发明提供的安全启动方法,建立让启动链中的上级启动项效验其下级启动项的安全的机制,将下级启动项的启动镜像的标准效验值存储在安全芯片中,当上级启动项效验下级启动项时,通过非授权读的方式从安全芯片中获取下级启动项对应的标准效验值,并将标准效验值与计算得到的下级启动项的启动镜像的安全效验值进行比对,通过安全效验值与标准效验值是否匹配来确定下级启动项的安全性。这种启动方式避免了现有技术中因使用解密封机制受到解密数据长度的限制而导致的启动效率低的技术问题。同时,本申请提出的安全启动方法中,在系统更新时只需将需要更新的启动项的标准效验值更新到安全芯片即可,并不会影响到其他不需要更新的启动项,简化了系统升级流程。
附图说明
图1为本发明实施例一提供的一种安全启动方法的流程图;
图2为本发明实施例一提供的GRUB更新流程图;
图3为本发明实施例一提供的内核更新流程图;
图4为本发明实施例一提供的根文件系统更新流程图;
图5为本发明实施例二提供的一种安全启动装置的装置示意图;
图6为本发明实施例二提供的另一种安全启动装置的装置示意图;
图7为本发明实施例二提供的另一种安全启动装置的装置示意图;
图8为图7中标准值存储单元示意图。
具体实施方式
为了是本发明的优点和细节更加清楚,下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一:
本实施例重点阐述本发明提供的安全启动方法,请参考图1:
S101、启动链中上级启动项读取其下级启动项的启动镜像。
这里的启动链是虚拟的,它用来表征一种信任关系,启动链中的上级启动项可以信任其下级启动项,下级启动项也只有在上级启动项对其的效验通过后才能启动并获得操作权,例如在计算机系统中,BIOS(Basic Input Output System,基本输入输出系统)与GRUB(GRand Unified Bootloader,系统引导程序)就属于上下级关系,GRUB的启动需要经过BIOS的效验,当BIOS对GRUB的效验通过后,GRUB获得操作权,继续对它的下级启动项进行效验工作,如此上级启动下级直至启动链中的所有启动项启动完成。
但是,值得注意的是,在本实施例提出的安全启动方法中,上级启动项与下级启动项并不一定是启动链中相邻的两个启动项,例如,本实施给出的一条启动链为“BIOS-GRUB-内核-根文件系统”,从理论上来说,应当是由GRUB效验内核,再由内核效验根文件系统,当然,这种方式也是可行的,但在实际应用中,优选的做法却是由GRUB先效验内核,再效验根文件系统。
下级启动项的启动镜像包含一些关于下级启动项的信息,例如下级启动项的安装时间或是最新更新时间等,但较为优选的是下级启动项的安装位置和大小,这些信息是上级启动项计算下级启动项的安全效验值时必不可少的依据,同时当系统初次部署或是启动项更新时,存储到安全芯片中的标准效验值也必须根据启动镜像计算获得。
S102、计算所述启动镜像的安全效验值。
下级启动项的启动镜像的安全效验值是将读取到的启动镜像作为输入,根据某种算法得到的。常用的算法可以是对称加密算法、非对称加密算法、哈希算法,在本实施例中,优选采用哈希算法来计算安全效验值。
S103、通过非授权读的方式读取存储在安全芯片中所述启动镜像对应的标准效验值。
毫无疑义的是,获取标准效验值与读取镜像信息并计算安全效验值这两个过程之间并不存在时序关系,可以先读取镜像信息并计算安全效验值再获取标准效验值,也可以反过来,或者这两个过程同时进行也是可以的。
在本实施例中,安全芯片是包括可信密码模块(TCM:Trusted CryptographyModule)和可信平台模块(TPM:Trusted Platform Module),可以理解的是,选用TCM作为安全芯片时,对应的存储在其上的启动镜像的标准效验值应当是依据国家密码局认定的国产密码算法,即商用密码中的哈希算法来计算哈希值,同样地,此时下级启动项的启动镜像的安全效验值也应当依据国产密码算法中的哈希算法计算。
存储在安全芯片中的标准效验值是在系统初次部署或是启动项更新之后,通过授权写的方式写入安全芯片中的,安全芯片中用来存储标准效验值的区域属于非变区域,其属性被定义为“读非授权,写授权”,即读取时不需要授权,但写入的时候需要得到授权。由于启动项的初次部署与更新类似,下面以启动项的更新流程对安装和更新的过程进行解释,请进一步结合图2-图4:
若待更新的启动项为GRUB,请参考图2:
S201、将GRUB烧写到磁盘特定连续扇区。
现有技术中是将MBR和GRUB的其余镜像分开安装到不同位置的方法,但在本实施例中,选择将GRUB的MBR和其余镜像烧写在连续扇区,同时去除GRBU的stage1.5,由于stage1.5是用于识别、读取文件系统的,为了但是在某些时候,并不需要在启动时耗费另外的流程去读取文件系统,故在本示例中,更新GRUB启动项的时候并不安装stage1.5。
S202、从磁盘读取安装后的GRUB镜像。
应当理解的是,获取用于计算标准效验值的GRUB镜像时,应当读取安装后的GRUB镜像,不宜直接用编译得到的GURB镜像,而应该在安装后使用裸读磁盘的方式得到镜像作为计算标准效验值的输入。
S203、计算GRUB的标准效验值。
更新过程中计算标准效验值的方式与上述启动过程中的计算方式一致,这里就不再赘述。
S204、申请安全芯片的写权限,并将GRUB镜像的标准效验值更新到安全芯片中。
计算得到标准效验值后,向管理员发出申请,请求获取安全芯片的写权限,这里一般指的是获取安全芯片NV存储区的写权限,NV存储区是指非变存储区;若管理员同意,将会在响应的时候会给出响应的授权数据,获得授权数据后将计算得到的标准效验值写入该存储区域,以供系统启动GRUB时以非授权读的方式使用。
若待更新的启动项为内核,请参考图3:
S301、安装内核;
S302、读取内核镜像;
S303、计算内核的标准效验值;
S304、申请安全芯片的写权限,并将内核镜像的标准效验值更新到安全芯片中。
若待更新的启动项为根文件系统,请参考图4:
S401、安装根文件系统;
S402、读取根文件系统镜像;
S403、计算根文件系统的标准效验值;
S404、申请安全芯片的写权限,并将根文件系统的标准效验值更新到安全芯片中。
上述S301、S401中计算标准效验值的过程同S203中一致,依据使用安全芯片类型而定,当使用TCM作为安全芯片存储标准效验值时,根据国产密码哈希算法计算所述启动镜像的哈希值。
S104、比对所述安全效验值和所述标准效验值,若所述安全效验值与所述标准效验值匹配,则启动所述下级启动项;否则,停止启动。
在启动过程中,当上级启动项获取到启动镜像的标准效验值与安全效验值之后,将两个值进行比对,若两个值匹配,就启动该下级启动项。优选地,这里所指的匹配就是安全效验值与标准效验值相同,二者相同说明启动项的安装位置与大小与更新/初次部署之后没有差别,也就说明该启动项并未被篡改过,是值得信任的,也是可以启动的;若安全效验值与标准效验值不匹配,则发出告警,并停止启动。
可以理解的是,下级启动项在启动并获取到操作权之后,要对其下级启动项进行效验,这时候,上一个启动效验流程中的下级启动项在这一个启动效验流程中就是上级启动项了,也就是说,本实施例中所示的上级启动项和下级启动项只是相对的概念,并不是绝对的。
实施例二:
本实施例提供一种安全启动装置,如图5所示:
安全启动装置50包括安全芯片501、上级启动项502和下级启动项503,下级启动项503在启动链中位于上级启动项502之后,需要通过上级启动项502的效验才能启动。
上级启动项502包括镜像读取模块5021、计算模块5022、标准值读取模块5023以及控制模块5024。镜像读取模块5021用于读取下级启动项的启动镜像,计算模块5022用于计算启动镜像的安全效验值,标准值读取模块5023用于通过非授权读的方式读取存储在安全芯片中启动镜像对应的标准效验值,控制模块5024用于比对安全效验值和标准效验值,若安全效验值与标准效验值匹配,则启动下级启动项;否则,停止启动。
这里的启动链是虚拟的,它用来表征一种信任关系,启动链中的上级启动项可以信任其下级启动项,下级启动项也只有在上级启动项对其的效验通过后才能启动并获得操作权,例如在计算机系统中,BIOS(Basic Input Output System,基本输入输出系统)与GRUB(GRand Unified Bootloader,系统引导程序)就属于上下级关系,GRUB的启动需要经过BIOS的效验,当BIOS对GRUB的效验通过后,GRUB获得操作权,继续对它的下级启动项进行效验工作,如此上级启动下级直至启动链中的所有启动项启动完成。
但是,值得注意的是,上级启动项与下级启动项并不一定是启动链中相邻的两个启动项,例如,本实施给出的一条启动链为“BIOS-GRUB-内核-根文件系统”,从理论上来说,应当是由GRUB效验内核,再由内核效验根文件系统,当然,这种方式也是可行的,但在实际应用中,优选的做法却是由GRUB先效验内核,再效验根文件系统。
镜像读取模块5021读取的下级启动项的启动镜像包含关于下级启动项的信息,例如下级启动项的安装时间或是最新更新时间等,但较为优选的是下级启动项的安装位置和大小,这些信息是计算模块5022计算启动镜像的安全效验值时必不可少的依据,同时当系统初次部署或是启动项更新时,存储到安全芯片中的标准效验值也必须根据启动镜像计算获得。
计算模块5022在计算启动镜像的安全效验值时,是将该下级启动项的启动镜像作为输入,根据某种算法得到的。常用的算法可以是对称加密算法、非对称加密算法、哈希算法,在本实施例中,优选采用哈希算法来计算安全效验值。
毫无疑义的是,标准值读取模块5023获取标准效验值,与镜像读取模块5021读取镜像信息,并由计算模块5022计算安全效验值这两个过程之间并不存在时序关系,可以先分别由镜像读取模块5021和计算模块5022读取镜像信息并计算安全效验值再由标准值读取模块5023获取标准效验值,也可以反过来,或者这两个过程同时进行也是可以的。
在本实施例中,安全芯片是包括可信密码模块(TCM:Trusted CryptographyModule)和可信平台模块(TPM:Trusted Platform Module),可以理解的是,选用TCM作为安全芯片时,对应的存储在其上的启动镜像对应的标准效验值应当是依据国家密码局认定的国产密码算法,即商用密码中的哈希算法来计算哈希值,同样地,此时启动镜像的安全效验值也应当依据国产密码算法中的哈希算法计算。
存储在安全芯片中的标准效验值是在系统初次部署或是启动项更新之后,通过授权写的方式写入安全芯片中的,安全芯片中用来存储标准效验值的区域属于非变区域,其属性被定义为“读非授权,写授权”,即读取时不需要授权,但写入的时候需要得到授权。
当上级启动项获取到下级启动项的启动镜像的标准效验值与安全效验值之后,由控制模块5024对两个值进行比对,若两个值匹配,控制模块5024就启动该下级启动项。优选地,这里所指的匹配就是安全效验值与标准效验值相同,二者相同说明启动项的安装位置与大小与更新/初次部署之后没有差别,也就说明该启动项并未被篡改过,是值得信任的,也是可以启动的;若安全效验值与标准效验值不匹配,控制模块5024发出告警,并停止启动。
在本实施例提供的另一种安全启动装置中,如图6所示,安全启动装置50除了包括安全芯片501、上级启动项502和下级启动项503以外,还包括安装单元504。安装单元504用于在上级启动项502读取其下级启动项503的启动镜像之前,将下级启动项503安装到磁盘的连续扇区,这里的安装包括初次部署以及后续更新过程。
安装单元504用于将待安装的启动项安装到指定位置,值得注意的是,安装单元504在安装GRUB时,与现有安装方式存在很大的不同:现有技术中是将MBR和GRUB的其余镜像分开安装到不同位置的方法,但在本实施例中,选择将GRUB的MBR和其余镜像烧写在连续扇区,同时去除GRBU的stage1.5,由于stage1.5是用于识别、读取文件系统的,但是在某些时候,并不需要在启动时耗费另外的流程去读取文件系统,故在本示例中,安装单元504更新GRUB启动项的时候并不安装stage1.5。
本实施例还提供一种优选示例,如图7所示,安全启动装置50包括安全芯片501、上级启动项502、下级启动项503、安装单元504以及标准值存储单元505,标准值存储单元505用于在下级启动项503初次部署或更新时,将下级启动项503的启动镜像的标准效验值以授权写的方式存储在所述安全芯片中。
请参考图8,标准值存储单元505包括读取模块5051、标准值计算模块5052和写值模块5053。
读取模块5051用于读取安装后的启动项的启动镜像,启动镜像包括启动项的安装或最新更新时间、安装位置、大小等信息中的全部或部分,优选地,读取启动项的安装位置与大小信息,用于标准值计算模块5052计算出标准效验值,读取模块5051获取GRUB镜像时,应当读取安装后的GRUB镜像,不宜直接用编译得到的GURB镜像,而应该在安装后使用裸读磁盘的方式得到镜像作为计算标准效验值的输入。
标准值计算模块5052在计算出标准效验值之后,写值模块5053向管理员发出申请,请求获取安全芯片的写权限,这里一般指的是获取安全芯片NV存储区的写权限,NV存储区是指非变存储区;若管理员同意,将会在响应的时候会给出响应的授权数据,写值模块5053获得授权数据后将计算得到的标准效验值写入该存储区域,以供系统启动GRUB时以非授权读的方式使用。
可以理解的是,下级启动项在启动并获取到操作权之后,要对其下级启动项进行效验,这时候,上一个启动效验流程中的下级启动项在这一个启动效验流程中就是上级启动项了,也就是说,本实施例中所示的上级启动项和下级启动项只是相对的概念,并不是绝对的。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种安全启动方法,其特征在于,包括:
启动链中上级启动项读取其下级启动项的启动镜像;
计算所述启动镜像的安全效验值;
通过非授权读的方式读取存储在安全芯片中所述启动镜像对应的标准效验值;
比对所述安全效验值和所述标准效验值,若所述安全效验值与所述标准效验值匹配,则启动所述下级启动项;否则,停止启动;
所述下级启动项包括系统引导程序,在所述上级启动项读取其下级启动项的启动镜像之前还包括:将所述下级启动项安装到磁盘的连续扇区,其中,不安装所述系统引导程序的stage1.5。
2.如权利要求1所述的安全启动方法,其特征在于,读取所述下级启动项的启动镜像包括:读取所述下级启动项的安装位置及大小。
3.如权利要求1所述的安全启动方法,其特征在于,所述安全芯片包括:可信密码模块或可信平台模块。
4.如权利要求3所述的安全启动方法,其特征在于,当所述安全芯片为可信密码模块时,计算所述启动镜像的安全效验值包括:根据国产密码哈希算法计算所述启动镜像的哈希值。
5.如权利要求1-4任一项所述的安全启动方法,其特征在于,还包括:在所述下级启动项初次部署或更新时,所述启动镜像的标准效验值被通过以授权写的方式存储在所述安全芯片中。
6.一种安全启动装置,其特征在于,包括安全芯片、启动链中的上级启动项和其下级启动项;
所述上级启动项包括:
镜像读取模块,用于读取所述下级启动项的启动镜像;
计算模块,用于计算所述启动镜像的安全效验值;
标准值读取模块,用于通过非授权读的方式读取存储在安全芯片中所述启动镜像对应的标准效验值;
控制模块,用于比对所述安全效验值和所述标准效验值,若所述安全效验值与所述标准效验值匹配,则启动所述下级启动项;否则,停止启动;
安装单元,用于在所述上级启动项读取其下级启动项的启动镜像之前,将所述下级启动项安装到磁盘的连续扇区,其中,所述下级启动项包括系统引导程序,所述安装单元不安装所述系统引导程序的stage1.5。
7.如权利要求6所述的安全启动装置,其特征在于,所述镜像读取模块读取的下级启动项的启动镜像包括:读取所述下级启动项的安装位置及大小。
8.如权利要求6所述的安全启动装置,其特征在于,所述安全芯片包括:可信密码模块或可信平台模块。
9.如权利要求8所述的安全启动装置,其特征在于,当所述安全芯片为可信密码模块时,计算模块用于根据国产密码哈希算法计算所述启动镜像的哈希值。
10.如权利要求6-9任一项所述的安全启动装置,其特征在于,还包括标准值存储单元,用于在所述下级启动项初次部署或更新时,将所述启动镜像的标准效验值以授权写的方式存储在所述安全芯片中。
CN201610081934.1A 2016-02-05 2016-02-05 安全启动方法及装置 Active CN107045611B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610081934.1A CN107045611B (zh) 2016-02-05 2016-02-05 安全启动方法及装置
PCT/CN2017/072296 WO2017133559A1 (zh) 2016-02-05 2017-01-23 安全启动方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610081934.1A CN107045611B (zh) 2016-02-05 2016-02-05 安全启动方法及装置

Publications (2)

Publication Number Publication Date
CN107045611A CN107045611A (zh) 2017-08-15
CN107045611B true CN107045611B (zh) 2022-01-25

Family

ID=59500318

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610081934.1A Active CN107045611B (zh) 2016-02-05 2016-02-05 安全启动方法及装置

Country Status (2)

Country Link
CN (1) CN107045611B (zh)
WO (1) WO2017133559A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491229A (zh) * 2018-02-01 2018-09-04 烽火通信科技股份有限公司 一种Femtocell设备安全启动的方法
CN109815706A (zh) * 2018-12-29 2019-05-28 百度在线网络技术(北京)有限公司 数据处理方法、装置、设备和存储介质
CN111506897B (zh) * 2019-01-30 2023-05-02 阿里巴巴集团控股有限公司 数据处理方法和装置
CN111651769B (zh) * 2019-03-04 2023-05-09 阿里巴巴集团控股有限公司 获取安全启动的度量方法和装置
CN112069502B (zh) * 2020-07-22 2024-02-09 延锋伟世通电子科技(上海)有限公司 一种用于车载mcu的安全启动方法及装置
CN113176965A (zh) * 2021-04-25 2021-07-27 山东英信计算机技术有限公司 一种基于vr配置crc校验的防烧板方法、系统及介质
CN113605053A (zh) * 2021-07-30 2021-11-05 海信(山东)冰箱有限公司 一种洗衣机的处理方法、主控板及其洗衣机
CN113849239A (zh) * 2021-09-29 2021-12-28 超越科技股份有限公司 一种可用于服务器远程修改bios启动项的方法及介质
CN114416432B (zh) * 2022-03-29 2022-07-08 山东云海国创云计算装备产业创新中心有限公司 一种芯片安全启动检测方法、装置、设备及介质
CN117992960A (zh) * 2022-10-27 2024-05-07 华为技术有限公司 一种安全启动方法、装置及设备
CN116032970B (zh) * 2023-01-09 2024-05-28 一汽解放汽车有限公司 一种网关安全启动方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101576944A (zh) * 2008-11-20 2009-11-11 武汉大学 基于可信平台模块的计算机安全启动系统
CN101877040A (zh) * 2009-12-07 2010-11-03 中国航天科工集团第二研究院七○六所 一种高信度计算平台
CN102136044A (zh) * 2010-07-14 2011-07-27 华为技术有限公司 安全启动方法、装置及计算机系统
CN102622249A (zh) * 2012-03-05 2012-08-01 山东华芯半导体有限公司 一种防止cpu自锁的安全启动方法
CN102902556A (zh) * 2012-09-06 2013-01-30 深圳市共进电子股份有限公司 一种嵌入式设备的多级引导加载方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4769608B2 (ja) * 2006-03-22 2011-09-07 富士通株式会社 起動検証機能を有する情報処理装置
US8560845B2 (en) * 2011-01-14 2013-10-15 Apple Inc. System and method for tamper-resistant booting
CN102332070A (zh) * 2011-09-30 2012-01-25 中国人民解放军海军计算技术研究所 一种可信计算平台的信任链传递方法
CN102819705B (zh) * 2012-07-26 2014-11-19 郑州信大捷安信息技术股份有限公司 在主引导区实现系统文件完整性验证的系统及方法
CN103729597B (zh) * 2014-01-16 2017-11-17 宇龙计算机通信科技(深圳)有限公司 系统启动校验方法、系统启动校验装置和终端
CN103927490A (zh) * 2014-04-25 2014-07-16 华为技术有限公司 操作系统安全启动方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101576944A (zh) * 2008-11-20 2009-11-11 武汉大学 基于可信平台模块的计算机安全启动系统
CN101877040A (zh) * 2009-12-07 2010-11-03 中国航天科工集团第二研究院七○六所 一种高信度计算平台
CN102136044A (zh) * 2010-07-14 2011-07-27 华为技术有限公司 安全启动方法、装置及计算机系统
CN102622249A (zh) * 2012-03-05 2012-08-01 山东华芯半导体有限公司 一种防止cpu自锁的安全启动方法
CN102902556A (zh) * 2012-09-06 2013-01-30 深圳市共进电子股份有限公司 一种嵌入式设备的多级引导加载方法

Also Published As

Publication number Publication date
CN107045611A (zh) 2017-08-15
WO2017133559A1 (zh) 2017-08-10

Similar Documents

Publication Publication Date Title
CN107045611B (zh) 安全启动方法及装置
US10685122B2 (en) Portable executable and non-portable executable boot file security
KR101662618B1 (ko) 단일 신뢰 플랫폼 모듈을 가진 플랫폼 컴포넌트의 측정
CN109446815B (zh) 基本输入输出系统固件的管理方法、装置和服务器
EP3805968B1 (en) Technologies for secure hardware and software attestation for trusted i/o
EP3458999B1 (en) Self-contained cryptographic boot policy validation
US8560823B1 (en) Trusted modular firmware update using digital certificate
US9819661B2 (en) Method of authorizing an operation to be performed on a targeted computing device
CN109710315B (zh) Bios刷写方法及bios镜像文件的处理方法
EP3044674B1 (en) Mobile communication device and method of operating thereof
JP5014726B2 (ja) 無許可のブートローダの実行を防止することによって安全性を高めた実行環境
JP5565040B2 (ja) 記憶装置、データ処理装置、登録方法、及びコンピュータプログラム
US20110246778A1 (en) Providing security mechanisms for virtual machine images
CN102063591B (zh) 基于可信平台的平台配置寄存器参考值的更新方法
CN101630353A (zh) 在移动因特网设备上安全引导uefi固件和uefi感知操作系统的系统和方法
US10592661B2 (en) Package processing
CN108345805B (zh) 验证固件的方法及装置
CN111190611A (zh) 软件安装方法
US11397815B2 (en) Secure data protection
CN113190880B (zh) 基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作
US11443075B2 (en) Secure storage system
Futral et al. Fundamental principles of intel® txt
KR20190118894A (ko) 안전한 usb 장치를 보장하는 부트 방법
US20230106491A1 (en) Security dominion of computing device
US20240037216A1 (en) Systems And Methods For Creating Trustworthy Orchestration Instructions Within A Containerized Computing Environment For Validation Within An Alternate Computing Environment

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