欢迎来到学术参考网

一种改进的动态口令认证机制的建模研究

发布时间:2015-07-02 14:40
摘要:身份认证是计算机信息安全中的重要问题,本文通过分析身份认证机制及安全特性,对传统口令认证方法作了重要改进,在动态口令认证机制的基础上,提出了一个基于计算机硬件信息实现的动态口令建模方法,并实现了这种认证的一个原型系统。弥补了传统动态口令认证在安全上的缺陷,比原有的动态口令更安全,在信息安全上具有重要应用价值。
  关键词:建模;信息安全;动态口令
  
  1.引言
  
  计算机信息系统在信息社会已经渗透到社会的各领域,在现代企业管理及办公系统中起着重要作用。而信息安全问题一直是计算机系统需求设计中需要解决的问题之一,其原因一方面是由于信息系统自身的缺陷;另一方面是由于网络具有的开放性和网络病毒及黑客工具有意或无意地攻击带来的危害。传统安全方案解决了一些特定的安全问题,但在许多方面仍不能满足要求。
  任何一个信息系统面临的数据安全威胁主要有两类:一类是运行环境、设备的物理安全问题;另一类是信息安全问题,主要体现在非法用户登陆。系统信息安全的解决方法就是对系统建立一种有效的身份认证机制,本文主要针对后一类问题,基于身份认证提出一种基于计算机硬件信息实现的动态口令模型,安全性能好且容易实现,有效解决了软件系统中的信息安全问题。
  
  2.身份认证
  
  身份认证技术在信息安全中占有极其重要的地位,是实现网络安全的主要机制之一。通过这种机制,认证服务器验证网络用户身份与其所宣称的是否一致,然后才能实现对于不同用户的访问控制,授予用户不同的访问权限,确定其对申请资源的操作行为。身份认证方式有基于生物特征的认证方式、基于智能卡的认证方式和基于口令的认证方式。
  身份认证的本质是被认证方有一些信息,除被认证方自己外,任何第三方不能伪造,被认证方能够使认证方相信他确实拥有那些秘密,则他的身份就得到了认证。根据被认证方赖以证明身份的秘密的不同,大致上可分为用户与主机间的认证和主机与主机之间的认证。用户与主机之间的认证可以基于如下一个或几个因素:用户所知道的,如口令、密码等;用户拥有的,如印章、智能卡等;用户所具有的生物特征,如指纹、声音、签字等。
  基于口令的认证方式是一种最常见的技术,但存在严重的安全问题。它是一种单因素的认证,安全性依赖于口令,口令一旦泄露,用户即可被冒充,存在着诸多的安全隐患。动态口令认证是一种让用户的口令按时间或使用次数不断动态变化,每个口令只使用一次的技术,是目前较行之有效的一种认证方案,可有效地防止重放、窃听、猜测等攻击方式,在一定程度上能够解决这些问题。特别在有些机密性比较高的场合,需要一种更强的口令机制。本文以异步方式的动态口令为基础,提出了一种改进的口令身份认证机制,很好的结合了动态口令机制和计算机硬件的特性。
  
  3.改进的动态口令认证机制建模过程
  
  3.1基本思想
  首先,假定涉密的操作环境中,对于固定用户使用的计算机也是相对固定的,在动态口令机制中增加对当前用户使用的计算机的识别。也就是通过对这台计算机硬件的验证,再加上对使用计算机的用户进行验证,实现对用户更高强度的身份验证。实际上对于每台计算机,硬件的一些固有参数都不一样,如网卡,每个网卡生产厂商都必须遵循生产规范,每个网卡的地址都应该不一样,并且网卡地址固化在芯片中不可更改。因此组合这些硬件的参数完全可以形成此计算机的全球唯一硬件标识。
  
  3.2建模过程
  根据上述思想,在建模实现时只需将上述用户口令采用用户的输入口令与计算机硬件标识结合的方式。
  3.2.1用户注册
  首先客户必须离线方式到服务商处申请身份认证注册,并向服务商提交用户的相关可信资料ci,服务商核实客户资料后交给用户唯一注册码m和客户唯一标识名字cid。注册过程如下:
  (1)用户在线向注册服务器注册,提交注册码m和用户相关信息ci,为保密用户的个人资料,将用户资料用密钥m加密传给注册服务器rs。
  (2)注册服务器收到cid,km{cid,ci,s}后解密,得到cid、ci、s的值,然后验证cid、ci、m信息的正确性。用户身份核实正确后,通知客户端下载客户端代理程序。
  (3)客户端下载代理程序,安装完代理程序后,由代理程序搜索客户机的硬件信息(如网卡、硬盘)参数,将参数串连后形成hi,用户提交密码passwd和用户名username。代理程序将hi和passwd串联起来,计算tp=hash(hi||passwd),并在客户端本地记录username与cid之间的对应关系,这样用户就可以取一个简单的名字,随机生成一个数n,防止发生重放攻击。注册服务器收到cid,km{cid,tp,n,s}后,解密得到tp、n、s,计算pf = f(cid,tp),将cid、pf、s存储在注册服务器端。其中f为单向函数。
  (4)注册服务器给客户发送应答消息。
  客户端收到后km{cid,n+1,s},解密,检查n +1的值是否一致,防止rs发生欺骗和重放攻击,注册过程完成。

  3.2.2身份认证过程
  身份认证过程如下:
  (1)客户c向服务器s申请服务。
  (2)服务器作出应答,服务器要求验证客户端的身份,激活客户端的代理程序,并与客户端代理程序建立连接,同时为了防止发生重放攻击,生成一个随机数n,捎带发送给客户c。
  (3)代理程序实时收集客户机的计算机硬件参数信息hi,用户输入的passwd和username,代理程序计算tp=hash(passwd+hi), 由用户名username找到对应的cid,计算pf=f(cid,tp),pg=g(pf,n) 传送cid、pg给s。其中的f、g 为单向函数,至于计算pf、pg的目的在上文动态口令机制中已经阐明。
  (4)服务器s收到cid、pg值之后,传送cid、pg、n给认证服务器as。认证服务器as验证客户身份,从口令数据库或文件中取出pf的值,计算pg = g(pf,n),将计算的pg与s传送过来的pg比较,如果一致则确认客户的身份正确,否则客户的身份验证不正确。
  (5)as将验证结果发送给消息给服务器s,身份认证过程完毕。
  
  4.结束语
  
  本文在动态口令机制上做了改进,提出了一个基于计算机硬件信息实现的动态口令认证建模方法,并实现了这种认证的一个原型系统。在此原型系统设计中,对传统口令认证方法作了重要改进,安全性建立在动态口令机制之上,增加了对特定主机的认证,保证了特殊业务只能在特定主机上进行,比原有的动态口令更安全。而且不需要额外增加硬件设备,节约了项目成本。在一定程度上能够有效防止非法用户登陆系统,从而保证系统中重要数据的安全。
  
  参考文献
  1 冯登国. 《计算机通信网络安全》[m] 清华大学出版社,2001,3
  2 苗高峰 王思昭.动态身份认证系统[j]飞行器测控学报,vol.21,no.2,jun.2002
  3 tsuji l shimizu -time password authentication protocol against theft attacks[j].ieice ,2004,e87-b(3):523-529

上一篇:浅析网络安全扫描技术

下一篇:移动网络监控系统的设计与实现