一种实现双向认证动态口令身份认证措施

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

一种实现双向认证的动态口令身份认证方案

来源:网店装修

摘要本文在分析现有动态身份认证系统的基础上,结合使用国际标准加密算法设计了双向通信协议、动态密码生成算法、以及动态重调机制,解决了目前动态身份认证系统只能实现服务器对客户端的单向认证的缺陷,和以牺牲口令随机度来解决“失步”问题的不足。

关键词双向身份认证、动态口令、同步重调,动态身份认证系统

身份认证技术是信息安全理论与技术的一个重要方面,它是网络安全的第一道防线,用于限制非法用户访问受限的网络资源,是一切安全机制的基础。这也就使之成为黑客攻击的主要目标。因此使用一个强健有效的身份认证系统对于网络安全有着非同寻常的意义。

就国内外身份认证技术的发展情况来看,最传统的身份认证方式是帐号——口令方式;新兴的身份认证方式包括:生物特征识别法、动态口令<又称一次性口令)认证法等。本文中主要展开对动态口令认证法的讨论和研究。 1 背景知识介绍 1.1 PKI体系

PKI

PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。完整的PKI系统必须具有权威认证机构(CA>、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口

RSA加密算法,又称非对称算法,采用公钥——私钥对来对信息进行加、解密。

RSA加密算法的过程如下:

<1)取两个随机大素数p和q<保密)。

<2)计算公开的模数r=pq(公开>。

<3)计算秘密的欧拉函数® =<保密),丢弃两个素数p和q。

<4)随机选取整数e,满足gcd(e,公开e,加密密钥>。

<5)计算d,满足de≡1(mod ®>(保密d,解密密钥,陷门信息>

<6)将明文x<其值的范围在0到r-1之间)按模为r自乘e次幂以完成加密操作,从而产生密文y<其值也在0到r-1范围内)

y=xe (mod r>

<7)将密文y按模为r自乘d次幂,完成解密操作

x=yd (mod r>

下面用一个简单的例子来说明RSA公开密钥密码算法的工作原理。

取两个素数p=11,q=13,p和q的乘积为r=p×q=143,算出秘密的欧拉函数®=(p-1>×(q-1>=120,再选取一个与®=120互质的数,例如e=7,作为公开密钥,e的选择不要求是素数,但不同的e的抗攻击性能力不一样,为安全起见要求选择为素数。对于这个e值,可以算出另一个值d=103,d是私有密钥,满足e×d=1 mod ®,其实7×103=721除以120确实余1。欧几里德算法可以迅速地找出给定的两个整数a和b的最大公因数gcd

动态口令

动态口令是变化的密码,其变化来源于产生密码的运算因子是变化的。动态口令的生成算法一般都采用双运算因子,一是用户身份的识别码,是固定不变的,如用户的私有密钥;二是变动因子,如时间、随机数、计数器值等。

根据动态因子的不同,产生了不同的动态口令认证技术。主要分为两种,即同步认证技术和异步认证技术。其中同步认证技术又分为基于时间同步认证技术

一次性口令的概念是在20世纪80年代初由美国科学家Leslie Lamport提出的。之后贝尔通信研究中心于1991年研制出了第一个动态口令认证系统S/KEY。随之美国著名加密算法研究室RAS研制成功了基于时间同步的动态口令认证系统RSA SecureID。自此身份认证步入了动态口令身份认证系统的时代。国内最早的动态口令系统大约出现在十年前,但技术不成熟,市场前景惨淡,至今尚未得到推广。 2 现存动态口令认证系统的不足和缺陷以及解决方案2.1 存在的不足和缺陷

不可否认基于动态口令的身份认证系统给网络安全带来了福音。它的优点,如动态性、一次性、随机性、多重安全性等,从根本上有效修补了传统身份认证系统存在的一些安全隐患。比如,可以有效防止重放攻击、窃听、猜测攻击等。但就目前的研究成果、使用情况来看,它同样也存在这不足,以及技术上的难关。

现有的基于动态口令的身份认证系统都只能实现单向认证,即服务器对客户端的认证,这样就不能避免来自服务器端的攻击。随着网络应用的多样性发展,越来越多的网络应用要求能够实现双向认证以确保双发的利益,如电子商务、金融业务等,因此实现双向认证就成为了身份认证的一个必然趋势。

对于同步认证技术来说,保证服务器端和客户端的高度同步是必需的。此时如何保持服务器和众多客户端同步就成了一个技术难关。基于同步认证技术的动态身份认证系统都存在“漂移”问题,也即“失步”。目前的解决办法往往是以牺牲口令的随机度来弥补这个缺陷。这无疑给系统带来了很大的安全隐患。

当然异步认证技术不存在“漂移”问题,但是它进行认证的过程比较繁琐,占用通讯时间太长,效率比较低。

本文针对上面提到的动态口令认证系统的不足和缺陷设计了一个新方案。该方案采用双向认证通信协议实现了双向认证,并设计了一种失步重调机制。 2.2 改进方案 2.2.1 双向认证通信协议

在这个协议中使用了直接信任模型,即客户端和服务器端通过注册阶段而建立直接信任关系。<直接信任是最简单的信任形式。两个实体之间无须第三方介绍而直接建立起来的信任关系称为直接信任。)

协议中包括两个阶段:注册阶段、登陆阶段。

1) 注册阶段

注册阶段是为了让Client 和Server 建立初始信任关系。整个注册过程通过安全信道进行。

注册阶段中Client 和Server 交换各自的id 和公钥。服务器端将

加密后存储。客户端将 加密后存储在令牌中。

图1 client 通过安全信道在服务器进行注册

2)登陆阶段

符号说明: 表示用密钥加密括号内信息。

表示用密钥解密括号内信息。

表示客户端公钥。

表示客户端私钥。

表示服务器端公钥。

表示服务器端私钥。

表示客户端id 。

表示服务器端id 。

相关文档
最新文档