一种安全可信模组启动方法及系统技术方案

技术编号:25439766 阅读:55 留言:0更新日期:2020-08-28 22:27
本发明专利技术公开了嵌入式设备安全保护技术领域的一种基于轻量化的安全可信模组启动方法及系统,在嵌入式设备启动前对嵌入式设备的预设信息进行验证,一旦验证失败,将禁止设备启动,可以提高设备整体的安全性。系统包括:安全模组、逻辑控制电路和基本模组,基本模组包括CPU、Nandflash;安全模组接收到启动信号后持续复位CPU并读取基本模组Nandflash中的Bootloader和Uboot的信息;通过存储在安全模组中的公钥对读取到的信息进行验证,若验证通过,则基本模组正常加载,启动系统;若验证不通过,则安全模组复位后继续验证,直至验证通过。

【技术实现步骤摘要】
一种安全可信模组启动方法及系统
本专利技术属于嵌入式设备安全保护
,具体涉及一种安全可信模组启动方法及系统。
技术介绍
当前,随着工业控制的发展,工控本体安全对抗与攻击愈加激烈,工控系统面临的威胁不断增大,暴露在外的工控设备缺乏实用可信度量机制及数据机密性保护方法,工控设备多采用嵌入式设备(EMMC),设备本身易遭受攻击;同时,随着“等级保护2.0”系列标准和要求的发布,现有安全防护手段无法从根源上解决计算节点体系结构简化带来的安全风险。
技术实现思路
为解决现有技术中的不足,本专利技术提供一种安全可信模组启动方法及系统,在嵌入式设备启动前对嵌入式设备的预设信息进行验证,一旦验证失败,将禁止设备启动,可以提高设备整体的安全性。为达到上述目的,本专利技术所采用的技术方案是:一种安全可信模组启动方法,嵌入式设备的启动信号经安全模组传送至基本模组,方法由安全模组执行,包括:响应于嵌入式设备的启动信号或验证不通过信号,复位安全模组;向基本模组持续发送复位信号;读取基本模组中的公钥、Bootloader和Uboot信息;分别计算公钥和私钥的哈希值,并与存储在OTP芯片中的公钥的哈希值和私钥的哈希值进行比较,如果不一致,则停止启动;如果一致,则通过公钥对读取的基本模组中的Bootloader和Uboot信息进行验证;若验证通过,则向基本模组发送初始化信号;若验证不通过,则复位安全模组,继续验证;接收基本模组发送的加密数据并通过私钥对加密数据进行解密,解密成功后将解密后的加密数据发送至基本模组。<br>进一步地,所述OTP芯片包括LOCK寄存器,LOCK寄存器的每一位对应一个OTP芯片。进一步地,所述加密数据为嵌入式设备的内核及系统文件。一种安全可信模组启动方法,嵌入式设备的启动信号经安全模组传送至基本模组,方法由基本模组执行,包括:响应于安全模组发送的复位信号,禁止启动Uboot;响应于安全模组读取公钥、Bootloader和Uboot信息的请求,开放对应的数据读取权限;响应于安全模组发送的初始化信号,启动Uboot;将加密数据传送给安全模组进行解密;基于解密后的加密数据启动系统。进一步地,所述加密数据为嵌入式设备的内核及系统文件。一种安全可信模组启动系统,包括:安全模组、逻辑控制电路和基本模组,基本模组包括CPU、Nandflash;安全模组接收到启动信号后持续复位CPU并读取Nandflash中的公钥、Bootloader和Uboot信息;安全模组计算公钥和私钥的哈希值,并与存储在OTP芯片中的公钥的哈希值和私钥的哈希值进行比较,如果不一致,则停止启动;如果一致,则通过公钥对读取的基本模组中的Bootloader和Uboot信息进行验证,若验证通过,则基本模组正常加载,启动Uboot;若验证不通过,则安全模组复位后继续验证,直至验证通过;Uboot启动成功后,Uboot将加密数据传送给安全模组,安全模组用私钥对加密数据进行解密,基本模组基于解密后的加密数据开始启动系统。进一步地,所述安全模组通过SPI接口与所述基本模组进行通信。进一步地,所述安全模组通过GPIO接口连接逻辑控制电路和CPU。进一步地,所述安全模组包括OTP芯片,公钥的哈希值和私钥的哈希值分别存储在所述OTP芯片中,所述OTP芯片包括LOCK寄存器,LOCK寄存器的每一位对应一个OTP芯片。进一步地,所述逻辑控制电路在同时接收到启动信号和所述安全模组的验证通过信号后向CPU输出初始化信号。与现有技术相比,本专利技术所达到的有益效果:(1)本专利技术通过在嵌入式设备中设置安全模组,在嵌入式设备启动前对嵌入式设备的预设信息进行验证,一旦验证失败,将禁止设备启动,可以提高设备整体的安全性;(2)本专利技术通过设置OTP芯片和LOCK寄存器将公钥封存在安全模组中,从硬件初始化开始保证每个模块代码的载入都是可靠可信的,设计原理可靠,结构简单,具有非常广泛的应用前景。附图说明图1是本专利技术实施例提供的一种安全可信模组启动系统的系统结构示意图;图2是本专利技术实施例提供的一种安全可信模组启动系统的启动流程示意图。具体实施方式下面结合附图对本专利技术作进一步描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。实施例一:一种安全可信模组启动方法,嵌入式设备的启动信号经安全模组传送至基本模组,系统上电后,安全模组响应于嵌入式设备的启动信号进行复位,并向基本模组持续发送复位信号同时读取基本模组中的公钥、Bootloader(嵌入式设备的加载启动程序)和Uboot(嵌入式设备的引导加载程序)信息;分别计算公钥和私钥的哈希值(HASH),并与存储在OTP芯片中的公钥的哈希值和私钥的哈希值进行比较,如果不一致,则停止启动;如果一致,则通过公钥对读取的基本模组中的Bootloader和Uboot信息进行验证;若验证通过,则向基本模组发送初始化信号,启动权交给基本模组;若验证不通过,则重新复位安全模组并继续进行验证;安全模组接收基本模组发送的加密数据并通过私钥对加密数据进行解密,解密成功后将解密后的加密数据发送至安全模组。基本模组基于接收到的安全模组发送的复位信号,禁止启动Uboot;同时,基于安全模组读取公钥、Bootloader和Uboot信息的请求,开放对应的数据读取权限;基本模组在收到安全模组的初始化信号后,初始化CPU,启动Uboot;Uboot通过解密接口,将加密数据传送给安全模组进行解密并基于解密后的加密数据启动系统。本实施例中,公钥的哈希值和私钥的哈希值均存储在安全模组的OTP芯片中,OTP芯片包括LOCK寄存器,LOCK寄存器的每一位对应一个OTP芯片。加密数据为嵌入式设备的内核及系统文件。本实施例利用OTP(OneTimeProgrammable,一次性可编程)芯片,采用数字签名技术,从硬件初始化开始保证每个模块代码的载入都是可靠可信的,可信链即表达了按照链式方式保证每个步骤都是可靠的。可信链构建了从硬件、固件、操作系统到应用软件的可信度量和可信传递过程,从而确保整个系统运行在一个可信、可控的环境下。公钥的哈希值和私钥的哈希值均存储在OTP芯片中,OTP芯片包括LOCK寄存器,LOCK寄存器的每一位对应一个OTP芯片。本实施例为OTP芯片提供多重保护,又提供一个LOCK寄存器。LOCK寄存器也是ONETIMEPROGRAMMABLE的。如果与OTP芯片对应的LOCK寄存器的位(BIT)被从1写为0,就意味着这个被锁住的OTP芯片再也不能进行写操作了。即使OTP芯片的当前值为0XFFFFFFFF,它的值也永远不可以被改写了。通过OTP芯片与LOCK寄存器,OTP芯片里保存出厂公钥信息和Hash值;存储在OTP芯片中的公钥,用于对Nandflash(存储单元)中的Uboot进行验证;当验证成功后,Uboot才可以正常加载。Uboot启动成功后,Uboot通过解密接口,将嵌入式设备的内核和文件系统等加本文档来自技高网...

