[发明专利]一种基于安全芯片的可信启动方法有效

专利信息
申请号: 201810146731.5 申请日: 2018-02-12
公开(公告)号: CN108399339B 公开(公告)日: 2021-09-14
发明(设计)人: 肖堃;罗蕾;李允;罗建超;陈丽蓉;陈虹;桂盛霖 申请(专利权)人: 广东为辰信息科技有限公司
主分类号: G06F21/57 分类号: G06F21/57;G06F21/71
代理公司: 成都行之专利代理事务所(普通合伙) 51220 代理人: 温利平;陈靓靓
地址: 523808 广东省东莞市松山*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于安全芯片的可信启动方法,将BootLoader划分为6个部分,基于数字签名分别制作这6个部分的镜像,将关键的镜像存储在安全芯片中,按照顺序加载这6个部分的镜像,在加载镜像后进行完整性验证,所有完整性通过之后即开始Linux的引导过程。本发明采用数字签名和完整性验证保证启动可信链可信的基础上,通过使用安全芯片存储关键数据,可有效提高启动可信度。
搜索关键词: 一种 基于 安全 芯片 可信 启动 方法
【主权项】:
1.一种基于安全芯片的可信启动方法,其特征在于,包括以下步骤:S1:根据安全启动过程中各部分不同的功能,将BootLoader划分为6个部分,分别为BL1程序、BL2程序、BL30程序、BL31程序、BL32程序、BL33程序;其中BL1程序用于设置异常向量表,初始化cpu,设置mmu,设控制寄存器,初始化UART0;BL2为BL30程序、BL31程序、BL32程序、BL33程序的加载和校验程序;BL30是独立的System Control Processor固件,用于电源、时钟、复位和系统管理;BL31为System Security Monitor;BL32为TEE OS;BL33为U‑Boot程序;S2:采用非对称加密算法,生成私钥和公钥;S3:对步骤S101得到的BL1程序、BL2程序、BL30程序、BL31程序、BL32程序、BL33程序分别制作初始镜像,对各级BL程序的初始镜像采用SHA1算法进行一次哈希计算得到一个哈希值,将证书基本信息与这个哈希值进行链接得到证书信息,证书基本信息包括日期,发表者和公钥,将此证书信息进行哈希计算得到一个证书哈希值,将证书哈希值用私钥进行签名得到数字签名,将数字签名连接到镜像头部成为完整镜像,将各级BL程序的完整镜像烧写到嵌入式系统的存储区域,其中BL31镜像和BL32镜像存储在安全芯片中,BL33镜像存储在eMMC中,每个镜像都在可信区域进行备份,将公钥嵌入L‑load程序;S4:设备开机上电,BOOTROM进行初始代码执行;S5:BootLoader加载BL1镜像到片内RAM,对BL1镜像进行完整性验证,如果完整性校验通过,进入步骤S6,否则从备份镜像中恢复BL1镜像,对恢复的BL1镜像进行完整性校验,如果完整性校验通过,进入步骤S6,否则提示校验失败并退出安全启动;S6:主核跳转到片内RAM中执行BL1程序,BL1程序通过计算自己程序段的范围来检测可用的可信SRAM内存大小,将BL2镜像加载到片内RAM;S7:对BL2镜像进行完整性验证,如果完整性校验通过,进入步骤S8,否则从备份镜像中恢复BL2镜像,对恢复的BL2镜像进行完整性校验,如果完整性校验通过,进入步骤S8,否则提示校验失败并退出安全启动;S8:主核跳转到片内RAM中执行BL2程序,BL2加载BL30镜像;S9:对BL30镜像进行完整性验证,如果完整性校验通过,进入步骤S10,否则从备份镜像中恢复BL30镜像,对恢复的BL30镜像进行完整性校验,如果完整性校验通过,进入步骤S10,否则提示校验失败并退出安全启动;S10:主核跳转到片内执行BL2程序,给安全芯片上电并进行相关初始化操作,让安全芯片引导启动代码,初始化SPI接口并且通过SPI总线与SE中的启动代码通信,将存储在安全芯片中的BL31镜像读出并加载到片内RAM中;S11:对BL31镜像进行完整性验证,如果完整性校验通过,进入步骤S12,否则从备份镜像中恢复BL31镜像,对恢复的BL31镜像进行完整性校验,如果完整性校验通过,进入步骤S12,否则提示校验失败并退出安全启动;S12:主核跳转到片内执行BL2程序,通过SPI总线与安全芯片中的启动代码通信,将存储在安全芯片中的BL32镜像读出,并将BL32镜像加载到DDR中;S13:从BL32镜像读取TEE OS头并进行完整性验证,如果完整性校验通过,进入步骤S14,否则从备份镜像中恢复BL33镜像,对恢复的BL33镜像进行完整性校验,如果完整性校验通过,进入步骤S14,否则提示校验失败并退出安全启动;S14:将存储在eMMC中的BL33镜像读出,将BL33镜像加载到DDR中;S15:对BL33镜像进行完整性验证,如果完整性校验通过,进入步骤S16,否则从备份镜像中恢复BL33镜像,对恢复的BL33镜像进行完整性校验,如果完整性校验通过,进入步骤S16,否则提示校验失败并退出安全启动;S16:BL2程序执行SMC调用切换到BL1程序运行,然后依次运行BL31程序、BL32程序、BL33程序,即开始Linux的引导过程。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东为辰信息科技有限公司,未经广东为辰信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201810146731.5/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top