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

news2024/12/29 10:22:42

使用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为例,介绍在加密启动时,这个镜像头中的一些加密字段的含义。如下图所示,就是整个加密镜像头的组成:
在这里插入图片描述
其中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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/602826.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

macOS Ventura 13.5beta2 OpenCore 双引导分区原版黑苹果镜像

镜像特点(本文原地址:http://www.imacosx.cn/113805.html,转载请注明出处) 完全由黑果魏叔官方制作,针对各种机型进行默认配置,让黑苹果安装不再困难。系统镜像设置为双引导分区,全面去除clove…

【cfeng work】什么是云原生 Cloud Native

WorkProj 内容管理 云原生云原生应用十二要素应用cfeng的work理解 本文introduce 云原生 Cloud Native相关内容 随着技术的迭代,从最初的物理机—> 虚拟机,从单机 —> 分布式微服务, 现在的热门概念就是云☁(cloud&#xff…

Windows 11 绕过 TPM 方法总结,通用免 TPM 镜像下载 (2023 年 5 月更新)

Windows 11 绕过 TPM 方法总结,通用免 TPM 镜像下载 (2023 年 5 月更新) 在虚拟机、Mac 电脑和 TPM 不符合要求的旧电脑上安装 Windows 11 的通用方法总结 请访问原文链接:https://sysin.org/blog/windows-11-no-tpm/,查看最新版。原创作品…

Tomcat安全配置

1.删除webapps里面自带文件(关闭manage页面等) 删除webapps目录中的docs、examples、host-manager、manager等正式环境用不着的目录,这一步就可以解决大部分漏洞。有的网站没删除manager页面,并且管理员弱口令,导致直…

PCL点云处理之三维凸包点提取与凸包模型生成,分别保存到PCD与PLY文件(一百七十一)

PCL点云处理之三维凸包点提取与凸包模型生成,分别保存到PCD与PLY文件(一百七十一) 一、算法介绍二、算法实现1.代码2.结果总结一、算法介绍 现给定一块点云,需要实现下面两个功能开发 (1)获取点云的三维凸包点,保存至PCD格式的文件中 (2)获取点云的三维凸包模型,保存…

华为OD机试真题B卷 Java 实现【报数游戏】,附详细解题思路

一、题目描述 100个人围成一圈,每个人有一个编码,编号从1开始到100。他们从1开始依次报数,报到为M的人自动退出圈圈,然后下一个人接着从1开始报数,直到剩余的人数小于M。请问最后剩余的人在原先的编号为多少&#xff…

Netty核心源码剖析(一)

准备工作 将Netty的源码包netty-all-4.1.20.Final-sources.jar添加到项目中; 在io.netty.example包下,有很多Netty源码案例,可以用来分析! 1.Netty启动过程源码剖析 1>.将io.netty.exampler.echo包下的文件复制到当前项目的其他目录中; 2>.EchoServer.java /*** Ec…

建立第一个react页面

<body><!-- 准备一个容器 --><div id"test"></div><!-- 必须在周边库之前引入核心库 --><script type"text/javascript"src"./js/react.development.js"></script><!-- 引入周边库 --><scr…

实战项目!上位机与PLC通讯

大家好&#xff0c;我是华山自控编程朱老师&#xff0c;今天给大家介绍下我之前设计的入门项目——工件正反面识别及角度测试系统 系统功能 首先&#xff0c;系统的功能包括识别工件正反面&#xff0c;测试工件旋转角度。这些任务是由PLC来控制工件传送、启动拍照以及上位机。…

张小飞的Java之路——第四十三章——字符流

写在前面&#xff1a; 视频是什么东西&#xff0c;有看文档精彩吗&#xff1f; 视频是什么东西&#xff0c;有看文档速度快吗&#xff1f; 视频是什么东西&#xff0c;有看文档效率高吗&#xff1f; 诸小亮&#xff1a;接下来我们学习——字符流 张小飞&#xff1a;刚才的…

第二十三篇、基于Arduino uno,控制RGB灯亮灭——结果导向

0、结果 说明&#xff1a;RGB灯亮红色&#xff0c;一秒钟闪烁一次&#xff0c;可以很方便的更改灯的颜色&#xff0c;如果是你想要的&#xff0c;可以接着往下看。 1、外观 说明&#xff1a;RGB灯有共阴极的&#xff0c;也有共阳极的&#xff0c;从外观上是看不出来的&#…

C++ 学习 ::【基础篇:12】:C++ 类的基本成员函数:构造函数基本的定义与调用 |(无参构造与有参构造及缺省参数式构造)

本系列 C 相关文章 仅为笔者学习笔记记录&#xff0c;用自己的理解记录学习&#xff01;C 学习系列将分为三个阶段&#xff1a;基础篇、STL 篇、高阶数据结构与算法篇&#xff0c;相关重点内容如下&#xff1a; 基础篇&#xff1a;类与对象&#xff08;涉及C的三大特性等&#…

MySQL - 读写分离、一主一从、双主双从

文章目录 读写分离一、介绍二、一主一从2.1 原理2.2 服务器准备2.3 一主一从读写分离2.3.1 MyCat 配置2.3.1.1 schema.xml2.3.1.2 server.xml配置 三、双主双从3.1 双主双从介绍3.2 服务器准备3.3 双主双从读写分离3.3.1 主库配置3.3.1.1 211主库配置3.3.1.2 213主库配置 3.3.2…

rknn ffmpeg硬解码环境配置以及调用代码

查看rk3588系统信息 cat /proc/version 本编译在 Debain/ubuntu20.04 这两家板子上编译成功。 安装依赖 sudo apt-get install libx264-dev sudo apt-get install libfaac-dev sudo apt-get install libmp3lame-dev sudo apt-get install libtheora-dev sud…

综合能效管理:全面助力企业节能降耗 86型双联明装墙插面板智选套装上市

能源的综合利用效率主要体现在安全性、节能性及经济性方面。随着物联网智能技术的发展&#xff0c;能源监测与安全监控管理不仅面向能源生产、存储、传输、配送、运用环节&#xff0c;还需要更广泛地、深入地涵盖到分布式能源节点的能源使用消耗的全过程&#xff0c;基于对用户…

官宣代言人王一博,老板电器为打开厨电增量市场提供新思路

文丨智能相对论 作者丨佘凯文 最近两年&#xff0c;全球都处于一个经济结构调整的时期&#xff0c;许多行业深受影响。像国内厨电行业&#xff0c;在诸多因素影响下&#xff0c;就迈向了稳定发展的新常态。 与此同时&#xff0c;行业内部竞争也开始发生改变&#xff0c;从过…

自学黑客(网络安全),一般人我劝你还是算了吧(自学网络安全学习路线--第一章 网络协议基础 )

一、自学网络安全学习的误区和陷阱 1.不要试图先成为一名程序员&#xff08;以编程为基础的学习&#xff09;再开始学习 我在之前的回答中&#xff0c;我都一再强调不要以编程为基础再开始学习网络安全&#xff0c;一般来说&#xff0c;学习编程不但学习周期长&#xff0c;而且…

5月面试碰壁15次,我哭了....

3年测试经验原来什么都不是&#xff0c;只是给你的简历上画了一笔&#xff0c;一直觉得经验多&#xff0c;无论在哪都能找到满意的工作&#xff0c;但是现实却是给我打了一个大巴掌&#xff01;事后也不会给糖的那种... 先说一下自己的个人情况&#xff0c;普通二本计算机专业…

FastChat(小羊驼模型)部署体验

简介 前段时间&#xff0c;斯坦福发布了Alpaca&#xff0c;是由Meta的LLaMA 7B微调而来&#xff0c;仅用了52k数据&#xff0c;性能可以与GPT-3.5匹敌。 FastChat集成了Vicuna、Koala、alpaca、llama等开源模型&#xff0c;其中Vicuna号称能够达到gpt-4的90%的质量&#xff0…

Java基础(项目1)——项目设计分层 dao + service + test +ui + exception + log + util

目录 引出DAO层---和数据库交互1.通过IO流存储到dat文件2.通过JDBC存储到数据库【测试】用junit进行测试&#xff1a;Test注解 Service层---处理业务1.项目设计分层初步2.service处理业务相关3.和UI层以及dao层进行交互 UI层界面---控制台&#xff0c;单例模式1.创建单例的方法…