CN106650455B - 一种系统安全启动方法及装置 - Google Patents

一种系统安全启动方法及装置 Download PDF

Info

Publication number
CN106650455B
CN106650455B CN201510725213.5A CN201510725213A CN106650455B CN 106650455 B CN106650455 B CN 106650455B CN 201510725213 A CN201510725213 A CN 201510725213A CN 106650455 B CN106650455 B CN 106650455B
Authority
CN
China
Prior art keywords
boot
area
authentication
information
level
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
CN201510725213.5A
Other languages
English (en)
Other versions
CN106650455A (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 CN201510725213.5A priority Critical patent/CN106650455B/zh
Priority to PCT/CN2016/073720 priority patent/WO2016184180A1/zh
Publication of CN106650455A publication Critical patent/CN106650455A/zh
Application granted granted Critical
Publication of CN106650455B publication Critical patent/CN106650455B/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
    • 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

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)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种系统安全启动方法及装置。本发明将存储区域分为至少两级BOOT:其中,第一级BOOT存储BOOT引导区信息,其他级BOOT中每级BOOT均存储至少两个BOOT区的信息。该方法包括:BOOT引导区根据从存储区域中获取某一级BOOT控制信息选取一待认证BOOT区,并对所选BOOT区进行认证,若BOOT认证且加载成功后,处理下一级BOOT信息;若认证失败,则在该级BOOT的其他BOOT区中选取一待认证BOOT区进行认证后加载。本发明在不依赖外部逻辑器件条件下,即可同时实现了安全BOOT和双BOOT功能,保证了BOOT的可靠性。

Description

