APP下载

可监管匿名认证方案*

2019-07-08安红章郑海彬牛俊翔

软件学报 2019年6期
关键词:敌手私钥密钥

王 震, 范 佳, 成 林, 安红章, 郑海彬, 牛俊翔

1(保密通信重点实验室,四川 成都 610041)

2(中国信息安全评测中心,北京 100085)

3(北京航空航天大学 电子信息工程学院,北京 100191)

1 引 言

互联网的发展使信息化服务逐渐渗透到人们生活的方方面面,传统活动逐渐被网上活动所替代.然而,互联网复杂、开放的特性也充满了未知的元素.随着隐私泄露、信息窃取等事件的发生,人与人之间的信任问题、隐私保护问题逐渐成为热点话题,而身份认证技术、隐私保护技术等安全技术也成为热点研究方向.

身份认证作为一种确认身份、授权的方式,被广泛应用于通信、金融、社交等方面.通过身份认证,可以确认用户是否拥有某种资源的访问权限或使用权限.

一种常用的身份认证方法是利用一个在线的身份提供者或证书发行者,用户每次进行身份验证时,发行人为用户身份的各种属性提供证明,但要求发行人时刻在线,增加了系统的负担.另外一种典型方法是用户通过离线的证书授权中心(certificate authority,简称CA)预先得到关于各种属性的数字证书,然后直接向验证者出示数字证书,整个认证过程无需CA的参与.数字证书使用密码学技术,产生标识各方用户身份信息的一串数字,通过公开算法在互联网上提供验证用户身份的方式,数字证书由CA颁发,任何人可在网上验证数字证书的有效性.

目前,数字证书的标准为国际电信联盟(International Telecommunication Union,简称ITU-T)制定的X.509标准(如图1所示).在X.509标准中,用户产生一对密钥,包括公钥和私钥,然后将公钥和多个属性发送给CA, CA为其颁发一个公钥的证书,并将公钥和证书维护在一个数据库中.证书中包括用户的属性信息和公钥信息等,CA通过数据库可撤销或更新相应的证书.在验证时,验证者可确定一个访问策略,如要求用户出示属性1的证明,用户将证书发送给验证者,验证者利用CA的公钥进行验证.通过X.509数字证书标准,可实现数据完整性、身份确定性、不可否认性和防篡改性等功能.

然而,传统的 X.509容易导致属性信息过度暴露的问题,在进行认证时,用户需要出示证书上的所有属性信息,从而导致信息泄露或遭到窃取.因此,需要采用匿名认证技术最大限度地减少曝光用户的属性信息.

Identity Mixer是IBM于2009年提出的一种匿名证书的方案(如图2所示),主要解决传统方案中用户出示证书时过度暴露信息的问题,可以使用户选择性地出示证书中的属性信息,如验证者要求用户出示属性 1的证明,用户可将证书转换为用户任何假名的有效标记,这些标识只包含原始凭证中的属性 1,并对其他属性进行隐藏,转换后的标记在CA的公钥下仍可验证,因此避免了用户属性信息的过度暴露.

该类方案虽然克服了传统 X.509证书方案全属性暴露的问题,但存在一定的缺陷,即用户的身份无法监管,一旦出现欺诈行为,即使是 CA也无法追踪到用户的真实身份.在医疗记录、家庭合约以及联盟链中的匿名交易、资产转移等领域,通常需要对用户身份进行监管,防止匿名滥用、失信行为的发生.

因此,本文主要针对认证过程中用户身份信息过度暴露和匿名证书无法监管的问题,采用密码学技术手段实现可监管的匿名认证方案.方案可应用于区块链中的匿名认证和匿名资产等方面,例如在联盟链中的匿名资产中,可以允许交易方在满足资产管理规定的条件下转移匿名资产.在交易过程中,交易方按照规定利用证书显示交易需要公开的内容,如资产来源银行代号、资产到账银行代号等,其他个人信息则可以进行隐藏,同时,资产的可监管性满足了审计业务的需求,审计人员可随时恢复出资产内容和交易方身份信息.

1.1 相关工作

