一种提供用户友好的强认证和匿名认证的统一身份认证方法和系统技术方案

技术编号:25126152 阅读:38 留言:0更新日期:2020-08-05 02:55
本发明专利技术涉及一种提供用户友好的强认证和匿名认证的统一身份认证方法和系统。该方法提供一种基于口令的凭证方案,用户可以通过口令使用其凭证向验证者进行基于“挑战‑应答”模式的强认证或者匿名认证,具体包括系统建立、密钥生成、凭证颁发、凭证获取、生成出示证明、验证出示证明六个算法。该基于口令的凭证方案和标准的统一身份认证协议以及常用的“用户名‑口令”认证方式兼容,不需要使用专用硬件或者对底层的密码学库进行修改,适用于大规模应用及推广。本发明专利技术的统一身份认证系统的效率与使用“用户名‑口令”认证的系统基本相当,能够满足实际应用的性能需求。

【技术实现步骤摘要】
一种提供用户友好的强认证和匿名认证的统一身份认证方法和系统
本专利技术属于计算机技术与信息安全
,涉及使用统一身份认证、零知识证明等方法,使得用户在无专用硬件的情况下实施基于“挑战-应答”机制的强认证和匿名认证。具体表现为一种用户友好、能够提供强认证机制和匿名认证机制的统一身份认证方法和系统。
技术介绍
随着互联网和信息技术的飞速发展,人们已经越来越离不开各种数字化服务以及应用。当用户在网络上使用这些应用和服务时,往往需要向服务提供者(SP)证明自己的身份,在认证通过之后才可进行下一步操作。大多数情况下,SP使用“用户名-口令”认证机制,其优势在于用户只需要记忆口令即可向SP进行认证,但SP一般都会将用户凭证集中存放于服务器上,使其在数据泄露事件中可能被大规模地泄露,威胁众多用户的账户安全。为了减少用户同时管理多个凭证的负担,目前许多服务提供商都已经建立了统一身份认证系统。此类系统允许用户使用由一个身份提供者(IdP)管理的身份访问多个依赖方(RP)提供的服务,即用户可以通过一个凭证访问多种服务。目前大多数运营的统一身份认证系统仍然使用“用户名-口令”认证机制,这使得用户凭证面临大规模泄露的风险。统一身份认证系统中的凭证泄露会造成更为严重的危害,攻击者能够利用泄露的凭证同时登录多个RP并使用其提供的服务,从而导致用户在多个RP注册的账户在一次数据泄露事件中同时被攻破。“用户名-口令”认证机制导致的另一重风险是用户隐私泄露:这一机制需要用户将其身份信息显式地发送给SP,使得属于用户的隐私数据很容易被收集、泄露甚至转卖。在这一背景下,匿名认证受到业界的广泛关注,即:服务提供方能够确认用户是已经注册的合法用户,但无法获取其具体身份,也无法判断两次会话是否由同一用户参与。特别地,随着区块链技术的发展,一系列提供匿名功能的加密货币已经被公众所熟知和接受,超级帐本也提供了匿名成员服务功能。目前已有的匿名认证方案均需要用户使用专用硬件对秘密信息进行保护,或需要对系统底层的库函数实现进行修改,难以直接运行于通用设备上并兼容现有系统。为了解决传统认证中集中式凭证存储而导致的大规模泄露风险,FIDO联盟提出了一项称为FIDO统一认证框架(UAF)的协议,提供基于数字签名和“挑战-响应”机制的强认证方案。FIDOUAF可消除用户凭证大规模泄露的风险,增强用户认证过程的安全性。然而,为了保护用户私钥,FIDOUAF同样需要用户使用专用硬件(称为FIDO认证器)进行认证。这意味着用户需要随时携带专用设备,而不能通过通用设备实施认证,如果专用设备遭损坏或者丢失,认证过程也无法进行。从隐私保护的角度看,FIDOUAF还不能实现真正的匿名认证,服务器仍然可以在用户每次登陆时获取用户已注册的身份并收集用户的隐私。为了解决统一身份认证系统的隐私泄露问题,一些隐私尊重的协议被研发(如BrowserID和SPRESSO),以保证IdP无法在认证过程中获取用户登录的具体RP。此类系统均独立于广泛应用的统一身份认证标准,在设计时仍然采用“用户名-口令”认证机制,难以避免集中式存储带来的泄露风险;此外,IdP和RP仍然可以获取用户的身份,并收集隐私信息。基于此,一种不需要用户使用专用硬件、能够同时提供强认证和匿名认证,并且兼容于现有广泛部署的统一身份认证系统是被高度期望的。
技术实现思路
本专利技术的贡献在于提供了一种基于口令的凭证方案以及一种提供强认证/匿名认证的统一身份认证方法和系统。本专利技术包括以下两个方面的内容:一、基于口令的凭证方案本专利技术提供一种基于口令的凭证方案,用户可以通过口令使用其凭证向验证者进行基于“挑战-应答”模式的强认证或者匿名认证,具体包括系统建立、密钥生成、凭证颁发、凭证获取、生成出示证明、验证出示证明六个算法。该方案的一般性质包括:1)用户使用口令对凭证进行加密,并可在通用设备上存储使用口令加密后的凭证,不需要使用专用设备对凭证进行保护。本专利技术所述“凭证”是指用户向SP进行认证时用于证明自己身份的信息。2)口令加密的凭证可以抵抗离线攻击,即敌手不能通过对口令加密的凭证实施离线字典攻击从而获取凭证。3)用户可以使用同一个凭证向验证者实施基于“挑战-响应”机制的强认证或者匿名认证,即同一凭证可以使用不同方式出示。4)验证者不需要保存用户凭证,避免了凭证集中式存储导致的数据泄露风险。5)用户需要通过输入正确口令解密凭证后才可以向验证者进行认证。6)用户可以随时对其加密凭证的口令进行更新,这一过程不需要与服务器(即验证者)进行交互。二、提供强认证和匿名认证的统一身份认证方法本专利技术中提出一种提供强认证/匿名认证的统一身份认证方法,该方法将内容一中的基于口令的凭证方案和标准的统一身份认证协议(如OpenIDConnect)相结合,其基本性质包括:1)用户在IdP上注册基于口令的凭证,并可利用这一凭证访问多个RP。2)用户可以使用同一凭证向IdP进行基于“挑战-响应”机制的强认证/匿名认证,并进一步访问RP。3)IdP和RP均无需集中保存用户凭证。4)在实施匿名认证的过程中,IdP和RP均无法获取用户的身份,也无法借助已认证用户的身份收集用户隐私。5)可以与OpenIDConnect等统一身份认证协议以及常用的“用户名-口令”认证方式兼容,可以和“用户名-口令”方式同时在系统中被使用,不需要使用专用硬件或者对底层的密码学库进行修改。6)基于密码白盒或安全硬件,用户可在RP上注册并重用假名,实现用户可控的(不)可链接性,即用户可以自行选择是否重用在认证时使用的假名。具体来说,本专利技术采用的技术方案如下:一种提供用户友好的强认证和匿名认证的统一身份认证方法,包括以下步骤:1)用户端使用口令对凭证进行加密,得到基于口令的凭证并存储;2)用户端使用基于口令的凭证向验证端进行强认证或者匿名认证。进一步地,在通用设备上存储所述基于口令的凭证,不需要使用专用设备对凭证进行保护。进一步地,所述用户端随时对其加密凭证的口令进行更新,更新过程不与验证端进行交互;所述验证端不保存用户端的凭证,以避免凭证集中式存储导致的数据泄露风险。进一步地,步骤1)通过调用代数消息认证码方案以及口令加密方案,得到所述基于口令的凭证。进一步地,步骤1)包括6个算法:系统建立、密钥生成、凭证颁发、凭证获取、生成出示证明、验证出示证明,分别记作Setup,KeyGen,Issue,Obtain,Show,ShowVerify:Setup(1λ):输入安全参数λ,该算法根据该安全参数选取并输出域参数(p,g),其中是阶数为p的循环群,p是至少为2λ比特的素数,g是群的生成元;KeyGen(pp):输入公共参数pp,该算法调用代数消息认证码方案中的Gen算法生成公开参数par和私钥sk,其中par对参与方案的用户是公开可见的;Obtain本文档来自技高网
...

