🧩 加密狗实战
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