基于RDP改进协议的防止和检测中间人攻击的方法与流程

文档序号:12040288阅读:454来源:国知局
基于RDP改进协议的防止和检测中间人攻击的方法与流程
本发明涉及计算机网络安全技术领域,尤其涉及一种基于RDP改进协议的防止和检测中间人攻击的方法。

背景技术:
远程桌面是Windows操作系统的一个标准组建,它允许用户使用任何基于Windows操作系统的客户端从任何位置,通过任何连接访问另一台基于Windows的操作系统;远程桌面可让用户可靠地使用远程计算机上的所有应用程序,文件和网络资源,就如同用户本人坐在远程计算机的面前一样。不仅如此,本地运行的任何应用程序在用户使用远程合作面后任然可以正常运行。远程桌面的这些功能是通过微软公司的远程桌面协议,即RDP(RemoteDesktopProtocol)协议提供的,RDP实现Windows终端或其他任何基于Windows的客户端与Windows服务器进行通信,从而为运行在Windows上的应用程序提供远程显示和输入的能力,RDP能在任何TCP/IP的连接上运行,默认在端口3389上监听。RDP数据通信阶段的所有通信数据均采用RC4加密算法,其密钥构建的安全性由认证阶段的操作来保证,服务器和客户端通过认证阶段的操作相互交换了随机数(Ns服务器随机数,Nc客户端随机数),并同时按照约定的算法,各自独立生成一个RC4密钥,由于数据输入和算法相同,双方的RC4密钥是等同的。而RDP在前面认证阶段的协商密钥时使用的非对称加密算法RSA,由公钥部分Es,Ms和私钥部分Ds组成,服务器发布公钥Es,Ms和服务器随机数Ns到客户端,客户端使用公钥加密自身随机数Nc发送到服务器,服务器使用私钥Ds解密得到Nc,从而完成两个随机数的交换。从RDP协议的密钥协商过程和RDP协议的安全性分析可以看出,RDP协议存在中间人攻击漏洞,在协议的设计中客户端仅仅通过计算以服务器公钥为参数的MAC值来验证服务器公钥的正确性,由此可见,当攻击者获取MAC算法,即可通过计算已知私钥对应的公钥的MAC值,来篡改数据包,实现中间人攻击,因此,RDP协议存在中间人攻击漏洞的根源是其单向认证特性,即客户端不对服务器身份进行认证。中间人攻击者在通过ARP欺骗等方法获得RDP客户端和服务器间的通信控制权后,可以生成自己的公钥私钥对,在连接认证阶段替换服务器的公钥,并用自己的私钥解密,即可获取会话密钥,达到中间人攻击的目的。中间人攻击步骤如图1所示:1,客户端向服务器提交连接请求2,服务器接收到请求后,记录并提交请求的客户端IP,并产生Ns3,服务器将RSA加密所需要的Es,Ms和Ns发送给客户端4,中间人截获服务器反馈信息,提取出Ns,将服务器的公钥Es,Ms替换为自身的公钥Em,Mm后伪装成服务器继续发送给客户端5,客户端收到中间人所伪装的服务器发回的反馈信息并产生Nc6,使用接收到的Em,Mm对Nc进行加密,产生密文M,并发送给服务器7,中间人截获客户端发出的数据,使用自身的私钥Dm进行解密,获得客户端随机数Nc,然后再用服务器的公钥Es,Ms对Nc进行加密,然后伪装成客户端,发送给服务器,这样中间人就获得了生成RC4密钥所需要的客户端和服务器的随机数8,服务器使用Ds对接收到的密文进行解密,获得客户端随机数Nc9,客户端和服务器都获得了各自和对方的随机数,开始使用RC4加密算法对通信加密,握手过程结束,这之后所有的通信数据都为RC4加密,由于中间人已经提前获得了RC4加密的密钥,所以对之后的通信数据的截取都能进行解密,从而达到监控或者篡改数据的目的。目前对于RDP协议的改进方案都是从认证的角度入手,例如使用SSL机制,增加客户端对服务器的认证策略,利用证书和可信任的第三方认证,证书持有者在握手的时候交换数字证书,通过验证来保证对方身份的合法性。这种改进存在一定的风险,因为整个保密机制都依赖于可信任的第三方所发布的证书,一旦被中间人通过某种渠道也获取到了合法的证书,那么这种对中间人攻击的防范就可能无效化了,其次,对于中小企业的小型服务器来说,获得CA的认证会被收取一定的费用,造成了额外的开支。门限方案(t,n)是一种密码学方案,一个数据项分成n个部分,n中的任何t项足以确定原始数据项。因此,对于现有技术所存在的问题,迫切需要本领域技术人员解决的技术问题是提供一种在密钥交换期间的握手机制,既可以防范中间人攻击,又可以不完全依赖于第三方的证书,同时还能减少服务器端的费用,已改进现有技术存在的问题。

