加密代理和“微PN”的区别

加密代理和VPN

上一次讲到代理服务器,socks代理和http/https代理同样都让客户端和服务器端建立安全的TCP连接。但由于http代理只解析http协议的网络连接。所以,大多的加密代理服务及软件都会选择功能丰富的socks5代理。

何为VPN?

平常所说的“VPN”并不是真正意义上的VPN(指的是socks代理),简单说只是连接端和服务代理端之间套上了加密。

VPN(英全称:Virtual Private Network  中译:虚拟私人网络),主要作用是用来加密通讯的,加入到一个专有网络或局域网当中,加入到专有的网络后VPN通常会分配一个局域网的IP,实现访问内部网络。部署方式可以通过服务器、路由器、第三方软件等多种方式实现。电脑、手机的设置上都有自带的VPN连接设置,通讯加密方式取决于VPN服务器上设置的加密方式和协议。

例如:某公司员工出差,若要登陆公司内部的OA系统或者邮箱,如何操作?如果是远程控制电脑,被控制的电脑总要开着吧,但不用的时候又会浪费电。所以这时候VPN派上用场,通过自带VPN设置连接或者使用对应的第三方连接工具进行远程连接。

VPN开发的主要目的是为企业内网或通讯之间的数据传输加密,安全性是最重要的。但VPN的流量特征会变得特别明显。特别是带有SSL的VPN类型,例如openvpn有SSl安全证书加密,安全性很高。但是在通讯握手的时候是用明文的,流量特征明显,能容易匹配流量特征,所以一般都会被发现正在使用VPN,但可以放心里面的内容不会被发现。

流量特征?

流量特征的体现在连接端和远程服务器建立连接时,VPN会有特定的身份验证表现。无论如何加密通讯内容,访问特定的服务流量会有其中的特征,例如时间特征(通讯流量中每个字节送达的时间间隔序列),在用什么样的节奏通讯,每个IP数据包的大小。(以下为每种流量类型的图像化处理结果)

“特征字”检测:应用通讯通常依赖不同的协议,然而不同的协议都有特殊的“指纹”,而这些“指纹”有可能是特定的端口、字符串、bit序列。

例如:Bittorrent协议的识别,对等协议由一个握手开始,后面是循环的消息流,每个消息的前面,都有一个数字来表示消息的长度。在握手的时候,首先是先发送 19,跟着是字符串“BitTorrent protocol”。那么“19BitTorrent Protocol”就是Bittorrent的“特征字”。

能有这个流量特征检测分析能力的还要得益于DPI(Deep Packet Inspection)深度包检测技术。

DPI?

DPI技术是一种基于应用层的流量检测和控制技术,俗称“深度包检测”。顾名思义,“深度”指比普通的报文分析层次更深入。

普通的报文检测是分析IP包及4层以下的内容,内含源地址、目的地址、源端口、远程目的端口、协议类型。

DPI检测,除了普通的报文检测分析外,还会对应用层分析,识别里面各种应用和内容。该系统会深入读取经过的IP数据包、TCP和UDP数据流,对OSI七层协议中的应用层信息进行充重组。将得到的应用程序信息的内容,按照系统定义好的管理策略对流量进行整理操作,把整理好的应用信息加入到应用特征库。每当有流量经过时,解析包的应用信息与后台的特征库进行比较。

图1为传统IP头部报文分析

(图1)

图2为dpi技术对应用特征的分析

(图2)

深度包检测技术是一项成功的技术,在流量管理、安全、网络分析有重要的应用,DPI能检测数据包的内容,并且能够提取出内容级别的信息,例如恶意软件、具体数据、应用程序类型,从基本的通信信息再到更深层的信息类型、信息安全。这项技术也有很好的用途,可以通过DPI来管理、分离网络流量和网络性能。对于服务供应商来说把流量分为语音、网络流量、应用流量等。通过分类,把关键流量和非关键流量进行优化,减少网络拥堵。而对于企业来说使用DPI来管理网络,可以让管理员控制网络性能,网络性能不好时,限制某种优先等级低的应用流量,降低设备负载,让优先等级高的流量优先通过,达到协调性能的目的。

加密代理:

加密代理一般使用socks5代理的方式,服务端部署后,连接端需要使用客户端软件与服务端连接。按照IP地址、加密密码、加密方式、端口等信息填入配置文件中。在与服务端成功连接后,客户端会在本地电脑上建一个基于socks5代理的本地端口,在浏览网络时,网络流量都会被本地的socks5代理端口所监听,由客户端将其加密后发送到服务端,服务端再以同样的方式将流量回传给客户端。以此实现流量加密上网。

一般加密代理会尽量避免明显的流量特征,在普通的sokcs代理加上自定义的加密系统,而加密的时候由于是使用了预先部署的密钥,没有较为明显的握手特征,所以很少会被发现。

加密算法的不同,会在数据的开头或其他地方加入一些随机字节,这样即使数据内容相同,但加密的结果也会不同。但在同一个加密算法下,同一个加密算法添加的随机字节内容是固定的常见的加密算法有rc4-md5和AES系列(aes-128-cfb、aes-256-cfb等等)。比较不凑巧,这些算法均会在前面添加16字节的随机数据。使得有一定几率会被检测到所使用的协议特征。

随着现在的深度学习技术发展,有部分研究对流量检测进行深度学习,把各种各样的流量类型图形化处理。

(上图是将TCP流的载荷类比为图片进行处理的过程)

 

    总结:

VPN主要作用是加密数据,保证其通信的安全性和私密性,大多数是加密企业数据,把安全放在第一位。

    加密代理主要是穿透限制,甚至是用于加速访问网络,但不能作为匿名的通讯方案。