CN106341232A - 一种基于口令的匿名实体鉴别方法 - Google Patents

一种基于口令的匿名实体鉴别方法 Download PDF

Info

Publication number
CN106341232A
CN106341232A CN201610829126.9A CN201610829126A CN106341232A CN 106341232 A CN106341232 A CN 106341232A CN 201610829126 A CN201610829126 A CN 201610829126A CN 106341232 A CN106341232 A CN 106341232A
Authority
CN
China
Prior art keywords
user
server
calculate
voucher
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610829126.9A
Other languages
English (en)
Other versions
CN106341232B (zh
Inventor
张振峰
杨糠
王宇辰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN201610829126.9A priority Critical patent/CN106341232B/zh
Publication of CN106341232A publication Critical patent/CN106341232A/zh
Application granted granted Critical
Publication of CN106341232B publication Critical patent/CN106341232B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于口令的匿名实体鉴别方法。本方法为:1)服务器根据给定的安全参数生成自己的私钥和系统参数;2)用户向服务器发出注册请求,服务器颁发凭证σ给该用户;然后该用户加密该凭证σ并存储;3)用户登录服务器时,服务器为该用户生成一消息Y,并签名得到σS,然后将(Y,σS)发送给该用户;4)该用户利用该系统参数中公钥对(Y,σS)进行验证,如果验证通过,则该用户生成一消息X;5)该用户利用注册请求信息和σ生成一关于标签(X,Y,σS)的出示证明σC;然后将(X,σC)发送给服务器;6)服务器验证(X,σC)是否合法,如果合法,则对该用户匿名验证通过。本发明能够实现用户的隐私保护。

Description

