CN112035902B - 一种面向高速高并发应用的加密模组 - Google Patents
一种面向高速高并发应用的加密模组 Download PDFInfo
- Publication number
- CN112035902B CN112035902B CN202010809500.5A CN202010809500A CN112035902B CN 112035902 B CN112035902 B CN 112035902B CN 202010809500 A CN202010809500 A CN 202010809500A CN 112035902 B CN112035902 B CN 112035902B
- Authority
- CN
- China
- Prior art keywords
- encryption
- calculation
- algorithm
- chip
- chips
- 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
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000013461 design Methods 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims abstract description 5
- 238000004364 calculation method Methods 0.000 claims description 64
- 230000001133 acceleration Effects 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000000034 method Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 4
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000011084 recovery Methods 0.000 claims description 3
- 230000002618 waking effect Effects 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 18
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006386 memory function Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 101100231549 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) HMO1 gene Proteins 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/86—Secure or tamper-resistant housings
- G06F21/87—Secure or tamper-resistant housings by means of encapsulation, e.g. for integrated circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
Abstract
一种面向高速高并发应用的加密模组,包含了两个FPGA芯片,每个FPGA芯片均为一路处理模块,两个FPGA芯片分别设计了PCI‑e 3.0接口与主机进行通信,分别处理两组PCI‑e 3.0接口传入的对称加密、散列加密算法需求,每个FPGA芯片挂载两个物理噪声源芯片,加密模组连接主机使用双PCI‑e 3.0 x8的硬件链路设计,单个PCI‑e 3.0 x8设备通道理论支持最大8Gbps*8=64Gbps的硬件速率,加密模组还包含嵌入式微控控制器,根据不同的需求,加密模组可以布置不同容量的SRAM储存芯片、Nor Flash储存芯片,为了实现管理功能,设计包含了安全芯片、EEPROM芯片和温度检测芯片,SRAM储存芯片、Nor Flash储存芯片、安全芯片、算法协处理器都与微控制器连接,微控制器通过EMC总线与两个FPGA芯片连接。
Description
技术领域
本发明涉及计算机、信息技术领域,尤其是一种面向高速高并发应用的加密模组。
背景技术
现有加密模组的实现已经采用了一些加速处理的技术,与主控CPU的连接使用PCI、PCI-e、Mini PCI等接口技术,实现高速的指令下发,加密、解密数据传输和模组控制指令,加密、解密计算核心一般使用一片FPGA或ASIC来做,这类芯片能够提供一定的加解密性能;这样的技术指标能够满足10Gbps的加解密性能要求,在以往的万兆网络时代,这样的性能能够满足当时的性能要求;然而,随着更多的网络实现了更高的速率时,这样的速度就显得捉襟见肘,无法满足业务需求了。
发明内容
为了解决现有技术的不足,本发明提供了一种面向高速高并发应用的加密模组,该一种面向高速高并发应用的加密模组使用单板双路的设计模式,每个加密模组都包含了两个FPGA芯片,能够为不同的应用场景使用不同的优化方式,最大程度的释放硬件的潜在性能;四个计算通道通过驱动软件的调度算法来调度分配,最大程度上实现对客户软件的兼容性,实现了透明的并行计算加速;加密模组连接主机使用双PCI-e 3.0 x8的硬件链路设计,能够满足高速的加解密数据传输要求;驱动程序使用了轮询负载均衡算法,由于加解密的计算负荷相对均衡,所以该均衡算法对于加密模组是一个简单且高效的均衡算法。
本发明解决其问题的技术方案是,一种面向高速高并发应用的加密模组,包含了两个FPGA芯片,每个FPGA芯片均为一路处理模块,两个FPGA芯片分别设计了PCI-e 3.0接口与主机进行通信,分别处理两组PCI-e 3.0接口传入的对称加密、散列加密算法需求,每个FPGA芯片挂载两个物理噪声源芯片,实现高速可靠的随机数源,加密模组连接主机使用双PCI-e 3.0 x8的硬件链路设计,单个PCI-e 3.0 x8设备通道理论支持最大8Gbps*8=64Gbps的硬件速率,加密模组还包含嵌入式微控控制器,作为加密模组管理逻辑的主控,微控控制器实现加密卡管理、密钥管理、用户身份认证和管理、访问控制、安全芯片的访问控制和固件的升级管理,算法协处理器来实现非对称加密加速功能,根据不同的需求,加密模组可以布置不同容量的SRAM储存芯片、Nor Flash储存芯片,为了实现管理功能,设计包含了安全芯片、EEPROM芯片和温度检测芯片,SRAM储存芯片、Nor Flash储存芯片、安全芯片、算法协处理器都与微控制器连接,微控制器通过EMC总线与两个FPGA芯片连接;
进一步,FPGA芯片上包含了PCI-e控制器,4组双向DMA控制器,2个数据分发路由模块,32个对称加密模块,32个散列加密模块,其中,2组DMA控制器、1个数据分发路由模块、16个对称加密模块、16个散列加密模块组成一个计算通道,每个加密模组包含的两个FPGA芯片就共包含了四个对称的计算通道,四个计算通道通过驱动软件的调度算法来调度分配,最大程度上实现对客户软件的兼容性,实现了透明的并行计算加速;
进一步,FPGA芯片每个芯片内部实现了32个对称加密算法计算单元和32个散列加密算法计算单元,这些算法单元可以并行的执行计算。每个算法单元的理论速率为0.8Gbps,32路算法单元的理论速度为0.8Gbps*32=25.6Gbps,两个计算通道时极限计算速度为25.6Gbps*2=51.2Gbps,能够满足加解密计算方面的要求。在双PCI-e通道的情况下,算法的速率均达到了40Gbps;
该一种面向高速高并发应用的加密模组的逻辑应用为,不管是业务应用,密钥管理还是设备管理的指令都会先调用内核调用库给出的API接口,内核调用库会根据指令的不同填充不同的地址,发往FPGA芯片,FPGA芯片会根据填充的地址判断该指令是SM3/SM4计算指令还是需要发往ARM微控制器的指令,微控制器接收到指令后,会调用相应的外设完成功能;FPGA芯片内部会根据请求地址,把数据内容传送到对应的算法计算加速单元。FPGA芯片会不断地执行这个过程,把请求发送到算法计算加速单元内。同时,FPGA芯片也在接收算法计算加速单元的处理结果,当处理完成时,FPGA芯片会将计算结果通过DMA控制器传回CPU的内存空间,驱动程序可以通过读取相应的内存空间来获取计算结果;驱动程序读取到计算结果后,会先对数据包进行解析,根据携带的请求编号查找对应的请求任务,将数据填充后,唤醒对应的线程;加密模组有多个计算通道,相应的驱动程序也有多个线程,分别为每个计算通道提供发送、接收和返回值处理等任务;多个线程可以充分利用多核服务器的计算能力,提高加密卡的处理峰值上限;
进一步,驱动程序将传输指令写入到DMA控制器的指定寄存器,DMA控制器就会执行后续的传输动作,将下发的数据传输到数据分发路由模块,数据分发路由模块会将数据转发给指定的计算加速单元,计算加速单元的计算结果从数据分发路由模块转发给DMA控制器,并通过PCI-e 3.0传输到驱动软件配置的内存地址,实现了驱动程序与计算单元之间的通信;每个FPGA芯片的第一个计算通道不仅负责传输算法计算单元的输入输出数据,同时也负责将上层驱动传输到微控制器的指令传输到微控制器,也将微控制器的计算、运行结果返回到驱动程序中;传输到微控制器的指令包含了非对称加密算法指令、签名验签指令、设备管理指令、OTA升级固件数据;这些指令的使用频率,数据量都相对较小,所以共用了一个计算通道;
进一步,微控制器提供USB接口,USB接口支持连接USB Key的功能,加密卡有两个USB端口,支持同时接入两个USB Key;为了方便管理,程序使用其中一个USB端口作为创建管理员、操作员,管理员、操作员登录的用途;另外一个USB端口作为备份、恢复的用途;
进一步,驱动程序使用了轮询负载均衡算法,该算法假设所有的操作均需相似的时间,由于加解密的计算负荷相对均衡,所以该均衡算法对于加密模组是一个简单且高效的均衡算法;驱动程序接收到加解密请求后,经过负载均衡算法,得到当前请求的目标处理单元地址,组合请求数据结构,将请求发送到管理目标处理单元的线程中,并等待该操作的结束,管理线程根据请求,填充DMA控制器所需的结构体,填充目标处理单元的地址,并将处理请求通过DMA控制器发往FPGA芯片。
本发明的有益效果是:该一种面向高速高并发应用的加密模组使用单板双路的设计模式,每个加密模组都包含了两个FPGA芯片,能够为不同的应用场景使用不同的优化方式,达到了最大程度的释放硬件的潜在性能的有益效果;四个计算通道通过驱动软件的调度算法来调度分配,最大程度上实现对客户软件的兼容性,达到了实现了透明的并行计算加速的有益效果;加密模组连接主机使用双PCI-e 3.0 x8的硬件链路设计,达到了能够满足高速的加解密数据传输要求的有益效果;驱动程序使用了轮询负载均衡算法,由于加解密的计算负荷相对均衡,达到了该均衡算法对于加密模组是一个简单且高效的均衡算法的有益效果。
附图说明
图1为本发明结构框图;
图2为本发明调用逻辑框图;
图3为本发明FPGA数据通路图;
图4为本发明请求分配示意图;
下面结合附图对本发明进一步说明。
具体实施方式
本发明的具体实施方式是,参照图1,一种面向高速高并发应用的加密模组,包含了两个FPGA芯片,每个FPGA芯片均为一路处理模块,两个FPGA芯片分别设计了PCI-e 3.0接口与主机进行通信,分别处理两组PCI-e 3.0接口传入的对称加密、散列加密算法需求,每个FPGA芯片挂载两个物理噪声源芯片,实现高速可靠的随机数源,加密模组连接主机使用双PCI-e 3.0 x8的硬件链路设计,单个PCI-e 3.0 x8设备通道理论支持最大8Gbps*8=64Gbps的硬件速率,加密模组还包含嵌入式微控控制器,作为加密模组管理逻辑的主控,微控控制器实现加密卡管理、密钥管理、用户身份认证和管理、访问控制、安全芯片的访问控制和固件的升级管理,算法协处理器来实现非对称加密加速功能,根据不同的需求,加密模组可以布置不同容量的SRAM储存芯片、Nor Flash储存芯片,为了实现管理功能,设计包含了安全芯片、EEPROM芯片和温度检测芯片,SRAM储存芯片、Nor Flash储存芯片、安全芯片、算法协处理器都与微控制器连接,微控制器通过EMC总线与两个FPGA芯片连接;
参照图3,进一步,FPGA芯片上包含了PCI-e控制器,4组双向DMA控制器,2个数据分发路由模块,32个对称加密模块,32个散列加密模块,其中,2组DMA控制器、1个数据分发路由模块、16个对称加密模块、16个散列加密模块组成一个计算通道,每个加密模组包含的两个FPGA芯片就共包含了四个对称的计算通道,四个计算通道通过驱动软件的调度算法来调度分配,最大程度上实现对客户软件的兼容性,实现了透明的并行计算加速;
参照图3,进一步,FPGA芯片每个芯片内部实现了32个对称加密算法计算单元和32个散列加密算法计算单元,这些算法单元可以并行的执行计算。每个算法单元的理论速率为0.8Gbps,32路算法单元的理论速度为0.8Gbps*32=25.6Gbps,两个计算通道时极限计算速度为25.6Gbps*2=51.2Gbps,能够满足加解密计算方面的要求。在双PCI-e通道的情况下,算法的速率均达到了40Gbps;
参照图1、图2、图3,该一种面向高速高并发应用的加密模组的逻辑应用为:不管是业务应用,密钥管理还是设备管理的指令都会先调用内核调用库给出的API接口,内核调用库会根据指令的不同填充不同的地址,发往FPGA芯片,FPGA芯片会根据填充的地址判断该指令是SM3/SM4计算指令还是需要发往ARM微控制器的指令,微控制器接收到指令后,会调用相应的外设完成功能;FPGA芯片内部会根据请求地址,把数据内容传送到对应的算法计算加速单元。FPGA芯片会不断地执行这个过程,把请求发送到算法计算加速单元内。同时,FPGA也在接收算法计算加速单元的处理结果,当处理完成时,FPGA芯片会将计算结果通过DMA控制器传回CPU的内存空间,驱动程序可以通过读取相应的内存空间来获取计算结果;驱动程序读取到计算结果后,会先对数据包进行解析,根据携带的请求编号查找对应的请求任务,将数据填充后,唤醒对应的线程;加密模组有多个计算通道,相应的驱动程序也有多个线程,分别为每个计算通道提供发送、接收和返回值处理等任务;多个线程可以充分利用多核服务器的计算能力,提高加密卡的处理峰值上限;
参照图1、图3,进一步,驱动程序将传输指令写入到DMA控制器的指定寄存器,DMA控制器就会执行后续的传输动作,将下发的数据传输到数据分发路由模块,数据分发路由模块会将数据转发给指定的计算加速单元,计算加速单元的计算结果从数据分发路由模块转发给DMA控制器,并通过PCI-e 3.0传输到驱动软件配置的内存地址,实现了驱动程序与计算单元之间的通信;每个FPGA芯片的第一个计算通道不仅负责传输算法计算单元的输入输出数据,同时也负责将上层驱动传输到微控制器的指令传输到微控制器,也将微控制器的计算、运行结果返回到驱动程序中;传输到微控制器的指令包含了非对称加密算法指令、签名验签指令、设备管理指令、OTA升级固件数据;这些指令的使用频率,数据量都相对较小,所以共用了一个计算通道。
参照图1,进一步,微控制器提供USB接口,USB接口支持连接USB Key的功能,加密卡有两个USB端口,支持同时接入两个USB Key;为了方便管理,程序使用其中一个USB端口作为创建管理员、操作员,管理员、操作员登录的用途;另外一个USB端口作为备份、恢复的用途;
参照图4,进一步,驱动程序使用了轮询负载均衡算法,该算法具有简洁,无需记录当前所有状态的特性,是一种无状态调度算法,该算法假设所有的操作均需相似的时间,由于加解密的计算负荷相对均衡,所以该均衡算法对于加密模组是一个简单且高效的均衡算法;驱动程序接收到加解密请求后,经过负载均衡算法,得到当前请求的目标处理单元地址,组合请求数据结构,将请求发送到管理目标处理单元的线程中,并等待该操作的结束,管理线程根据请求,填充DMA控制器所需的结构体,填充目标处理单元的地址,并将处理请求通过DMA控制器发往FPGA芯片;
参照图1,FPGA芯片使用了Virtex®-7 XT 系列的XC7VX690T型号的芯片。该芯片包含了54150个LAB/CLB,693120个逻辑元件/单元,总RAM位数为54190080,I/O总数为720;微控制器选用LPC1788FET208芯片,该芯片以Cortex-m3 ARM核心为基础,集成了512KBFlash,64+16*2KB SRAM,4032B EEPROM,两个USB端口,三个SPI端口,一个32位EMC端口,5路UART端口和3路I2C端口。该芯片的工作频率可达120MHz。ARM微控制器通过EMC端口与HSM2安全芯片连接,通过SPI端口与HSC32EU安全芯片连接;
参照图1、图2,算法协处理器HSM2-H2芯片作为高性能密码算法协处理器,商密型号为 SSX1303。该芯片实现了国家标准 SM2 和 SM3 密码算法功能,该芯片可以实现 SM2算法的数字签名 5000 次/秒, SM2 算法的数字签名验证 2500 次/秒。 SM3 杂凑算法性能可达 200Mbps。该芯片在设计中提供了部分算法功能;
参照图1、图2,安全芯片HSC32EU芯片是一款高处理能力、 高安全性、 高性价比、多功能的密码安全 SOC 芯片。芯片内置了安全储存,国密SM1、国密SM2、国密SM3、国密SM4等算法,除此之外还有生成真随机数的功能。该芯片主要应用于普通密码服务器, 税控,安全存储, 加密终端, 个人金融终端, 高性能USB Key 等领域。该芯片在设计中提供了安全存储功能。重要数据存储与该芯片会比存储于FLASH芯片更加安全可靠;
参照图1、图2,物理噪声源芯片HSNWNG8是一款噪声源芯片,芯片接口简单,使用单路穿行输出,输出速率为20Mbps。密码卡采用四路噪声源芯片,分两组轮流使用,每组对两路噪声源芯片进行异或运算。该芯片的性能及随机特性能够满足加密卡的使用要求。
Claims (5)
1.一种面向高速高并发应用的加密模组,其特征是:包含了两个FPGA芯片,每个FPGA芯片均为一路处理模块,两个FPGA芯片分别设计了PCI-e 3.0接口与主机进行通信,分别处理两组PCI-e 3.0接口传入的对称加密、散列加密算法需求,每个FPGA芯片挂载两个物理噪声源芯片,实现高速可靠的随机数源,加密模组连接主机使用双PCI-e 3.0 x8的硬件链路设计,加密模组还包含嵌入式微控控制器,作为加密模组管理逻辑的主控,微控控制器实现加密卡管理、密钥管理、用户身份认证和管理、访问控制、安全芯片的访问控制和固件的升级管理,算法协处理器来实现非对称加密加速功能,加密模组可以布置不同容量的SRAM储存芯片、Nor Flash储存芯片,设计加密模组包含了安全芯片、EEPROM芯片和温度检测芯片,SRAM储存芯片、Nor Flash储存芯片、安全芯片、算法协处理器都与微控制器连接,微控制器通过EMC总线与两个FPGA芯片连接;FPGA芯片上包含了PCI-e控制器,4组双向DMA控制器,2个数据分发路由模块,32个对称加密模块,32个散列加密模块,其中,2组DMA控制器、1个数据分发路由模块、16个对称加密模块、16个散列加密模块组成一个计算通道,每个加密模组包含的两个FPGA芯片就共包含了四个对称的计算通道,四个计算通道通过驱动软件的调度算法来调度分配;该一种面向高速高并发应用的加密模组的逻辑应用为:不管是业务应用,密钥管理还是设备管理的指令都会先调用内核调用库给出的API接口,内核调用库会根据指令的不同填充不同的地址,发往FPGA芯片,FPGA芯片会根据填充的地址判断该指令是SM3/SM4计算指令还是需要发往ARM微控制器的指令,微控制器接收到指令后,会调用相应的外设完成功能;FPGA芯片内部会根据请求地址,把数据内容传送到对应的算法计算加速单元,FPGA芯片会不断地执行这个过程,把请求发送到算法计算加速单元内;同时,FPGA芯片也在接收算法计算加速单元的处理结果,当处理完成时,FPGA芯片会将计算结果通过DMA控制器传回CPU的内存空间,驱动程序可以通过读取相应的内存空间来获取计算结果;驱动程序读取到计算结果后,会先对数据包进行解析,根据携带的请求编号查找对应的请求任务,将数据填充后,唤醒对应的线程;加密模组有多个计算通道,相应的驱动程序也有多个线程,分别为每个计算通道提供发送、接收和返回值处理任务。
2.根据权利要求1所述的一种面向高速高并发应用的加密模组,其特征是:每个芯片内部实现了32个对称加密算法计算单元和32个散列加密算法计算单元,这些算法单元并行的执行计算。
3.根据权利要求1或2所述的一种面向高速高并发应用的加密模组,其特征是:驱动程序将传输指令写入到DMA控制器的指定寄存器,DMA控制器就会执行后续的传输动作,将下发的数据传输到数据分发路由模块,数据分发路由模块会将数据转发给指定的算法计算加速单元,计算加速单元的计算结果从数据分发路由模块转发给DMA控制器,并通过PCI-e3.0传输到驱动软件配置的内存地址,实现了驱动程序与算法计算加速单元之间的通信;每个FPGA芯片的第一个计算通道不仅负责传输算法计算加速单元的输入输出数据,同时也负责将上层驱动传输到微控制器的指令传输到微控制器,也将微控制器的计算、运行结果返回到驱动程序中;传输到微控制器的指令包含了非对称加密算法指令、签名验签指令、设备管理指令、OTA升级固件数据;这些指令共用了一个计算通道。
4.根据权利要求1所述的一种面向高速高并发应用的加密模组,其特征是:微控制器提供USB接口,USB接口支持连接USB Key的功能,加密卡有两个USB端口,支持同时接入两个USB Key;使用其中一个USB端口作为创建管理员、操作员,管理员、操作员登录的用途;另外一个USB端口作为备份、恢复的用途。
5.根据权利要求1所述的一种面向高速高并发应用的加密模组,其特征是:驱动程序使用了轮询负载均衡算法,驱动程序接收到加解密请求后,经过负载均衡算法,得到当前请求的目标处理单元地址,组合请求数据结构,将请求发送到管理目标处理单元的线程中,并等待该操作的结束,管理线程根据请求,填充DMA控制器所需的结构体,填充目标处理单元的地址,并将处理请求通过DMA控制器发往FPGA芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010809500.5A CN112035902B (zh) | 2020-08-12 | 2020-08-12 | 一种面向高速高并发应用的加密模组 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010809500.5A CN112035902B (zh) | 2020-08-12 | 2020-08-12 | 一种面向高速高并发应用的加密模组 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035902A CN112035902A (zh) | 2020-12-04 |
CN112035902B true CN112035902B (zh) | 2024-03-19 |
Family
ID=73577341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010809500.5A Active CN112035902B (zh) | 2020-08-12 | 2020-08-12 | 一种面向高速高并发应用的加密模组 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035902B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112910646B (zh) * | 2021-04-30 | 2021-07-20 | 北京数盾信息科技有限公司 | 一种服务器密码机的数据处理方法、装置及服务器密码机 |
CN113094762B (zh) * | 2021-04-30 | 2021-12-07 | 北京数盾信息科技有限公司 | 一种数据处理方法、装置及签名验签服务器 |
CN113194097B (zh) * | 2021-04-30 | 2022-02-11 | 北京数盾信息科技有限公司 | 一种安全网关的数据处理方法、装置及安全网关 |
CN113886297B (zh) * | 2021-09-27 | 2023-12-01 | 北京中电华大电子设计有限责任公司 | 一种基于dma的spi并发通讯se装置及方法 |
CN114662136B (zh) * | 2022-05-25 | 2022-09-20 | 广州万协通信息技术有限公司 | 一种基于pcie通道的多算法ip核的高速加解密系统及方法 |
CN116049910A (zh) * | 2023-02-01 | 2023-05-02 | 广东高云半导体科技股份有限公司 | 一种数据加密系统及方法 |
CN117792896B (zh) * | 2024-02-26 | 2024-05-10 | 江苏元信网安科技有限公司 | 一种基于fpga的配置管理系统及配置管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8738860B1 (en) * | 2010-10-25 | 2014-05-27 | Tilera Corporation | Computing in parallel processing environments |
CN108345806A (zh) * | 2017-12-14 | 2018-07-31 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 一种硬件加密卡和加密方法 |
CN110720088A (zh) * | 2017-06-12 | 2020-01-21 | 净睿存储股份有限公司 | 集成到大容量存储设备的可访问快速耐久存储 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7958333B2 (en) * | 2007-05-30 | 2011-06-07 | XMOS Ltd. | Processor with memory access stage adapted to fetch an instruction of a thread when no memory access operation is detected |
-
2020
- 2020-08-12 CN CN202010809500.5A patent/CN112035902B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8738860B1 (en) * | 2010-10-25 | 2014-05-27 | Tilera Corporation | Computing in parallel processing environments |
CN110720088A (zh) * | 2017-06-12 | 2020-01-21 | 净睿存储股份有限公司 | 集成到大容量存储设备的可访问快速耐久存储 |
CN108345806A (zh) * | 2017-12-14 | 2018-07-31 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 一种硬件加密卡和加密方法 |
Non-Patent Citations (1)
Title |
---|
千兆国产化商用密码卡技术;秦放;;通信技术(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112035902A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112035902B (zh) | 一种面向高速高并发应用的加密模组 | |
US9575689B2 (en) | Data storage system having segregated control plane and/or segregated data plane architecture | |
CN107667347B (zh) | 用于虚拟化访问由融合式可管理性和安全引擎提供的安全服务的技术 | |
CN112988632A (zh) | 设备之间的共享存储器空间 | |
CN102724035B (zh) | 一种加密卡的加解密方法 | |
CN107256363A (zh) | 一种由加解密模块阵列组成的高速加解密装置 | |
WO2016107394A1 (zh) | 虚拟机的深度证明方法、计算设备和计算机系统 | |
CN111966446B (zh) | 一种容器环境下rdma虚拟化方法 | |
US11940933B2 (en) | Cross address-space bridging | |
CN112000598B (zh) | 用于联邦学习的处理器、异构处理系统及隐私数据传输方法 | |
CN110727950A (zh) | 一种分布式协同计算系统和协同处理方法 | |
CN112035900B (zh) | 一种高性能密码卡以及其通信方法 | |
CN114221994B (zh) | 一种pcie密码卡虚拟化资源动态分配方法 | |
US20230071723A1 (en) | Technologies for establishing secure channel between i/o subsystem and trusted application for secure i/o data transfer | |
CN112035899B (zh) | 一种基于密码卡的数据通信系统及方法 | |
CN112052483B (zh) | 一种密码卡的数据通信系统及方法 | |
CN106874065A (zh) | 一种支持硬件虚拟化的系统 | |
CN211403427U (zh) | 一种分布式协同计算系统 | |
US11983260B2 (en) | Partitioned platform security mechanism | |
WO2024098594A1 (zh) | 代码保护系统、方法、虚拟系统架构、芯片及电子设备 | |
CN103729324A (zh) | 一种基于usb3.0接口的云存储文件安全保护装置 | |
Tsung et al. | Performance evaluation of the vSAN application: A case study on the 3D and AI virtual application cloud service | |
WO2022228485A1 (zh) | 一种数据传输方法、数据处理方法及相关产品 | |
CN114266035B (zh) | 一种高性能密码卡及配置方法 | |
CN107332654B (zh) | 一种基于fpga的多板卡阵列并行解密装置及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |