首页> 中国专利> 移动自组织网络的自认证公钥生成及验证方法

移动自组织网络的自认证公钥生成及验证方法

摘要

本发明公开了一种基于ECC的移动自组织网络自认证公钥管理方法,其步骤是:利用门限密码学将共享密钥均分给n个虚拟中心节点;用户选择秘密随机数,计算公开参数,将身份及公开参数发送给附近的虚拟中心节点A

著录项

  • 公开/公告号CN101702805A

    专利类型发明专利

  • 公开/公告日2010-05-05

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN200910219109.3

  • 发明设计人 吕锡香;李晖;张卫东;

    申请日2009-11-23

  • 分类号H04W12/04;H04W84/18;H04L9/32;H04L9/30;

  • 代理机构陕西电子工业专利中心;

  • 代理人王品华

  • 地址 710071 陕西省西安市太白路2号

  • 入库时间 2023-12-17 23:48:38

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-01-11

    未缴年费专利权终止 IPC(主分类):H04W12/04 授权公告日:20120620 终止日期:20151123 申请日:20091123

    专利权的终止

  • 2012-06-20

    授权

    授权

  • 2010-06-23

    实质审查的生效 IPC(主分类):H04W12/04 申请日:20091123

    实质审查的生效

  • 2010-05-05

    公开

    公开

说明书

技术领域

本发明属于网络安全技术领域,涉及自认证公钥,具体地说,是一种移动自组织网络的自认证公钥生成及验证方法,可用于为移动自组织网络中安全和信任体系的建立提供基础技术支撑。

背景技术

在公钥密码体制中,为了保证公开钥不被替换,一般有三种方法:基于证书的、基于身份的和自认证的。基于证书的方法以公钥基础设施PKI为基础,存在着复杂的证书管理问题。基于身份的方法直接以用户的身份信息作为其公开钥,没有证书的存储和管理问题,但其缺点是具有密钥托管,可信中心能够知道所有用户的秘密钥,另一个缺点是公钥撤销比较困难。在自认证公钥方法中公钥自身具有认证性,无须证书,没有复杂的证书管理问题,也不具有密钥托管问题。自认证公钥方法的这些优点使得它特别适合于资源受限的移动自组织网络。相对于传统网络,移动自组织网络具有动态的拓扑结构、有限的节点性能、分布式控制、无固定基础设施、无中心及安全性差等特性。在移动自组织网络中公钥密码体制是解决身份认证、信息安全性、信息完整性和行为抗抵赖等安全问题的有效机制,而自认证的公钥由于没有证书和复杂的证书管理相比之下更适合移动自组织网络。但是,自认证公钥体制应用于移动自组织网络还存在以下问题:(1)网络必须存在一个中心服务器为用户生成自认证公钥;(2)需要安全信道传送秘密信息;(3)已有的自认证公钥体制计算量比较大;(4)存在密钥托管。其中前两个问题在移动自组织网络中是不可实现的,而后两个问题对这种资源受限的网络也是不合理的,因此都是需要极力避免的。

发明内容

本发明的目的在于避免以上提及的技术不足,提出一种移动自组织网络的自认证公钥生成及验证方法,能够减小通信开销和计算开销,且在不需要安全信道、无中心和无密钥托管的条件下,实现移动自组织网络的安全通信。

本发明的目的是这样实现的:

一、本发明的自认证公钥生成方法,包括

A.初始化过程

网络运行之前,在离线状态下,中心处理节点C选取共享秘密钥a∈Zp*和t次秘密多项式f(x)=a+a1x+a2x2+...+atxt,ai∈Zp,i=1,...,t,计算虚拟中心的公开钥Y,并将秘密钥a按照di=f(i),i=1,...,n拆成n个份额di,分别分发给n个虚拟中心节点Ai(i=1,...,n);

B.自认证公钥及对应秘密钥生成过程

(B1)申请自认证公钥的用户Alice,选取随机秘密整数h∈Zq*,计算其公开参数U和R,并将U、R以及自己的身份信息ID发送给离其最近的某虚拟中心节点A1

