一种基于身份的可追踪环签名认证协议的制作方法

文档序号:14010426阅读:714来源:国知局

本发明涉及匿名认证且具备身份可追踪的方案,具体是一种基于身份的可追踪环签名认证协议。



背景技术:

随着匿名通信的需求日益增长,匿名认证技术越来越受到关注。chaum等提出了群签名技术,使得群成员可代表群生成签名,验证方只能确定签名由群内生成,而无法识别具体的签发成员。但群管理员可撤销签名成员的匿名性,限制了它的应范围。rivest等提出了环签名技术,它是一种简化的群签名,环的形成完全由用户自组,且不存在管理员,可实现成员的无条件匿名。但这种性质易于被恶意成员利用,故在某些情况下,环签名的匿名性需要被撤销。wu等人提出了一个可自证的环签名方案,但无法抵御非诚实签名者与非签名者的合谋攻击。由于环签名方案构造简单,签名高效,特别适用于计算能力及通信能力均有限,且不具备可信第三方支持的应用环境,如adhoc网络环境。本发明解决这些问题。



技术实现要素:

为解决现有技术的不足,本发明的目的在于本发明提出的基于身份的可追踪环签名认证协议,本发明在保证高效认证的同时,可实现签名成员身份的可追踪。

为了实现上述目标,本发明采用如下的技术方案:

一种基于身份的可追踪环签名认证协议,包括如下步骤:

步骤一,系统初始化:生成密钥及选择参数;所有用户构成的环的环公钥是y=gv,其中v=g(f(u,x));系统的公开参数为

步骤二,签名生成与验证:用户生成环签名,接收者验证签名的有效性,若所有验证都成立,则输出1,表示签名出自用户所在环;否则,输出0,表示非法;用户i生成的环签名s为(ρ,u1,π,s1,s2,s3);

步骤三,追踪证据生成与验证:当出现疑问,或是遇到恶意节点冒充环中第j个用户签名时,环用户可以自己生成追踪证据,再验证方检验证据的合法性。

前述的一种基于身份的可追踪环签名认证协议,生成密匙的具体步骤为:环成员i的身份号为idi,生成相应成员的私钥其中所有环成员可生成环公钥,计算则所有用户构成的环的环公钥是y=gv,其中v=g(f(u,x))。

前述的一种基于身份的可追踪环签名认证协议,选择参数的具体步骤为:给定一个安全参数1k,设g1是一个阶为素数p的加法循环群,g2是一个阶为p的乘法循环群,存在一个双线性对映射:e:g1×g1→g2;是一个抗碰撞的哈希函数;生成一个安全的累加器并同时产生t=(p,g1,gm,e,p),s和t′=(p,sp,...,sqp);选择h,q∈rg1,s为系统主私钥,计算qpub=sq;则系统的公开参数为

前述的一种基于身份的可追踪环签名认证协议,用户生成环签名的具体步骤包括:用户i选择计算计算关于消息m的知识签名:s1=k1+ρr;那么用户i生成的环签名s为(ρ,u1,π,s1,s2,s3)。

前述的一种基于身份的可追踪环签名认证协议,接收者验证签名的有效性的具体过程为:接收者收到签名s后,首先验证u≠±y±1是否成立以验证知识签名ρ的正确性,随后计算是否成立。若所有验证都成立,则输出1,表示签名出自用户所在环;否则,输出0,表示非法。

前述的一种基于身份的可追踪环签名认证协议,追踪证据生成的具体过程为:当出现疑问,或是遇到恶意节点冒充环中第j个用户签名时,环用户可以自己生成追踪证据,计算并计算知识签名输出证据

前述的一种基于身份的可追踪环签名认证协议,验证方检验证据的合法性的具体过程为:检验证据时,首先计算yj≠±u±1是否成立并验证知识签名的正确性,若不成立,输出0,表示证据非法;随后计算yj=y是否成立,若成立则表示用户j是签名者;若不成立,则表示j不是签名者。

本发明的有益之处在于:本发明能够保障用户身份认证的安全性,增强认证协议的适用性,尤其适用于adhoc等移动应用场景;在实现认证安全的同时,可有效追踪签名者,并能抵御合谋攻击;该认证协议在密钥生成过程中引入基于身份的策略,防止了恶意用户与环成员合谋攻击;由于基于抗碰撞累加器与知识签名技术生成长度固定的签名,有效降低了通信成本;当出现争议时,追踪证据的生成与验证均简单、高效。

附图说明

图1是本发明的一种实施例的流程图。

具体实施方式

以下结合附图和具体实施例对本发明作具体的介绍。

对上述技术方案涉及的相关概念进行说明和解释:

一、抗碰撞累加器

