基于属性的可链接网络环签名方法与流程

文档序号:18898499发布日期:2019-10-18 21:36阅读:327来源:国知局

本发明属于密码学中数字签名技术领域,涉及一种支持可链性的网络匿名身份认证方法。



背景技术:

基于属性签名作为一种新型的非对称密码技术,因具有表达能力强、使用灵活,便于隐匿身份等优点,特别适用于互联网中提供匿名身份认证功能,受到了越来越多的学者关注。该体制通过属性对人群进行细粒度的划分,将原有基于身份签名体制中的身份表示为一个属性集,并将访问结构的概念加入到基于身份的签名体制中,当且仅当用户属性集合满足访问结构时才能使用其属性私钥进行签名。与基于身份签名体制相比,基于属性签名体制不仅可以为数据提供更加细粒度的访问控制,而且能够保护用户身份的隐私性,即用户的身份信息在签名过程中不会被揭露。通过深入研究分析,现有基于属性的环签名方法仍然存在以下问题亟待解决:

首先,现有属性基环签名方案存在无法实现可链接性的问题,难以为复杂、动态的电子投票、电子选举等领域提供强有力的匿名身份认证,进而系统无法判定不同签名之间是否具有可链接性;其次,现有属性基环签名方案大多存在拥有互补属性的用户可通过组合密钥的方式生成其单独无法生成的合法签名,进而无法抵抗合谋攻击的问题,因此如何设计支持可链接性且可抵抗合谋攻击的属性基网络环签名方法是一个尚待解决的难题,具备重要的学术意义和广泛的应用价值;

2018年,西南交通大学申请专利号为201810934093.3,名称是《一种支持动态属性空间的属性基网络签名方法》,该方法主要做法是通过分层技术(分为:属性层和秘密共享层)实现动态属性空间的构造,并利用线性秘密共享的访问结构实现更加灵活的访问策略。所提出的方法解决了当前大多属性基签名方法存在的属性空间可扩展性差、访问结构不灵活等问题,同时安全性较已有方法进一步增强了。然而,该方法未能实现可链接性,无法确定两个签名是否为同一人所签署,难以解决电子现金、电子选举和电子花费等互联网领域中存在的二次签名的问题。此外,该签名方法还存在无法抵抗合谋攻击的问题,拥有互补属性的用户仍可通过组合密钥的方式生成其单独无法生成的合法签名。



技术实现要素:

本发明的目的是提供了一种基于属性的可链接网络环签名方法,旨在具备可链接性,确保拥有相同链接标签的签名之间是否具有可链接性,同时在用户属性私钥中嵌入其身份信息id,使得所提方法可以抵抗拥有互补属性的用户发动合谋攻击。

本发明实现其发明目的所采用的技术方案是:一种基于属性的可链接网络环签名方法,所提方法过程如下:

(1)系统建立阶段

a)系统公开参数生成

首先,属性授权中心aa在有限域中随机选择一个整数α作为系统主密钥msk,其中q为大于2512的安全素数;然后,属性授权中心aa随机选取两个阶为p的循环乘法群g1、g2,并定义双线性映射e:g1×g1→g2;最后,属性授权中心aa从群g1中随机选择两个元素作为公钥一g1和公钥三g3,同时将公钥一g1进行模指数运算得到公钥二g2:利用公钥二g2、公钥三g3进行双线性对运算生成公钥四g4,g4=e(g2,g3);

属性授权中心aa将输出公开参数pk={g1,g2,e,g1,g2,g3,g4},并将系统主密钥msk=α秘密保存;

b)散列函数的选取

属性授权中心aa定义三个散列函数,首先是文件散列函数h1:h1:m→g,其中m→g为文件m映射为循环乘法群g1上元素的散列运算;其次是函数散列函数h2:h2:wi→g,其中wi→g为属性wi映射为群g1上元素的散列运算;最后是身份散列函数h3:h3:其中为将任意长度的{0,1}字符串映射为有限域上元素的散列运算;最后,属性授权中心aa将散列函数h1、h2、h3公布;

(2)属性密钥生成阶段

a)shamir秘密共享多项式生成

假定用户id根据其拥有属性集合wid={wid,1,…,wid,i,…,wid,i},其中wid,i为用户属性集合wid的第i个属性,向属性授权中心aa进行密钥申请;

属性授权中心aa收到用户id密钥申请后,随机选取d-1阶多项式f(x),其中d为aa预定义恢复秘密的门限值,其中f(0)=α,其余系数为aa在有限域中随机选取的d-1个元素;

b)属性密钥产生

首先,对于用户拥有的属性wid={wid,1,…,wid,i,…,wid,i},属性授权中心aa为每一个属性i∈wid随机选择一个整数tid,i,同时利用公钥三g3、函数散列函数h2以及身份散列函数h3生成属性密钥一s1,i,然后,属性授权中心aa利用身份散列函数h3与公钥一生成属性密钥二s2,i,