在身份认证方面,X.509[1]第1个版本由国际电信联盟于1988年7月3日发布,设定了数字证书的标准,使数字证书作为身份认证的重要手段.之后,国际电信联盟又相继发表了X.509第2、3个版本,扩展了数字证书的应用,使其支持扩展的功能.2000年,美国国家标准与技术研究院(National Institute of Standards and Technology,简称 NIST)给出了利用公钥技术实现数字签名和认证的指导意见[2],促进了公钥技术在认证方面的应用.之后,大量身份认证的方案[3-5]的出现是身份认证的技术逐渐成熟.

然而,大多数方案未考虑身份认证时的隐私保护问题,使用户在认证时容易暴露过多的身份信息或属性信息.因此,如何保证身份认证的匿名性逐渐成为一个热点问题.2004年,Camenisch和Lysyanskaya提出了基于双线性对的签名方案和匿名证书方案[6],用于身份的匿名认证,方案可应用于匿名电子投票、电子现金等方面.Man等人基于Boneh等人提出的BLS短群签名方案[7],也提出了类似的匿名证书方案[8],方案可实现多次动态的认证,且签名证书长度为常数级的,使得方案具有较好的效率.除此之外,相似的匿名认证方案还有文献[9,10]等.在匿名证书的应用方面,IBM提出的Identity Mixer[11]可用于匿名认证和认证属性的传输,它允许用户进行身份验证而不收集其他任何个人数据.

Identity Mixer的工作方式与传统公钥基础结构(PKI)中的客户端证书类似,但具有两个重要区别.

(1) 灵活的公共密钥:用户可以拥有多个独立的公钥(假名)用于同一个密钥,而不是每个验证者绑定到固定单个公钥,从而为每个验证者甚至每个会话使用不同的假名;

(2) 灵活的证书:用户的证书可以转换为用户任何假名的有效标记,这些标识只包含原始凭证中的一部分属性,转换后的标记在发行人的公钥下仍可验证.

传统的数字签名不能提供这种灵活性.Identity Mixer方案基于Camenisch-Lysyanskaya(CL)签名方案[12]构造,该签名方案含有高效的零知识证明和可验证加密算法,能在不打开签名的条件下证明签名者具有某些属性.

此外,文献[13]提出了云环境下的身份认证方案,通过无证书公钥密码体制,实现“口令+密钥”的双因子认证.然而方案需要保证认证节点服务器在线,增加了系统负担.文献[14]对匿名身份认证协议在云环境和多服务器环境下的应用进行了分析,使用公钥技术保证匿名性,但文中仅对一些现存方案进行了分析比较,并未提出具有实用价值的方案.

以上方案均未考虑可监管的因素,限制了匿名认证在一些需要强制监管领域的应用,如医疗记录、家庭合约以及联盟链中的匿名交易、资产转移等方面.基于此,本方案通过结合Identity Mixer方案、群签名、零知识证明等密码学组件,设计出可监管的匿名认证方案,在实现匿名认证的同时进行强制监管,防止恶意欺诈、匿名滥用行为的发生.

群签名是一类特殊的数字签名,其概念[15]最早由Chaum和Heyst在1991年提出.群签名方案由签名者组成一个群体(简称群),群中的每个成员都能够以匿名的方式代表该群对消息进行签名,生成的签名用群公钥进行验证.一个好的群签名方案需满足以下基本的安全性要求:匿名性、可追踪性、不可伪造性、抗联合攻击性、不可链接性和防陷害性.但这些特征之间会有重合.直至2003年,Bellare等人第1次给出群签名的严格定义和形式化的安全模型[16].该模型指出,群签名的最高安全特征为完全匿名性和完全可追踪性.

零知识证明概念[17]是由Goldwasser等人于20世纪80年代初提出的.零知识证明是指一方(证明者)能够在不向另一方(验证者)提供任何有用的信息的前提下,使得验证者能够相信某个论断是正确的.零知识证明分为交互式和非交互式,非交互零知识证明通过减少交互次数从而提高效率,一般采用Fiat-Shamir方案[18]将交互式零知识证明转化为非交互式零知识证明.

