首页> 中国专利> 一种基于智能卡的远程用户密码双重验证方法

一种基于智能卡的远程用户密码双重验证方法

摘要

本发明公开了一种基于智能卡的远程用户密码双重验证方法,包括注册步骤、登录步骤和认证步骤,其中,注册步骤进一步包括,智能卡和服务器将用户所提供的注册信息变换后存入智能卡;登录步骤进一步包括,智能卡对用户身份进行本地合法性验证,如果合法,智能卡生成第一验证数据,并将其发送给服务器;认证步骤进一步包括,服务器对用户身份进行合法性验证,如果合法,则生成第二验证数据,并将其发送给智能卡,智能卡对服务器身份进行合法性验证,如果合法,则生成第三验证数据,并将其发送给服务器,同时生成会话密钥,服务器对用户身份进行二次验证,如果合法,则生成会话密钥。实现了用户匿名,能够抵抗智能卡丢失攻击,克服了拒绝服务器攻击。

著录项

  • 公开/公告号CN103338202A

    专利类型发明专利

  • 公开/公告日2013-10-02

    原文格式PDF

  • 申请/专利权人 山东科技大学;

    申请/专利号CN201310275718.7

  • 申请日2013-07-02

  • 分类号H04L29/06(20060101);H04L9/32(20060101);

  • 代理机构11228 北京汇泽知识产权代理有限公司;

  • 代理人张瑾

  • 地址 266510 山东省青岛市黄岛区前湾港路579号

  • 入库时间 2024-02-19 20:25:55

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-10-26

    授权

    授权

  • 2013-11-06

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20130702

    实质审查的生效

  • 2013-10-02

    公开

    公开

说明书

技术领域

本发明涉及信息安全与通信技术领域,特别涉及一种基于智能卡的远 程用户密码双重验证方法。

背景技术

1990年,Hwang,Chen和Laih等人提出基于智能卡的密码认证方法。 在他们的方法中用户信息被存放在智能卡中,而远程服务器不需要再存放 含有用户私密信息的密码表。

1993年,Chang-Wu介绍了一种基于智能卡的公钥密码认证方法,该 方法不仅需要公钥目录,还拥有很大的计算量。后来,许多研究者相继提 出了许多基于智能卡的无公钥密码认证方法。然而,以上几种方法通常都 是将秘密参数直接存在智能卡中,一旦参数泄露,用户很容易遭受离线字 典猜测攻击。

2004年,Das et al.提出一种基于智能卡的动态ID远程用户身份认证 方法。2009年,Wang et al.提出一种新的方法,并声称该方法相比Das et al. 的方法具有更高的安全性和更低的计算量。

然而,Khan et al.发现Wang et al.提出的方法仍然存在安全性缺陷,同 时提出一种改进的方法。2010年,He et al.指出Khan et al.提出的方法仍然 不能抵抗三种攻击类型。因此,Das et al.以及以上所提出的方法都存在安 全性缺陷。

2012年,Qi Xie提出一种新的基于智能卡的公钥体制认证方法,声称 其提出的方法不仅能够抵御各种攻击,并且能够减少计算量。实际上Qi  Xie所提出的方法不能实现用户匿名,不能抵御重放攻击、拒绝服务器攻 击和智能卡丢失攻击等。

发明内容

本发明的目的是提供一种基于智能卡的远程用户密码双重验证方法。 具有匿名性,能够抵抗拒绝服务器攻击,用户假冒攻击和智能卡丢失攻击。

为达到上述目的,本发明采用如下技术方法:

一种基于智能卡的远程用户密码双重验证方法,包括注册步骤、登录 步骤和认证步骤,其中,注册步骤进一步包括,智能卡和服务器将用户所 提供的注册信息变换后存入智能卡;登录步骤进一步包括,所述智能卡根 据用户提供的身份标识和口令进行本地合法性验证,如果智能卡验证用户 合法,所述智能卡生成第一验证数据,并将第一验证数据发送给服务器; 认证步骤进一步包括,所述服务器根据所接收到的第一验证数据对用户身 份进行合法性验证,如果所述服务器验证用户身份合法,则生成用于验证 服务器身份的第二验证数据,并将第二验证数据发送给智能卡,所述智能 卡根据接收到的第二验证数据对服务器身份进行合法性验证,如果智能卡 验证服务器身份合法,则生成第三验证数据,并将第三验证数据发送给服 务器,同时生成会话密钥,所述服务器根据接收到的第三验证数据对用户 身份进行第二次验证,如果服务器验证用户身份合法,则生成会话密钥。

进一步地,一种基于智能卡的远程用户密码双重验证方法,注册步骤 进一步包括,智能卡根据IDi、PWi和随机数N,计算密码保护参数 RPWi=h(PWi||N),然后将IDi和RPWi通过安全信道发送给服务器S,服务器 使用自己的密钥x计算身份保护参数N0=h(IDi)xmodp,验证参数 Ti=h(IDi||RPWi),比较参数Hi=h(Ti),身份唯一参数Ni=N0⊕h(RPWi),然后 将{Ni,h(.),Hi}和随机数N存入智能卡,其中,IDi为第i个用户Ui的用户的 身份标识、PWi为用户Ui的口令、N为用户Ui输入的随机数。

进一步地,一种基于智能卡的远程用户密码双重验证方法,登录步骤 进一步包括,智能卡根据用户Ui所输入的IDi*和计算同形验证参数 和同形比较参数并比较Hi*与Hi是否相等,若 不等,则中止此次登录,若相等,则智能卡产生随机数b,k,计算随机数 保护参数Ns=gkmodp,动态身份CIDi=h(IDi)bmodp,验证参数 C0=(Ni⊕h(PWi||N))b,比较参数Mi=(CIDi||C0||Ns),然后将第一验证参数 {CIDi,Ns,Mi}发给服务器。

进一步地,一种基于智能卡的远程用户密码双重验证方法,认证步骤 进一步包括,服务器根据所接收到的第一验证数据,计算同形验证参数 同形比较参数Mi*=h(CIDi||C0*||Ns),并比较同形比较参数 和比较参数Mi是否相等,若不等,则中止此次会话,若相等,则认为用户 合法,服务器产生随机数d,并计算隐藏随机数参数Nu=gdmodp,以及验 证参数C1=h(Nsd||Nu||C0*),将第二验证数据{C1,Nu}发送给智能卡;智能卡接 收到第二验证数据后,计算同形验证参数C1*=h(Nuk||Nu||C0),并与所接收 到的C1进行比较,若不等,则中止此次会话,若相等,则认为服务器合法, 然后计算比较参数并将其发送给服务器,服务器计算同形比较 参数h(Nsd+1),并对这两者进行比较,若不等,则中止会话,若相等,则 服务器再次认证用户合法,其中,第三验证数据是

进一步地,一种基于智能卡的远程用户密码双重验证方法,服务器根 据SK=h(Nuk+2)生成会话密钥,智能卡根据SK=h(Nsd+2)生成会话密钥。

本发明所提供的基于智能卡的远程用户密码双重验证方法,由于采用 了更改智能卡存储信息的方式,不仅实现了用户匿名,而且能够抵抗智能 卡丢失攻击,同时由于增加了本地验证步骤,克服了拒绝服务器攻击和用 户假冒攻击。除此之外,还由于采用对密码双重验证的方式,有效抵御了 重放攻击。

附图说明

图1是本发明的一个具体实施例中注册步骤的示意图;

图2是本发明的一个具体实施例中登录和认证步骤的示意图。

具体实施方式

为了使本发明的目的、技术方法及优点更加清楚明白,下面结合附图 及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体 实施例仅用以解释本发明,并不用于限定本发明。

在本发明提出的基于智能卡的远程用户密码双重验证方法中,包括两 个参与方:用户Ui和服务器S,服务器产生私钥x;

一种基于智能卡的远程用户密码双重验证方法,包括注册步骤、登录 步骤和认证步骤,其中,注册步骤进一步包括,智能卡和服务器将用户所 提供的注册信息变换后存入智能卡;登录步骤进一步包括,智能卡根据用 户提供的身份标识和口令进行本地合法性验证,如果智能卡验证用户合 法,智能卡生成第一验证数据,并将第一验证数据发送给服务器;认证步 骤进一步包括,服务器根据所接收到的第一验证数据对用户身份进行合法 性验证,如果服务器验证用户身份合法,则生成用于验证服务器身份的第 二验证数据,并将第二验证数据发送给智能卡,智能卡根据接收到的第二 验证数据对服务器身份进行合法性验证,如果智能卡验证服务器身份合 法,则生成第三验证数据,并将第三验证数据发送给服务器,同时生成会 话密钥,服务器根据接收到的第三验证数据对用户身份进行第二次验证, 如果服务器验证用户身份合法,则生成会话密钥。在该实施例中,由于采 用了更改智能卡存储信息的方式,不仅实现了用户匿名,而且能够抵抗智 能卡丢失攻击,同时由于增加了本地验证步骤,克服了拒绝服务器攻击和 用户假冒攻击。

进一步地,一种基于智能卡的远程用户密码双重验证方法,注册步骤 进一步包括,智能卡根据IDi、PWi和随机数N,计算密码保护参数 RPWi=h(PWi||N),然后将IDi和RPWi通过安全信道发送给服务器S,服务器 使用自己的密钥x计算身份保护参数N0=h(IDi)xmodp,验证参数 Ti=h(IDi||RPWi),比较参数Hi=h(Ti),身份唯一参数Ni=N0⊕h(RPWi),然后 将{Ni,h(.),Hi}和随机数N存入智能卡,其中,IDi为第i个用户Ui的用户的 身份标识、PWi为用户Ui的口令、N为用户Ui输入的随机数。

