基于SOPC的USB密码模块硬件与固件设计
引言
密码模块是指被容纳在加密边界范围中,执行认可安全功能(包括加密算法与密钥产生)的硬件、软件和固件的组合[1]。集加密存储、安全认证等功能于一体的USB密码模块,可作为USB安全钥载体、USB加密卡、USB大容量加密存储体应用于保护信息系统和秘密信息的主要工具,具有十分良好的市场应用背景。
SOPC(System On a Programmable Chip)技术是一种灵活、高效的软硬件综合解决方案。硬件上可裁剪、可扩充、可升级,有丰富的IP核可供集成,使得设计变得十分灵活[23]。
本文提出了基于SOPC的USB密码模块设计思想,其目标是设计一款集加密存储、安全认证等功能于一体的基于SOPC的USB密码模块应用系统。
1 基于SOPC的USB密码模块总体设计
1.1 设计思想
本设计是基于模块的设计思想,充分利用SOPC现有资源开发特殊功能的应用子系统。用USB2.0接口控制芯片、有丰富可编程资源的FPGA芯片、安全存储专用芯片以及大容量Flash构成密码模块硬件基础。以FPGA为控制中心,实现FPGA对相连部件的操作。
1.2 功能模块及组成
整个模块系统包括硬件层、固件层、驱动层、应用层4部分。硬件层包括嵌入式主控制器及其周边环境、高性能密码处理单元、内部安全控制引擎、应用平台通信接口等模块;固件层包括协议栈、嵌入式软件等;驱动层包括器件驱动程序;应用层包括基于操作系统的各类应用软件API。其总体架构如图1所示。
图1 USB密码模块总体架构
1.3 安全策略
本系统中安全策略包括模块安全管理和数据安全管理。具体内容包括基于口令的认证、口令设置修改、模块有效期管理、安全参数保护管理、数据有效期管理、数据加密和数据销毁等。
口令认证:通过硬件实现用户对模块访问操作的口令认证。
口令设置修改:系统设计有多种级别的口令权限,负责不同的操作。
模块有效期管理: 若判断到达或超过使用期限,则自动销毁存储数据和安全参数,并锁定密码模块。
数据有效期管理:当达到数据使用期限时,可自动销毁存储在大容量Flash里的数据。
数据销毁:分为自动销毁和主动销毁。当非法使用、口令攻击和数据有效期失效时,自动销毁用户存储在大容量Flash中的数据。
数据加密: 使用分组算法,通过密码模块密钥对用户存储在大容量Flash中的数据写入加密;读出时解密,以保证存储在其内的始终是密文。
2 硬件设计
2.1 硬件架构模型
本文在研究了应用需求的基础上,提出了图2所示的硬件架构模型。
相关文章
- 2024-10-08辐流沉淀池φ100m周边驱动刮泥机钢结构桁架有限元分析
- 2024-10-31高压电能整体检测的意义
- 2023-11-21用声发射技术测定轴承缺陷
- 2024-04-02DZS-Ⅱ型低速风洞微风段测量
- 2023-05-18基于谐振原理的硅微薄膜弯曲疲劳装置的设计
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。