首页 / 用户认证方法

用户认证方法失效专利 发明

技术领域

[0001] 本发明涉及互联网技术,尤其涉及用户认证。

相关背景技术

[0002] 随着互联网的发展,人们通过传送个人信息获取个性化服务,享受着科学技术所带来的便捷。但信息传递和存储的过程常常存在安全隐患,由于个人信息中包含身份证、邮箱、手机号、口令等敏感信息,若这些内容没有被安全传输或存储,则可能导致攻击者窃取个人信息、服务器跟踪用户隐私等问题。
[0003] 近年来,研究学者提出了匿名口令认证密钥交换协议。这类协议采用口令认证的方式,在用户和服务器之间协商会话密钥。同时,在服务器认证用户的过程中,用户保持匿名状态,而服务器仅能判断该用户是否是合法用户,从而达到了用户匿名登录的目的。
[0004] 现有技术难以抵挡盗取验证攻击。在这类攻击中,攻击者盗取服务器数据库中所存储的口令验证值,并伪装成合法用户进行登录。现有的有些协议中,性能相对比较高效的协议不能有效抵挡这类攻击,而能够抵挡该类攻击的协议,其性能大幅下降,不适合实际应用。

具体实施方式

[0029] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的组件或具有相同或类似功能的组件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0030] 图1示出本发明一实施例的用户认证方法,可由服务器执行,包括:
[0031] ST1、接收用户发送的匿名登录请求,所述匿名登录请求中包括第一加密信息;
[0032] ST2、生成并向用户发送第二加密信息,所述第二加密信息中包括基于所述第一加密信息和所存储的用户的加密身份信息所生成的第一加密认证信息;
[0033] ST3、用户成功验证所述第一加密认证信息后,接收用户发送的第三加密信息,所述第三加密信息中包括基于所述第一加密认证信息生成的第二加密认证信息;以及[0034] ST4、对所述第二加密认证信息进行验证,获得用户认证结果。
[0035] 较佳的,所述用户的加密身份信息为基于服务器密钥及用户注册时发送的口令验证值生成的代数消息认证值。
[0036] 较佳的,所述代数消息认证值Vi利用公式Vi=g1/(m+s)生成,其中g为系统参数中的生成元,m为用户i的口令验证值,s为服务器密钥,其中,所述用户i的口令验证值基于用户i的身份标识和密码生成。
[0037] 较佳的,所述第二加密信息中还包括一索引表tbl={Uj,Wj,Cj}j=1…n,n为注册用户数量,Uj为用户j的标识,Wj基于用户j的加密身份信息及第一加密信息生成,Cj基于用户j的加密身份信息及服务器密钥生成。
[0038] 参阅图2,本发明另一实施例的用户认证方法,其包括以下步骤:
[0039] S1、初始化(图中未示出):服务器初始化系统参数{G,p,g,h},并随机选择服务器的密钥s。其中g和h为具有质数阶p的循环群G的两个生成元,并且,求解h基于g的离散对数是困难的。
[0040] S2、注册阶段:用户Ui向服务器提交自己的注册信息,注册成为合法用户。较佳的,可包括以下步骤:
[0041] S21:用户Ui将自己的身份信息IDi和口令验证值m=H(IDi||PWi)通过安全信道发送给服务器。其中,H(·)是杂凑函数(Hash),IDi和Ui是用户i的标识,PWi是用户i的密码。
[0042] S22:当服务器收到用户Ui发送的信息后,使用服务器密钥s和用户Ui的口令验证值m为用户生成一种代数消息认证值Vi=g1/(m+s),并将{Ui,Vi}保存于数据库中。
[0043] S3、用户登录和验证阶段:注册用户Ui以匿名的方式请求服务器认证,并在认证通过后与服务器达成会话密钥的共识。较佳的,可包括以下步骤:
[0044] S31:用户Ui首先选择随机数a和x,输入IDi和PWi后,计算口令验证值m,并计算A=g–1/mha,X=gx,之后将第一加密信息m1={U,A,X}发送至服务器S,其中U为用户群体标识;
[0045] S32:当服务器收到用户Ui发送的m1后,选择随机数b和y,然后计算B=hb,Y=gy,接着遍历数据库中的用户列表,从中获取{Uj,Vj}j=1…n,n是注册用户数量,并计算Wj=(VjA)b,Cj=(Vj)bsY,然后,服务器将{Uj,Wj,Cj}j=1…n放入索引表tbl中。可以理解的是,服务器可在收到m1前可预处理计算Wj的部分值和Cj。这样,服务器收到m1后可跳过一些计算步骤,直接计算Wj所需的中间值Ab。得到上述值后,服务器计算K=Xy,以及第一加密认证信息VS=H(1||U||A||X||S||B||tbl||Y||K),并将第二加密信息m2={S,B,tbl,VS}发送至Ui,其中S为服务器的标识;
[0046] S33:当用户Ui收到服务器发送的m2后,先通过IDi在tbl中检索得到{Ui,Wi,Ci},并计算Y'=(B–aWi)mCi,K'=(Y')x,然后计算VS'=H(1||U||A||X||S||B||tbl||Y'||K'),之后对计算出的VS'与接收到的VS进行比较,若两者不相等,则验证失败,协议中断;否则,验证通过,用户Ui计算第二加密认证信息VU=H(2||U||A||X||S||B||tbl||Y'||K'),将第三加密信息m3={VU}发送至服务器;
[0047] S34:服务器收到用户Ui发送的m3后,计算VU'=H(2||U||A||X||S||B||tbl||Y||K),之后对计算出的VU'与接收到的VU进行比较,若两者不相等,则验证失败,协议中断;否则,验证通过,服务器相信Ui是注册用户,此时,双方计算得到会话密钥SK=H(U||A||X||S||B||tbl||Y||K)。
[0048] 本发明实施例提供一种基于口令的匿名口令认证密钥交换协议的技术方案,解决了盗取验证攻击的问题,并且在同类安全协议中有更高的性能和效率。本发明采用现有的代数消息认证码,能够高效地抵挡盗取验证攻击,实现了服务器安全高效地认证匿名用户。在结合服务器端的预处理计算时还具备极佳的时间效能,且可以满足常见的安全需求,并抵挡众多已知攻击。
[0049] 在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0050] 以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换。

当前第1页 第1页 第2页 第3页