0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是Secure Boot以及三种模式

科技绿洲 来源:立功科技 作者:立功科技 2022-06-27 17:07 次阅读

S32K3的安全启动用于确保设备仅使用受原始设备制造商(OEM)信任的软件进行启动。当设备复位后启动,HSE安全子系统将会检查软件片段的有效性,若检查有效,则设备将启动,否则将执行相应制裁。

Secure boot简介

Secure Boot是验证应用域内的一个/多个应用CPU子系统执行的一个/多个应用程序映像的完整性和真实性(多应用核和多内存段),验证策略由用户定义,包括:被验证的内容、验证方式、验证结果分析处理。

三种Secure boot模式

共有三种安全启动,如表1:

基本安全启动(BSB):通过解析APPBL头,确定APPBL代码的起始地址和大小。

高级安全启动方式(ASB):使用SMR(Secure Memory Region)和CR(Core Reset)实现的。

基于SHE的安全启动(SSB):同样是使用SMR以及CR实现,其与ASB不同的是这种安全启动模式只使用SMR#0和CR#0,是ASB的一种特殊用法。

表1 安全启动的区别

pYYBAGK5cuWAT6YIAABPDbDKhwk273.png

在介绍安全启动模式之前,给大家介绍APPBL、SMR、CR是什么?如图1所示,APPBL主要提供APP起始地址、APP内容大小、认证标签

pYYBAGK5cvSAWrhxAAChrhDU47U098.png

图1 APPBL介绍

如图 2所示,SMR是一段安全内存区域的描述符,描述需要验证内容的起始地址、大小、验证内容的方式(MAC/SIGN)等。

pYYBAGK5cv-AKzkFAACWwBCCvJE495.png

图2 SMR介绍CR表指的是内核复位表,该表关联对应的Core与最多8个SMR关联起来,关联的SMR验证成功,HSE将释放对应的Core,使其正常运行App程序;验证失败则进行相应的制裁:禁用密钥、复位内核等。

(一) 基础安全启动模式 – BSB

如图 3所示,BSB是一种简化的启动方式,与ASB不同,不基于SMR;

① 在使能安全启动功能之前,进行相应的配置;

② 使用AES-GMAC、密钥为ADK/P,计算GMAC;

③ 把计算出来的MAC码存储在flash中,作为初始值;

④ 使能安全启动功能,并执行复位;

⑤ 复位后,进入安全启动流程,同样执行②,把计算结果和初始值对比验证;

⑥ 验证结果一致则执行APP代码,否则进入recovery模式。

poYBAGK5cwqAXMJ8AABnqCE8S9k465.png

图 3 基础安全启动模式(二) 高级安全启动模式 - ASB如图 4所示,ASB是通过SMR和CR表实现,并支持多种认证方案(MAC、Sign)来验证App映像:

① 在使能安全启动功能之前,进行相应的配置;

② 格式化NVM和RAM的密钥,并导入需要用到的对称/非对称的密钥;

③ 安装SMR和CR表:

SMR:验证内容的起始地址,大小、验证方式、验证密钥、验证tag存储位置等;

CR:关联需要验证的SMR、复位地址、制裁方式等。

④ 根据SMR配置,执行相应计算方式(MAC/Sign),把计算结果存储在对应得位置;

⑤ 使能安全启动功能,并执行复位;

⑥ 复位后,进入安全启动流程,启动流程中把计算结果和初始值对比验证;

⑦ 验证结果一致则执行APP代码,否则执行CR定义的制裁。

pYYBAGK5cyCABLWvAABRETm1r9w001.png

图 4 高级安全启动

(三) 基于SHE安全启动模式 – SSB(ASB)

如图 5所示,SSB和ASB的启动流程是很相似的,异同点如下:

① HSE固件同样通过使用SMR和CR表来进行执行SSB的启动;

② SSB是ASB的一种特殊用法,与ASB的区别:

SSB只是用SMR#0;

密钥使用的是SHE BOOT_MAC_KEY;

校验方式是CMAC。

poYBAGK5cyyAelurAABT5np5DIc478.png

图 5 基于SHE安全启动模式

