一种智能化密码模块的实现方法及系统与流程

文档序号:29566283发布日期:2022-04-09 02:33阅读:264来源:国知局
一种智能化密码模块的实现方法及系统与流程

1.本发明涉及信息安全领域,特别涉及一种智能化密码模块的实现方法及系统。


背景技术:

2.密码模块是实现了安全功能的硬件、软件或固件的集合,并且被包含在密码边界内,该集合至少使用一个标准的密码算法、安全功能或进程,实现一项或多项已定义的密码服务。密码模块是向信息系统提供密码服务(例如加密、解密、数字签名、签名验证和密钥管理等)的核心部件,是信息安全的保证基础。密码模块包括虚拟专网(vpn)设备、证书中心(ca)系统的有关设备、网络密码机、安全服务器、安全终端设备、密钥管理设备等。
3.密码模块支持各种密码运算,如sm1、sm2、sm3、sm4、sm7、sm9等密码运算。密码模块生产完毕后密码模块支持的功能、密码运算性能、密码运算模式等被固化。在实际应用中密码模块会面临多样化的业务场景,业务场景1偏重使用sm2密码运算且性能要求高,业务场景2偏重使用sm4密码运算且性能要求高,业务场景3对两种组合密码运算性能要求高。一个版本的密码模块不能同时满足客户需求且密码模块的硬件资源或软件资源存在冗余的情况。密码模块不能灵活、智能调节以应对多样化的业务场景。
4.因此,如何实现一个版本的密码模块同时满足多客户需求,减少资源冗余、可灵活调节应对多样化业务场景,成为了急需解决的关键问题。


技术实现要素:

5.本发明的主要目的在于提出一种智能化密码模块的实现方法及系统,该方法能够解决一个版本的密码模块无法同时满足多客户需求的问题,减少资源冗余,可灵活调节应对多样化业务场景。
6.为实现上述目的,本发明采取的技术方案为:
7.第一方面,本发明实施例提供一种智能化密码模块的实现方法,包括:
8.s10、统计在预设时长内业务应用中密码模块各密码服务功能的使用数据;根据所述使用数据分析各密码算法的负载以及密码服务组合热路径;
9.s20、根据所述各密码算法的负载以及密码服务组合热路径,执行所述密码模块的重配置;
10.s30、所述密码模块启动重配置功能,所述密码模块中的密码算法运算单元由一个配置为多个或启动密码服务自动组合。
11.进一步地,步骤s10中,密码服务功能的使用数据包括:各密码算法单独使用的频率、各密码算法单独使用的运算能力、各密码算法相互组合使用的频率、各密码算法相互组合使用的先后顺序以及相邻两笔业务输出数据地址与输入地址、各密码算法相互组合使用的频率加权值。
12.进一步地,步骤s20包括:
13.s201、获取所述各密码服务功能的各密码算法单独使用的频率与各密码算法单独
使用的运算能力的比值;
14.s202、将所述比值和预设阈值相比,确定是否执行所述密码模块的重配置;
15.或者
16.s2011、获取所述各密码算法相互组合使用的频率、各密码算法相互组合使用的先后顺序和各密码算法相互组合使用的频率加权值;
17.s2012、根据组合密码服务规则列表中是否存在所述各密码算法相互组合模式,确定是否执行所述密码模块的重配置。
18.进一步地,所述预设阈值为:
19.单位时间内相应密码算法统计的运算次数与单位时间内密码模块该密码算法运算能力的比值。
20.进一步地,所述组合密码服务规则列表由预先设置;
21.和/或
22.根据所述预设时长内统计的各密码算法相互组合使用的先后顺序以及相邻两笔业务输出数据地址与输入地址,确定密码组合热路径,识别组合密码服务并将识别的组合密码服务自动添加。
23.第二方面,本发明实施例还提供一种智能化密码模块的实现系统,包括:
24.密码功能统计模块,用于统计在预设时长内业务应用中密码模块各密码服务功能的使用数据;根据所述使用数据分析各密码算法的负载或密码服务组合热路径;
25.智能分析模块,用于根据所述各密码算法的负载以及密码服务组合热路径,执行所述密码模块的重配置;
26.密码模块智能配置模块,用于所述密码模块启动重配置功能,所述密码模块中的密码算法运算单元由一个配置为多个或启动密码服务自动组合。
27.进一步地,所述密码功能统计模块中,密码服务功能的使用数据包括:各密码算法单独使用的频率、各密码算法单独使用的运算能力、各密码算法相互组合使用的频率、各密码算法相互组合使用的先后顺序以及相邻两笔业务输出数据地址与输入地址、各密码算法相互组合使用的频率加权值。
28.进一步地,所述智能分析模块包括:
29.第一获取模块,用于获取所述各密码服务功能的各密码算法单独使用的频率与各密码算法单独使用的运算能力的比值;
30.第一确定模块,用于将所述比值和预设阈值相比,确定是否执行所述密码模块的重配置;
31.或者
32.第二获取模块,用于获取所述各密码算法相互组合使用的频率、各密码算法相互组合使用的先后顺序和各密码算法相互组合使用的频率加权值;
33.第二确定模块,用于根据组合密码服务规则列表中是否存在所述各密码算法相互组合模式,确定是否执行所述密码模块的重配置。
34.进一步地,还包括:
35.密码服务组合学习模块,用于根据各密码算法相互组合使用的先后顺序以及相邻两笔业务输出数据地址与输入地址,确定密码组合热路径,识别组合密码服务并将识别的
组合密码服务自动添加至组合密码服务规则列表。
36.进一步地,所述密码模块智能配置模块,包括:
37.辅助功能固化单元,用于所述密码模块内集成辅助功能固化区域;
38.算法核存储单元,用于保存多个单独密码算法核;
39.密码算法运行单元,用于当所述密码模块启动重配置功能时,将两个或多个所述单独密码算法核配置到运行区域后运行。
40.本发明的有益效果是:
41.本发明提出了一种智能化密码模块的实现方法及系统,该方法统计业务应用中密码模块各密码服务功能的使用情况,并根据统计数据智能分析各密码算法的负载以及密码服务组合热路径,执行密码模块的重配置。密码模块启动重配置功能后,应用打开新通道与密码模块进行通讯,密码算法运算单元由一个配置为多个或启动密码服务自动组合,达到持续调用某一密码算法或某一组合密码服务时,该密码运算性能越来越高的效果。
附图说明
42.图1为本发明实施例提供的智能化密码模块的实现方法的流程图;
43.图2为本发明实施例提供的智能化密码模块普通模式工作流程图;
44.图3为本发明实施例提供的智能化密码模块组合密码服务模式工作流程图;
45.图4为本发明实施例提供的智能密码模块配置模块示意图。
具体实施方式
46.为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
47.在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”“前端”、“后端”、“两端”、“一端”、“另一端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
48.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置有”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
49.实施例1:
50.本发明提供的一种智能化密码模块的实现方法,参照图1所示,该方法包括:
51.s10、统计在预设时长内业务应用中密码模块各密码服务功能的使用数据;根据所述使用数据分析各密码算法的负载以及密码服务组合热路径;该密码模块包括虚拟专网(vpn)设备、证书中心(ca)系统的有关设备、网络密码机、安全服务器、安全终端设备、密钥管理设备等。比如可以是pci密码卡等。
52.s20、根据所述各密码算法的负载以及密码服务组合热路径,执行所述密码模块的
重配置;
53.s30、所述密码模块启动重配置功能,所述密码模块中的密码算法运算单元由一个配置为多个或启动密码服务自动组合。
54.本发明实施例中,该方法统计业务应用中密码模块各密码服务功能的使用情况,并根据统计数据智能分析各密码算法的负载以及密码服务组合热路径,执行密码模块的重配置。密码模块启动重配置功能后,应用打开新通道与密码模块进行通讯,密码算法运算单元由一个配置为多个或启动密码服务自动组合,达到持续调用某一密码算法或某一组合密码服务时,该密码运算性能越来越高的效果。
55.上述步骤s10中,统计某段时间内密码模块的密码功能使用情况。密码服务功能的使用数据包括:各密码算法单独使用的频率、各密码算法单独使用的运算能力、各密码算法相互组合使用的频率、各密码算法相互组合使用的先后顺序以及相邻两笔业务输出数据地址与输入地址、各密码算法相互组合使用的频率加权值。
56.比如:预设时长内sm2、sm3、sm4等各密码算法使用的频率,各密码运算使用的先后顺序等。上层业务调用密码模块的密码服务时各密码算法设置的命令码不同且唯一,该步骤可根据预设置时间进行周期性的监控。
57.步骤s20中,分析判断pci密码卡是否启动密码模块的重配置功能。该步骤中可分析该密码模块已有的能力,包括支持的密码算法种类、密码运算性能的能力。
58.pci密码卡中密码模块的工作模式包括:普通模式和组合密码服务模式;该普通模式是指单一密码算法,组合密码服务是指多个密码算法组合使用。
59.普通模式下,步骤s20包括:
60.s201、获取所述各密码服务功能的各密码算法单独使用的频率与各密码算法单独使用的运算能力的比值;
61.s202、将所述比值和预设阈值相比,确定是否执行所述密码模块的重配置。
62.普通模式下:根据统计的结果和预设阈值判断是否启动密码模块的重配置。假设智能密码模块支持a、b、c三种密码算法,三种算法的密码运算统计次数分别为x、y、z次。其中,预设阈值为:单位时间内相应密码算法统计的运算次数与单位时间内密码模块该密码算法运算能力的比值。
63.组合密码服务模式下,步骤s20包括:
64.s2011、获取所述各密码算法相互组合使用的频率、各密码算法相互组合使用的先后顺序和各密码算法相互组合使用的频率加权值;
65.s2012、根据组合密码服务规则列表中是否存在所述各密码算法相互组合模式,确定是否执行所述密码模块的重配置。
66.组合密码服务模式下,根据统计的结果和密码服务组合的学习情况(即组合密码服务规则列表保存的组合模式)判断是否启动密码模块的重配置。其中,组合密码服务规则列表由预先设置;也可以根据预设时长内统计的各密码算法相互组合使用的先后顺序以及相邻两笔业务输出数据地址与输入地址,确定密码组合热路径,识别组合密码服务并将识别的组合密码服务自动添加。
67.还是比如智能密码模块支持a、b、c三种密码算法,各种算法组合次数为a(3,2),三种密码运算的前后顺序相关性统计次数ab、ac、bc、ba、cb、ca分别为o、p、q、r、s、t次。
68.该s20的分析步骤集成常见密码运算组合统计概率加权值。a、b、c三密码算法次数进行排序,假设x》y》z。算法组合时a密码算法开头、结尾的概率加权分别增加10%、5%,b密码算法开头、结尾的概率加权分别增加8%、4%,c密码算法开头、结尾的概率的6%、3%。
69.对上述三种密码运算的前后顺序相关性统计次数进行重新加权计算:
70.ab密码运算组合次数=o*(1/a(3,2)+10%+4%);
71.ac密码运算组合次数=p*(1/a(3,2)+10%+3%);
72.bc密码运算组合次数=q*(1/a(3,2)+8%+3%);
73.ba密码运算组合次数=r*(1/a(3,2)+8%+5%);
74.cb密码运算组合次数=s*(1/a(3,2)+6%+4%);
75.ca密码运算组合次数=t*(1/a(3,2)+6%+5%);
76.比较各组合次数大小,次数最多的组合为客户密码服务组合,需要启动组合逻辑组合该密码算法。
77.上述步骤s30中,比如可以负责镜像迁移算法核、启动组合逻辑功能,并重新配置智能密码模块。完成密码模块硬件资源、算法资源优化,实现组合密码运算逻辑。
78.本发明实施例中,该智能化密码模块能够智能的将硬件资源、密码算法资源进行智能优化,满足客户多样化的密码运算需求,提升密码运算的性能。
79.实施例2:
80.本发明实施例还提供一种智能化密码模块的实现系统,包括:
81.密码功能统计模块,用于统计在预设时长内业务应用中密码模块各密码服务功能的使用数据;根据所述使用数据分析各密码算法的负载或密码服务组合热路径;
82.智能分析模块,用于根据所述各密码算法的负载以及密码服务组合热路径,执行密码模块的重配置;
83.密码模块智能配置模块,用于密码模块启动重配置功能,密码模块中的密码算法运算单元由一个配置为多个或启动密码服务自动组合。
84.其中,在密码功能统计模块中,密码服务功能的使用数据包括:各密码算法单独使用的频率、各密码算法单独使用的运算能力、各密码算法相互组合使用的频率、各密码算法相互组合使用的先后顺序以及相邻两笔业务输出数据地址与输入地址、各密码算法相互组合使用的频率加权值。
85.进一步地,智能分析模块包括:
86.第一获取模块,用于获取所述各密码服务功能的各密码算法单独使用的频率与各密码算法单独使用的运算能力的比值;
87.第一确定模块,用于将所述比值和预设阈值相比,确定是否执行所述密码模块的重配置;
88.或者
89.第二获取模块,用于获取所述各密码算法相互组合使用的频率、各密码算法相互组合使用的先后顺序和各密码算法相互组合使用的频率加权值;
90.第二确定模块,用于根据组合密码服务规则列表中是否存在所述各密码算法相互组合模式,确定是否执行所述密码模块的重配置。
91.进一步地,还包括:
92.密码服务组合学习模块,用于根据各密码算法相互组合使用的先后顺序以及相邻两笔业务输出数据地址与输入地址,确定密码组合热路径,识别组合密码服务并将识别的组合密码服务自动添加至组合密码服务规则列表。
93.进一步地,密码模块智能配置模块,包括:
94.辅助功能固化单元,用于所述密码模块内集成辅助功能固化区域;
95.算法核存储单元,用于保存多个单独密码算法核;
96.密码算法运行单元,用于当所述密码模块启动重配置功能时,将两个或多个所述单独密码算法核配置到运行区域后运行:
97.如图2所示,为智能化密码模块普通模式工作流程:
98.1、上层业务通过接口调用密码模块进行密码运算服务,密码功能统计模块内置于接口和密码模块之间的驱动层,上层业务执行过程中密码功能统计模块定期对各密码算法的使用次数、频率以及密码运算的先后顺序等进行统计。
99.2、智能化密码模块保存该密码模块各密码运算的能力,如sm2签名运算每秒多少次,sm2加密运算每秒多少次等信息。智能分析模块结合密码功能统计模块统计数据与密码模块各密码运算的能力进行分析,根据设定的阈值确定是否启动密码模块智能配置模块。
100.3、阈值为单位时间内某密码算法统计的运算次数除以单位时间内密码模块该密码运算的能力,默认设置该数值大于90%时启动密码模块智能配置模块。
101.4、密码模块智能配置模块启动密码算法核的镜像功能,并重新配置fpga。
102.如图3所示,为智能化密码模块组合密码服务模式工作流程图:
103.1)、上层业务通过异步接口模式调用密码卡进行密码运算服务,驱动层内置密码功能统计模块,上层业务执行过程中密码功能统计模块定期对各密码算法的使用次数和频率进行统计。
104.2)、密码服务组合学习模块通过密码运算先后顺序统计、上一笔业务密码运算结果输出地址与下一比业务数据输入地址比较等措施,标记密码运算热路径。
105.3)、被判定为组合密码服务的,将组合操作添加至规则列表。该过程为密码模块的学习过程。
106.4)、结合规则列表,智能分析模块根据密码功能统计模块统计的各密码运算的比例,判定组合密码服务是否出现且该组合密码服务在规则列表中。
107.5)、密码模块智能配置模块启动组合逻辑功能,并重新配置fpga。
108.而图4则为智能密码模块配置模块的示意图:
109.(1)、智能密码模块内部集成辅助功能固化区域,如pci密码卡的pcie功能、网络设备的网络模块等与密码运算无关的模块均可固化。
110.(2)、算法核存储区域,算法核存储区域保存多个各单独算法核,如多个sm2、sm3、sm4等算法核。
111.(3)、密码算法运行区域,该区域为智能密码模块的运行区域,密码算法核被智能配置模块由算法核存储区域配置到该区域后运行。
112.(4)、智能配置模块启动组合逻辑功能后,两个或多个算法核被组合配置至密码算法运行区域,以组合算法的形式运行。
113.本发明实施例提供的一种智能化密码模块的实现系统,比如基于pci密码卡实现,
且以普通模式为例:
114.驱动层设计密码功能统计模块,能够记录并统计1分钟内上层业务使用的各密码算法的次数和频率,智能分析模块结合该密码模块密码运算的能力和统计数据进行分析,初步设定启动密码模块智能配置模块的阈值为密码模块运算能力的90%。即:假设该密码模块1分钟内sm2签名的运算能力为60万次,密码卡功能统计模块统计超过54万次则启动密码模块智能配置模块。密码模块智能配置模块启动sm2算法核的镜像迁移功能,并重新配置fpga。实际测试过程中,测试程序进行延时控制sm2签名业务小于54万次时,密码运算性能稳定且小于54万次。测试程序去掉相关延时操作,全压力测试密码模块时,该实施密码卡触发密码模块智能配置功能,密码模块sm2签名性能由1分钟56万次,上升至1分钟100万次。
115.以组合密码服务模式为例:
116.接口层设计为异步调用的模式,驱动层设计密码功能统计模块,能够记录并统计1分钟内上层业务使用的各密码算法的次数和频率,密码服务组合学习模块根据统计分析并标记密码运算热路径,以sm2签名为例,密码卡首先执行sm3密码运算功能再执行sm2签名功能。由于接口层为异步调用模式密码服务组合学习模块判断sm3运算输出结果地址与sm2签名输入地址一致且持续出现sm3+sm2的密码运算组合顺序,则判定sm3+sm2签名为热路径,将sm3+sm2签名组合操作添加至规则列表。智能分析模块根据统计1分钟内sm3和sm2密码运算的操作接近1:1再结合规则列表,启动密码模块智能配置模块,密码模块智能配置模块启动组合逻辑功能,并重新配置fpga。该项实施实际测试过程中为便于演示控制sm3杂凑的数据长度,1分钟内sm3杂凑的次数与sm2签名次数相同都为60万次,完整的sm2签名次数为1分钟30万次。经测试1分钟后,该实施密码卡触发密码模块智能配置功能完整的sm2签名次数由30万次提升至50万次。
117.通过该系统,密码模块能够根据客户业务模式智能调节并提高密码运算性能,能够学习客户业务中密码运算的组合方式,进行自我优化进一步提升密码运算性能。
118.以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1