1.2 论文组织架构

本文第1节主要介绍身份认证的相关概念、目前工作存在的问题以及本文的主要工作.第2节介绍方案相关的预备知识,包括密码学基础概念和采用的方案.第3节对方案的构造进行详细的描述.第4节对方案的安全性进行证明.第5节对方案的效率和功能进行分析比较.第6节介绍方案的应用场景.最后,在第7节进行总结.

2 预备知识

2.1 双线性对

设G1,G2,GT为p阶的循环群,Zp为p阶的整数群,g1为群G1的生成元,g2为群G2的生成元,若存在可计算的映射e:G1×G2→GT满足下列两个性质,则称e为双线性对.

(2) 非退化性:e(g1,g2)≠1,即e(g1,g2)为GT的生成元.

一般地,G1≠G2时称e为非对称双线性对;G1=G2时称e为对称双线性对.

2.2 群签名方案

群签名方案包含如下5种算法.

(1) 创建:一个产生群公钥、群管理员私钥和追踪密钥的概率多项式时间算法;

(2) 注册:一个用户和群管理员之间的交互式协议,使得用户成为一个新的群成员.执行该协议可以产生群成员的私钥和身份证书;

(3) 签名:一个概率算法,当输入一个消息和一个群成员的私钥后,输出对消息的群签名;

(4) 验证:一个概率算法,当输入消息、消息的群签名和群公钥后,输出关于签名有效性的判断;

(5) 追踪:一个在给定签名及群追踪密钥的条件下,输出签名者合法身份的算法.

安全性质包括完全匿名性和完全可追踪性等.完全匿名要求没有管理员的追踪密钥,攻击者在给予消息签名后不能恢复签名者的身份.完全可追踪性要求,互相勾结的群成员不能够创建一个群管理员无法追踪的有效签名.安全性质通过挑战者和敌手之间的一个游戏定义,完全匿名性和完全可追踪性可见文献[16]中的定义,本文不再给出具体描述.

2.3 零知识证明

零知识证明包括两个参与方:证明者P和验证者V.对于承诺x∈L,证据w和关系R,(x,w)∈R,一个非交互式零知识证明NIZK{x|(x,w)∈R}包含系统生成、证明和验证这3个算法.系统模型如下.

(1) 系统生成:输出公共参考字符串CRS;

(2) 证明:证明者P完成对承诺x∈L的证明;

(3) 验证:验证者V进行验证,若通过验证输出1,否则输出0.

当P与V完成一个协议后,这个协议是否是零知识证明协议,其必须满足下面3个条件.

(1) 完备性:如果P向V的声称是真的,则V以一个大的概率接受P的结论;

(2) 可靠性:如果P向V的声称是假的,则V以一个大的概率拒绝P的结论;

(3) 零知识性:如果P向V的声称是真的,在V不违背协议的前提下,无论V采用任何手段,除了接收到P给出的结论,V无法获取有关P所声称内容的任何信息.

2.4 可监管匿名认证方案模型

可监管匿名认证方案包含3个参与方:可信中心(certificate authority,简称CA)、用户和验证者.方案模型如图3所示.

系统建立后,CA产生发行密钥对、追踪密钥以及群公钥.然后用户进行注册,CA为其分配一对私钥,同时,CA根据用户提交的属性信息为用户颁发相关的证书.在用户出示证书时,验证者可指定用户证书上需要出示的属性(如属性 1),用户对证书进行签名,同时隐藏无需出示的属性值.验证者可对签名进行验证:若签名通过验证,则用户出示的证书有效;否则,用户出示的证书无效.若出现争端,验证者可将用户出示的证书发送给CA请求仲裁,CA利用追踪密钥恢复出用户的真实身份.

一个完整的可监管匿名认证方案包含以下过程.

(1) 生成发行方密钥对(ISK,IPK)←Setup(1λ):输入安全参数 1λ,运行Setup算法,输出 CA 的密钥对(ISK,IPK).发行方密钥对用户生成和验证用户的证书;

