动态口令身份认证机制及其安全性研究*
顾韵华 , 刘素英
(南京信息工程大学计算机与软件学院, 南京 210044)
摘要:基于口令的身份认证是目前多数应用系统所采用的安全机制。动态口令是身份认证机制新的发展方向。本文详细阐述了常用的三种动态口令机制,并对它们的安全性进行了分析。 关键词:动态口令 时间同步 事件同步 挑战/应答 安全性
中图分类号:TP309.2 文献标识码: A
Research on Dynamic Password Identity Authentication Mechanism and Its Security
Gu Yunhua , Liu Suying
(School of Computer and Software , Nanjing University of Information Science and Technology ,
Nanjing , Jiangsu , 210044)
Abstract: Identity Authentication based on password is main security mechanism in many application systems. Dynamic password is the trend of the Identity Authentication mechanism’s development. The three common dynamic password mechanisms in use are described in details in this article and their security is also analyzed.
Keywords: dynamic password; time synchronization; event synchronization; challenge/response; security
1 引言
基于口令的身份认证机制具有易于实现和操作简单等特点,被广为使用。传统的静态口令机制采用用户名/口令核对法:即系统为每个用户维护一个(用户ID ,口令)二元组信息,用户登录系统时,输入自己的用户ID 和口令,系统通过比对用户输入的(用户ID ,口令)与系统内维护的(用户ID ,口令)二元组信息,来判断用户身份的合法性。这种方式实现和操作都很简单,但其安全性仅依赖于用户口令的保密性,一旦用户口令泄密,合法用户就会被冒充。用户口令的泄密存在主、客观两方面的原因:主观方面,用户为方便记忆往往采用短口令或者生日、姓名、电话号码等作为口令,并且常会出现用户对口令管理不善(如随手写下口令造成口令泄露)的问题;客观方面,攻击者可采用多种攻击手段以获得用户口令,常用的攻击手段有穷举尝试、字典攻击、网络窃听、重放攻击等。
动态口令机制是为了解决静态口令的不安全问题而提出的,基本思想是用动态口令代替静态口令,其基本原理是:在客户端登录过程中,基于用户的秘密通行短语(Secure Pass Phrase ,SPP )加入不确定因素,对SPP 和不确定因素进行变换(如使用MD5信息摘录),所得的结果作为认证数据(即动态口令),提交给认证服务器。认证服务器接收到用户的认证数据后,以事先预定的算法去验算认证数据,从而实现对用户身份的认证。由于客户端每次生成认证数据都采用不同的不确定因素值,保证了客户端每次提交的认证数据都不相同,因此动态口令机制有效地提高了身份认证的安全性。
根据口令生成时不确定因素的选择方式,动态口令机制有时间同步机制、事件同步机制和挑战/应答机制等,本文将阐述这三种常用动态口令机制,并对它们的安全性进行分析。 2 常用动态口令机制
2.1基于时间同步的动态口令机制
基于时间同步(Time Synchronization)的动态口令机制,其特点是选择单向散列函数作为认证数据的生成算法,以种子密钥和时间值作为单向散列函数的输入参数。由于时间值是不断变化的,因此散列函数运算所得的认证数据也在不断变化,保证了每次产生的认证数据不相同。基于时间同步的动态口令机制的认证过程如图1所示。
* 本文的研究工作受江苏省高校自然科学研究项目资助,编号06KJD520120
图1 基于时间同步动态口令机制的认证过程
基于时间同步动态口令机制的认证过程如下:用户输入ID (或
PIN 码),客户端单向散列函数以时间和种子密钥作为参数进行计算,将计算所得的动态口令传送到认证服务器。认证服务器确认用户ID 的合法性后,从服务器加密的数据库中提取该用户所对应的种子密钥,采用与客户端相同的单向散列函数计算出验证口令,若验证口令和动态口令相同则通过验证,否则不能通过验证。
时间同步方式的关键在于认证服务器和客户端的时钟要保持同步,只有在两端时钟同步的情况下才能做出正确的判断。一旦发生了时钟偏移,就需进行时钟校正。
目前一些著名的动态口令安全产品,如RSA 的SecureID 和Vasco 的DigPass 系列均采用基于时间同步的动态口令生成技术。
2.2 基于事件同步的动态口令机制
基于事件同步(Event Synchronization)的动态口令机制又称为Lamport 方式或哈希链(Hash chains)方式。事件同步机制是以事件(例如使用次数或序列数)作为变量。在初始化阶段选取一个口令PW 和一个迭代数n ,及一个单向散列函数H ,计算Y=Hn (PW)(H n ()表示进行n 次散列运算),把Y 和n 的值存储于认证服务器上。客户端计算Y'=Hn-1(PW),将计算结果提交给服务器。服务器则计算Z=H(Y'),并将Z 值与服务器上保存的Y 值进行比较。如果Z=Y,则验证成功,然后用Y' 的值取代服务器上保存的Y 值,同时将n 的值递减1。
图2 基于事件同步动态口令机制的认证过程
基于事件同步的动态口令机制易于实现,且无须特殊硬件的支持。但该方案每次进行身份认证时,客户端要进行多次Hash 运算。而且由于迭代值n 不断递减,当递减为0时就需要重新初始化系统,服务器的额外开销比较大。基于事件同步的动态口令机制同样存在失去同步的风险,如用户多次无目的的生成口令就会造成失步。对于事件的失步,认证服务器可采用增大偏移量的方式进行再同步,即服务器端自动向后推算一定次数的密码。
事件同步动态口令机制的典型代表是ENIGMA 公司的认证技术、Secure Computing公司的Safe Word产品等。
2.3 基于挑战/应答的动态口令机制
基于挑战/应答(challenge/response)的动态口令机制属于异步方式,其基本原理为:选
择单向散列函数或加密算法作为口令生成算法。当用户请求登录时,认证服务器产生一个挑战码(通常是随机数)发送给用户;用户端将口令(密钥)和挑战码作为单向散列函数的参数,进行散列运算,得到的结果(即应答数)作为动态口令发送给认证服务器。认证服务器用同样的单向散列函数做验算即可验证用户身份。基于挑战/应答的动态口令机制的认证过程如图3所示。其身份认证过程为:
(1) 客户端输入用户ID 等信息,向认证服务器发送连接请求。
(2) 服务器检查询数据库,若是合法用户ID ,则生成挑战码并传回客户端。
(3) 客户端根据密钥和挑战码,执行单向散列函数运算,生成应答数并发送到服务器。
(4) 服务器执行同样的算法生成应答数,并与客户端发来的应答数进行比对,得到验证
图3 基于挑战/应答动态口令机制的认证过程
挑战/应答机制中的不确定因素是由认证服务器产生的随机数。由于每个随机数都是惟一的,因此保证了每次产生的口令都不相同。基于此方式的产品有COPYTOCard 公司的COPYTOCard 智能卡等。
口令序列(S/KEY)方式是挑战/应答机制的改进,该方法借鉴了事件同步的思想。其中口令为一个单向前后相关的序列,认证服务器只保存第N 个口令。客户端首先向认证服务器传送用户ID ,认证服务器传回一个挑战码(由该用户ID 对应的种子值和迭代值组成)作为响应。客户端计算程序使用该挑战码和秘密通行短语SPP 产生一个动态口令K ,以K 进行登录,作为对挑战的应答。服务器端计算程序同时也进行计算,产生动态口令K' ,将K' 与所收到K 进行对比,从而完成服务器对登录用户的鉴别。每次登录成功后,迭代值递减。当迭代值递减为0或秘密通行短语泄密后,必须重新初始化。基于口令序列方式的产品有Bellcore 公司的S/KEY、Wietse 公司的LogDaemon 等。
3 安全性分析
口令机制的安全威胁主要来自于信道窃听攻击、穷举尝试和字典攻击、重放攻击、中间人攻击、口令泄露等几个方面。动态口令机制是针对静态口令的不安全性提出来的,在防御以上口令安全威胁上,比静态口令机制具有更高的安全性。
(1)信道窃听
动态口令机制能够完全抵御信道窃听攻击,因为在信道中传输的不是用户的口令而是计算得到的认证数据,攻击者无法窃听到用户的口令。并且由于在计算认证数据中使用了具有不可逆性的散列函数,因此攻击者难于从认证数据中得到用户口令。
(2)穷举尝试和字典攻击
动态口令机制中的用户口令(密钥)的安全性仍非常重要,如果用户口令过于简单,容易被攻击者通过穷举法或字典攻击获得,攻击者仍然能够实施攻击。但在动态口令机制中用户口令仅是产生动态口令的一个因素,产生动态密码时更重要的是加入了不确定因素,所以,
即使攻击者通过穷举法或字典攻击得到用户口令,也因很难获得不确定因素而难于产生可用的动态口令。因此动态口令机制可以有效抵御口令猜测攻击。
(3)重放攻击
动态口令机制能够完全抵御重放攻击,因为每次用户向服务器提交的认证数据都是不同的,因此即使攻击者截获了认证数据,也无法通过重放而获得服务器的验证。
(4)中间人攻击
动态口令机制不能完全抵御中间人攻击。当用户通过网访问服务器时,位于用户与服务器之间的攻击者,可以劫持用户与服务器之间的通信:一方面假冒用户与服务器连接,另一方面假冒服务器与用户连接。
(5)口令泄露
动态口令机制能够有效防止口令泄露造成的安全问题,因为许多动态口令系统中,用户的口令不会在网络中传输。
从以上分析可见,动态口令技术能够有效地抵御大部分针对静态口令的攻击,其安全性得到明显的提高,特别是能有效地抵抗信道窃听、截取/重放、口令泄露等安全威胁。但动态口令机制仍然存在着安全问题,主要表现为基于事件同步和基于口令序列的动态口令机制不能抵御小数攻击,动态口令机制仍然是单向认证机制,并且动态口令机制还不能有效地防范系统内部人员攻击。
基于事件同步和基于口令序列的动态口令机制中,由于种子值和迭代值在网络上都是以明文传输,攻击者可通过网络窃听获取用户的种子值和迭代值。攻击者可将窃得的迭代值修改为较小值,然后假冒服务器,将窃得的种子值与修改过的较小迭代值发送给用户。用户采用攻击者发来的种子值和较小迭代值计算出动态口令K ,然后发给服务器。此时攻击者再次截获用户传来的动态口令K ,并利用已知的单向散列函数依次计算较大迭代值的动态口令,这样就可获得该用户后继的一系列口令,进而攻击者就可以在一段时间内冒充合法用户,这就是小数攻击。为了防范小数攻击,可采取多种技术来改进动态口令机制。一种常用的改进方案是,在服务器中不保存上次的动态口令,而保存加密后的用户秘密通行短语,在进行身份认证时,客户端和服务器端进行相同的单向散列运算,这样既省去了系统的口令初始化过程,又避免了攻击者修改迭代值实施小数攻击。
目前的动态口令机制仍主要是单向认证机制,即服务器对登录用户的身份认证,而用户无法确认服务器的身份,可以在动态口令技术中引入双向身份认证机制来解决此问题。另外,动态口令认证机制不能有效地防御内部人员攻击。因为认证服务器在验证动态口令时,要使用保存在数据库中的种子密钥或上次验证通过的动态口令,若系统内部人员(如管理员)进入认证服务器数据库,并且修改了数据,则其就可以假冒用户登录进入系统。解决此问题的途径有两条:一是动态口令验证服务器采用安全的数据库系统,比如数据加密保存,并且严格管理,确保只有授权的人才能接触验证服务器数据库中的数据,同时所有操作要有日志记录。二是将动态口令机制与第三方认证技术结合起来,这需要设立一个第三方认证中心。但这种方法与PKI 等基于电子证书的身份认证技术一样存在实现成本高的缺陷。
4 结论
动态口令是身份认证机制新的发展方向,它提供了比传统静态口令更高的安全性,是适应当前信息安全发展特点的一项重要的身份认证技术,在政府办公、银行业、证券业、大型企业等有着良好的应用前景。本文对现今常用的三种动态口令机制:基于时间同步、基于事件同步和基于挑战/应答的动态口令机制的基本原理进行了剖析,对动态口令机制的安全性进行了分析,为设计信息安全系统时采用何种动态口令机制提供了参考依据。
本文的创新点是:对三种动态口令机制的安全性作了较全面的分析,指出了它们仍存在
的安全问题,并提出了相关的解决方案。
参考文献
[1] 张文. 动态口令身份认证系统的设计与实现[J ]. 微计算机信息,2005,21-3:232-233
[2] 卢开澄. 计算机密码学-计算机网络中的数据保密与安全[M].北京:清华大学出版社,2003
[3] N Haller,C Metz,P Nesser etc. A One-Time Password System[S] . RFC 2289:1998
[4] Haller N . The S/KEY One-Time Password System(OTP)[S] . RFC 1760:1995
[5] Haller N . C Metz. A One-Time Password System[S] . RFC 1938:1996
[6] 龙毅宏,周祖德,刘泉 . 动态口令的安全脆弱性分析及对策[J] . 信息安全与通信保密,2006,7:16~17
[7] 刘知贵,臧爱军,陆荣杰. 基于事件同步及异步的动态口令身份认证技术研究[J] . 计算机应用研究,2006,6:133~134
作者简介:
顾韵华(1965-),女(汉族) ,江苏泰州人,南京信息工程大学计算机与软件学院副教授,主要从事计算机网络与信息安全研究。
刘素英(1980-),女(汉族) ,江苏淮安人,南京信息工程大学计算机与软件学院硕士研究生,主要从事计算机网络与信息安全研究。
Biography: Gu Yunhua(1965-), female(HAN nationality ) , Jiangsu Province, Nanjing University of Information Science and Technology, associate professor, Major: computer science and technology, Research area: computer networks and information security .
本文作者联系方式:
通信地址:南京市浦口区盘城新街114号,南京信息工程大学计算机与软件学院 邮编:210044
联系人:顾韵华
电子邮件:[email protected]
动态口令身份认证机制及其安全性研究*
顾韵华 , 刘素英
(南京信息工程大学计算机与软件学院, 南京 210044)
摘要:基于口令的身份认证是目前多数应用系统所采用的安全机制。动态口令是身份认证机制新的发展方向。本文详细阐述了常用的三种动态口令机制,并对它们的安全性进行了分析。 关键词:动态口令 时间同步 事件同步 挑战/应答 安全性
中图分类号:TP309.2 文献标识码: A
Research on Dynamic Password Identity Authentication Mechanism and Its Security
Gu Yunhua , Liu Suying
(School of Computer and Software , Nanjing University of Information Science and Technology ,
Nanjing , Jiangsu , 210044)
Abstract: Identity Authentication based on password is main security mechanism in many application systems. Dynamic password is the trend of the Identity Authentication mechanism’s development. The three common dynamic password mechanisms in use are described in details in this article and their security is also analyzed.
Keywords: dynamic password; time synchronization; event synchronization; challenge/response; security
1 引言
基于口令的身份认证机制具有易于实现和操作简单等特点,被广为使用。传统的静态口令机制采用用户名/口令核对法:即系统为每个用户维护一个(用户ID ,口令)二元组信息,用户登录系统时,输入自己的用户ID 和口令,系统通过比对用户输入的(用户ID ,口令)与系统内维护的(用户ID ,口令)二元组信息,来判断用户身份的合法性。这种方式实现和操作都很简单,但其安全性仅依赖于用户口令的保密性,一旦用户口令泄密,合法用户就会被冒充。用户口令的泄密存在主、客观两方面的原因:主观方面,用户为方便记忆往往采用短口令或者生日、姓名、电话号码等作为口令,并且常会出现用户对口令管理不善(如随手写下口令造成口令泄露)的问题;客观方面,攻击者可采用多种攻击手段以获得用户口令,常用的攻击手段有穷举尝试、字典攻击、网络窃听、重放攻击等。
动态口令机制是为了解决静态口令的不安全问题而提出的,基本思想是用动态口令代替静态口令,其基本原理是:在客户端登录过程中,基于用户的秘密通行短语(Secure Pass Phrase ,SPP )加入不确定因素,对SPP 和不确定因素进行变换(如使用MD5信息摘录),所得的结果作为认证数据(即动态口令),提交给认证服务器。认证服务器接收到用户的认证数据后,以事先预定的算法去验算认证数据,从而实现对用户身份的认证。由于客户端每次生成认证数据都采用不同的不确定因素值,保证了客户端每次提交的认证数据都不相同,因此动态口令机制有效地提高了身份认证的安全性。
根据口令生成时不确定因素的选择方式,动态口令机制有时间同步机制、事件同步机制和挑战/应答机制等,本文将阐述这三种常用动态口令机制,并对它们的安全性进行分析。 2 常用动态口令机制
2.1基于时间同步的动态口令机制
基于时间同步(Time Synchronization)的动态口令机制,其特点是选择单向散列函数作为认证数据的生成算法,以种子密钥和时间值作为单向散列函数的输入参数。由于时间值是不断变化的,因此散列函数运算所得的认证数据也在不断变化,保证了每次产生的认证数据不相同。基于时间同步的动态口令机制的认证过程如图1所示。
* 本文的研究工作受江苏省高校自然科学研究项目资助,编号06KJD520120
图1 基于时间同步动态口令机制的认证过程
基于时间同步动态口令机制的认证过程如下:用户输入ID (或
PIN 码),客户端单向散列函数以时间和种子密钥作为参数进行计算,将计算所得的动态口令传送到认证服务器。认证服务器确认用户ID 的合法性后,从服务器加密的数据库中提取该用户所对应的种子密钥,采用与客户端相同的单向散列函数计算出验证口令,若验证口令和动态口令相同则通过验证,否则不能通过验证。
时间同步方式的关键在于认证服务器和客户端的时钟要保持同步,只有在两端时钟同步的情况下才能做出正确的判断。一旦发生了时钟偏移,就需进行时钟校正。
目前一些著名的动态口令安全产品,如RSA 的SecureID 和Vasco 的DigPass 系列均采用基于时间同步的动态口令生成技术。
2.2 基于事件同步的动态口令机制
基于事件同步(Event Synchronization)的动态口令机制又称为Lamport 方式或哈希链(Hash chains)方式。事件同步机制是以事件(例如使用次数或序列数)作为变量。在初始化阶段选取一个口令PW 和一个迭代数n ,及一个单向散列函数H ,计算Y=Hn (PW)(H n ()表示进行n 次散列运算),把Y 和n 的值存储于认证服务器上。客户端计算Y'=Hn-1(PW),将计算结果提交给服务器。服务器则计算Z=H(Y'),并将Z 值与服务器上保存的Y 值进行比较。如果Z=Y,则验证成功,然后用Y' 的值取代服务器上保存的Y 值,同时将n 的值递减1。
图2 基于事件同步动态口令机制的认证过程
基于事件同步的动态口令机制易于实现,且无须特殊硬件的支持。但该方案每次进行身份认证时,客户端要进行多次Hash 运算。而且由于迭代值n 不断递减,当递减为0时就需要重新初始化系统,服务器的额外开销比较大。基于事件同步的动态口令机制同样存在失去同步的风险,如用户多次无目的的生成口令就会造成失步。对于事件的失步,认证服务器可采用增大偏移量的方式进行再同步,即服务器端自动向后推算一定次数的密码。
事件同步动态口令机制的典型代表是ENIGMA 公司的认证技术、Secure Computing公司的Safe Word产品等。
2.3 基于挑战/应答的动态口令机制
基于挑战/应答(challenge/response)的动态口令机制属于异步方式,其基本原理为:选
择单向散列函数或加密算法作为口令生成算法。当用户请求登录时,认证服务器产生一个挑战码(通常是随机数)发送给用户;用户端将口令(密钥)和挑战码作为单向散列函数的参数,进行散列运算,得到的结果(即应答数)作为动态口令发送给认证服务器。认证服务器用同样的单向散列函数做验算即可验证用户身份。基于挑战/应答的动态口令机制的认证过程如图3所示。其身份认证过程为:
(1) 客户端输入用户ID 等信息,向认证服务器发送连接请求。
(2) 服务器检查询数据库,若是合法用户ID ,则生成挑战码并传回客户端。
(3) 客户端根据密钥和挑战码,执行单向散列函数运算,生成应答数并发送到服务器。
(4) 服务器执行同样的算法生成应答数,并与客户端发来的应答数进行比对,得到验证
图3 基于挑战/应答动态口令机制的认证过程
挑战/应答机制中的不确定因素是由认证服务器产生的随机数。由于每个随机数都是惟一的,因此保证了每次产生的口令都不相同。基于此方式的产品有COPYTOCard 公司的COPYTOCard 智能卡等。
口令序列(S/KEY)方式是挑战/应答机制的改进,该方法借鉴了事件同步的思想。其中口令为一个单向前后相关的序列,认证服务器只保存第N 个口令。客户端首先向认证服务器传送用户ID ,认证服务器传回一个挑战码(由该用户ID 对应的种子值和迭代值组成)作为响应。客户端计算程序使用该挑战码和秘密通行短语SPP 产生一个动态口令K ,以K 进行登录,作为对挑战的应答。服务器端计算程序同时也进行计算,产生动态口令K' ,将K' 与所收到K 进行对比,从而完成服务器对登录用户的鉴别。每次登录成功后,迭代值递减。当迭代值递减为0或秘密通行短语泄密后,必须重新初始化。基于口令序列方式的产品有Bellcore 公司的S/KEY、Wietse 公司的LogDaemon 等。
3 安全性分析
口令机制的安全威胁主要来自于信道窃听攻击、穷举尝试和字典攻击、重放攻击、中间人攻击、口令泄露等几个方面。动态口令机制是针对静态口令的不安全性提出来的,在防御以上口令安全威胁上,比静态口令机制具有更高的安全性。
(1)信道窃听
动态口令机制能够完全抵御信道窃听攻击,因为在信道中传输的不是用户的口令而是计算得到的认证数据,攻击者无法窃听到用户的口令。并且由于在计算认证数据中使用了具有不可逆性的散列函数,因此攻击者难于从认证数据中得到用户口令。
(2)穷举尝试和字典攻击
动态口令机制中的用户口令(密钥)的安全性仍非常重要,如果用户口令过于简单,容易被攻击者通过穷举法或字典攻击获得,攻击者仍然能够实施攻击。但在动态口令机制中用户口令仅是产生动态口令的一个因素,产生动态密码时更重要的是加入了不确定因素,所以,
即使攻击者通过穷举法或字典攻击得到用户口令,也因很难获得不确定因素而难于产生可用的动态口令。因此动态口令机制可以有效抵御口令猜测攻击。
(3)重放攻击
动态口令机制能够完全抵御重放攻击,因为每次用户向服务器提交的认证数据都是不同的,因此即使攻击者截获了认证数据,也无法通过重放而获得服务器的验证。
(4)中间人攻击
动态口令机制不能完全抵御中间人攻击。当用户通过网访问服务器时,位于用户与服务器之间的攻击者,可以劫持用户与服务器之间的通信:一方面假冒用户与服务器连接,另一方面假冒服务器与用户连接。
(5)口令泄露
动态口令机制能够有效防止口令泄露造成的安全问题,因为许多动态口令系统中,用户的口令不会在网络中传输。
从以上分析可见,动态口令技术能够有效地抵御大部分针对静态口令的攻击,其安全性得到明显的提高,特别是能有效地抵抗信道窃听、截取/重放、口令泄露等安全威胁。但动态口令机制仍然存在着安全问题,主要表现为基于事件同步和基于口令序列的动态口令机制不能抵御小数攻击,动态口令机制仍然是单向认证机制,并且动态口令机制还不能有效地防范系统内部人员攻击。
基于事件同步和基于口令序列的动态口令机制中,由于种子值和迭代值在网络上都是以明文传输,攻击者可通过网络窃听获取用户的种子值和迭代值。攻击者可将窃得的迭代值修改为较小值,然后假冒服务器,将窃得的种子值与修改过的较小迭代值发送给用户。用户采用攻击者发来的种子值和较小迭代值计算出动态口令K ,然后发给服务器。此时攻击者再次截获用户传来的动态口令K ,并利用已知的单向散列函数依次计算较大迭代值的动态口令,这样就可获得该用户后继的一系列口令,进而攻击者就可以在一段时间内冒充合法用户,这就是小数攻击。为了防范小数攻击,可采取多种技术来改进动态口令机制。一种常用的改进方案是,在服务器中不保存上次的动态口令,而保存加密后的用户秘密通行短语,在进行身份认证时,客户端和服务器端进行相同的单向散列运算,这样既省去了系统的口令初始化过程,又避免了攻击者修改迭代值实施小数攻击。
目前的动态口令机制仍主要是单向认证机制,即服务器对登录用户的身份认证,而用户无法确认服务器的身份,可以在动态口令技术中引入双向身份认证机制来解决此问题。另外,动态口令认证机制不能有效地防御内部人员攻击。因为认证服务器在验证动态口令时,要使用保存在数据库中的种子密钥或上次验证通过的动态口令,若系统内部人员(如管理员)进入认证服务器数据库,并且修改了数据,则其就可以假冒用户登录进入系统。解决此问题的途径有两条:一是动态口令验证服务器采用安全的数据库系统,比如数据加密保存,并且严格管理,确保只有授权的人才能接触验证服务器数据库中的数据,同时所有操作要有日志记录。二是将动态口令机制与第三方认证技术结合起来,这需要设立一个第三方认证中心。但这种方法与PKI 等基于电子证书的身份认证技术一样存在实现成本高的缺陷。
4 结论
动态口令是身份认证机制新的发展方向,它提供了比传统静态口令更高的安全性,是适应当前信息安全发展特点的一项重要的身份认证技术,在政府办公、银行业、证券业、大型企业等有着良好的应用前景。本文对现今常用的三种动态口令机制:基于时间同步、基于事件同步和基于挑战/应答的动态口令机制的基本原理进行了剖析,对动态口令机制的安全性进行了分析,为设计信息安全系统时采用何种动态口令机制提供了参考依据。
本文的创新点是:对三种动态口令机制的安全性作了较全面的分析,指出了它们仍存在
的安全问题,并提出了相关的解决方案。
参考文献
[1] 张文. 动态口令身份认证系统的设计与实现[J ]. 微计算机信息,2005,21-3:232-233
[2] 卢开澄. 计算机密码学-计算机网络中的数据保密与安全[M].北京:清华大学出版社,2003
[3] N Haller,C Metz,P Nesser etc. A One-Time Password System[S] . RFC 2289:1998
[4] Haller N . The S/KEY One-Time Password System(OTP)[S] . RFC 1760:1995
[5] Haller N . C Metz. A One-Time Password System[S] . RFC 1938:1996
[6] 龙毅宏,周祖德,刘泉 . 动态口令的安全脆弱性分析及对策[J] . 信息安全与通信保密,2006,7:16~17
[7] 刘知贵,臧爱军,陆荣杰. 基于事件同步及异步的动态口令身份认证技术研究[J] . 计算机应用研究,2006,6:133~134
作者简介:
顾韵华(1965-),女(汉族) ,江苏泰州人,南京信息工程大学计算机与软件学院副教授,主要从事计算机网络与信息安全研究。
刘素英(1980-),女(汉族) ,江苏淮安人,南京信息工程大学计算机与软件学院硕士研究生,主要从事计算机网络与信息安全研究。
Biography: Gu Yunhua(1965-), female(HAN nationality ) , Jiangsu Province, Nanjing University of Information Science and Technology, associate professor, Major: computer science and technology, Research area: computer networks and information security .
本文作者联系方式:
通信地址:南京市浦口区盘城新街114号,南京信息工程大学计算机与软件学院 邮编:210044
联系人:顾韵华
电子邮件:[email protected]