基于加密卡和服务器的密码运算的实现方法和装置的制造方法

文档序号:9866067阅读:559来源:国知局
基于加密卡和服务器的密码运算的实现方法和装置的制造方法
【技术领域】
[0001]本发明涉及密码运算技术领域,尤其涉及一种基于加密卡和服务器的密码运算的实现方法和装置。
【背景技术】
[0002]随着社会信息化的发展,越来越多的传统业务逐渐迈入到以计算机、互联网为代表的“电子化”时代。在“电子化”的业务活动中,为了保证系统安全,各参与方通过对应用系统中关键业务信息进行签名,来确保这些业务活动的完整性与抗抵赖性。PKI (Public KeyInfrastructure,公钥基础设施)技术是实现电子签名的主要手段,PKI作为一套目前比较成熟可靠的技术框架,有效地保障了网络安全中完整性、真实性与抗抵赖性等多种特性。
[0003]随着电子签名需求的增多以及PKI技术的深入发展,将分散在各应用系统中实现电子签名的模块独立出来形成公用的电子签名服务平台,逐渐成为各级管理人员、开发人员的共识,签名验签服务器就是这样一个针对业务数据进行签名验签的独立服务平台。
[0004]由于目前电子商务、电子政务等应用环境下业务量的激增,签名验签服务器的签名特别是验签效率成为该产品的主要瓶颈。目前,现有技术中的签名验签产品主要有两种实现方式,第一种方式是采用价格相对便宜的加密卡作为密码硬件设备,第二种方式是将多块加密芯片集成在服务器主板上提供密码服务。
[0005]上述现有技术中的签名验签产品的缺点为:第一种方式成本低,但是受到单块加密卡性能限制,导致产品性能较低;第二种方式能够大大提高密码运算性能,但是工艺复杂,成本很尚。因此,找到一种尚性价比,能够提供尚性能密码运算的方法具有极大的意义。

【发明内容】

[0006]本发明的实施例提供了一种基于加密卡和服务器的密码运算的实现方法和装置,以提供高效的密码运算服务。
[0007]本发明提供了如下方案:
[0008]一种基于加密卡和服务器的密码运算的实现方法,包括:
[0009]分别计算出所有加密卡的密码运算能力和服务器CPU的密码运算能力;
[0010]根据所述所有加密卡和服务器CPU的密码运算能力,以及所述加密卡和所述服务器CPU中待处理的密码运算操作的数量,基于设定的密码运算调度策略,将待分配的密码运算操作数量分配给加密卡或服务器CPU ;
[0011]所述加密卡或服务器CPU对分配的密码运算操作进行运算。
[0012]所述的分别计算出所有加密卡的计算能力和服务器CPU的计算能力,包括:
[0013]获取当前使用多少块加密卡进行密码硬件运算,对每块加密卡上进行设定次数的密码运算,计算出每块加密卡的密码运算能力;
[0014]获取当前服务器CPU的配置信息,根据所述配置信息计算出需使用多少个服务器CPU核进行密码软算法运算,对每个服务器CPU核处理设定次数的密码运算,计算出每个服务器CPU核的密码运算能力。
[0015]所述的根据所述所有加密卡和服务器CPU的密码运算能力,以及所述加密卡和所述服务器CPU中待处理的密码运算操作的数量,基于设定的密码运算调度策略,将待分配的密码运算操作数量分配给加密卡或服务器CPU,包括:
[0016]根据所述所有加密卡的密码运算能力和所述所有加密卡中待处理的密码运算操作的数量,计算出所述所有加密卡的密码硬件运算压力值,根据所述服务器CPU核的密码运算能力和所述服务器CPU核中待处理的密码运算操作的数量,计算出所述服务器CPU核的密码软件运算压力值
[0017]将所述密码硬件运算压力值与所述密码软件运算压力值相除得到压力比例,将所述压力比例与预设定的密码运算阈值进行比较,当所述压力比例大于或者等于所述密码运算阈值,则将待分配的密码运算操作数量分配给所述所有加密卡;当所述压力比例小于所述密码运算阈值,则将待分配的密码运算操作数量分配给所述服务器CPU核。
[0018]所述的加密卡或服务器CPU对分配的密码运算操作进行运算,包括:
[0019]针对所有加密卡维持一个待处理的密码硬件运算操作队列;
[0020]每块加密卡由单独一个线程使用,该线程中本次密码运算操作处理完毕后,到所述密码硬件运算操作队列中取出第一个待处理的密码运算操作,并处理取出的密码运算操作,将所述取出的密码运算操作从所述密码硬件运算操作队列中移除;
[0021]每块加密卡的线程处理密码运算操作成功后,将处理结果发送到业务处理线程中;每块加密卡的线程处理密码运算操作失败后,将处理的密码运算操作重新设置到所述密码硬件运算操作队列中,并标注所述密码运算操作处理失败一次。
[0022]所述的加密卡或服务器CPU对分配的密码运算操作进行运算,包括:
[0023]针对所有服务器CPU核维持一个待处理的密码软件运算操作队列;
[0024]每个服务器CPU由单独一个线程使用,该线程中本次密码运算操作处理完毕后,到所述密码软件运算操作队列中取出第一个待处理的密码运算操作,并处理取出的密码运算操作,将所述取出的密码运算操作从所述密码软件运算操作队列中移除;
[0025]每块加密卡的线程处理密码运算操作成功后,将处理结果发送到业务处理线程中;每块加密卡的线程处理密码运算操作失败后,将处理的密码运算操作重新设置到所述密码软件运算操作队列中,并标注所述密码运算操作处理失败一次。
[0026]一种基于加密卡和服务器的密码运算的实现装置,包括:
[0027]密码运算能力计算模块,用于分别计算出所有加密卡的密码运算能力和服务器CPU的密码运算能力;
[0028]密码运算操作分配模块,用于根据所述所有加密卡和服务器CPU的密码运算能力,以及所述加密卡和所述服务器CPU中待处理的密码运算操作的数量,基于设定的密码运算调度策略,将待分配的密码运算操作数量分配给加密卡或服务器CPU ;
[0029]密码运算操作处理模块,用于通过所述加密卡或服务器CPU对分配的密码运算操作进行运算。
[0030]所述的密码运算能力计算模块,用于获取当前使用多少块加密卡进行密码硬件运算,对每块加密卡上进行设定次数的密码运算,计算出每块加密卡的密码运算能力;
[0031]获取当前服务器CPU的配置信息,根据所述配置信息计算出需使用多少个服务器CPU核进行密码软算法运算,对每个服务器CPU核处理设定次数的密码运算,计算出每个服务器CPU核的密码运算能力。
[0032]所述的密码运算操作分配模块,用于根据所述所有加密卡的密码运算能力和所述所有加密卡中待处理的密码运算操作的数量,计算出所述所有加密卡的密码硬件运算压力值,根据所述服务器CPU核的密码运算能力和所述服务器CPU核中待处理的密码运算操作的数量,计算出所述服务器CPU核的密码软件运算压力值
[0033]将所述密码硬件运算压力值与所述密码软件运算压力值相除得到压力比例,将所述压力比例与预设定的密码运算阈
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1