The invention discloses a reliable start-up method based on security chip, divides BootLoader into six parts, makes mirrors of the six parts respectively based on digital signature, stores the key mirrors in the security chip, loads the mirrors of the six parts sequentially, verifies the integrity after loading the mirrors, and all the images are complete. The Linux boot process starts after sex passing. The invention adopts digital signature and integrity verification to ensure the trustworthiness of the start-up trusted chain, and stores key data by using a security chip, thereby effectively improving the start-up trustworthiness.
【技术实现步骤摘要】
一种基于安全芯片的可信启动方法
本专利技术属于移动智能终端安全
,更为具体地讲,涉及一种基于安全芯片的可信启动方法。
技术介绍
硬件结构和操作系统的安全是信息系统安全的基础。目前,针对嵌入式系统安全问题,现有的解决方法是引入可信计算技术,其主要思路是建立可信根和信任链来保证系统的完整新和安全性。在嵌入式系统中,现有的可信计算技术的实现方式分为两类:一类是采用可信计算组织(trustedComputingProgram,简称TCG)提出的可信平台模块(trustedplatformmodule,简称TPM)与嵌入式CPU进行通信。将TPM作为可信根,在TPM中存储启动实体初始的预期度量值,启动时将实体加载到内存中,通过比较初始预期度量值和当前计算值的一致性,确定启动过程是否可以安全继续。但是由于TPM芯片缺乏主动控制能力,而嵌入式系统中的处理器调度能力往往相对较弱,无法进行复杂的调度与分配,难以控制整个信任链的度量与扩展过程;此外嵌入式设备对成本控制非常严格,大多没有可信平台模块。因此,该类方法对于嵌入式系统而言,具有很大的局限性。另一类可信启动方法是设计只读 ...
【技术保护点】
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 O ...
【技术特征摘要】
1.一种基于安全芯片的可信启动方法,其特征在于,包括以下步骤:S1:根据安全启动过程中各部分不同的功能,将BootLoader划分为6个部分,分别为BL1程序、BL2程序、BL30程序、BL31程序、BL32程序、BL33程序;其中BL1程序用于设置异常向量表,初始化cpu,设置mmu,设控制寄存器,初始化UART0;BL2为BL30程序、BL31程序、BL32程序、BL33程序的加载和校验程序;BL30是独立的SystemControlProcessor固件,用于电源、时钟、复位和系统管理;BL31为SystemSecurityMonitor;BL32为TEEOS;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:对BL3...
【专利技术属性】
技术研发人员:肖堃,罗蕾,李允,罗建超,陈丽蓉,陈虹,桂盛霖,
申请(专利权)人:广东为辰信息科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。