一种基于椭圆曲线的分布式签名方法及系统技术方案

技术编号:15394882 阅读:114 留言:0更新日期:2017-05-19 06:35
本发明专利技术涉及一种基于椭圆曲线的分布式签名方法及系统,该签名方法包括:客户端生成与用户永久绑定的固定公私钥,将固定公钥发送给签名代理中心;签名代理中心根据公钥生成固定公私钥对,同时计算生成签名公钥并发布;签名业务中心将待签名消息发送给客户端和签名代理中心;客户端收到待签名消息后,生成临时公私钥对,并将临时公钥发送给签名代理中心;接着签名代理中心生成临时公私钥对,并计算签名消息摘要e,同时完成签名代理操作,并将签名代理结果发送给客户端;最后客户端进行签名授权工作,签名报文。还涉及一种与方法对应的系统。通过本发明专利技术通过用户、签名业务中心和签名代理中心三方共同完成数字签名,保密性更强。

【技术实现步骤摘要】
一种基于椭圆曲线的分布式签名方法及系统
本专利技术涉及信息安全的
,尤其涉及了一种基于椭圆曲线的分布式签名方法及系统。
技术介绍
椭圆曲线签名体制是目前主流的签名方案之一,国际上通用的是ECDSA标准,而国内采用的是SM2标准,目前这两种签名方案在国内都有较大的应用市场。数字签名是现代信息安全的重要的组成部分,应用数字签名技术可以识别篡改、伪装,还可以有效地防止否认。安全的数字签名在电子公文、电子合同等应用中确定双方身份,是保证信息真实可信的基础。当前常见的数字签名应用机制是通过智能密码钥匙(USBKey)存储密钥信息,在需要签名时,通过中间件配合调用智能密码钥匙完成运算。用户的密钥始终握在自己手中,是智能密码钥匙应用的安全基础。随着移动互联网的普及,越来越多的签名业务逐步迁移到移动端,用户仅需要通过联网的移动智能设备(手机)就可以完成业务操作,给用户带来的极大的便利。但是传统的智能密码钥匙难以在移动端发挥作用,主要包括如下几方面原因:●携带不便,用户需要在手机之外携带额外的硬件介质●硬件接口无法对接,手机端无法提供对接传统Key的USB接口●中间件开发困难,针对硬件调用的中间件开发难度较大另外,一般在进行数字签名业务时,需要通过额外的存储介质来保护密钥的安全性,而在移动端进行签名时,这种方式不可行,需要新型的去介质的分布式签名方法,因此,在移动端提供安全合规的数字签名是当下急需解决的问题。
技术实现思路
本专利技术所要解决的技术问题是:一般在进行数字签名业务时,需要通过额外的存储介质来保护密钥的安全性,而在移动端进行签名时,这种方式不可行,需要新型的去介质的分布式签名方法。为解决上面的技术问题,本专利技术提供了一种基于椭圆曲线的分布式签名方法,该签名方法包括如下步骤:S1,客户端注册生成一对与用户永久绑定的固定公私钥对(PC,dC),将客户端自身固定公钥PC发送给签名代理中心;S2,签名代理中心根据公钥PC生成与用户绑定的固定公私钥对(PB,dB),同时计算生成签名公钥P,并将签名公钥P发布;S3,签名业务中心将待签名消息(msg)发送给客户端和签名代理中心;S4,客户端收到S3中的待签名消息(msg)后,生成临时公私钥对(PTmp,dTmp),并将公钥PTmp发送给签名代理中心;S5,签名代理中心根据收到的待签名消息(msg)后和临时公钥PTmp生成临时公私钥对(PSTmp,dSTmp),并计算生成签名消息摘要e;S6,签名代理中心根据临时公钥PTmp、签名消息摘要e和固定私钥dB完成签名代理操作,并将签名代理结果发送给客户端;S7,客户端根据签名代理结果,利用自身的固定私钥dC和临时私钥dTmp进行签名授权工作,得到符合标准协议的签名报文,并将签名与签名公钥P进行验证;S8,若签名验证成功,则将报文发送给签名业务中心。进一步,所述的客户端、签名代理中心和签名业务中心均支持SM2标准算法的椭圆曲线参数E(Fp)、G和n,椭圆曲线E为定义在有限素数域Fp上的椭圆曲线,G为椭圆曲线E上n阶基点。进一步,所述S2中还包括:计算生成签名公钥P,P=PC+PB+[dB]·PC,·表示点乘。进一步,所述S5中还包括:计算签名消息摘要e,e=h(msg),同时生成随机数k,并利用随机数k计算点(x,y)=[k]·(PTmp+PSTmp),k∈[1,n-1],h是哈希函数。进一步,所述S6中还包括:签名代理中心根据临时公钥PTmp、签名消息摘要e和固定私钥dB完成签名代理,并计算生成(r,sproxy1,sproxy2),其中r=(x+e)modn;sproxy1=(1+dB)-1*kmodn;sproxy2=(1+dB)-1*(r+k*dSTmp)modn,mod表示求模运算,*表示模乘运算。进一步,所述S7中还包括:客户端根据签名代理结果,利用自身的固定私钥dC和临时私钥dTmp计算签名s,客户端将(r,s)作为完整的签名并输出,其中s=(1+dC)-1*dTmp*sproxy1+(1+dC)-1*sproxy2-rmodn。进一步,当签名完成后客户端的临时公私钥对PTmp,dTmp自动销毁以及签名代理中心的临时公私钥(PSTmp,dSTmp)对自动销毁。本专利技术的有益效果:签名私钥不会以明文的形式出现在任何过程中,保证签名私钥绝对的安全,分布式签名要求参与者必须同时进行签名,任何一方不能单独完成签名,安全性进一步提升,协议简单方便,只需要几次交互就能完成完整的签名,实现简单方便,用户可以对签名消息进行验证,保证所见即所签,客户端可以对签名结果进行验证,保证发出的签名报文的有效性。本专利技术还涉及一种基于椭圆曲线的分布式签名系统,该分布式签名系统包括:客户端,签名代理中心,签名业务中心;客户端将公钥PC发送给签名代理中心;签名代理中心接收公钥PC后生成固定公私钥对(PB,dB),同时生成签名公钥P,并将签名公钥P公布;签名业务系统将待签名消息(msg)发送给客户端和签名代理中心;客户端接收签名消息(msg)生成临时公私钥对(PTmp,dTmp),并将临时公钥PTmp发送给签名代理中心;签名代理中心接收待签名消息(msg)与临时公钥PTmp后,生成(r,sproxy1,sproxy2),并将生成的(r,sproxy1,sproxy2)发送给客户端;客户端根据(r,sproxy1,sproxy2)生成完整签名(r,s),将完整签名(r,s)输出并与签名公钥P验证。进一步,签名代理中心还包括:签名代理中心还包括:计算生成签名公钥P=PC+PB+[dB]·PC,计算签名消息摘要e,e=h(msg),同时生成随机数k,并利用随机数k计算点(x,y)=[k]·(PTmp+PSTmp),其中·表示点乘,k∈[1,n-1],h是相应的哈希函数。进一步,签名代理中心还包括:签名代理中心根据临时公钥PTmp、签名消息摘要e和自身的私钥完成签名代理,并计算生成(r,sproxy1,sproxy2),其中r=(x+e)modn;sproxy1=(1+dB)-1*kmodn;sproxy2=(1+dB)-1*(r+k*dSTmp)modn,mod表示求模运算,*表示模乘运算。进一步,客户端还包括:客户端根据签名代理结果,利用自身的固定私钥dC和临时私钥dTmp计算签名s,客户端将(r,s)作为完整的签名并输出,其中s=(1+dC)-1*dTmp*sproxy1+(1+dC)-1*sproxy2-rmodn。进一步,签名代理中心还包括:将签名公钥P请求对接CA申请用户数字证书。进一步,当签名完成后客户端的临时公私钥对PTmp,dTmp自动销毁以及签名代理中心的临时公私钥(PSTmp,dSTmp)对自动销毁。有益效果:签名私钥不会以明文的形式出现在任何过程中,保证绝对的安全,分布式签名要求参与者必须同时进行签名,任何一方不能单独完成签名,安全性进一步提升,协议简单方便,只需要几次交互就能完成完整的签名,实现简单方便,用户可以对签名消息进行验证,保证所见即所签,客户端可以对签名结果进行验证,保证发出的签名报文的有效性。附图说明图1为本专利技术的一种基于椭圆曲线的分布式签名系统示意图;图2为本专利技术的一种基于椭圆曲线的分布式签名方法流程图。具体实施方本文档来自技高网...
一种基于椭圆曲线的分布式签名方法及系统

