CN1585326A - 数字证书签发服务器集群方法及*** - Google Patents
数字证书签发服务器集群方法及*** Download PDFInfo
- Publication number
- CN1585326A CN1585326A CN 200410027332 CN200410027332A CN1585326A CN 1585326 A CN1585326 A CN 1585326A CN 200410027332 CN200410027332 CN 200410027332 CN 200410027332 A CN200410027332 A CN 200410027332A CN 1585326 A CN1585326 A CN 1585326A
- Authority
- CN
- China
- Prior art keywords
- module
- key
- digital certificate
- sub
- computing module
- 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.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种数字证书签发服务器集群***及方法,集群***包括密钥管理模块、接口模块、计算模块和通讯模块,其中密钥管理模块离线运行,并通过手工方式与计算模块交互,接口模块和计算模块通过通讯模块连接在一起。集群方法包括密钥分割方法、子密钥分配方法、签名结果的计算方法和多机协作与监控方法。本发明具有***运行的高度健壮性、认证机构私钥的高保密性、签名计算的高速性和大吞吐量等优点。
Description
技术领域
本发明涉及网络信息安全技术,具体来说涉及一种数字证书签发服务器集群方法及***。
背景技术
数字签名是实现网络信息安全的一项重要技术,它的数学基础是非对称密码算法,即网络上的信息发布者利用非对称算法来产生对信息的一个签名,而网络上的其他人利用非对称密码算法可以验证该签名,但却伪造不了该签名。从而实现了网络上信息的不可抵赖性、不可伪造性以及建立在这两个性质上的其它网络安全相关性质。
数字证书是由认证机构CA签发的,根据CA服务器所提供的服务的特点以及它本身的特点,CA服务器在实现签发数字证书的基本功能的同时,必须满足若干性能要求。首先是要实现CA私钥的高度保密性,CA私钥的保密性确保了它所签发的证书的有效性,一旦泄露,别人将不再信任它所签发的证书,那么所有它签发的证书都要作废,从而造成了重大的损失和后患。其次是CA服务器总体上计算的高速性和大吞吐量,数字签名算法一般都需要较大的计算量,需要通过大量的大整数运算来完成,同时随着数字证书的普及,越来越多的用户向CA申请证书,根据这样的特点和实际需求,CA服务器必须尽可能地提高签发证书的速度。最后是CA服务器本身的健壮性,CA已经逐渐成为网络信息安全的基础和核心,CA服务器必须长时间稳定、可靠地提供服务。
当前许多商业CA服务器,都是基于非对称密码算法签发数字证书的。例如很多CA所采用的非对称算法是RSA算法,其基本运算是大整数模幂运算。这些CA在实现的时候,都是把CA的整个私钥数据存放在一台机器上,再由这台机器完成产生签名的整个模幂运算。当然也会配备有若干备份机器,但这些备份机器其结构完全与主机器一样,也是存放完整私钥并进行全部的模幂运算,而且备份机器与主机器之间没有必然的有机联系,只在主机器出现故障的时候由备份机器暂时替代其工作。显然这样的结构不能完全满足上述关于CA服务器的私钥保密性、大吞吐量、健壮性要求。
目前也有一些研究人员研究通过多机协作的方式来完成产生数字签名的运算,其研究结果也在一定程度上符合了上述关于CA性能要求的一个或多个,但他们都没有明确地针对CA服务器的特点来设计算法和规划***。在这些研究当中,有代表性的是中国专利申请号为01136019.4的“一种安全的数字签名方法和***”,该方案建立在RSA算法的基础上,实际上分为具有独创性的数字签名方法和建立在这个方法之上的一个软硬件***两个部分。该方案的数字签名方法是随机选取N个互不相同的数di,di的限制是其二进制形式的位数大概是密钥d的二进制形式的位数的四分之一。接着每次从这N个数中抽取t(1≤t≤N)个数组成一组,总共抽取出CN t个不同的组,每组记为(dj1,dj2,...,djt),并为每组数求得一个
从而形成新的CN t组数(dj1,dj2,...,djt,cj)。
对于每组数,如果分别以组中的一个数为指数对M进行模幂运算,那么对t+1个模幂运算结果(Sk)再进行t次模乘运算就可以得到最后的签名结果,即S。这个原理如下面推导过程所示:
这就是该方案的数字签名方法,即先对d作CN t组分解,每一组有t+1个数,利用任一组数并行地计算出Sk,最后才合并出S。
该方案的核心由两类机器组成,一类是N台运算机器,其工作是通过合作利用一组分解数中的djk部分计算Sk,并通过网络把Sk发送给合成器,另一类是若干台合成器,其工作是利用一组分解数中的cj部分计算Sk,并进行最终的合并运算,最后把S发送给合适的接收者。根据机器的分工,每台运算机器分配到N个di中的一个,每台合成器分配到若干个cj。当一个工作任务到来的时候,每个能正常工作的运算机器都用自己分配到的那个di计算出一个Sk并发送给合成器,而每个合成器一旦发现自己接收到的t个Sk和自己分配到的某个cj是属于对d的同一个分解,则利用cj计算Sk并合并出S,从而宣告签名成功。
这个***在一定程度上实现了私钥的保密性,由于考虑到运算速度的问题,di是非常小的数,攻击者一旦破解了合成器并取得cj,那么他就可以把t个di的和当作一个很小的数,这种破解的代价比直接破解d的代价小得多。由于cj基本上是一个与d在同一个数量级的数,根据大数模幂运算在计算机软件上的实现方式,合成器求Sk的时间与直接由d求S的时间基本是一样的,所以这个***并没有解决数字签名的运算速度及大吞量的问题。这个***对于健壮性问题的解决也不是很彻底,这个***结构复杂,除了上述的两种类型的机器,还有其他的辅助机器,每种类型的机器都有出现故障的可能,另外值得一提的是这个***并没有真正的实现(N,t)方案的安全,即使有t台运算机器能正常地计算并发送Sk最后能否合并出S,还要看合成器的情况,即如果拥有与这t个di匹配的cj的那台合成器刚好出现故障了,整个***还是失败了。最后这个***只考虑到普遍意义上的签名的一些问题,没有考虑到CA服务器签发数字证书的整个过程所涉及到的方方面面的技术问题。所以该方案虽然在扩展数字签名方法和实现数字签名的多机并行运算方面取得了一定的成果,但距离组建出一个产品化的CA服务器还有一定的距离。
根据当前的技术研究现状、市场需求和发展趋势,急需研究和建立一套完整的CA服务器***,能完整地考虑和实现CA服务器签发数字证书所涉及到的关键技术要求,能兼顾和满足CA私钥的保密性、CA签发数字证书在总体上的高速性、大吞量,以及CA服务器的健壮性。
发明内容
本发明的目的是克服现有CA服务器的不足,提供一种具备简单构架,且通过多机的紧密协调来实现CA私钥的高度保密性、数字签名运算的高速性和大吞量、***运行的高度健壮性这三方面性能的CA服务器集群方法和***,从功能上它能作为一个CA服务器,对外提供签发数字证书的服务,而作为一个集群***,它的所有***部件都高度自动地进行相互协调,实现上述的三方面性能。
为了实现上述发明目的,本发明采用的技术方案如下:
一种数字证书签发服务器集群***,由接口模块、通讯模块、计算模块和密钥管理模块组成,所述的接口模块通过通讯模块与外部的数字证书签发请求连接,并通过通讯模块与计算模块连接,所述的密钥管理模块通过手工方式与计算模块交互;一种数字证书签发服务器集群方法,包括密钥分割方法、子密钥分配方法、签名结果计算方法、和以签发数字证书为共同目标的多机协作与监控方法。
上述技术方案中,所述的通讯模块由交换机组组成,交换机组分为外部交换机组和内部交换机组,交换机组可根据***的实际规模选择适当的交换机数量;接口模块由一组计算机组成,可根据需要选择适当数量的计算机,一般情况下可选择两台计算机,其中一台作为主接口机器(以下简称“主机器”),其它作为备份接口机器(以下简称“备份机器”),用于备份和实现其它辅助功能,该计算机组里每台计算机都配有两张网卡,一张用于连接外部交换机组,另一张用于连接内部交换机组,接口模块通过外部交换机组与外部的数字证书签发请求连接,并通过内部交换机组与计算模块连接,正常情况下只有主接口机器工作,备份接口机器通过网络实时监控主机器的状态,如果发现主机器已经不能正常工作,则接管主机器的IP地址,并接替主机器的工作,如果主机器出现故障后又恢复正常,则从备份机器那里接管回IP地址和工作;计算模块也是由一组计算机组成,计算机组也根据需要选择不同数量的计算机,但该计算机数量通常都比较多,且每台计算机都与通讯模块的内部交换机组连接,计算模块的工作方式分为串行模式和并行模式;密钥管理模块由一台或两台计算机组成,密钥管理模块都采用离线运行的单机。
上述技术方案中,密钥分割方法是选择一个与计算模块的计算机数量相同的整数K,对CA的私有密钥D进行分割,从而得到K个子密钥(Di,i),
求得Di的算法表述如下:
输入:D,K
输出:K个Di
D′=D,MASK=O;
for(i=1,i<=K,i++)
{
MASK=2^Li-1;
Di=D′|MASK;
D′=D′>>Li;
}
其中,L和Li均是整数,满足:2L>D≥2L-1,L1=L/K+L%K,Li=L/K(i=2,…,K);
子密钥分配方法为:选择一个不大于K的正整数t,t为计算模块中每台计算机所分配到的子密码组的数量,
如果i+t≤K,则把从(di,i)开始的t个子密钥分配给计算模块的第i台计算机Si,
如果i+t>K,则把从(di,i)开始的K-(i+t-2)个子密钥和从(d1,1)开始的i+2t-K-2个子密钥分配给计算模块的第i台计算机Si;
签名结果计算方法为:对于待签名的明文M,迭代计算出Mi和Ci;在模N意义下,再计算K个Ci的连乘。
计算Mi和Ci的算法如下:
输入:Mi-1,(Di,i),Li
输出:Ci,Mi,
Ci=1,Mi=Mi-1,D′=Di,h=Li
for(h=Li,h>0,h=h-1)
{
if(D′&1)
Ci=Ci×Mi
}
其中,i∈{1,2,...,k},M0=M
计算C的算法为:
多机协作与监控方法为:接口模块接收外部的数字证书签发请求,把认证信息通过通讯模块传送给计算模块处理,又通过通讯模块从计算模块获得签名结果后把数字证书发送给请求者,接口模块以一台计算机为主处理器,其它计算机用于备份主处理器的数据,并在主处理器发生故障时接替主处理器工作;密钥管理模块根据密钥分割方法离线计算出K组子密钥,并根据子密钥分配方法把子密钥传送给计算模块的每台计算机;计算模块获取接口模块的数字证书签发请求信息,并根据每台计算机所分配的子密钥计算Mi和Ci,最后通过协调计算出C,并上传给接口模块。
上述技术方案中,所涉及的签名算法为RSA算法,所述的密钥为私钥。密钥分割方法和子密钥分配方法在密钥管理模块上完成,在子密钥分配方法中,整数t的取值范围为不小于2K/3且不大于K的整数,密钥管理模块把子密钥分配给计算模块,签名结果计算方法由计算模块实现,所述的计算模块的工作模式分为串行模式和并行模式。
串行模式和并行模式表述如下:
1、在串行计算模式下,计算机器为了计算Ci,不主动计算Mi-1,而是等待Mi-1出现后才利用(di,i)和Mi-1来计算出Ci和Mi,然后在计算模块中广播Ci和Mi;
在串行计算模式下,接口机器对K个Ci的计算任务在正常工作的计算机器中进行硬性的分配,分配策略表述如下:
(A)每个Ci都有一台计算机器负责计算,并且只由一台计算机器计算;
(B)尽可能平衡地把当前的K个Ci分配给所有正常工作的计算机器;
(C)让每台正常工作的计算机器历史上负责计算的Ci的个数尽可能平衡。
在串行计算模式下,计算机器根据自己分配到的计算任务,总是从小下标的Ci开始计算。
2、在并行计算模式下,计算机器为了计算Ci,如果Mi-1还没出现,则主动计算Mi-1,然后利用(di,i)和Mi-1来计算出Ci和Mi,最后在计算模块中广播Ci和Mi;
在并行计算模式下,接口机器不对K个Ci的计算进行硬性的分配,而计算机器Sj采用如下的计算策略:
(A)如果j+t≤K,按照下标从小到大的顺序计算Ci;
(B)如果j+t>K,则先从Cj开始,计算K-(j+t-2)个Ci,再从C1开始,计算j+2t-K-2个Ci。
在并行计算模式下,计算机器在计算Ci之前,都先检查Ci是否已经被其他机器计算,如果是,则不计算它;计算Ci之后都要检查是否已经收集到了K个不同的Ci,如果是,则计算出C,然后通知其他计算机器该任务已经完成,并把C发送给接口模块。计算机器一接收到某次任务已经完成的通知,则停止该任务相关的所有计算。
子密钥分配方法让计算模块的每台计算机器获得t个二元组,同时还把签名过程需要的模数N,L,K分配给每台计算机器。
本发明的工作原理是:
接口模块接受来自***外的证书签发请求,协调这个***内部的证书签发工作,并把最后经过签名的数字证书发给请求者。包括如下的步骤:
(1)接收证书签发请求
(2)编码证书并计算出明文M
(3)向计算模块发送一个RSA签名运算任务
(4)接收计算模块返回的结果C
(5)向客户端返回签名后的数字证书。
同时,接口模块还要完成如下的辅助性工作:
(A)监控***负荷,如果***长时间负荷过重,则命令计算模块进入串行计算模式,反之,则命令计算模块进入并行计算模式;
(B)监控计算模块的各台计算机的状态,如果计算模块当前不能完成RSA签名运算,则向客户端返回提示信息。
判断计算模块能否完成RSA签名运算的依据是:如果从当前能正常工作的计算机器中,能汇集成K个互不相同的二元组(Di,i),则计算模块能完成RSA签名运算,否则不能。
对于一个签名运算任务,计算模块中的每台计算机器都接收到M,然后通过协调计算出K个Ci,并合并出C,最后把C返回给接口模块。
本发明与现有技术相比,具有如下效果:
1、***通过简单的配置后,其运作无须人工干预,各个***部件完全自动地协调工作,实现签发数字证书的功能;
2、本发明的接口模块、计算模块、通讯模块都有备份功能,***能自我监控,一旦***中某些部件出现故障,能自动调整工作分配,屏蔽这些局部故障,从而继续运作下去,在***由于太多部件发生故障而无法再继续运作下去的时候,***会自动发出警告;
3、本发明把CA的私钥存放在离线运行的密钥管理模块上,所以CA的私钥具有高度的保密性,而计算模块的每台计算机所分配到的只是私钥的部分子密钥,所以攻击者即使破解机器群中的任何少数机器也不能获得私钥,保证了私钥的安全性;
4、本发明中,计算模块有串行和并行两种工作模式,使得***能在服务请求过多的时候把自己调整到大吞吐量工作模式,在这个模式下,对于单一的签名计算任务,其所需要的时间与传统单机***基本一致,但在总体上,***的吞吐量是传统单机模式的N倍,N的值基本上与***的计算机器数量一致;***能在服务请求少的时候把自己调整到快速响应的工作模式,在这个模式下,对于单一的签名计算任务,所需要的时间将小于传统单机模式计算签名所需要的时间,这个比值接近2/3;
5、集群***的结构简单、合理、安全,***只由调度机器和计算机器两类机器组成,调度机器不具有关于CA的任何秘密信息,它还起到隔离外部网络与内部工作环境的作用,进一步提高***安全性;
6、***的扩展简单,可在三个模块上方便地扩充。
附图说明
图1是本发明的一种数字证书签发服务器集群***的实施结构示意图;
图2是接口机器软件***的模块关系图;
图3是接口模块软件***签发一份数字证书的流程示意图;
图4是计算模块软件***计算一个签名的流程示意图。
具体实施方式
下面结合附图对本发明做进一步的说明,本发明的***结构图见附图1,包括如下的部件:一台离线运行的子密钥计算机器,一个由主接口机器和备份接口机器组成的接口模块,一个由K台计算机器组成的计算模块。这些机器都可以由普通计算机来担任。接口机器通过逻辑信道1接受外部服务请求者的证书请求资料,最后把经过CA签名的数字证书通过逻辑信道2返回给服务请求者。逻辑信道1和逻辑信道2可以分别实现为两个不同的TCP端口。两台接口机器通过逻辑信道3交换信息和互相监控对方的状态,逻辑信道3可以实现为一个TCP端口,即每台接口机器都开同一个TCP端口,然后需要给对方发送信息或监控对方状态的时候就去连接对方的这个TCP端口。接口机器通过逻辑信道4向计算模块中的所有计算机器发送数据,逻辑信道4可以实现为一个允许发送广播数据包的UDP端口。计算机器通过逻辑信道5向接口机器返回数据,逻辑信道5可以实现为一个允许发送广播数据包的UDP端口。计算模块中的机器通过逻辑信道6相互交换数据,逻辑信道6可以实现为一个允许发送广播数据包的UDP端口。子密钥计算机器通过一个离线的过程与计算模块中的机器发生联系,即在***初始化的时候,由***管理员把子密钥计算机器上加密的子密钥数据文件通过软盘等载体配置到各台计算机器上。此外,接口机器可以通过逻辑信道4监控计算机器的状态,也可以另外开一个逻辑信道(TCP或UDP端口)进行独立的监控。上述的各种逻辑信道其协议类型和端口号不能同时相同。
***首先完成子密钥的计算和分发,这个功能由离线的子密钥计算机器在操作人员的协助下完成。采取的操作过程如下:
1、选取参数t。在K确定的前提下,t是一个不小于1也不大于K的整数。t表示一个计算机器可以获得的子密钥的个数,大的t会提高***的健壮性,但降低了安全性,小的t对***的影响刚好相反。一般是建议取t为不小于2K/3的整数。
2、通过密钥分割方法计算出K份子密钥。
3、根据子密钥分配方法把分配给一台计算机器的子密钥写进一个加密的文件里,同时也写进计算Ci所需要的辅助信息,例如模数n。这样得到K个对应于K台计算机器的文件。
4、由人工把第i个文件配置到第i台计算机器上。
***完成初始化配置后,数字证书的认证请求由接口模块和计算模块合作完成。接口模块的工作及其实施方式如下:
1、接口机器要求外部服务请求者打开一个固定的TCP端口,以便接口机器把签名后的数字证书返回给请求者。
2、接口模块在正常情况下由主接口机器完成。备份接口机器通过心跳机制实时地监控主接口机器的状态,一旦发现主接口机器出现故障,则通过IP欺骗的方式完全接管主接口机器的工作,直到主接口机器恢复正常。所谓IP欺骗是指一台机器虽然实际并没有配置某个IP地址,但却通过发送ARP包的方式告诉本网段的机器(包括网关)它拥有该IP地址,这样发送到该IP地址的数据包在该网段内都会被发送到这台机器上。备份接口机器接管工作后,一方面继续负责完成原来主接口机器接收的任务,另一方面,处理新的服务请求。
3、主接口机器每接收到一个完整的服务请求,先把该请求发送到备份机器做备份,然后再告诉请求者该请求已经被受理。主接口机器在签出一份数字证书之后,先告诉备份机器该任务已经完成,然后再连接请求者的固定TCP端口,返回该数字证书。在这个过程中,备份机器的工作是:每收到主机器发过来的备份包,则先保存到请求列表中;当接受到一个服务完成提示包的时候,则在请求列表中删除相应的项目。这样一旦备份机器接管主机器的工作,就从请求列表中逐个地取出数据进行处理。
4、接口机器***由若干模块组成,如附图2所示。这些模块包括网络接口模块、主控模块、证书编码模块、主-备份机器互监控模块、主-备份机器数据互备份模块、签名任务管理模块、***负荷监控模块、计算模块监控模块、共享数据模块。
共享数据模块是***的数据中心,记录的共享数据包括:未完成的数字证书签发任务、计算模块的工作模式、各计算机器的实时状态。这些数据由部分模块修改,并被其他模块读取。
网络接口模块打开一个固定的TCP端口,然后循环地等待和接收服务请求。这个模块独立运行。它把接收到的证书请求信息传给主控模块,并在接收到主控模块发过来的数字证书的时候,连接请求者的固定TCP端口,把证书发送过去。网络接口模块接收的证书请求必须以PKCS#10的格式编码,发送回去的证书格式是X.509。
主-备份机器互监控模块实现心跳监控机制和IP欺骗机制。这个模块独立运行。这主要是对备份而言的,即备份接口机器主动地通过心跳机制实时地监控主接口机器的状态,一旦发现主接口机器出现故障,则通过IP欺骗的方式完全接管主接口机器的工作,直到主接口机器恢复正常。
主-备份机器数据互备份模块实现任务级的容错性。主接口机器每接收到一个服务请求,则把相关的数据发送到备份接口机器做备份,然后在该任务完成的时候再发送一个数据包通知备份机器删除相关备份。
负荷监控模块独立运行,负责监控***负荷,并根据负荷的轻重程度改变计算模块的工作模式。为了监控***负荷,需要向该模块提供两个参数,一个是记忆长度L,一个是不大于L的阈值t。***记录每次新任务到来的时候是否有未完成的任务,从新任务算起,只记录最新的L次。假设当前的工作模式是并行工作模式,如果在最新的L个记录里面,***有未完成任务的次数到达t,则***转入串行工作模式。反过来,假设当前处于串行工作模式,如果在最新的L个记录里面,***有未完成任务的次数是0,则***转入并行工作模式。
计算模块监控模块独立运行,负责监控各台计算机器的状态。该模块每隔一个很短的时间扫描所有计算机器的状态,并把最新的状态记录下来。
证书编码模块负责对证书请求中的信息编码,并加入本CA的信息;接着计算出证书中被签名部分的HASH值,并对该HASH值做格式化处理,形成最后参与RSA算法运算的明文M;然后根据这个M值调用签名任务管理模块,并把返回的签名结果C编码到证书中;最后组合出完整的数字证书。
签名任务管理模块是接口模块与计算模块的接口,它首先接收待签名的M值;接着根据当前计算机器的状态来确定计算模块是否能完成签名,如果能完成签名,则再结合当前计算模块的工作模式来确定各计算机器的分工和协调模式;然后把M和分工协调信息广播到计算模块中,并等待计算机器广播回来的运算结果C值,它启动一个计时机制,如果在规定的时间内没有接收到运算结果,则放弃该任务。计算模块能否完成签名归结于在当前正常工作的计算机器中能否找到K份不同的子密钥,如果能找到,则可以完成签名,否则不能。如果当前处于并行工作模式,则告诉计算机器按照并行模式计算,没必要规定其他的分工。如果是串行工作模式,则启动一个分工算法,计算K个Ci值的计算在计算机器中的分工,然后把工作模式、分工信息和M值都广播给计算模块。
主控模块负责协调、调度。它的工作从一个任务到来的时候开始,它首先接收网络接口模块发送过来的一个完整的请求信息,接着把该信息写到共享数据模块中,接着调用主-备份机器数据互备份模块进行数据备份,接着调用编码模块生成数字证书,最后通知网络接口模块把数字证书返回给外部请求者。
计算模块的工作及其实施方式如下,其流程图如附图4所示:
1、计算模块由K台计算机器组成,每台计算机器的软硬件完全同构。每台计算机器在启动的时候读出子密钥文件中的信息初始化自己的状态,子密钥文件中写明了本机器的编号(1到K),自己分配到的子密钥数量、编号和具体值,还包括其他辅助信息。
2、计算机器***由五个模块组成,它们是:与接口机器的网络接口模块、核心模块、计算机器间的网络接口模块、计算模块、共享数据模块。与接口机器的网络接口模块负责与接口机器之间的数据收发工作;计算机器间的网络接口模块负责与其他计算机器之间的数据收发工作;共享数据模块分两种数据,一种是子密钥信息,这个信息在初始化的时候读入内存,以后由计算模块使用,以作计算,另一种信息是一个签名任务列表,每一个表项代表一个未完成的签名任务;核心模块的工作就是在接收到一个签名任务的时候,在签名任务列表中添加一个表项,并初始化该表项的数据,包括把C先设置为1,把M0设置为M值,其他的Ci和Mi初始化为0,标志性信息也做相应的设置,然后它调用计算模块根据这些初始化信息开始执行该任务,此外核心模块还会接收到来自计算机器间网络接口模块的两种数据包,一种是部分结果(Ci和Mi)数据包,对于这种数据包,它调用计算模块进行合并计算和相关登记,另一种是任务完成数据包,对这种数据包,它自己直接修改签名任务列表,把该任务设置为“已完成”;计算模块的工作就是按照签名任务列表中的一个表项的指示进行计算,并在发现已经能合并出最后签名结果C的时候通知其他计算机器、向接口机器返回C,计算模块还负责在核心模块的调用下合并其他计算机器发送过来的部分结果,计算模块每获得一个部分结果Ci,都会检查所有K个不同的Ci是否已经全部得到,如果是则进行如下操作:合并出最后签名结果C、通知其他计算机器结束该任务的计算、向接口机器返回C。
Claims (10)
1、一种数字证书签发服务器集群***,其特征在于由接口模块、通讯模块、计算模块组成,所述的接口模块通过通讯模块与外部的数字证书签发请求连接,并通过通讯模块与计算模块连接,所述的计算模块与外部的密钥管理模块交互。
2、根据权利要求1所述的一种数字证书签发服务器集群***,其特征在于所述的通讯模块由交换机组组成,所述的交换机组分为外部交换机组和内部交换机组,接口模块通过外部交换机组与外部的数字证书签发请求连接,并通过内部交换机组与计算模块连接。
3、根据权利要求1或2所述的一种数字证书签发服务器集群***,其特征在于所述的接口模块由一组计算机组成,该计算机组里每台计算机都配有两张网卡,一张用于连接外部交换机组,另一张用于连接内部交换机组。
4、根据权利要求3所述的一种数字证书签发服务器集群***,其特征在于所述的计算模块由一组计算机组成,且每台计算机都与通讯模块的内部交换机组连接,每台计算机都与独立的密钥管理模块脱机交互。
5、根据权利要求4所述的一种数字证书签发服务器集群***,其特征在于所述的密钥管理模块由一台或两***立的计算机组成。
6、一种使权利要求1所述的集群***运作的数字证书签发服务器集群方法,其特征在于包括密钥分割方法、子密钥分配方法、签名结果计算方法、和以签发数字证书为共同目标的多机协作与监控方法;
密钥分割方法是选择一个与计算模块的计算机数量相同的整数K,对密钥D进行分割,从而得到K个子密钥(Di,i),
计算Di的算法表述如下:
输入:D,K
输出:K个Di
D′=D,MASK=0;
for(i=1,i<=K,i++)
{
MASK=2^Li-1;
Di=D′|MASK;
D′=D′>>Li;
}
其中,L和Li均是整数,满足:
2L>D≥2L-1、
L1=L/K+L%K,Li=L/K(i=2,…,K);
子密钥分配方法为:选择一个不大于K的正整数t,
如果i+t≤K,则把从(di,i)开始的t个子密钥分配给计算模块的第i台计算机Si,
如果i+t>K,则把从(di,i)开始的K-(i+t-2)个子密钥和从(d1,1)开始的i+2t-K-2个子密钥分配给计算模块的第i台计算机Si;
签名结果计算方法为:对于待签名的明文M,迭代计算出Mi和Ci;在模N意义下,再计算K个Ci的连乘。
计算Mi和Ci的算法如下:
输入:Mi-1,(Di,i),Li
输出:Ci,Mi,
Ci=1,Mi=Mi-1,D′=Di,h=Li
for(h=Li,h>0,h=h-1)
{
if(D′&1)
Ci=Ci×Mi
}
其中,i∈{1,2,...,k},M0=M
计算C的算法为:
多机协作与监控方法为:接口模块接收外部的数字证书签发请求,把数字证书签发请求信息通过通讯模块传送给计算模块处理,又通过通讯模块从计算模块获得签名结果后把数字证书发送给请求者,接口模块以一台计算机为主处理器,其它计算机用于备份主处理器的数据,并在主处理器发生故障时接替主处理器工作;密钥管理模块根据密钥分割方法离线计算出K组子密钥,并根据子密钥分配方法把子密钥传送给计算模块的每台计算机;计算模块获取接口模块的数字证书签发请求信息,并根据每台计算机所分配的子密钥计算Mi和Ci,最后通过协调计算出C,并上传给接口模块。
7、根据权利要求6所述的数字证书签发服务器集群方法,其特征在于所涉及的签名算法为RSA算法,所述的密钥为私钥。
8、根据权利要求6或7所述的数字证书签发服务器集群方法,其特征在于所述的子密钥分配方法中,整数t的取值范围为不小于2K/3且不大于K的整数。
9、根据权利要求8所述的数字证书签发服务器集群方法,其特征在于密钥管理模块完成所述的密钥分割方法和子密钥分配方法,并把子密钥分配给计算模块。
10、根据权利要求9所述的数字证书签发服务器集群方法,其特征在于所述的签名结果计算方法由计算模块实现,所述的计算模块的工作模式分为串行模式和并行模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100273325A CN100486155C (zh) | 2004-05-26 | 2004-05-26 | 数字证书签发服务器集群方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100273325A CN100486155C (zh) | 2004-05-26 | 2004-05-26 | 数字证书签发服务器集群方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1585326A true CN1585326A (zh) | 2005-02-23 |
CN100486155C CN100486155C (zh) | 2009-05-06 |
Family
ID=34601302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100273325A Expired - Fee Related CN100486155C (zh) | 2004-05-26 | 2004-05-26 | 数字证书签发服务器集群方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100486155C (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1832395B (zh) * | 2005-03-11 | 2011-06-08 | 微软公司 | 用于签发证书的格式不可知的***和方法 |
CN101699893B (zh) * | 2009-11-10 | 2012-09-05 | 广州杰赛科技股份有限公司 | 认证服务器集群的鉴别服务实体ase状态的更改方法 |
CN107277043A (zh) * | 2017-07-21 | 2017-10-20 | 携程旅游信息技术(上海)有限公司 | 基于集群服务的网络准入控制*** |
WO2020168773A1 (zh) * | 2019-02-18 | 2020-08-27 | 深圳壹账通智能科技有限公司 | 一种区块链上的数字证书签发、验证方法、设备及介质 |
CN111800261A (zh) * | 2020-06-29 | 2020-10-20 | 格尔软件股份有限公司 | 一种多节点的密钥管理方法及装置 |
CN117176347A (zh) * | 2023-11-02 | 2023-12-05 | 深圳市亲邻科技有限公司 | 一种移动应用证书验证方法与*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE511724C2 (sv) * | 1993-06-22 | 1999-11-15 | Ericsson Telefon Ab L M | Mobil slavväxel |
CN1357838A (zh) * | 2000-12-05 | 2002-07-10 | 宫平 | 一种网络物理隔离集中控制*** |
CN1207868C (zh) * | 2001-09-28 | 2005-06-22 | 中国科学院研究生院 | 一种安全的数字签名方法与*** |
-
2004
- 2004-05-26 CN CNB2004100273325A patent/CN100486155C/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1832395B (zh) * | 2005-03-11 | 2011-06-08 | 微软公司 | 用于签发证书的格式不可知的***和方法 |
CN101699893B (zh) * | 2009-11-10 | 2012-09-05 | 广州杰赛科技股份有限公司 | 认证服务器集群的鉴别服务实体ase状态的更改方法 |
CN107277043A (zh) * | 2017-07-21 | 2017-10-20 | 携程旅游信息技术(上海)有限公司 | 基于集群服务的网络准入控制*** |
WO2020168773A1 (zh) * | 2019-02-18 | 2020-08-27 | 深圳壹账通智能科技有限公司 | 一种区块链上的数字证书签发、验证方法、设备及介质 |
CN111800261A (zh) * | 2020-06-29 | 2020-10-20 | 格尔软件股份有限公司 | 一种多节点的密钥管理方法及装置 |
CN117176347A (zh) * | 2023-11-02 | 2023-12-05 | 深圳市亲邻科技有限公司 | 一种移动应用证书验证方法与*** |
CN117176347B (zh) * | 2023-11-02 | 2024-02-06 | 深圳市亲邻科技有限公司 | 一种移动应用证书验证方法与*** |
Also Published As
Publication number | Publication date |
---|---|
CN100486155C (zh) | 2009-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109558517B (zh) | 一种基于区块链的多方安全选举*** | |
Khan et al. | An efficient and provably secure certificateless key-encapsulated signcryption scheme for flying ad-hoc network | |
Zhu et al. | zkCrowd: a hybrid blockchain-based crowdsourcing platform | |
CN110113388B (zh) | 一种基于改进型聚类算法的区块链***共识的方法和装置 | |
Chen et al. | A distributed and robust security-constrained economic dispatch algorithm based on blockchain | |
CN112583575B (zh) | 一种车联网中基于同态加密的联邦学习隐私保护方法 | |
CN109246176B (zh) | 软件定义网络中基于区块链的多控制器同步方法及装置 | |
US20140223431A1 (en) | System for providing virtual machines | |
WO2021220278A1 (en) | System and method for fast, post-quantum blockchain concensus generation and smart contracts execution | |
CN1207867C (zh) | 一种安全的数字签名***及其数字签名方法 | |
US20230401331A1 (en) | Secure and scalable private set intersection for large datasets | |
CN114390051B (zh) | 一种基于物流边缘网关的数据管理设备及其控制方法 | |
CN109741019B (zh) | 基于政务数据调用的一证通办方法及*** | |
CN112311772A (zh) | 基于Hyperledger的跨域证书管理***及方法 | |
CN111583039A (zh) | 无管理者区块链交易的安全交互方法、激励方法及交易*** | |
US20140208319A1 (en) | System for providing virtual machines | |
CN101442482B (zh) | 一种基于反馈传播的分布式计算网络构建方法及其*** | |
CN113127910B (zh) | 基于区块链和去中心可追踪属性签名的可控匿名投票*** | |
CN113922957B (zh) | 一种基于隐私保护计算的虚拟云钱包*** | |
Zhang et al. | LIAS: A lightweight incentive authentication scheme for forensic services in IoV | |
CN112929167A (zh) | 基于雾辅助移动群智感知中保护隐私的数据聚合方法 | |
CN1585326A (zh) | 数字证书签发服务器集群方法及*** | |
Zhang et al. | {FLASH}: Towards a high-performance hardware acceleration architecture for cross-silo federated learning | |
CN113591103B (zh) | 一种电力物联网智能终端间的身份认证方法和*** | |
CN1352434A (zh) | 基于信任与授权服务的电子政务安全平台*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090506 Termination date: 20160526 |