KNECC608 中 SecureBoot 机制详解

KNECC608中SecureBoot 本质是 “应用固件签名验证机制”,功能兼容ATECC608B。核心逻辑是:设备厂商在运行其主机应用固件前,在BOOT阶段用 “信任的私钥”--固化的32字节随机数 对其应用固件摘要进行签名,由存储其对应公钥的从端设备进行验证辨认真伪。主端在BOOT阶段下发SecureBoot指令后,KNECC608芯片(从端)用预存的 “验证公钥” 对主端应用固件的签名和/或HASH值进行验证 —— 只有签名合法(证明固件来自授权方)或哈希值匹配(证明未被篡改),主机跳出BOOT并允许其主机应用固件执行,否则触发安全锁死(如禁止启动、进入恢复模式)。该功能强调验证主端固件应用程序的合法性(运行于BOOT阶段),主端对从端的认证可以通过单独的MAC命令(08 指令)认证实现(运行于应用程序阶段)。

一、 SecureBoot 密钥对配置

1,签名私钥 与 验签公钥

SecureBoot 的安全性依赖于非对称密钥对(通常采用 ECC P-256 算法):

密钥类型

持有者

存储位置 / 方式

核心作用

签名私钥

设备厂商 / CA

离线存储(如硬件安全模块 HSM、加密服务器)
或者秘密存储于BOOT固件且无法导出

对发布的应用固件计算摘要并对其进行签名

验签公钥

安全芯片

KNECC608“安全密钥槽”(配置为可读禁改或者禁读禁改)

验证固件签名的合法性,确认主机运行应用固件来源可信合法。

2,公钥属性配置

存储公钥的数据槽slot08~slot15择其一(如slot09),通过(slotConfig,keyConfig)配置为ECC公钥,数据锁定后禁止更新,或者公钥写入后单独独立锁定(SlocLocked),禁止任何修改。

3,SecureBoot功能配置(全局配置项70-71)

bit功能描述
15-12指定存储验签公钥的sotID。(pubkey_sotID)
11-08指定存储签名值或者摘要的slotID,分别对应FullSig,FullDig模式有效(store_sotID)
7-5默认0
4

摘要加密随机性要求。1,表示输入摘要必须通过真随机nonce加密,且要求SecureBoot返回MAC;0,此时输入摘要否加密取决于SecureBoot命令,加密也无随机性限制。

3关联密钥永久使能。只有SecureBoot命令成功,置位PersistentDisable的密钥才能使用。
2默认0
1-0

00:SecureBoot功能关闭,不支持

01:FullBoth模式,要求摘要和签名同时下发

10:FullSig模式,首次SecureBoot执行成功后,签名存于store_sotID指定槽

11:FullDig模式,首次SecureBoot执行成功后,摘要存于store_sotID指定槽

二、SecureBoot 完整流程

从设备BOOT启动到设备应用固件被SecureBoot 命令验证激活,流程可分为激活前的签名阶段和设备上电后的启动验证阶段,两阶段通过 “固件签名 - 验证” 闭环确保安全。

阶段 1:应用固件激活前的 “签名预处理”(厂商侧)

应用固件激活前,需对固件进行签名处理,生成 “可被验证的固件包”,步骤如下:

  1. 固件哈希计算:对应用固件(如 MCU 的二进制镜像文件)进行 SHA-256 哈希运算,得到 32 字节的 “固件哈希值”(哈希值唯一对应固件内容,任何微小修改都会导致哈希值变化);
  2. 私钥签名:BOOT启动固件用 “签名私钥” 对应用固件哈希值进行 ECDSA 签名,生成 64 字节的 “应用固件签名值”(包含 R 和 S 参数,对应 ECC 签名格式);
  3. 固件包封装:将 “应用固件 + 应用固件哈希值 + 应用固件签名值” 打包为 “SecureBoot 固件包”,其中 “应用固件哈希值 + 应用固件签名值” 通常作为 “固件头部” 附加在应用固件前,方便BOOT启动时提取。其中的“固件头部”为认证的准备材料。

阶段 2:设备上电后的 “启动验证”(设备侧)

设备上电后,主控 MCU(如 Microchip PIC/AVR、ARM Cortex-M、STM32系列)不会直接执行应用固件,而是BOOT固件先触发 KNECC608的 SecureBoot 验证流程,步骤如下:

步骤 1:启动初始化与固件加载

  • 设备上电,主控 MCU 先进入 “安全启动模式”(运行BOOT固件而非直接运行应用固件),通过 I²C接口与 KNECC608建立通信;
  • 主控BOOT固件 从存储介质(如 Flash、EEPROM)中读取 “SecureBoot 固件包”,分离出 “应用固件”“应用固件哈希值”“应用固件签名值” 三个部分。

