基于口令的身份认证方案的设计与实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1概述

1.1研究意义与目的

随着Internet的飞速发展,全球性信息化浪潮也是日新月异的,信息网络技术也正日益普及和广泛应用,不断深入应用层次,同时从传统的小型业务系统,开始逐渐向大型关键业务系统扩展,典型的如金融业务系统、企业商务系统、党政部门信息系统等大型应用领域。Internet的飞速广泛应用,产生的安全问题同时也是重要问题,因为Internet的自由性、开放性和国际性增加了应用自由度,同时也对网络安全造成了严重威胁。

虽然开放的、自由的并且国际化的Internet给企事业单位和政府机构带来了开放和革新,他们可以利用Internet提升效率和侦查市场反应,但同时他们也必须面对网络开放带来的各种网络安全的新危险与新挑战。保障各单位信息网络有效抵抗网络攻击,有效保护网络信息资源,已然成为各单位信息化健康发展的重大事情。当前Internet存在的安全威胁主要表现为:非授权访问网络或计算机资源、信息泄漏或丢失、破坏数据完整性、拒绝服务攻击、利用网络传播病毒。

针对以上攻击手段与各种网络威胁形式,对访问网络系统的用户进行身份认证就显得至关重要,身份认证已经成为网络信息安全领域中非常重要的一个分支。口令认证技术是身份认证中最常用的技术,而静态口令认证技术是目前普遍采用的口令认证技术。其特点是简单、易用同时也具备一定的安全性,但随着攻击手段的多样化、网络应用的复杂化,静态口令技术的安全缺陷也越来越明显,对于安全性要求高的网络应用系统已经不再适用。专门针对静态口令技术的安全缺陷提出的一次性口令认证技术就得到了迅速地发展。但是,目前现有的一次性口令认证方案并不是十分完善,各种方案在执行性能和安全性上都存在着缺陷。设计更加完善的一次性口令认证方案并实现相应的认证系统,让一次性口令认证技术为更多的网络系统提供更加安全可靠的身份认证。这对Internet应用的发展有着重大的意义和积极的推动作用。

1.2口令认证技术的研究现状与发展趋势

美国科学家Leslie Lamport在上世纪80年代初首次提出了利用散列函数产生一次性口令的思想[1],指的是每个用户每一次同服务器进行身份认证时,认证口令都是以加密后的密文形式在网上传输的,一次性口令的思想指的是在每一次认证时认证口令都是独一无二的,也是密文形式的,也就是说密文口令是一次有效的。Lamport方式就是一次性口令认证实现方式之一。但Lamport方式有个最

大的缺点,它的计算量特别大,加密计算需要做大量的计算。由于Lamport方式计算量大的缺陷,又发展了其他两种实现方式一次性口令认证技术:时间同步方式和挑战/响应方式。时间同步方式这样实现,双方利用相同的时间作为计算因子计算一次性口令,需要客户端和服务器保持时间同步,以此实现身份认证。挑战/响应方式则是先由服务器向客户端发送不同的挑战信息,然后服务器通过验证客户端的响应信息来进行身份认证。这两种方式是借鉴了Lamport方式的部分设计思想并且改进了Lamport方式计算量大这个缺陷,也就是说以上三种方式都是同一个研究方向。一次性口令认证技术还有另一个研究方向,就是以散列运算和异或运算等低复杂度的运算为基础来实现认证双方通过计算双方交换的认证数据,从而达到进行一次性口令身份认证的目的。这种方式有运算量较小,设计简单、而且实施的成本也较低等优点。基于这种方式的典型认证方案有SAS(Simple And secure)认证方案[2],SAS-2认证方案[2],ROSI(Robust And Simple)认证方案[5]以及OSPA(Optimal Strong-Password Authentication)认证方案[4]等。在我国,研究一次性口令认证技术起步较晚,目前大部分研究都集中在改进和应用已有的认证方案上。例如中南大学张宏等2004年在《计算机工程》30卷第17期上发表的《一种新型一次性口令身份认证方案的设计与分析》[7],东南大学杨明等2003年在《计算机工程》29卷第5期上发表的《基于OTP的安全Web 登录系统的设计与实现》[6]等等。