以上内容讲解了S32K3 SecureBoot的全部内容,主要介绍了什么是Secure Boot以及三种模式,也便于后续大家需要用到S32K3的安全启动,奠定一定的基础。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10856

    浏览量

    211622
  • 软件
    +关注

    关注

    69

    文章

    4930

    浏览量

    87415
  • APP
    APP
    +关注

    关注

    33

    文章

    1573

    浏览量

    72459
  • 应用程序
    +关注

    关注

    37

    文章

    3267

    浏览量

    57688
收藏 人收藏

    评论

    相关推荐

    请问zstack的三种安全模式有什么区别?

    ,ZG_SECURITY_SE_STANDARD,这三种模式有什么区别?在不同应用中该怎样选择?2、ZG_SECURE_DYNAMIC 有什么用,什么情况下需设为1?
    发表于 08-17 07:32

    启动Spring Boot项目应用的三种方法

    基础。我们知道了Spring Boot是个什么了,那么我们又该如何启动Spring Boot应用呢?这里小编给大家推荐常用的三种方法。分别是IDEA编辑器启动、命令启动、java命令jar文件启动。下面
    发表于 01-14 17:33

    STM32的三种启动模式

    一、启动模式Boot modes)阅读:STM32中文参考手册_V10.pdf 查看启动配置(Boot modes)。在STM32F10xxx里,可以通过BOOT[1:0]引脚选择
    发表于 08-05 07:25

    STM32的三种启动模式

    系统复位后,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过BOOT[1:0]引脚选择三种不同的启动模式。从待机状态退出模式
    发表于 08-05 08:10

    STM32三种启动模式对应的存储介质

    STM32三种启动模式对应的存储介质均是芯片内置的,它们是:用户闪存: BOOT1=xBOOT0=0芯片内置的Flash。SRAM:BOOT1=1B
    发表于 08-05 08:14

    STM32有三种启动模式

    01STM32的三种启动模式STM32有三种启动模式:FLASH启动、SRAM启动和系统存储器启动,通常三种启动方式由外部引脚
    发表于 08-18 07:52

    STM32的三种Boot模式有何差异呢

    STM32的三种Boot模式有何差异呢?如何去验证这种差异呢?
    发表于 11-26 07:15

    什么是Boot模式?STM32三种Boot模式有什么差异?

    什么是Boot模式?STM32三种Boot模式有什么差异?怎么实现STM汇编程序设计?
    发表于 11-29 06:04

    STM32的三种boot模式介绍

    浅识STM32的三种boot模式文章目录浅识STM32的三种boot模式任务摘要一、认识
    发表于 12-10 07:46

    STM32的三种Boot模式及验证资料分享

    STM32的三种Boot模式一、BOOT模式简介1. 三种B
    发表于 12-10 06:54

    STM32的三种Boot模式的差异

    如有错误,欢迎指正,谢谢!目录一、STM32的三种Boot模式的差异二、创建基于MDK创建纯汇编语言的STM32工程模板、汇编基本语法的学习四、编程练习一、STM32的
    发表于 12-20 07:54

    STM32三种BOOT启动方式的设置与应用

    如何在不同的下载方式中选择STM32的启动模式呢?STM32三种BOOT启动方式的设置与应用分别是什么?
    发表于 01-18 07:01

    STM32的三种Boot模式及验证

    STM32的三种Boot模式一、BOOT模式简介1. 三种B
    发表于 11-26 19:51 89次下载
    STM32的<b class='flag-5'>三种</b><b class='flag-5'>Boot</b><b class='flag-5'>模式</b>及验证

    secure boot相关的基本概念和框架

    secure boot是指确保在一个平台上运行的程序的完整性的过程或机制。secure boot会在固件和应用程序之间建立一信任关系。在启
    的头像 发表于 09-13 14:20 1589次阅读

    安全启动Secure Boot流程

    安全启动-Secure Boot 除了NSPE和SPE两个环境的沟通流程之外,secure boot也是Trusted Firmware很重要的设计环节。
    的头像 发表于 11-02 16:45 1371次阅读
    安全启动<b class='flag-5'>Secure</b> <b class='flag-5'>Boot</b>流程