当前位置: 首页 > 专利查询>同济大学专利>正文

一种可混淆的匿名认证方法技术

技术编号:19327700 阅读:18 留言:0更新日期:2018-11-03 14:33
本发明专利技术涉及一种可混淆的匿名认证方法,用以保护认证系统内用户的身份信息和私有认证密钥,所述认证系统中设有一系统管理员和一追踪者,系统管理员配置有全局公共参数、主密钥以及用于线性加解密的密钥对,系统用户配置有一个私有认证密钥,所述匿名认证方法具体为:系统用户对私有认证密钥进行混淆处理,获得混淆密钥;系统用户基于混淆密钥生成一包含服务请求的认证数组,发送给服务端;服务端对所述认证数组进行合法性认证,并向系统用户进行活现性验证;服务端向合法性认证和活现性验证均通过的系统用户提供与所述服务请求对应的服务;当合法性认证和活现性验证中任一未通过时,追踪者对对应系统用户进行追踪。与现有技术相比,本发明专利技术具有可追踪、攻击成功概率低等优点。

A confusing anonymous authentication method

The present invention relates to a confusing anonymous authentication method for protecting the identity information and private authentication keys of users in the authentication system. The authentication system includes a system administrator and a tracker. The system administrator is equipped with global public parameters, primary keys and key pairs for linear encryption and decryption, and system users. Configured with a private authentication key, the anonymous authentication method is as follows: the system user obfuscates the private authentication key and obtains the obfuscated key; the system user generates an authentication array containing service requests based on the obfuscated key and sends it to the server; the server authenticates the validity of the authentication array. The server provides the service corresponding to the service request to the system user who has passed the validation and the validation. When either of the validation and the validation fails, the tracker traces the corresponding system user. Compared with the existing technology, the invention has the advantages of traceability, low probability of attack and low success rate.

