适用于服务器集群的可追踪电子签章管理方法
技术领域
本发明涉及电子签章的制作和验证方法。
背景技术
所谓电子签章,是附加在数据电文之上的一些数据,这些数据以电子形式表达,用于识别签名人身份并表明签名人认可数据电文中的内容,与手写签名或者盖章具有同等的法律效力。也就是说,它允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,同时防止被他人进行伪造,具有保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生等作用,因而对促进互联网等信息技术的发展具有非常重要的意义。
而随着互联网信息技术的发展,由大量的服务器组成的服务器集群开始出现。服务器集群以一个整体的形式统一对外服务,它不仅可以通过利用多台服务器实施并行计算而获得高性能,同时还可以避免因个别服务器的软硬件失效而导致系统瘫痪,具有很高的可靠性和可用性。这使得服务器集群技术成为当前网络服务器的核心技术。
但随着服务器集群技术的广泛应用和发展,人们经常会遇到针对服务器集群的电子签章问题:即在客户端看来,服务器集群是一个整体,那么电子签章的签章人也应该是服务器集群这个整体,对电子签章的验证也应该是使用服务器集群的统一公钥进行验证,但事实上,服务器集群其实是由多台服务器组成的,那么如何在服务器集群中实施电子签名,就成为人们不得不面对和解决的问题。
目前的解决方法主要有以下几种类型:
1)在组成服务器集群的所有服务器中共享签章密钥
在这种类型的解决方案中,由于服务器集群中的所有服务器均拥有共同的签章密钥,所以服务器集群中的任何一台服务器都可以以服务器集群的名义签发数据电文。这种方法可以有效地解决服务器集群的电子签章问题,同时具有高效快捷的优势,被应用于证书服务集群等需要大量签章操作的场合。但这种方法却存在严重的安全缺陷:由于每个服务器都拥有签章密钥,因而一旦集群中的某一服务器被攻破,则将可能出现集群签章密钥泄露,而且事后却无法跟踪是哪一台服务器出现的泄露,将会导致整个信息系统信任体制崩溃的严重后果。
2)使用密钥托管技术的电子签章方案
在这种类型的解决方案中,签章密钥被托管给服务器集群中的某一台服务器S0,由该服务器S0负责完成所有的签章工作。这样,集群中的其它服务器均无权签发数据电文,所有需要签发的数据电文首先都被传送到服务器S0中,然后由服务器S0完成数据电文的签发工作。这一解决方案能够解决上述方案中的安全问题,但由于所有的数据电文签发工作均压在服务器S0中,所以服务器S0的工作负担很重,只适合于不需要大量签章操作的场合,而且为了保证可跟踪性和事后审计,需要存储所有的数据电文,因而加重了存储负担。
3)基于零知识证明技术的电子签章方案
这种类型的解决方案基于零知识证明技术。在这种类型的解决方案中,签章操作将由集群中的各服务器进行,也就是说,集群中的各服务器均使用自己的签章密钥,实现对数据电文的签章操作,但该电子签章却不直接向验证者提供,而是提供一个零知识证明信息证明该电子签章的真实性。这样不仅解决了方案一中的密钥泄露的安全隐患,而且解决了方案二中的性能问题。此外,由于验证者拿不到真正的电子签章,进一步提高了电子签章的安全性,对电子签章具有很好的保护作用。但这类方案工作操作复杂、效率很低、性能较差、验证信息长度过长,导致其实用性不高。
发明内容
本发明的目的在于提供一种高效地、基于椭圆曲线密码体制的、适用于互联网环境下服务器集群的可追踪电子签章管理方法。
本发明的目的可以这样实现,设计一种适用于服务器集群的可追踪电子签章管理方法,包括:
系统初始化;先确定系统参数,选择一安全椭圆曲线,椭圆曲线上随机选取一基点数值作为参数,并选取椭圆曲线的阶的一个大素数因子作为参数;选取三个互不相同的算法函数作为参数;设定可信认证中心的集群私钥并确定可信认证中心的公钥,设定集群管理者的身份信息和随机选取的集群管理者私钥并确定集群管理者的公钥,设定集群中的服务器的身份信息和随机选取的服务器私钥并确定集群中的服务器的公钥;集群管理者和集群中的服务器,均需要通过可信认证中心的认证将自身的公钥和身份信息绑定;
集群成员加入;集群加入新的服务器时,首先由新服务器随机选取一个随机正整数作为签章秘密参数,并妥善保管;然后新服务器计算生成自己的身份绑定证书和申请参数并发送给集群管理者;集群管理者收到申请参数后,验证等式是否成立;等式验证通过且确认其它申请信息有效后,随机选取一个随机正整数,然后计算追踪参数并将追踪参数返回给新服务器,同时存储新服务器的身份绑定证书和申请参数、追踪参数到集群成员列表中;新服务器收到追踪参数后,验证等式是否成立,如果等式成立,则以身份绑定证书、申请参数、追踪参数为自己的集群成员证书,完成向集群加入新的服务器的过程;
电子签章生成,由集群中的各服务器使用自己的签章参数独立完成,服务器选取一个随机正整数并由此计算得到签章参数,对数据电文的电子签章包含签章参数;
电子签章验证,验证者从电子签章中析出参数,验证者验证参数等式是否成立,如果等式成立,则该电子签章是合法有效的;
电子签章跟踪,将电子签章发给集群管理者,由管理者从电子签章中析出追踪参数,即可在集群成员列表中找出该电子签章的制作者。
进一步地,确定系统参数:选定大整数p,椭圆曲线E(GF(p)):y2=x3+ax+b(mod p)是定义在有限域GF(p)上的一条安全椭圆曲线,在椭圆曲线E上随机选取一基点G,设n=#E(GF(p))是椭圆曲线E的阶,q是n的一个大素数因子;
选取三个互不相同的Hash杂凑摘要算法函数H1、H2、H3;
可信认证中心CA的集群私钥为SKCA,其中SKCA为小于q-1的随机正整数,则可信认证中心CA的公钥为PKCA=SKCA×G;
集群管理者GA的身份信息为IDGA,随机选取的私钥为SKGA,其中SKGA为小于q-1的随机正整数,则集群管理者GA的公钥为PKGA=SKGA×G;
集群中的服务器Ui的身份信息为IDUi,随机选取的私钥为SKUi,其中SKUi为小于q-1的随机正整数,则集群中的服务器Ui的公钥为PKUi=SKUi×G。
进一步地,集群管理者GA、集群中的服务器Ui,均需要通过可信认证中心CA的认证将自己的公钥和身份信息绑定;认证申请者将其身份信息IDj以及公钥PKj发送给可信认证中心CA;可信认证中心CA验证所收到的身份信息IDj有效后,随机选择rj,用自己的签章私钥SKCA计算Rj=rj×G,以及vj=rj+SKCA×H1(IDj,PKj,Rj),并将(vj,Rj)返回给认证申请者;认证申请者验证等式vj×G=Rj+H1(IDj,PKj,Rj)×PKCA是否成立,如果等式成立,则接受(IDj,vj,Rj,PKj)为认证申请者的身份绑定证书Cj;此时,集群管理者GA的身份绑定证书CGA为(IDGA,vGA,RGA,PKGA),而集群中服务器Ui的身份绑定证书CUi为(IDUi,vUi,RUi,PKUi)。
进一步地,需要向集群加入新的服务器Ui时,执行如下步骤:
首先由服务器Ui随机选取一个小于q-1的随机正整数dUi作为签章秘密参数,并妥善保管;
然后服务器Ui计算DUi=dUi×G,sUi=vUi+dUi×H2(DUi,IDUi,PKUi,RUi,PKGA)+SKUi×H3(DUi,IDUi,PKUi,RiUi,PKGA),以及EUi=DUi+SKUi×PKGA,并将自己的身份绑定证书(IDUi,vUi,RUi,PKUi)以及申请参数(sUi,EUi)发送给集群管理者GA;
集群管理者GA收到申请参数后,首先计算DUi=EUi–SKGA×PKUi,并验证等式sUi×G=RUi+H1(IDUi,PKUi,RUi)×PKCA+H2(DUi,IDUi,PKUi,RUi,PKGA)×DUi+H3(DUi,IDUi,PKUi,RUi,PKGA)×PKUi是否成立;
如果上一步骤中的等式验证通过且确认其它申请信息有效后,GA随机选取一个小于q-1的随机正整数zUi,然后计算追踪参数ZUi=zUi×G,以及σUi=vGA+zUi×H2(ZUi,IDGA,PKGA,RGA,DUi)+SKGA×H3(ZUi,IDUi,PKUi,RUi,DUi),并将(σUi,ZUi)返回给服务器Ui,同时存储(IDUi,PKUi,RUi,sUi,vUi,DUi,ZUi)到集群成员列表L中;
服务器Ui收到(σUi,ZUi)后,验证等式σUi×G=RGA+H1(IDGA,PKGA,RGA)×PKCA+H2(ZUi,IDGA,PKGA,RGA,DUi)×ZUi+H3(ZUi,IDUi,PKUi,RUi,DUi)×PKGA是否成立,如果等式成立,则以(IDUi,vUi,σUi,RUi,DUi,ZUi,PKUi)为自己的集群成员证书,完成向集群加入新的服务器Ui的过程。
进一步地,集群服务器Ui需要以集群的名义对数据电文m进行电子签章操作,则执行如下操作:
集群服务器Ui选取一个小于q-1的随机正整数r,并计算R=r×G,以及T=σUi+r×H2(R,ZUi,DUi,RGA,m)+dUi×H3(R,ZUi,DUi,RGA,m),则对数据电文m的电子签章W=(R,ZUi,DUi,T,RGA)。
进一步地,当验证者V需要验证所接收到的数据电文m及其对应的电子签章W的真伪时,只需要执行如下步骤:
验证者V从电子签章W中析出参数R、ZUi、DUi、T、RGA;
验证者V验证等式:T×G=RGA+H1(IDGA,PKGA,RGA)×PKCA+H2(ZUi,IDGA,PKGA,RGA,DUi)×ZUi+H3(ZUi,IDUi,PKUi,RUi,DUi)×PKGA+H2(R,ZUi,DUi,RGA,m)×R+H3(R,ZUi,DUi,RGA,m)×DUi是否成立,如果等式成立,则该电子签章是合法有效的。
进一步地,当需要追踪电子签章W的来源时,只需要将电子签章W发给集群管理者,由管理者从电子签章W中析出追踪参数ZUi和DUi,即可在集群成员列表L中找出该电子签章的制作者Ui。
本发明解决了现有方案所存在的安全性、复杂性等技术难题,具有高效、安全、可追踪等优势,为互联网环境下服务器集群的电子签章制作和检测提供了可靠保障。
附图说明
图1是本发明较佳实施例的示意图;
具体实施方式
以下结合实施例对本发明作进一步的描述。
如图1所示,一种适用于服务器集群的可追踪电子签章管理方法,包括:
系统初始化;先确定系统参数,选择一安全椭圆曲线,椭圆曲线上随机选取一基点数值作为参数,并选取椭圆曲线的阶的一个大素数因子作为参数;选取三个互不相同的算法函数作为参数;设定可信认证中心的集群私钥并确定可信认证中心的公钥,设定集群管理者的身份信息和随机选取的集群管理者私钥并确定集群管理者的公钥,设定集群中的服务器的身份信息和随机选取的服务器私钥并确定集群中的服务器的公钥;集群管理者和集群中的服务器,均需要通过可信认证中心的认证将自身的公钥和身份信息绑定;
集群成员加入;集群加入新的服务器时,首先由新服务器随机选取一个随机正整数作为签章秘密参数,并妥善保管;然后新服务器计算生成自己的身份绑定证书和申请参数并发送给集群管理者;集群管理者收到申请参数后,验证等式是否成立;等式验证通过且确认其它申请信息有效后,随机选取一个随机正整数,然后计算追踪参数并将追踪参数返回给新服务器,同时存储新服务器的身份绑定证书和申请参数、追踪参数到集群成员列表中;新服务器收到追踪参数后,验证等式是否成立,如果等式成立,则以身份绑定证书、申请参数、追踪参数为自己的集群成员证书,完成向集群加入新的服务器的过程;
电子签章生成,由集群中的各服务器使用自己的签章参数独立完成,服务器选取一个随机正整数并由此计算得到签章参数,对数据电文的电子签章包含签章参数;
电子签章验证,验证者从电子签章中析出参数,验证者验证参数等式是否成立,如果等式成立,则该电子签章是合法有效的;
电子签章跟踪,将电子签章发给集群管理者,由管理者从电子签章中析出追踪参数,即可在集群成员列表中找出该电子签章的制作者。
本发明包括系统初始化、集群成员加入、电子签章生成、电子签章验证以及电子签章跟踪,包括可信认证中心CA、集群管理者GA、集群中各个服务器Ui以及签章验证者Vi等四种类型的参与者。
在确定系统参数时:选定大整数p,椭圆曲线E(GF(p)):y2=x3+ax+b(mod p)是定义在有限域GF(p)上的一条安全椭圆曲线,在椭圆曲线E上随机选取一基点G,设n=#E(GF(p))是椭圆曲线E的阶,q是n的一个大素数因子;
选取三个互不相同的Hash杂凑摘要算法函数H1、H2、H3;
可信认证中心CA的集群私钥为SKCA,其中SKCA为小于q-1的随机正整数,则可信认证中心CA的公钥为PKCA=SKCA×G;
集群管理者GA的身份信息为IDGA,随机选取的私钥为SKGA,其中SKGA为小于q-1的随机正整数,则集群管理者GA的公钥为PKGA=SKGA×G;
集群中的服务器Ui的身份信息为IDUi,随机选取的私钥为SKUi,其中SKUi为小于q-1的随机正整数,则集群中的服务器Ui的公钥为PKUi=SKUi×G。
集群管理者GA、集群中的服务器Ui,均需要通过可信认证中心CA的认证将自己的公钥和身份信息绑定;认证申请者将其身份信息IDj以及公钥PKj发送给可信认证中心CA;可信认证中心CA验证所收到的身份信息IDj有效后,随机选择rj,用自己的签章私钥SKCA计算Rj=rj×G,以及vj=rj+SKCA×H1(IDj,PKj,Rj),并将(vj,Rj)返回给认证申请者;认证申请者验证等式vj×G=Rj+H1(IDj,PKj,Rj)×PKCA是否成立,如果等式成立,则接受(IDj,vj,Rj,PKj)为认证申请者的身份绑定证书Cj;此时,集群管理者GA的身份绑定证书CGA为(IDGA,vGA,RGA,PKGA),而集群中服务器Ui的身份绑定证书CUi为(IDUi,vUi,RUi,PKUi)。
需要向集群加入新的服务器Ui时,执行如下步骤:
首先由服务器Ui随机选取一个小于q-1的随机正整数dUi作为签章秘密参数,并妥善保管;
然后服务器Ui计算DUi=dUi×G,sUi=vUi+dUi×H2(DUi,IDUi,PKUi,RUi,PKGA)+SKUi×H3(DUi,IDUi,PKUi,RiUi,PKGA),以及EUi=DUi+SKUi×PKGA,并将自己的身份绑定证书(IDUi,vUi,RUi,PKUi)以及申请参数(sUi,EUi)发送给集群管理者GA;
集群管理者GA收到申请参数后,首先计算DUi=EUi–SKGA×PKUi,并验证等式sUi×G=RUi+H1(IDUi,PKUi,RUi)×PKCA+H2(DUi,IDUi,PKUi,RUi,PKGA)×DUi+H3(DUi,IDUi,PKUi,RUi,PKGA)×PKUi是否成立;
如果上一步骤中的等式验证通过且确认其它申请信息有效后,GA随机选取一个小于q-1的随机正整数zUi,然后计算追踪参数ZUi=zUi×G,以及σUi=vGA+zUi×H2(ZUi,IDGA,PKGA,RGA,DUi)+SKGA×H3(ZUi,IDUi,PKUi,RUi,DUi),并将(σUi,ZUi)返回给服务器Ui,同时存储(IDUi,PKUi,RUi,sUi,vUi,DUi,ZUi)到集群成员列表L中;
服务器Ui收到(σUi,ZUi)后,验证等式σUi×G=RGA+H1(IDGA,PKGA,RGA)×PKCA+H2(ZUi,IDGA,PKGA,RGA,DUi)×ZUi+H3(ZUi,IDUi,PKUi,RUi,DUi)×PKGA是否成立,如果等式成立,则以(IDUi,vUi,σUi,RUi,DUi,ZUi,PKUi)为自己的集群成员证书,完成向集群加入新的服务器Ui的过程。
集群服务器Ui需要以集群的名义对数据电文m进行电子签章操作,则执行如下操作:
集群服务器Ui选取一个小于q-1的随机正整数r,并计算R=r×G,以及T=σUi+r×H2(R,ZUi,DUi,RGA,m)+dUi×H3(R,ZUi,DUi,RGA,m),则对数据电文m的电子签章W=(R,ZUi,DUi,T,RGA)。
当验证者V需要验证所接收到的数据电文m及其对应的电子签章W的真伪时,只需要执行如下步骤:
验证者V从电子签章W中析出参数R、ZUi、DUi、T、RGA;
验证者V验证等式:T×G=RGA+H1(IDGA,PKGA,RGA)×PKCA+H2(ZUi,IDGA,PKGA,RGA,DUi)×ZUi+H3(ZUi,IDUi,PKUi,RUi,DUi)×PKGA+H2(R,ZUi,DUi,RGA,m)×R+H3(R,ZUi,DUi,RGA,m)×DUi是否成立,如果等式成立,则该电子签章是合法有效的。
当需要追踪电子签章W的来源时,只需要将电子签章W发给集群管理者,由管理者从电子签章W中析出追踪参数ZUi和DUi,即可在集群成员列表L中找出该电子签章的制作者Ui。
具体实施例,在确定系统参数步骤中,随机选定256位大素数p,椭圆曲线E(GF(p)):y2=x3+ax+b(mod p)是定义在有限域GF(p)上的一条安全椭圆曲线,在椭圆曲线E上随机选取一基点G=(x,y),设n=#E(GF(p))是椭圆曲线E的阶,q是n的一个大素数因子,选取三个互不相同的Hash函数H1、H2、H3。其中,
p=6277101735386680763835789423207666416083908700390324961279,
a=592616546630905635115220920655548752905575269097021663719,
b=4804233895280899388319973107961190048453702796229268188014,
n=165186887773333704311468142720121385129365739211127201127,
q=165186887773333704311468142720121385129365739211127201127,
x=767497456867608967492675205059054232203172713727662547906,
y=773339505718536040565224929606618157393578012863049959916,
同时,使用256位的RIPEMD-256算法作为Hash杂凑摘要算法函数H1,使用256位的SHA-256算法作为Hash杂凑摘要算法函数H2,使用256位的国密SM3算法作为Hash杂凑摘要算法函数H3,遵循后续步骤,即可完成。
与现有技术相比,本发明基于有限域上的椭圆曲线离散对数问题的求解困难性,具有较好的安全性。其签章操作由集群中的各服务器使用自己的签章参数独立完成,实现了对数据电文的签章操作,成功地解决了现有技术方案一中的密钥泄露的安全隐患,也解决了现有技术方案二中的性能问题。同时,本发明无需零知识证明,同时通过将发送者身份证书和电子签章有机结合在一起,无需安全信道、密钥托管和证书管理等过程,也无需频繁与可信认证中心交互,也无需多步在线交互,无论是电子签章的制作者还是验证者,都只需要一步计算即可完成电子签章的生成和验证操作,其过程简单高效,所生成的电子签章长度较短,不用增加应用系统的资源消耗,可满足嵌入式环境、移动通信、无线通信等时间和空间资源受限环境中的应用需求,有效避免了现有方法所存在的计算负担、通信负担、数据膨胀和安全隐患。本发明能够抵抗各种已知的各种攻击方案,能确保数据电文的真实性、完整性、可靠性、匿名性、可追踪性和合法性,可以以软件组件、硬件板卡或者智能接口等形式部署于服务器集群环境中,适用于电子商务系统、电子政务系统、信息安全系统、网络通信系统等各个领域,具有很好的应用前景。