【技术保护点】
1.一种提供用户友好的强认证和匿名认证的统一身份认证方法,其特征在于,包括以下步骤:/n1)用户端使用口令对凭证进行加密,得到基于口令的凭证并存储;/n2)用户端使用基于口令的凭证向验证端进行强认证或者匿名认证。/n

【技术特征摘要】
1.一种提供用户友好的强认证和匿名认证的统一身份认证方法,其特征在于,包括以下步骤:
1)用户端使用口令对凭证进行加密,得到基于口令的凭证并存储;
2)用户端使用基于口令的凭证向验证端进行强认证或者匿名认证。


2.根据权利要求1所述的方法,其特征在于,在通用设备上存储所述基于口令的凭证,不需要使用专用设备对凭证进行保护。


3.根据权利要求1所述的方法,其特征在于,所述用户端随时对其加密凭证的口令进行更新,更新过程不与验证端进行交互;所述验证端不保存用户端的凭证,以避免凭证集中式存储导致的数据泄露风险。


4.根据权利要求1所述的方法,其特征在于,步骤1)通过调用代数消息认证码方案以及口令加密方案,得到所述基于口令的凭证。


5.根据权利要求4所述的方法,其特征在于,步骤1)包括6个算法:系统建立、密钥生成、凭证颁发、凭证获取、生成出示证明、验证出示证明,分别记作Setup,KeyGen,Issue,Obtain,Show,ShowVerify,其中:
Setup(1λ):输入安全参数λ,该算法根据该安全参数选取并输出域参数其中是阶数为p的循环群,p是至少为2λ比特的素数,g是群的生成元;
KeyGen(pp):输入公共参数pp,该算法调用代数消息认证码方案中的Gen算法生成公开参数par和私钥sk,其中par对参与方案的用户是公开可见的;

其中uid为用户标识符,pw为口令;Obtain和Issue以交互的方式在用户和凭证颁发者之间运行,用户在颁发者处注册并获得基于口令的凭证;
Show(tag,par,uid,pw,[σ]pw,M):其中tag为标签,根据标签值采用不同的方式生成出示证明,[σ]pw为口令加密后的凭证;该算法由已注册了基于口令的凭证的用户执行,用于向验证者实施认证,该算法计算σ←Dec(pw,[σ]pw),之后使用uid,σ生成关于消息M的出示证明∑←ShowMAC(tag,par,uid,σ,M);根据用户希望实施强认证还是匿名认证,输入tag的相应标签值;
ShowVerify(sk,uid,M,T):该算法由验证者执行,...

【专利技术属性】
技术研发人员:张振峰王宇辰
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:北京;11

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

1