一次性口令认证改进型方案研究

时间:2022-10-20 08:21:12

一次性口令认证改进型方案研究

【摘要】本文就一次性口令认证进行介绍,并对一次性口令认证的漏洞进行改进,得到了改进型一次性口令认证方案。该方案可以有效的避免小数攻击,增强了系统的安全性。

【关键词】一次性认证,身份认证,安全性

1、概述

在现实生活中,我们通过身份证、户口本、驾驶证等信息来进行身份确认;计算机世界中也有着同样的原理,需要通过某种身份认证机制来保护相关资源。最早的身份认证是通过固定口令的传统认证方式进行的,此方式在很多系统中仍有所应用。固定口令方式是用户在系统中注册一个账户并设置相关密码,在注册成功后,用户输入固定的账户和密码即可访问系统,这些账户和密码是固定不变的。

但固定口令有着本身的不足:①网络数据流窃听,很多固定口令是未经加密的信息,这使得入侵者可以方便的对数据流进行窃听,并从信息中提取出口令;②认证信息截取,认证信息经过加密后传输,入侵者不能获取密码后,可以籽相关信息进行窃取。③字典攻击:入侵者可以通过字典单词来对固定口令进行破解,这是因为很多用户是通过有意义的单词设置密码的。④穷举尝试,这种方式是入侵者通过穷举各种单词来进行暴力破解,这种方式对于较短的密码非常有效。⑤垃圾搜索:这种方式是入侵者对用户丢弃的废弃物进行搜索,并得到相关有用信息,推算出口令。

正是由于这种固定口令中存在诸多不安全因素,无法满足现有的逐渐提高的安全需求。为了解决以往固定口令的多种弊端,相关学者提出了一次性口令技术,通过该技术来确保相关资源的安全。

本文就一次性口令认证进行介绍,并对一次性口令认证的漏洞进行改进,得到了改进型一次性口令认证方案。

2、一次性口令认证原理

在传统的口令机制中,用户口令是固定不变的,这种机制可以使得入侵者获得该口令后即可入侵系统。所谓一次性口令技术就是指其登陆密码只能使用一次,每次登陆密码都会有所不同,通过该技术可以防止入侵者通过永久口令的窃取来获得对某个权限或系统的访问。

一次性口令的主要思路是:在用户登陆过程中添加了某些不确定性,—般使用Hash函数来产生口令密码,同时保证口令密码每次的不一致性。一次性口令的不确定机制主要有以下四种:

①口令序列:口令是一个前后相关的序列,系统只需要记录第M个,当用户使用M-1个口令登陆系统后,系统会依据相关算法得到第M个口令与原有保存的口令进行比较,通过这种比较可以判断用户的合法性。M是有限的,所以在使用口令登陆M次后必须对口令进行初始化。

②时间同步:时间同步机制的随机因素是登陆时间。这种随机机制对两者的时间准度有着非常高的要求,—般而言,是以分钟作为匹配单位,甚至有些系统可以设置了误差正负1分钟的容忍度。

③挑战/回答:该口令机制在用户请求登陆时,系统会生成一个随机数,并将该数传递给欲登陆的用户。用户依据相关算法将自己的口令和随机数进行混合,并将混合后的结果反馈给系统,系统依据反馈的结果验证身份。

④事件同步:这种口令机制以上一种为基础,将单向前后序列作为挑战信息;这种方式可以节约用户每次输入信息的弊端。在用户与服务器之间的挑战序列有一定的差距后,则系统需要进行同步信息。

3、一次性认证漏洞

这种方式操作简单,得到了广泛的使用,但一次性口令认证有其自身的弱点,即不能低于小数攻击。由于一次性口令认证在传输迭代值和种子时都是采用明文的方式,留给了入侵者小数攻击的漏洞。比如入侵者在攻击系统时,可以通过窃取相关信息(包括迭代值和种子),并对这些信息进行减数修改,并以服务器的名义向客户发送修改后的信息,用户在不知情的情况下依据入侵者信息进行口令计算并发送给服务器,而过程中入侵者再对其进行截取口令,并推算出该用户的一系列口令。这种攻击称之为小数攻击。因此我们将对一次性口令认证进行完善和改进。

4、改进型一次性口令认证

(1)改进型一次性口令认证方案

对一次性口令认证技术的改进思路是对用户登陆时的口令密码迭代次数分2次保存或者将其保存2份;也就是说在服务器中不仅保存了迭代次数D1,同时保存了其备份D1’,两个文件可进行同时变化更新,并能够主备同时互用。在对口令密码进行检测时,将迭代次数D1(即服务器想客户机发送的口令密码)与原有保存在服务器端的备用D1’进行两两比较,如果D1与D1’相同,那么则产生一次性口令密码,并随后进行身份认证;如果D1与D1’不一致,那么则服务器将不对其进行响应,同时服务器会发出相关警告信息,通过这种思路,可以有效的解决一次性口令认证在防止小数攻击的弱点。

在具体电子商务安全实施中,如果用户注册成功后,将客户端的口令密码迭代次数进行保存,其保存的内容D1和D1’,同时将计数记为N-1;当用户在登陆后,用户之前保存的迭代次数D1和D1’都会进行减1操作,这两者是进行同步操作的。具体过程有以下几步:

第一步:生成认证消息头。服务器生成认证消息头的驱动因素是用户登陆时输入了合法的用户名和口令;只有输入合法的用户访问相关网站后即可生成消息头,并将此传至安全服务器。

第二步:产生挑战值。相关服务器接收到第一步发送的消息头,对相关用户信息库进行查找,以此断定登陆用户合法与否,如果用户是合法的,则服务器产生挑战值,并将其传至客户端。

第三步:生成一次性口令密码。当客户服接收到服务器端发送的挑战值后,由一次性口令计算器从中获取D1,并与原有的备份迭代次数D1’两两对比,如果D1等于D1’相同,那么用户的通知短语以及相关信息将依据hash函数来生成一次性口令,同时将相关消息格式传送至服务器中,以便进行检测;如果D1不等于D1’,那么返回,生成一次性口令密码失败。

第四步:生成认证结果。此时客户端传递给安全服务器相关一次性口令密码,然后由服务器借用hash函数进行计算,得到验证因子O’,随后将该验证因子与原有的验证因子O1两两对比,如果两者对比是相同的,那么代表了身份认证是有效的,并将O’进行保存,其相关迭代次数D1也会相应的执行减1操作。

第五步:当用户登陆之后,一次性口令计算器对备份的迭代次数D1’执行减1操作,以此保证与服务器中保存的D1进行同步。

(2)改进型方案性能分析

以上方案可以很好的满足现有的身份认证安全性要求,接下来将从以下4个方面性能分析:

①可行性:本系统使用的操作可以在客户端一次性身份认证计算器中实现,因此是可行性的。

②安全性:该方案可以有效的避免原有一次性身份认证方案中的小数攻击漏洞,对原有安全性有了较大的提高。

③效率性:该方案没有任何复杂的加解密算法,对原有的算法并没有带来多大的时间要求和复杂度,因此效率上是可行的。

5、结论

本文通过对一次性口令技术以及相关漏洞进行分析,并针对漏洞提出了改进型方案,该方案可以有效的避免小数攻击,增强了系统的安全性。该方案可以运用于电子商务和各种中小型的身份认证服务。

上一篇:浅析计算机网络管理技术及其应用 下一篇:浅析油田站场管理中数字化建设的应用