基于SOPC的USB密码模块硬件与固件设计
作者: 刘建国 武清芳 易青松, 出处:单片机与嵌入式系统应用, 责任编辑: 张帅,
2008-05-27 10:24
本文将介绍基于SOPC(System On a Programmable Chip)的USB密码模块设计思想,其目标是设计一款集加密存储、安全认证等功能于一体的基于SOPC的USB密码模块应用系统。
3、固件设计
3.1 固件工作原理
USB密码模块初始化完成后,首先需要对用户进行身份认证。验证通过,即启动生命期管理模块,并根据口令的权限级别,实现对密码模块系统的安全访问。再继续接收主机命令,并进行相关操作。
若口令验证不正确,则启动口令计数器计数,继续进行口令验证。当计数达到预定值时,则锁定安全专用模块并清空其所有数据,使用户不能进行任何操作。等待管理员重新进行复位设备操作,销毁密钥与数据。
数据的加密存储以页为单位进行,调用AES分组加密算法加密。由128位的模块保护密钥对每页(2 KB)64个分组的存储数据采用密码反馈链接(CBC)模式进行加密。
3.2 固件工作流程
图6描述了基于SOPC的USB密码模块的基本工作流程。系统启动后首先进行系统自检,若自检不正常就退出模块;若自检正常,则调用总控程序,接收用户命令并进行口令认证。若认证成功,则命令有效,启动安全期管理,继续分析命令,完成相应的控制操作(如口令设置、密钥配置、页读或页写、数据销毁),然后继续等待接收用户的命令。若认证不成功,则进入审计过程,开启计数器功能,并继续进行口令认证;当计数达到预定值时,将安全Flash中存储的数据和密钥销毁,并锁定密码模块,使非法用户无法使用。只有管理员可以对模块进行重新配置。
com.cn/200805/90a277b521316ffe26d4b0b5d4e84088.jpg" width=380>
- 本文关键词:

