2023年7月31日发(作者:)

电子发烧友 电子技术论坛一种基于动态口令的身份认证系统研究

傅德胜,陈 昕

(南京信息工程大学 计算机与软件学院, 江苏 南京 210044)

12

摘 要:身份认证在信息安全中起着非常重要的作用,建立安全的身份认证机制成为终端安全的关键之一。作为一种新型的认证模式,动态口令比传统的静态口令更加安全、可靠。本文阐述了动态口令的原理及现有动态口令方案的缺点,设计了一种新型的身份认证系统,并对其有效性进行了分析。

关键词:动态口令;身份认证;安全性

中图法分类号:TP309 文献标识码: A

A Study of Authentication System based on Dynamic

Password

FU De-sheng1, CHEN Xin2

(Department of Computer & software, Nanjing University of Information Science & Technology,

Nanjing Jiangsu 210044, China)

Abstract: Identity authentication plays a very important role in the system security, establishing a secure

authentication mechanism becomes one of the keys in the terminal security. As a new mode of authentication,

dynamic password is more secure and reliable than traditional static password. This paper describes the principle

of dynamic password and disadvantages of the existing dynamic protocols, designs a new type of authentication

system and analyzes the effectiveness of it.

Key words: dynamic password; identity authentication; security

0 引言

身份认证是系统安全中最重要的问题,只有在进行安全可靠的身份认证的基础上,各种安全产品才能最有效地发挥安全防护作用;也只有完成了身份认证,网络系统才可能安全、高效地开放和共享各种网络资源、系统资源、信息资源。

目前大部分网络系统所使用的访问控制方法是传统的静态口令认证技术,通过用户名和口令的匹配来确认用户的合法性。但是,随着网络技术的进一步发展,以静态口令为基础的认证方式面临着很多的安全问题,渐渐无法满足用户的需求。动态口令的概念就是在这样的情况下产生的,它采用了基于同步或者异步方式而产生的一次性口令来代替传统的静态口令,从而避免了口令泄密带来的安全隐患。目前,基于动态口令的身份认证系统已应用在电子商务,电子政务,银行,证券等诸多领域。

1 传统的身份认证方式

传统的身份认证方式就是用户名口令核对法:系统为每一个合法用户建立一个ID/PW对,当用户登录系统时,提示用户输入自己的用户名和口令,系统通过核对用户输入的用户名,口令与系统内已有的合法用户的ID/PW是否匹配,来验证用户的身份。

这种静态口令认证方式存在很多问题,最常见的是网络数据流窃听、截取/重放、暴力破解、窥探等攻击方式。静态口令的不安全因素是信息系统普遍存在的隐患。基于口令认证的身份鉴别的安全性成为信息安全中迫切需要解决的一个问题,动态口令认证方式应运而12

傅德胜,男(1950--),教授,主要研究领域:信息安全

陈昕,女(1984--),在读硕士研究生,主要研究领域:信息安全

1 电子发烧友 电子技术论坛生。

2 动态口令认证的常用技术

20世纪80年代初,美国科学家Leslie Lamport针对静态口令认证的缺陷,首次提出了利用散列函数产生动态口令(OTP:One Time Password)的思想,即用户每次登录系统时使用的口令是变化的。根据动态因素的不同,动态口令认证技术主要分为两种,即同步认证技术和异步认证技术。其中同步认证技术又分为基于时间同步认证技术(Time Synchronous)和基于事件同步认证技术(Event Synchronous);异步认证技术即为挑战/应答认证技术(Challenge/Response)。

(1)基于事件同步技术

这种方法的原理是通过某一事件的序列及种子密钥作为输入值,通过散列算法运算出密码。也就是说,用户输入一次ID就会产生一个密码,变化单位是用户的使用次数,如果客户端和服务器所算出的密码一致,就认证了用户的合法身份。

(2)基于时间同步技术

以用户登录时间作为随机因素,选择单向散列函数作为口令的生成算法,这种方式对时间准确度要求较高,一般采取分钟为变化单位。这样可以保证散列函数算出的口令是在不断变化的,又减少了认证双方的交互过程。

(3)基于挑战/应答技术