一种基于口令的匿名实体鉴别方法
技术领域
本发明属于计算机技术与信息安全技术领域,涉及使用代数消息认证码、零知识证明、数字签名、口令加密等方案,使得用户能够向服务器进行合法身份鉴别的同时保护自己的隐私,具体表现为一种基于口令的匿名实体鉴别方法。
背景技术
随着云计算、大数据和物联网时代的来临,越来越多的用户隐私信息被暴露在网络上。特别地,近些年来,一系列隐私信息泄露事件的曝光使得用户更加关注个人的隐私保护。另外,网络中“黑色产业链”的出现也加剧了用户的隐私泄露。这些用户的隐私信息可能被散布到互联网的各个角落,也可能被不法分子所利用。从而,隐私保护已经成为了用户主要关心的问题之一,也成为了一个亟须解决的问题。
在基于计算机系统的应用中,用户通常需要向服务器进行身份鉴别,从而建立信任关系。在实体鉴别系统中,一种有效保护用户隐私的方法是匿名实体鉴别。具体地,匿名实体鉴别同时提供认证性和匿名性:认证性意味着未授权用户不能够欺骗服务器允许其访问;匿名性意味着服务器不知道它正在跟哪个用户进行交互。
基于数字证书的身份鉴别系统已经在实际中部署,比如TLS。然而,这些系统泄露了用户的隐私信息。为了保护用户的隐私,匿名数字签名方案(例如:群签名、盲签名、直接匿名证明)以及匿名凭证系统(例如:IBM公司的Idemix和微软公司的U-Prove)已经被广泛研究。这些匿名鉴别方案依赖于公钥基础设施,并且要求使用专用硬件去保护用户的密钥。
由于口令提供可记忆、避免公钥基础设施去分配用户的证书以及不需要专用硬件去存储用户的秘密的这些优势,基于口令的实体鉴别系统已经被广泛部署。特别地,基于口令的认证密钥交换协议已经被广泛地研究,其中一些机制已经被标准化。然而,在传统的基于口令的实体鉴别系统中,用户需要向服务器提供自己的身份信息,难以保护用户的隐私。因此,基于口令的实体鉴别是被高度期望的技术方案。
目前,一些基于口令的匿名实体鉴别方案已经被提出,其中有三个方案被国际标准ISO/IEC 20009-4采纳。然而,对于大规模系统而言,这些方案的效率还不是足够的。
发明内容
本发明的目的在于提供一种基于口令的匿名实体鉴别方法和一种客户端匿名认证的TLS模式,以实现用户的隐私保护。
具体地说,本发明包括以下三个方面内容:
一、基于口令的匿名实体鉴别方法
本发明提供一种基于口令的匿名实体鉴别方法,具体表现为一种基于口令的匿名认证密钥交换协议的一般性构造,该构造利用了零知识证明、代数消息认证码方案、数字签名方案和口令加密方案作为基本组件。该构造包括系统建立、用户注册和用户登录三个阶段。这三个阶段分别完成服务器建立系统参数和私钥、用户在服务器上进行注册、用户匿名地向服务器进行身份鉴别以登录到服务器。
该基于口令的匿名认证密钥交换协议的一般性构造的基本性质包括:
1)用户能够向服务器进行合法身份鉴别并且与服务器建立一个会话密钥,但是服务器不能判断它正在与哪个用户交互,即保护用户的隐私。
2)用户只需记住自己的口令和存储一个口令保护的凭证到它喜欢的地方(比如:智能手机或云端),不需要专用的硬件。
3)与TLS协议兼容,能够提供一种客户端以匿名方式进行合法身份鉴别的TLS模式。
该基于口令的匿名认证密钥交换协议主要包括三个阶段,各个阶段的主要功能如下:
A.系统建立:该阶段由服务器完成,根据给定的安全参数,服务器生成自己的私钥和系统参数,并将系统参数公布。
B.用户注册阶段:该阶段由用户和服务器交互完成,用户向服务器发出注册请求,获得服务器颁发的凭证,用自己的口令加密该凭证并存储。
C.用户登录阶段:该阶段由用户和服务器交互完成,用户拥有自己的口令和口令保护的凭证,能够匿名地向服务器进行实体鉴别;服务器拥有私钥,能够验证来自于用户的消息,并且与合法用户建立高熵的会话密钥。
二、一个高效的基于口令的匿名实体鉴别方法的实例化
本发明的基于口令的匿名实体鉴别方法的实例化主要包含一个代数消息认证码方案、基于该方案的高效实例化以及一个有效的撤销机制。这一实例化的方案比已有的基于口令的匿名实体鉴别方案(包括ISO/IEC 20009-4规范的机制)更加有效,可以被大规模部署。
三、在TLS协议中的应用
本发明中高效的实例化与TLS协议兼容,能够被集成到TLS协议提供一种客户端匿名认证的TLS模式,在性能上接近于当前TLS中已有的客户端认证模式的效率。
和现有技术相比,本发明的优势主要体现在:
1)具有匿名性的特征,能够在服务器不知道用户具体身份的情况下实现实体鉴别,有效保护用户的身份隐私。
2)用户只需要记住口令和存储口令保护的凭证就能实现匿名鉴别,无需专用硬件支持。
3)一般性构造能够用其他的密码学方案实例化。
4)提供关于本发明中的代数消息认证码的凭证描述算法,这些算法在“随机化-然后-证明”的范例下具有最优的性能。
5)提供的实例化的效率比已有的基于口令的匿名实体鉴别方案(包括国际标准ISO/IEC20009-4中的机制)更加有效,并且对于大规模系统而言效率是足够的。
6)提供一种有效的撤销机制。
7)与现有的标准TLS协议兼容,可以被集成到TLS协议中提供匿名的客户端认证模式。
8)当将本发明中高效的实例化集成到TLS协议中时,获得的TLS客户端匿名认证模式的效率接近于当前TLS中已有的客户端认证模式(没有提供匿名认证)的效率。
附图说明
图1是本发明的用户注册阶段的流程图。
图2是本发明的用户登录阶段的流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例对本发明做进一步说明。
本发明的基于口令的匿名认证密钥交换协议的一般构造包括三个阶段,系统建立、用户注册和用户登录。系统建立阶段为系统产生必需的系统参数以及服务器的私钥,并将系统参数通过公开渠道发布,以便于用户获取,私钥由服务器秘密存储;在用户注册阶段,用户在服务器上进行注册,并且存储口令保护的凭证到它喜欢的存储位置;在用户登录阶段,用户匿名地向服务器认证,并且与服务器建立一个共享的会话密钥。
本发明中的基于口令的匿名认证密钥交换协议的一般构造需要以下组件:
1)非交互的零知识证明:通过两个算法(NIZK,VerifyNIZK;文献出处为GoldreichO.Foundations of Cryptography:Volume 1,Basic Tools(Vol 1)by[J].)分别用于生成某个命题的非交互零知识证明和验证一个非交互的零知识证明是否关于这个命题合法。
2)代数消息认证码:一个代数消息认证码方案由三个算法(KeyGen,MAC,Verify;文献出处为Chase M,Meiklejohn S,Zaverucha G.Algebraic MACs and keyed-verification anonymous credentials[C]//Proceedings of the 2014 ACM SIGSACConference on Computer and Communications Security.ACM,2014:1205-1216)组成,其中KeyGen根据安全参数生成消息认证码方案的系统参数parmac和私钥sk;MAC输入sk和消息m,输出一个消息认证码σ;Verify输入sk,消息m和消息认证码σ,当且仅当σ关于m是合法时输出1。当消息认证码被看作凭证时,这个代数消息认证码方案可以提供凭证出示和验证算法(Show,ShowVerify),Show算法生成一个出示证明(证明拥有一个合法的凭证),ShowVerify验证一个出示证明是否合法。
3)口令加密方案:由(Enc,Dec)两个算法组成,其中Enc用口令pw加密一个明文M获得一个密文C;Dec用口令pw解密密文C输出一个明文M。
4)数字签名方案:由(Gen,Sign,Ver)三个算法组成,其中Gen生成一对公私钥;Sign使用私钥签名消息;Ver使用公钥验证一个签名是否合法。
实施例1.一种基于口令的匿名认证密钥交换协议的一般构造
基于以上的组件,本实施例旨在给出本发明的基于口令的匿名认证密钥交换协议的一般构造。该构造要求代数消息认证码的空间与口令加密方案的明文空间是一致的。
1.系统建立阶段
给定的安全参数λ,服务器生成系统参数并公布,同时生成相应的私钥并秘密存储。具体执行步骤如下:
1)选取域参数其中是一个阶数为p的循环群,p是一个至少2λ位的素数,g是群的一个生成元。
2)选择两个独立的密码学杂凑函数其中是代数消息认证码的消息空间,k表示会话密钥的长度。
3)运行KeyGen算法生成代数消息认证码的参数和私钥:(parmac,sk)←KeyGen(1λ)。
4)执行数字签名方案中的密钥生成算法Gen生成公钥和私钥:(PK,SK)←Gen(1λ)。
5)将作为服务器的私钥,将作为系统参数公开发布。
2.用户注册阶段
在匿名登录之前,用户需要在服务器上进行注册。注册阶段需要在安全信道上执行,可以通过执行TLS协议建立。用户在注册过程中需要向服务器提供自己的身份ID。依赖于具体的应用,服务器可以根据自己的策略认证这个用户是否有资格注册。如果服务器接受这个用户的注册,则为ID颁发一个凭证和相应的零知识证明以证明该凭证的有效性。用户利用系统参数params和这个零知识证明可以验证收到凭证的合法性。注册阶段的具体流程如下:
1)用户将自己的ID通过安全信道发送给服务器。
2)收到ID以后,服务器执行如下操作:
a)计算m←H1(ID)。
b)生成一个凭证:σ←MAC(sk,m)。
c)通过非交互零知识证明,证明凭证σ是合法的:
π←NIZK{(sk):Verify(sk,m,σ)=1∧(parmac,sk)∈KeyGen(1λ)}。
d)通过安全信道向用户发送(σ,π)。
3)用户在接收到(σ,π)之后,通过零知识证明π验证凭证σ的合法性,并将通过验证的凭证使用口令进行加密之后和ID一起存储,具体流程如下:
a)计算m←H1(ID)。
b)如果VerifyNIZK((parmac,m,σ),π)=0,那么终止执行。
c)用自己的口令pw加密σ,即,[σ]pw←Enc(pw,σ),其中[σ]pw是相应的密文。
d)用户存储口令保护的凭证(ID,[σ]pw)到自己方便的存储位置。
3.用户登录阶段
这一阶段的目的是实现已注册用户的匿名认证以及用户与服务器建立一个共享的会话密钥。在登录阶段中,服务器和用户的具体交互过程如下:
1)服务器从中随机选取一个元素y,并计算Y←gy(即服务器从群G对应的阶数群中采用随机选择的方法选择一个元素y,之后计算出这个元素对应的群G中元素Y)。然后,服务器对消息Y进行签名得到σS←Sign(SK,Y)。最后,服务器将(Y,σS)发送给用户。
2)用户收到(Y,σS)之后,执行如下:
a)如果Ver(PK,Y,σS)=0,终止执行。
b)否则,用户计算m←H1(ID),用口令pw解密密文[σ]pw:σ←Dec(pw,[σ]pw)。
c)从中随机选取一个元素x,并计算X←gx(即服务器从群G对应的阶数群中采用随机选择的方法选择一个元素x,之后计算出这个元素对应的群G中元素X)。
d)用(m,σ)生成关于标签(X,Y,σS)的出示证明:σC←Show(parmac,m,σ,(X,Y,σS))。
e)将(X,σC)发送给服务器。
f)计算会话密钥:K←H2(Y,σS,X,σC,Yx)。
3)服务器收到(X,σC)之后,验证(X,σC)是否合法:如果ShowVerify(parmac,σC,(X,Y,σS),sk)=0,服务器终止执行;否则计
算会话密钥:K←H2(Y,σS,X,σC,Xy)。
实施例2:一个高效的基于口令的匿名认证密钥交换方法实例
本实施例旨在基于特定的代数消息认证码方案构造一个高效的基于口令的匿名认证密钥交换方法实例,是实施例1)描述的一般性构造的一种具体实例化。
本实施例使用基于q-SDH假设的代数消息认证码方案,记作MACSDH。下面给出MACSDH中各算法的具体描述以及对应的零知识证明和凭证描述证明算法的构造:
1)KeyGen(1λ):输入安全参数λ,选取域参数其中是一个阶数为p的循环群,p是一个至少2λ位的素数,g是群的一个生成元。然后,在群中随机选取一个元素γ,并计算ω←gγ。最后,输出作为参数集合parmac,将γ作为私钥sk。
2)MAC(sk,m):输入私钥sk=γ和消息计算A←g1/(γ+m),然后输出σ=A作为m的消息认证码。
3)Verify(sk,m,σ):输入私钥sk=γ,消息m和消息认证码σ=A,如果A(γ+m)=g,那么输出1,否则输出0。
4)NIZK{(sk):Verify(sk,m,σ)=1∧(parmac,sk)∈KeyGen(1λ)}=NIZK{(γ):Aγ=A-mg∧gγ=ω}:给定一个命题(g,ω,m,A)和一个证据γ,从中随机选取元素r,计算R1←Ar,R2←gr,c←H3(g,ω,m,A,R1,R2),s←r+c·γmod p,输出一个非交互零知识证明π=(c,s),其中H3是密码学杂凑函数。
5)VerifyNIZK((parmac,m,σ),π)=VerifyNIZK((g,ω,m,A),π):输入一个命题(g,ω,m,A)和一个证明π=(c,s),计算c′=H3(g,ω,m,A,As+cmg-c,gsω-c),如果c’=c,那么输出1(代表验证通过),否则输出0(代表验证不通过)。
6)Show(m,σ,l):输入消息m,凭证σ=A和标签l=(X,Y,σS),算法执行如下:
a)在群中随机选取一个元素a,计算T←Aa
b)在群中随机选取元素rm和ra,计算
c)计算杂凑值c←H4(g,T,R,l),其中H4是密码学杂凑函数。
d)计算sm←rm+c·m mod p以及sa←ra+c·a mod p。
e)输出σC=(T,c,sm,sa)作为一个出示证明。
7)ShowVerifv(σC,l,sk)输入出示证明σC=(T,c,sm,sa),标签l=(X,Y,σS)
和私钥sk=γ,算法执行如下:
a)计算V←Tγ
b)计算杂凑值c′←H4(g,T,R′,l)。
c)如果c’=c,那么输出1(代表验证通过),否则输出0(代表验证不通过)。
当应用上述的Show和ShowVerify算法实例到本发明的一般构造中时,标签l=(X,Y,σS)。
一般构造中的代数消息认证码方案也可以使用Chase等学者在CCS’14会议上提出的MACGGM或者MACDDH进行实例化。
本实施例中的口令加密方案(Enc,Dec)构造如下:
1)Enc(pw,M):输入口令pw和明文M,计算C←M·H(pw),并输出C作为密文。其中是一个密码学杂凑函数,是明文空间,表示
2)Dec(pw,C):输入口令pw和密文C,计算M←C·H(pw)-1,输出M作为解密得到的明文。
在本实施例中,数字签名方案可以用标准的基于椭圆曲线的数字签名方案实例化,例如:ECDSA和SM2数字签名算法等;所有的杂凑函数可以用标准的杂凑函数实例化(例如:SHA杂凑算法和SM3杂凑算法),并用合适的前缀区分这些杂凑函数。
另外,在本实施例中,所有的组件能够与会话密钥建立共享相同的域参数其中能够被实例化为在椭圆曲线上的素数阶循环群。
应用上述组件的实例到本发明的一般构造中,能够获得一个高效的基于口令的匿名认证密钥交换协议。
本实施例还具有一种有效的基于累加器的撤销机制,具体过程如下:
1)系统建立阶段:为了支持撤销,服务器随机选取一个元素计算群元素然后将加入到中作为服务器私钥的一部分,并将加入到params中作为系统参数的一部分,即sk=γ。
2)撤销列表的构造:服务器维护一个撤销列表其中r是当前被撤销用户的数量,mi=H1(IDi)对应于被撤销的用户IDi是{m1,…,mi}的累加器值。特别地,服务器设置在整个协议的运行过程中,服务器将撤销列表RL公开。
3)用户注册阶段:在注册阶段中,服务器额外发送给用户一个证据以及一个非交互零知识证明以证明Wr是被正确计算的值,其中是当前撤销列表RL中最新的累加器值。当和π验证均通过的时候,用户将(ID,[A]pw,Wr)存储于自己偏好的存储位置。
4)证据更新:当撤销列表RL更新时,未被撤销的用户需要离线更新证据Wr。设现阶段服务器的撤销列表为未被撤销的用户能够利用m=H1(ID)迭代更新其证据:对于每一个r≤j≤r′-1,计算
5)用户登录阶段:对于当前的撤销列表为了证明自己没有被撤销,用户需要使用以下支持撤销的Show和ShowVerify算法:
输入一个消息m,一个凭证A,一个关于当前撤销列表RL的证据Wr,一个最新的累加器值和一个标签l,算法执行如下:
a)用户随机选取元素t,并计算T←Aa
b)在群中随机选取元素rm、ra和rt,计算
c)计算杂凑值
d)计算sm=rm+c·m mod p,sa=ra+c·a mod p,以及st=rt+c·t mod p。
e)输出
输入一个出示证明σC,一个标签l,当前撤销列表RL中最新的累加器值和一个私钥算法执行如下:
a)计算V←Yγ 以及
b)计算杂凑值
c)如果c’=c,那么输出1(验证通过),否则输出0(验证不通过)。
实施例3:上述匿名认证方法在TLS协议中的应用
本实施例旨在给出在TLS协议下应用上述认证方法的一种方式,是实施例2中的实例化方法在现实生活中应用的一个例子,具体应用方式如下:
用户和服务器在建立TLS连接之前完成实施例2中描述的系统建立阶段和用户注册阶段。在用户注册阶段,服务器还需要额外发行一张数字证书certmac。这张证书由服务器签发,其所有者是一个虚拟实体apake;证书中包括一个椭圆曲线参数以及公钥ω,即MACSDH方案的公开参数;证书的类型为apake;公钥签名算法为(SigMAC,SHA256),其中SigMAC=(Show,ShowVerify)。除此之外,服务器和用户在初始化阶段和注册阶段的流程和实施例2一致。
在TLS握手流程中,使用实施例2中的方法进行匿名认证密钥交换,具体过程如下所示:
1.服务器通过发送CertificateRequest消息来要求用户提供证书,该消息中的certificate_types字段包括apake,supported_signature_algorithm字段包括(SigMAC,SHA256)。
2.用户发送certmac给服务器。
3.服务器收到certmac之后验证证书的合法性,若证书不合法则终止协议运行。
4.用户使用实施例2中提到的Show算法计算CertificateVerify消息中的内容并发送。
5.服务器使用实施例2中提到的ShowVerify算法对CerficateVerify中的内容进行验证,输出1则继续,输出0则终止TLS连接。
6.服务器和用户使用实施例2中的方法计算TLS协议的会话密钥,完成密钥协商的过程。
本实施例中用到的实例化方法可以使用实施例2中不带撤销机制的构造,也可以使用实施例2中带撤销机制的构造。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