(B2)A1作为发起者联系其它虚拟中心节点Ai,i=2,...,t+1,并将Alice的信息U、R以及ID发送给其它虚拟中心节点,节点Ai,i=1,...,t+1,称为发布者,发布者的数目t+1取自秘密多项式f(x)的次数t,A1也作为合成者;

(B3)每个发布者节点Ai,i=1,...,t选取自己的随机秘密整数ki∈Zq,根据该秘密整数和Alice的公开参数U,计算Alice的自认证公钥子块Qi,并广播Qi给其它t个发布者;

(B4)每个发布者节点Ai,i=1,...,t+1在收到其它t个发布者的消息后,根据自己的秘密份额di分别计算Alice的自认证公钥Q,计算子签名xi和中间变量Ri,将r,ID,xi,Ri发送给合成者A1,其中,r是Q的x坐标模q取整;

(B5)合成者A1收到发布者Ai的子签名xi在验证其有效后,根据收到的所有t+1个子签名计算合成签名x,并将用户Alice的自认证公钥Q和合成签名x发送给用户Alice,如果签名验证不通过,则拒绝该发布者的消息;

(B6)用户Alice根据合成者发给他的合成签名x以及自己的秘密数h计算自己的秘密钥s,该秘密钥与自认证公钥Q相对应。

二、本发明的自认证公钥验证方法,包括如下过程:

(1)设Bob为验证者,Alice为示证者;

(2)Alice将自己的公开钥Q、身份ID和公开参数R发送给Bob;

(3)Bob计算I=H(ID),V=rR+IQ,其中r是Alice公开钥Q的x坐标模q取整;

(4)Alice选择随机正整数z,计算T=zP,并将T发送给Bob;

(5)Bob选择随机正整数c并将c发送给Alice;

(6)Alice计算y=z+sc,并将y发送给Bob;

(7)Bob验证等式vP-cV=T是否成立,若等式成立,则确定Q确实是Alice的公开钥。

本发明具有如下优点:

(1)本发明由于公开钥自身具有认证性,因此没有复杂的证书管理问题,从而降低了网络的存储、通信和计算开销,因此更适合资源受限的移动自组织网络;

(2)本发明由于秘密钥是由用户自己产生,从而避免了密钥托管;

(3)本发明由于发布者节点和用户之间传送的所有信息均为公开信息,可以通过公开信道传送,因此不需要安全信道,解决了应用过程中一个非常棘手的问题;

(4)本发明由虚拟中心完成自认证公钥的生成和分发,因此在网络运行后无需中心服务器的参与,因此更适合无中心的移动自组织网络;

(5)本发明由于以轻量级密码体制ECC为理论基础,因此在计算量和通信量上都大有改善,非常适合为资源受限的移动自组织网络建立安全和信任体系。

理论推导证明,本发明的安全性建立在椭圆曲线上求解离散对数的困难性和ElGamal型数字签名的不可伪造性之上。

附图说明

图1是本发明的自认证公钥产生流程图;

图2是本发明的公钥验证流程图。

具体实施方式

A、本发明所应用的数学理论

(A1)椭圆曲线密码体制ECC

设p和q为大素数,GF(q)为q阶有限域,E为GF(q)上的椭圆曲线,E(GF(q))为E上的点构成的p阶循环群,P∈E(GF(q))是生成元。关于椭圆曲线的定义及其安全参数的选取可以参阅文献:Don Johnson,AlfredMenezes and Scott Vanstone,The Elliptic Curve Digital SignatureAlgorithm(ECDSA),IJLS,vol.1 issue1(2001),36-63。

(A2)Hash函数

Hash函数就是把任意长的输入消息变换成固定长的输出消息的一种函数,这个输出称为该消息的Hash值。一个安全的Hash函数应该至少满足以下几个条件;①输入长度是任意的;②输出长度是固定的,至少取128bits长,以便抵抗生日攻击;③对每一个给定的输入,能够很容易地计算其输出,即Hash值;④给定Hash函数的描述,找到两个不同的输入消息Hash到同一个值是计算上不可行的,或给定Hash函数的描述和一个随机选择的消息,找到另一个与该消息不同的消息,使得它们Hash到同一个值是计算上不可行的。Hash函数主要用于完整性校验和提高数字签名的有效性。