用户要求登录时,系统产生一个挑战码(随机数)发送给用户,客户端通过单向散列函数将用户的密钥和随机数进行运算,把结果(应答数)发送给系统,系统用同样的方法做验算即可验证用户身份。由于每个用户的密钥不同,不同的用户对同样的挑战值能算出不同的应答数,只有某一用户用指定的令牌才能算出正确的应答数,并且这个应答数只使用一次,所以能保证很高的安全性。

(4)S/Key技术

目前在实际应用中,使用最广泛的动态口令是S/Key方式,它也是挑战/应答技术的一种。每个用户都有一个账号,每个账号配有种子(Seed)、迭代值(Iteration)和秘密通行短语。使用秘密通行短语、种子以及变化的迭代值就能够产生一系列口令,每个口令用户只能使用一次。口令为一个单向的前后相关的序列,系统只用记录第 N个口令。用户用第N-1个口令登录时,系统用单向算法算出第N个口令与自己保存的第N个口令匹配,以判断用户的合法性。由于N是有限的,用户登录N次后必须重新初始化口令序列。

3 动态口令认证系统的设计

S/Key动态口令具有一次性,可以有效防止重放攻击,但是对小数攻击很脆弱,而且用户登录一定次数之后必须重新初始化。传统的挑战/应答机制向用户发送不重复的挑战数,不需要初始化,但是该方案只能提供单向身份认证,不能认证服务器,无法防范假冒的服务器欺骗用户。针对这些问题,本文提出了一个改进后的动态口令身份认证方案。

3.1 系统设计思想

本文采用的是基于挑战/应答的认证技术,用MD5算法和公钥体制为口令加密。用户U选择账户ID和口令PW,由安全信道完成在认证服务器AS上的注册,AS保存用户U的用户账户和口令对{ID,PW}。

身份验证的过程如下:

(1)U→AS:ID

用户输入账户ID,将身份验证请求上传至服务器AS。

(2)U←AS:R

服务器AS查询用户信息,如果账户ID不是已经注册的账户,就拒绝请求;否则产生

2 电子发烧友 电子技术论坛一个随机数r,计算R= ay mod p(p为大素数,a为Zp的本原元),将挑战数R提交给用户。