Claims (12)

1.一种基于口令的匿名实体鉴别方法,其步骤为:
1)服务器根据给定的安全参数生成自己的私钥sk和系统参数,并公布该系统参数;
2)用户向服务器发出注册请求,服务器根据该注册请求生成一凭证σ发送给该用户;然后该用户用自己的口令pw加密该凭证σ,得到密文[σ]pw并存储;
3)用户登录服务器时,服务器为该用户生成一消息Y,并利用签名私钥SK对该消息Y签名得到σS,然后将(Y,σS)发送给该用户;
4)该用户利用该系统参数中公钥对(Y,σS)进行验证,如果验证通过,则该用户生成一消息X并用自己的口令pw解密密文[σ]pw,得到该凭证σ;
5)该用户利用注册请求信息和凭证σ生成一关于标签l的出示证明σC;然后将(X,σC)发送给服务器;其中,标签l包括X、Y和σS
6)服务器验证(X,σC)是否合法,如果合法,则对该用户匿名验证通过。
2.如权利要求1所述的方法,其特征在于,该凭证σ为服务器通过非交互零知识证明具有合法性的凭证。
3.如权利要求2所述的方法,其特征在于,步骤2)中,服务器将零知识证明π和凭证σ发送给该用户,该用户通过零知识证明π验证凭证σ的合法性,如果验证通过,则用自己的口令加密该凭证σ并存储。
4.如权利要求1或2或3所述的方法,其特征在于,该注册请求为用户的ID;服务器生成该凭证σ的方法为:首先利用该用户的ID生成一消息m,即m←H1(ID);然后根据该消息m和私钥sk生成该凭证,即σ←MAC(sk,m);其中,H1为一密码学杂凑函数。
5.如权利要求4所述的方法,其特征在于,步骤5)中,该用户利用注册请求信息生成一消息m,即m←H1(ID);然后用(m,σ)和所述系统参数生成关于标签(X,Y,σS)的出示证明σC
6.如权利要求1所述的方法,其特征在于,服务器从中随机选取一个元素y计算生成消息Y,即Y←gy;该用户从中随机选取一个元素x计算生成消息X,即X←gx
7.如权利要求1或2所述的方法,其特征在于,服务器根据给定的安全参数生成自己的私钥和系统参数的方法为:服务器根据安全参数λ选取域参数其中是一个阶数为p的循环群,p是一个至少2λ位的素数,g是群的一个生成元;然后,在群中随机选取一个元素γ,并计算ω←gγ;最后将作为系统参数parmac,将γ作为私钥sk。
8.如权利要求7所述的方法,其特征在于,生成该凭证σ的方法为:服务器根据私钥sk=γ和消息计算A←g1/(γ+m),如果π可以通过零知识证明方案NIZK{(γ):Aγ=A-mg^gγ=ω}中验证算法的验证,则将A作为该凭证,即σ=A。
9.如权利要求3所述的方法,其特征在于,步骤1)中,服务器随机选取一元素计算群元素然后将作为服务器私钥的一部分;并将加入到系统参数中;服务器维护并公开一撤销列表其中r是当前被撤销用户的数量,mi=H1(IDi)对应于被撤销的用户IDi是{m1,…,mi}的累加器值,设置在步骤2)该用户进行注册时,服务器发送给该用户一证据以及一个非交互零知识证明其中是当前撤销列表RL中最新的累加器值;当和π验证均通过的时候,用户将(ID,[A]pw,Wr)存储于设定存储位置;当服务器更新撤销列表RL时,未被撤销的用户能够利用m=H1(ID)迭代更新其证据:对于每一个r≤j≤r′-1,计算其中,现阶段服务器的撤销列表为r’是现阶段被撤销用户的数量。
10.如权利要求9所述的方法,其特征在于,生成该出示证明σC的方法为:该用户登录服务器时,该用户随机选取元素t,并计算T←Aa然后在群中随机选取元素rm、ra和rt,计算然后计算杂凑值然后计算sm=rm+c·m mod p,sa=ra+c·a mod p,以及st=rt+c·t mod p,输出服务器验证该用户是否合法的方法为:首先计算V←Tγ 以及然后计算杂凑值如果c’=c,则验证该用户为合法用户。
11.如权利要求3所述的方法,其特征在于,生成该出示证明σC的方法为:服务器在群中随机选取一个元素a,计算T←Aa,在群中随机选取元素rm和ra,计算然后服务器计算杂凑值c←H4(g,T,R,l),sm←rm+c·m mod p以及sa←ra+c·a mod p;然后得到出示证明σc=(T,c,sm,sa);服务器验证该用户是否合法的方法为:计算V←Tγ以及杂凑值c′←H4(g,T,R′,l),如果c’=c,则验证该用户为合法用户;其中,H4是密码学杂凑函数,私钥sk=γ。
12.如权利要求1或2所述的方法,其特征在于,在步骤2)该用户进行注册时,服务器发送一数字证书certmac给该用户,该证书所有者是一个虚拟实体apake,该证书中包括椭圆曲线参数以及公钥ω;在该用户与服务器的TLS握手流程中,服务器通过发送CertificateRequest消息来要求用户提供该证书certmac;用户发送该证书certmac给服务器,服务器收到该证书certmac之后验证其合法性,若不合法则终止TLS协议运行。
CN201610829126.9A 2016-09-18 2016-09-18 一种基于口令的匿名实体鉴别方法 Active CN106341232B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610829126.9A CN106341232B (zh) 2016-09-18 2016-09-18 一种基于口令的匿名实体鉴别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610829126.9A CN106341232B (zh) 2016-09-18 2016-09-18 一种基于口令的匿名实体鉴别方法

