欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 基于无证书聚类签名无双线性对的认证方法及系统独创技术16557字

基于无证书聚类签名无双线性对的认证方法及系统

2021-03-04 16:33:18

基于无证书聚类签名无双线性对的认证方法及系统

  技术领域

  本发明涉及信息安全及保密通信技术领域,尤其涉及一种基于无证书聚类签名无双线性对的认证方法及一种基于无证书聚类签名无双线性对的认证系统。

  背景技术

  随着无证书公钥密码学(Certificateless Public Key Cryptography,CLS-PKC)概念的提出,在传统公钥密码体制中的证书管理、维护问题和基于身份密码体制中的密钥托管问题得到了有效的解决。2003年,Al-Riyami和Paterson提出了第一个无证书签名方案(Certificateless Signature Scheme,CLS)。在无证书公钥密码学中,可信机构(TA:Trusted Authority)由密钥生成器(PKG:Private Key Generator)和跟踪机构(TRA:TraceAuthority)组成。其中,PKG主要是为用户提供局部私钥(Partial Private Key),TRA主要为用户生成匿名和根据用户匿名跟踪其真实身份。用户的私钥是由局部私钥和用户自己选择的秘密值组成。由于用户的签名需要由两部分私钥的同时参与,也就是说,在无法知道用户完整私钥的情况下,其消息则无法被成功伪造,从而使得基于身份密码体制中存在的密钥托管问题得到了有效的解决。与此同时,由于系统参数的公开化避免了传统公钥密码体制中的公钥证书的认证,从而解决了其证书管理、维护问题。因此,无证书公钥密码体制成为了密码学的研究热点。

  聚合签名的基本思想是:聚合签名者将N个不同的签名聚合成一个签名,从而来降低网络传输开销和提高签名验证的效率。然而,现有的基于无证书聚合签名的方案都存在一个问题:双线性对数目会随着签名者的数量的增加而线性增加,从而方案的效率越低。因此,基于无证书聚类签名的认证方案的效率性有待进一步提高。

  发明内容

  本发明所要解决的技术问题在于,提供一种基于无证书聚类签名无双线性对的认证方法及系统,能有效提高基于无证书聚合签名的认证方案的效率,保证通信安全。

  为了解决上述技术问题,本发明提供了一种基于无证书聚类签名无双线性对的认证方法,包括:密钥生成器及跟踪机构对系统进行初始化,生成系统公共参数;用户根据用户真实身份及所述系统公共参数,生成用户匿名身份;密钥生成器根据所述系统公共参数及用户匿名身份,生成用户局部私钥;用户随机生成用户公钥;用户根据所述系统公共参数、用户匿名身份、用户局部私钥及用户公钥,对发送给验证者的消息进行签名;验证者根据所述签名,进行单个签名认证;验证者根据所述签名,进行聚合签名;验证者根据所述聚合签名,进行聚合签名认证。

  作为上述方案的改进,所述密钥生成器及跟踪机构对系统进行初始化,生成系统公共参数的步骤包括:获取安全参数λ,并计算素数q,其中,q为加法循环群G1的素数阶;密钥生成器选取随机数s作为密钥生成器的私钥,并计算Ppub=sP,其中,P为加法循环群G1的生成元;跟踪机构选取随机数α作为跟踪机构的私钥,并计算Tpub=αP,其中,P为加法循环群G1的生成元;可信任机构选取HASH函数,公布系统公共参数(q,G1,P,Ppub,Tpub,H0,H1,H2)。

  作为上述方案的改进,所述用户根据用户真实身份及系统公共参数,生成用户匿名身份的步骤包括:用户计算用户匿名身份PIDi,其中,PIDi=(PIDi,1,PIDi,2,VTi),PIDi,1=kiP,ki为用户选取随机数且RIDi为用户真实身份,VTi为用户匿名身份的有效周期。

  作为上述方案的改进,所述密钥生成器根据系统公共参数及用户匿名身份,生成用户局部私钥的步骤包括:密钥生成器计算用户局部私钥pski,其中,pski=(wi+sQi)modq,wi为随机数且Qi=H1(PIDi),PIDi为用户匿名身份;密钥生成器计算Wi=wi·P;密钥生成器将PIDi、pski及Wi发送给用户;用户判断等式是否成立,判断为是时,则存储pski及Wi,判断为否时,则停止操作。

  作为上述方案的改进,所述用户随机生成用户公钥的步骤包括:用户选取随机数xi,并令vski=xi,其中,用户计算用户公钥vpki,其中,vpki=xiP。

  作为上述方案的改进,所述用户根据系统公共参数、用户匿名身份、用户局部私钥及用户公钥,对发送给验证者的消息进行签名的步骤包括:用户计算H=H1(ID),其中,ID为用户选择的状态信息或其他公开参数;用户选取消息Mi及消息Mi对应的时间戳ti;用户选取随机数ri,并计算签名σi,其中,σi=(Ri,Ti),Ri=riP,Ti=(pski+riH+hixi)mod q,hi=H2(Mi||PIDi||Ri||ti);用户将消息(Mi,PIDi,Wi,vpki,ti,σi)发送给验证者,其中,PIDi为用户匿名身份。

  作为上述方案的改进,所述验证者根据签名,进行单个签名认证的步骤包括:验证者接收消息(Mi,PIDi,Wi,vpki,ti,σi);验证者根据时间戳ti,检查消息(Mi,PIDi,Wi,vpki,ti,σi)的新鲜性;若消息(Mi,PIDi,Wi,vpki,ti,σi)通过新鲜性检查,则判断等式是否成立,判断为是时,则认证通过,判断为否时,则拒绝消息,其中,H=H1(ID),Qi=H1(PIDi),hi=H2(Mi||PIDi||Ri||ti)。

  作为上述方案的改进,所述验证者根据签名,进行聚合签名的步骤包括:验证者将多个单个签名聚合为一个聚合签名σ,其中,σ=(R,T),

  作为上述方案的改进,所述验证者根据聚合签名,进行聚合签名认证的步骤包括:验证者根据所述系统公共参数、聚合签名σ、用户匿名身份PIDi、用户公钥vpki及时间戳ti,检查每个消息的新鲜性,其中,i=1,2,…,n;若消息通过新鲜性检查,则判断等式是否成立,判断为是时,则认证通过,判断为否时,则拒绝消息,其中,H=H1(ID),Qi=H1(PIDi),hi=H2(Mi||PIDi||Ri||ti)。

  相应地,本发明还提供了一种基于无证书聚类签名无双线性对的认证系统,包括:可信任机构,用于对系统进行初始化以生成系统公共参数,并根据所述系统公共参数及用户匿名身份生成用户局部私钥;用户,用于根据用户真实身份及所述系统公共参数以生成用户匿名身份,随机生成用户公钥,并根据所述系统公共参数、用户匿名身份、用户局部私钥及用户公钥对发送给验证者的消息进行签名;验证者,用于根据所述签名进行单个签名认证,根据所述签名进行聚合签名,并根据所述聚合签名进行聚合签名认证。

  实施本发明,具有如下有益效果:

  本发明基于无证书聚类签名无双线性对的认证方法既不采用Map-to-Point运算,也不采用双线性对运算,能有效提高基于无证书聚合签名的认证方案的效率;

  同时,本发明通过公布系统公共参数,实现了系统公共参数的公开化,避免了传统公钥密码体制中的公钥证书的认证,从而解决了其证书管理、维护问题。

  另外,通过聚合认证可将多个不同的签名聚合成一个签名,从而来降低网络传输开销和提高签名验证的效率。

  附图说明

  图1是本发明基于无证书聚类签名无双线性对的认证方法的实施例流程图;

  图2是本发明基于无证书聚类签名无双线性对的认证系统的结构示意图。

  具体实施方式

  为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。

  参见图1,图1显示了本发明基于无证书聚类签名无双线性对的认证方法的实施例流程图,其包括:

  S101,密钥生成器及跟踪机构对系统进行初始化,生成系统公共参数;

  S102,用户根据用户真实身份及系统公共参数,生成用户匿名身份;

  S103,密钥生成器根据系统公共参数及用户匿名身份,生成用户局部私钥;

  S104,用户随机生成用户公钥;

  S105,用户根据系统公共参数、用户匿名身份、用户局部私钥及用户公钥,对发送给验证者的消息进行签名;

  S106,验证者根据签名,进行单个签名认证;

  S107,验证者根据签名,进行聚合签名;

  S108,验证者根据聚合签名,进行聚合签名认证。

  由上可知,本发明基于无证书聚类签名无双线性对的认证方法既不采用Map-to-Point运算,也不采用双线性对运算。因此,本发明能有效提高基于无证书聚合签名的认证方案的效率。

  具体地,所述密钥生成器及跟踪机构对系统进行初始化,生成系统公共参数的步骤包括:

  (1)获取安全参数λ,并计算素数q。

  其中,G1加法循环群,q为加法循环群G1的素数阶。

  (2)密钥生成器选取随机数s作为密钥生成器的私钥,并计算Ppub=sP。

  其中,P为加法循环群G1的生成元。

  (3)跟踪机构选取随机数α作为跟踪机构的私钥,并计算Tpub=αP。

  其中,P为加法循环群G1的生成元。

  (4)可信任机构选取三个哈希(HASH)函数,

  (5)公布系统公共参数(q,G1,P,Ppub,Tpub,H0,H1,H2)。

  因此,通过公布系统公共参数(q,G1,P,Ppub,Tpub,H0,H1,H2),实现了系统公共参数的公开化,避免了传统公钥密码体制中的公钥证书的认证,从而解决了其证书管理、维护问题。

  相应地,所述用户根据用户真实身份及系统公共参数,生成用户匿名身份的步骤包括:用户计算用户匿名身份PIDi。其中,PIDi=(PIDi,1,PIDi,2,VTi),PIDi,1=kiP,ki为用户选取随机数且RIDi为用户真实身份用于表示第i个用户的用户真实身份,VTi为用户匿名身份的有效周期。

  因此,生成用户匿名身份的过程中,用户U1选取随机数ki,用户匿名身份的有效周期VTi,计算PIDi,1,PIDi,2,并将PIDi=(PIDi,1,PIDi,2,VTi)发送至跟踪机构,从而使得跟踪机构可根据用户匿名身份PIDi跟踪用户的真实身份。

  相应地,所述密钥生成器根据系统公共参数及用户匿名身份,生成用户局部私钥的步骤包括:

  (1)密钥生成器计算用户局部私钥pski。

  其中,pski=(wi+sQi)mod q,wi为随机数且Qi=H1(PIDi),PIDi为用户输入的用户匿名身份用于表示第i个用户的用户匿名身份。

  (2)密钥生成器计算Wi=wi·P。

  (3)密钥生成器将PIDi、pski及Wi发送给用户。

  需要说明的是,密钥生成器通过安全通道将PIDi、pski及Wi发送给用户。

  (4)用户判断等式是否成立,判断为是时,则存储pski及Wi,判断为否时,则停止操作。

  相应地,所述用户随机生成用户公钥的步骤包括:

  (1)用户选取随机数xi,并令vski=xi,其中,

  (2)用户计算用户公钥vpki,其中,vpki=xiP。

  需要说明的是,(vski,pski)共同作为用户私钥,其中,vski为用户的秘密值并用于表示第i个用户的秘密值,pski为用户局部私钥并用于表示第i个用户的用户局部私钥。

  由于用户的签名需要由用户自己选择的秘密值vski及用户局部私钥pski两部分同时参与,因此,在无法知道完整的用户私钥的情况下,其消息则无法被成功伪造,从而使得基于身份密码体制中存在的密钥托管问题得到了有效的解决。

  另外,所述用户根据系统公共参数、用户匿名身份、用户局部私钥及用户公钥,对发送给验证者的消息进行签名的步骤包括:

  (1)用户计算H=H1(ID)。

  其中,ID为用户选择的状态信息或其他公开参数。

  (2)用户选取消息Mi及消息Mi对应的时间戳ti。

  (3)用户选取随机数ri,并计算签名σ1。

  其中,σi=(Ri,Ti),Ri=riP,Ti=(pski+riH+hixi)mod q,hi=H2(Mi||PIDi||Ri||ti)。

  (4)用户将消息(Mi,PIDi,Wi,vpki,ti,σi)发送给验证者。

  其中,PIDi为用户匿名身份。

  进一步,对信息进行签名后,可分别对签名进行单个认证及聚合认证,下面分别对单个认证及聚合认证进行分别描述:

  一、单个认证:

  具体地,所述验证者根据签名,进行单个签名认证的步骤包括:

  (1)验证者接收消息(Mi,PIDi,Wi,vpki,ti,σi);

  (2)验证者根据时间戳ti,检查单个消息(Mi,PIDi,Wi,vpki,ti,σi)的新鲜性;

  (3)若消息(Mi,PIDi,Wi,vpki,ti,σi)通过新鲜性检查,则判断等式是否成立,判断为是时,则认证通过,判断为否时,则拒绝消息,其中,H=H1(ID),Qi=H1(PIDi),hi=H2(Mi||PIDi||Ri||ti)。

  也就是说明,若消息通过新鲜性检查,则通过判断等式是否成立来验证签名;若消息无法通过新鲜性检查,则终止验证。

  二、聚合认证:

  聚合认证的步骤包括根据签名进行聚合签名以及根据聚合签名进行聚合签名认证。

  具体地,所述验证者根据签名,进行聚合签名的步骤包括:验证者将多个单个签名聚合为一个聚合签名σ,其中,σ=(R,T),

  例如,给定一组用户{U1,U2,…,Un},对应的一系列用户匿名身份{PID1,PID2,…,PIDn},以及对应的用户公钥{vpk1,vpk2,…,vpkn},对应的消息签名则为{(M1,t1,σ1),(M2,t2,σ2),…,(Mn,tn,σn)},则聚合签名为σ=(R,T)。

  另外,所述验证者根据聚合签名,进行聚合签名认证的步骤包括:

  (1)验证者根据所述系统公共参数、聚合签名σ、用户匿名身份PIDi、用户公钥vpki及时间戳ti,检查每个消息的新鲜性,其中,i=1,2,…,n;

  (2)若消息通过新鲜性检查,则判断等式是否成立,判断为是时,则认证通过,判断为否时,则拒绝消息,其中,H=H1(ID),Qi=H1(PIDi),hi=H2(Mi||PIDi||Ri||ti)。

  也就是说明,若每个消息均通过新鲜性检查,则通过判断等式是否成立来验证签名;若不是每个消息均法通过新鲜性检查,则终止验证。

  因此,通过聚合认证可将多个不同的签名聚合成一个签名,从而来降低网络传输开销和提高签名验证的效率。

  参见图2,图2显示了本发明基于无证书聚类签名无双线性对的认证系统100的具体结构,其包括:

  可信任机构1,用于对系统进行初始化以生成系统公共参数,并根据所述系统公共参数及用户匿名身份生成用户局部私钥。具体地,所述可信任机构1包括密钥生成器11及跟踪机构12。认证过程中,密钥生成器及跟踪机构对系统进行初始化以生成系统公共参数,同时,密钥生成器根据系统公共参数及用户匿名身份以生成用户局部私钥。

  用户2,用于根据用户真实身份及所述系统公共参数以生成用户匿名身份,随机生成用户公钥,并根据所述系统公共参数、用户匿名身份、用户局部私钥及用户公钥,对发送给验证者的消息进行签名。

  验证者3,用于根据所述签名进行单个签名认证,根据所述签名进行聚合签名,并根据所述聚合签名进行聚合签名认证。

  需要说明的是,本发明中所述密钥生成器11、跟踪机构12、用户2及验证者3执行上述基于无证书聚类签名无双线性对的认证方法,在此不再赘述。

  以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

《基于无证书聚类签名无双线性对的认证方法及系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)