基于口令的身份认证系统研究

基于口令的身份认证系统研究

2023年6月30日发(作者:)

基于口令的身份认证系统研究

阐述了基于静态口令与动态口令身份认证系统的工作原理,针对网络窃听、截取/重放、字典攻击、伪造服务器攻击、口令泄露等几种常见网络攻击手段,对两种认证方案的安全性和优缺点进行了分析,指出了动态口令在身份认证领域的优势和未来的发展前景。

0 引言

身份认证作为网络安全的第一道防线,是安全的网络系统门户。它通常采用各种先进技术,对网络事务中所涉及到的各方进行身份鉴别,防止身份欺诈,保证事务参与各方身份的真实性,从而保证系统和数据的安全以及授权访问者的合法权益。目前,身份认证主要通过下面三种基本途径之一或其组合来实现:①所知:个人所知道的或掌握的知识,如口令。②所有:个人所拥有的东西,如身份证、护照、信用卡、钥匙或证书等。③个人特征:个人所具有的生物特性,如指纹、掌纹、声纹、脸形、DNA、视网膜等等。基于口令的身份认证技术因其简单、易用,得到了广泛的使用。但随着网络应用的深入化和网络攻击手段的多样化,口令认证技术也不断发生变化,产生了各种各样的新技术。

1 静态口令认证技术

1.1静态口令基本原理

静态口令是使用最早、最广泛的认证手段。因其实现简单、使用方便,得到了广泛的应用。它的基本原理是:用户在注册阶段生成用户名和初始口令,系统在其数据库中保存用户的信息列表(用户名ID+口令PW)。当用户登录认证时,将自己的用户名和口令上传给服务器,服务器通过查询用户信息数据库来验证用户上传的认证信息是否和数据库中保存的用户列表信息相匹配。如果匹配则认为用户是合法用户,否则拒绝服务,并将认证结果回传给客户端。用户定期改变口令,以保证安全性。具体的认证过程见图1。

图1 静态口令认证过程

1.2静态口令认证机制安全性分析

口令泄露是口令认证系统面临的最大威胁。用户口令通常是一组字符串,长度不会太长,为了记忆方便常选择有规律或有意义的字符串,如生日、人名、电话号码等,另外,口令明文传输和不加密存放使得静态口令认证系统的安全性很差。主要存在以下问题: (1)网络窃听:很多网络服务在询问和验证远程用户认证信息时,认证信息都是以明文形式进行传输,如大量的通信协议如Telnet、FTP、HTTP等都使用明文传输,这意味着网络中的窃听者只需使用协议分析器就能查看到认证信息,从而分析出用户的口令。

(2)截取/重放:有的系统会将服务器中用户信息加密后存放,用户在传输认证信息时也先进行加密,这样虽然能防止窃听者直接获得口令,但使用截取/重放攻击,攻击者只要在新的登录请求中将截获的信息提交给服务器,就可以冒充登录。

(3)字典攻击:某些攻击者利用用户口令使用生日,人名等有意义的单词或数字的特点,使用字典的单词来尝试用户的口令,这就是所谓的字典攻击。因此,许多系统都建议用户在口令中加入特殊字符,以增加口令的安全性。

(4)穷举攻击:如果用户口令较短,攻击者就会使用字符串的全集作为字典,来对用户口令进行猜测。它是字典攻击的一种特殊形式。

(5)伪造服务器攻击:最常见的是网络钓鱼。即攻击者通过伪造服务器来骗取用户认证信息,然后冒充用户进行正常登录。

(6)口令泄露:攻击者通过窥探、社交工程、垃圾搜索、植入木马等手段,窃得用户口令。或用户自己不慎将口令告诉别人或将口令写在其他地方被别人看到,造成口令的泄露。

由于静态口令存在的缺陷,基于静态口令的身份认证正逐渐退出历史舞台。近年来,许多专家提出了其它的身份认证方式如:生物认证、智能卡认证、动态口令认证等。动态口令认证因其具有高安全性、可靠、简单、容易实现,成本低、投资规模小等特点,得到了广泛的应用。

2 动态口令认证技术

1981年,美国科学家Lamport首次提出了利用散列函数产生一次性口令的思想。1991年贝尔通信研究中心(Bell core)用DES加密算法首次研制出了基于挑战/应答式动态口令身份认证系统——S/KEY口令序列认证系统,后改用MD5算法作为散列函数产生动态口令。1997年著名的RSA Security公司成功研制了基于时间同步的动态口令认证系统RSA Secure ID。从上世纪90年代开始,动态口令认证系统在网银、电子商务,政府等领域大量成功地应用,其中金融行业特别是银行业占有将近三分之一的市场份额。

2.1动态口令基本原理

