引言密码模块是指被容纳在加密边界范围中,执行认可安全功能(包括加密算法与密钥产生)的硬件、软件和固件的组合。集加密存储、安全认证等功能于一体的USB密码模块,可作为USB安全钥载体、USB加密卡、USB大容量加密存储体应用于保护信息系统和秘密信息的主要工具,具有十分良好的市场应用背景。SOPC(SystemOnaProgrammableChip)技术是一种灵活、高效的软硬件综合解决方案。硬件上可裁剪、可扩充、可升级,有丰富的IP核可供集成,使
引 言
密码模块是指被容纳在加密边界范围中,执行认可安全功能(包括加密算法与密钥产生)的硬件、软件和固件的组合。集加密存储、安全认证等功能于一体的USB密码模块,可作为USB安全钥载体、USB加密卡、USB大容量加密存储体应用于保护信息系统和秘密信息的主要工具,具有十分良好的市场应用背景。
SOPC(System On a Programmable Chip)技术是一种灵活、高效的软硬件综合解决方案。硬件上可裁剪、可扩充、可升级,有丰富的IP核可供集成,使得设计变得十分灵活。
本文提出了基于SOPC的USB密码模块设计思想,其目标是设计一款集加密存储、安全认证等功能于一体的基于SOPC的USB密码模块应用系统。
1 基于SOPC的USB密码模块总体设计
1.1 设计思想
本设计是基于模块的设计思想,充分利用SOPC现有资源开发特殊功能的应用子系统。用USB2.0接口控制芯片、有丰富可编程资源的FPGA芯片、安全存储专用芯片以及大容量Flash构成密码模块硬件基础。以FPGA为控制中心,实现FPGA对相连部件的操作。
1.2功能模块及组成
整个模块系统包括硬件层、固件层、驱动层、应用层4部分。硬件层包括嵌入式主控制器及其周边环境、高性能密码处理单元、内部安全控制引擎、应用平台通信接口等模块;固件层包括协议栈、嵌入式软件等;驱动层包括器件驱动程序;应用层包括基于操作系统的各类应用软件API。其总体架构如图1所示。