一种基于椭圆曲线的可控授权电子签名方法

文档序号:6519479阅读:209来源:国知局
专利名称:一种基于椭圆曲线的可控授权电子签名方法
技术领域
本发明属于网络信息安全领域中电子签名方法,特别是一种基于椭圆曲线的可控授权电子签名方法。
背景技术
在电子商务系统、电子政务系统、信息安全系统、网络通信系统等与信息相关的各个领域中,电子签名技术是极其基本的技术之一。它模拟了现实生活中的手写签名的功能,不仅具有身份认证、来源鉴别、抗抵赖、抗伪造等能力,而且还能对数据电文进行完整性认证,并可以确保数据电文的真实性、安全性、可靠性和合法性,因而对于保障信息系统的正常运作具有十分重大的意义。在许多国家,包括我国在内,电子签名都得到了法律上的承认。
目前,经过国内外众多学者的努力,已经出现了许多电子签名方法,例如中国专利局公布的申请号为02153672.4的专利申请《一种利用无线笔的电子签名留言方法》公开了一种通过记录使用者在利用无线笔进行手写签名时的书写笔迹,将其作为文档签名的方法,但由于该签名仅仅是手写签名的单纯模拟,与文档内容无直接关系,因此根本无法实现我国《电子签名法》第五条和第十三条所规定完整性、抗抵赖、抗伪造等关于电子签名合法性的基本要求。申请号为01139001.8的专利申请《电子签名的防伪方法及装置》则公开了一种应用于条形码系统的电子签名防伪方法,适用面较窄。
但所有这些方法都不能解决电子签名权利的委托授权问题。
在现实世界里,人们经常需要将自己的某些签名权力委托给可靠的代理人,让代理人代表本人去行使这些权力。委托签名权的传统方法是使用印章,因为印章可以在人们之间灵活地传递。而在电子签名领域中,也急需一种方法,以实现一种类似于现实生活中的印章和公章的功能,以便将自己的电子签名权利委托他人的方法。如申请号为03123791.6的专利申请《一种用电子公章对电子文档进行签名认证的方法》利用由签名公章和打印公章组成的电子公章,通过移动存储设备和安全渠道进行分发,实现授权电子签名的功能,但该方法不仅存在着分发过程中的安全危险,无法实现对签名权力的使用的控制,并且仅能适用于电子公文领域,应用范围很窄。申请号为200410052864.4的专利申请《签章集中管理与委托授权电子签章安全的方法》则将签名权力全部委托给可信的OA系统来实现签名权力的委托授权操作,这种方法针对OA系统,采取签章集中管理制度,实现委托授权操作,因此仅能应用于可信OA系统,应用面很窄。此外,该方法还存在着签名可以伪造、文书的完整性无法保证、代理人签名权力无法控制、委托人和代理人可相互抵赖等众多的安全性问题。
本发明说明书中所用到的相关术语说明如下根据我国的《电子签名法》的定义,所谓的电子签名,是指数据电文中以电子形式所含、所附用于识别签名人身份并表明签名人认可其中内容的数据。而数据电文,则是指以电子、光学、电磁或者类似手段生成、发送、接收或者储存的信息。
委托人指的是拥有原始电子签名权力的签名人,他可以根据需要,将自己的电子签名权力委托授权给另一个签名人,即代理人。
代理人指的是根据委托人的委托授权,行使实际的电子签名权力的签名人。
授权电子签名指的是代理人根据委托人的委托授权,代表委托人生成的电子签名。
接收者指的是收到数据电文的用户。
认证中心指的是根据《电子签名法》第十七条设立的、由当事各方均认可的第三方可信的、提供相关电子认证服务的电子认证服务机构,它能提供符合《电子签名法》第二十一条所规定电子签名证书。
时戳证书指的是对所含电子文书提供时间证明的电子签名证书。