进一步地,一种基于智能卡的远程用户密码双重验证方法,登录步骤 进一步包括,智能卡根据用户Ui所输入的IDi和PWi,计算同形验证参数 和同形比较参数并比较Hi*与Hi是否相等,若 不等,则中止此次登录,若相等,则智能卡产生随机数b,k,计算随机数 保护参数Ns=gkmodp,动态身份CIDi=h(IDi)bmodp,验证参数 C0=(Ni⊕h(PWi||N))b,比较参数Mi=(CIDi||C0||Ns),然后将第一验证参数 {CIDi,Ns,Mi}发给服务器。

进一步地,一种基于智能卡的远程用户密码双重验证方法,认证步骤 进一步包括,服务器根据所接收到的第一验证数据,计算同形验证参数 同形比较参数Mi*=h(CIDi||C0*||Ns),并比较同形比较参数和 比较参数Mi是否相等,若不等,则中止此次会话,若相等,则认为用户合 法,服务器产生随机数d,并计算隐藏随机数参数Nu=gdmodp,以及验证 参数C1=h(Nsd||Nu||C0*),将第二验证数据{C1,Nu}发送给智能卡;智能卡接收 到第二验证数据后,计算同形验证参数C1*=h(Nuk||Nu||C0),并与所接收到 的C1进行比较,若不等,则中止此次会话,若相等,则认为服务器合法, 然后计算比较参数并将其发送给服务器,服务器计算同形比较参 数h(Nsd+1),并对这两者进行比较,若不等,则中止会话,若相等,则服 务器再次认证用户合法,其中,第三验证数据是

作为本发明的一个具体实施例,一种基于智能卡的远程用户密码双重 验证方法包括三个步骤,注册步骤、登录步骤和认证步骤。

如图1所示,注册步骤具体为,用户Ui选择自己的身份IDi和密码PWi, 随机数N,智能卡计算密码保护参数RPWi=h(PWi||N),然后将IDi和RPWi通 过安全信道发送给服务器S,服务器用自己的密钥x计算身份保护参数 N0=h(IDi)xmodp,验证参数Ti=h(IDi||RPWi),比较参数Hi=h(Ti),身份唯一 参数Ni=N0⊕h(RPWi),然后将{Ni,h(.),Hi}存入智能卡并通过安全信道将智 能卡返回给用户,用户将随机数N存入智能卡。根据幂指数运算,已知IDi 和p的情况下,由x求N0容易进行,反过来,由N0求x是十分困难的, 其中参数p是可以任意指定的大素数,其值越大越能够保证x的安全性。

如图2所示,登录步骤具体为,用户Ui将自己智能卡插入读卡器中, 输入自己的IDi*和PWi*,智能卡计算同形验证参数和同形比 较参数将Hi*同Hi对比,若不等,则中止此次登录,若相等, 智能卡产生随机数b,k,计算随机数保护参数Ns=gkmodp,动态身份 CIDi=h(IDi)bmodp,验证参数C0=(Ni⊕h(PWi||N))b,比较参数 Mi=(CIDi||C0||Ns),然后将第一验证参数{CIDi,Ns,Mi}发给服务器。

认证步骤具体为,服务器接收登录请求信息后,计算同形验证参数 同形比较参数Mi*=h(CIDi||C0*||Ns),将同形比较参数和接收 到的比较参数Mi对比,若不等,则中止此次对话,若相等,则认为用户合 法,服务器产生随机数d,并计算隐藏随机数参数Nu=gdmodp,和验证参 数C1=h(Nsd||Nu||C0*),将第二验证数据{C1,Nu}发给智能卡,智能卡接收到信 息后,计算同形验证参数C1*=h(Nuk||Nu||C0),同接收到的C1对比,若不等, 则中止此次会话,若相等,则认为服务器合法。然后智能卡计算比较参数 将其发送给服务器,然后产生会话密钥SK=h(Nsd+2),服务器计 算同形比较参数h(Nsd+1),将这两者对比,若不等,中止会话,若相等, 则服务器再次认证用户身份合法,生成会话密钥SK=h(Nuk+2)。其中,第 三验证数据是

综上所述,本发明所提供的基于智能卡的远程用户密码双重验证方 法,由于采用了更改智能卡存储信息的方式,不仅实现了用户匿名,而且 能够抵抗智能卡丢失攻击,同时由于增加了本地验证步骤,克服了拒绝服 务器攻击和用户假冒攻击。除此之外,还由于采用对密码双重验证的方式, 有效抵御了重放攻击。

以上所述仅为本发明的较佳实施例,并非用来限定本发明的实施范 围;如果不脱离本发明的精神和范围,对本发明进行修改或者等同替换, 均应涵盖在本发明权利要求的保护范围当中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号