步骤 2:安全芯片硬件验证签名

主控 BOOT固件 将 “应用固件哈希值” 和 “应用固件签名值” 发送给 KNECC608,由芯片完成核心验证(避免主控MCU应用固件被注入被篡改导致验证失效):

  1. 芯片接收验证参数:KNECC608通过 “验证指令(Verify Command)” 接收输入:
    • 待验证的哈希值(32 字节,即应用固件哈希值);
    • 签名值(64 字节,即应用固件签名值);
    • 验证公钥所在的密钥槽(如 Slot 9,预存了厂商的验证公钥)。
  2. 内部签名验证:
    • KNECC608从指定密钥槽读取验证公钥;
    • 调用芯片内置的 “ECDSA 验签引擎”,用验证公钥对 “应用固件哈希值” 和 “应用固件签名值” 进行验证 —— 核心是检查 “该签名是否由与验证公钥对应的私钥生成”(即确认固件来自授权厂商)。
  3. 哈希一致性校验(可选增强步骤):

为防止 “固件包中的哈希值被篡改”,部分场景下会增加一层验证:

主控 BOOT固件 将 “应用固件” 发送给 KNECC608,芯片通过内置 SHA-256 引擎重新计算固件哈希值(认证效率偏低);主控 BOOT固件对比本产品KNECC608芯片 “重新计算的哈希值” 与 “固件包中的哈希值”,若一致则确认固件未被篡改,否则认为MCU固件不安全,终止后续操作。

4.推荐加密输入和返回MAC方式验签

为防止假冒安全芯片滥竽充数(总是返回验证通过),或者非法弄到验签公钥(安全芯片存储的验签公钥没有配置为禁止读出)都能欺骗启动BOOT验证通过。故推荐SecureBoot 功能配置bit4置1,采用IO保护密钥的MAC认证模式,实现单指令的双向认证(认证效率高,安全),此处暂不详细展开,需要使能IO保护功能和IO保护密钥配置。

步骤 3:结果反馈与启动决策

  • 若验证通过(签名合法且哈希一致):KNECC608向主控 MCU 返回 “验证成功” 响应(如特定状态码);主控 MCU 接收到成功信号后,加载并执行应用固件,设备进入正常工作模式。
  • 若验证失败(签名非法或哈希不匹配):KNECC608返回 “验证失败” 响应;主控BOOT固件触发安全策略 —— 常见措施包括:禁止应用固件执行、点亮错误指示灯、锁定 Flash 写入权限、通过硬件引脚触发设备复位,或进入 “恢复模式”(仅允许通过特定安全通道更新固件)。

总结:SecureBoot 机制通过 “厂商私钥签名固件→芯片公钥验证签名→硬件级哈希校验” 的闭环,确保设备启动时仅运行授权且未篡改的固件。其核心价值在于:用硬件安全特性解决了软件级 SecureBoot 中 “公钥易被替换、验证易被绕过” 的痛点,为物联网设备提供了从启动阶段开始的 “根安全保障”,广泛适用于智能家居、工业控制、医疗设备等对固件安全性要求极高的场景。

相关新闻

Jasna 完整指南:从显卡检查到出片,免费实现 JAV 视频马赛克修复

Jasna 完整指南:从显卡检查到出片,免费实现 JAV 视频马赛克修复

Jasna 完整指南:从显卡检查到出片,免费实现 JAV 视频马赛克修复 【免费下载链接】jasna Video restoration tool 项目地址: https://gitcode.com/GitHub_Trending/ja/jasna 手上有带马赛克的视频想清理,但先要确认两件事:显…

2026/10/21 1:43:29 阅读更多 →
东芝双通道标准数字隔离器:低功耗工业隔离选型与设计指南

东芝双通道标准数字隔离器:低功耗工业隔离选型与设计指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 1:43:29 阅读更多 →
ESP-Mosaico模块化协作框架:解决嵌入式多模块开发痛点

ESP-Mosaico模块化协作框架:解决嵌入式多模块开发痛点

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/22 2:57:43 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/21 9:32:40 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/21 9:32:40 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/21 9:32:40 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/21 9:32:40 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/21 9:32:40 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/21 9:31:32 阅读更多 →

日新闻

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/22 1:47:45 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/21 21:32:28 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/21 4:27:17 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 21:50:56 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 21:51:55 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 16:24:48 阅读更多 →