VPN概述
VPN(Virtual Private Network ,简称VPN)被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。虚拟专用网是对企业内部网的扩展。虚拟专用网可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。虚拟专用网可用于不断增长的移动用户的全球因特网接入,以实现安全连接;可用于实现企业网站之间安全通信的虚拟专用线路,用于经济有效地连接到商业伙伴和用户的安全外联网虚拟专用网。
VPN的三种解决方案,远程访问虚拟网(Access VPN)、企业内部虚拟网(Intranet VPN)和企业扩展虚拟网(Extranet VPN),这三种类型的VPN分别与传统的远程访问网络、企业内部的Intranet以及企业网和相关合作伙伴的企业网所构成的Extranet(外部扩展)相对应。
VPN技术的关键是建立在公共网络上的加密隧道。在VPN中,数据通过一条从源设备到目标设备的虚拟隧道进行传输。虚拟隧道使用加密协议将数据包装并传输到接收端,只有接收端拥有相应的密钥才能将数据包还原成原始数据。VPN技术有多种实现方式,包括基于IPSec协议的VPN、基于SSL协议的VPN等。IPSec VPN通过IPSec协议建立虚拟隧道,可以提供较高的安全性和可靠性;而SSL VPN则通过浏览器等应用程序实现加密隧道,可以方便地实现远程访问。
在VPN中,常见的两种协议是PPTP和L2TP。PPTP(Point-to-Point Tunneling Protocol)是一种在互联网上使用的VPN协议,由微软公司开发。PPTP使用TCP端口1723进行通信,以及GRE(General Routing Encapsulation)协议进行封装。L2TP(Layer 2 Tunneling Protocol)是一种在互联网上使用的VPN协议,由思科公司和微软公司共同开发。L2TP通常和IPSec协议一起使用,可以提供更高的安全性和可靠性。
VPN关键技术
1、IPSec VPN
IPSec协议是网络层协议,是为保障IP通信而提供的一系列协议族,主要针对数据在通过公共网络时的数据完整性,安全性和合法性等问题设计的一整套隧道,加密和认证方案。由于IPSec协议是在网络层上的,与上层协议无关,所以可以随时添加和修改应用程序,对于应用层协议没有特殊要求,所以它的应用领域非常之广。它提供的是网络边缘到客户端的安全保护,仅对从客户到VPN网关之间的通道加密。
IPSec协议的核心是在IP层对数据进行加密和认证。IPSec定义了两个子协议,即认证头部(AH)和封装安全载荷(ESP)。AH主要用于对数据进行认证,验证数据的完整性和真实性;而ESP则负责对数据进行加密,保证数据在传输过程中不会被窃听。
在IPSec协议中,发送方在发送数据之前首先会对数据进行加密和认证,同时在数据头部添加AH或ESP头部。接收方在接收数据时,首先对数据头部进行解析,识别出AH或ESP头部,然后再对数据进行解密和认证。如果接收方检测到数据被篡改或伪造,则会丢弃这些数据,从而保证数据的安全性。
IPSec协议的使用需要双方都支持IPSec协议,并且在通信前需要进行安全关联(Security Association)的建立,以确定加密和认证所需要的参数。安全关联是IPSec协议的一个重要概念,它包含了加密算法、认证算法、密钥等参数,是IPSec协议中数据安全传输的基础。
2、SSL VPN
SSL协议是套接层协议,是为保障基于Web通信的安全而提供的加密认证协议,提供的是应用程序的安全服务而不是网络的安全服务。与IPSec相比,SSL VPN不需要特殊的客户端软件,仅一个Web浏览器即可,而且现在很多浏览器本身内嵌SSL处理功能,这就更加减少了复杂性。它保证端到端的安全,从客户端到服务器进行全程加密。
3、MPLS VPN
MPLS是一种在开放的通信网上利用标签进行数据高速,高效传输的技术,它将第三层的包交换转换成第二层的包交换,以标记替代传统的IP路由,兼有第二层的分组转发和第三层的路由技术的优点,是一种“边缘路由,核心交换”的技术。MPLS-VPN可扩展性好,速度快,配置简单,但是一旦出现故障,解决起来比较困难。基于MPLS的VPN是无连接的,无须定义隧道,这种特点使得MPLS尤其适用于动态隧道技术。
IPSec VPN
IPSec的两种工作模式
- 传输模式:用于主机和主机之间,封装方式是在IP包头和数据之间封装IPSec包头(ESP协议号50或AH协议号51)保护数据。不会隐藏和改变IP地址
- 隧道模式:用于私网与私网之间通过公网进行通信,封装方式是在原有的IP包头和数据之前封装新IP包头和新IPSec包头。
IPSec的两个通信保护协议
- AH:认证报头,AH头不加密所保护的数据包,但它实现了通过哈希函数产生的校验来保障数据的完整性;通过计算验证码时加入一个共享密钥来实现数据源认证;在AH头中的序列号可以防止重放攻击。
- ESP:封装安全有效载荷,ESP不仅提供了AH提供的安全服务,还提供了数据保密和有限的数据流保护。保密服务通过密码算法加密IP数据包的相关部分来实现,数据流保密由隧道模式下的保密服务提供。ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或者SHA1来实现数据完整性认证,ESP还支持NAT穿越。
VPN实现技术
- 隧道技术:指的是通过两端封装和解封装建立专用的一条数据通道,解决私有网络无法与Internet互联以及一种网络无法通过internet同等通信。常见的隧道协议有GRE、L2TP、IPSec、SSL VPN。
- 加解密技术:分为对称加密和非对称加密。对称加密算法速度快,非对称加密算法安全性高,一般两种结合使用
对称加密是加密和解密使用相同的密钥,密钥由双方协商生成,生成过程中是明文传输,容易泄露,如DES,3DES,AES。
非对称加密采用公钥和私钥进行加解密,公私钥成对生成,互为加解密关系。比如A与B传输数据,A从CA拿到B的公钥,A通过B的公钥进行加密数据,B用自己的私钥进行解密。如RSA、ECC等。
- 密钥管理技术:IKE是IPSec的一个重要构成要件,它提供密钥协商与管理机制。当使用IPSec时,必须提供一种方法与对方协商加密算法以及在数据交换中使用的密钥。IKE不是一个单一的协议,而是两个协议的组合,它将Internet安全关联、密钥管理协议和Oakley密钥交换协议集成在一起。
- 身份认证技术:用于验证用户真实性和数据完整性,A通过HASH函数(SHA、MD5)生成一个摘要,再用私钥加密成数字签名发送,B收到后用A的公钥解密得到摘要,再对比原本数据的摘要和摘要信息,实现身份验证和数据完整性验证。