Publications (2)

Publication Number Publication Date
CN106341232A true CN106341232A (zh) 2017-01-18
CN106341232B CN106341232B (zh) 2019-04-09

Family

ID=57839110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610829126.9A Active CN106341232B (zh) 2016-09-18 2016-09-18 一种基于口令的匿名实体鉴别方法

Country Status (1)

Country Link
CN (1) CN106341232B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107342859A (zh) * 2017-07-07 2017-11-10 安徽大学 一种匿名认证方法及其应用
CN107947913A (zh) * 2017-11-15 2018-04-20 武汉大学 一种基于身份的匿名认证方法与系统
CN108270562A (zh) * 2017-11-21 2018-07-10 中国科学院软件研究所 一种抗量子密钥协商方法
CN108833373A (zh) * 2018-05-29 2018-11-16 东北大学 面向关系隐私保护社交网络的即时通信与匿名访问方法
CN110268676A (zh) * 2017-02-09 2019-09-20 华为国际有限公司 基于身份的自认证签名方案的私有密钥计算系统和方法
CN110266640A (zh) * 2019-05-13 2019-09-20 平安科技(深圳)有限公司 单点登录防篡改方法、装置、计算机设备及存储介质
CN111490967A (zh) * 2019-01-29 2020-08-04 中国科学院软件研究所 一种提供用户友好的强认证和匿名认证的统一身份认证方法和系统
CN113037479A (zh) * 2021-03-25 2021-06-25 支付宝(杭州)信息技术有限公司 数据验证方法和装置
CN113055161A (zh) * 2021-03-09 2021-06-29 武汉大学 一种基于sm2和sm9数字签名算法的移动终端认证方法与系统
CN113132116A (zh) * 2021-06-17 2021-07-16 国网浙江省电力有限公司信息通信分公司 基于知识签名的敏感数据匿名访问方法
CN114710273A (zh) * 2022-03-24 2022-07-05 融智通科技(北京)股份有限公司 一种通信系统的密钥产生方法
CN115499224A (zh) * 2022-09-20 2022-12-20 淮阴工学院 一种基于广播加密的匿名订阅方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020049681A1 (en) * 2000-07-20 2002-04-25 International Business Machines Corporation Secure anonymous verification, generation and/or proof of ownership of electronic receipts
US20070220591A1 (en) * 2006-03-14 2007-09-20 Suresh Damodaran Methods and apparatus for identity and role management in communication networks
CN101958796A (zh) * 2010-09-27 2011-01-26 北京联合智华微电子科技有限公司 一种支持匿名认证的密钥装置及其生成方法和解锁方法
CN102594558A (zh) * 2012-01-19 2012-07-18 东北大学 一种可信计算环境的匿名数字证书系统及验证方法
CN103699851A (zh) * 2013-11-22 2014-04-02 杭州师范大学 一种面向云存储的远程数据完整性验证方法
CN104901809A (zh) * 2015-04-23 2015-09-09 北京航空航天大学 基于口令和智能卡的远程认证协议方法
CN105376064A (zh) * 2015-11-23 2016-03-02 河海大学 一种匿名消息认证系统及其消息签名方法
CN105491076A (zh) * 2016-01-28 2016-04-13 西安电子科技大学 一种面向空天信息网的异构网络端到端认证密钥交换方法
CN105516201A (zh) * 2016-01-20 2016-04-20 陕西师范大学 一种多服务器环境下轻量级匿名认证与密钥协商方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020049681A1 (en) * 2000-07-20 2002-04-25 International Business Machines Corporation Secure anonymous verification, generation and/or proof of ownership of electronic receipts
US20070220591A1 (en) * 2006-03-14 2007-09-20 Suresh Damodaran Methods and apparatus for identity and role management in communication networks
CN101958796A (zh) * 2010-09-27 2011-01-26 北京联合智华微电子科技有限公司 一种支持匿名认证的密钥装置及其生成方法和解锁方法
CN102594558A (zh) * 2012-01-19 2012-07-18 东北大学 一种可信计算环境的匿名数字证书系统及验证方法
CN103699851A (zh) * 2013-11-22 2014-04-02 杭州师范大学 一种面向云存储的远程数据完整性验证方法
CN104901809A (zh) * 2015-04-23 2015-09-09 北京航空航天大学 基于口令和智能卡的远程认证协议方法
CN105376064A (zh) * 2015-11-23 2016-03-02 河海大学 一种匿名消息认证系统及其消息签名方法
CN105516201A (zh) * 2016-01-20 2016-04-20 陕西师范大学 一种多服务器环境下轻量级匿名认证与密钥协商方法
CN105491076A (zh) * 2016-01-28 2016-04-13 西安电子科技大学 一种面向空天信息网的异构网络端到端认证密钥交换方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110268676A (zh) * 2017-02-09 2019-09-20 华为国际有限公司 基于身份的自认证签名方案的私有密钥计算系统和方法
US11563565B2 (en) 2017-02-09 2023-01-24 Huawei International Pte. Ltd. System and method for computing private keys for self certified identity based signature schemes
CN107342859A (zh) * 2017-07-07 2017-11-10 安徽大学 一种匿名认证方法及其应用
CN107947913A (zh) * 2017-11-15 2018-04-20 武汉大学 一种基于身份的匿名认证方法与系统
CN107947913B (zh) * 2017-11-15 2020-08-07 武汉大学 一种基于身份的匿名认证方法与系统
CN108270562A (zh) * 2017-11-21 2018-07-10 中国科学院软件研究所 一种抗量子密钥协商方法
CN108270562B (zh) * 2017-11-21 2020-05-01 中国科学院软件研究所 一种抗量子密钥协商方法
CN108833373A (zh) * 2018-05-29 2018-11-16 东北大学 面向关系隐私保护社交网络的即时通信与匿名访问方法
CN108833373B (zh) * 2018-05-29 2021-03-16 东北大学 面向关系隐私保护社交网络的即时通信与匿名访问方法
CN111490967B (zh) * 2019-01-29 2022-02-25 中国科学院软件研究所 一种提供用户友好的强认证和匿名认证的统一身份认证方法和系统
CN111490967A (zh) * 2019-01-29 2020-08-04 中国科学院软件研究所 一种提供用户友好的强认证和匿名认证的统一身份认证方法和系统
CN110266640A (zh) * 2019-05-13 2019-09-20 平安科技(深圳)有限公司 单点登录防篡改方法、装置、计算机设备及存储介质
CN110266640B (zh) * 2019-05-13 2021-11-05 平安科技(深圳)有限公司 单点登录防篡改方法、装置、计算机设备及存储介质
CN113055161B (zh) * 2021-03-09 2021-11-26 武汉大学 一种基于sm2和sm9数字签名算法的移动终端认证方法与系统
CN113055161A (zh) * 2021-03-09 2021-06-29 武汉大学 一种基于sm2和sm9数字签名算法的移动终端认证方法与系统
CN113037479B (zh) * 2021-03-25 2022-04-12 支付宝(杭州)信息技术有限公司 数据验证方法和装置
CN113037479A (zh) * 2021-03-25 2021-06-25 支付宝(杭州)信息技术有限公司 数据验证方法和装置
CN113132116A (zh) * 2021-06-17 2021-07-16 国网浙江省电力有限公司信息通信分公司 基于知识签名的敏感数据匿名访问方法
CN114710273A (zh) * 2022-03-24 2022-07-05 融智通科技(北京)股份有限公司 一种通信系统的密钥产生方法
CN114710273B (zh) * 2022-03-24 2024-02-20 融智通科技(北京)股份有限公司 一种通信系统的密钥产生方法
CN115499224A (zh) * 2022-09-20 2022-12-20 淮阴工学院 一种基于广播加密的匿名订阅方法