基于一次性口令认证方案的各种认证系统正在飞地的发展,并且也得到了广泛的应用。贝尔通信研究中心 (Bell Core)在1991年首次研制出了基于Lamport 方式的一次性口令身份认证系统-S/KEY口令序列认证系统[8][9]。S/KEY口令序列认证方案最初加密口令使用的加密算法是DES(Data Encryption Standard),后因安全问题,其加密算法又改用MD4。现在,在新版本的S/KEY口令序列认证系统上,口令加密算法已经使用更加安全的MDS散列算法。其他的一次性口令验证系统还包括: 荷兰Wietse Venema of Eindhoven理工大学项目中的Log Daemon[10]和美国海军研究实验室的OPIE等,它们是基于Lamport方式的,且加密算法默认使用MDS算法。RSA Secure ID[6]动态口令认证系统:RSA security公司在这方面的权威产品,它采用时间同步方式,客户端用户持有口令令牌,,动态口令每分钟变化一次,认证系统在认证服务器上和口令令牌的专用芯片同时生成动态口令,用户在登录系统时,输入口令令牌上显示的当前动态口令和用户个人口令即可。酷安口令系统[2]:由国家反计算机入侵和防病毒研究中心和北京看兰电脑软件开发有限公司联合开发,它为每个用户生成海量的口令库,这个口令库的一个拷贝存放在用户的口令卡中。系统中的序列服务器随机生成个人认证序列号提供给用户,用户登录时先向系统请求个人认证序列号,然后由用户的密码卡(或手

机)根据个人认证序列生成用户一次性口令。目前,一次性口令认证系统发展的趋势是,采用更加完善的认证实现机制,增强认证口令的随机性,做到真正的一次一密,并更加容易地部署到网络应用系统中。

1.3本文研究内容

本文研究和分析了一次性口令认证,对一次性口令认证技术的原理、实现方式以及安全性进行研究和分析。在S/KEY口令序列认证方案和SAS-2认证方案研究和分析的基础上,提出了一种基于SAS-2认证方案的新型一次性口令认证方案。并通过对新型认证方案的执行性能和安全性的分析,得出结论,新方案既保留了SAS-2认证方案在执行性能上的优点,同时在安全性上又有一定程度的加强。基于该方案而实现的NOTP认证系统在执行性能和安全性上都能满足网络应用系统对用户身份认证的要求。

2口令技术的研究

2.1口令认证技术基本原理

一次性口令认证技术的基本原理[4,5]是,在用户登录过程中加入不确定数值,这样就能实现用户在每次登录过程中,每次提交给认证系统的认证数据都不相同,认证系统接收到用户的这个一次性的认证数据后,验算认证数据需要以事先预定的算法去计算,这样就可以验证用户的身份。在基于一次性口令认证技术的认证系统(下文称OTP系统)中,用户的秘密通行短语(pass-phrase即用户的口令)并不直接用于验证用户的身份,不确定因子和用户口令使用某种算法生成的一个认证数据才是直接用于用户身份认证的数据。目前的一次性口令认证技术计算用户每次登录的认证数据几乎都采用单向散列函数。

一次性口令认证技术的基本工作流程:首先,远程认证系统与用户之间共享一个口令,即用户的口令,同时还都拥有一个相同的“计算器”,实际上该计算器是硬件或软件实现某种算法,它能计算出每次认证的认证数据,即一次性口令。在用户发出登录请求给远程认证系统时,远程认证系统收到后向用户发送挑战(Challenge)数据。挑战数据由两部分组成,一部分是种子值 (Seed),它是分配给用户的,并在系统内具有唯一性的数值,也就是说,一个种子对应于一个用户,同时它是非保密的;而另一部分是迭代值(Iteration),是远程认证系统临时产生的数值,它与用户口令和种子不同,因为迭代值是不断变化的。用户收到挑战数据后,将用户口令、种子值和迭代值输入到“计算器”中进行计算,得出结果

相关文档
最新文档