c)属性密钥传送

首先,属性授权中心aa将属性密钥一属性密钥二秘密发送给用户id;

(3)签名阶段

网络服务器给定待签名文件m,并随机选取n个属性作为声明签名属性集合w*:其中wn*为声明签名属性集合w*第n个声明签名属性子集;

当用户id访问网络服务时,签名者即用户id从声明签名属性集合w*和其用户属性集合wid的交集中,随机选出d个属性,构成签名属性集合w′id,w′id={wid',1,…,wid',i,…,wid',d};其中,wid',i为签名属性集合w′id的第i个属性;

a)第一签名生成

首先,签名者计算第一部分签名σ1的第一部分σ1,1,σ1,1=h1(m)v,其中为签名者选择的文件随机因子;

然后,签名者选择随机数得到t=g1t,并将t作为链接标签,进而计算出σ1的第二部分σ1,2,其中,为签名者随机选取出的签名属性集合中属性wid',i的属性随机因子;为多项式f'(x)在x=0处的拉格朗日系数,其计算方法为其中wid',j为w′id中的第j个元素,且j≠i;

其次,计算σ1的第三部分签名σ1,3,其中是声明属性集合w*与签名属性集合w′id的差集w*\w′id中的第i个属性,是签名者为w*\w′id中的每一个属性选取的相应的属性随机因子;

最后,签名者将签名σ1,1、σ1,2、σ1,3进行乘法运算,得到第一部分签名σ1:σ1=σ1,1σ1,2σ1,3;

b)第二签名生成

签名者利用上述在有限域随机选取文件随机因子v,计算出文件m的签名σ第二部分签名σ2:σ2=g1v

c)第三签名生成

签名者利用上述选取的属性随机因子r′i、ri#,进而计算得出文件m的签名σ的第三部分签名σ3:

d)第四签名生成

签名者通过以下方式计算出文件m的第四部分签名:

当wid',i∈w′id,计算:

计算:

e)输出签名

签名者将产生的签名传输给网络服务器;

(4)验证阶段

当网络服务器接收到运用上述签名算法生成的签名后,进行如下验证,验证该签名是否合法:

如果上面等式(1)两端成立,则表明该签名是合法的;否则,则表明该签名是不合法的;

(5)可链接性验证

网络服务器收到两个不同的文件m和m′使用上述签名算法生成的签名,分别为σ(m):和σ(m′):其中;σ′1为签名者采用第(3)签名阶段中a步骤为消息m′生成的第一签名,σ′2为签名者采用第(3)签名阶段中b步骤为消息m′生成的第二签名,σ′3为签名者采用第(3)签名阶段中c步骤为消息m′生成的第三签名,为签名者采用第(3)签名阶段中d步骤为消息m′生成的第四签名,t′为签名者采用第(3)签名阶段中a步骤为消息m′生成链接标签;

进行如下验证:

若等式t=t′成立,则判定文件m的签名σ(m)和文件m′的签名σ(m′)签名具有可链接性;否则,判定文件m的签名σ(m)和文件m′的签名σ(m′)签名不具有可链接性。

与现有技术相比,本发明的有益成果是:

一、在签名阶段,通过随机选取随机数生成链接标签的方式,确保拥有相同链接标签的签名之间具有可链接性,且可链接性可由签名者自主决定,并可在不揭露真实签名者身份的前提下证明两个签名是否由同一人签发。同时,本发明使得任何攻击者:恶意用户或恶意属性授权中心,均无法在多项式时间内通过修改链接标签的方式将不具有可链接性的签名进行链接,从而确保本发明所提方法具备可链接性。

二、本发明在密钥分发阶段,属性授权中心在用户属性密钥中嵌入用户身份标识,使得针对同一属性,各用户的用户属性密钥也不相同,因此拥有互补属性集合的恶意用户无法相互勾结,通过组合互补用户属性密钥的方式伪造他们各自无法单独产生的签名,从而确保了本发明方法的抗合谋攻击性。

该方法匿名性强、安全性高,能够有效解决电子现金、电子投票等存在的二次签名问题,并提供匿名身份认证和访问控制功能。

下面结合具体实施方式对本发明做进一步的详细说明。

具体实施方式

实施例

本发明的一种具体实施方式是,基于属性的可链接网络环签名方法,所提方法过程如下:

(1)系统建立阶段

a)系统公开参数生成

首先,属性授权中心aa在有限域中随机选择一个整数α作为系统主密钥msk,其中q为大于2512的安全素数;然后,属性授权中心aa随机选取两个阶为p的循环乘法群g1、g2,并定义双线性映射e:g1×g1→g2;最后,属性授权中心aa从群g1中随机选择两个元素作为公钥一g1和公钥三g3,同时将公钥一g1进行模指数运算得到公钥二g2:利用公钥二g2、公钥三g3进行双线性对运算生成公钥四g4,g4=e(g2,g3);