本发明中Hash函数H:{0,1}*→Zq,是从0和1组成的比特序列集合映射到加法循环群Zq

(A3)有限域

有限域是一个包含有限个元素的集合,满足对加法和乘法封闭等性质,有限域的阶是域中元素的个数,阶为素数q的有限域一般记为GF(q)。在有限域中,有两个群,一个是GF(q)对加法构成的群,一个是GF(q)-0对乘法构成的群。在乘法循环群中,生成元的所有幂给出群中的所有元素。本发明中Zp*表示群Zp中去掉零元构成的群。

(A4)最小知识证明

最小知识证明是一种有效的数学方法,它不但能够使得验证者可以检验每一步成立而最终确信示证者确实知道其秘密,而且又能保证不泄露示证者所知道的信息。最小知识证明满足两个条件:一是示证者几乎不可能欺骗验证者,即若示证者知道秘密,则验证者几乎确信示证者知道该秘密,若示证者不知道秘密,则验证者相信他知道秘密的概率为零;二是验证者几乎不可能得到证明的信息,特别是它不可能向其他人出示此证明。

(A5)素数和互素

所谓素数,是指任意一大于1的整数p,若它只能被±1和±p整除,就称其为素数;

所谓互素,是指两个整数,若它们的最大公约数为1,则称它们互素。

B.技术术语说明

(B1)虚拟中心

虚拟中心是指由n个普通网络节点组成的节点集合,该节点集合中的任意且至少t+1个节点协作能够完成单个中心服务器生成自认证公钥的工作。虚拟中心的作用是能够在无中心的分布式网络中实现中心集中式的安全技术。本发明的应用环境是无中心、分布式的移动自组织网络,这种网络没有固定基础设施,其拓扑结构也是动态变化的,因此,本发明利用虚拟中心代替单个中心服务器为用户生成自认证公钥。这种虚拟中心还具有很强的抗毁性,适合战场等恶劣环境。

(B2)中心处理节点

中心处理节点是指在离线初始化时负责组建虚拟中心并在虚拟中心中均分权利和责任的网络节点,该节点在初始化之后退出网络,在本发明中用C表示。

(B3)虚拟中心节点

虚拟中心节点是指构成虚拟中心的网络节点,在本发明中指的是节点Ai,i=1,...,n,其中的任意且至少t+1个协作能够为用户生成自认证公钥。

(B4)发布者

发布者在本发明中指的是具体为用户生成自认证公钥的那t+1个网络节点。

C、本发明的具体实现

设p和q为大素数,GF(q)为q阶有限域,E为GF(q)上的椭圆曲线,E(GF(q))为E上的点构成的p阶循环群,P∈E(GF(q))是生成元。

参照图1,本发明的自认证公钥生成过程如下:

过程1,在网络运行之前进行离线初始化。

(1.1)中心处理节点C选择虚拟中心节点共享的秘密钥a∈Zp*和t次秘密多项式f(x)=a+a1x+a2x2+...+atxt,ai∈Zp,i=1,...,t,并计算Y=aP,Y∈E(GF(q))是虚拟中心的公开钥;

(1.2)中心处理节点C将秘密钥a按照di=f(i)拆成n个份额,i=1,...,n,并在离线状态下,将秘密份额di分别分发给n个虚拟中心节点Ai,i=1,...,n,分发完秘密份额之后退出网络,销毁秘密钥a和秘密多项式f(x)。

过程2,申请自认证公钥的用户选取自己的随机秘密整数,计算自己的公开参数,将该公开参数及自己的身份发送给离其最近的某虚拟中心节点,该虚拟中心节点作为发起者负责联系其它t个虚拟中心节点,并将用户的公开参数及身份发送给其它虚拟中心节点。

