🧩 加密狗实战 STM32

📘 30章 · 从入门到项目
01 加密狗概述
  • 什么是加密狗
  • 应用场景
  • STM32优势
02 硬件选型
  • STM32选型
  • 加密芯片
  • 外围电路
03 开发环境搭建
  • Keil MDK
  • STM32CubeMX
  • HAL/LL库
04 GPIO与按键
  • 输入输出
  • 消抖处理
  • 中断读取
05 USB通信基础
  • 协议简介
  • USB Device库
  • CDC/HID
06 USB HID实现
  • 报告描述符
  • 数据传输
  • PC通信测试
07 USB CDC实现
  • 虚拟串口
  • 数据收发
  • 波特率自适应
08 I2C通信
  • 协议基础
  • 外设配置
  • 加密芯片通信
09 SPI通信
  • 协议基础
  • 外设配置
  • 高速传输
10 加密算法基础
  • AES
  • RSA/ECC
  • SHA256
11 AES加密实现
  • 硬件加速器
  • ECB/CBC
  • 密钥管理
12 SHA256哈希
  • 硬件哈希
  • 完整性校验
  • 固件签名
13 真随机数TRNG
  • TRNG配置
  • 质量测试
  • 密钥生成
14 唯一ID与防克隆
  • 芯片ID读取
  • ID绑定加密
  • 防克隆策略
15 安全存储
  • Flash读写
  • 安全区划分
  • 加密存储
16 固件加密与解密
  • 固件加密打包
  • Bootloader解密
  • 防逆向
17 挑战-应答认证
  • 协议设计
  • STM32实现
  • 主机验证
18 时间戳与防重放
  • 时间戳生成
  • 防重放机制
  • 时间同步
19 多用户权限管理
  • 角色定义
  • 权限等级
  • 动态密钥派生
20 日志与审计
  • 安全日志
  • 加密存储
  • 导出分析
21 低功耗设计
  • 低功耗模式
  • USB挂起唤醒
  • 电池优化
22 固件升级(OTA)
  • Bootloader
  • 签名验证
  • 回滚机制
23 PC端驱动开发
  • WinUSB/libusb
  • Linux udev
  • 跨平台
24 上位机SDK设计
  • API封装
  • DLL/SO
  • C#/Python
25 生产测试
  • 功能测试用例
  • 批量烧录
  • 质量检测
26 安全攻击与防护
  • SPA/DPA
  • 故障注入
  • 防护措施
27 合规与认证
  • FIPS 140
  • CC EAL
  • 国密认证
28 项目实战一
  • 软件授权加密狗
  • 保护桌面软件
29 项目实战二
  • 物联网身份认证
  • Matter/OCSP
30 项目实战三
  • 金融支付安全
  • PCI PTS