1.1 课程架构介绍:STM32H5信息安全特性概览

1.1 课程架构介绍:STM32H5信息安全特性概览

1. 概述

开发者在打造嵌入式系统时,安全和性能是产品开发设计的考量重点。为实现这一目标,ST推出了STM32H5系列,该系列作为微控制器新标杆面向工业应用市场,将为用户带来更强劲性能和安全性,提供更多设计自由,加快产品上市。

STM32H5系列可提供从安全硬件到完整解决方案的丰富资源,用户可根据需要选择。

STM32H5带来更加出色的安全机制,例如配备永久信任根(iRoT )和可更新可信根(uRoT)的双级可信根。

STM32H5还加入了生命周期管理,基于认证的调试等新功能,这些新功能可帮助开发人员更好地在现场管理调试设备。使用STM32H5系列,工程师可以在不影响安全性的情况下,重新打开调试功能,从而为其他现场工作提供便利。有了全新STM32H5系列的硬件和软件功能,安全性将更加实用。

由ST开发和维护的全新的可信执行环境解决方案——安全管理器,可简化开发人员的工作流程,且不受开发人员专业能力的限制,极大地降低了信息安全功能的开发门槛。

STM32推出《STM32H5信息安全培训课程》:https://c.51diantang.com/columndetail?id=154aaa87d2634480ad9ad5aff3ead364,下面是我自己在学习过程中总结的笔记,也算留下点记忆,给平淡的生活留下点痕迹

image-20240311222055016

2. 嵌入式设备信息安全

image-20240307223956609

嵌入式设别信息安全的典型需求:

  • 调试访问控制与设备生命周期管理:保护调试端口,管理各阶段设备资源的访问;
  • 安全启动与安全升级:保证应用固件完整可信,来源可靠;
  • 软件IP与存储器保护:保护代码与数据的机密性,防止未经授权的访问;
  • 加解密引擎与随机数发生器:用于身份认证,数据加密,安全通信等;
  • 安全存储:实现敏感数据和密钥的安全存储和使用;
  • 关键代码隔离与可信执行环境:保护复杂系统敏感代码和冠军外设相关操作。

3. STM32 H5 安全特性总览

image-20240307224543254

  • 存储保护(防止未授权保护):OTP,HDP(隐藏保护),WRP(写保护),MPU,OTFDec(外部Flash实时解密),Product State(调试端口保护),Active Tamper(动态放拆机保护)。

  • 加解密(带硬件安全防护):带侧信通道攻击防御的SAES,PKA,AES,SHA,TRNG,OTFDec,HUK硬件唯一密钥,NIST-CAVP认证的Cryptolib。

  • 安全启动与系统验证(产品生命周期管理):多级Flash启动保护,ST-iROT / OEM-iROT安全启动方案,带认证的调试Debug Authentication。

  • 代码隔离与安全存储(存储与动态执行保护):7个隔离保护区,Arm TrustZone 系统级隔离技术,专用的安全存储区,HUK硬件唯一密钥。

  • 交钥匙安全服务解决方案:STM32 Trust TEE Secure Manager安全管理器,Easy registration to clouds & servers,多方软件IP保护,预集成第三方PKI生命周期管理,永久信任根。

通过上述的介绍,客户可以根据自己不同的使用场景,来匹配不同的方案,如果在信息安全方面没有经验,可以直接使用ST的交钥匙的安全服务解决方案。

目前主导的两种的信息安全认证:一个是ARM的PSA的level3,Global platform的认证,同样也是Level3.

4. STM32H5 安全特性 vs. 使用场景

image-20240307224532057

软件IP保护:

  1. Product State:管理芯片访问权限
  2. Debug Authentication:安全调试
  3. HDP,WRP:保护Flash上的代码和数据
  4. OTFDEC:保护外部Flash

安全启动/升级:

  1. ST-iROT:安全启动的BootROM,不需要开发,硬件出厂自带安全启动的方案;
  2. OEM-iROT:源代码方式,可以交由OEM任意修改的安全启动方案。

实现安全通信:

  1. 硬件加解密单元
  2. X-Cube-Cryptolib:如果不带硬件加密单元,可以使用软件加密的算法库X-Cube-Cryptolib。

存储机密数据:

  1. SAES+HUK:存储私钥,和云端交互的密钥,用SAES+HUK实现存储秘密数据的时候一机一密,
  2. OBK安全存储区:Flash和Ram数据的隔离
  3. TrustZone:Flash和Ram数据的隔离

可信执行环境与安全服务:

  1. TrustZone:
  2. TF-M:开源的软件方案
  3. Secure Manager: ST提供的安全方案

5. 如何选择使用STM32H5的安全特性和解决方案

image-20240310112628385

使用场景:


场景1:

​ 保护自己产品的软件IP,不希望被抄袭,使用Product State功能,Lock住,保护固件的时候还希望保留调试功能,可以使用Debug Authentication安全调试的功能,通过调试的时候安全认证后,开启调试功能,内部FLash不够用,还希望外挂Flash上,并且不想在和外置Flash通信的数据明文发送,可以使用OTFDEC的功能。

场景2:

​ 安全启动,安全升级等需求,希望能够使用芯片上固化的BootRom,不希望自己开发代码,可以选择STM32H57x系列芯片的ST-iROT的安全启动方案。如果发现ST提供的ST-iROT不能满足自己的安全启动方案,可以使用OEM-iROT方案,可以使用官方提供的源代码,实现定制化的设计安全启动和安全升级。有自己的BootLoader,希望在这个基础上开发信任根的功能,可以利用安全相关的硬件Boot_LOCK,HDP/HDPL,WRP,OBK等来实现安全启动等技术要求。

场景3:

​ 实现安全通信,如果使用的是不带硬件Crypto型号,可以使用X-Cube-Cryptolib,mbedtls。如果需要同时实现通信安全和硬件加速或硬件安全防护,可以使用带Crypto型号,用SAES,PKA,AES,HASH,RNG等硬件加密模块。如果需要安全存储设备密钥等机密数据,联云等,可以用OBK的专用存储区,SAES+HUB这种一机一密来存储机密数据,可以用到TrustZone的隔离保护,对于关键数据只允许关键的代码操作。

场景4:

  • 需要保护关键代码和外设控制:本身自己精通TrustZone技术->直接自己开发TrustZone应用;
  • 希望有TEE架构和内建的安全服务:有开发能力,有定制化修改的需求-> TF-M;
  • 希望有无需开发的安全启动+TEE+安全服务:可以使用ST官方生成的二进制文件,应用于STM32H57x系列芯片-> Secure Manager。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(每日持续更新)jdk api之StreamTokenizer基础、应用、实战

博主18年的互联网软件开发经验,从一名程序员小白逐步成为了一名架构师,我想通过平台将经验分享给大家,因此博主每天会在各个大牛网站点赞量超高的博客等寻找该技术栈的资料结合自己的经验,晚上进行用心精简、整理、总结、定稿&…

Linux -- 线程概念和控制

一 什么是线程 1.1 线程的引出 我们开始理解一下Linux中的线程。我们以前说过,一个进程被创建出来,要有自己对应的进程PCB的,也就是 task_struct,也要有自己的地址空间、页表,经过页表映射到物理内存中。所以在进程角…

Docker:构建镜像,运行springboot项目、服务器开启虚拟内存

文章目录 构建镜像,运行项目开启虚拟内存构建,运行 构建镜像,运行项目 开启虚拟内存 我们自己购买服务器一般内存就2g,是不够用的,所以要开启虚拟内存。 创建目录 mkdir /file创建虚拟内存 dd if/dev/zero of/fi…

java数据结构与算法刷题-----LeetCode46. 全排列

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 暴力回溯2. 分区法回溯 1. 暴力回溯 解题思路:时…

ASP.NET-Server.HtmlEncode

目录 背景: 1.转义特殊字符: 2.防止跨站脚本攻击(XSS): 3.确保输出安全性: 4.保留原始文本形式: 5.与用户输入交互安全: 实例说明: 不用Server.HtmlEncode 效果展示: 用Server.HtmlEnc…

蜘蛛矩阵系统:一个人如何运营上百个账号,方法在这里!

实体店若想在线上吸引客源,绝不能仅仅满足于拍摄几段短视频。现今的市场竞争已经迫使许多商家采用更先进的策略蜘蛛矩阵系统来进行获客。想象一下,你的竞争对手正在运用这一系统,他们开通有一百个账号,每天可以发布一百条的视频&a…

vue3 表单数据发生改变时,切换路由给我提示