(2) 生成群密钥(TK,GPK)←GKey(1λ):输入安全参数1λ,运行GKey算法,输出追踪密钥TK和群公钥GPK.追踪密钥由CA保存,用于从匿名证书中追踪用户的身份;群公钥用于出示和验证证书;

(3) 用户注册(SK)←UKey(ISK):输入CA的私钥ISK,运行UKey算法,输出用户私钥SK.用户私钥用于出示证书,CA将用户的私钥存入列表List中,在身份追踪时,会将计算结果与用户的私钥比对,进而确定用户身份;

(4) 证书请求(CertQst)←CQst(sk,IssuerNonce):输入用户秘密值sk,CA发送给用户的随机数IssuerNonce,运行CQst算法,输出用户的证书请求CertQst;

(5) 证书请求验证(b)←VerCQ(CertQst,IPK):输入证书请求CertQst、CA公钥IPK,运行VerCQ算法,输出字符b∈{0,1}.若b=1,则验证通过,CA为用户生成证书;否则,CA拒绝用户的请求;

(6) 生成证书(Cert)←CertGen(ISK,IPK,CertQst,attr):输入CA的密钥对(ISK,IPK)、证书请求CertQst、用户属性值attr,运行CertGen算法,输出用户的证书Cert.CA将证书发送给用户,用户进行验证:若通过验证,则证书有效,用户在本地存储证书;否则,证书无效;

(7) 出示证书(Sig)←GSig(SK,sk,IPK,GPK,attr,Cert,m):输入用户私钥SK、用户秘密值sk、CA公钥IPK、群公钥GPK、属性值attr、用户证书Cert、消息m,运行GSig算法,输出出示的证书(或签名)Sig;

(8) 出示证书验证(b)←VerSig(Sig,IPK,GPK,attrep,m):输入用户出示的证书Sig、CA公钥IPK、群公钥GPK、验证者指定用户需要出示的属性值attrep、消息m,运行VerSig算法,输出字符b∈{0,1}.若b=1,则验证通过,出示的证书有效;否则,出示的证书无效;

(9) 身份追踪(SK)←Trac(Sig,TK):输入用户出示的证书Sig、CA的追踪密钥TK,运行Trac算法,输出匿名证书所对应的用户私钥SK;然后CA将私钥和群内用户的私钥进行对比,从而追踪到用户的真实身份.

可监管的匿名证书方案的安全性质包括匿名性和可追踪性,安全性质通过语义安全性理论进行定义.

匿名安全要求没有 CA机构的追踪密钥,攻击者在给予消息签名后不能恢复签名者的身份.根据安全性模型,即不存在任何多项式时间敌手A,在下面匿名性模拟攻击游戏中以不可忽略的概率取得成功.

(1) 生成阶段:挑战者执行发行方密钥、群密钥算法,把生成的 CA的公钥IPK和群公钥GPK发送给A,保留CA的私钥ISK和追踪密钥TK;

(2) 询问阶段1:敌手A可以对挑战者进行多项式有界次数的询问:

a) 注册询问:敌手A请求询问用户i所对应的私钥SKi,挑战者执行注册算法并返回结果给A;

b) 追踪询问:敌手A选择一个出示的证书Sig请求询问,挑战者执行追踪算法并返回结果给A;

(4) 询问阶段2:敌手A同阶段1一样,可以对挑战者进行多项式有界次数的询问,但是不允许A对用户i0,i1进行注册询问,且不允许对Sig*进行追踪询问;

(5) 猜测阶段:询问阶段结束后,敌手A输出一个比特b′,如果存在b′=b,说明敌手A成功进行了攻击.

可追踪性要求,互相勾结的群成员用户不能够创建一个群管理员无法追踪的有效签名.根据安全性模型,即不存在任何多项式时间敌手A,在下面可追踪性模拟攻击游戏中以不可忽略的概率取得成功.

(1) 生成阶段:挑战者执行发行方密钥、群密钥算法,把生成的 CA的公钥IPK和群公钥GPK发送给A,保留CA的私钥ISK和追踪密钥TK;