(2.1)用户Alice,即申请自认证公钥的节点,选取自己的随机秘密整数h∈Zp*,计算自己的公开参数U=hP,R=hY,将U、R以及自己的身份ID发送给离其最近的某个虚拟中心节点,设为A1,其中P是循环群E(GF(q))的生成元,U∈E(GF(q)),R∈E(GF(q));

(2.2)节点A1作为发起者联系其它t个虚拟中心节点,并将用户Alice的公开参数U、R以及身份ID发送给这t个虚拟中心节点,这t+1个节点Ai,i=1,...,t+1称为发布者。

过程3,每个发布者节点Ai,i=1,...,t+1选取自己的随机秘密整数ki∈Zp,根据Alice的公开参数U计算Alice自认证公钥子块Qi=kiU,并广播Qi给其它t个发布者,Qi∈E(GF(q))。

过程4,每个发布者节点在收到其它t个发布者的消息后,根据自己的秘密份额分别计算Alice的自认证公钥、子签名和中间变量,并将所计算的自认证公钥、子签名和中间变量发送给合成者。

(4.1)收到其它t个发布者的消息后,每个发布者节点Ai,i=1,...,t+1,计算Alice自认证公钥其中

(4.2)每个发布者节点Ai,i=1,...,t+1,计算子签名xi=(di′r+kiI)modp,其中r=xQ(mod q)是Q的x坐标模q取整,I=H(ID)是用户Alice身份信息ID的Hash值而且是模p不为0的整数,(i-j)-1是i-j模p的逆元;

(4.3)每个发布者节点Ai,i=1,...,t+1计算中间变量Ri=d′iU;

(4.4)每个发布者节点Ai,i=1,...,t+1,将r,ID,xi,Ri发送给合成者A1,如果r=0,Ai自己可以重新选择随机数计算Qi,并广播给其它发布者,所有发布者重新计算Q、r以及子签名。

过程5,合成者在收到发布者的子签名并验证其有效性后计算合成签名,将自认证公钥和合成签名发送给用户Alice,如果验证不通过,则拒绝该发布者的消息。

(5.1)合成者A1在收到发布者Ai的子签名xi后可通过验证下列等式是否成立以验证其有效性:

Qi=xiI-1U-rI-1Ri

若该等式成立,则合成者能够确定所接收的来自发布者Ai的子签名xi是真实有效的子签名,如果验证不通过,则拒绝该发布者的消息,恶意假冒者在这里被识破,式中I-1是I模p的逆元,I=H(ID)是用户Alice身份信息ID的Hash值而且是模p不为0的整数;

(5.2)待所有的子签名都验证有效之后合成者A1计算合成签名将Alice的自认证公钥Q和合成签名x发送给用户Alice。

过程6,用户Alice根据合成者发给他的合成签名x以及自己的秘密数h计算自己的秘密钥s=xh(mod p),这里,

x=Σi=1t+1xi=Σi=1t+1(dir+kiI)=rΣi=1t+1di+IΣi=1t+1ki=(ra+kI)(modp),

则用户Alice的自认证公钥为Q,对应的秘密钥为s。这里,(Q,s)是虚拟中心对用户身份ID的Hash值的签名,签名算法是基于ECC的ElGamal签名算法的变型。

过程7,假设Bob为验证者,Alice为示证者,Bob验证Alice的公开钥,本发明对利用虚拟中心的公开钥Y对用户自认证公钥的真实性进行验证。

参照图2,验证过程如下:

(7.1)Alice将他自己的公开钥Q、身份ID和公开参数R发送给Bob;

(7.2)Bob计算I=H(ID),V=rR+IQ,其中r是Alice公开钥Q的x坐标模q取整;

(7.3)Alice选取随机正整数z,计算T=zP,并将T发送给Bob;

(7.4)Bob选取随机正整数c并将c发送给Alice;

(7.5)Alice计算y=z+sc,并将y发送给Bob;

(7.6)Bob验证等式yP-cV=T是否成立,若等式成立,则能够确定Q确实是Alice的公开钥。

以上过程是最小知识证明,几乎不泄露关于Alice秘密钥s的任何信息。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号