发明内容
本发明的目的在于针对现有技术和方法的不足,提供一种基于有限域上的椭圆曲线离散对数问题的求解困难性,并借助可信的第三方电子认证服务机构的安全可靠的基于椭圆曲线的可控授权电子签名方法。该方法可使得委托人对代理人行使电子签名权力的权力范围、签名时间和签名次数进行可靠的控制。
为了实现上述目的,本发明具体步骤是第一步骤确定系统参数;系统参数的确定方法为对于所选定大整数p,椭圆曲线E(GF(p))y2=x3+ax+b(mod p)是定义在有限域GF(p)上的一条安全椭圆曲线,其上随机选取的基点为G,设n=#E(GF(p)是椭圆曲线E的阶,r是n的一个大素数因子。并设委托人的私钥为SKA,代理人的私钥为SKB,两者均为小于r-1的随机正整数。
则委托人的公钥为PKA=SKA×G,代理人的公钥为PKB=SKB×G。
第二步骤委托人进行委托授权过程;当委托人因某种原因,需要委托授权代理人进行电子签名权力时,执行下列操作①委托人生成用于限制代理人的签名权限的授权文书Ap,其中包括约定的认证中心、有关代理人身份说明的电子证书、委托授权的有效期限、代理人代表委托人行使电子签名权力的权限范围、代理人代表委托人行使电子签名权力的最大签名次数等内容。
②委托人利用自己的私钥SKA,对限制代理人的签名权限的授权文书Ap进行普通电子签名,得到用于限制代理人的签名权限的授权证书Cp。
③委托人将授权证书Cp发送给认证中心CA。
④认证中心CA在认证了所收到的授权证书合法性的基础上,根据授权证书在内部数据库中设定代理人代表委托人行使电子签名权力的最大签名次数。
⑤委托人随机选取一个小于r-1的正整数K,计算委托参数Qp=k×G。
⑥委托人根据某种约定的杂凑摘要算法,计算杂凑摘要值Hp=Hash(CP,Qp)。
⑦委托人根据自己的私钥SKA,计算授权参数Sp=Hp×SKA+k。
⑧委托人根据委托参数和授权参数,生成委托授权信息Mp=(Sp,QX)。
⑨委托人将授权证书Cp和委托授权信息Mp作为委托请求(Cp,MP),发送给代理人。
第三步骤代理人验证委托请求的过程;代理人收到委托人的委托请求后,执行下列操作,验证委托请求的合法性,决定是否接受委托①代理人从委托请求中析出授权证书Cp,利用委托人的公钥PKA,验证授权证书的合法性;若授权证书Cp是有效的,则进行下一步;否则若授权证书Cp是无效的,则要求委托人重新发送委托请求,或者直接拒绝该委托接受请求。
②代理人从授权证书Cp中析出授权文书Ap,并根据授权文书Ap的内容,决定是否接受委托人的委托请求。如果接受委托人的委托请求,则进行下一步。
③代理人从委托请求中析出委托授权信息Mp。
④代理人从委托授权信息Mp中析出委托参数Qp和授权参数Sp。
⑤代理人根据某种约定的杂凑摘要算法,计算杂凑摘要值Hp=Hash(CP,Qp)。
⑥代理人验证等式SP×G=QP+HP×PKA是否成立。若等式不成立,则说明该委托授权信息无效,应要求委托人重新发送委托请求。若等式成立,则说明该委托授权信息是有效的,予以接受。并根据授权范围代表委托人行使电子签名权力。
第四步骤代理人行使电子签名权力的过程;当代理人需要在自己的代理权限内代表委托人行使电子签名权力时,执行下列操作①代理人根据从所收到的委托授权信息Mp中析出的授权参数Sp,以及计算所得到的杂凑摘要值Hp,计算授权电子签名私钥SKp=Sp+SKB×HP。
②代理人利用所生成的授权电子签名私钥SKp和所收到的委托授权信息Mp,按照某种约定的普通电子签名方法,对需要签署的电子文书M进行普通电子签名,可得普通签名S′=Sig(SKp,M,Mp),则授权电子签名为S=(S′,Qp)。
③代理人生成请求认证文书,其中包括代理人的身份信息、第②步中所得到的授权电子签名S以及请求对所签署的电子签名进行公证的认证消息。
④代理人利用自己的私钥SKB签署请求认证文书,得到请求认证电文。
⑤代理人将请求认证请求电文发送给认证中心CA,请求认证。
⑥认证中心CA在收到代理人提交的认证请求电文后,确认该电文的完整性和真实性。若有错误,则拒绝提供认证服务,并要求代理人重新发送。若认证通过,进行下一步操作。
⑦认证中心CA在内部数据库中搜索由委托人设定的最大签名次数,以及代理人已经代表委托人行使电子签名权力的签名次数,如果在委托授权的最大签名次数的范围内,则根据收到认证请求电文的时间,对所收到的认证请求电文中的授权电子签名签发时戳证书TP,同时修改内部数据库中的签名次数信息;否则,将拒绝提供认证服务,并终止操作。
⑧认证中心CA将所签署的时戳证书TP返还给代理人。
⑨代理人在收到由认证中心签署的时戳证书TP之后,将该证书附在消息之后,作为其代表委托人对电子文书所签署的授权电子签名的时间证明,与电子文书M、授权电子签名S、授权证书Cp一起,形成数据电文(M,S,CP,TP)。
第五步骤接受者验证所收到的数据电文的过程当接受者需要在检验所收到的、由代理人代表委托人签署的数据电文的合法性时,执行下列操作①接受者从所收到的数据电文中析出电子文书M、授权电子签名S、授权证书Cp和时戳证书TP。
②接受者利用委托人的公钥PKA,验证授权证书的合法性。利用认证中心的公钥,验证时戳证书TP的合法性。若验证不通过,则说明该数据电文无效。
③接受者根据授权证书Cp以及时戳证书TP,检查代理人是否有权签署该电子文书,即是否在限定的签名范围、限定的授权时效、限制的最大签名次数内进行的授权电子签名行为。若检查不通过,则说明该数据电文无效。
④接受者从授权电子签名S中析出委托参数Qp。
⑤接受者根据某种约定的杂凑摘要算法,计算杂凑摘要值Hp=Hash(CP,Qp)。
⑥接受者根据授权电子签名S,以及委托人的公钥PKA和代理人的公钥PKB,计算授权电子签名公钥PKp=QP+HP×(PKA+PKB)。
⑦接受者按照所约定使用的普通电子签名方法,验证由代理人代表委托人签署的数据电文的合法性,即函数Ver(S′,PKp,M)是否为真。若值为真,则该授权电子签名是合法的;反之,则该授权电子签名是不合法的。
本发明与之前的各种电子签名方法相比,本发明能够实现对电子签名权力进行安全可靠的委托授权。委托人能够严格地控制包括限制代理人行使签名的范围、设定委托授权的时效、限制最大签名次数等在内的委托授权电子签名行为。本方法不仅符合《电子签名法》所规定对电子签名的完整性、抗抵赖、抗伪造等关于电子签名合法性的基本要求,而且具备很强的不可伪造性、很好的识别性和很强的不可否认性等优秀性质以及防止代理人滥用代理权力的能力。
此外,本方法还具备较高的执行效率,易于管理,能够抵抗各种已知的攻击方法,安全性很高,能确保数据电文的真实性、安全性、可靠性和合法性,可以广泛应用于计算机、通信网络、智能卡、手机等各种软硬件环境,以及电子商务系统、电子政务系统、信息安全系统、网络通信系统等各个领域。