一种系统安全启动方法及装置
技术领域
本发明涉及电子通信领域,尤其涉及一种系统安全启动方法及装置。
背景技术
随着各种通信业务的不断增长,嵌入式系统,特别是基站设备,对于系统启动的安全性、可靠性要求越来越高。目前通常采用BOOT来引导中央处理器启动,但是该种启动方法存在一定的缺陷:由于BOOT程序需要不断升级,如果升级时遇到断电等突发事件,将会导致BOOT程序丢失;如果BOOT被篡改成一个非法BOOT,则会导致系统运行不安全的程序,增加了系统设备的安全隐患。
现有技术中为克服上述的启动缺陷,通常采用安全BOOT模块来安全引导BOOT启动,防止系统运行非法BOOT;采用双BOOT技术来有效降低因BOOT损坏而导致系统无法启动的风险。然而目前的安全BOOT模块一般不具备认证双BOOT的功能,即安全BOOT总是从存储器固定位置去认证加载BOOT,不能按照用户要求从其他地址去认证加载备用BOOT;而对于双BOOT技术时,目前大多数方案均要借用外部逻辑器件(如EPLD、FPGA等)或者多个存储介质(如寄存器)实现BOOT之间的切换,这显然增加了设备成本、功耗和PCB板的面积。
因此,现有技术中存在不能实现双BOOT的安全认证以及双BOOT之间切换实现过分依赖外部器件的问题,不符合嵌入式产品需具备的低功耗、低成本、体积小等特点。
发明内容
本发明提供一种系统安全启动方法及装置,用以解决现有技术不能实现双BOOT的安全认证以及双BOOT过分依赖外部器件实现的问题。
依据本发明的一个方面,提供了一种系统安全启动方法,将存储区域分为至少两级BOOT:其中,第一级BOOT存储BOOT引导区信息,其他级BOOT中每级BOOT均存储至少两个BOOT区的信息,所述方法包括:
获取步骤:所述BOOT引导区从第i级BOOT的存储信息中获取该级的控制信息,并根据所述控制信息从该级BOOT中选取一待认证BOOT区;
认证步骤:所述BOOT引导区对所选BOOT区进行认证,若认证成功,则引导中央控制器对所选的BOOT区加载运行;若认证失败,则在该级BOOT的其他BOOT区中选取一待认证BOOT区,重复该步骤,直到认证成功,加载选取的BOOT区,并在加载成功后,令i=i+1,i最小取2,返回所述获取步骤。
优选地,在所述获取步骤前,还包括:
引导区加载步骤:所述中央控制器对所述BOOT引导区进行认证后加载。
优选地,所述BOOT引导区选取一待认证BOOT区后,修改所述控制信息使其选定除所选BOOT区以及认证失败的BOOT区外的其他BOOT区;
当所选BOOT认证/加载失败,根据修改后的控制信息选取BOOT区;
当所选BOOT加载成功,恢复所述控制信息选定当前BOOT区。
优选地,所述BOOT引导区对所选BOOT区进行认证时,
从所述该级BOOT的存储信息获取安全信息;
根据所述安全信息对所选BOOT进行认证。
优选地,根据所述安全信息对所选BOOT进行认证,包括:
对所选的BOOT区的版本进行哈希运算,获取哈希值;
从所述BOOT引导区的存储信息中获取BOOT区的认证公钥;
根据所述认证公钥对所选BOOT区的版本签名进行解密,获取解密值;
判断所述哈希值与所述解密值是否一致,当所述哈希值和解密值一致时,认证通过;否则,认证失败。
依据本发明的另一个方面,提供了一种系统安全启动装置,包括:
存储模块:包括至少两级BOOT,第一级BOOT存储BOOT引导区信息,其他级BOOT中每级BOOT均存储至少两个BOOT区的信息;
获取模块:用于所述BOOT引导区从第i级BOOT存储信息中获取该级的控制信息,并根据所述控制信息从该级BOOT中选取一待认证BOOT区;
认证模块:用于所述BOOT引导区对所选BOOT区进行认证,若认证成功,则引导中央控制器对所选的BOOT区加载运行;若认证失败,则在该级BOOT的其他BOOT区中选取一待认证BOOT区,重复该步骤,直到认证成功,加载选取的BOOT区,并在加载成功后,令i=i+1,i最小取2,并由所述获取模块继续处理。
优选地,所述装置还包括引导区加载模块:
用于所述中央控制器对所述BOOT引导区进行认证后加载。
优选地,所述装置还包括控制模块:
用于所述BOOT引导区选取一待认证BOOT区后,修改所述控制信息使其选定除所选BOOT区以及认证失败的BOOT区外的其他BOOT区;
当所选BOOT认证/加载失败,根据修改后的控制信息选取BOOT区;
当所选BOOT加载成功,恢复所述控制信息选定当前BOOT区。
优选地,所述认证模块包括:
获取单元,用于从所述存储模块中获取该级BOOT的安全信息;
认证单元,用于所述BOOT引导区根据所述安全信息对所选BOOT进行认证。
优选地,所述认证单元具体用于,
对所选的BOOT区的版本进行哈希运算,获取哈希值;
从所述存储模块的BOOT引导区存储信息中获取BOOT区的认证公钥;
根据所述认证公钥对所选BOOT区的版本签名进行解密,获取解密值;
判断所述哈希值与所述解密值是否一致,当所述哈希值和解密值一致时,认证通过;否则失败。
本发明有益效果如下:
本发明将单芯片上的存储区域划分多级,第一级存储BOOT引导区的信息;其他级存储至少两个BOOT区的信息。在加载时,BOOT引导区从每级BOOT的存储信息中获取控制信息;根据该控制信息可以选取待认证的BOOT区,并对所选的BOOT区进行认证后加载,若认证失败,则在该级BOOT的其他BOOT区中选取一待认证BOOT区。与现有技术相比,本发明在不依赖外部逻辑器件条件下,通过软件控制方法即可同时实现了多BOOT的安全认证功能,保证了BOOT的可靠性,有效降低因升级BOOT导致系统无法启动的风险。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的系统安全启动方法的流程示意图;
图2为本发明实施例的多级BOOT的存储区域物理分区结构示意图;
图3为本发明实施例的双BOOT的存储区域物理分区结构示意图;
图4为本发明实施例的多级BOOT的系统安全启动方法的流程图;
图5为本发明实施例的双BOOT的系统安全启动方法的流程图;
图6为本发明实施例的双BOOT区的切换流程图;
图7为本发明实施例的双BOOT区的控制流程图;
图8为本发明实施例的BOOT区的认证流程图;
图9为本发明实施例的系统安全启动装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决目前双BOOT的安全认证以及双BOOT之间切换过分依赖外部器件实现的问题,本发明提供了一种系统安全启动方法,将存储区域分为至少两级BOOT:其中,第一级BOOT存储BOOT引导区信息,其他级BOOT中每级BOOT均存储至少两个BOOT区的信息,参见图1,具体包括步骤:
获取步骤S101:BOOT引导区从第i级BOOT的存储信息中获取该级的控制信息,并根据控制信息从该级BOOT中选取一待认证BOOT区;
认证步骤S102:BOOT引导区对所选BOOT区进行认证,若认证成功,则引导中央处理器对所选的BOOT区加载运行;若认证失败,则在该级BOOT的其他BOOT区中选取一待认证BOOT区,重复该步骤,直到认证成功,加载选取的BOOT区,并在加载成功后,令i=i+1,i最小取2,返回获取步骤。
本发明将单芯片上的存储区域划分多级,第一级存储BOOT引导区的信息;其他级存储至少两个BOOT区的信息。在加载时,BOOT引导区从每级BOOT的存储信息中获取控制信息;根据该控制信息可以选取待认证的BOOT区,并对所选的BOOT区进行认证后加载,若认证失败,则在该级BOOT的其他BOOT区中选取一待认证BOOT区。通过本发明在不依赖外部逻辑器件条件下,通过软件控制方法即可同时实现了双BOOT的安全认证功能,保证了BOOT的可靠性。
以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
本发明将存储区域分为至少两级BOOT:其中,第一级BOOT存储BOOT引导区信息,其他级BOOT中每级BOOT均存储至少两个BOOT区的信息。通过在存储区域中配置各个BOOT的信息,在实际加载时,通过读写操作即可实现BOOT的选定、切换以及认证。
具体地,本发明中根据应用功能不同,将BOOT划分成BASEBOOT+各级BOOT架构。本发明中BOOT引导区(即BASEBOOT)主要完成各级主从BOOT区的选择、BOOT区的认证等最小功能。BASEBOOT功能集要尽量小,一旦研发调试完成,基本就不改动,确保外场不升级。其他各级BOOT用于完成相关驱动初始化、应用程序引导以及和应用相关的参数传递等功能,可能会由于需求变化或者版本的BUG而存在升级的可能性。
本发明的一个实施例中,在分配存储区域时,多级BOOT的FLASH的物理分区,参见图2。本实施例中在单一存储器芯片上依次划分第一级BOOT引导区、第二级至第N级的主BOOT区、第二级至第N级的从BOOT区、BOOT控制区以及安全信息区。其中:
第一级BOOT引导区的功能集尽量简单稳定,将功能变化点放入其他BOOT中,减少第一级BOOT升级的可能性。对其他级BOOT采用主从BOOT区结构,本发明中主BOOT区为一个,从BOOT区至少为一个。BOOT控制区用于存放各级BOOT的BOOT控制信息。BOOT引导区根据控制信息选择其他级BOOT的主从BOOT区。安全信息区存放各级BOOT的安全信息,用于各个BOOT区的安全认证。
本发明的一个实施例中,在分配存储区域时,双BOOT的FLASH的物理分区,参见图3。本实施例中单一存储器芯片分为第一级BOOT引导区、第二级主从BOOT区。其中每级中包含了相应的控制信息和安全信息。第一级BOOT、主BOOT区以及从BOOT区的字段长度大小相同。
具体地,第一级BOOT引导区的存储信息包括BASEBOOT版本、公钥、保留字段以及安全信息。其中,公钥用于BOOT引导区对后续BOOT级的安全认证。安全信息根据CPU的安全BOOT功能要求进行设置,BASEBOOT的安全认证由CPU的安全BOOT模块认证。
主BOOT区的存储信息包括:主BOOT版本、安全信息以及保存字段;从BOOT区的存储信息:从BOOT版本、保留字段、安全信息以及BOOT控制字。其中,除第一级外的其他级的BOOT采用RSA非对称加解密方法,私钥由运营商或设备商进行保存,不可外泄。公钥作为BOOT引导区一部分(和BASEBOOT一起打包)。当BASEBOOT认证通过,则认为此公钥合法,用于后续各级BOOT的解密。版本签名,是通过私钥分别对主从BOOT区版本进行HASH加密计算后,得到的一个签名。BOOT控制字用于选择主BOOT还是从BOOT。
本发明中将BOOT分为多级在同一芯片中进行存储,因此针对多级BOOT认证加载的工作流程图,具体参见图4,中央控制器启动后,认证并加载第一级BASEBOOT;接着第一级BOOT依序在各级BOOT选取BOOT区,对所选的BOOT区进行认证并加载,直至第N级BOOT成功运行。若所选BOOT区认证失败后,选取本级BOOT的其他BOOT区进行认证并加载。
下面以两级BOOT、双BOOT区为例对具体的选取及认证过程进行详细说明说明。上述介绍了芯片中存储区域中除第一级BOOT外的其他级都包含BOOT控制信息,用于存放BOOT控制字。BOOT引导区根据BOOT控制字来选择后一级BOOT的主从BOOT区。在后续认证加载过程中,BOOT引导区根据实际运行情况对BOOT控制字进行修改,用以实现BOOT区之间的切换功能。本实施例所提供的系统启动方法,参见图5,具体包括如下步骤:
步骤501,中央控制器启动后,对BASEBOOT进行认证,认证通过,则加载运行第一级BOOT,否则复位或者通过提示灯等方式告知用户。本实施例中,在系统启动后,中央控制器需对BOOT引导区进行认证后加载,保证了BOOT引导区的安全性。
步骤502,第一级BOOT根据第二级BOOT的双BOOT控制字选择第二级BOOT的主从BOOT区,并设置双BOOT区控制字。
这里设置双BOOT区控制字选定两个BOOT区中的未被选取BOOT区的。这样保证当前BOOT区认证或加载失败后,第一级BOOT能够从两个BOOT区中的另一个BOOT区选择第二级BOOT进行认证加载。
步骤503,第一级BOOT根据安全信息对被选第二级BOOT进行安全认证:若认证通过,则加载第二级BOOT,则设置双BOOT控制字选定当前所选的BOOT区;认证失败,则CPU复位,重复上述步骤,如果该级BOOT的两个BOOT区都认证失败或者不可正常运行,则会导致CPU不断复位,无法正常运行,因此本实施例采用指示灯来告警。
基于上述可知,本实施例通过两次设置双BOOT控制字,即可实现了双BOOT之间的切换。对于BOOT控制字的设置方式,具体参见图6和图7,通过控制字0、1实现主从BOOT的切换。控制字为1选取主BOOT区的,控制字为0则选取从BOOT。BOOT引导区选择完BOOT区后,即刻对双BOOT控制字进行取反。如果被选BOOT认证成功且加载成功,则将BOOT控制字再次取反。如果认证失败或加载失败,看门狗溢出复位,启动CPU。需要说明的是,双BOOT切换也可以通过下述的方式实现:在选取BOOT区后,不需要设置控制字。而当认证失败或者运行异常后,则设置双BOOT控制字取反;认证通过后,保持控制字不变即可。
本发明根据当前运行BOOT的运行情况,设置BOOT控制字:当前BOOT如果认证/加载失败,则能使得CPU复位后选择另一个BOOT区,达到BOOT区之间的切换功能。通过采用不断更改BOOT控制字的形式切换BOOT区,可以有效保证BOOT的可靠性,有效降低升级BOOT导致系统无法启动的风险。
BOOT引导区选定BOOT区后,从该级BOOT的存储信息中获取安全信息,并根据安全信息对被选BOOT进行安全认证,参见图8,具体包括如下步骤:
对所选BOOT版本进行HASH运算,得到一个HASH值VAL1;
获取的BASEBOOT存储信息中的公钥,并根据公钥对所选BOOT版本签名解密,得到VAL2;
将VAL1和VAL2进行比较:如果相等,则被选BOOT认证通过,否则将CPU复位,下次启动时从两个BOOT区中选择另一个BOOT进行认证。
对于HASH算法可以自行选择,这里不做限定,但需要保证BOOT版本签名采用的HASH算法和认证使用的HASH算法一致即可。第二级BOOT认证后,就可以正常加载运行。
本发明还提供了一种系统安全启动装置,如图9所示,具体包括:
存储模块:包括至少两级BOOT,第一级BOOT存储BOOT引导区信息,其他级BOOT中每级BOOT均存储至少两个BOOT区的信息;
获取模块:用于BOOT引导区从第i级BOOT存储信息中获取该级的控制信息,并根据控制信息从该级BOOT中选取一待认证BOOT区;
认证模块:用于BOOT引导区对所选BOOT区进行认证,若认证成功,则引导中央控制器对所选的BOOT区加载运行;若认证失败,则在该级BOOT的其他BOOT区中选取一待认证BOOT区,重复该步骤,直到认证成功,加载选取的BOOT区,并在加载成功后,令i=i+1,i最小取2,并由获取模块继续处理。
进一步地,该装置还包括引导区加载模块:
用于中央处理器中央控制器对BOOT引导区进行认证后加载。
进一步地,该装置还包括控制模块:
用于BOOT引导区选取一待认证BOOT区后,修改控制信息使其选定除所选BOOT区以及认证失败的BOOT区外的其他BOOT区;
当所选BOOT认证/加载失败,根据修改后的控制信息选取BOOT区;
当所选BOOT加载成功,恢复控制信息选定当前BOOT区。
进一步地,认证模块包括:
获取单元,用于从存储模块中获取该级BOOT的安全信息;
认证单元,用于BOOT引导区根据安全信息对所选BOOT进行认证。
进一步地,认证单元具体用于,
对所选的BOOT区的版本进行哈希运算,获取哈希值;
从存储模块的BOOT引导区存储信息中获取BOOT区的认证公钥;
根据认证公钥对所选BOOT区的版本签名进行解密,获取解密值;
判断哈希值与解密值是否一致,当哈希值和解密值一致时,认证通过;否则失败。
综上所述,本发明所提供的系统安全启动方法,根据下一级BOOT的控制字选择主从BOOT区,并根据安全信息对被选BOOT区进行安全认证:当认证通过,则加载所选BOOT;认证失败,则设置双BOOT控制字,同时复位;复位后,从本级其他BOOT区中的选择一BOOT进行认证加载:如果运行过程异常,则设置双BOOT控制字,同时复位,使得复位后,本级其他BOOT区选择一BOOT区进行认证加载。依此类推,直到第N级BOOT加载运行。因此,与现有技术相比本发明在能够不依赖外部器件的条件下,通过软件手段同时实现安全BOOT和双BOOT,既可以保证系统安全、可靠启动,又可以降低系统设备成本和功耗。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
虽然通过实施例描述了本申请,本领域的技术人员知道,本申请有许多变形和变化而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种系统安全启动方法,其特征在于,将存储区域分为至少两级BOOT:其中,第一级BOOT存储BOOT引导区信息,其他级BOOT中每级BOOT均存储至少两个BOOT区的信息,所述方法包括:
获取步骤:所述BOOT引导区从第i级BOOT的存储信息中获取该级的控制信息,并根据所述控制信息从该级BOOT中选取一待认证BOOT区;
认证步骤:所述BOOT引导区对所选BOOT区进行认证,若认证成功,则引导中央控制器对所选的BOOT区加载运行;若认证失败,则在该级BOOT的其他BOOT区中选取一待认证BOOT区,重复该步骤,直到认证成功,加载选取的BOOT区,并在加载成功后,令i=i+1,i最小取2,返回所述获取步骤。
2.如权利要求1所述的方法,其特征在于,在所述获取步骤前,还包括:
引导区加载步骤:所述中央控制器对所述BOOT引导区进行认证后加载。
3.如权利要求1所述的方法,其特征在于,所述BOOT引导区选取一待认证BOOT区后,修改所述控制信息使其选定除所选BOOT区以及认证失败的BOOT区外的其他BOOT区;
当所选BOOT认证/加载失败,根据修改后的控制信息选取BOOT区;
当所选BOOT加载成功,恢复所述控制信息选定当前BOOT区。
4.如权利要求1所述的方法,其特征在于,所述BOOT引导区对所选BOOT区进行认证时,
从所述该级BOOT的存储信息获取安全信息;
根据所述安全信息对所选BOOT进行认证。
5.如权利要求4所述的方法,其特征在于,根据所述安全信息对所选BOOT进行认证,包括:
对所选的BOOT区的版本进行哈希运算,获取哈希值;
从所述BOOT引导区的存储信息中获取BOOT区的认证公钥;
根据所述认证公钥对所选BOOT区的版本签名进行解密,获取解密值;
判断所述哈希值与所述解密值是否一致,当所述哈希值和解密值一致时,认证通过;否则,认证失败。
6.一种系统安全启动装置,其特征在于,包括:
存储模块:包括至少两级BOOT,第一级BOOT存储BOOT引导区信息,其他级BOOT中每级BOOT均存储至少两个BOOT区的信息;
获取模块:用于所述BOOT引导区从第i级BOOT存储信息中获取该级的控制信息,并根据所述控制信息从该级BOOT中选取一待认证BOOT区;
认证模块:用于所述BOOT引导区对所选BOOT区进行认证,若认证成功,则引导中央控制器对所选的BOOT区加载运行;若认证失败,则在该级BOOT的其他BOOT区中选取一待认证BOOT区,重复该模块 步骤,直到认证成功,加载选取的BOOT区,并在加载成功后,令i=i+1,i最小取2,并由所述获取模块继续处理。
7.如权利要求6所述的装置,其特征在于,所述装置还包括引导区加载模块:
用于所述中央控制器对所述BOOT引导区进行认证后加载。
8.如权利要求6所述的装置,其特征在于,所述装置还包括控制模块:
用于所述BOOT引导区选取一待认证BOOT区后,修改所述控制信息使其选定除所选BOOT区以及认证失败的BOOT区外的其他BOOT区;
当所选BOOT认证/加载失败,根据修改后的控制信息选取BOOT区;
当所选BOOT加载成功,恢复所述控制信息选定当前BOOT区。
9.如权利要求6所述的装置,其特征在于,所述认证模块包括:
获取单元,用于从所述存储模块中获取该级BOOT的安全信息;
认证单元,用于所述BOOT引导区根据所述安全信息对所选BOOT进行认证。
10.如权利要求9所述的装置,其特征在于,所述认证单元具体用于,
对所选的BOOT区的版本进行哈希运算,获取哈希值;
从所述存储模块的BOOT引导区存储信息中获取BOOT区的认证公钥;
根据所述认证公钥对所选BOOT区的版本签名进行解密,获取解密值;
判断所述哈希值与所述解密值是否一致,当所述哈希值和解密值一致时,认证通过;否则失败。
CN201510725213.5A 2015-10-30 2015-10-30 一种系统安全启动方法及装置 Active CN106650455B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510725213.5A CN106650455B (zh) 2015-10-30 2015-10-30 一种系统安全启动方法及装置
PCT/CN2016/073720 WO2016184180A1 (zh) 2015-10-30 2016-02-06 一种系统安全启动方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510725213.5A CN106650455B (zh) 2015-10-30 2015-10-30 一种系统安全启动方法及装置