【技术实现步骤摘要】
一种可混淆的匿名认证方法
本专利技术涉及密码学、匿名认证和混淆理论领域,尤其是涉及一种可混淆的匿名认证方法。
技术介绍
匿名认证(AnonymousAuthentication,简称AA)是一种基于数字签名并能够提供匿名性的认证方法。近几年,已有一系列匿名认证方案被相继提出以适用于各种应用领域中。传统的匿名认证通常拥有以下性质:1)认证性/正确性,2)不可伪造性,3)不可复制性,4)不可否认性,5)匿名性,6)不可链接性,7)条件可追踪性。一个匿名认证方法可以基于不同的签名方法如:盲签名,环签名,可追踪签名,群签名等。在传统的匿名认证方案中,用户的私有认证密钥常常被直接用于生成用户的认证请求,这要求关键算法运行于可信的终端上。但是,在移动终端广泛普及的今天,智能手机的易丢失性将造成白盒攻击环境,这使获取手机的恶意攻击者能够以某种方式轻易地获取私有认证密钥等相关信息。为了保障关键数据及移动应用的安全,移动终端厂商在一般运行环境(REE)中采取了诸多措施,例如数据加密、权限访问控制、应用运行隔离等机制。但是众多系统漏洞和攻击案例表明,这些措施还远远不能够保护存储在终端设备上的敏感数据。为了抵抗白盒攻击,学者将混淆技术与密码学相结合,提出了白盒特性及白盒密码。混淆变换提供了某种转换机制,使转换后的程序保持功能不变,但此时程序或其反编译结果难以被理解、分析。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种适用于在白盒攻击环境下(如移动终端丢失或恶意主机上),保护用户身份信息和私有认证密钥的匿名认证方法。本专利技术的目的可以通过以下技术方案来实现:一种可混淆的匿名认证方法,用以保护系统内系统用户的身份信息和私有认证密钥,所述系统设有一系统管理员和一追踪者,所述系统管理员配置有一个全局公共参数pub、一个主密钥MK以及一对用于线性加解密的密钥对(PKe,SKe),所述系统用户配置有一个私有认证密钥KID,所述匿名认证方法具体包括以下步骤:系统用户基于所述密钥对(PKe,SKe),对所述私有认证密钥KID进行混淆处理,获得混淆密钥z;系统用户基于所述混淆密钥z生成一包含服务请求的认证数组,发送给服务端;服务端对所述认证数组进行合法性认证,并向系统用户进行活现性验证;服务端向合法性认证和活现性验证均通过的系统用户提供与所述服务请求对应的服务;当合法性认证和活现性验证中任一未通过时,追踪者对对应系统用户进行追踪;上述步骤中,所述服务端同时对至少一个系统用户的认证数组进行合法性认证,且根据不同认证情景使用不同认证算法,所述认证情景包括一对一认证情景和多对一认证情景。进一步地,所述系统由系统管理员构建并初始化,所述初始化包括消息长度m、用户数量上限2r和安全参数λ的设定以及全局公共参数pub、主密钥MK、追踪密钥TK以及密钥对(PKe,SKe)的生成;所述全局公共参数pub、主密钥MK、追踪密钥TK以及密钥对(PKe,SKe)的表达式如下:PP=(Ω,A,v1,…,vm,v',g,h,u)MK=(gα,ω)TK=qSKe=(a,b)PKe=(ga,gb)其中,n=p·q为大素数p和大素数q相乘得到的合数,G、GT为n阶循环群,为G→GT的双线性映射,PP为用于系列参数。系列参数PP中,Ω=gω为群G中的元素,为群GT中的元素,这两个参数可看作验证过程中所需的公钥。g为群G中的生成元,h为G的阶为q的循环子群Gq中的生成元,u,v',v1,…,vm均为群G中的随机元素,而α、ω、a和b为模n剩余类环Zn中的随机元素;所述用户数量上限2r中的参数r与λ满足约束条件:第一,r的大小与λ为线性关系;第二,存在正系数d1和d2,有d1·λ≤log2p≤d2·λ且d1·λ≤log2q≤d2·λ成立。进一步地,所述系统用户在加入系统时,由系统管理员分配所述私有认证密钥,具体过程为:以全局公共参数pub、主密钥MK以及系统用户ID作为输入,计算得到私有认证密钥KID:KID=(K1,K2,K3)其中,sID为模n剩余类环Zn中的随机元素;同时将sID作为系统用户的秘密身份信息,且作为键值对存储至一散列映射HashMap中。进一步地,所述混淆处理具体为:11)获取PKe=(PKe,0,PKe,1)和KID=(K1,K2,K3);12)分别对KID和PKe进行变换,得到混淆后的混淆密钥z:其中,x1,y1,x2,y2,x3,y3为Zn中随机选取的参数。进一步地,所述认证数组的生成过程具体为:21)获取请求消息R,判断请求消息R是否为空,若是,则直接输出(pub,PKe),若否,则执行步骤22);22)获取当前时间TS,采用AES-128密钥生成算法生成会话密钥CK,并选取一个128比特的随机数randU;23)将请求消息R、当前时间TS、随机数randU和会话密钥CK拼接为一个消息μ,并对消息μ中的会话密钥CK及随机数randU进行加密封装得到CT,保护会话密钥并进一步保证认证方案的保密性:μ=(μ1,…,μm)=(R||TS||randU||CK)其中,Encode为将一个比特串编码为群G中的一个元素的函数;24)计算认证请求∑:Σ=(c1,c2,c3,σ4,c4,π2)其中,s,x0,y0,x1*…,x4*,y1*,…,y4*,t1,…t4均为Zn中随机选取的参数;25)生成认证数组<R,TS,CT,∑>。进一步地,针对所述一对一认证情景,合法性认证具体步骤为:311)取CT=(CT[1],CT[2],CT[3]),计算(CK||randU):(CK||randU)=Decode(CT[3]/(CT[1]1/a·CT[2]1/b))其中,Decode为将一个群G中的元素解码为一个比特串的函数;312)拼接R、TS、randU和CK得到μ:μ=(μ1,…,μm)=(R||TS||randU||CK)313)计算T1和T2:c={ci|ci=(ci[1],ci[2],ci[3]),i=1,2,3}σ={σi|σi=DecSKe(ci)=ci[3]/(ci[1]1/a·ci[2]1/b),i=1,2,3}c4=(c4[1],c4[2],c4[3])π1=DecSKe(c4)=c4[3]/(c4[1]1/a·c4[2]1/b)314)若或输出0,否则进行步骤315);315)选取128比特的随机数randS,以CK作为密钥调用AES-128加密算法BC.EncCK加密randS||randU,得到Q=BC.EncCK(randS||randU);316)输出三元组<TS,R,Q>。进一步地,针对所述多对一认证情景,系统用户个数为l,同时对l个系统用户进行合法性认证,具体步骤为:421)对每一个系统用户k生成的包含认证请求的四元组<Rk,TSk,CTk,∑k>,取出CTk=(CTk[1],CTk[2],CTk[3]),并计算其中,k为编号,1≤k≤l;422)拼接Rk、TSk、和CKk得到μk:423)计算ck、σk和424)计算T1和T2:425)若或输出0,验证未通过,否则进行步骤426);426)选取128比特的随机数以CK作为密钥调本文档来自技高网...