(2) 勾结阶段:敌手A选择用户的私钥进行请求,然后添加腐败的群成员到列表L.这里,L表示腐败群成员的身份列表;同时,共谋行为意味着A只能捕获他们的私钥,但不能命令他们做一些篡改操作;

(3) 询问阶段1:敌手A可以对挑战者进行多项式有界次数的询问.

a) 注册询问:敌手A请求询问用户i所对应的私钥SKi,挑战者执行注册算法并返回结果给A;

b) 签名询问:敌手A选择用户私钥SK、证书Cert和消息m请求询问,挑战者执行签名算法并返回结果Sig给A;

c) 追踪询问:敌手A选择一个出示的证书Sig请求询问,挑战者执行追踪算法并返回结果给A;

(4) 挑战阶段:最终,敌手A输出关于消息m*的挑战签名Sig*.如果以下任意情况发生,则敌手A攻击成功.

a) 出示的证书Sig*有效,但恢复出的私钥无效,即:

b) 出示的证书Sig*有效且未被询问过,但恢复出的私钥不属于勾结列表L,即:

3 可监管匿名认证方案

3.1 符号说明

本文方案主要涉及的符号变量和意义见表1.

Table 1 Symbols and its notions in our scheme表1 本文的变量符号和意义

3.2 可监管匿名认证方案

本文构造的可监管匿名认证方案结合了Identity Mixer方案[11]、BBS群签名方案[7]和Fiat-Shamir方案[18]非交互式零知识证明技术,下面介绍具体的方案,方案流程如图4所示.

可监管匿名认证方案包括以下过程.

(1) 生成发行方密钥对

任何人可验证CA密钥是否正确,验证过程如下.

(2) 生成群密钥

(3) 用户注册

(4) 证书请求

CA随机选择一个整数IssuerNonce∈Zp并发送给用户.用户随机选择一个整数sk∈Zp作为自己的秘密值,然后随机选择整数creds∈Zp,计算假名(或承诺)Nym=HSKsk·Hrandcreds,然后计算关于秘密值sk和随机数creds的零知识证明,记为NIZK{sk,creds|Nym=HSKsk·Hrandcreds},计算过程如下.

b) 计算挑战值csk=H(t,HSK,Nym,IssuerNonce);

c) 计算s值s1=rs+csk·sk,s2=rds+csk·creds.

最后输出证书请求CertQst=(Nym,IssuerNonce,csk,s1,s2).

(5) 证书请求验证

CA接收到用户的证书请求后,首先进行验证,验证过程如下.

a) 计算t′ =HSKs1·Hrands2,t′ =t′′/Nymcsk;

b) 计算挑战值c′sk=H(t′,HSK,Nym,IssuerNonce).判断c′sk=csk是否成立:若公示成立,则用户证书请求有效;否则,用户证书请求无效,CA拒绝为用户颁发证书.

(6) 生成证书

最后得到证书Cert=(A,B,e,s′,attr).

(7) 出示证书

用户在交易时需要出示证书,验证者可指定需要出示的属性值,用户对需要隐藏的属性值(设共有l个)的下标进行标记,记为HiddenIndices=[I1,…,Il],其中,Ii为需要隐藏的属性值的下标.

计算过程如下.

c) 设签名的消息为m,用户随机产生一个整数nonce∈Zp,然后利用下列公式计算挑战值:

d) 计算s值:

最终,用户出示的匿名证书(签名)为

(8) 出示证书验证

对于用户出示的证书,验证过程如下.

b) 利用下列公式计算辅助值:

设需要出示的属性值下标集合记为Disclosure=[I1,…,Ik-l],计算:

c) 利用下列公式计算挑战值:

判断c′=c是否成立:若等式成立,则用户出示的证书有效;否则,出示的证书无效.

(9) 身份追踪

若出现争端,验证者可将用户出示的证书Sig发送给CA,请求仲裁.CA利用追踪密钥TK=(ξ1,ξ2)进行解密:

得到用户的私钥K′,然后查找对比用户私钥的列表List,最终追踪到用户的真实身份.

4 安全性分析

本文方案基于Identity Mixer方案[11]、BBS群签名方案[7]和Fiat-Shamir方案[18]非交互式零知识证明协议构造,根据各模块的安全特性,下面给出匿名性和可追踪性安全性分析.

4.1 匿名性分析

本文方案的匿名性满足以下结论.

结论1.若Identity Mixer方案满足基本安全性质,BBS群签名方案满足完全匿名性,且Fiat-Shamir零知识证明协议满足完备性、可靠性和计算零知识性,则本文可监管匿名认证方案满足匿名性.

证明:定义Aanony为攻击本文方案匿名性模拟攻击游戏的敌手,Aidm为攻击Identity Mixer方案方案的敌手,Asg,f-anony为攻击群签名方案完全匿名性安全的敌手,Apof为攻击零知识证明协议的敌手.假设Aanony成功攻击了该方案的匿名性,定义一个多项式时间算法Aγ∈(Aidm,Asg,f-anony,Apof)包含攻击Identity Mixer方案、群签名方案和零知识证明协议等攻击者的能力.通过匿名模拟攻击游戏中Aanony的查询和Aγ的响应交互来构造Aγ,使其能够攻击Identity Mixer方案、群签名方案和零知识证明协议.即:若敌手Aanony成功攻击了该方案的匿名性,则Aγ就能以某一概率成功攻击Identity Mixer方案、群签名方案的完全匿名性和零知识证明协议.

根据匿名性定义的步骤,算法Aγ和敌手Aanony的交互运行如下.

(1) 生成阶段:算法Aγ执行系统生成算法,通过分别运行Aidm,Asg,f-anony,Apof在Identity Mixer方案、群签名方案和零知识证明模拟攻击游戏中产生的公共参数,生成匿名性模拟攻击游戏的公共参数IPK和GPK,然后将公共参数发送给Aanony,保留系统主密钥ISK和群追踪密钥TK;

(2) 询问阶段1:敌手Aanony可以对算法Aγ进行多项式有界次数的询问:

a) 注册询问:敌手Aanony请求询问用户i所对应的私钥SKi,算法Aγ通过运行Aidm,Asg,f-anony,Apof在群签名方案模拟攻击游戏中的注册询问,将得到的注册询问结果返回给Aanony;

b) 追踪询问:敌手A选择一个出示的证书Sig请求询问,算法Aγ通过运行Asg,f-anony在群签名方案模拟攻击游戏中的追踪询问,将得到的询问结果返回给Aanony;

(4) 询问阶段2:敌手Aanony与阶段1一样,可以对算法Aγ进行多项式有界次数的询问,但是不允许Aanony对用户i0,i1进行注册询问,且不允许对Sig*进行追踪询问;

(5) 猜测阶段:询问阶段结束后,敌手Aanony输出一个比特b′,若存在b′=b,说明敌手Aanony成功进行了攻击.敌手Aanony成功概率为

因此,如果攻击者Aidm成功攻击Identity Mixer方案,攻击者Asg,f-anony成功攻击群签名方案的完全匿名性,攻击者Apof成功攻击零知识证明协议,则Aanony在可监管匿名认证方案匿名性模拟攻击游戏中获胜.然而根据定理中对基本组件安全性的假设,我们得到敌手Aanony攻击成功概率可以忽略不计,因此方案满足匿名性.

4.2 可追踪性分析

本文方案的可追踪性满足以下结论.

结论2.若Identity Mixer方案满足基本安全性质,BBS群签名方案满足完全可追踪性,且Fiat-Shamir零知识证明协议满足完备性、可靠性和计算零知识性,则本文可监管匿名认证方案满足可追踪性.

证明:定义Atrace为攻击本文方案可追踪性模拟攻击游戏的敌手,Aidm为攻击 Identity Mixer方案的敌手,Asg,f-trace为攻击群签名方案完全匿名性安全的敌手,Apof为攻击零知识证明协议的敌手.假设Atrace成功攻击了该方案的可追踪性,定义一个多项式时间算法Aη∈(Aidm,Asg,f-trace,Apof)包含攻击 Identity Mixer方案、群签名方案和零知识证明协议等攻击者的能力.通过可追踪模拟攻击游戏中Atrace的查询和Aη的响应交互来构造Aη,使其能够攻击Identity Mixer方案、群签名方案和零知识证明协议.即:如果敌手Atrace成功攻击了该方案的可追踪性,则Aη就能以某一概率成功攻击Identity Mixer方案、群签名方案的完全可追踪性和零知识证明协议.根据可追踪性定义的步骤,算法Aη和敌手Atrace的交互运行如下.

