动态口令身份认证

1动态口令身份认证原理
1.1主要思想
动态口令认证就是在登录过程中加入不确定因素,使每次登录时传送的认证信息都不相同,以提高登录过程安全性。动态口令认证技术消除了静态口令认证技术的大部分安全缺陷,能有效抵抗静态口令认证技术所面临的主要安全威胁和攻击,为网络应用系统提供了更加安全可靠的用户身份认证保障。该技术主要思想是为每个用户分配一个帐号,每个帐号配有种子、迭代值和通行短语,种子(时间)及变化的迭代值(随机数)就能够产生一系列口令,每个口令用户只能使用一次,由于用户的秘密通行短语(时间对密钥加密结果)从来不在网上传送,因此,系统不易受到重放攻击。(最初一般的基于时间的动态口令算法是将时间对密钥的加密结果作为验证数据,传送给服务器
1.2运行原理
用户通过客户机访问服务器时,首先向服务器传送自己的帐号,服务器响应一个由与该帐号
对应的种子和迭代值组成的挑战,客户机使用该挑战和秘密通行短语产生一个一次性口令,并以该一次性口令登录,作为对挑战的答复,服务器随即产生一次性口令与之对比,从而完成服务器对登录用户的鉴别,每次登录成功后,迭代值递减,当该值为0或秘密通行短语泄密后,必须重新初始化。
1.3动态口令框图
动态口令身份认证主要包括3个部分:认证服务器、客户端和用户信息数据库。
认证服务器是动态口令认证系统的核心,它主要由3个模块构成:系统初始化模块、用户管理模块、动态口令认证模块。其中系统初始化模块的主要功能是系统维护,设置环境参数等。用户管理模块负责用户的增减及用户口令、权限、密钥的设置。动态口令认证模块负责对用户的身份进行认证。
系统的客户端采用软件来实现挑战应答器,作为挑战码的响应,它以AS端产生的挑战码为输入,使用和AS端完全相同的动态口令产生机制,连同User端保存的用户的秘密密钥,输出一个大整数作为响应码。
用户信息数据库中含有用户认证信息表,该表的主要字段应有用户ID、用户的公共密钥、秘密密钥等,其中用户ID是区分用户的标志,不可相同。
2 动态口令的产生
动态口令的核心是口令生成算法和时间同步问题
2.1 口令生成算法
口令生成算法是基于时间的一种秘密算法,它是根据用户密钥数据和当前的时间产生一固定长度的字符串。以下是一种产生16位动态口令的示范算法:
1)程序提取当前时间和用户密钥数据。
2)利用时间对用户密钥数据进行加密。
3)利用SHA-1算法提取加密结果的消息摘要。
4)将所产生的消息摘要作为动态口令使用。当然如果在需要用户输入动态口令的情况下,就还得对此口令进行代码转换,将其转换为ASCII码,否则用户无法输入。
2.2时间同步
本算法一个非常重要的问题是时间的同步。如果服务器端和客户端的时间无法同步,则产
生出来的口令肯定不同,从而无法进行认证。为了使用时间同步,客户端可以在传送过程中将当前的时间进行适当变换传送给服务器,服务器计算动态口令时可以此时间为基础进行计算,并将此时间列入已使用过的时间,下次客户端送来的时间必须在此之后,否则不予认证。这样可以很好地实现时间同步问题。
2.3用户密钥的产生和分配
用户密钥数据是动态口令的产生的基础,因此必须在非常安全的情况下产生和分配:
1)密钥的分配和产生由维护模块负责,当用户进行注册时,服务器随机产生用户的密钥,然后分发给用户(分发时最好是让用户亲自来取),并在自己的数据库中进行保存,以供以后产生口令时使用。
2)用户可以根据需要申请服务器重新产生密钥数据。
3)为了安全起见,密钥数据的保存必须经过加密保存。
3动态口令身份认证过程
1)客户向认证服务器发出请求,要求进行身份认证。
2)认证服务器从用户数据库中查询用户是否是合法的用户,若不是,则不作进一步处理。
3)认证服务器内部产生一个随机数,作为“提问”,发送给客户。
4)客户将用户名字和随机数合并,使用单向Hash函数(身份认证系统例如MD5算法)生成一个字符串。
5)客户端利用动态口令生成算法产生动态口令(利用时间对密钥加密并摘要),利用自己的动态口令对这个字符串进行加密,然后将加密的结果作为应答传给服务器。
6)认证服务器根据当前的时间计算用户的动态口令,然后用该口令对所接收到的应答串进行解密。
7)认证服务器利用解密结果与自己的计算结果(Hash)进行比较,若相同(实则验证密钥),则通过一次认证;否则,认证失败。
8)认证服务器通知客户认证成功或失败。以后的认证由客户不定时地发起,过程中没有了客户认证请求一步。两次认证的时间间隔不能太短,否则就给网络、客户和认证服务器带
来太大的开销;也不能太长,否则不能保证用户不被他人盗用IP地址,一般定为1-2分钟。
4结论
文章分析研究表明,动态口令技术能抵御大部分针对静态口令认证的网络攻击,提高了安全性,特别是能有效抵御网络窃听、截取/重放、社交工程等攻击,但不能有效抵御伪造服务器攻击(伪造服务器发随机数,即知道了需动态口令加密的字符串,接收客户发来的加密字符串,可穷举出密钥)和来自内部的攻击。现在有许多的改进方案,弥补了动态口令无法实现双向认证和无法克服来自内部攻击的缺点,并正在逐步取代传统的静态口令认证方式。随着认证市场的巨大需求,好的动态口令认证机制将越来越应用广泛。

本文发布于:2024-09-21 20:26:59,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/373914.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:口令   认证   用户   动态   服务器   时间   密钥   产生
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议