[发明专利]基于RDP改进协议的防止和检测中间人攻击的方法有效
申请号: | 201310337181.2 | 申请日: | 2013-08-05 |
公开(公告)号: | CN103401872A | 公开(公告)日: | 2013-11-20 |
发明(设计)人: | 何泾沙;徐晶;徐琛;张跃骞;刘公政 | 申请(专利权)人: | 北京工业大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/12 |
代理公司: | 北京汇信合知识产权代理有限公司 11335 | 代理人: | 陈圣清 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 rdp 改进 协议 防止 检测 中间人 攻击 方法 | ||
技术领域
本发明涉及计算机网络安全技术领域,尤其涉及一种基于RDP改进协议的防止和检测中间人攻击的方法。
背景技术
远程桌面是Windows操作系统的一个标准组建,它允许用户使用任何基于Windows操作系统的客户端从任何位置,通过任何连接访问另一台基于Windows的操作系统;远程桌面可让用户可靠地使用远程计算机上的所有应用程序,文件和网络资源,就如同用户本人坐在远程计算机的面前一样。不仅如此,本地运行的任何应用程序在用户使用远程合作面后任然可以正常运行。
远程桌面的这些功能是通过微软公司的远程桌面协议,即RDP(Remote Desktop Protocol)协议提供的,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,并产生Ns
3,服务器将RSA加密所需要的Es,Ms和Ns发送给客户端
4,中间人截获服务器反馈信息,提取出Ns,将服务器的公钥Es,Ms替换为自身的公钥Em,Mm后伪装成服务器继续发送给客户端
5,客户端收到中间人所伪装的服务器发回的反馈信息并产生Nc
6,使用接收到的Em,Mm对Nc进行加密,产生密文M,并发送给服务器
7,中间人截获客户端发出的数据,使用自身的私钥Dm进行解密,获得客户端随机数Nc,然后再用服务器的公钥Es,Ms对Nc进行加密,然后伪装成客户端,发送给服务器,这样中间人就获得了生成RC4密钥所需要的客户端和服务器的随机数
8,服务器使用Ds对接收到的密文进行解密,获得客户端随机数Nc
9,客户端和服务器都获得了各自和对方的随机数,开始使用RC4加密算法对通信加密,握手过程结束,这之后所有的通信数据都为RC4加密,由于中间人已经提前获得了RC4加密的密钥,所以对之后的通信数据的截取都能进行解密,从而达到监控或者篡改数据的目的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310337181.2/2.html,转载请声明来源钻瓜专利网。