CN214122946U - 一种基于fpga的高速国密算法密码卡 - Google Patents
一种基于fpga的高速国密算法密码卡 Download PDFInfo
- Publication number
- CN214122946U CN214122946U CN202021674373.4U CN202021674373U CN214122946U CN 214122946 U CN214122946 U CN 214122946U CN 202021674373 U CN202021674373 U CN 202021674373U CN 214122946 U CN214122946 U CN 214122946U
- Authority
- CN
- China
- Prior art keywords
- fpga
- module
- chip
- algorithm
- cryptographic algorithm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
一种基于FPGA的高速国密算法密码卡,包括USB接口模块、ARM处理器、FPGA模块、随机数发生器模块、算法协处理器模块、安全模块、存储模块、连接器;该一种基于FPGA的高速国密算法密码卡采用较新的PCI‑e 3.0接口,其传输速率可达到8GT/s;数据不经控制芯片直接由PCI‑e 3.0接口传入FPGA处理,达到了减少了中间数据传输环节,降低了数据最终返回的延迟,提高系统性能的有益效果;两个FPGA逻辑芯片相互独立,即提供2个加解密通道,算法吞吐性能可达40Gbps以上;每个FPGA的PCI‑e接口包括4个DMA通道可以并行传输数据,达到了提高数据交互性能的有益效果;数据进入FPGA后经过SWITCH再分配到各个算法核,由FPGA内部做动态负载均衡,以达到最大效率的有益效果。
Description
技术领域
本实用新型涉及数据通讯技术领域,尤其是一种基于FPGA的高速国密算法密码卡。
背景技术
现有加密卡实现方式有如下几种:
1、基于GPU的密码卡:GPU(Graphics Processing Unit)在芯片设计上突出计算输出最大化,几乎将所有的空间都给了ALU(算数逻辑单元),所以对于AI,HPC,图形渲染这样简单粗暴的浮点矩阵运算,GPU有着极高的峰值计算能力,但是由于GPU和CPU同属于冯诺依曼结构指令译码执行、共享内存。执行单元(如 ALU)可能执行任意指令,就需要有指令存储器、译码器、各种指令的运算器、分支跳转处理逻辑。由于指令流的控制逻辑复杂,不可能有太多条独立的指令流,因此 GPU 使用 SIMD(单指令流多数据流)来让多个执行单元以同样的步调处理不同的数据,极大提高了运算延迟,在一定程度上限制了数据计算能力,并且需要在主机内存和显存之间频繁读取写入数据,严重影响性能;
2、基于DSP的密码卡:DSP(digital singnal Processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件,其优势是具有独特的计算单元并且软件的具有非常高的灵活性,适用于条件进程,特别是复杂的多算法任务。但是受到串行指令流和哈佛架构的限制,接口性能普遍较慢,所以数据吞吐量相对较小;
3、基于定制的ASIC的密码卡:目前现有成熟的支持国密算法芯片性能普遍较差,并且往往需要桥接芯片来实现与外部的高速通讯,严重影响数据吞吐量和延迟,而自研专用高速ASIC成本非常高,技术难度大,周期又过长,灵活性太低无法适应复杂多样的应用场景;
4、基于定制的ASIC的密码卡:FPGA (Field Programmable Gate Array)因其具有低功耗、尺寸小、较强的现场可编程性等特点,真正硬件并行的工作方式,并且可以针对于用户需求的实现需要强大的可编程性能,在高性能的硬件加密方案已逐渐成为国内外的主流;但是,目前市场上能够提供的密码卡大都结构简单,功能单一,加解密速度一般在每秒几百兆到几千兆不等,大都采用PCI-e 2.0等低速接口,存在加解密速度不高,支持的密钥量少等缺点。
发明内容
为了解决解决当前国密密码卡速度慢、延迟高、无法满足高速应用场景的问题,本实用新型提供了一种基于FPGA的高速国密算法密码卡,该一种基于FPGA的高速国密算法密码卡采用较新的PCI-e 3.0 接口,其传输速率可达到8GT/s,约为上一代PCI-e 2.0接口带宽的两倍;数据不经控制芯片直接由PCI-e 3.0接口传入FPGA处理,减少了中间数据传输环节,降低了数据最终返回的延迟,提高系统性能;两个FPGA逻辑芯片相互独立,两个FPGA共包括64个SM3和64个SM4算法核,算法吞吐性能可达40Gbps以上;每个FPGA 的PCI-e接口包括4个DMA通道可以并行传输数据,以充分利用内部算法核,提高数据交互性能;数据进入FPGA后经过SWITCH再分配到各个算法核,由FPGA内部做动态负载均衡,以达到最大效率;DMA采用SG模式,解放CPU的同时也不需要大量连续物理内存,对主机配置要求较低。
本实用新型解决其问题的技术方案是,包括USB接口模块、ARM处理器、FPGA模块、随机数发生器模块、算法协处理器模块、安全模块、存储模块、连接器,其中,所述的USB接口模块与所述的ARM连接,所述的ARM处理器通过EMC接口与FPGA模块、算法协处理器模块连接,所述的FPGA模块与所述的连接器间通过PCIe3.0信号传输数据,所述的FPGA模块包括2片FPGA逻辑芯片,所述的算法协处理器模块包括1片SM2算法协处理器芯片,所述的随机数发生器模块包括4个随机数发生器芯片,所述的4个随机数发生器芯片分别挂载在2片FPGA逻辑芯片上,所述的安全模块包括1片安全芯片,所述的安全芯片连接所述的FPGA模块,所述的存储模块包括1片小容量SPI FLASH芯片、2片大容量SPI FLASH芯片、1片SRAM芯片,所述的1片小容量SPI FLASH芯片挂载到处理器模块上,所述的2片大容量SPI FLASH芯片分别存储两个2片FPGA逻辑芯片的固件,所述的1片SRAM芯片,挂载到处理器模块上;
进一步,所述的ARM处理器采用恩智浦公司的LPC1788,该处理器具有120MHz的主频,内部集成有512KB片上FLASH、96KB片上SRAM;
进一步,所述的FPGA逻辑芯片选用Xilinx公司的XC7VX690T-2FFG1927C;
进一步,所述的SM2算法协处理器芯片采用北京宏思电子的HSM2-H2的高性能密码算法处理芯片,商密型号为 SSX1303;
进一步,所述的安全芯片采用的北京宏思电子技术有限公司的安全芯片,型号为HSC32EU,具有80MHz主频、64K SRAM,512K 片上FLASH;
本实用新型的有益效果是:该一种基于FPGA的高速国密算法密码卡采用较新的PCI-e 3.0 接口,其传输速率可达到8GT/s,达到了约为上一代PCI-e 2.0接口带宽的两倍的有益效果;数据不经控制芯片直接由PCI-e 3.0接口传入FPGA处理,达到了减少了中间数据传输环节,降低了数据最终返回的延迟,提高系统性能的有益效果;两个FPGA逻辑芯片相互独立,即提供2个加解密通道,两个FPGA共包括64个SM3和64个SM4算法核,算法吞吐性能可达40Gbps以上;每个FPGA 的PCI-e接口包括4个DMA通道可以并行传输数据,以充分利用内部算法核,达到了提高数据交互性能的有益效果;数据进入FPGA后经过SWITCH再分配到各个算法核,由FPGA内部做动态负载均衡,以达到最大效率的有益效果;DMA采用SG模式,解放CPU的同时也不需要大量连续物理内存,达到了对主机配置要求较低的有益效果;由于加密卡的持久化状态都储存于SPI Flash中,所以设备的擦除和销毁也都会清空SPI Flash中的相应区域,设备擦除或销毁后,原有的密钥就永久的丢失了,达到了避免设备的回收流程中出现密钥泄露等风险的有益效果。
附图说明:
图1为本实用新型系统框图;
图2为本实用新型工作流程图。
下面结合附图对本实用新型进一步说明。
具体实施方式:
本实用新型的具体实施方式是,参照图1,包括USB接口模块、ARM处理器、FPGA模块、随机数发生器模块、算法协处理器模块、安全模块、存储模块、连接器,其中,所述的USB接口模块与所述的ARM连接,所述的ARM处理器通过EMC接口与FPGA模块、算法协处理器模块连接,主要用于加密卡的管理、密钥管理、用户身份认证和访问控制、安全芯片的访问控制、固件的升级管理,与协处理器通信功能,所述的FPGA模块与所述的连接器间通过PCIe3.0信号传输数据,所述的FPGA模块包括2片FPGA逻辑芯片,用于SM3、SM4并行计算,并通过PCI-e3.0接口完成高速数据传输,所述的算法协处理器模块包括1片SM2算法协处理器芯片,主要用于SM2算法相关运算,所述的随机数发生器模块包括4个随机数发生器芯片,用于产生大量真随机数,所述的4个随机数发生器芯片分别挂载在2片FPGA逻辑芯片上,所述的安全模块包括1片安全芯片,用于存储敏感数据,所述的安全芯片连接所述的FPGA模块,所述的存储模块包括1片小容量SPI FLASH芯片、2片大容量SPI FLASH芯片、1片SRAM芯片,所述的1片小容量SPI FLASH芯片挂载到处理器模块上,用于存储密钥信息,所述的2片大容量SPIFLASH芯片分别存储两个2片FPGA逻辑芯片的固件,所述的1片SRAM芯片,挂载到处理器模块上,用于扩展ARM处理器内存;
进一步,所述的ARM处理器采用恩智浦公司的LPC1788,该处理器具有120MHz的主频,内部集成有512KB片上FLASH、96KB片上SRAM,处理器主要负责整个密码卡的密码体系管理工作,通过EMC的SRAM接口与FPGA通信,并外接扩展SRAM、以及管理SM2专用算法协处理器。通过USB接口实现用户的身份鉴别,实现相关信息的注入导出,通过外扩的SPI Flash保存部分用户信息,通过SPI FLASH控制FPGA固件升级等工作;
进一步,所述的FPGA逻辑芯片选用Xilinx公司的XC7VX690T-2FFG1927C;主要提供PCI-e 3.0接口,完成PCI-e 3.0数据的接收、发送,并完成PCI-e协议解析,提供SM3、SM4密码算法服务,将从PCI-e 3.0接口接收到的管理/密钥协商报文转发至协处理器,并将协处理器返回的管理/密钥协商报文转发至PCI-e总线,接收协处理器发送过来的会话密钥;
进一步,所述的SM2算法协处理器芯片主要实现非对称加解密、数字签名和验证等功能,采用北京宏思电子的HSM2-H2的高性能密码算法处理芯片,商密型号为 SSX1303,HSM2-H2芯片实现了国家标准 SM2 和 SM3 密码算法功能,该芯片可以实现 SM2 算法的数字签名5000次/秒, SM2 算法的数字签名验证2500次/秒;
进一步,所述的安全芯片采用的北京宏思电子技术有限公司的安全芯片,型号为HSC32EU,具有80MHz主频、64K SRAM,512K 片上FLASH,通过安全芯片实现随机数发生器,以及关键敏感数据如保护秘钥等安全存储功能;
参照图1、图2,本实用新型功能实现主要分为初始化、密码运算功能及密钥管理三部分工作。密码卡需要先进行初始化工作,生成并相关密钥,并装载到PCI-e密码卡以及绑定智能密码钥匙,然后才可以提供密码运算功能;
初始化工作主要包括创建管理员账号和操作员账号,账号创建完毕后密码卡会进入就绪态,处于就绪态的密码卡只有在用户登录后才会开启角色相关的密码运算权限,密码卡处理报文工作流程如下:
参照图2,应用程序通过API接口发送报文——>协议层将数据分发加密卡相应模组——>密码卡接收、解析、处理并返回相应结果——>协议层接收、组包——>返回给应用程序。
本实用新型采用FPGA模块实现并行算法运算,极大提高了算法性能,通过EMC总线接口与ARM处理器进行数据的传输,提高了数据传输效率,降低了系统的复杂度,也降低了系统成本;同时由于对外采用PCI-e 3.0高速接口,提升了数据传输性能;上述实施例仅为本实用新型较佳的实施例,是提供给本领域技术人员来实现和使用本实用新型的,本领域技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的发明范围并不被上述实施例所限,任何基于本发明思想的修改或变化均在本发明保护范围内。
Claims (5)
1.一种基于FPGA的高速国密算法密码卡,包括USB接口模块、ARM处理器、FPGA模块、随机数发生器模块、算法协处理器模块、安全模块、存储模块、连接器,其特征是:所述的USB接口模块与所述的ARM连接,所述的ARM处理器通过EMC接口与FPGA模块、算法协处理器模块连接,所述的FPGA模块与所述的连接器间通过PCIe3.0信号传输数据,所述的FPGA模块包括2片FPGA逻辑芯片,所述的算法协处理器模块包括1片SM2算法协处理器芯片,所述的随机数发生器模块包括4个随机数发生器芯片,所述的4个随机数发生器芯片分别挂载在2片FPGA逻辑芯片上,所述的安全模块包括1片安全芯片,所述的安全芯片连接所述的FPGA模块,所述的存储模块包括1片小容量SPI FLASH芯片、2片大容量SPI FLASH芯片、1片SRAM芯片,所述的1片小容量SPI FLASH芯片挂载到处理器模块上,所述的2片大容量SPI FLASH芯片分别存储两个2片FPGA逻辑芯片的固件,所述的1片SRAM芯片,挂载到处理器模块上。
2.根据权利要求1所述的一种基于FPGA的高速国密算法密码卡,其特征是:所述的ARM处理器采用恩智浦公司的LPC1788,该处理器具有120MHz的主频,内部集成有512KB片上FLASH、96KB片上SRAM。
3.根据权利要求1所述的一种基于FPGA的高速国密算法密码卡,其特征是:所述的FPGA逻辑芯片选用Xilinx公司的XC7VX690T-2FFG1927C。
4.根据权利要求1所述的一种基于FPGA的高速国密算法密码卡,其特征是:所述的SM2算法协处理器芯片采用北京宏思电子的HSM2-H2的高性能密码算法处理芯片,商密型号为SSX1303。
5.根据权利要求1所述的一种基于FPGA的高速国密算法密码卡,其特征是:所述的安全芯片采用的北京宏思电子技术有限公司的安全芯片,型号为HSC32EU,具有80MHz主频、64KSRAM,512K 片上FLASH。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202021674373.4U CN214122946U (zh) | 2020-08-12 | 2020-08-12 | 一种基于fpga的高速国密算法密码卡 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202021674373.4U CN214122946U (zh) | 2020-08-12 | 2020-08-12 | 一种基于fpga的高速国密算法密码卡 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN214122946U true CN214122946U (zh) | 2021-09-03 |
Family
ID=77483994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202021674373.4U Active CN214122946U (zh) | 2020-08-12 | 2020-08-12 | 一种基于fpga的高速国密算法密码卡 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN214122946U (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116488794A (zh) * | 2023-06-16 | 2023-07-25 | 杭州海康威视数字技术股份有限公司 | 基于fpga的高速sm4密码模组实现方法及装置 |
-
2020
- 2020-08-12 CN CN202021674373.4U patent/CN214122946U/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116488794A (zh) * | 2023-06-16 | 2023-07-25 | 杭州海康威视数字技术股份有限公司 | 基于fpga的高速sm4密码模组实现方法及装置 |
CN116488794B (zh) * | 2023-06-16 | 2023-09-19 | 杭州海康威视数字技术股份有限公司 | 基于fpga的高速sm4密码模组实现方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101854353B (zh) | 一种基于fpga的多芯片并行加密方法 | |
CN109902043B (zh) | 一种基于fpga的国密算法加速处理系统 | |
CN105099711B (zh) | 一种基于zynq的小型密码机及数据加密方法 | |
CN112035902B (zh) | 一种面向高速高并发应用的加密模组 | |
CN102737270B (zh) | 一种基于国产算法的银行智能卡芯片安全协处理器 | |
CN107256363A (zh) | 一种由加解密模块阵列组成的高速加解密装置 | |
CN109284250A (zh) | 一种基于大规模fpga芯片的计算加速系统及其加速方法 | |
CN102970190B (zh) | 一种网络流量监测系统 | |
CN102096783B (zh) | 一种基于fpga的税控专用算法加密卡 | |
CN112035900B (zh) | 一种高性能密码卡以及其通信方法 | |
CN106209362A (zh) | 一种运行非对称加密算法的嵌入式系统 | |
CN104391813A (zh) | 一种嵌入式数据安全系统用soc芯片 | |
CN204791027U (zh) | 安全固态硬盘控制器 | |
CN214122946U (zh) | 一种基于fpga的高速国密算法密码卡 | |
CN112035899B (zh) | 一种基于密码卡的数据通信系统及方法 | |
CN109344664A (zh) | 一种基于fpga对数据进行算法处理的密码卡及其加密方法 | |
CN115022076A (zh) | 一种数据加/解密方法、装置、系统及介质 | |
CN109344109A (zh) | 基于固态硬盘的大数据中加速人工智能计算的系统及方法 | |
CN112148670A (zh) | 多功能业务板卡以及数据处理方法 | |
CN1968085B (zh) | 一种实现智能卡高速安全通讯的方法 | |
CN106874065A (zh) | 一种支持硬件虚拟化的系统 | |
CN203057169U (zh) | 基于fpga的网络密码机 | |
CN103400087A (zh) | 多接口加密板卡 | |
CN103729324A (zh) | 一种基于usb3.0接口的云存储文件安全保护装置 | |
Tang et al. | Towards high-performance packet processing on commodity multi-cores: current issues and future directions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 100070 901, Floor 9, Building 7, Yard 8, Auto Museum East Road, Fengtai District, Beijing Patentee after: BEIJING SHUDUN INFORMATION TECHNOLOGY CO.,LTD. Address before: 100070 6th floor, building 1, Hanwei International Zone 3, South Fourth Ring West Road, Fengtai District, Beijing Patentee before: BEIJING SHUDUN INFORMATION TECHNOLOGY CO.,LTD. |
|
CP02 | Change in the address of a patent holder |