属性授权中心aa将输出公开参数pk={g1,g2,e,g1,g2,g3,g4},并将系统主密钥msk=α秘密保存;

b)散列函数的选取

属性授权中心aa定义三个散列函数,首先是文件散列函数h1:h1:m→g,其中m→g为文件m映射为循环乘法群g1上元素的散列运算;其次是函数散列函数h2:h2:wi→g,其中wi→g为属性wi映射为群g1上元素的散列运算;最后是身份散列函数h3:h3:其中为将任意长度的{0,1}字符串映射为有限域上元素的散列运算;最后,属性授权中心aa将散列函数h1、h2、h3公布;

(2)属性密钥生成阶段

a)shamir秘密共享多项式生成

假定用户id根据其拥有属性集合wid={wid,1,…,wid,i,…,wid,i},其中wid,i为用户属性集合wid的第i个属性,向属性授权中心aa进行密钥申请;

属性授权中心aa收到用户id密钥申请后,随机选取d-1阶多项式f(x),其中d为aa预定义恢复秘密的门限值,其中f(0)=α,其余系数为aa在有限域中随机选取的d-1个元素;

b)属性密钥产生

首先,对于用户拥有的属性wid={wid,1,…,wid,i,…,wid,i},属性授权中心aa为每一个属性i∈wid随机选择一个整数tid,i,同时利用公钥三g3、函数散列函数h2以及身份散列函数h3生成属性密钥一s1,i,然后,属性授权中心aa利用身份散列函数h3与公钥一生成属性密钥二s2,i,

c)属性密钥传送

首先,属性授权中心aa将属性密钥一属性密钥二秘密发送给用户id;

(3)签名阶段

网络服务器给定待签名文件m,并随机选取n个属性作为声明签名属性集合w*:其中wn*为声明签名属性集合w*第n个声明签名属性子集;

当用户id访问网络服务时,签名者即用户id从声明签名属性集合w*和其用户属性集合wid的交集中,随机选出d个属性,构成签名属性集合w′id,w′id={wid′,1,…,wid',i,…,wid',d};其中,wid',i为签名属性集合w′id的第i个属性;

a)第一签名生成

首先,签名者计算第一部分签名σ1的第一部分σ1,1,σ1,1=h1(m)v,其中为签名者选择的文件随机因子;

然后,签名者选择随机数得到t=g1t,并将t作为链接标签,进而计算出σ1的第二部分σ1,2,其中,为签名者随机选取出的签名属性集合中属性wid',i的属性随机因子;为多项式f'(x)在x=0处的拉格朗日系数,其计算方法为其中wid',j为w′id中的第j个元素,且j≠i;

其次,计算σ1的第三部分签名σ1,3,其中是声明属性集合w*与签名属性集合w′id的差集w*\w′id中的第i个属性,是签名者为w*\w′id中的每一个属性选取的相应的属性随机因子;

最后,签名者将签名σ1,1、σ1,2、σ1,3进行乘法运算,得到第一部分签名σ1:σ1=σ1,1σ1,2σ1,3;

b)第二签名生成

签名者利用上述在有限域随机选取文件随机因子v,计算出文件m的签名σ第二部分签名σ2:σ2=g1v

c)第三签名生成

签名者利用上述选取的属性随机因子r′i、ri#,进而计算得出文件m的签名σ的第三部分签名σ3:

d)第四签名生成

签名者通过以下方式计算出文件m的第四部分签名:

当wid',i∈w′id,计算:

计算:

e)输出签名

签名者将产生的签名传输给网络服务器;

(4)验证阶段

当网络服务器接收到运用上述签名算法生成的签名后,进行如下验证,验证该签名是否合法:

如果上面等式(1)两端成立,则表明该签名是合法的;否则,则表明该签名是不合法的;

(5)可链接性验证

网络服务器收到两个不同的文件m和m′使用上述签名算法生成的签名,分别为σ(m):和σ(m′):其中;σ′1为签名者采用第(3)签名阶段中a步骤为消息m′生成的第一签名,σ′2为签名者采用第(3)签名阶段中b步骤为消息m′生成的第二签名,σ′3为签名者采用第(3)签名阶段中c步骤为消息m′生成的第三签名,为签名者采用第(3)签名阶段中d步骤为消息m′生成的第四签名,t′为签名者采用第(3)签名阶段中a步骤为消息m′生成链接标签;

进行如下验证:

若等式t=t′成立,则判定文件m的签名σ(m)和文件m′的签名σ(m′)签名具有可链接性;否则,判定文件m的签名σ(m)和文件m′的签名σ(m′)签名不具有可链接性。

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