第1章
固件签名概述
什么是固件签名 · 为什么需要固件签名 · 签名与加密的区别
概念基础
第2章
密码学基础(上)
对称/非对称加密 · 哈希函数(SHA256) · 数字签名原理
密码学核心
第3章
密码学基础(下)
公钥基础设施PKI · 证书链 · 根证书与中间证书
PKI证书
第4章
签名算法详解
RSA · ECDSA · Ed25519 · 算法选型对比
算法选型
第5章
开发环境搭建
OpenSSL安装 · Python Cryptography · HashiCorp Vault部署
环境工具
第6章
OpenSSL实战(上)
生成RSA密钥对 · 自签名证书 · 导出公钥/私钥
OpenSSL密钥
第7章
OpenSSL实战(下)
固件签名 · 验证签名 · 查看签名信息
签名验证
第8章
Python签名工具开发(上)
cryptography库加载密钥 · 计算固件哈希
Python哈希
第9章
Python签名工具开发(中)
实现签名函数 · 签名格式设计(头部+签名值+固件)
签名格式
第10章
Python签名工具开发(下)
验证函数 · 异常处理 · 日志记录
验证异常
第11章
签名流程设计
离线vs在线签名 · 签名服务器架构 · 密钥管理策略
架构流程
第12章
固件打包格式
标准固件头 · 签名嵌入位置 · 多分区签名策略
打包分区
第13章
Bootloader验签(上)
MCU启动流程 · Bootloader与App分区 · 安全启动链
BootloaderMCU
第14章
Bootloader验签(下)
签名验证代码实现 · 跳转条件 · 验签失败处理
实现跳转
第15章
安全启动链
一级Bootloader验签二级 · 二级验签App · 信任根设计
信任链安全
第16章
硬件安全模块(HSM)
HSM作用 · PKCS#11接口签名 · 与软件签名对比
HSM硬件
第17章
安全元件(SE)与TEE
TEE签名操作 · SE存储私钥 · ARM TrustZone
SETEE
第18章
密钥生命周期管理
生成 · 分发 · 轮换 · 吊销 · 销毁 · 审计日志
密钥管理
第19章
代码签名证书
从CA申请证书 · EV代码签名证书 · 时间戳服务
证书CA
第20章
多平台签名策略
Linux固件签名 · Windows驱动签名 · MCU差异
跨平台策略
第21章
CI/CD集成签名
Jenkins Pipeline · GitLab CI Job · 自动化流水线
CI/CD自动化
第22章
签名性能优化
批量签名 · 多线程 · 硬件加速(ARM Cryptography Extensions)
性能优化
第23章
常见签名攻击与防御
替换攻击 · 重放攻击 · 侧信道 · 防御措施
攻击防御
第24章
固件更新安全
差分更新签名 · 回滚保护 · 版本号防篡改
更新OTA
第25章
合规与标准
IEC 62443 · ISO 21434 · FIPS 140-3 · Common Criteria
合规标准
第26章
调试与排错(上)
签名验证失败原因 · 日志分析 · 模拟器调试
调试日志
第27章
调试与排错(下)
JTAG/SWD调试Bootloader · 断点 · 内存查看
JTAG硬件调试
第28章
案例实战(一)
基于STM32的固件签名与安全启动完整实现
STM32实战
第29章
案例实战(二)
基于ESP32的OTA签名更新实现
ESP32OTA
第30章
总结与最佳实践
签名方案选型决策树 · 常见误区 · 量子安全签名趋势
总结趋势