加密狗固件开发
入门指南
📘
30章 · 从零到实战
01
加密狗概述
什么是加密狗
工作原理
应用场景
主流芯片
02
开发环境搭建
Keil/IAR
STM32CubeMX
GCC工具链
J-Link/ST-Link
03
固件架构设计
主循环架构
状态机架构
RTOS架构
内存布局
启动流程
04
USB协议基础
USB 2.0概述
描述符
端点概念
控制/批量传输
05
HID设备实现
报告描述符
通信流程
键盘/鼠标
自定义HID
06
CCID设备实现
CCID协议
APDU指令
智能卡模拟
PC/SC驱动
07
Mass Storage设备
SCSI命令集
FAT模拟
只读/读写
加密分区
08
自定义USB设备
Vendor接口
自定义请求
批量传输
高速模式
09
加密算法基础
AES/DES
RSA/ECC
SHA-256
HMAC
10
硬件加密引擎
AES加速器
TRNG
安全存储区
防侧信道
11
密钥管理策略
密钥生成/派生
安全存储
生命周期
远程更新
12
认证协议设计
挑战-响应
单向/双向
时间戳防重放
会话密钥
13
固件防篡改
签名验证
安全启动链
完整性检查
Flash写保护
14
通信加密通道
USB链路加密
数据包加密
密钥交换
抗重放
15
PC端驱动开发
libusb/WinUSB
HID API
设备枚举
同步/异步
16
上位机SDK封装
跨平台API
C/C++封装
Python绑定
错误码
17
许可证管理
许可证文件
离线/在线激活
硬件绑定
有效期校验
18
防破解技术
反调试
代码混淆
花指令
加密执行
19
固件升级机制
DFU模式
加密传输
版本回滚保护
失败恢复
20
日志与调试
串口日志
USB调试通道
异常捕获
性能分析
21
低功耗设计
USB挂起/恢复
时钟门控
待机唤醒
功耗测量
22
兼容性测试
多系统测试
Hub兼容
高速/全速
供电验证
23
量产工具开发
唯一ID烧录
密钥注入
批量下载
功能测试
24
安全认证标准
FIPS 140-2/3
CC EAL
国密SM2/SM3/SM4
PCI PTS
25
常见攻击与防御
侧信道SPA/DPA
故障注入
逻辑分析仪
USB协议攻击
26
RTOS集成
FreeRTOS任务
USB协议栈移植
互斥锁/信号量
中断通信
27
多实例支持
多逻辑设备
复合设备
接口交替
多线程安全
28
性能优化
USB吞吐量
加密加速
内存优化
中断响应
29
案例分析
软件授权加密狗
数据加密U盘
身份认证令牌
HSM
30
项目实战
需求分析到量产
问题排查清单
文档规范
持续维护