【技术保护点】
一种基于椭圆曲线的分布式签名方法,其特征在于,该签名方法包括如下步骤:S1,客户端注册生成一对与用户永久绑定的固定公私钥对(P

【技术特征摘要】
1.一种基于椭圆曲线的分布式签名方法,其特征在于,该签名方法包括如下步骤:S1,客户端注册生成一对与用户永久绑定的固定公私钥对(PC,dC),将客户端自身固定公钥PC发送给签名代理中心;S2,签名代理中心根据公钥PC生成与用户绑定的固定公私钥对(PB,dB),同时计算生成签名公钥P,并将签名公钥P发布;S3,签名业务中心将待签名消息(msg)发送给客户端和签名代理中心;S4,客户端收到S3中的待签名消息(msg)后,生成临时公私钥对(PTmp,dTmp),并将公钥PTmp发送给签名代理中心;S5,签名代理中心根据收到的待签名消息(msg)后和临时公钥PTmp生成临时公私钥对(PSTmp,dSTmp),并计算生成签名消息摘要e;S6,签名代理中心根据临时公钥PTmp、签名消息摘要e和固定私钥dB完成签名代理操作,并将签名代理结果发送给客户端;S7,客户端根据签名代理结果,利用自身的固定私钥dC和临时私钥dTmp进行签名授权工作,得到符合标准协议的签名报文,并将签名与签名公钥P进行验证;S8,若签名验证成功,则将报文发送给签名业务中心。2.根据权利要求1所述的一种基于椭圆曲线的分布式签名方法,其特征在于,所述S2中还包括:计算签名公钥P=PC+PB+[dB]·PC,·表示点乘。3.根据权利要求2所述的一种基于椭圆曲线的分布式签名方法,其特征在于,所述S5中还包括:计算签名消息摘要e,e=h(msg),同时生成随机数k,并利用随机数k计算点(x,y)=[k]·(PTmp+PSTmp),k∈[1,n-1],h是哈希函数。4.根据权利要求3所述的一种基于椭圆曲线的分布式签名方法,其特征在于,所述S6中还包括:签名代理中心根据临时公钥PTmp、签名消息摘要e和固定私钥dB完成签名代理,并计算生成(r,sproxy1,sproxy2),其中r=(x+e)modn;sproxy1=(1+dB)-1*k;sproxy2=(1+dB)-1*(r+k*dSTmp),mod表示求模运算,*表示模乘运算。5.根据权利要求4所述的一种基于椭圆曲线的分布式签名方法,其特征在于,所述S7中还包括:客户端根据签名代理结果,利用自身的固定私钥dC和临时私钥dTmp计算签名s,客户端将(r,s)作为完整的签名并输出,其中...

【专利技术属性】
技术研发人员:杨国强刘会议
申请(专利权)人:北京三未信安科技发展有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1