ESP RainMaker OTA 自动签名功能的安全启动

【如果您之前有关注乐鑫的博客和新闻,那么应该对 ESP RainMaker 及其各项功能有所了解。如果不曾关注,建议先查看相关信息,知晓本文背景。】


在物联网系统的建构中,安全性是一项核心要素。乐鑫科技对系统安全给予了极高的重视。ESP RainMaker 平台能使设备安全接入 Wi-Fi 网络,并支持通过云平台进行有效的控制和监控。此外,硬件自身的安全性亦不容忽视。因此,乐鑫的 MCU 设备集成了多种安全特性,如安全启动、flash 加密等。

其中,安全启动功能尤为重要,该功能确保了只有获得授权的固件能在 MCU 上运行。在 ESP-IDF 中使能安全启动功能十分简便,然而,安全启动密钥的管理责任归开发者所有。对此,乐鑫用户有一系列疑问,例如:

  • 如何生成安全启动密钥?
  • 安全存储密钥的地方:是开发者的设备还是服务器?
  • 如何防止密钥泄露?工程师离职对此有何影响?
  • 如何正确配对设备和密钥,以避免升级时采用错误的密钥造成潜在风险?
  • 如何管理固件相似但安全启动密钥不同的设备?

ESP RainMaker 最新引入的“安全签名”功能解答了上述疑问,扫除了用户的担忧。它具备如下功能:

  • 生成和管理密钥;
  • 在设备制造之前简化 BootLoader 和应用固件的签名过程;
  • 支持在部署固件升级任务之前进行固件自动签名的功能。

OTA 的自动签名功能

使用 OTA 的自动签名功能时,开发者只需将未签名的固件上传到 ESP RainMaker 平台,并部署固件升级任务。ESP RainMaker 后端会在固件升级过程中使用正确的密钥进行签名处理。

使用安全启动自动密钥选择进行 OTA 作业窗体顶端

如果这些设备使用不同密钥进行密钥验证,ESP RainMaker 将确保只有正确签名的固件发送到对应的设备。

开发者现在无需跟踪密钥(甚至在许多情况下,密钥对开发者不可见),从而极大地简化了设备签名密钥管理。

此外,由于密钥管理的过程在云端进行,无需开发者与设备管理人员的参与,使他们的分工变得更为明确。

密钥管理

在 ESP RainMaker 平台中,安全启动签名密钥在 ESP RainMaker 云端 中创建、维护。私钥本身对用户不可见,仅用于执行签名请求。在私有部署中,RainMaker 采用符合 FIPS(联邦信息处理标准)的硬件安全模块 (HSM) 确保安全性。访问控制授权了签名请求,确保只有获得授权的人员可以对固件镜像进行签名,增强了系统的安全性。

首次签名

在 ESP RainMaker 平台中创建签名密钥后,用户需要对启用安全启动功能的BootLoader 和固件进行签名,然后将它们烧录到生产设备上。操作方法是:首先,将未经过签名的 BootLoader 和固件镜像上传到相应的平台或工具中,上传完成后,用户对这些未签名的镜像进行首次签名操作。

ESP RainMaker 提供了详尽的烧录指南和设置说明,指导用户如何正确烧录签名后的BootLoader和固件到 SoC 上,以完成配置并确保设备能够实现安全启动。

安全签名功能适用于公共和私有 RainMaker 部署环境。在操作该功能时,请确保使用后端版本 2.1.0 或更新版本以及前端版本 2.0.1 或更新版本。

获取使用详情,请查看 ESP RainMaker docs。如有任何疑问,请发送邮件至 esp-rainmaker-support@espressif.com 与我们联系。

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

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

相关文章

OpenCV学堂 | 汇总 | 深度学习图像去模糊技术与模型

本文来源公众号“OpenCV学堂”,仅用于学术分享,侵权删,干货满满。 原文链接:汇总 | 深度学习图像去模糊技术与模型 引言 深度学习在图像去模糊领域展现出了强大的能力,通过构建复杂的神经网络模型,可以自…

Golang | Leetcode Golang题解之第337题打家劫舍III

题目: 题解: func rob(root *TreeNode) int {val : dfs(root)return max(val[0], val[1]) }func dfs(node *TreeNode) []int {if node nil {return []int{0, 0}}l, r : dfs(node.Left), dfs(node.Right)selected : node.Val l[1] r[1]notSelected : …

Kotlin Multiplatform 跨平台开发的优化策略与实践

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 Kotlin Multiplatform 跨平台开发的优化策略与实践 在当今快速发展的软件开发领域,跨平台开发技术正变得越来越重要。Kotlin Multi…

Ubuntu中服务部署

Ubuntu中服务部署 一、root用户密码一、SSH远程连接二、JDK1.8安装1、解压上传的安装包2、配置jdk环境变量 三、minio安装1、官网下载安装包2、上传文件并授权3、书写启动脚本4、启动及说明5、启动异常 四、nacos安装1、下载上传安装包,并解压2、修改启动脚本3、配置…

[RCTF2015]EasySQL1

打开题目 点进去看看 注册个admin账户,登陆进去 一个个点开看,没发现flag 我们也可以由此得出结论,页面存在二次注入的漏洞,并可以大胆猜测修改密码的源代码 resoponse为invalid string的关键字是被过滤的关键字,Le…

2百多首胎教儿童音乐ACCESS\EXCEL数据包

还记录之前我搞到过一个《113个大自然声音助眠纯音乐白噪音数据包》吗?今天又遇到了一个胎教儿童音乐,辅助用于怀孕手册、胎教指南、儿童早教类产品是个很不错的数据包哦。 MP3文件对应记录数共258条,大小总容量为1GB,其中分类汇总…

基于JavaWeb的本科生交流培养管理平台的设计与实现--论文pf

TOC springboot529基于JavaWeb的本科生交流培养管理平台的设计与实现--论文pf 第1章 绪论 1.1选题动因 当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和…

物联网(IoT)详解

物联网(IoT)详解 1. IoT定义简介2. IoT工作原理3. IoT关键技术4. 物联网与互联网区别5. IoT使用场景6. 开源物联网平台7. 参考资料 1. IoT定义简介 首先第一个问题,什么是物联网(IoT)? 物联网(英文&#…

PyCharm单步调试

1、先在入口设置断点,再点击爬虫图标(shift F9)开始调试 调试图标如图: 2、蓝色光标表示当前运行在这行 3、快捷键 F7:进入当前行函数 F8:单步 F9:全速运行

以FLV解复用为例详解开源库FFmpeg中解复用器的源码逻辑及处理流程

目录 1、FFmpeg简介 2、FLV文件格式介绍 3、注册解复用器 4、解复用器的处理 4.1、AVFormatContext 4.1.1、AVClass 4.1.2、AVOption 4.1.3 AVDictionary—AV字典 4.1.4、AVIOContext 4.1.4.1、URLProtocol 4.1.4.2、AVIOContext的初始化及获取 4.1.5、AVInputF…

【手撕数据结构】链式二叉树

目录 链式二叉树的结构及其声明链式二叉树的四种遍历方式前序遍历中序遍历(中根遍历)后序遍历层序遍历概念思路分析详细代码 求树的节点个数变量累加法(错误)分治递归法 求树的叶子节点个数警惕空指针正确代码 求第k层节点个树思路分析及规则明细代码详细…

算法学习017 不同的二叉搜索树 c++算法学习 中小学算法思维学习 比赛算法题解 信奥算法解析

目录 C不同的二叉搜索树 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、运行结果 五、考点分析 六、推荐资料 C不同的二叉搜索树 一、题目要求 1、编程实现 给定一个整数n,求以1、2、3、......、n为节点组成的二叉搜索树有多少种…

C++ 设计模式——工厂方法模式

工厂方法模式 工厂方法模式主要组成部分代码实现工厂方法模式模式的 UML 图工厂方法模式 UML 图解析优点和缺点适用场景 工厂方法模式 工厂方法模式是一种创建型设计模式,它通过定义一个接口用于创建对象,但由子类决定实例化哪个类。与简单工厂模式不同…

数据结构----栈

一丶概念 只能在一端进行插入和删除操作的线性表(又称为堆栈),进行插入和删除操作的一端称为栈顶,另一端称为栈底 二丶特点 先进后出 FILO first in last out 后进先出 LIFO last in first out 三丶顺序栈 逻辑结构&…

什么是制造业项目管理软件?适合制造企业的项目管理软件具备哪些特征

当前,我国的制造业呈现出稳步增长与风险并存的现象。经济构建以国内大循环为主体,国产替代的浪潮正在席卷国内制造业,越来越多的制造领域企业开始启动数字化变革来支撑企业的迅猛发展,进一步优化项目管理流程,促进研发…

Impala 与 Hive 的比较

Impala 与 Hive 的关系 impala是基于hive的大数据分析查询引擎,直接使用hive的元数据库metadata,意味着impala元数据都存储在hive的metastore当中,并且impala兼容hive的绝大多数sql语法。所以需要安装impala的话,必须先安装hive&…

开发小运维-常用Linux资源监控命令

文章目录 简介常用命令/proc/meminfo(内存)free(内存信息)top(进程动态)df (磁盘信息)du(磁盘信息)ps(进程状态)vmstat(内…

iOS的App启动详细过程(底层知识)

1.虚拟内存 & ASLR 在早期计算机中数据是直接通过物理地址访问的,这就造成了下面两个问题 1.内存不够用 2.数据安全问题 内存不够 ---> 虚拟内存 虚拟内存就是通过创建一张物理地址和虚拟地址的映射表来管理内存,提高了CPU利用率,…

IDEA:如何在idea中设置自动导包

这里使用的是idea2020版本,但是不同版本操作不会有较大的差别. 在Editer中展开General之后,选中Auto Import,最后勾选中Add unambiguous imports on the fly.

DMHS数据同步工具

DMHS数据同步工具 ​ 本章节主要介绍DM数据同步工具DMHS的使用,通过将oracle11g的数据同步到DM8的过程来理解DMHS的功能和作用。 安装前的准备 端口、服务信息 IP地址服务名称版本端口安装路径192.168.19.136OracleOracle11.0.21521/opt/oracle/DMHS源端dmhs_V3…