《一种在密码验证系统中保持用户匿名的方案.docx》由会员分享,可在线阅读,更多相关《一种在密码验证系统中保持用户匿名的方案.docx(18页珍藏版)》请在第一文库网上搜索。
1、一种在密码验证系统中保持用户匿名的方案摘要:通谩采用一种基于密码的匿名验证系统,探讨了在匿名验证系统中针对第三方攻击者的用户匿名性的有效性。首先,在验证系统方案中展示了第三方攻击者可以指定哪个用户实际向服务器发送了访问请求,第三方攻击者可以根据此次攻击来链接到同一用户稍后发送的不同登录请求。其次,给出了一种有效的对抗这种攻击的方法,该方法因不需要存储用户的密码保护凭证,能更有效地保证用户访问的匿名性。关键词:用户匿名;密码;用户验证;密码凭证中图分类号:TP309.7文献标识码:A文章编号:2096-4706(2022) 02-0107-04AbstractByadoptingananonym
2、ousauthenticationsystembasedonpassword ,thispaperdiscussestheeffectivenessofuseranonymityagainstthird-partyattackersintheanonymousauthenticationsystem. Firstly ,theauthenticationsystemschemeshowsthatthethird-partyattackercanspecifywhichuseractuallysentanaccessrequesttotheserver. Thethird-partyattack
3、ercanlinktodifferentloginrequestssentbythesameuserlateraccordingtothisattack. Secondly ,aneffectivemethodagainstthisattackisgiven. Thismethodcanmoreeffectivelyensuretheanonymityofuseraccessbecauseitdoesnotneedtostoretheuser spasswordprotectioncredentials.Keywords :useranonymity;password;userauthenti
4、cation;passwordcredential0引言1名身份验证是确认用户访问网页或其他服务的权限的过程,可以允许用户登录到系统而不暴露其实际身份口。目前基于密码的匿名验证是应用较为广泛的一种用户验证技术,其主要作用是提供基于密码的匿名性和用户的匿名性2o截至目前已经出现几种方案3-5,这些方案的潜在应用包括企业保密人员访问、对特殊人员进行问卷调查、匿名咨询等。在文献6中,作者等人提出了一种基于密码的匿名认证方案,该方案通过以密码为保护的凭证为人员的访问提供匿名性。该方案是基于Camenisch群签名7和Paillier加密算法8构造的,前者用于实例化用户的认证证书,后者用于服务器的同态加
5、密。认证证书的某些元素(即用户身份上的签名)是用用户密码加密的,而其他元素是用服务器的公钥(同态)加密的。为了提高效率,作者等人提出了另一个基于密码的匿名认证方案9,该方案是基于BBS+SIG-Nature10的一种新型方案。为方便论证,以下我们对此方案取名为RT1OO1。方案中使用新的签名与加密技术代替了 Camenisch群签名7和Paillier加密算法8,同时通过Knowl-Edge协议的零知识证明来限制签名对服务器的验证能力。在本文中,我们主要讨论了 RT1OO1方案对被动/主动第三方攻击者的用户匿名性。首先,在第三章中我们展示了在RT1OO1方案中,第三方攻击者可以指定哪个用户实际
6、向服务器发送了登录请求。此攻击还包括攻击者可以将同一用户稍后发送的不同登录请求链接起来。从攻击中可以清楚地看出,RT1OO1方案不提供针对第三方攻击者的用户匿名性。在第四章中,我们针对第三方攻击给出了有效的对策。在第五章中,通过验证证明对策中由于不需要任何安全措施来存储用户受密码保护的凭据,以此能有效地保证用户访问的匿名性。1知识准备1.1符号解释aRS表示a是从S中随机选择的,设Gl, G2, GT是素数q的循环群,设g是G1的生成元,h是G2的生成元。双线性映射e: G1XG2-GT具有以下性质:(1)双线性: uGl, vG2 和 x, yRZq, e (ux, vy)=e (u, v)
7、 xy(2)非退化性:e (g, h) 1L2BBS+签名BBS+签名是一种签名方案,有在提交值上发布签名和在提交值上证明签名零知识的有效协议。BBS+签名方案的公钥为(W=hx , hG2, a, b, dGl),私钥是(x Zq) 在消息m上签名的BBS+签名定义为(M, k, s),其中k, sRZq,M= (am bs d) 1/ (k+ x ) GloBBS+签名(M, k, s, m)相对于公钥被验证为e (M, W hk)=e (a, h) M e (b, h) s e (d, h)o该验证可以在用于表示拥有签名的知识协议的零知识证明中进行。2RT1001 方案2. 1R-BBS
8、 签名作为RT1001方案的主要组成部分,R-BBS签名是BBS+签名的一个普遍版本。为便于区分,以下R-BBS签名由R-BBS证明人代替BBS+签名的(M, k, s),拥有(M, k, Y , e (B,h),其中 M=(au bs d)l(k+ x ),u 是用户恒等式,r RZq,V =r-l,并且 B=brs,如下:设gO,glGl可以是预定义的参数。首先是校准器选择 ,ru, rk, r V , r a , r RZq,然后计算 Cmt ( R-BBS ) =T1,T2, RI, R2, R3,如下:校准器发送Cmt (R-BBS)发送给验证者,验证人发送质询cWRZq。在收到质询
9、后校准器计算Res( R-BBS)=su, s Y ,sk, s , s如下:su=ru+c u, s Y =r +c , sk=rk+c k,s a =r a +c a , s=r+c ,其中二a k 0 校准器发送 Res(HR-BBS)提交给验证者,验证者接受以下内容保持不变,如下:根据文献9,上述R-BBS签名是一个数组(M, k, , u)服从 e (M, W hk) =e (a, h) u e (B, h) Y e (d, h)知识的零知识证明。2. 2基本方案部署这里,我们描述了 RT1001方案的一个基本方案。基本方案由系统设置、注册登记和认证协议组成。2. 2. 1系统设置为
10、了设置系统参数,服务器执行以下操作:将BBS+信号的公钥设置为(W=hx ,hG2,a,b,dGl),将私钥设置为(x Zq);(2)将g, g, G1G1作为公共参数;(3)为ElGamal加密选择公钥/私钥对,并对其进行加解密分别用E ( )和D ( )表示;(4)选择一个哈希函数 H: 0, l*-0, lk 和 MAC: 0,lklG120, lkl,其中k, kl是适当的数字。2. 2. 2注册登记在基本方案中,所有用户都需要提前向服务器注册,每个用户都获得一个身份验证凭证。服务器向每个用户Ui发放一个凭证,这是一个在用户标识ui上筵名的BBS+签名(Mi,ki, si)o用户将密码
11、保护的凭证Ci放入他/她的首选存储目录,例如,硬盘、手机、U盘或公共设施/目录。2. 2. 3认证协议流程假设用户Ui具有受密码保护的凭据Ci=ui, Mi, kipwi, E(si)在登录时可用。下面是用户Ui和服务器之间的身份验证协议流程。Stepl:用户ui执行以下操作(1)用户使用他/她的密码pwi从Mi, kipwi恢复(Mi,ki);(2)用户选择rRZq,并通过计算s*=E (r) E (si)随机化E (si);(3)用户选择xRZq并计算X=gx;(4)用户选择NAR0, lkl并计算二E (NA);(5)用户使用 R-BBS 信号(Mi, ki, Y =r-l (modq)
12、, ui)计算Cmt (R-BBS);最后,用户向服务器发送s*, X, Cmt(R-BBS)作为登录请求。Step2:在收到登录请求后,服务器执行以下操作(1)服务器计算r si=D (s*),由于El Gamal的乘法同态性质,B=br si;(2)服务器选择yRZq并计算Y=gy;(3)服务器计算 NA=D ()及 V=MAC (NA, Y, X);(4)服务器选择NBRZq,并将NB、Y、V发送回用户。Step3:用户ui执行以下操作(1)用户验证V,如果无效则中止;(2)以NB为例进行质询,用户计算并发送Res ( R-BBS)到服务器;(3)用户通过合成共享密钥sk=H (NA,
13、NB, Yx)来结束协议。Step4:服务器在验证 Res ( R-BBS)后计算 sk=H (NA, NB,Xy)o注意:Stepl中的Cmt (R-BBS)可以由用户ui计算,用户ui不知道rsi,因为用户将e (B, h)作为Eq. (l)o在上面,用户ui通过显示拥有正确的凭证向服务器授权,而服务器的身份验证依赖于El Gamal加密。3第三方攻击者的用户匿名性验证在文献9中,作者等人声称,RT1001方案支持针对服务器的不可链接性,服务器并不俱怕外部攻击,因为服务器不能链接同一个用户进行的不同登录。在本节中,我们将展示第三方攻击者可以指定是哪个用户发送了登录请求。实际上,这足以让第三
14、方攻击者链接同一用户发送的不同登录请求。2.1 第三方攻击者的可链接性为了清楚起见,假设只有两个用户ul和u2的密码保护凭据(Cl=ul, Ml, klpwl, E (si)对于用户 ul 和 C2=u2, M2,k2pw2, E (s2)对于用户u2)委托给公共目录。Stepl:用户ul执行以下操作(1)用户ul用他/她的密码pwl从Ml, klpwl恢复(Ml,kl);(2)用户ul选择rRZq,并通过计算s*=E(r) E(sl) E(t)随机化 E (si) E (t);(3)(4)与第2.2.3节的Stepl步骤相同;(5)用户 ul 使用(Ml, kl, Y=r-1, ul)上的 R-BBS 签名计算 Cmt (R-BBS) =T1, T2, RI, R2, R3,最后,用户ul向服务器发送s*, X, Cmt (R-BBS)作为登录请求。Step2:在收到登录请求后,服务器执行以下操作:(1)由于E1 -Gamal的乘法同态性质,服务器计算r si t=D(s*)和 B =br si t;(2)(4)这些操作与第2.2.3节的Step2步骤相同。Step3:用户ul执行以下操作(1)这些操作与第2.2.3节的Step3步骤相同;(2)通过将NB作为挑战(即c=NB),用户ul计算Res(R-BBS)= su, s Y , sk, s ,