Publications (2)

Publication Number Publication Date
CN106650455A CN106650455A (zh) 2017-05-10
CN106650455B true CN106650455B (zh) 2021-09-24

Family

ID=57319279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510725213.5A Active CN106650455B (zh) 2015-10-30 2015-10-30 一种系统安全启动方法及装置

Country Status (2)

Country Link
CN (1) CN106650455B (zh)
WO (1) WO2016184180A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304140B (zh) * 2017-01-12 2023-04-07 中兴通讯股份有限公司 闪存数据管理方法、装置及微控制器
CN110347444B (zh) * 2019-07-12 2022-06-07 深圳忆联信息系统有限公司 一种ssd多状态切换的启动方法及其系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033790A (zh) * 2010-12-15 2011-04-27 中兴通讯股份有限公司 一种嵌入式系统bootrom的升级方法和装置
CN102509047A (zh) * 2011-11-09 2012-06-20 北京赛科世纪数码科技有限公司 校验机顶盒中程序代码的方法和系统
CN102736933A (zh) * 2012-05-16 2012-10-17 中兴通讯股份有限公司 Boot文件加载方法及装置
CN103677923A (zh) * 2013-12-13 2014-03-26 中国航空工业集团公司第六三一研究所 一种boot引导程序运行保护方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101329632B (zh) * 2008-04-30 2014-02-19 中兴通讯股份有限公司 一种使用boot启动cpu的方法与装置
CN101751273B (zh) * 2008-12-15 2013-04-24 中国科学院声学研究所 用于嵌入式系统的安全引导装置及方法
CN102650944A (zh) * 2011-02-28 2012-08-29 国民技术股份有限公司 一种操作系统安全引导装置及引导方法
CN104951316B (zh) * 2014-03-25 2018-09-21 华为技术有限公司 一种内核可信启动方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033790A (zh) * 2010-12-15 2011-04-27 中兴通讯股份有限公司 一种嵌入式系统bootrom的升级方法和装置
CN102509047A (zh) * 2011-11-09 2012-06-20 北京赛科世纪数码科技有限公司 校验机顶盒中程序代码的方法和系统
CN102736933A (zh) * 2012-05-16 2012-10-17 中兴通讯股份有限公司 Boot文件加载方法及装置
CN103677923A (zh) * 2013-12-13 2014-03-26 中国航空工业集团公司第六三一研究所 一种boot引导程序运行保护方法

Also Published As

Publication number Publication date
WO2016184180A1 (zh) 2016-11-24
CN106650455A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
KR101702289B1 (ko) 플랫폼 부트 펌웨어에 대한 신뢰의 연속성
CN109542518B (zh) 芯片和启动芯片的方法
JP6319609B2 (ja) 信頼できるカーネル起動方法および装置
KR101687277B1 (ko) 시스템 온 칩 디바이스들에서의 키 폐기
US9530004B2 (en) Secure boot method, semiconductor device and recording medium
US20150074387A1 (en) System and method for auto-enrolling option roms in a uefi secure boot database
US9600291B1 (en) Secure boot using a field programmable gate array (FPGA)
US8589672B2 (en) Method for securely merging multiple nodes having trusted platform modules
US20100082955A1 (en) Verification of chipset firmware updates
US10592661B2 (en) Package processing
US11200065B2 (en) Boot authentication
CN105095767A (zh) 基于文件数据块校验的安全启动系统与方法
JP2015022521A (ja) セキュアブート方法、組み込み機器、セキュアブート装置およびセキュアブートプログラム
WO2014206170A1 (zh) 一种验证方法及设备
US20160350537A1 (en) Central processing unit and method to verify mainboard data
CN106650455B (zh) 一种系统安全启动方法及装置
US11366911B2 (en) Cryptography module and method for operating same
CN107924440B (zh) 用于管理容器的方法、系统和计算机可读介质
TWI604336B (zh) 使用外部裝置之運行時驗證技術
CN109753788B (zh) 内核运行时的完整性校验方法及计算机可读存储介质
US20100293357A1 (en) Method and apparatus for providing platform independent secure domain
CN115130114B (zh) 一种网关安全启动方法、装置、电子设备及存储介质
CN108958761A (zh) 一种设备程序的处理方法及装置
CN115878199A (zh) 芯片的操作系统启动方法、装置、设备及存储介质
CN114282205A (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
GR01 Patent grant
GR01 Patent grant