CN111490967B - 一种提供用户友好的强认证和匿名认证的统一身份认证方法和*** - Google Patents
一种提供用户友好的强认证和匿名认证的统一身份认证方法和*** Download PDFInfo
- Publication number
- CN111490967B CN111490967B CN201910086040.5A CN201910086040A CN111490967B CN 111490967 B CN111490967 B CN 111490967B CN 201910086040 A CN201910086040 A CN 201910086040A CN 111490967 B CN111490967 B CN 111490967B
- Authority
- CN
- China
- Prior art keywords
- user
- authentication
- password
- certificate
- credential
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012795 verification Methods 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims abstract description 8
- 230000007246 mechanism Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 10
- 230000002452 interceptive effect Effects 0.000 claims description 6
- 241001074639 Eucalyptus albens Species 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims 1
- 238000010276 construction Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- JHIVVAPYMSGYDF-UHFFFAOYSA-N cyclohexanone Chemical compound O=C1CCCCC1 JHIVVAPYMSGYDF-UHFFFAOYSA-N 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- OCKGFTQIICXDQW-ZEQRLZLVSA-N 5-[(1r)-1-hydroxy-2-[4-[(2r)-2-hydroxy-2-(4-methyl-1-oxo-3h-2-benzofuran-5-yl)ethyl]piperazin-1-yl]ethyl]-4-methyl-3h-2-benzofuran-1-one Chemical compound C1=C2C(=O)OCC2=C(C)C([C@@H](O)CN2CCN(CC2)C[C@H](O)C2=CC=C3C(=O)OCC3=C2C)=C1 OCKGFTQIICXDQW-ZEQRLZLVSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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 challenge-response
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种提供用户友好的强认证和匿名认证的统一身份认证方法和***。该方法提供一种基于口令的凭证方案,用户可以通过口令使用其凭证向验证者进行基于“挑战‑应答”模式的强认证或者匿名认证,具体包括***建立、密钥生成、凭证颁发、凭证获取、生成出示证明、验证出示证明六个算法。该基于口令的凭证方案和标准的统一身份认证协议以及常用的“用户名‑口令”认证方式兼容,不需要使用专用硬件或者对底层的密码学库进行修改,适用于大规模应用及推广。本发明的统一身份认证***的效率与使用“用户名‑口令”认证的***基本相当,能够满足实际应用的性能需求。
Description
技术领域
本发明属于计算机技术与信息安全技术领域,涉及使用统一身份认证、零知识证明等方法,使得用户在无专用硬件的情况下实施基于“挑战-应答”机制的强认证和匿名认证。具体表现为一种用户友好、能够提供强认证机制和匿名认证机制的统一身份认证方法和***。
背景技术
随着互联网和信息技术的飞速发展,人们已经越来越离不开各种数字化服务以及应用。当用户在网络上使用这些应用和服务时,往往需要向服务提供者(SP)证明自己的身份,在认证通过之后才可进行下一步操作。大多数情况下,SP使用“用户名-口令”认证机制,其优势在于用户只需要记忆口令即可向SP进行认证,但SP一般都会将用户凭证集中存放于服务器上,使其在数据泄露事件中可能被大规模地泄露,威胁众多用户的账户安全。
为了减少用户同时管理多个凭证的负担,目前许多服务提供商都已经建立了统一身份认证***。此类***允许用户使用由一个身份提供者(IdP)管理的身份访问多个依赖方(RP)提供的服务,即用户可以通过一个凭证访问多种服务。目前大多数运营的统一身份认证***仍然使用“用户名-口令”认证机制,这使得用户凭证面临大规模泄露的风险。统一身份认证***中的凭证泄露会造成更为严重的危害,攻击者能够利用泄露的凭证同时登录多个RP并使用其提供的服务,从而导致用户在多个RP注册的账户在一次数据泄露事件中同时被攻破。
“用户名-口令”认证机制导致的另一重风险是用户隐私泄露:这一机制需要用户将其身份信息显式地发送给SP,使得属于用户的隐私数据很容易被收集、泄露甚至转卖。在这一背景下,匿名认证受到业界的广泛关注,即:服务提供方能够确认用户是已经注册的合法用户,但无法获取其具体身份,也无法判断两次会话是否由同一用户参与。特别地,随着区块链技术的发展,一系列提供匿名功能的加密货币已经被公众所熟知和接受,超级帐本也提供了匿名成员服务功能。目前已有的匿名认证方案均需要用户使用专用硬件对秘密信息进行保护,或需要对***底层的库函数实现进行修改,难以直接运行于通用设备上并兼容现有***。
为了解决传统认证中集中式凭证存储而导致的大规模泄露风险,FIDO联盟提出了一项称为FIDO统一认证框架(UAF)的协议,提供基于数字签名和“挑战-响应”机制的强认证方案。FIDO UAF可消除用户凭证大规模泄露的风险,增强用户认证过程的安全性。然而,为了保护用户私钥,FIDO UAF同样需要用户使用专用硬件(称为FIDO认证器)进行认证。这意味着用户需要随时携带专用设备,而不能通过通用设备实施认证,如果专用设备遭损坏或者丢失,认证过程也无法进行。从隐私保护的角度看,FIDO UAF还不能实现真正的匿名认证,服务器仍然可以在用户每次登陆时获取用户已注册的身份并收集用户的隐私。
为了解决统一身份认证***的隐私泄露问题,一些隐私尊重的协议被研发(如BrowserID和SPRESSO),以保证IdP无法在认证过程中获取用户登录的具体RP。此类***均独立于广泛应用的统一身份认证标准,在设计时仍然采用“用户名-口令”认证机制,难以避免集中式存储带来的泄露风险;此外,IdP和RP仍然可以获取用户的身份,并收集隐私信息。
基于此,一种不需要用户使用专用硬件、能够同时提供强认证和匿名认证,并且兼容于现有广泛部署的统一身份认证***是被高度期望的。
发明内容
本发明的贡献在于提供了一种基于口令的凭证方案以及一种提供强认证/匿名认证的统一身份认证方法和***。
本发明包括以下两个方面的内容:
一、基于口令的凭证方案
本发明提供一种基于口令的凭证方案,用户可以通过口令使用其凭证向验证者进行基于“挑战-应答”模式的强认证或者匿名认证,具体包括***建立、密钥生成、凭证颁发、凭证获取、生成出示证明、验证出示证明六个算法。
该方案的一般性质包括:
1)用户使用口令对凭证进行加密,并可在通用设备上存储使用口令加密后的凭证,不需要使用专用设备对凭证进行保护。本发明所述“凭证”是指用户向SP进行认证时用于证明自己身份的信息。
2)口令加密的凭证可以抵抗离线攻击,即敌手不能通过对口令加密的凭证实施离线字典攻击从而获取凭证。
3)用户可以使用同一个凭证向验证者实施基于“挑战-响应”机制的强认证或者匿名认证,即同一凭证可以使用不同方式出示。
4)验证者不需要保存用户凭证,避免了凭证集中式存储导致的数据泄露风险。
5)用户需要通过输入正确口令解密凭证后才可以向验证者进行认证。
6)用户可以随时对其加密凭证的口令进行更新,这一过程不需要与服务器(即验证者)进行交互。
二、提供强认证和匿名认证的统一身份认证方法
本发明中提出一种提供强认证/匿名认证的统一身份认证方法,该方法将内容一中的基于口令的凭证方案和标准的统一身份认证协议(如OpenID Connect)相结合,其基本性质包括:
1)用户在IdP上注册基于口令的凭证,并可利用这一凭证访问多个RP。
2)用户可以使用同一凭证向IdP进行基于“挑战-响应”机制的强认证/匿名认证,并进一步访问RP。
3)IdP和RP均无需集中保存用户凭证。
4)在实施匿名认证的过程中,IdP和RP均无法获取用户的身份,也无法借助已认证用户的身份收集用户隐私。
5)可以与OpenID Connect等统一身份认证协议以及常用的“用户名-口令”认证方式兼容,可以和“用户名-口令”方式同时在***中被使用,不需要使用专用硬件或者对底层的密码学库进行修改。
6)基于密码白盒或安全硬件,用户可在RP上注册并重用假名,实现用户可控的(不)可链接性,即用户可以自行选择是否重用在认证时使用的假名。
具体来说,本发明采用的技术方案如下:
一种提供用户友好的强认证和匿名认证的统一身份认证方法,包括以下步骤:
1)用户端使用口令对凭证进行加密,得到基于口令的凭证并存储;
2)用户端使用基于口令的凭证向验证端进行强认证或者匿名认证。
进一步地,在通用设备上存储所述基于口令的凭证,不需要使用专用设备对凭证进行保护。
进一步地,所述用户端随时对其加密凭证的口令进行更新,更新过程不与验证端进行交互;所述验证端不保存用户端的凭证,以避免凭证集中式存储导致的数据泄露风险。
进一步地,步骤1)通过调用代数消息认证码方案以及口令加密方案,得到所述基于口令的凭证。
进一步地,步骤1)包括6个算法:***建立、密钥生成、凭证颁发、凭证获取、生成出示证明、验证出示证明,分别记作Setup,KeyGen,Issue,Obtain,Show,ShowVerify:
KeyGen(pp):输入公共参数pp,该算法调用代数消息认证码方案中的Gen算法生成公开参数par和私钥sk,其中par对参与方案的用户是公开可见的;
Show(tag,par,uid,pw,[σ]pw,M):其中tag为标签,根据标签值采用不同的方式生成出示证明,[σ]pw为口令加密后的凭证;该算法由已注册了基于口令的凭证的用户执行,用于向验证者实施认证,该算法计算σ←Dec(pw,[σ]pw),之后使用uid,σ生成关于消息M的出示证明Σ←ShowMAC(tag,par,uid,σ,M);根据用户希望实施强认证还是匿名认证,输入tag的相应标签值;
ShowVerify(sk,uid,M,Σ):该算法由验证者执行,验证者与凭证颁发者共享私钥sk,该算法的输入包括私钥sk、用户身份uid、消息M以及关于消息M的出示证明Σ,其中用户身份为空对应于匿名认证的情况,身份非空则对应于强认证的情况。
进一步地,步骤2)将口令加密的凭证和标准的统一身份认证协议相结合,实现强认证或者匿名认证。
进一步地,基于密码白盒或安全硬件,用户端在RP上注册并重用假名,实现用户可控的(不)可链接性,即用户能够自行选择是否重用在认证时使用的假名。
一种采用上面所述方法的提供用户友好的强认证和匿名认证的统一身份认证***,包括用户端和验证端;用户端使用口令对凭证进行加密,得到基于口令的凭证并存储;用户端使用基于口令的凭证向验证端进行强认证或者匿名认证。
和现有技术相比,本发明的优势主要体现在:
1)同一凭证既可用于实施强认证,也可以用于实施匿名认证。
2)在不需要专用硬件的前提下提供基于“挑战-响应”机制的强认证和匿名认证方案。
3)相比较于其他匿名认证机制,本发明避免了匿名凭证出借的问题,即凭证的所有者可能将凭证出借给***外的用户,而匿名性使得SP无法对这一问题进行检测。更具体的,在本发明中,凭证可以同时被用于实名认证和匿名认证,这使得用户在出借凭证的同时出借了他的实名账户,通过对实名账户出借的检测机制,SP可以轻松的检测本发明中凭证的出借。
4)服务器不需要集中存储用户凭证,从而消除了凭证集中泄露的风险。
5)用户可以在不与服务器交互的情况下随时更改用于加密凭证的口令。
6)本发明中的方案能够抵抗离线字典攻击,而且口令只用于在用户端对凭证进行加密和解密,降低了口令本身泄露的风险。
7)本发明与广泛应用的统一身份认证标准和已部署的***相兼容,并且不需要对底层密码学库进行修改,适用于大规模应用及推广。
8)本发明中统一身份认证***的效率与使用“用户名-口令”认证的***基本相当,能够满足实际应用的性能需求。
附图说明
图1是本发明的提供强认证/匿名认证的统一身份认证方法的示意图。
具体实施方式
为使本发明的上述内容、特征和优势更加明显易懂,下面通过具体实施例对本发明做进一步说明。
在下面的实施例中,需要调用现有的知识证明签名方案(Signature Proof ofKnowledge)作为构造组件。一个知识证明签名方案包括算法(SPK,VerifySPK),其中SPK算法用于零知识地证明签名者知道关于某个命题的证据,输出利用证据生成的关于某个消息的签名;VerifySPK算法用于验证某个签名是否由关于命题的合法证据在消息上作用所产生。后面的实施例中会调用三个知识证明签名方案,记作
实施例1.基于口令的凭证方案的一般构造
下面展示了一种由一般的代数消息认证码方案构造的基于口令的凭证方案,该基于口令的凭证方案由***建立、密钥生成、凭证颁发、凭证获取、生成出示证明、验证出示证明六个算法构成,分别记作Setup,KeyGen,Issue,Obtain,Show,ShowVerify。具体而言,本方案中的代数消息认证码方案可以使用一些学术界公认的方案(如MACSDH)。
本实施例调用了代数消息认证码方案以及口令加密方案作为构造组件:一个代数消息认证码方案由三个算法(Gen,MAC,Verify)组成,其中Gen算法用于生成代数消息认证码方案的公开参数par和私钥sk;MAC算法用于生成关于消息M的代数消息认证码,输入为私钥sk和消息M,输出为消息认证码σ;Verify算法用于验证一个消息认证码σ是否关于消息M和私钥sk合法。当代数消息认证码被看作凭证时,可以构造相应的凭证出示算法和凭证验证算法,分别记作(ShowMAC,ShowVerifyMAC),其中ShowMAC生成出示证明,用于证明用户拥有合法凭证,ShowVerifyMAC算法验证出示证明是否合法。特别地,ShowMAC算法允许用户输入特定标签tag,并根据标签值采用不同的方式生成出示证明。本实施例中,以tag∈{"explicit","anon"}为例,其中"explicit"代表验证出示证明时需要同时用到消息M和私钥sk(对应于强认证的情况);"anon"代表验证出示证明时只需要用到私钥sk(对应于匿名认证的情况)。口令加密方案由算法(Enc,Dec)组成,用于使用口令对输入进行加密(Enc)和解密(Dec)。
本构造的算法描述如下:
2)KeyGen(pp):输入公共参数pp,该算法调用代数消息认证码方案中的Gen算法生成公开参数par和私钥sk。其中par对参与方案的用户是公开可见的。
a)用户向凭证颁发者发送自己的用户标识符uid。
π1←SPK1{(sk):Verify(sk,uid,σ)=1∧(par,sk)←Gen(pp)}
最后,凭证颁发者将(σ,π1)发送给用户。
c)用户收到(σ,π1)之后,计算H1(uid),并执行如果该算法返回1,则说明σ是合法的,之后用户计算[σ]pw←Enc(pw,σ),即使用口令pw对凭证σ进行加密,并存储口令加密后的凭证[σ]pw;否则说明σ不是一个合法凭证,用户终止方案运行。
4)Show(tag,par,uid,pw,[σ]pw,M):该算法由已注册了基于口令的凭证的用户执行,用于向验证者实施认证,具体而言,该算法计算σ←Dec(pw,[σ]pw),即进行解密,之后使用uid,σ生成关于消息M的出示证明Σ←ShowMAC(tag,par,uid,σ,M)。如果用户希望实施强认证,则输入tag="explicit",如果希望实施匿名认证,则输入tag="anon"。
5)ShowVerify(sk,uid,M,Σ):该算法由验证者执行,验证者与凭证颁发者共享私钥sk。该算法的输入包括私钥sk,用户身份uid,消息M以及关于消息M的出示证明Σ。其中用户身份为空对应于匿名认证的情况,身份非空则对应于强认证的情况。具体地,该算法调用ShowVerifyMAC(sk,uid,M,Σ)验证出示证明的合法性并输出其结果。这里的ShowVerifyMAC(sk,uid,M,Σ)对应于代数消息认证码方案中的凭证验证算法。
实施例2.一种基于口令的凭证的具体构造
本实施例旨在基于特定的代数消息认证码(记作MACSDH)和对应的口令加密方案PE=(Enc,Dec),描述一个高效的基于口令的凭证的构造,是实施例1描述的一般性构造的一种具体实例化。为使描述更加简洁,下面只描述MACSDH中的各个算法的构造以及口令加密方案的构造,将其应用于实施例1即可获得本实施例中的基于口令的凭证的具体构造。
代数消息认证码方案MACSDH=(Gen,MAC,Verify)及(ShowMAC,ShowVerifyMAC)的构造:
4)ShowMAC(tag,par,uid,σ,M):选取一个随机数a并计算T←σa。若tag=”explicit”,则计算并输出Σ=(T,π2)。若tag="anon",则计算并输出Σ=(T,π3)。
5)ShowVerifyMAC(sk,uid,M,Σ):对于输入Σ=(T,π),如果T=1,则直接返回0。否则:当uid≠⊥时,执行并输出结果。其中,⊥表示消息值为空。当uid=⊥时,执行并输出结果。
口令加密方案PE=(Enc,Dec)的构造:
1)Enc(pw,M):输入口令pw和明文M,计算C←M·H2(pw),并输出C作为密文。其中H2是一个密码学杂凑函数。
2)Dec(pw,C):输入口令pw和密文C,计算并输出M←C·H2(pw)-1作为解密结果。
在本实施例中,密码学杂凑函数采用标准的杂凑函数实例化(如:SHA-256和SM3)。
实施例3.一种能提供强认证/匿名认证的统一身份认证***
本实施例的目的在于构建兼容于通用的统一身份认证标准、能够提供强认证/匿名认证的统一身份认证***。为了说明本项发明内容的工作流程,本实施例以OpenIDConnect作为示例,其他统一身份认证标准(如SAML 2.0和OAuth 2.0)也可类似地构造,在此不再赘述。
具体地,本实施例中描述的提供强认证/匿名认证的统一身份认证***包括***建立、注册和登录三个阶段,各阶段的具体操作如下:
1)***建立阶段:IdP和RP产生在***运行中需要的公钥和私钥。特别地,IdP调用实施例1中的密钥生成算法产生公共参数和私钥(isp,sk)←KeyGen(pp),并把(pp,isp)作为其公钥的一部分,sk作为其私钥的一部分。
2)注册阶段:这一阶段须在安全信道下执行,可通过执行TLS协议建立。具体流程如下:
a)RP按照OpenID Connect标准的规定向IdP进行注册。
3)登录阶段:用户使用(isp,uid,pw,[σ]pw)向IdP与RP进行认证,具体流程描述如下(见图1):
a)用户首先访问RP,RP按照OpenID Connect的规定将用户重定向到IdP。特别地,RP通过标准规定的acr_values参数限定用户在向IdP认证时允许采用的认证方式(如强认证或匿名认证)。
b)IdP按照标准规定对用户进行认证。具体地,IdP根据RP发送的acr_values选择可接受的用户认证方式,并将其标识符(在OpenID Connect中记作amr)封装为参数amr_values;之后选择随机数nI,并将amr_values和nI发送给用户。为了方便表述,将本发明中强认证的amr记作pbcs,将匿名认证记作pbca。
c)用户收到IdP的消息之后,根据amr_values选择其认证方式,具体如下:若pbcs∈amr_values,用户使用基于口令的凭证进行强认证,即以"explicit"作为tag执行Show算法。之后,用户将Show算法的输出Σ和身份标识uid作为user_token,并将其和认证方式amr=pbcs一起发送给IdP。若pbca∈amr_values,用户使用基于口令的凭证进行匿名认证,即以"anon"作为tag执行Show算法。之后,用户将Show算法输出Σ作为user_token,并将其和认证方式amr=pbca一起发送给IdP。
d)IdP在收到用户发送的消息之后,检查amr是否在其可以接受的amr_values的限定范围内,如果超出该范围则判定认证失败,否则执行以下步骤:若amr=pbcs,执行ShowVerify(sk,uid,nI,Σ),仅当算法返回1的时候继续执行。若amr=pbca,执行ShowVerify(sk,⊥,nI,Σ),仅当算法返回1的时候继续执行,并且在继续执行时随机生成一个uid作为用户的标识符。
e)之后用户、RP和IdP按照OpenID Connect标准的规定继续运行。
实施例4.一种高效、提供假名机制的统一身份认证***的具体构造
本实施例旨在提供一种高效、能够提供假名机制的统一身份认证***的具体构造。采用假名机制的好处在于:能够提供一种可以被链接的隐私保护认证方式,即用户可以采用相同假名进行多次认证,而SP不能将假名和用户的真实身份相关联,也无法将同一用户使用的不同假名相联系,即所谓的用户可控(不)可链接性。在本实施例中,实施例3中描述的基于口令的凭证将采用实施例2中的方案进行实例化。简洁起见,省略之前实施例中描述的步骤,只描述应用实施例2后的假名建立及存储机制:
1)建立假名:当采用如实施例2中描述的基于口令的匿名凭证构造时,用户在实施例3的登录阶段中随Σ=(T,π)发送一个特殊的标记,代表“建立假名”操作,之后IdP将T存储为用户的假名。当IdP向RP展示用户身份时,使用T作为用户的身份标识符。
2)重用假名:用户可以重复使用随机数a生成相同的T来达到重用在步骤1)中注册的假名的目的。为此,用户需要安全存储a。为了降低存储开销,使用伪随机函数PRFK(·)(其中K是密钥)存储假名,如a=PRFK(uid||IDIdP||IDRP),其中IDIdP和IDRP分别为IdP和RP的身份。伪随机函数可以采用安全硬件或者密码学白盒实现。
3)当采用安全硬件时,可以使用硬件对基于口令的凭证进行存储和保护,这种保护也从另一方面增加了凭证的安全性。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。
Claims (5)
1.一种提供用户友好的强认证和匿名认证的统一身份认证方法,其特征在于,包括以下步骤:
1)用户端使用口令对凭证进行加密,得到基于口令的凭证并存储;
2)用户端使用基于口令的凭证向验证端进行强认证或者匿名认证;
所述用户端随时对其加密凭证的口令进行更新,更新过程不与验证端进行交互;所述验证端不保存用户端的凭证,以避免凭证集中式存储导致的数据泄露风险;
其中,步骤1)通过调用代数消息认证码方案以及口令加密方案,得到所述基于口令的凭证;步骤1)包括6个算法:***建立、密钥生成、凭证颁发、凭证获取、生成出示证明、验证出示证明,分别记作Setup,KeyGen,Issue,Obtain,Show,ShowVerify,其中:
KeyGen(pp):输入公共参数pp,该KeyGen算法调用代数消息认证码方案中的Gen算法生成公开参数par和私钥sk,其中par对参与方案的用户是公开可见的;
Show(tag,par,uid,pw,[σ]pw,M):其中tag为标签,根据标签值采用不同的方式生成出示证明,[σ]pw为口令加密后的凭证;该Show算法由已注册了基于口令的凭证的用户执行,用于向验证者实施认证,该Show算法计算σ←Dec(pw,[σ]pw),其中Dec表示解密算法,之后使用uid,σ生成关于消息M的出示证明Σ←ShowMAC(tag,par,uid,σ,M),其中ShowMAC生成出示证明,用于证明用户拥有合法凭证;根据用户希望实施强认证还是匿名认证,输入tag的相应标签值;
ShowVerify(sk,uid,M,Σ):该ShowVerify算法由验证者执行,验证者与凭证颁发者共享私钥sk,该ShowVerify算法的输入包括私钥sk、用户标识符uid、消息M以及关于消息M的出示证明Σ,其中用户身份为空对应于匿名认证的情况,身份非空则对应于强认证的情况;
其中,Obtain和Issue交互的过程包括:
a)用户向凭证颁发者发送自己的用户标识符uid;
b)凭证颁发者计算H1(uid),其中H1是一个密码学杂凑函数,将任意比特串映射到代数消息认证码方案的消息空间,之后生成一个凭证σ←MAC(sk,uid),其中MAC算法用于生成关于消息M的代数消息认证码,并计算:
π1←SPK1{(sk):Verify(sk,uid,σ)=1∧(par,sk)←Gen(pp)}
其中,Verify算法用于验证一个消息认证码σ是否关于消息M和私钥sk合法;
最后,凭证颁发者将(σ,π1)发送给用户;
c)用户收到(σ,π1)之后,计算H1(uid),并执行VerifySPK1((g,par,uid,σ),π1),如果返回1,则说明σ是合法的,之后用户计算[σ]pw←Enc(pw,σ),其中Enc表示加密算法,并存储[σ]pw;否则说明σ不是一个合法凭证,用户终止方案运行;
其中,步骤2)包括:
a)用户端在身份提供者IdP上注册基于口令的凭证,并利用这一凭证访问多个依赖方RP;
b)用户使用同一凭证向IdP进行基于“挑战-响应”机制的强认证或匿名认证,并进一步访问RP;
c)IdP和RP均无需集中保存用户凭证;
d)在实施匿名认证的过程中,IdP和RP均无法获取用户的身份,也无法借助已认证用户的身份收集用户隐私。
2.根据权利要求1所述的方法,其特征在于,在通用设备上存储所述基于口令的凭证,不需要使用专用设备对凭证进行保护。
3.根据权利要求1所述的方法,其特征在于,步骤2)将口令加密的凭证和标准的统一身份认证协议相结合,实现强认证或者匿名认证。
4.根据权利要求1所述的方法,其特征在于,基于密码白盒或安全硬件,用户端在RP上注册并重用假名,实现用户可控的可链接性,即用户能够自行选择是否重用在认证时使用的假名。
5.一种采用权利要求1~4中任一权利要求所述方法的提供用户友好的强认证和匿名认证的统一身份认证***,其特征在于,包括用户端和验证端;用户端使用口令对凭证进行加密,得到基于口令的凭证并存储;用户端使用基于口令的凭证向验证端进行强认证或者匿名认证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910086040.5A CN111490967B (zh) | 2019-01-29 | 2019-01-29 | 一种提供用户友好的强认证和匿名认证的统一身份认证方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910086040.5A CN111490967B (zh) | 2019-01-29 | 2019-01-29 | 一种提供用户友好的强认证和匿名认证的统一身份认证方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111490967A CN111490967A (zh) | 2020-08-04 |
CN111490967B true CN111490967B (zh) | 2022-02-25 |
Family
ID=71812165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910086040.5A Active CN111490967B (zh) | 2019-01-29 | 2019-01-29 | 一种提供用户友好的强认证和匿名认证的统一身份认证方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111490967B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112953888B (zh) * | 2020-12-29 | 2023-10-31 | 合肥达朴汇联科技有限公司 | 应用于区块链客户端的区块链匿名用户审计方法、*** |
CN113221089B (zh) * | 2021-03-15 | 2023-11-07 | 东北大学 | 基于可验证声明的隐私保护属性认证***及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674304A (zh) * | 2009-10-15 | 2010-03-17 | 浙江师范大学 | 一种网络身份认证***及方法 |
CN104901804A (zh) * | 2014-08-28 | 2015-09-09 | 赵捷 | 一种基于用户自主的标识认证实现方法 |
CN104935608A (zh) * | 2015-07-07 | 2015-09-23 | 成都睿峰科技有限公司 | 一种云计算网络中的身份认证方法 |
CN106341232A (zh) * | 2016-09-18 | 2017-01-18 | 中国科学院软件研究所 | 一种基于口令的匿名实体鉴别方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101329720B (zh) * | 2008-08-01 | 2011-06-01 | 西安西电捷通无线网络通信股份有限公司 | 一种基于预共享密钥的匿名双向认证方法 |
CN104283899B (zh) * | 2014-10-30 | 2017-10-13 | 西安电子科技大学 | 无线网络中基于k‑假名集合的用户匿名身份认证方法 |
-
2019
- 2019-01-29 CN CN201910086040.5A patent/CN111490967B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674304A (zh) * | 2009-10-15 | 2010-03-17 | 浙江师范大学 | 一种网络身份认证***及方法 |
CN104901804A (zh) * | 2014-08-28 | 2015-09-09 | 赵捷 | 一种基于用户自主的标识认证实现方法 |
CN104935608A (zh) * | 2015-07-07 | 2015-09-23 | 成都睿峰科技有限公司 | 一种云计算网络中的身份认证方法 |
CN106341232A (zh) * | 2016-09-18 | 2017-01-18 | 中国科学院软件研究所 | 一种基于口令的匿名实体鉴别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111490967A (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9882717B2 (en) | System and method for generating a server-assisted strong password from a weak secret | |
Acar et al. | Single password authentication | |
Yang et al. | A practical password-based two-server authentication and key exchange system | |
Chattaraj et al. | A new two-server authentication and key agreement protocol for accessing secure cloud services | |
CN106341232B (zh) | 一种基于口令的匿名实体鉴别方法 | |
EP3791533A1 (en) | Password based threshold token generation | |
Farash et al. | Cryptanalysis and improvement of a robust smart card secured authentication scheme on SIP using elliptic curve cryptography | |
Azad et al. | Authentic caller: Self-enforcing authentication in a next-generation network | |
Szalachowski | Password-authenticated decentralized identities | |
Tong et al. | CCAP: a complete cross-domain authentication based on blockchain for Internet of Things | |
CN111490967B (zh) | 一种提供用户友好的强认证和匿名认证的统一身份认证方法和*** | |
Mishra et al. | A provably secure content distribution framework for portable DRM systems | |
Das et al. | A decentralized open web cryptographic standard | |
Abusukhon et al. | An authenticated, secure, and mutable multiple‐session‐keys protocol based on elliptic curve cryptography and text‐to‐image encryption algorithm | |
US20230041237A1 (en) | Key generation and pace with protection against side channel attacks | |
Li et al. | A secure two-factor authentication scheme from password-protected hardware tokens | |
Shin et al. | Security analysis of password-authenticated key retrieval | |
CN110784305B (zh) | 基于不经意伪随机函数和签密的单点登录认证方法 | |
Song et al. | Hardening password-based credential databases | |
CN114389808B (zh) | 一种基于SM9盲签名的OpenID协议设计方法 | |
Wang et al. | Chaotic map-based authentication protocol for multiple servers architecture | |
Hammami et al. | Security issues in cloud computing and associated alleviation approaches | |
Quan et al. | Cryptanalysis of a chaotic chebyshev polynomials based remote user authentication scheme | |
JP5099771B2 (ja) | 二要素認証システム | |
Wang et al. | A Robust Authentication Scheme for Multiple Servers Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |