一种采用口令变换的网络身份认证方法

文档序号:7684457阅读:228来源:国知局
专利名称:一种采用口令变换的网络身份认证方法
技术领域
本发明涉及信息安全领域,是利用口令变换来进行网络身份认证,该技术 方法可以防止非法或越权的网络访问,适用于政府、银行、证券、保险、网游、 博客、电子邮件等各种网站。
背景技术
目前,绝大多数网络身份认证系统都是基于口令的,口令的泄露将直接导 致非法或越权访问的成功。口令泄露的主要方式有键盘监听(攻击者通过植 入用户计算机的病毒或木马程序监听用户的键盘或鼠标操作)、通信窃取(攻击 者截获在网络上公开传输的口令内容)和外部泄露(攻击者通过网络以外的方 式获得他人口令,例如用户在银行ATM终端操作时被攻击者偷窥)。由于现有的 绝大多数网络身份认证系统的口令都是相对固定的,攻击者一旦获得口令,便 可以伪装成合法用户发出认证请求或者利用重放攻击进行非法访问或越权访 问。此类事件在网络上较为泛滥,例如各类IM(即时通讯软件,例如QQ和MSN) 帐号、网络银行帐号、网游帐号等被盗用事件屡有发生,给网络信息安全以及 网站的正常运营带来很大威胁。从现有技术手段来看,目前主要采用硬件手段,例如USB令牌、同步动态 密码生成器等;或者复杂的加密解密技术,例如数字签名、零知识技术、较长 的密钥等来应付上述问题。硬件手段的缺点在于成本过高、用户使用不方便(须 随身携带),复杂加解密技术则是以消耗过多的处理器资源和通信资源为代价 的。发明内容本发明所述的网络身份认证方法采用口令变换的方式,让用户和服务器事 先设定算法,再分别用该算法对一串随机字符串进行更改,通过比较两者的更 改结果是否一致来进行身份认证。本发明可细分为三个并列的发明,三者中的每一个都可以作为独立的方案 独立地实现该发明的有益效果,其技术方案分别如下方案1.服务器端提供用以支持用户在线设定算法的操作界面,用户即在此界面上与服务器约定算法,该算法的用途是将一段随机字符串更改为另一段字 符串,更改的基本方式包括替代、置换、删除和插入,该算法具体来说是对随 机字符串中一个位置或先后多个位置的字符进行这四种更改中的一种更改或先后多种更改的组合;约定完成之后,服务器将算法以固定程序的形式存放在服 务器端存储器中与用户名对应的存储区域,用户则需自行记住该算法。用户进行身份认证时,先在客户端将用户名通过网络发送至服务器端,服 务器端接收到用户名之后,产生一段随机字符串,并将该随机字符串通过网络 发送至客户端,同时使用与用户事先约定好的算法对该随机字符串进行更改, 将更改所得作为比较码M1;用户接收到该随机字符串之后,也使用事先约定好 的相同的算法对该随机字符串进行更改,将更改所得的新字符串作为认证码 M2,作为认证参数,通过网络发送给服务器;服务器将比较码M1和认证码M2 进行比较,相同则为合法用户,不同则为非法用户。拿该字符串由26个英文小 写字母、26个英文大写字母以及10个阿拉伯数字组成来说,只要随机字符串长 度达到6位便有560多亿种可能,即使某用户每天认证100次,连续认证100 年,出现相同随机字符串的概率仍不会超过e-7数量级,理论上完全可以保证同 一用户永远不会收到两次同样的随机字符串。这样一来,即使攻击者利用键盘 监听或者通信窃取或者另外某种渠道获得了该合法用户某次认证的认证码,由 于该认证码并不能和攻击者收到的随机字符串匹配,也就不会和服务器得出的 比较码一致,所以该参数不会帮助攻击者非法认证成功。方案2.首先,同于方案l,服务器端提供用以支持用户在线设定算法的操 作界面,用户须事先在此界面上与服务器约定算法,该算法的用途是将一段随 机字符串更改为另一段字符串,更改的基本方式包括替代、置换、删除和插入, 该算法具体来说是对随机字符串中一个位置或先后多个位置的字符进行这四种 更改中的一种更改或先后多种更改的组合;约定完成之后,服务器将算法以固 定程序的形式存放在服务器端存储器中与用户名对应的存储区域,用户则需自 行记住该算法。.然后,用户在客户端提出认证请求时,客户端软件生成一段随机字符串, 用户使用与服务器事先约定好的算法对该随机字符串进行更改,将更改所得作 为认证码M1,连同用户名和所述随机字符串一起,作为认证参数,通过网络发 送给服务器;服务器接收到该认证参数之后,首先在以往记录中进行检索比对, 以判断该次认证参数中的随机字符串以往是否曾被该用户发送给服务器过,如 果判断结果是该次的随机字符串以往未曾被该用户发送给服务器过,则服务器将该次的随机字符串存储至服务器端存储器上与用户名对应的存储区域,留作 以后的检索比对之用,然后也使用事先约定好的相同的算法对该随机字符串进行更改,将更改所得的新字符串作为比较码M2,并将M2和认M1进行比较, 相同则为合法用户,不同则为非法用户;如果判断结果是该次的随机字符串以 往曾经被该用户发送给服务器过,则视此次认证请求为非法,拒绝认证请求。 同于方案1中的理由,客户端软件产生的随机字符串理论上不可能重复,所以 服务器若第二次收到某用户发来的随机字符串,便会视之为攻击者的非法认证 请求并拒绝认证。这样一来攻击者获取的某用户的某次认证参数并不能帮助攻 击者非法认证成功。方案3.首先仍然同于方案1,服务器端提供用以支持用户在线设定算法的操 作界面,用户须事先在此界面上与服务器约定算法,该算法的用途是将一段随 机字符串更改为另一段字符串,更改的基本方式包括替代、置换、删除和插入, 该算法具体来说是对随机字符串中一个位置或先后多个位置的字符进行这四种 更改中的一种更改或先后多种更改的组合;约定完成之后,服务器将算法以固 定程序的形式存放在服务器端存储器中与用户名对应的存储区域,用户则需自 行记住该算法。然后,用户进行身份认证时,先在客户端将认证请求发送给服务器,服务 器端在接收到认证请求后,产生一段随机字符串以及该随机字符串的编号,并 将二者通过网络发送至客户端,同时将该字符串和编号保存,并且建立编号与 随机字符串之间的指向关系;用户接收到该随机字符串和编号之后,使用与服 务器端事先约定好的算法对该随机字符串进行更改,将更改所得作为认证码 Ml,连同用户名和随机字符串编号一起,作为认证参数,通过网络发送给服务 器;服务器接收到该认证参数后,依据其中的随机字符串编号选择对应的随机 字符串,然后也使用事先约定好的相同的算法对该随机字符串进行更改,将更 改所得作为比较码M2,再将M2和M1进行比较,相同则为合法用户,不同则 为非法用户;认证结束之后,无论结果如何,服务器立即破坏编号与随机字符 串之间的指向关系,使编号无效。由于在此方案中,服务器依据随机字符串编 号选择存储下来的随机字符串,而该随机字符串编号在每次认证结束后都会被 销毁,即只在一次认证中有效,所以即使攻击者获得认证参数,其伪装成合法 用户的再次认证或者重放攻击也不会成功。补充一点,对于上述三种方案中的任何一种,字典式攻击同样无效。因为 依据随机字符串得来的认证码必然同样是没有规律的,不会包含生日、固有单词等等易于猜测的字符。


