一种系统安全启动方法及装置制造方法及图纸

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

System safety starting method and device

The invention discloses a system safety starting method and device. The invention divides the storage area into at least two levels of BOOT: wherein the first stage BOOT stores the BOOT boot area information, and each stage BOOT stores information of at least two BOOT regions in each other class BOOT. The method comprises: obtaining a BOOT boot according to BOOT control information selected to be certified BOOT area from the storage area, and the certification of the selected BOOT, if the BOOT certification and loading after the success of BOOT information processing at a lower level; if authentication fails, then select a region to be certified BOOT certification in other areas of the loading level of BOOT in BOOT. The invention can realize the functions of secure BOOT and double BOOT without relying on external logic devices, thereby ensuring the reliability of the BOOT.

【技术实现步骤摘要】
一种系统安全启动方法及装置
本专利技术涉及电子通信领域,尤其涉及一种系统安全启动方法及装置。
技术介绍
随着各种通信业务的不断增长,嵌入式系统,特别是基站设备,对于系统启动的安全性、可靠性要求越来越高。目前通常采用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区的信息,所述方法包括:获取步骤:所述BOOT引导区从第i级BOOT的存储信息中获取该级的控制信息,并根据所述控制信息从该级BOOT中选取一待认证BOOT区;认证步骤:所述BOOT引导区对所选BOOT区进行认证,若认证成功,则引导中央控制器对所选的BOOT区加载运行;若认证失败,则在该级BOOT的其他BOOT区中选取一待认证BOOT区,重复该步骤,直到认证成功,加载选取的BOOT区,并在加载成功后,令i=i+1,i最小取2,返回所述获取步骤。

【技术特征摘要】
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.一种系...

【专利技术属性】
技术研发人员:戴华亮陈茂林吴学德
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1