(1) 生成阶段:算法Aη执行系统生成算法,通过分别运行Aidm,Asg,f-trace,Apof在Identity Mixer方案、群签名方案和零知识证明模拟攻击游戏中产生的公共参数,生成可追踪性模拟攻击游戏的公共参数IPK和GPK,然后将公共参数发送给Aη,保留系统主密钥ISK和群追踪密钥TK;

(2) 勾结阶段:敌手Atrace选择用户的私钥进行请求,算法Aη通过运行Aidm,Asg,f-trace群签名方案模拟攻击游戏中的勾结询问,将得到的询问结果返回给Atrace,然后添加腐败的群成员到列表L;

(3) 询问阶段1:敌手Atrace可以对算法Aη进行多项式有界次数的询问.

a) 注册询问:敌手Atrace请求询问用户i所对应的私钥SKi,算法Aη通过运行Aidm,Asg,f-trace,Apof在群签名方案模拟攻击游戏中的注册询问,将得到的注册询问结果返回给Atrace;

b) 签名询问:敌手Atrace选择用户私钥SK、证书Cert和消息m请求询问,算法Aη通过运行Aidm,Asg,f-trace,Apof在Identity Mixer方案和群签名方案模拟攻击游戏中的签名询问,将得到的Sig返回给Atrace;

c) 追踪询问:敌手Atrace选择一个出示的证书Sig请求询问,算法Aη通过运行Asg,f-trace在群签名方案模拟攻击游戏中的追踪询问,将得到的追踪询问结果返回给Atrace;

(4) 挑战阶段:最终,敌手Atrace输出关于消息m*的挑战证书Sig*.如果以下任意情况发生,则敌手Atrace攻击成功.

a) 出示的证书Sig*有效,但恢复出的私钥无效,即Trac(Sig*,TK)=⊥;

b) 出示的证书Sig*有效且未被询问过,但恢复出的私钥不属于勾结列表L,即Trac(Sig*,TK)=SKi∉L.根据算法Aη和敌手Atrace的交互,敌手Atrace成功的概率为

因此,如果攻击者Aidm成功攻击Identity Mixer方案,攻击者Asg,f-trace成功攻击群签名方案的完全可追踪性,攻击者Apof成功攻击零知识证明协议,则Atrace在可监管匿名认证方案可追踪性模拟攻击游戏中获胜.然而根据定理中对基本组件安全性的假设,我们得到敌手Atrace攻击成功概率可以忽略不计,因此方案满足可追踪性.

5 方案对比分析

5.1 功能比较

本文方案相比IdentiyMixer方案增加了可监管的功能,CA可以为群内用户分配密钥,并通过追踪密钥追踪用户的身份.本文方案在用户出示证书的部分增加了群签名技术,验证者在验证证书的同时也验证了用户匿名身份信息的正确性,如果出现争端,CA 可追踪到用户的身份,因此,本文方案具有强制监管的作用.此外,本文方案在增加强制监管功能的同时还保证了用户的匿名性,相比一般的身份监管方案,极大保护了用户的身份隐私.用户在交易时,只需出示相应的属性值,无需出示的属性值可以在证书中进行隐藏,满足了用户的隐私保护需求.但由于增加了可监管机制,本文方案并未实现Identity Mixer方案完全匿名性的功能,对第三方仍有一定的信任依赖.

5.2 效率分析

本文方案在Identity Mixer方案上增加了可监管的功能,下面对比原方案进行效率方面的比较.

选择椭圆曲线上的群G1,G2,阶数p为170bit的大质数,群内元素的长度为171bit(相当于1024bit的RSA方案),大整数长度设为170bit,GT内元素的长度设为171bit.定义E为指数运算,H为哈希运算,P为双线性对运算,k为全部属性个数,l为隐藏属性个数.忽略乘法、加法运算,方案计算开销对比结果见表2.