图h上述方案l的流程图。 图2:上述方案2的流程图。 图3:上述方案3的流程图。
具体实施方式
以下结合

本发明的具体实施方式
。图1:说明用户先在客户端通过网络发送用户名给服务器端,服务器端收到 用户名后生成一段随机字符串并通过网络发送给用户,同时使用与用户事先约 定好的算法对该随机字符串进行更改得到比较码M1;用户收到随机字符串后, 也使用事先约定好的相同算法对该随机字符串进行更改得到认证码M2,再将M2作为认证参数通过网络发送给服务器,服务器比较M1和M2是否相同,若 相同则为合法用户;否则为非法用户。图2:说明用户在客户端提出认证请求后,客户端软件生成一段随机字符串, 用户使用与服务器事先约定好的算法对该随机字符串进行更改,将更改所得作 为认证码M1,连同用户名和所述随机字符串一起,作为认证参数,通过网络发 送给服务器;服务器接收到该认证参数之后,首先在以往记录中进行检索比对, 以判断该次认证参数中的随机字符串以往是否曾被该用户发送给服务器过,如 果判断结果是该次的随机字符串以往曾经被该用户发送给服务器过,则视此次 认证请求为非法,拒绝认证请求;如果判断结果是该次的随机字符串以往未曾 被该用户发送给服务器过,则服务器将该次的随机字符串存储至服务器端存储 器上与用户名对应的存储区域,留作以后的检索比对之用,然后也使用事先约 定好的相同的算法对该随机字符串进行更改,将更改所得的新字符串作为比较 码M2,并将M1和M2进行比较,相同则为合法用户,不同则为非法用户。图3:说明用户在客户端通过网络将认证请求发送给服务器,服务器在接 收到认证请求后,产生一段随机字符串以及该随机字符串的编号,并将二者通 过网络发送至客户端,同时将该字符串和编号保存,并且建立编号与随机字符 串之间的指向关系;用户接收到该随机字符串和编号之后,使用与服务器端事 先约定好的算法对该随机字符串进行更改,将更改所得的新字符串作为认证码Ml,连同用户名和随机字符串编号一起,作为认证参数,通过网络发送给服务 器;服务器接收到该认证参数后,依据其中的随机字符串编号选择对应的随机 字符串,然后也使用事先约定好的相同的算法对该随机字符串进行更改,将更 改所得作为比较码M2,再将M1和M2进行比较,相同则为合法用户,不同则 为非法用户;认证结束之后,无论结果如何,服务器立即破坏编号与随机字符 串之间的指向关系,使编号无效。
权利要求
1.一种采用口令变换的网络身份认证方法,是利用计算机和网络技术来实现,其特征是用户在客户端将用户名通过网络发送至服务器端并提出认证请求,服务器端接收到用户名之后,产生一段随机字符串,并将该随机字符串通过网络发送至客户端,同时使用与用户事先约定好的算法对该随机字符串进行更改,将更改所得作为比较码;用户接收到该随机字符串之后,也使用事先约定好的相同的算法对该随机字符串进行更改,将更改所得的新字符串作为认证码,作为认证参数,通过网络发送给服务器;服务器将比较码和认证码进行比较,相同则为合法用户,不同则为非法用户。
2. 根据权利1要求的方法,其特征是用户须事先与服务器约定算法,该 算法的用途是将所述随机字符串更改为另一段字符串,更改的基本方式包括替 代、置换、删除和插入,该算法是对随机字符串中一个位置或先后多个位置的 字符进行这四种更改中的一种更改或先后多种更改的组合;约定完成之后,算 法以固定程序的形式存放在服务器端存储器中与用户名对应的存储区域。
3. 根据权利1或2要求的方法,其特征是服务器端提供用以支持用户在 线设定所述算法的操作界面。
4. 一种采用口令变换的网络身份认证方法,是利用计算机和网络技术来实 现,其特征是用户在客户端提出认证请求后,客户端软件生成一段随机字符 串,用户使用与服务器事先约定好的算法对该随机字符串进行更改,将更改所 得作为认证码,连同用户名和所述随机字符串一起,作为认证参数,通过网络 发送给服务器;服务器接收到该认证参数之后,首先在以往记录中进行检索比 对,以判断该次认证参数中的随机字符串以往是否曾被该用户发送给服务器过, 如果判断结果是该次的随机字符串以往未曾被该用户发送给服务器过,则服务 器将该次的随机字符串存储至服务器端存储器上与用户名对应的存储区域,留 作以后的检索比对之用,然后也使用事先约定好的相同的算法对该随机字符串 进行更改,将更改所得的新字符串作为比较码,并将比较码和认证码进行比较, 相同则为合法用户,不同则为非法用户;如果判断结果是该次的随机字符串以 往曾经被该用户发送给服务器过,则视此次认证请求为非法,拒绝认证请求。
5.根据权利4要求的方法,其特征是用户须事先与服务器约定算法,该 算法的用途是将所述随机字符串更改为另一段字符串,更改的基本方式包括替 代、置换、删除和插入,该算法是对随机字符串中一个位置或先后多个位置的 字符进行这四种更改中的一种更改或先后多种更改的组合;约定完成之后,算 法以固定程序的形式存放在服务器端存储器中与用户名对应的存储区域。
6. 根据权利4或5要求的方法,其特征是服务器端提供用以支持用户在 线设定所述算法的操作界面。
7. —种采用口令变换的网络身份认证方法,是利用计算机和网络技术来实现,其特征是服务器端在接收到用户在客户端提出的认证请求后,产生一段 随机字符串以及该随机字符串的编号,并将二者通过网络发送至客户端,同时 将该字符串和编号保存,并且建立编号与随机字符串之间的指向关系;用户接 收到该随机字符串和编号之后,使用与服务器端事先约定好的算法对该随机字 符串进行更改,将更改所得的新字符串作为认证码,连同用户名和随机字符串 编号一起,作为认证参数,通过网络发送给服务器;服务器接收到该认证参数 后,依据其中的随机字符串编号选择对应的随机字符串,然后也使用事先约定 好的相同的算法对该随机字符串进行更改,将更改所得作为比较码,再将比较 码和认证码进行比较,相同则为合法用户,不同则为非法用户;认证结束之后, 无论结果如何,服务器立即破坏编号与随机字符串之间的指向关系,使编号无 效。
8. 根据权利7要求的方法,其特征是客户端接收到服务器发送过来的随 机字符串和编号后,保持编号对用户不可视,而使随机字符串对用户可视。
9. 根据权利7要求的方法,其特征是用户须事先与服务器约定算法,该 算法的用途是将所述随机字符串更改为另一段字符串,更改的基本方式包括替 代、置换、删除和插入,该算法是对随机字符串中一个位置或先后多个位置的 字符进行这四种更改中的一种更改或先后多种更改的组合;约定完成之后,算法以固定程序的形式存放在服务器端存储器中与用户名对应的存储区域。
10. 根据权利8或9要求的方法,其特征是服务器端提供用以支持用户在线设定所述算法的操作界面。
全文摘要
一种采用口令变换的网络身份认证方法,是利用计算机和网络技术来实现,用户和服务器事先约定算法,该算法是对随机字符串中一个位置或先后多个位置的字符进行替代、置换、删除和插入这四种基本更改中的一种更改或先后多种更改的组合,认证过程中用户和服务器都使用该算法对一段随机字符串进行更改,分别得到认证码和比较码,再比较认证码和比较码是否一致,从而实现网络身份认证。
文档编号H04L9/32GK101335623SQ20081002374
公开日2008年12月31日 申请日期2008年4月17日 优先权日2008年4月17日
发明者王皓辰 申请人:王皓辰
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1