一种基于数字签名的双向动态身份认证方案设计_第1页
一种基于数字签名的双向动态身份认证方案设计_第2页
一种基于数字签名的双向动态身份认证方案设计_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一种基于数字签名的双向动态身份认证方案设计 摘 要 本文介绍了公钥密码机制实现数字签名的原理,结合基于挑战应答的动态口令认证机制,提出了一种基于数字签名的双向动态身份认证方案设计,最后对本方案进行了安全性分析。经分析得到该方案可以有效确认用户身份并可抵御截取连接的攻击、重放攻击等。 关键字 数字签名;动态身份认证;挑战应答机制 1 引言 随着计算机网络应用的日益深入,网络的安全访问控制愈来愈重要。身份认证作为网络应用系统的首要屏障,目的是验证用户的真实身份,防止非法用户窃取敏感数据。在开放式的网络环境中,身份认证指的是用户身份的确认技术,它是网络安全的第一道防线,是最重要的一道防线。网络中的各

2、种应用和计算机系统都需要通过身份认证来确认用户的合法性,然后确定这个用户的个人数据和特定权限。 2 公钥密码机制实现数字签名的原理 数字签名主要通过散列函数和加密算法来实现。数字签名中用的散列(Hash)函数,其输入可变长,输出为一固定长度的串,该串就被称为输入的散列值(消息摘要)。从理论上来讲,攻击者不可能制造一个不同的输入串来产生一个完全相同的散列值。只要改变了输入的任何位,输出的散列值都会变化。另外,数字签名中使用的散列函数还有单向性、一致性、惟一性的特点,保证了散列函数的安全。这些特性,保证了消息的完整性。公开密钥密码机制加解密算法是公开的,它的安全性主要由它的公、私密钥的安全性所决定

3、。有公钥不能计算出私钥,同样有私钥也不能计算出公钥。由公钥加密的密文,只有私钥拥有者才能解密;如果在这里公钥不公开,那么由私钥加密的密文,只有公钥拥有者才能解密。公私钥的私有性、保密性也就表明了用户的身份特征,可以用来实现数字签名。散列函数和公钥密码机制相结合来实现数字签名,原理如图1所示。 图1 数字签名原理 有要发送的消息M,然后进行如下工作:将它通过一个单向的散列函数Hash()作用,生成固定长度的串H1,即消息摘要。用私钥K1对摘要H1进行加密形成发送方的签名S。签名S作为消息的附件一起发送。接收方接收到消息,采用相同的散列函数计算新摘要H2;用发送方的公钥K2对附件的数字签名进行解密

4、,得到摘要H1;比较H1和H2,如两个摘要相同,则确认数字签名是真实的,同时也验证了文件在传输过程中没有被纂改。通过公钥密码机制实现数字签名,保证了消息的完整性、真实性,防止冒充和抵赖等。同样,这种机制可用于对身份的认证。 3 基于挑战应答的动态口令机制 基于挑战/应答(challenge/response)的动态口令机制属于异步方式, 其基本原理为:选择单向散列函数或加密算法作为口令生成算法。当用户请求登录时,认证服务器产生一个挑战码(通常是随机数)发送给用户;用户端将口令(密钥)和挑战码作为单向散列函数的参数,进行散列运算, 得到的结果(即应答数)作为动态口令发送给认证服务器。认证服务器用

5、同样的单向散列函数做验算即可验证用户身份。其身份认证过程为: (1)客户端输入用户ID等信息,向认证服务器发送连接请求。 (2)服务器检查询数据库, 若是合法用户ID, 则生成挑战码并传回客户端。 (3)客户端根据密钥和挑战码, 执行单向散列函数运算,生成应答数并发送到服务器。 (4)服务器执行同样的算法生成应答数, 并与客户端发来的应答数进行比对,得到验证结果并传回客户端。 4 新的身份认证方案 该节利用哈希函数和公钥密码机制下数字签名方案,设计了一种新型的身份认证方案。该方案将数字签名方案和动态身份认证方案结合,实现了双向身份认证,该方案分为注册过程和认证过程,具体描述如下。 4.1 注册

6、过程 用户在使用本身份认证方案之前必须先向服务器注册,完成系统的初始化操作。当客户端用户i向服务器提出注册请求时,必须提供身份标识UIDi,口令PWi,同时客户端生成一个随机数Ti作为计数器的初始值,以固定格式连接,发送信息ENs(H(UIDi)H(PWi)Ti)给服务器,要求注册(H表示散列函数;Ns为服务器的公钥;ENs()为用Ns加密括号中的信息)。服务器端收到注册信息后,首先利用私钥Nr解密信息得到H(UIDi),H(PWi),Ti,检查H(UIDi)的惟一性,如果发现已被注册,则要求用户重新选择UIDi,否则把用户的注册记录H(UIDi),H(PWi),Ti存进安全数据库,这样注册过

7、程结束。 4.2 认证过程 在客户端输入UIDi,PWi,客户端随机生成Ru并保存;同时计算H(UIDi)和ENs(H(UIDi)Ru)并发给服务器。服务器根据用户发送的H(UID),查看数据库是否有相应的记录,如果没有,则结束认证,否则,利用自己的私钥Nr解密信息,得到H(UIDi) Ru并取出相应的记录信息H(PWi),计算Ru=(H(PWiRu) H(PWi);服务器产生一个随机数Rs,将H(UIDi)Ru和H(Ru)发送给客户端。客户端首先把自己计算得到的H(Ru) 与服务器发送的H(Ru)进行比较,如果两者不相等,则结束认证,否则通过对服务器的认证,并计算Rs=(H(PWiRs)H(

8、PWi),然后生成一个随机数Ro,将H(RsTi)、ENs(o)发送给服务器。服务器首先把自己计算得到的H(RsTi) 与客户端发送的H(RsTi)进行比较,如果两者不相等,则结束认证,否则,建立与客户端的连接,同时利用私钥解密信息,得到o并保存,同时将数据库中保存的Ti值加1。用户成功通过初次认证后,保存Ro,并将相应的Ti值加1。定时(间隔t时间)发送认证消息来保持与服务器的连接,每发送一次认证消息Ti加1。服务器把收到第i次定时认证信息H(RoTi) 与自己计算得到的H(RoTi)进行比较,如果相等,则通过认证,服务器将数据库中保存的值加1。如果服务器没有及时并正确地收到用户端的定时认证

9、信息,就终止此连接,用户要再次访问,必须进行新一次认证连接。 5 安全性分析 (1)本设计方案在注册过程中对客户端与服务器之间传送的信息进行加密,使信息传送更加方便安全。 (2)在认证过程中,用户和服务器都以随机数作为挑战码,使任何截取了认证信息的攻击者都不能通过重放来再次登录。 (3)本设计方案不仅可以实现服务器端对客户端的认证,而且也能实现客户端对服务器端的认证,从而实现了客户端到服务器端的双向认证。 (4)针对窃取连接攻击,方案采用终端定时发送认证信息的方法来抵御。这样即使窃听者窃取了连接也只能在一个时间间隔内访问服务器。 参考文献1 Shamir A,Idetity-based cryptosystem and singnature ShemesC.IN Proc cryto84.Santa Barbara,CA:Springer-Verlag,1984.47-53 2 冯登国,卿斯汉信息安全-核心理论与实践M北京:国防工业出版社,2000 3 Wenbo Mao著,王继林等译现代密码学理论与实践M北京:电子工业出版社,2004 4杨义先,钮心忻应用密码学M 北京邮电大

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论