一种密码设备性能测试方法与流程

文档序号:29404098发布日期:2022-03-26 10:11阅读:946来源:国知局
一种密码设备性能测试方法与流程

1.本发明涉及云密码服务技术领域,特别是一种密码设备性能测试方法。


背景技术:

2.密码机服务器(含云密码机服务器,统称“密码机服务器”)做为云密码服务最重要的基础硬件设备之一,密码应用管理服务平台做为云密码服务的重要平台,其功能和性能的差异,一定程度上影响着云密码服务的能力和质量。
3.现有技术的密码机检测大都是采用单一的软件对与软件匹配的密码机进行性能测试,兼容性差,而且检测结果单一,检测效率不高。


技术实现要素:

4.有鉴于此,本发明的目的是提供一种能够对服务器密码机进行功能和设备性能进行测试的方法。
5.本发明采用以下方法来实现:一种密码设备性能测试方法,包括以下步骤:
6.步骤s1、首先进行测试组网,完成组网后对服务器密码机的功能和性能进行测试;
7.步骤s2、通过对服务器密码机的随机数生成和随机性、密钥生成、备份和还原、对称算法和不对称算法、签名算法、hmac-sm3算法进行验证,从而实现了服务器密码机的功能测试;
8.步骤s3、通过对服务器密码机的各个接口进行测试,取得往返数据,通过统计学,量化评估被测服务器密码机的整体性能;
9.步骤s4、对服务器密码机的密钥访问控制管理进行测试,从而完整整体服务器密码机的测试。
10.进一步的,所述步骤s1中的测试组网具体包括以下两种方式:
11.无交换机组网连接方式、代理服务器与云服务器加密机使用光纤进行连接,其余设备通过网线进行连接,其中loadrunner笔记本为千兆网口,性能测试时,使用两台笔记本分别远程管理代理服务器和云服务器加密机,作用是对代理服务器和云服务器加密机的cpu利用率进行监控;
12.通过交换机的组网连接方式、代理服务器、云服务器加密机使用光纤与交换机进行连接,其余设备使用网线与交换机连接,所有设备通过交换机进行数据交换,其中交换机为万兆交换机,loadrunner笔记本网口为千兆网口,性能测试时,使用笔记本远程连接代理服务器和云服务器加密机对cpu利用率进行监控。
13.进一步的,所述步骤s2中随机数生成和随机性验证具体包括以下步骤:步骤s21、通过服务器加密机随机数的生成接口,抽取随机数样本,样本长度选取10^6比特,样本数量为1000;步骤s22、在随机数的采样过程中,将随机数发生器产生的样本数据转换成等价的二元序列,并将采集的样本按照长度要求,储存为二进制文件,放入统一的文件夹;步骤s23、对照《gm/t 0005-2012随机性检测规范》,进行随机数的随机性检测。
14.进一步的,所述步骤s2中密钥的生成、备份和还原具体包括以下步骤:步骤s24、使用服务器密码机的密钥生成功能在服务器密码机的内部生成密钥,通过服务器密码机管理界面查看密钥的生成情况;步骤s25、使用服务器密码机的密钥备份功能将生成的密钥备份到密码机内部的智能密码钥匙或者服务器密码机外部的智能ic卡;步骤s26、将备份好的密钥通过服务器密码机的还原功能将密钥还原到密码机内部,并且通过服务器密码机管理界面查看密钥的生成情况。
15.进一步的,所述步骤s2中的对称和不对称算法验证具体包括:演示服务器密码机的加密和解密的过程,查看服务器密码机的运行日志内是否存在加密和解密的日志,是,则验证通过,否,则取得密钥数据,对照gb/t 32907-2016《信息安全技术sm4分组密码算法》对加解密过程的正确性进行验证。
16.进一步的,所述步骤s2中的签名算法验证进一步具体包括:演示服务器密码机的签名验证功能和签名验证的过程,查看服务器密码机运行日志是否有签名和验证的日志,是,则验证通过,否,则随机取得对应的公钥、随机数和签名结果,对照《gmt 0003.2-2012sm2 椭圆曲线公钥密码算法第2部分:数字签名算法》验证签名数据的正确性。
17.进一步的,所述步骤s2中的hmac-sm3算法验证进一步具体包括:演示服务器密码机的生成hmac-sm3算法功能的hmac生成过程,查看服务器密码机运行日志查看是否有hmac 生成过程的日志,是,则验证通过,否,则取得密钥数据和mac值,对照《gm/t 0004-2012sm3密码杂凑算法》验证mac值的正确性。
18.进一步的,所述步骤s3进一步具体包括以下步骤:步骤s31、检查服务器密码机的产品认证证书、设备标识、设备界面中的设备名称和设备型号的一致性;步骤s32、检查设备说明书中配置表格与设备实际配置参数的一致性、权限控制是否正确,以及管理界面中是否已正确配置主密钥、用户密钥、数字证书、公私钥对等;步骤s33、代理服务器代码检查,检查代理服务器中java代码的编写是否规范,是否正确调用了加密机接口,是否正确向测试机返回了加密机的运算结果,压力放大的参数是否可调并确保程序在执行完指定请求数量后再向测试机返回结果;原则上对放大参数的多次请求应使用单线程方式执行,这也是测试要求的主要方式,但建议备用多线程的方案,以便加密机性能超出测试机量程时,通过多线程方式测试,取得参考数据;步骤s34、测试脚本检查,主要检查测试机的脚本与代理服务器之间的接口是否对应;步骤s35、运行测试,开启测试机,调用代理服务器的接口,同时代理服务器也相应地调用加密机的对应接口(sm2公钥加密算法接口、sm2私钥解密算法接口、sm2私钥签名算法接口、sm2公钥验证签名接口、sm3摘要杂凑算法接口、sm4对称加密算法接口、sm4对称解密算法接口、随机数生成接口、hmac-sm3 接口),执行运算,并正确地返回结果;步骤s36、结果记录,通过load runner软件自动记录请求和返回结果,并结合代理机中的压力放大参数进行结果折算。
19.进一步的,所述步骤s4进一步具体为:对于存储在服务器密码机内部的私钥,应持有正确的私钥访问控制码才能使用;对密码机功能的调用和对服务器密码机的远程管理,应只有已授权ip地址的主机才可正常调用设备功能或对设备进行远程管理,可对不同密钥分别设置访问口令,在使用不同密钥进行运算时,需先使用其访问口令获取权限。
20.本发明的有益效果在于:本发明能够实现服务器密码机功能和设备性能的测试,能够更好的了解密码应用管理服务平台的安全和功能情况,以便指导我省密码应用的使用
和推广,加快我们商用密码的应用进程,为数字经济的发展保驾护航。
附图说明
21.图1为本发明的方法流程示意图。
具体实施方式
22.下面结合附图对本发明做进一步说明。
23.请参阅图1所示,本发明提供了一种密码设备性能测试方法,包括以下步骤:
24.步骤s1、首先进行测试组网,完成组网后对服务器密码机的功能和性能进行测试;
25.步骤s2、通过对服务器密码机的随机数生成和随机性、密钥生成、备份和还原、对称算法和不对称算法、签名算法、hmac-sm3算法进行验证,从而实现了服务器密码机的功能测试;
26.步骤s3、通过对服务器密码机的各个接口进行测试,取得往返数据,通过统计学,量化评估被测服务器密码机的整体性能;对被测接口进行5轮测试,取得结果进行标准差计算,如果标准差大于算术平均值则本次测试无效,需重新调整参数,重新测试;如果标准差小于算术平均值则本次测试有效,在此基础上,再删除最高分与最低分,最终以三个结果数据进行算术平均值计算,作为该接口的最后测试结果。
27.步骤s4、对服务器密码机的密钥访问控制管理进行测试,从而完整整体服务器密码机的测试。
28.下面通过一具体实施例对本发明作进一步说明:
29.对服务器密码机的功能测试包括以下几种:
30.1、随机数生成和随机性验证
31.具体流程:
32.1)通过加密机随机数生成接口,抽取随机数样本,样本长度选取10^6比特,样本数量为1000。
33.2)采样过程中,应将随机数发生器产生的样本数据转换为等价的二元序列。并将采集的样本按照长度要求,逐一存储为二进制文件,放入统一文件夹下。
34.3)并使用随机数检测工具进行检测。检测过程遵循gm/t 0005-2012《随机数检测规范》。
35.2、密钥生成、备份、还原
36.具体流程:
37.1)使用服务器密码机的密钥生成功能在服务器密码机内部生成密钥,通过服务器密码机管理界面查看密钥生成情况。
38.2)使用服务器密码机的密钥备份功能将生成的密钥备份到密码机内部、外部的智能密码钥匙或者外部的智能ic卡。
39.3)将备份好的密钥通过服务器密码机的还原功能将密钥还原到密码机内部,并且通过服务器密码机管理界面查看密钥生成情况。
40.3、对称算法验证
41.具体流程:
42.1)现场演示服务器密码机的加解密功能的加解密过程。
43.2)查看服务器密码机运行日志查看是否有加解密日志。
44.3)必要时,取得密钥数据,通过国密算法验证工具验证算法结果的一致性。
45.4、不对称算法验证
46.具体流程:
47.1)现场演示服务器密码机的加解密功能的加解密过程。
48.2)查看服务器密码机运行日志查看是否有加解密日志。
49.3)必要时,取得密钥数据,通过国密算法验证工具验证算法结果的一致性。
50.5、签名算法验证
51.具体流程:
52.1)现场演示服务器密码机的签名验证功能的签名和验证过程。
53.2)查看服务器密码机运行日志查看是否有签名和验证日志。
54.3)随机取得对应的公钥、随机数、签名结果,通过算法验证工具进行验证。
55.6、hmac-sm3算法验证
56.具体流程:
57.1)现场演示服务器密码机的生成hmac-sm3功能的hmac生成过程.
58.2)查看服务器密码机运行日志查看是否有hmac生成过程的日志
59.取得密钥数据和mac值,通过算法验证工具验证算法结果的一致性。
60.还包含两种状况,一种是密码机服务直连测试;另外一种情况为密码机服务器在密码应用管理服务平台管理下测试。
61.①
对称密码算法的加解密性能测试:
62.将一个定长数据报文,发送给虚拟密码机进行加/解密操作,重复操作n次,测量其完成时间t。用于测试的数据由检测机构选取,测试应进行多次,结果取平均值。
63.如虚拟密码机支持多种对称算法,必须测试所支持的所有对称密码算法及其各种工作模式和使用方式(如加密、解密、mac等)。
64.对称密码算法的加解密性能单位统一为mbps(兆比特/秒)。
65.②
非对称密码算法的加解密性能测试
66.将一个定长数据报文,发送给虚拟密码机进行加/解密操作,重复操作n次,测量其完成时间t。用于测试的数据由检测机构选取。测试应进行多次,结果取平均值。
67.如虚拟密码机支持多种非对称算法,必须测试所支持的所有非对称密码算法及其各种应用模式。
68.非对称密码算法的加解密性能单位统一为tps(次/秒)。
69.③
数据杂凑算法性能测试
70.将一个定长数据报文,发送给虚拟密码机进行摘要运算,重复操作n次,测量其完成时间t。用于测试的数据由检测机构选取。测试应进行多次,结果取平均值。
71.数据杂凑算法性能单位统一为mbps(兆比特/秒)。
72.④
随机数发生器性能测试
73.让虚拟密码机生成并输出长度为l的符合随机特性的随机序列n组,测量其完成时间 t。测试应进行多次,结果取平均值。
74.随机数发生器性能单位统一为mbps(兆比特/秒)。
75.⑤
非对称密钥生成性能测试
76.让虚拟密码机生成并输出指定数量的密钥对,测量其完成时间t。测试应进行多次,结果取平均值。
77.非对称密钥生成性能单位统一为tps(对/秒)。
78.对服务器密码机的设备性能测试包括:
79.1、通过对各接口的进行测试,取得往返数据,利用统计学方法,量化评估被测设备的整体性能。
80.2、具体流程:设备确认-设备配置检查-代理服务器代码检查-测试脚本检查-运行测试-结果记录-结果评估。
81.1)设备确认,主要检查产品认证证书、设备标识、设备界面中设备名称和型号的一致性。
82.2)设备配置检查,检查设备说明书中配置表格与设备实际配置参数的一致性、权限控制是否正确,以及管理界面中是否已正确配置相关运行参数。
83.3)代理服务器代码检查,检查代理服务器中java代码的编写是否规范,是否正确调用了加密机接口,是否正确向测试机返回了加密机的运算结果,压力放大的参数是否可调并确保程序在执行完指定请求数量后再向测试机返回结果。原则上对放大参数的多次请求应使用单线程方式执行,这也是测试要求的主要方式,但建议备用多线程的方案,以便加密机性能超出测试机量程时,通过多线程方式测试,取得参考数据。
84.4)测试脚本检查,主要检查测试机的脚本与代理服务器之间的接口是否对应。
85.5)运行测试,开启测试机,调用代理服务器的接口,同时代理服务器也相应地调用加密机的对应接口,执行运算,并正确地返回结果。
86.6)结果记录,通过load runner软件自动记录请求和返回结果,并结合代理机中的压力放大参数进行结果折算。折算方式为:
87.公式一:当代理机放大值《100时,结果调整值=测试机观测值*代理机放大值;
88.公式二:当代理机放大值》=100时,结果调整值=测试机观测值*代理机放大值*(0.95+(1/2/√代理机放大值));
89.其中(0.95+(1/2/√代理机放大值)),考虑到返回值处理的时间误差,用于调整此误差,其取值范围在0.95至1之间,代理机放大值越大,则越接近0.95,越小则越接近1。
90.7)结果评价,三种评价方式,不同的测试指标适用不同的评价方式:
91.一是反应时间,返回时间=请求次数/请求时间(秒),次数预定为100000 次;
92.二是工作量,即固定时间(预定100秒)内的成功返回次数;
93.三是吞吐量,即固定时间(预定100秒)内的总的返回的运算数据总量;
94.3、结果一致性保证:两组不同测试人员执行相同的测试任务,两次测试结果一致。
95.4、数据验证的抽查:在测试运行过程中,随机抽查运行过程中的交互数据,进行功能检查,确保功能正常,运算结果正确。具体可参考上一节“功能测试”。
96.目标是测试密码机服务器各项密码运算的速度指标。(测试工具:管控调用与回调存储服务,工具作用:实现对云密码机资源配置与管理,测试方法:通过各厂商提供的url 服务,按规范实现以上接口,并提供证明)
97.下列各项速度性能测试中的测试量由数据报文长度和测试次数决定。可以根据各个测试项的具体耗时情况,依照等比序列来选取测试次数,例如:测试次数n可以选择1次、 10次、100次、1000次