Table 2 Comparison between Identity Mixer scheme and ours in computation cost表2 本文方案和Identity Mixer方案的计算开销对比

在Win10 64位,Inter(R) Core(TM) i7-7700@3.6GHz,16G内存PC机上对方案进行仿真实现后,效率比对如图5所示.

图5(a)显示:当设定用户属性个数为5,10,20,40时,Identity Mixer方案、本文方案以及预计算方案的效率随属性增加而降低.采用预计算方法可一定程度提高方案效率,但仍会比Identity Mixer方案效率略低.以上结果也验证了理论分析的正确性.图5(b)显示,本文方案和预计算后的方案在出示证书和验证过程会有差别,即:预计算只在出示证书和验证过程进行,与理论结论一致.图 5(c)和图 5(d)则进一步说明:只有出示证书部分和验证部分会随属性值增加而增加,方案其他过程效率与属性个数无关.通过方案对比分析,本文方案的效率相比 Identity Mixer方案虽有一定程度的下降,但仍属于可接受的范围(整个方案耗时不足0.5s),且存在提升的空间,具有较好的实用性.

方案的存储开销对比见表 3.由表 3可知:由于可监管功能,方案在私钥长度和签名长度上相比 Identity Mixer方案略有增加,但仍属于可接受的范围.

Table 3 Comparison between Identity Mixer scheme and ours in storage cost表3 本文方案和Identity Mixer方案的存储开销对比

综上所述,本文方案在增加可监管功能的同时,保证了良好的运行效率和存储性能,具有较好的功能性和实用性.

6 方案应用

随着网络的日益发达,金融、医疗、政务等领域的各种网络应用层出不穷,各种各样的系统和复杂的网络环境使得用户在进行身份认证时消耗成本和信任代价过高;同时,中心式的信任模型还存在泄露用户信息的风险,因此,急需采用新技术手段解决传统身份认证方法的不足.

针对以上问题,本文结合可监管匿名认证方案和区块链技术,设计了一种基于区块链的统一身份认证系统,旨在为用户和服务方提供统一身份认证、身份隐私保护和可监管的服务,系统模型如图6所示.

系统由统一认证平台模块、服务提供方、用户等组成,而统一认证平台又分为可监管匿名认证模块和区块链模块.统一认证平台连接服务提供方,为用户提供认证服务.可监管匿名认证模块为用户颁发属性证书,提供属性证明,用户出示证书时只需出示部分属性,无需出示全部属性,可有效保护用户的身份隐私.区块链模块则记录了用户出示的匿名证书和相关属性信息,可监管匿名认证模块可通过区块链查阅用户出示的属性信息,若出现争端,还可根据匿名证书恢复出用户的身份信息.

7 结 论

本文提出了一种可监管匿名认证方案,方案结合了匿名认证技术、群签名和零知识证明技术,在传统认证手段中引入了监管机制,使CA能够对匿名证书进行身份追踪.一方面,本方案解决了传统认证体制中用户身份、属性信息过度暴露的问题,采用匿名认证的技术手段保护用户的身份隐私,同时采用灵活的认证策略,使用户可以选择出示证书中的属性,避免过度暴露信息;另一方面,本文方案还解决了目前匿名认证手段无法监管的问题,旨在减少匿名滥用和失信行为的发生.结合可监管匿名认证技术和区块链技术,本文提出了统一身份认证系统模型,但未针对实际系统设计具体方案.此外,本文方案的效率还存在可提升的空间.因此,下一步工作是进一步提高方案的效率,拓展方案的应用范围,根据实际系统需求设计具体方案,使方案落实到具体应用上.

猜你喜欢

敌手私钥密钥
比特币的安全性到底有多高
幻中邂逅之金色密钥
幻中邂逅之金色密钥
与“敌”共舞
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
程序员把7500枚比特币扔掉损失巨大
不带着怒气做任何事
Android密钥库简析
基于身份的聚合签名体制研究
一种新的动态批密钥更新算法