(3)U→AS: h(h(PW)||R⊕V,h(h(PW)||R||V)

用户输入PW并计算h(PW),选择随机数x,计算V= ax mod p,然后把h(PW)和R连接后的hash值与V作异或运算。同时为保证V的完整性以进行认证,计算h(h(PW)||R||V)。将h(h(PW)||R⊕V和h(h(PW)||R||V)一起传给认证服务器AS。

(4)U←AS: h(V+1)

服务器用自己的私钥解密h(PW),计算h(h(PW)||R,然后将其与h(h(PW)||R⊕V进行异或运算求得V’,计算h(h(PW)||R||V’)。若h(h(PW)||R||V’)与收到的h(h(PW)||R||V)相等,则认为用户合法,通过验证,计算h(V+1)并作为应答信息传给用户;否则,服务器拒绝用户的认证。

(5)U→AS:验证服务器

用户将收到的应答值与自己计算的结果h(V+1)进行比较。如果二者相等,则通过对服务器的验证,登录成功;否则,用户拒绝登录。

在此后的会话过程中,用户和服务器双方使用K = axy

mod p作为会话密钥加、解密通信内容。

动态口令的认证过程可用图1表示。

认证请求ID挑战值R

服务器端AS

3.2 动态口令认证系统的组成

动态口令认证系统由两部分组成:客户端和认证服务器。其基本结构如图2所示。

用户注册 身份认证

用户数据

认证服务器AS

客户端User

用户

h(PW,R,V)

应答值H(V+1)验证服务器

图1 动态口令认证过程

网络

令牌

用户

令牌

图2 动态口令认证系统结构图

3 电子发烧友 电子技术论坛(1)客户端

为用户提供了一个简单、易行的口令产生办法。通过认证算法产生只能使用一次的“动态口令”,而且口令无法观测和跟踪,这就使得用户口令既无法被窃取,而且又能解决口令频繁变换所带来的问题。

(2)安全认证服务器

安全认证服务器运行在网络环境下,它负责控制所有的远程用户对网络的访问,提供了全面的认证,授权服务。服务器端的加密软件模块,接收到用户的口令并自动进行计算和验证,从而保证认证过程的完成。

(3)加密安全设备

加密安全设备指服务器端和客户端的加密机或加密卡。其作用主要是对重要数据的安全提供加密保护。

3.3 方案的性能分析

(1)重放攻击:由于每次认证时双方发送的挑战信息R和V都与以前不同,当入侵者在第三步进行重放攻击时,认证服务器自己计算的结果H(H(PW)||R||V)将不等于收到的值。于是认证服务器拒绝登录请求,重放攻击失败。

(2)小数攻击:认证过程中采用的是公钥加密算法,小数攻击无法奏效。

(3)服务器欺骗:如果入侵者在第二步假冒认证服务器向用户发送随机数R,但由于他不知道用户口令PW,无法求出用户发回的挑战信息V,进而不能正确计算h(V+1)。在随后的应答中,服务器不能通过用户对其进行的验证。

(4)暴力破解:该系统的安全性依赖于单向散列函数和公钥密码的安全性,以MD5数据摘要算法为例,其输出是128位的数据,攻击者只知道这个结果,要想得到输入M或者另一输入N要使得散列函数值H(M) = H(N)。如果使用穷举法需要尝试2128次,而公钥密码基于大素数分解,目前还没有较好的破解办法。

(5)口令猜测:认证服务器端存储用户口令的hash值h(PW),并用认证服务器的公钥对h(PW)加密。即使入侵者通过离线攻击获取口令文件,但他没有认证服务器的私钥,不能解密口令文件进行猜测攻击。

4 结束语

本文以挑战/应答方案为基础,运用单向散列函数和公钥加密体制生成共享密钥,设计了一种能有效适用于网络环境的动态口令身份认证方案。该方案能对客户端和服务器实行双向认证,克服了传统的挑战/应答的弱点,保护了用户身份信息的安全,能有效防止重放,暴力破解等常见的攻击手段,通过公钥密码体制的使用,增强了认证过程的安全性。在信息安全越来越受到重视的今天,动态口令身份认证系统适用于电子商务,金融,证券,网络游戏,内部管理等许多领域,提供强大的安全管理,前景非常乐观。

本文创新点:针对现有的动态密码认证方式的缺点,提出基于MD5和公钥加密算法的身份认证方案,有效克服重放攻击,小数攻击,能够实现客户端和服务器的双向认证,达到较高的安全性。

参考文献:

[1] 李金库,张德运,张勇. 身份认证机制研究及其安全性分析[J]. 计算机应用研究,2001,2:126-128。

[2] 陈立志,李凤华,戴英侠. 基于动态口令的身份认证机制及其安全性分析[J]. 计算机工程,2002,10:48-49。

[3] 刘知贵,臧爱军,陆荣杰. 基于事件同步及异步的动态口令身份认证技术研究[J]. 计算机应用研究,2006,6:133-134。

[4] 李京顺. 口令安全管理[J]. 电脑与信息技术,2006,8:76-78。

4 电子发烧友 电子技术论坛[5] 张峰,王小妮,杨根兴. 一种安全的身份认证系统——动态口令认证系统[J]. 电脑开发与应用,2002,4:24-25。

[6] 张文. 动态口令身份认证系统的设计与实现[J]. 微计算机信息,2005,21-3:232-233。

作者简介:傅德胜(1950- ),男(汉族),江苏靖江人,南京信息工程大学计算机与软件学院教授,主要从事信息安全研究

陈昕,女(1984- ),女(汉族),江苏南京人,南京信息工程大学计算机与软件学院硕士研究生,主要研从事信息安全研究

Biography: Fu Desheng (1950- ), male (HAN nationality), Jiangsu Province, Nanjing University of Information

Science & Technology, professor, Major: computer science and technology, Research area: information security.

Chen Xin(1984- ), female(HAN nationality), Jiangsu Province, Nanjing University of Information Science &

Technology, graduate student, Major: computer science and technology, Research area: information security.

5

2023年7月31日发(作者:)

电子发烧友 电子技术论坛一种基于动态口令的身份认证系统研究

傅德胜,陈 昕

(南京信息工程大学 计算机与软件学院, 江苏 南京 210044)

12

摘 要:身份认证在信息安全中起着非常重要的作用,建立安全的身份认证机制成为终端安全的关键之一。作为一种新型的认证模式,动态口令比传统的静态口令更加安全、可靠。本文阐述了动态口令的原理及现有动态口令方案的缺点,设计了一种新型的身份认证系统,并对其有效性进行了分析。

关键词:动态口令;身份认证;安全性

中图法分类号:TP309 文献标识码: A

A Study of Authentication System based on Dynamic

Password

FU De-sheng1, CHEN Xin2

(Department of Computer & software, Nanjing University of Information Science & Technology,

Nanjing Jiangsu 210044, China)

Abstract: Identity authentication plays a very important role in the system security, establishing a secure

authentication mechanism becomes one of the keys in the terminal security. As a new mode of authentication,

dynamic password is more secure and reliable than traditional static password. This paper describes the principle

of dynamic password and disadvantages of the existing dynamic protocols, designs a new type of authentication

system and analyzes the effectiveness of it.

Key words: dynamic password; identity authentication; security

0 引言

身份认证是系统安全中最重要的问题,只有在进行安全可靠的身份认证的基础上,各种安全产品才能最有效地发挥安全防护作用;也只有完成了身份认证,网络系统才可能安全、高效地开放和共享各种网络资源、系统资源、信息资源。

目前大部分网络系统所使用的访问控制方法是传统的静态口令认证技术,通过用户名和口令的匹配来确认用户的合法性。但是,随着网络技术的进一步发展,以静态口令为基础的认证方式面临着很多的安全问题,渐渐无法满足用户的需求。动态口令的概念就是在这样的情况下产生的,它采用了基于同步或者异步方式而产生的一次性口令来代替传统的静态口令,从而避免了口令泄密带来的安全隐患。目前,基于动态口令的身份认证系统已应用在电子商务,电子政务,银行,证券等诸多领域。

1 传统的身份认证方式

传统的身份认证方式就是用户名口令核对法:系统为每一个合法用户建立一个ID/PW对,当用户登录系统时,提示用户输入自己的用户名和口令,系统通过核对用户输入的用户名,口令与系统内已有的合法用户的ID/PW是否匹配,来验证用户的身份。

这种静态口令认证方式存在很多问题,最常见的是网络数据流窃听、截取/重放、暴力破解、窥探等攻击方式。静态口令的不安全因素是信息系统普遍存在的隐患。基于口令认证的身份鉴别的安全性成为信息安全中迫切需要解决的一个问题,动态口令认证方式应运而12

傅德胜,男(1950--),教授,主要研究领域:信息安全

陈昕,女(1984--),在读硕士研究生,主要研究领域:信息安全

1 电子发烧友 电子技术论坛生。

2 动态口令认证的常用技术

20世纪80年代初,美国科学家Leslie Lamport针对静态口令认证的缺陷,首次提出了利用散列函数产生动态口令(OTP:One Time Password)的思想,即用户每次登录系统时使用的口令是变化的。根据动态因素的不同,动态口令认证技术主要分为两种,即同步认证技术和异步认证技术。其中同步认证技术又分为基于时间同步认证技术(Time Synchronous)和基于事件同步认证技术(Event Synchronous);异步认证技术即为挑战/应答认证技术(Challenge/Response)。

(1)基于事件同步技术

这种方法的原理是通过某一事件的序列及种子密钥作为输入值,通过散列算法运算出密码。也就是说,用户输入一次ID就会产生一个密码,变化单位是用户的使用次数,如果客户端和服务器所算出的密码一致,就认证了用户的合法身份。

(2)基于时间同步技术

以用户登录时间作为随机因素,选择单向散列函数作为口令的生成算法,这种方式对时间准确度要求较高,一般采取分钟为变化单位。这样可以保证散列函数算出的口令是在不断变化的,又减少了认证双方的交互过程。

(3)基于挑战/应答技术

用户要求登录时,系统产生一个挑战码(随机数)发送给用户,客户端通过单向散列函数将用户的密钥和随机数进行运算,把结果(应答数)发送给系统,系统用同样的方法做验算即可验证用户身份。由于每个用户的密钥不同,不同的用户对同样的挑战值能算出不同的应答数,只有某一用户用指定的令牌才能算出正确的应答数,并且这个应答数只使用一次,所以能保证很高的安全性。

(4)S/Key技术

目前在实际应用中,使用最广泛的动态口令是S/Key方式,它也是挑战/应答技术的一种。每个用户都有一个账号,每个账号配有种子(Seed)、迭代值(Iteration)和秘密通行短语。使用秘密通行短语、种子以及变化的迭代值就能够产生一系列口令,每个口令用户只能使用一次。口令为一个单向的前后相关的序列,系统只用记录第 N个口令。用户用第N-1个口令登录时,系统用单向算法算出第N个口令与自己保存的第N个口令匹配,以判断用户的合法性。由于N是有限的,用户登录N次后必须重新初始化口令序列。

3 动态口令认证系统的设计

S/Key动态口令具有一次性,可以有效防止重放攻击,但是对小数攻击很脆弱,而且用户登录一定次数之后必须重新初始化。传统的挑战/应答机制向用户发送不重复的挑战数,不需要初始化,但是该方案只能提供单向身份认证,不能认证服务器,无法防范假冒的服务器欺骗用户。针对这些问题,本文提出了一个改进后的动态口令身份认证方案。

3.1 系统设计思想

本文采用的是基于挑战/应答的认证技术,用MD5算法和公钥体制为口令加密。用户U选择账户ID和口令PW,由安全信道完成在认证服务器AS上的注册,AS保存用户U的用户账户和口令对{ID,PW}。

身份验证的过程如下:

(1)U→AS:ID

用户输入账户ID,将身份验证请求上传至服务器AS。

(2)U←AS:R

服务器AS查询用户信息,如果账户ID不是已经注册的账户,就拒绝请求;否则产生

2 电子发烧友 电子技术论坛一个随机数r,计算R= ay mod p(p为大素数,a为Zp的本原元),将挑战数R提交给用户。

(3)U→AS: h(h(PW)||R⊕V,h(h(PW)||R||V)

用户输入PW并计算h(PW),选择随机数x,计算V= ax mod p,然后把h(PW)和R连接后的hash值与V作异或运算。同时为保证V的完整性以进行认证,计算h(h(PW)||R||V)。将h(h(PW)||R⊕V和h(h(PW)||R||V)一起传给认证服务器AS。

(4)U←AS: h(V+1)

服务器用自己的私钥解密h(PW),计算h(h(PW)||R,然后将其与h(h(PW)||R⊕V进行异或运算求得V’,计算h(h(PW)||R||V’)。若h(h(PW)||R||V’)与收到的h(h(PW)||R||V)相等,则认为用户合法,通过验证,计算h(V+1)并作为应答信息传给用户;否则,服务器拒绝用户的认证。

(5)U→AS:验证服务器

用户将收到的应答值与自己计算的结果h(V+1)进行比较。如果二者相等,则通过对服务器的验证,登录成功;否则,用户拒绝登录。

在此后的会话过程中,用户和服务器双方使用K = axy

mod p作为会话密钥加、解密通信内容。

动态口令的认证过程可用图1表示。

认证请求ID挑战值R

服务器端AS

3.2 动态口令认证系统的组成

动态口令认证系统由两部分组成:客户端和认证服务器。其基本结构如图2所示。

用户注册 身份认证

用户数据

认证服务器AS

客户端User

用户

h(PW,R,V)

应答值H(V+1)验证服务器

图1 动态口令认证过程

网络

令牌

用户

令牌

图2 动态口令认证系统结构图

3 电子发烧友 电子技术论坛(1)客户端

为用户提供了一个简单、易行的口令产生办法。通过认证算法产生只能使用一次的“动态口令”,而且口令无法观测和跟踪,这就使得用户口令既无法被窃取,而且又能解决口令频繁变换所带来的问题。

(2)安全认证服务器

安全认证服务器运行在网络环境下,它负责控制所有的远程用户对网络的访问,提供了全面的认证,授权服务。服务器端的加密软件模块,接收到用户的口令并自动进行计算和验证,从而保证认证过程的完成。

(3)加密安全设备

加密安全设备指服务器端和客户端的加密机或加密卡。其作用主要是对重要数据的安全提供加密保护。

3.3 方案的性能分析

(1)重放攻击:由于每次认证时双方发送的挑战信息R和V都与以前不同,当入侵者在第三步进行重放攻击时,认证服务器自己计算的结果H(H(PW)||R||V)将不等于收到的值。于是认证服务器拒绝登录请求,重放攻击失败。

(2)小数攻击:认证过程中采用的是公钥加密算法,小数攻击无法奏效。

(3)服务器欺骗:如果入侵者在第二步假冒认证服务器向用户发送随机数R,但由于他不知道用户口令PW,无法求出用户发回的挑战信息V,进而不能正确计算h(V+1)。在随后的应答中,服务器不能通过用户对其进行的验证。

(4)暴力破解:该系统的安全性依赖于单向散列函数和公钥密码的安全性,以MD5数据摘要算法为例,其输出是128位的数据,攻击者只知道这个结果,要想得到输入M或者另一输入N要使得散列函数值H(M) = H(N)。如果使用穷举法需要尝试2128次,而公钥密码基于大素数分解,目前还没有较好的破解办法。

(5)口令猜测:认证服务器端存储用户口令的hash值h(PW),并用认证服务器的公钥对h(PW)加密。即使入侵者通过离线攻击获取口令文件,但他没有认证服务器的私钥,不能解密口令文件进行猜测攻击。

4 结束语

本文以挑战/应答方案为基础,运用单向散列函数和公钥加密体制生成共享密钥,设计了一种能有效适用于网络环境的动态口令身份认证方案。该方案能对客户端和服务器实行双向认证,克服了传统的挑战/应答的弱点,保护了用户身份信息的安全,能有效防止重放,暴力破解等常见的攻击手段,通过公钥密码体制的使用,增强了认证过程的安全性。在信息安全越来越受到重视的今天,动态口令身份认证系统适用于电子商务,金融,证券,网络游戏,内部管理等许多领域,提供强大的安全管理,前景非常乐观。

本文创新点:针对现有的动态密码认证方式的缺点,提出基于MD5和公钥加密算法的身份认证方案,有效克服重放攻击,小数攻击,能够实现客户端和服务器的双向认证,达到较高的安全性。

参考文献:

[1] 李金库,张德运,张勇. 身份认证机制研究及其安全性分析[J]. 计算机应用研究,2001,2:126-128。

[2] 陈立志,李凤华,戴英侠. 基于动态口令的身份认证机制及其安全性分析[J]. 计算机工程,2002,10:48-49。

[3] 刘知贵,臧爱军,陆荣杰. 基于事件同步及异步的动态口令身份认证技术研究[J]. 计算机应用研究,2006,6:133-134。

[4] 李京顺. 口令安全管理[J]. 电脑与信息技术,2006,8:76-78。

4 电子发烧友 电子技术论坛[5] 张峰,王小妮,杨根兴. 一种安全的身份认证系统——动态口令认证系统[J]. 电脑开发与应用,2002,4:24-25。

[6] 张文. 动态口令身份认证系统的设计与实现[J]. 微计算机信息,2005,21-3:232-233。

作者简介:傅德胜(1950- ),男(汉族),江苏靖江人,南京信息工程大学计算机与软件学院教授,主要从事信息安全研究

陈昕,女(1984- ),女(汉族),江苏南京人,南京信息工程大学计算机与软件学院硕士研究生,主要研从事信息安全研究

Biography: Fu Desheng (1950- ), male (HAN nationality), Jiangsu Province, Nanjing University of Information

Science & Technology, professor, Major: computer science and technology, Research area: information security.

Chen Xin(1984- ), female(HAN nationality), Jiangsu Province, Nanjing University of Information Science &

Technology, graduate student, Major: computer science and technology, Research area: information security.

5