附图为本发明的可控授权电子签名的流程图。
具体实施例方式
下面结合实施例对本发明作进一步的描述,但该实施例不应理解为对本发明的限制。
随机选定192位大素数p,椭圆曲线E(GF(p))y2=x3+ax+b(mod p)是定义在有限域GF(p)上的一条安全椭圆曲线,其上随机选取的基点为G=(x,y),椭圆曲线E的阶为n=#E(GF(p)),r是n的一个大素数因子。
其中,p=6277101735386680763835789423207666416083908700390324961279a=592616546630905635115220920655548752905575269097021663719b=4804233895280899388319973107961190048453702796229268188014n=165186887773333704311468142720121385129365739211127201127r=165186887773333704311468142720121385129365739211127201127x=767497456867608967492675205059054232203172713727662547906y=773339505718536040565224929606618157393578012863049959916设委托人的私钥为SKA,代理人的私钥为SKB,两者均为小于r-1的随机正整数,则委托人的公钥为PKA=SKA×G,代理人的公钥为PKB=SKB×G。
系统约定使用SHA-256算法作为约定的杂凑摘要算法,EC-E1Gama1算法作为普通电子签名算法,并按发明内容中的步骤进行操作,即可完成授权电子签名的流程。
很明显,本发明并不局限于上述实施例,而是可以在不脱离发明范围和思想的情况下进行变化和修改。
本说明书未作详细描述的内容,属于本领域技术人员公知的现有技术。
权利要求
1.一种基于椭圆曲线的可控授权电子签名方法,其具体步骤是第一步骤确定系统参数,系统参数的确定方法为选定大整数p,椭圆曲线E(GF(p))y2=x3+ax+b(mod p)是定义在有限域GF(p)上的一条安全椭圆曲线,其上随机选取的基点为G,当n=#E(GF(p))是椭圆曲线E的阶,r是n的一个大素数因子,当委托人的私钥为SKA,代理人的私钥为SKB,两者均为小于r-1的随机正整数,则委托人的公钥为PKA=SKA×G,代理人的公钥为PKB=SKB×G;第二步骤委托人进行委托授权,其过程是①委托人生成用于限制代理人的签名权限的授权文书Ap,其中包括约定的认证中心、有关代理人身份说明的电子证书、委托授权的有效期限、代理人代表委托人行使电子签名权力的权限范围、代理人代表委托人行使电子签名权力的最大签名次数等内容;②委托人利用自己的私钥SKA,对限制代理人的签名权限的授权文书Ap进行普通电子签名,得到用于限制代理人的签名权限的授权证书Cp。③委托人将授权证书Cp发送给认证中心CA;④认证中心CA在认证了所收到的授权证书合法性的基础上,根据授权证书在内部数据库中设定代理人代表委托人行使电子签名权力的最大签名次数;⑤委托人随机选取一个小于r-1的正整数k,计算委托参数Qp=k×G;⑥委托人根据某种约定的杂凑摘要算法,计算杂凑摘要值Hp=Hash(CP,Qp);⑦委托人根据自己的私钥SKA,计算授权参数Sp=Hp×SKA+k;⑧委托人根据委托参数和授权参数,生成委托授权信息Mp=(Sp,Qp);⑨委托人将授权证书Cp和委托授权信息Mp作为委托请求(Cp,MP),发送给代理人;第三步骤代理人验证委托请求;第四步骤代理人行使电子签名权力;第五步骤接受者验证所收到的数据电文。
2.如权利要求1所述的基于椭圆曲线的可控授权电子签名方法,其特征在于第三步骤代理人验证委托请求的过程是①代理人从委托请求中析出授权证书Cp,利用委托人的公钥PKA,验证授权证书的合法性,若授权证书Cp是有效的,则进行下一步骤,否则要求委托人重新发送委托请求,或者直接拒绝该委托接受请求;②代理人从授权证书Cp中析出授权文书Ap,并根据授权文书Ap的内容,决定是否接受委托人的委托请求。如果接受委托人的委托请求,则进行下一步;③代理人从委托请求中析出委托授权信息Mp;④代理人从委托授权信息Mp中析出委托参数Qp和授权参数Sp;⑤代理人根据某种约定的杂凑摘要算法,计算杂凑摘要值Hp=Hash(CP,Qp);⑥代理人验证等式SP×G=QP+HP×PKA是否成立,若等式不成立,则说明该委托授权信息无效,应要求委托人重新发送委托请求,若等式成立,则说明该委托授权信息是有效的,予以接受,并根据授权范围代表委托人行使电子签名权力。
3.如权利要求1或2所述的基于椭圆曲线的可控授权电子签名方法,其特征在于第四步骤代理人行使电子签名权力的过程是①代理人根据从所收到的委托授权信息Mp中析出的授权参数Sp,以及计算所得到的杂凑摘要值Hp,计算授权电子签名私钥SKp=Sp+SKB×HP;②代理人利用所生成的授权电子签名私钥SKp和所收到的委托授权信息Mp,按照某种约定的普通电子签名方法,对需要签署的电子文书M进行普通电子签名,可得普通签名S′=Sig(SKp,M,Mp),则授权电子签名为S=(S′,Qp);③代理人生成请求认证文书,其中包括代理人的身份信息、第②步中所得到的授权电子签名S以及请求对所签署的电子签名进行公证的认证消息;④代理人利用自己的私钥SKB签署请求认证文书,得到请求认证电文;⑤代理人将请求认证请求电文发送给认证中心CA,请求认证;⑥认证中心CA在收到代理人提交的认证请求电文后,确认该电文的完整性和真实性,若有错误,则拒绝提供认证服务,并要求代理人重新发送,若认证通过,进行下一步操作;⑦认证中心CA在内部数据库中搜索由委托人设定的最大签名次数,以及代理人已经代表委托人行使电子签名权力的签名次数,如果在委托授权的最大签名次数的范围内,则根据收到认证请求电文的时间,对所收到的认证请求电文中的授权电子签名签发时戳证书TP,同时修改内部数据库中的签名次数信息,否则,将拒绝提供认证服务,并终止操作;⑧认证中心CA将所签署的时戳证书TP返还给代理人;⑨代理人在收到由认证中心签署的时戳证书TP之后,将该证书附在消息之后,作为其代表委托人对电子文书所签署的授权电子签名的时间证明,与电子文书M、授权电子签名S、授权证书Cp一起,形成数据电文(M,S,CP,TP)。
4.如权利要求1或3所述的基于椭圆曲线的可控授权电子签名方法,其特证在于第五步骤接受者验证所收到的数据电文的过程是①接受者从所收到的数据电文中析出电子文书M、授权电子签名S、授权证书Cp和时戳证书TP;②接受者利用委托人的公钥PKA,验证授权证书的合法性。利用认证中心的公钥,验证时戳证书TP的合法性,若验证不通过,则说明该数据电文无效;③接受者限据授权证书Cp以及时戳证书TP,检查代理人是否有权签署该电子文书,即是否在限定的签名范围、限定的授权时效、限制的最大签名次数内进行的授权电子签名行为。若检查不通过,则说明该数据电文无效;④接受者从授权电子签名S中析出委托参数Qp;⑤接受者根据某种约定的杂凑摘要算法,计算杂凑摘要值Hp=Hash(CP,QP);⑥接受者根据授权电子签名S,以及委托人的公钥PKA和代理人的公钥PKB,计算授权电子签名公钥PKP=QP+HP×(PKA+PKB);⑦接受者按照所约定使用的普通电子签名方法,验证由代理人代表委托人签署的数据电文的合法性,即函数Ver(S′,PKp,M)是否为真,若值为真,则该授权电子签名是合法的;反之,则该授权电子签名是不合法的。
全文摘要
本发明涉及一种基于椭圆曲线的可控授权电子签名方法,具体步骤是第一步骤基于椭圆曲线确定系统参数;第二步骤委托人进行委托授权;第三步骤代理人 验证委托请求;第四步骤代理人 行使电子签名权力;第五步骤接受者验证所收到的数据电文。本发明能够实现对电子签名权力进行安全可靠的委托授权。委托人能够严格地控制包括限制代理人 行使签名的范围、设定委托授权的时效、限制最大签名次数等在内的委托授权电子签名行为。
文档编号G06F1/00GK1737721SQ20051001921
公开日2006年2月22日 申请日期2005年8月3日 优先权日2005年8月3日
发明者周祖德, 肖攸安, 李方敏, 刘泉 申请人:武汉理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1