一种支持多用户多任务的USB加密卡及其实现方法与流程
- 国知局
- 2025-01-10 13:46:33
本发明属于信息安全的,更具体地,涉及一种支持多用户多任务的usb加密卡及其实现方法。
背景技术:
1、usb加密卡是一种采用标准usb接口、集成加密技术的安全设备,其广泛应用于政府、军队、金融、电子商务等领域,为这些行业提供数据加解密、签名验证、密钥交换等基础密码服务。
2、中国发明专利cn116707970a公开一种基于硬件协议的网络数据加密卡及传输方法,包括数据传输的发送端和接收端通过各自的网络数据加密卡连接到传输信道中,所述网络数据加密卡包括:依次连接的接收模块、密码算法模块和发送模块;接收模块用于接收待加解密的数据,并传输给密码算法模块;密码算法模块基于内嵌的国密算法对收到的数据进行实时加解密,还内嵌同态加密算法支持对关键数据密文的运算操作,并传输给发送模块;发送模块用于输出加解密后的数据。
3、常见的usb加密卡对多任务的处理往往是通过驱动将多个任务的数据形成串行的数据流在加密卡进行加解密处理,对数据加密的速度带来了限制,特别是影响用户处理大量数据时的效率。usb加密卡往往只支持单用户,无法同时对多个用户的数据进行加解密处理;而对单个的多任务需求,常见的处理方式是通过串行下发数据进行计算的方式解决,无法对多个任务同时进行计算,效率低下。
技术实现思路
1、本发明旨在克服上述现有技术的至少一种缺陷,提供一种支持多用户多任务的usb加密卡,以解决usb加密卡往往只支持单用户,无法同时对多个用户的数据进行加解密处理;而对单个用户的多任务需求,常见的处理方式是通过串行下发数据进行加解密的方式解决,无法对多个任务同时进行加解密,效率低下的问题。
2、另一方面,本发明还提供一种支持多用户多任务的usb加密卡的实现方法。
3、一种支持多用户多任务的usb加密卡,采用模块化设计,包括管理核心板、多个资源核心板和底板;
4、所述管理核心板包括管理cpu、数据中转fpga、ai加速fpga以及存储器;
5、管理cpu,负责加解密资源调度、与上位机进行互通、与其他加密卡进行互联和对资源fpga进行配置;
6、数据中转fpga,负责报文的识别与转发,包括多个usb用户接口、一个加密卡互联接口,加密卡互联接口用于两个加密卡的互联;所述数据中转fpga中包括一个基于tcam的转发关系表,用于记录报文的转发方向,管理cpu中基于ai的资源调度模块每次分配、删除资源时都要对这个转发关系表进行增加和删除;
7、ai加速fpga,负责对管理cpu中的ai算法进行硬件加速;
8、存储器,负责存储管理cpu的系统文件和算法核的配置文件;
9、所述资源核心板包括一个资源fpga和外围电路;
10、资源fpga,负责执行加密卡的加密算法。
11、进一步地,所述资源fpga被分割为多个互相隔离的可重构区域,每个可重构区域作为一个vfpga按需求配置算法核,执行加密算法,使得一个资源fpga同时为多个用户、多个任务提供相同或者不同的加解密;同时,在资源fpga中构建资源中转模块,负责内部各vfpga与数据中转fpga的中转;
12、所述资源fpga有两种配置方式:如果对vfpga进行配置,则通过icap接口;如果对fpga进行配置,则通过selectmap接口。
13、进一步地,所述管理cpu包括基于ai的资源调度模块、上位机通信模块、加密卡协同模块、算法核配置模块:
14、基于ai的资源调度模块,通过ai优化和管理多用户、多任务下的资源调度问题,其中包括加解密资源的分配和回收;
15、上位机通信模块,实现与上位机的数据互通,所述数据的报文类型包括用户的资源请求、加密卡的资源请求响应、用户的待加解密数据、加密卡的加解密处理数据、加密卡的资源回收请求、用户的资源回收响应;
16、加密卡协同模块,实现两个加密卡之间的协同,便于加密卡的加解密资源扩展,使得用户同时调用两个加密卡中的加解密资源;
17、算法核配置模块,按照用户需求将对应的算法核配置到资源fpga中。
18、本发明还包括一种支持多用户多任务的usb加密卡的实现方法,所述方法包括:
19、s1、用户通过上位机告知加密卡此次任务使用的资源请求,并经数据中转fpga传输至管理cpu进行解析,得到资源分配结果并上传上位机;
20、s2、若资源分配结果显示需要加密卡间进行协同处理,则:
21、首先,将两个加密卡通过加密卡互联接口相连,进入协同模式;其中,连接了上位机的加密卡自动被设置为主加密卡,另一个加密卡为从加密卡,主加密卡的管理cpu进行统一的资源调度;
22、然后,用户调用主加密卡进行加解密,再调用从加密卡进行加解密;
23、若资源分配结果显示不需要加密卡间进行协同处理,则用户直接调用主加密卡进行加解密;
24、s3、上位机将加解密后数据发送给对应的任务。
25、进一步地,所述s1具体包括:
26、s11、用户通过上位机告知加密卡此次任务使用的资源请求,并经数据中转fpga到达管理cpu中的上位机通信模块;
27、s12、管理cpu的上位机通信模块对用户的资源请求进行解析;然后,将请求的vfpga数量和每个vfpga配置的算法类型发送至基于ai的资源调度模块;
28、s13、管理cpu中基于ai的资源调度模块对当前资源使用情况进行分析得到资源分配结果;如果有可用资源则返回与请求对应的可用的加解密资源的信息,完成资源分配;如果当前没有可用的资源,则预测一个等待时间,告知用户在一个等待时间之后再申请资源;
29、s14、管理cpu的上位机通信模块将资源分配的结果封装成资源响应请求报文,然后经由数据中转fpga发送至上位机;同时,数据中转fpga将用户和算法资源位置信息的对应关系更新到转发关系表中;
30、s15、上位机接收到加密卡的资源请求响应后,如果显示已经分配了资源,则开始进行加解密;如果显示没有分配到资源,则等待一段时间后重新申请。
31、进一步地,所述将两个加密卡通过加密卡互联接口相连,进入协同模式具体包括:
32、s21、将两个加密卡通过加密卡互联接口相连,连接了上位机的加密卡自动被设置为主加密卡;
33、s22、主加密卡管理cpu中的加密卡协同模块发送请求报文,经过主加密卡的数据中转fpga、从加密卡的数据中转fpga两层转发,到达从加密卡管理cpu中的加密卡协同模块;
34、s23、从加密卡管理cpu中的加密卡协同模块发送可用的资源信息,经过从加密卡的数据中转fpga、主加密卡的数据中转fpga两层转发,到达主加密卡管理cpu中的加密卡协同模块;
35、s24、主加密卡管理cpu中的加密卡协同模块将从加密卡的资源信息发送到基于ai的资源调度模块,进行统一的资源调度。
36、进一步地,所述用户调用主加密卡进行加解密具体包括:
37、s31、用户通过上位机将任务中待加解密的数据和分配的算法资源信息组包发送给主加密卡;
38、s32、主加密卡中数据中转fpga根据转发关系表记录的信息,然后将报文转发到对应的资源fpga;
39、s33、资源fpga的数据中转模块根据算法资源信息将报文转发到对应的vfpga;
40、s34、vfpga中的算法核对数据进行加解密,并将加解密结果和算法资源信息组包发送;
41、s35、资源fpga中的数据中转模块将报文转发到数据中转fpga,再经由数据中转fpga发送到对应的用户接口上;
42、s36、上位机将接收到的加解密结果发送给对应的任务。
43、进一步地,所述用户调用从加密卡进行加解密具体包括:
44、s41、用户通过上位机将任务中待加解密的数据和分配的算法资源信息组包发送给主加密卡;
45、s42、主加密卡中数据中转fpga根据转发关系表记录的信息,然后将报文转发到对应的资源fpga;如果对应的资源fpga在从加密卡,则通过加密卡互联接口发送至从加密卡的数据中转fpga;
46、s43、从加密卡的数据中转fpga将待加解密的数据发送至对应的资源fpga;
47、s44、资源fpga的数据中转模块根据算法资源信息将报文转发到对应的vfpga;
48、s45、vfpga中的算法核对数据进行加解密,并将加解密结果和算法资源信息组包发送;
49、s46、资源fpga中的数据中转模块将报文转发到数据中转fpga,再经由数据中转fpga发送到对应的用户接口上;
50、s47、上位机将接收到的加解密结果发送给对应的任务。
51、进一步地,在s1-s3的过程中实时进行加解密资源回收,具体包括:
52、s51、数据中转fpga实时统计各任务对加密卡的调用情况,并将统计结果定时发送给管理cpu中基于ai的资源调度模块;
53、s52、管理cpu中基于ai的资源调度模块对资源调用统计进行分析,判断可被回收的加解密资源,并将被回收资源的信息发送给上位机通信模块;
54、s53、管理cpu中上位机通信模块将资源回收请求通过数据中转fpga发送到上位机;
55、s54、上位机收到资源回收请求后,给出响应;
56、s55、管理cpu中上位机通信模块对数据中转fpga转发的资源回收响应进行解析,并将解析结果发送到基于ai的资源调度模块;若上位机长时间无响应,则视为进行资源回收;
57、s56、管理cpu中基于ai的资源调度模块根据上位机的回复对资源进行保留或者回收;若上位机同意对资源进行回收,则更新自身对资源的统计,并通知数据中转fpga删除待回收资源的转发关联信息。
58、与现有技术相比,本发明的有益效果为:
59、(1)本发明提供了一种支持多用户多任务的usb加密卡及其实现方法,从“对内细分”、“对外扩展”两个方面进行设计,将加密卡中的每个资源fpga划分为多个互相隔离的vfpga,然后将各资源fpga通过数据中转fpga进行联通;同时两个加密卡能够通过互联接口进行资源扩展,实现了对多个用户的多个加解密任务的并行处理。
60、(2)本发明提供了一种支持多用户多任务的usb加密卡及其实现方法,对于单个用户而言,本发明支持对多个加解密任务进行并行处理,而无需像传统加密卡一样对多个任务进行串行处理,提高了加解密的速度;
61、(3)本发明提供了一种支持多用户多任务的usb加密卡及其实现方法,应用了ai技术,利用ai实时监测加解密资源的使用情况,通过分析历史数据和实时数据,动态地调整资源分配和回收。
本文地址:https://www.jishuxx.com/zhuanli/20250110/355168.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表