等,分别测试后得到不同测试次数时的性能序列。数据报文长度的选择在各个速度性能测试项中分别定义。
98.对于生随机数、杂凑算法测试、对称算法测试各个测试项的速度性能的计算如下式所示:s=8ln/(1024*1024t)
99.式中,s为速度,单位为mbps(兆比特/秒);l为数据报文的长度,单位为字节;n 为测试次数;t为测量所耗费的时间,单位为秒。
100.对于非对称密码算法各个测试项的速度性能的计算如下式所示:
101.s=n/t
102.式中,s为速度,单位为tps(次/秒);n为测试次数;t为测量所耗费的时间,单位为秒。
103.各项性能测试,均包括两种情况:单一负载和满负载。单一负载指密码机服务器仅启动一个,虚拟密码机并将所有计算资源分配给该虚拟密码机时,该虚拟密码机的各项性能测试数据;满负载指创建和启动该密码机服务器支持的最大数量虚拟密码机并对所有虚拟密码机并行进行各项性能测试时,所有虚拟密码机的各项性能测试数据之和、平均数据、最大及最小数据。
104.接口说明:请参考附件《加密机restful服务接口说明文档》。
105.对密钥访问控制管理的测试包括:对于存储在密码机内部的私钥,应持有正确的私钥访问控制码才能使用;对密码机功能的调用和对密码机的远程管理,应只有已授权ip地址的主机才可正常调用设备功能或对设备进行远程管理;
106.可对不同密钥分别设置访问口令,在使用不同密钥进行运算时,需先使用其访问口令获取权限。(测试工具:密钥访问控制测试工具;测试工具的作用:访问获取私钥权限接口;测试方法:1、对指定索引的密钥设置访问口令;2、分别用对应的索引值和正确的密钥调用获取私钥权限接口,应返回正确;3、分别用对应的索引值和不正确的密钥调用获取私钥权限接口,应返回错误;4、用未设置访问口令的索引调用获取私钥权限接口,应返回错误)
107.可配置允许访问密码机的ip白名单,在ip白名单中的主机才可正常调用设备功能或对设备进行远程管理,否则不能。(测试工具:密钥访问控制测试工具;测试工具作用:访问密码机接口客户端;测试方法:1、对密码机设置ip白名单(例:192.168.19.0);使用c编写测试代码:2、在192.168.19.0上调用密码机接口创建连接,应正确通过; 3、将ip改为192.168.19.1,再调用密码机接口创建连接,应返回错误)
108.本发明中的云服务器密码机cloud-hosted hardware security module(chsm)/ cloud cryptographic server在云计算环境下,采用虚拟化技术,以网络形式,为多个租户的应用系统提供密码服务的密码设备。
109.虚拟密码机virtual security module(vsm)/virtual cryptographic server
110.云服务器密码机上,采用虚拟化技术创建出来的提供类同实体密码机服务的密码服务实例。
111.chsm数据影像chsm data image
112.简称chsm影像。包含chsm内所有vsm中的与用户相关的配置、密钥及敏感信息等,
并使用加密和签名机制保护影像的安全性。用于chsm的漂移过程。
113.vsm数据影像vsm data image简称vsm影像。包含vsm内与用户相关的配置、密钥及敏感信息等,并使用加密和签名机制保护影像的安全性。用于vsm的漂移过程。
114.vsm漂移vsm drift当一台vsm发生故障时,云平台管理系统自动将此vsm的数据影像导入至另外一台空闲正常的vsm上,并快速切换用户网络。在用户无感知的情况下,恢复vsm的可用性。
115.云平台公钥authentication public key用于鉴别云平台管理系统的身份,验证管理报文的合法性。
116.公钥指纹public key fingerprint对公钥进行杂凑运算(sm3算法)的结果,作为公钥指纹。
117.以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1