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

专利信息
申请号: 201810146731.5 申请日: 2018-02-12
公开(公告)号: CN108399339B 公开(公告)日: 2021-09-14
发明(设计)人: 肖堃;罗蕾;李允;罗建超;陈丽蓉;陈虹;桂盛霖 申请(专利权)人: 广东为辰信息科技有限公司
主分类号: G06F21/57 分类号: G06F21/57;G06F21/71
代理公司: 成都行之专利代理事务所(普通合伙) 51220 代理人: 温利平;陈靓靓
地址: 523808 广东省东莞市松山*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 安全 芯片 可信 启动 方法
【权利要求书】:

1.一种基于安全芯片的可信启动方法,其特征在于,包括以下步骤:

S1:根据安全启动过程中各部分不同的功能,将BootLoader划分为6个部分,分别为BL1程序、BL2程序、BL30程序、BL31程序、BL32程序、BL33程序;其中BL1程序用于设置异常向量表,初始化cpu,设置mmu,设置控制寄存器,初始化 UART0;BL2为BL30程序、BL31程序、BL32程序、BL33程序的加载和校验程序;BL30是独立的系统控制处理机System ControlProcessor固件,用于电源、时钟、复位和系统管理;BL31为系统安全监控机SystemSecurity Monitor;BL32为可信执行环境TEE OS;BL33为U-Boot程序;

S2:采用非对称加密算法,生成私钥和公钥;

S3:对步骤S1得到的BL1程序、BL2程序、BL30程序、BL31程序、BL32程序、BL33程序分别制作初始镜像,对各部分BootLoader程序的初始镜像采用SHA1算法进行一次哈希计算得到一个哈希值,将证书基本信息与这个哈希值进行链接得到证书信息,证书基本信息包括日期,发表者和公钥,将此证书信息进行哈希计算得到一个证书哈希值,将证书哈希值用私钥进行签名得到数字签名,将数字签名连接到镜像头部成为完整镜像,将各部分BootLoader程序的完整镜像烧写到嵌入式系统的存储区域,其中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的引导过程。

2.根据权利要求1所述的基于安全芯片的可信启动方法,其特征在于,所述完整性校验的具体方法为:

将存储于镜像证书中的公钥和嵌入L-load程序中的公钥分别进行提取,然后将两者进行对比,如果两个值是相同的,进行证书哈希值校验,否则完整性校验不通过;

将数字签名用公钥解密后得到证书哈希值,接着将证书信息进行哈希计算得到一个新的哈希值,然后将两个哈希值进行对比,如果两个哈希值相同,进行证书哈希值校验,否则完整性校验不通过;

将镜像进行哈希计算得到哈希值与证书提取得到的哈希值进行对比,如果两者相同,完整性校验通过,否则完整性校验不通过。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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