动态口令也叫一次性口令,它的基本原理是:在用户登录过程中,基于用户口令加入不确定因子,对用户口令和不确定因子进行单向散列函数变换,所得的结果作为认证数据提交给认证服务器。认证服务器接收到用户的认证数据后,把用户的认证数据和自己用同样的散列算法计算出的数值进行比对,从而实现对用户身份的认证。散列函数在认证过程中起着至关重要的作用,它把可变输入长度串(预映射)转换成固定长度输出串(散列值)且单方向运行,即从预映射的值很容易计算散列值,但要从散列值推出预映射值非常困难,使得攻击者通过网络窃听截取登录信息却无法反推出用户口令。在认证过程中,用户口令不在网络上传输、不直接用于验证用户的身份,用户口令和不确定因子使用散列算法生成的数据才是直接用于用户身份认证的数据,且每次都采用不同的不确定因子来生成认证数据,从而每次提交的认证数据都不相同,提高了登录过程的安全性。

2.2动态口令认证机制的分类

根据加入不确定因子的选择方式不同,常用动态口令认证机制有时间同步机制,事件同步机制和挑战/应答机制三种。

时间同步机制,就是以时间作为不确定因子。它的原理是:每个用户都持有相应的时间同步令牌,令牌内置时钟、种子密钥和加密算法。时间同步令牌根据当前时间和种子密钥每60秒动态生成一个动态口令。用户需要访问系统时,将令牌生成的动态口令传送到认证服务器,服务器通过其种子密钥副本和当前时间计算出所期望的验证值,对用户进行验证。它的优点是操作简单、易于管理,缺点是需要认证服务器和用户令牌的时钟严格保持同步,否则因网络延迟很容易造成正常认证失败,在分布式环境下很难管理。

事件同步机制,又称为Lamport方式。事件同步机制是以事件(次教N作为变量。在初始化阶段选取口令PW、迭代数N及一个单向数列函数H0,计算Y=Hn(PW)(Hn()表示进行n次散列运算),把Y和N的值存放到服务器上。在登录阶段,用户端计算的值,将其提交给服务器,服务器端计算Z=H(Y’),将Z值同服务器上保存的Y值进行比较。如果Z=Y,刚验证成功。然后用Y’的值代替服务器上Y的值作为下次的验证值,同时将N的值递减1。这种认证方式的优点是容易实现,不需要特殊硬件,可以在批次运作环境下使用;缺点是安全性依赖于单向散列函数,不宜在分布式网络环境下使用,由于N是有限的,用户登录N次后必须重新初始化口令序列,且很难抵挡小数攻击。

挑战/应答异步认证机制,就是以挑战数作为变量。每个用户同样需要持有相应的挑战/应答令牌。令牌内置种子密钥和加密算法。用户在访问系统时,服务器随机生成一个挑战教并将挑战数发送给用户,用户将收到的挑战数手工输入到挑战/应答令牌中,挑战/应答令牌利用内置的种子密钥和加密算法计算出相应的应答数,将应答数上传给服务器,服务器根据存储的种子密钥副本和加密算法计算出相应的验证数,和用户上传的应答数进行比较来实施认证,认证过程见图2。该方式的优点是没有同步的问题,可以保证很高的安全性,是目前最安全可靠的认证方式;缺点是需要特殊硬件支持,用户需多次手工输入数据,易造成较多的输入失误,操作过程繁琐,易被伪造服务器攻击,服务器端每次都要产生随机数,增加了系统开销。

图2 挑战/应答式动态口令认证过程

2.3动态口令认证机制安全性分析 动态口令采用的是一次一密机制,它在原理上是不可破的。下面我们针对常用的攻击手段对动态口令认证系统的安全性进行分析:

(1)网络窃听:因为在网络上传输的登录口令是经过单向散列变换后的数据,用户口令并不在网上传输,所以网路即使被窃听,攻击者也无法从得到的信息推出用户口令。

(2)截取/重放:因为加入了不确定因子,用户每次提交的认证数据都不相同,攻击者截取的认证数据在下次认证中没有任何意义。

(3)字典/穷举攻击:因为使用了双因子(用户口令和不确定因子)进行散列变换生成动态口令,使攻击者利用字典/穷举攻击变得困难,但如果用户口令太短,也容易被攻击者攻破。

(4)伪造服务器攻击:大多数模式只实现了服务器对用户的认证,并没有对服务器进行认证,尤其足基于事件的认证机制不能抵御小数攻击。但现在有许多改进算法结合证书、密码技术很好地克服了这一缺点。

(5)口令泄露:只能有效抵御。因为用户如果不妥善保管口令,口令还足易被攻击者通过窥探,垃圾搜索等手段获取,但能抵御社交工程攻击。

3 结束语

本文分析研究表明,动态口令技术能抵御大部分针对静态口令认证的网络攻击,提高了安全性,特别是能有效抵御网络窃听、截取/重放、社交工程等攻击,但不能有效抵御伪造服务器攻击和来自内部的攻击。现在有许多的改进方案,弥补了动态口令无法实现双向认证和无法克服来自内部攻击的缺点,并正在逐步取代传统的静态口令认证方式。随着认证市场的巨大需求,好的动态口令认证机制将越来越应用广泛

发布者:admin,转转请注明出处:http://www.yc00.com/web/1688118166a84613.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信