Also Published As

Publication number Publication date
CN106341232B (zh) 2019-04-09

Similar Documents

Publication Publication Date Title
CN106341232B (zh) 一种基于口令的匿名实体鉴别方法
CN107196966B (zh) 基于区块链的多方信任的身份认证方法和系统
CN108292402B (zh) 用于信息的安全交换的公共秘密的确定和层级确定性密钥
Wang An identity-based data aggregation protocol for the smart grid
CN107948143B (zh) 一种云存储中基于身份的隐私保护完整性检测方法和系统
CN110011781B (zh) 用于交易金额加密且支持零知识证明的同态加密方法和介质
CN101674304B (zh) 一种网络身份认证系统及方法
CN110414981B (zh) 一种支持ZKPs的同态加密方法和区块链交易金额加密方法
CN110959163A (zh) 能够在多个存储节点上安全存储大型区块链的计算机实现的系统和方法
CN103546567A (zh) 一种可信云计算环境中无证书跨域认证方法
Zhang et al. Practical anonymous password authentication and TLS with anonymous client authentication
CA2949018C (en) Methods and devices for securing keys when key-management processes are subverted by an adversary
CN110048836B (zh) 一种可追踪用户身份的云共享数据完整性审计方法
CN114036539A (zh) 基于区块链的安全可审计物联网数据共享系统及方法
CN105187405A (zh) 基于信誉的云计算身份管理方法
CN114666032B (zh) 基于同态加密的区块链交易数据隐私保护方法
CN114124371A (zh) 一种基于无证书的满足mtp安全的公钥可搜索加密方法
CN110034935A (zh) 一种云计算跨域身份认证方法
CN110784300B (zh) 一种基于乘法同态加密的密钥合成方法
CN106850584B (zh) 一种面向客户/服务器网络的匿名认证方法
CN108933659B (zh) 一种智能电网的身份验证系统及验证方法
CN108923911A (zh) Rsa云签名生成方法
Hassouna et al. A New Level 3 Trust Hierarchal Certificateless Public Key Cryptography Scheme in the Random Oracle Model.
CN104184581B (zh) 一种带符号二次剩余类群中的公钥加密方法
CN107612696B (zh) 一种量子可否认协议中两种协议单向归约的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant