I.MX RT1170加密启动详解(1):加密Boot镜像组成

这篇具有很好参考价值的文章主要介绍了I.MX RT1170加密启动详解(1):加密Boot镜像组成。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用RT1170芯片构建的所有平台一般都是高端场合,我们需要考虑软件的安全需求。该芯片集成了一系列安全功能。这些特性中的大多数提供针对特定类型攻击的保护,并且可以根据所需的保护程度配置为不同的级别。这些特性可以协同工作,也可以独立工作。它们还可以与适当的软件集成以创建防御层。此外,该芯片还包括一个通用加速器,可增强选定的工业标准加密算法的性能。

从本篇文章开始,我将介绍RT1170的三种加密方式:Authenticated HABHAB encrypted bootOTFAD XIP的原理。


对于I.MX系列单片机来说,它的芯片内没有内置Flash,这种情况下需要我们外挂Flash。那么在这种情况下,NXP就为I.MX系列单片机设计了一个镜像头,这个镜像头中包含了程序的绝对地址、程序的大小、DCD初始化参数、程序入口地址等信息。

  • 参考文章:RT1170启动详解:Boot配置、Bootable image头的组成

NXP设计了一个ROM Bootloader程序,在每次上电时它将根据镜像头中我们配置的信息完成一些存储外设的初始化、代码的转移和运行等工作,然后跳转执行。在这个镜像头中,有一部分的信息是用来给程序加密启动的。

所以本篇文章以FlexSPI NOR Flash为例,介绍在加密启动时,这个镜像头中的一些加密字段的含义。如下图所示,就是整个加密镜像头的组成:
I.MX RT1170加密启动详解(1):加密Boot镜像组成
其中OTFAD/IEE Key blobs,PUF Key Store,CSFDEK Blob为在安全启动时需要填入的字段。

(1)OTFAD/IEE Key blobs

该字段用来给OTFAD/IEE模块对NOR Flash上的代码进行边解密边执行,包含用于OTFAD/IEE的加密密钥和上下文结构,它仅适用于FlexSPI NOR XIP情形,且该blob必须放置在NOR的0地址处

(2)Firmware Configuration Block(FCB)

包含FlexSPI控制器配置的参数,BootROM中将用低频的时钟和可靠的参数对Flash进行初始化,用户可以将适合自己Flash的FlexSPI配置(主要是LUT表格)按照指定格式放在此字段,BootROM会根据这个字段的配置重新初始化Flash。

(3)Physical Unclonable Function(PUB) key store

包含用于OTFAD key blob解密的KEK(Key Encryption Key) 。

(4)IVTboot data

确定程序的加载地址、运行地址、DCD位置等信息

(5)Device Configuration Data(DCD)

主要用来配置SEMC接口的SDRAM,也可以用来配置FlexSPI接口的HyperRAM。

(6)Command Sequence File(CSF)

由HAB处理的用于代码认证的指令,包括公钥、签名、证书和Auth。

(7)Data Encryption Key blob(DEK)

DEK通过SNVS(Secure Non-Volatile Storage) master key(OTP Master Key)加密后形成的blob

  • DEK为AES128密钥,由HAB加密工具CST随机生成,Flashloader会使用OTPMK加密DEK生成key blob

本文对加密镜像头中的加密部分做了一个简单的介绍,但没有深入进行介绍,不过没关系,我们只要知道在镜像头中有一些有关加密的字段,每个字段的具体含义在后续介绍了各个不同加密方式后再回来看就会恍然大悟。文章来源地址https://www.toymoban.com/news/detail-469139.html

到了这里,关于I.MX RT1170加密启动详解(1):加密Boot镜像组成的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.3)- 串行NOR Flash下载算法(J-Link工具篇)

    https://www.cnblogs.com/henjay724/p/13770137.html 大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是 J-Link工具下i.MXRT的串行NOR Flash下载算法设计 。 在i.MXRT硬件那些事系列之《在串行NOR Flash XIP调试原理》一文中,痞子衡简单提了一下串行NOR Flash下载算法的概念,并

    2024年02月09日
    浏览(34)
  • Spring Boot项目使用 jasypt 加密组件进行加密(例如:数据库、服务的Key、等等进行加密)

    🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢迎点赞 👍 收藏 ⭐留言 📝 🍓 更多文章请点击 密码配置项都不加密? 想啥呢? 一

    2024年02月07日
    浏览(39)
  • 使用阿里云镜像创建一个Spring Boot项目

    由于现在的idea在创建项目时已经不支持Java8版本了,如果我们还想用8版本,可以使用阿里云镜像创建。所以得改变原有的地址为: https://start.aliyun.com 上面是idea专业版创建项目,如果是社区版还需要在创建前安装一个插件 : Spring Boot Helper 不过这个是收费的,想要免费的我们

    2024年04月25日
    浏览(22)
  • RT-Thread 的环形缓冲区 ---- 镜像指示位

    可以看一下这篇我写的博客,了解一下大概:  RingBuffer 环形缓冲区----镜像指示位_呵呵哒( ̄▽ ̄)\\\"的博客-CSDN博客 https://blog.csdn.net/weixin_41987016/article/details/132340883?spm=1001.2014.3001.5501 【回顾】缓冲区变满在环形缓冲区(ring buffer)中会实际发生,一般会有两种处理策略:    

    2024年02月12日
    浏览(29)
  • 在Spring Boot微服务使用jasypt-spring-boot加密和解密yml配置文件

    记录 :424 场景 :在Spring Boot微服务,使用jasypt-spring-boot加密和解密yml配置文件中的配置信息。 版本 :JDK 1.8,Spring Boot 2.6.3,jasypt-1.9.3,jasypt-spring-boot-2.1.2, jasypt-spring-boot-3.0.5。 开源地址 :https://github.com/ulisesbocchio/jasypt-spring-boot 1.在Spring Boot微服务使用jasypt-spring-boot-3.0.5版本

    2024年02月09日
    浏览(57)
  • 使用docker 生成镜像,并启动容器。

    指令详情: 指令 解析 FROM 指定基础镜像,必须为第一个命令 MAINTAINER 维护者邮箱等信息 RUN 构建镜像docker build时执行的命令 ADD 将本地文件添加到容器中,tar 类型文件会自动解压 COPY 功能类似ADD,但是是不会自动解压文件,也不能访问网络资源 CMD 在docker run时会执行的命令,

    2024年02月16日
    浏览(32)
  • windows无盘启动技术开发之使用本地镜像文件启动电脑

                                                 by fanxiushu 2023-07-26 转载或引用请注明原始作者。 其实使用本地镜像文件启动电脑,这个windows操作系统本身就是自带的功能。 win7以上的系统,制作 vhd或vhdx格式的镜像文件, 然后在镜像文件中安装windows操作系

    2024年02月15日
    浏览(24)
  • Spring Boot使用jasypt处理数据库账号密码等数据加密问题

    在我们业务场景中,项目中的application.yml 配置文件比如数据库账号密码,的各种链接的username,password的值都是明文的,存在一定的安全隐患,可以使用jasypt 加密框架的方式进行明文加密,进而使得我们项目更加安全 注意这里排除了mybatis-plus的包可能是项目中有冲突依赖,

    2024年02月06日
    浏览(42)
  • jasypt-spring-boot敏感信息加密解密利器使用指南

    Springboot 整合Jasypt,实现配置信息的安全,如数据库连接.账号和密码.接口凭证信息等。 Jasypt可以为Springboot加密的信息很多,主要有: System Property 系统变量 Envirnment Property 环境变量 Command Line argument 命令行参数 Application.properties 应用配置文件 Yaml properties 应用配置文件 other

    2024年02月03日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包