一、需求说明 1、当表单数据未发生改变时,save和discard按钮不可点击,路由切换时无提示(如下图所示) 2、当表单数据发生改变时,save和discard按钮可点击,路由切换时出现提示(如下图所示&#x…

【C语言_C语言语句_复习篇】

目录 一、C语言的语句有哪些 1.1 空语句 1.2 表达式语句 1.3 函数调用语句 1.4 复合语句 1.5 控制语句 二、分支语句(两种) 1.1 if语句 1.1.1 普通分支语句(if、if_else) 1.1.2 嵌套if语句 1.1.3 else嵌套if两种写法的比较 1.1.4 else悬空问题 1.1.…

西贝柳斯Sibelius2024免费专业的乐谱制作软件

西贝柳斯Sibelius是一款专业的乐谱制作软件,广泛应用于音乐教育、电影配乐、管弦乐团、合唱团等领域。以下是对Sibelius软件的详细介绍: sibelius2024版本下载如下: https://wm.makeding.com/iclk/?zoneid47077 一、功能 Sibelius具有强大…

Promise搞不懂,看这篇就明白了

Promise搞不懂,看这篇就明白了 Promise 是异步编程的一种解决方案,实质上Pomise是个对象,用来封装异步操作,可以更加优雅的书写复杂的异步任务。 具体来看他是怎么工作的: Promise语法格式 new Promise(function (re…

学习SSM的记录(八)-- SSM整合项目《任务列表案例》

前端程序搭建和运行 项目预览 接口分析 1.学习计划分页查询 需求:查询对应数据页数据 uri:schedule/{pageSize}/{currentPage} 请求方式:get 响应数据:json {"code":200,"flag":true,"data"…

基于java+springboot+vue实现的高校社团管理系统(文末源码+Lw+ppt)23-419

摘 要 系统根据现有的管理模块进行开发和扩展,采用面向对象的开发的思想和结构化的开发方法对高校社团的现状进行系统调查。采用结构化的分析设计,该方法要求结合一定的图表,在模块化的基础上进行系统的开发工作。在设计中采用“自下而上”…

【C++算法模板】字典树,超详细注释带例题讲解

文章目录 0)概述1)数据结构2)插入操作3)查询操作4)完整代码1. 字符数组2. 字符串 视频链接:F06 字典树(Trie) 0)概述 是快速插入和查询字符串的多叉树结构,根节点编号为0&#xff0…

Redis:使用redis-dump导出、导入、还原数据实例

redis的备份和还原,借助了第三方的工具,redis-dump 1、安装必要环境 yum -y install zlib-devel openssl-devel2、安装redis-dump 安装ruby: ruby下载地址:https://www.ruby-lang.org/zh_cn/downloads/ 我下载的是 2.5.0 版本…

Linux系统下基于VSCode和Cmake进行C++开发

目录 简介一、GCC编译器1.1创建cpp文件1.2编译过程1.3g重要编译参数 二、GDB调试器三、IDE-VScode3.1 VSCode常用快捷键3.2 swap测试 四、CMake4.1CMake介绍4.2 CMake语法特性介绍4.3 CMake重要指令和常用变量4.4 CMake编译流程4.5CMake代码实践 五、使用VSCode进行完整项目开发…

Gateway网关在url参数带有特殊字符的情况下转发失败(响应400)

本文主要分享了,SpringCloud Gateway网关在url参数带有空格或者特殊字符的情况下,转发失败导致响应错误码400的解决方案。 响应400错误码的2种场景: 1.参数带空格,Gateway会误认为该空格是切割符,如?phone 135****6…

B/S基于云计算的云HIS智慧医院管理系统源码带电子病历编辑器

目录 一、系统概述 二、开发环境 三、系统功能 1、门诊部分 2、住院部分 3、电子病历 4、药物管理 5、统计报表 6、综合维护 7、运营运维 云HIS系统:病案首页 云his系统源码 SaaS应用 功能易扩 统一对外接口管理 现如今,大数据、云计算、移动…

深入浅出计算机网络 day.2 概论⑥ 计算机网络体系结构

上帝疯狂杜撰世界悲情的命题 将凉薄和荒芜尽写 —— 24.3.13 内容概述 1.常见的三种计算机网络体系结构 2.计算机网路体系结构分层的必要性 3.计算机网络体系结构分层思想举例 4.计算机网络体系结构中的专用术语 一、常见的三种计算机网络体系结构 1.OSI参考模型 …

Linux第77步_处理Linux并发的相关函数

了解linux中的“原子整形数据”操作、“原子位数据”操作、自旋锁、读写锁、顺序锁、信号量和互斥体,以及相关函数。 并发就是多个“用户”同时访问同一个共享资源。如:多个线程同时要求读写同一个EEPROM芯片,这个EEPROM就是共享资源&#x…

运行vue项目时的问题

1.问题:在终端输入:npm run serve时,弹出选择应用以打开npm 2.解决方法: 在你的终端中输入:get-command npm(第一次可能没反应 再输入一次) 根据这个路径找到npm删除即可 再次运行npm run serve