【技术保护点】
1.一种安全可信模组启动方法,嵌入式设备的启动信号经安全模组传送至基本模组,方法由安全模组执行,其特征是,包括:/n响应于嵌入式设备的启动信号或验证不通过信号,复位安全模组;/n向基本模组持续发送复位信号;/n读取基本模组中的公钥、Bootloader和Uboot信息;/n分别计算公钥和私钥的哈希值,并与存储在OTP芯片中的公钥的哈希值和私钥的哈希值进行比较,如果不一致,则停止启动;如果一致,则通过公钥对读取的基本模组中的Bootloader和Uboot信息进行验证;/n若验证通过,则向基本模组发送初始化信号;若验证不通过,则复位安全模组,继续验证;/n接收基本模组发送的加密数据并通过私钥对加密数据进行解密,解密成功后将解密后的加密数据发送至基本模组。/n

【技术特征摘要】
1.一种安全可信模组启动方法,嵌入式设备的启动信号经安全模组传送至基本模组,方法由安全模组执行,其特征是,包括:
响应于嵌入式设备的启动信号或验证不通过信号,复位安全模组;
向基本模组持续发送复位信号;
读取基本模组中的公钥、Bootloader和Uboot信息;
分别计算公钥和私钥的哈希值,并与存储在OTP芯片中的公钥的哈希值和私钥的哈希值进行比较,如果不一致,则停止启动;如果一致,则通过公钥对读取的基本模组中的Bootloader和Uboot信息进行验证;
若验证通过,则向基本模组发送初始化信号;若验证不通过,则复位安全模组,继续验证;
接收基本模组发送的加密数据并通过私钥对加密数据进行解密,解密成功后将解密后的加密数据发送至基本模组。


2.根据权利要求1所述的安全可信模组启动方法,其特征是,所述OTP芯片包括LOCK寄存器,LOCK寄存器的每一位对应一个OTP芯片。


3.根据权利要求1所述的安全可信模组启动方法,其特征是,所述加密数据为嵌入式设备的内核及系统文件。


4.一种安全可信模组启动方法,嵌入式设备的启动信号经安全模组传送至基本模组,方法由基本模组执行,其特征是,包括:
响应于安全模组发送的复位信号,禁止启动Uboot;
响应于安全模组读取公钥、Bootloader和Uboot信息的请求,开放对应的数据读取权限;
响应于安全模组发送的初始化信号,启动Uboot;
将加密数据传送给安全模组进行解密;
基于解密后的加密数据启动系统。


5.根据权利要求4所述的...

【专利技术属性】
技术研发人员:赵华沈悦朱世顺刘苇郑卫波王晔杨会峰陈连栋程凯孙辰军申培培王元强聂云杰张翔谢华菁金建龙成刚刘咸通国明辛晓鹏林静赵林丛
申请(专利权)人:国网电力科学研究院有限公司国网河北省电力有限公司信息通信分公司南京南瑞信息通信科技有限公司国家电网有限公司
类型:发明
国别省市:江苏;32

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

1