【技术保护点】
1.一种可混淆的匿名认证方法,用以保护认证系统内系统用户的身份信息和私有认证密钥,所述认证系统中设有一系统管理员和一追踪者,其特征在于,所述系统管理员配置有一个全局公共参数pub、一个主密钥MK以及一对用于线性加解密的密钥对(PKe,SKe),所述系统用户配置有一个私有认证密钥KID,所述匿名认证方法具体包括以下步骤:系统用户基于所述密钥对(PKe,SKe),对所述私有认证密钥KID进行混淆处理,获得混淆密钥z;系统用户基于所述混淆密钥z生成一包含服务请求的认证数组,发送给服务端;服务端对所述认证数组进行合法性认证,并向系统用户进行活现性验证;服务端向合法性认证和活现性验证均通过的系统用户提供与所述服务请求对应的服务;当合法性认证和活现性验证中任一未通过时,追踪者对对应系统用户进行追踪;上述步骤中,所述服务端同时对至少一个系统用户的认证数组进行合法性认证,且根据不同认证情景使用不同认证算法,所述认证情景包括一对一认证情景和多对一认证情景。

【技术特征摘要】
1.一种可混淆的匿名认证方法,用以保护认证系统内系统用户的身份信息和私有认证密钥,所述认证系统中设有一系统管理员和一追踪者,其特征在于,所述系统管理员配置有一个全局公共参数pub、一个主密钥MK以及一对用于线性加解密的密钥对(PKe,SKe),所述系统用户配置有一个私有认证密钥KID,所述匿名认证方法具体包括以下步骤:系统用户基于所述密钥对(PKe,SKe),对所述私有认证密钥KID进行混淆处理,获得混淆密钥z;系统用户基于所述混淆密钥z生成一包含服务请求的认证数组,发送给服务端;服务端对所述认证数组进行合法性认证,并向系统用户进行活现性验证;服务端向合法性认证和活现性验证均通过的系统用户提供与所述服务请求对应的服务;当合法性认证和活现性验证中任一未通过时,追踪者对对应系统用户进行追踪;上述步骤中,所述服务端同时对至少一个系统用户的认证数组进行合法性认证,且根据不同认证情景使用不同认证算法,所述认证情景包括一对一认证情景和多对一认证情景。2.根据权利要求1所述的可混淆的匿名认证方法,其特征在于,所述系统由系统管理员构建并初始化,所述初始化包括消息长度m、用户数量上限2r和安全参数λ的设定以及全局公共参数pub、主密钥MK、追踪密钥TK以及密钥对(PKe,SKe)的生成;所述全局公共参数pub、主密钥MK、追踪密钥TK以及密钥对(PKe,SKe)的表达式如下:PP=(Ω,A,v1,…,vm,v',g,h,u)MK=(gα,ω)TK=qSKe=(a,b)PKe=(ga,gb)=(PKe,0,PKe,1)其中,n=p·q为大素数p和大素数q相乘得到的合数,G、GT为n阶循环群,为G×G→GT的双线性映射,PP为系列参数,Ω=gω为群G中的元素,A为群GT中的元素,g为群G中的生成元,h为G的阶为q的循环子群Gq的生成元,u,v',v1,…,vm均为群G中的随机元素,而α、ω、a和b均为模n剩余类环Zn中的随机元素;所述用户数量上限2r中的参数r与λ满足约束条件:第一,r的大小与λ为线性关系;第二,存在正系数d1和d2,有d1·λ≤log2p≤d2·λ且d1·λ≤log2q≤d2·λ成立。3.根据权利要求2所述的可混淆的匿名认证方法,其特征在于,所述系统用户在加入系统时,由系统管理员分配所述私有认证密钥,具体过程为:以全局公共参数pub、主密钥MK以及系统用户ID作为输入,计算得到私有认证密钥KID:KID=(K1,K2,K3)其中,sID为模n剩余类环Zn中的随机元素;同时将sID作为系统用户的秘密身份信息,且作为键值对存储至一散列映射HashMap中。4.根据权利要求3所述的可混淆的匿名认证方法,其特征在于,所述混淆处理具体为:11)获取PKe=(PKe,0,PKe,1)和KID=(K1,K2,K3);12)分别对KID和PKe进行变换,得到混淆后的混淆密钥z:其中,x1,y1,x2,y2,x3,y3为Zn中随机选取的参数。5.根据权利要求4所述的可混淆的匿名认证方法,其特征在于,所述认证数组的生成过程具体为:21)获取请求消息R,判断请求消息R是否为空,若是,则直接输出(pub,PKe),若否,则执行步骤22);22)获取当前时间TS,采用AES-128密钥生成算法生成会话密钥CK,并选取一个128比特的随机数randU;23)将请求消息R、当前时间TS、随机数randU和会话密钥CK拼接为一个消息μ,并对消息μ中的会话密钥CK及随机数randU进行加密封装得到CT,保护会话密钥并进一步保证认证方案的保密性:μ=(μ1,…,μm)=(R||TS||randU||CK)其中,||代表将不同比特串串接的操作符号,Encode为将一个比特串编码为群G中的一个元素的函数;24)计算认证请求∑:Σ=(c1,c2,c3,σ4,c4,π2)其中,s,x0,y0,t1,…t4均为Zn中随机选取的参数;25)生成认证数组<R,...

【专利技术属性】
技术研发人员:史扬梁竞文张清
申请(专利权)人:同济大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1