技术实现要素:
本发明所要解决的技术问题是提供一种改进的RDP协议,通过改进RDP协议的密钥交换握手机制,有效增强数据传输的安全性,有效地防止和检测中间人攻击。为了解决上述问题,本发明公开了一种基于RDP改进协议的防止和检测中间人攻击的方法,包括:1,客户端向服务器提交连接请求;2,服务器接收到请求后,记录下提交请求的客户端IP,并产生Ns;3,服务器将RSA加密所需要的Es,Ms和Ns发送给客户端;4,客户端收到服务器发回的反馈信息并产生Nc;5,使用接收到的Es,Ms对Nc进行加密,产生密文M;6,根据基于拉格朗日插值多项式的门限方案机密共享算法,由t-1次拉格朗日插值多项式,令P(x)=(at-1xt-1+at-2xt-2+...+a1x+a0)modp其中,常量a0为共享的机密S,a0=S,P(0)=S,选择p>S,且p>n,任意选择a1,a2,···,at-2,at-1,将P(1),P(2),...P(n)作为n个影子,形成门限方案(t,n)。将M作为共享的密钥,门限方案为(t,n),计算得到n个影子,客户端将其中的s份影子发送到可信第三方;7,使用可信任第三方TTP的公钥Pk对n份中的s份(s<t)和服务器的IP地址进行加密,产生的加密文件发送到TTP进行保存;8,使用Es,Ms对t-s份密文加密后发送到服务器;9,服务器对接收到的信息进行解密,得到t-s份密文;10,服务器向TTP发送索求前s份密文的信息;11,TTP在对服务器的身份进行验证后,将客户端存储的s份密文发送给服务器,如果服务器没有收到密文,则返回步骤10;12,服务器获得t份密文,使用门限方案(t,n)将密文还原回密文M;13,服务器使用Ds对密文M进行解密;14,解密失败的话,则表明在之前服务器与客户端之间的握手过程中存在密钥被替换的情况,证明存在中间人攻击,服务器发出警告,断开与客户端的连接;15,解密成功后,服务器获得Nc;16,客户端和服务器都获得了各自和对方的随机数,开始使用RC4加密算法开始对通信加密,握手过程结束。进一步的,所述的基于RDP改进协议的防止和检测中间人攻击的方法,还包括:101,客户端向服务器提交连接请求;102,服务器接收到请求后,记录下提交请求的客户端IP,并产生Ns;103,服务器将RSA加密所需要的Es,Ms和Ns发送给客户端;104,中间人截获服务器反馈信息,提取出Ns,将服务器的公钥Es,Ms替换为自身的公钥Em,Mm后伪装成服务器继续发送给客户端;105,客户端收到中间人所伪装的服务器发回的反馈信息并产生Nc;106,使用接收到的Em,Mm对Nc进行加密,产生密文M;107,根据基于拉格朗日插值多项式的门限方案机密共享算法,由t-1次拉格朗日插值多项式,令P(x)=(at-1xt-1+at-2xt-2+...+a1x+a0)modp其中,常量a0为共享的机密S,a0=S,P(0)=S,选择p>S,且p>n,任意选择a1,a2,···,at-2,at-1,将P(1),P(2),...P(n)作为n个影子,形成门限方案(t,n);将M作为共享的密钥,门限方案为(t,n),计算得到n个影子,客户端将其中的s份影子发送到可信第三方;108,使用可信任第三方TTP的公钥Pk对n份中的s份(s<t)和服务器的IP地址进行加密,产生的加密文件发送到TTP进行保存;109,使用Em,Mm对t-s份密文加密后发送到服务器;1010,中间人截获客户端发出的数据,使用自身的私钥Dm进行解密,获得t-s份密文,然后再用服务器的公钥Es,Ms对t-s份密文进行加密,然后伪装成客户端,发送给服务器;1011,服务器对接收到得信息进行解密,得到t-s份的密文;1012,服务器向TTP发送索求前s份密文的信息;1013,TTP在对服务器的身份进行验证后,将客户端存储的s份密文发送给服务器;如果服务器没有收到密文,则返回步骤1010;1014,服务器获得t份密文,使用门限方案(t,n)将密文还原回密文M;1015,服务器使用Ds对密文M进行解密;1016,由于密文M加密时所用的公钥是中间人所伪装的服务器发来的Em,Mm,所以服务器用Ds解密是肯定失败的,说明在之前服务器与客户端之间的握手过程中存在密钥被替换的情况,证明存在中间人攻击,服务器发出警告,断开与客户端的连接。综上,本方案应用于RDP协议的密钥交换握手过程中,可以利用其独特的密文拆分并分开传输机制,大大降低了中间人获取客户端随机数的风险,同时在服务器获取密文之后检测是否存在中间人攻击,而且该方案中所提到的可信第三方也仅仅是扮演了存储密文的角色,增强了密钥协商的安全性,也省去了多余的费用,还可以达到防范和检测中间人攻击的目的。附图说明图1是背景技术中提到的中间人攻击步骤示意图;图2是本发明的一种对RDP协议密钥交换期间的握手机制的改进方法的流程示意图;图3是在通信过程中存在中间人攻击的情况下,本发明在防范和检测中间人攻击的流程示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图与实例对本发明作进一步详细说明。但所举实例不作为对本发明的限定。参见图2所示,本发明的一种对RDP协议密钥交换期间的握手机制的改进方法的流程,具体包括以下主要步骤:1,客户端向服务器提交连接请求;2,服务器接收到请求后,记录下提交请求的客户端IP,并产生Ns;3,服务器将RSA加密所需要的Es,Ms和Ns发送给客户端;4,客户端收到服务器发回的反馈信息并产生Nc;5,使用接收到的Es,Ms对Nc进行加密,产生密文M;6,根据基于拉格朗日插值多项式的门限方案机密共享算法,由t-1次拉格朗日插值多项式,令P(x)=(at-1xt-1+at-2xt-2+...+a1x+a0)modp其中,常量a0为共享的机密S,a0=S,P(0)=S。选择p>S,且p>n,任意选择a1,a2,···,at-2,at-1,将P(1),P(2),...P(n)作为n个影子,形成门限方案(t,n)。将M作为共享的密钥,门限方案为(t,n),计算得到n个影子,客户端将其中的s份影子发送到可信第三方。7,使用可信任第三方TTP的公钥Pk对n份中的s份(s<t)和服务器的IP地址进行加密,产生的加密文件发送到TTP进行保存;8,使用Es,Ms对t-s份密文加密后发送到服务器;9,服务器对接收到的信息进行解密,得到t-s份密文;10,服务器向TTP发送索求前s份密文的信息;11,TTP在对服务器的身份进行验证后,将客户端存储的s份密文发送给服务器。如果服务器没有收到密文,则返回步骤10;12,服务器获得t份密文,使用门限方案(t,n)将密文还原回密文M;13,服务器使用Ds对密文M进行解密;14,解密失败的话,则表明在之前服务器与客户端之间的握手过程中存在密钥被替换的情况,证明存在中间人攻击,服务器发出警告,断开与客户端的连接;15,解密成功后,服务器获得Nc;16,客户端和服务器都获得了各自和对方的随机数,开始使用RC4加密算法开始对通信加密,握手过程结束。参见图3所示,通信过程中存在中间人攻击的情况下,本发明在防范和检测中间人攻击的流程:101,客户端向服务器提交连接请求;102,服务器接收到请求后,记录下提交请求的客户端IP,并产生Ns;103,服务器将RSA加密所需要的Es,Ms和Ns发送给客户端;104,中间人截获服务器反馈信息,提取出Ns,将服务器的公钥Es,Ms替换为自身的公钥Em,Mm后伪装成服务器继续发送给客户端;105,客户端收到中间人所伪装的服务器发回的反馈信息并产生Nc;106,使用接收到的Em,Mm对Nc进行加密,产生密文M;107,根据基于拉格朗日插值多项式的门限方案机密共享算法,由t-1次拉格朗日插值多项式,令P(x)=(at-1xt-1+at-2xt-2+...+a1x+a0)modp其中,常量a0为共享的机密S,a0=S,P(0)=S。选择p>S,且p>n,任意选择a1,a2,···,at-2,at-1,将P(1),P(2),...P(n)作为n个影子,形成门限方案(t,n)。将M作为共享的密钥,门限方案为(t,n),计算得到n个影子,客户端将其中的s份影子发送到可信第三方;108,使用可信任第三方TTP的公钥Pk对n份中的s份(s<t)和服务器的IP地址进行加密,产生的加密文件发送到TTP进行保存;109,使用Em,Mm对t-s份密文加密后发送到服务器;1010,中间人截获客户端发出的数据,使用自身的私钥Dm进行解密,获得t-s份密文,然后再用服务器的公钥Es,Ms对t-s份密文进行加密,然后伪装成客户端,发送给服务器;1011,服务器对接收到得信息进行解密,得到t-s份的密文;1012,服务器向TTP发送索求前s份密文的信息;1013,TTP在对服务器的身份进行验证后,将客户端存储的s份密文发送给服务器。如果服务器没有收到密文,则返回步骤1010;1014,服务器获得t份密文,使用门限方案(t,n)将密文还原回密文M;1015,服务器使用Ds对密文M进行解密;1016,由于密文M加密时所用的公钥是中间人所伪装的服务器发来的Em,Mm,所以服务器用Ds解密是肯定失败的,说明在之前服务器与客户端之间的握手过程中存在密钥被替换的情况,证明存在中间人攻击,服务器发出警告,断开与客户端的连接。以上对本发明所提供的基于RDP改进协议的防止和检测中间人攻击的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1