抗碰撞累加器是一个元组({x1}1∈n,{f1}1∈n),其中{x1}1∈n叫做累加器的值域,{f1}1∈n是一系统函数集合。选(f,g)∈{f1},其中而g:uf→ug是一个双射函数。在本发明中,基于id的累加器可以如下实现:选择一个安全参数1k,得到一个元组t=(p,g1,gm,e,p),其中p一个大素数,而p是加法循环群g1的一个生成元,gm是一个和g1同阶的乘法群,e是一个双线性对。然后选择一个计算t′=(p,sp,…,sqp),并且t′公开。那么累加器函数(f,g)定义为:

f:zp×zp→zpg:zp→g1

f:(u,x)→(x+s)ug:u→up

二、知识签名

知识签名采用单向非交互式协议证明自身知道某些知识,但不泄漏有关知识的任何信息,一般用于对机密内容的证明,目前广泛应用于匿名通信中,从而能有效地确定群成员身份。一个知识签名一般表示为spk{(x1,…,xt):r(x1,…,xt)}(m),是指签名者用秘密值x1,…,xt对消息m进行知识签名,x1,…,xt满足关系式r(x1,…,xt)。

常见的知识签名有基于离散对数的知识签名。设y,g∈g,若等式c=h(m||y||g||gsyc)成立,则二元组即为y对于消息m的以g为底的离散对数的知识签名,记作:spk{(a):y=ga}(m)。具体签名步骤为:签名者随机选择r∈rzn*,计算c=h(m||y||g||gr),s=r-cx;随后发送(c,s)给验证者,验证者计算c′=h(m||y||g||gsyc)=h(m||y||g||gr-cxycx)是否成立以判断签名的正确性。

一种基于身份的可追踪环签名认证协议,包括如下步骤:

步骤一,系统初始化:生成密钥及选择参数;

生成密匙的具体步骤为:环成员i的身份号为idi,生成相应成员的私钥其中所有环成员可生成环公钥,计算则所有用户构成的环的环公钥是y=gv,其中v=g(f(u,x))。

选择参数的具体步骤为:给定一个安全参数1k,设g1是一个阶为素数p的加法循环群,g2是一个阶为p的乘法循环群,存在一个双线性对映射:e:g1×g1→g2;是一个抗碰撞的哈希函数;生成一个安全的累加器并同时产生t=(p,g1,gm,e,p),s和t′=(p,sp,...,sqp);选择h,q∈rg1,s为系统主私钥,计算qpub=sq;则系统的公开参数为

步骤二,签名生成与验证:用户生成环签名,接收者验证签名的有效性,若所有验证都成立,则输出1,表示签名出自用户所在环;否则,输出0,表示非法;用户i生成的环签名s为(ρ,u1,π,s1,s2,s3);

用户生成环签名的具体步骤包括:用户i选择计算计算关于消息m的知识签名:s1=k1+ρr;那么用户i生成的环签名s为(ρ,u1,π,s1,s2,s3)。

接收者验证签名的有效性的具体过程为:接收者收到签名s后,首先验证u≠±y±1是否成立以验证知识签名ρ的正确性,随后计算是否成立。若所有验证都成立,则输出1,表示签名出自用户所在环;否则,输出0,表示非法。

步骤三,追踪证据生成与验证:当出现疑问,或是遇到恶意节点冒充环中第j个用户签名时,环用户可以自己生成追踪证据,再验证方检验证据的合法性。

追踪证据生成的具体过程为:当出现疑问,或是遇到恶意节点冒充环中第j个用户签名时,环用户可以自己生成追踪证据,计算并计算知识签名输出证据

验证方检验证据的合法性的具体过程为:检验证据时,首先计算yj≠±u±1是否成立并验证知识签名的正确性,若不成立,输出0,表示证据非法;随后计算yj=y是否成立,若成立则表示用户j是签名者;若不成立,则表示j不是签名者。

依照本发明的步骤,当在adhoc网络环境下应用本发明的基于身份的可追踪环签名认证协议时,如用户a希望向用户b证明自己是网络区域中的有效用户,那么a可使用本发明中的签名生成方法,利用区域中的有效用户节点构造相应的环签名,b收到该签名后可验证a是否来自于有效用户的集合,但无法知晓a的具体信息,保护了a的隐私。如果通信过程中出现争议或有恶意用户冒充a发送签名,a可生成有效证据说明自身是否是真实的签名人。该协议构造简单,执行高效,特别适用于adhoc等计算能力及通信能力均有限,且不具备可信第三方支持的应用场景。

所以,本发明能够保障用户身份认证的安全性,增强认证协议的适用性,尤其适用于adhoc等移动应用场景;在实现认证安全的同时,可有效追踪签名者,并能抵御合谋攻击。该认证协议在密钥生成过程中引入基于身份的策略,防止了恶意用户与环成员合谋攻击;并基于抗碰撞累加器与知识签名技术生成长度固定的签名,有效降低了通信成本;当出现争议时,追踪证据的生成与验证均简单、高效。

以上显示和描述了本发明的基本原理、主要特征和优点。本行业的技术人员应该了解,上述实施例不以任何形式限制本发明,凡采用等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1