VPN基础

转自:http://service.tp-link.com.cn/detail_article_167.html

VPN

(Virtual Private Network, 虚拟专用网络)是一个建立在公用网(通常是因特网)上的专用网络,但因为这个专用网络只是逻辑存在并没有实际物理线路,故称为虚拟专用网。

随着因特网的发展壮大,越来越多的数据需要在因特网上进行传输共享,当企业将自身网络接入因特网时,各地的办事处等外部站点可以很方便地访问企业网络,但同时也把企业内部的私有数据暴露给因特网上的其他用户。于是在这种开放的网络环境上搭建专用线路的需求日益强烈,VPN应运而生。

VPN通过隧道技术在两个站点间建立一条虚拟的专用线路,使用端到端的认证和加密保证数据的安全性。典型拓扑如下图所示:

封装与隧道:

封装是指将一种协议承载在另一种协议中进行传输的技术,如PPTP就是将PPP报文封装在GRE协议中。协议B为被承载协议,GRE为承载协议。

隧道指被承载协议的传输通道。

PPTP

点对点隧道协议,是在PPP协议的基础上开发的一种新的增强型安全协议,可以使远程用户安全方便的访问企业网络。PPTP属于二层隧道协议。

L2TP

二层隧道协议(L2TP(Layer 2 Tunneling Protocol),是由IETF起草,微软、Cisco等公司参予制定的二层隧道协议。

PPTP与L2TP区别:

PPTP与L2TP适用于经常有流动人员远程办公的环境,出差员工利用Internet可以很方便的和公司的VPN网关建立私有的隧道连接。PPTP、L2TP提供认证加密功能,可提高网络的安全性。如下图所示,出差员工通过PPTP VPN连接至总部网络。

IPsec VPN

IPsec(IP安全)是一系列服务和协议的集合,是由IETF制定的三层隧道加密协议,它为Internet上数据的传输提供了高质量的、可互操作的、基于密码学的安全保证。特定的通信方之间在IP层通过加密与数据源认证等方式,可以保证双方数据的完整性与机密性。

数据完整性:IPSec接收方对发送方发送来的包进行认证,以确保数据的完整性。

数据机密性:IPSec发送方在通过网络传输包前对数据包进行加密,可以保证数据的安全性。

数据来源认证:IPSec接收方可以认证IPSec报文的发送方是否合法。

为了实现安全的通信,通信双方的IPsec协议必须协商用于编码数据的具体算法,数据格式的安全提议,并通过IKE交换解密编码数据所需的密钥。

IPsec中有两个重要的安全协议,AH(Authentication Header)和ESP(Encapsulating Security Payload)。

AH

AH是认证头协议,主要提供的功能有数据源认证、数据完整性校验和防报文重放功能,可选择的认证算法有MD5、SHA-1等。AH报文头插在标准IP包头后面,保证数据包的完整性和真实性,防止黑客截获数据包或向网络中插入伪造的数据包。

ESP

ESP是报文安全封装协议,与AH协议不同的是,ESP将需要保护的用户数据进行加密后封装到IP包中,可以保证数据的机密性。

常见的加密算法有DES、3DES、AES等。

可以选择MD5、SHA-1算法保证报文的完整性和真实性。

AH和ESP可以单独使用,也可以配合使用。设备支持的AH和ESP联合使用的方式为:先对报文进行ESP封装,再对报文进行AH封装,封装之后的报文从内到外依次是原始IP报文、ESP头、AH头和外部IP头。

目前TL-ER6120支持AH或者ESP,不支持“AH+ESP”。

验证算法

AH和 ESP都能够对 IP报文的完整性进行验证, 以判别报文在传输过程中是否被篡改。验证算法是通过 Hash函数。Hash函数是一种能够接受任意长的消息输入,并产生固定长度输出的算法,该输出称为消息摘要。IPsec 对等体计算摘要,如果两个摘要是相同的,则表示报文是完整未经篡改的。IPsec 使用两种验证算法:

MD5:MD5通过输入任意长度的消息,产生 128bit的消息摘要。

SHA-1:SHA-1通过输入长度小于 2的 64次方比特的消息,产生 160bit的消息摘要。

加密算法

ESP能够对 IP报文内容进行加密保护,防止报文内容在传输过程中被窥探。加密算法实现主要通过对称密钥系统,它使用相同的密钥对数据进行加密和解密。

IPsec常用的三种加密算法:

DES:使用 56bit的密钥对每个 64bit的明文块进行加密。

3DES:使用三个 56bit的 DES密钥(共 168bit密钥)对明文进行加密。3DES具有更高的安全性,但其加密数据的速度要比 DES慢。

AES(Advanced Encryption Standard):可以实现 128bit、192bit和 256bit密钥长度的 AES算法。

IKE

在 IPsec VPN中,为了保证信息的私密性,通信双方需要使用彼此都知道的信息来对数据进行加密和解密,所以在通信建立之初双方需要协商安全性密钥,这一过程便由 IKE (Internet Key Exchange, 互联网密钥交换)协议完成。

IKE 其实并非一个单独的协议,而是三个协议的混合体。这三个协议分别是 ISAKMP (Internet Security Association and Key Management Protocol, 互联网安全性关联和密钥管理协议),该协议为交换密钥和 SA (Security Association, 安全联盟)协商提供了一个框架;Oakley 密钥确定协议,该协议描述了密钥交换的具体机制;SKEME安全密钥交换机制,该协议描述了与 Oakley 不同的另一种密钥交换机制。

整个 IKE 协商过程被分为两个阶段。第一阶段,通信双方将协商交换验证算法、加密算法等安全提议,并建立一个 ISAKMP SA,用于在第二阶段中安全交换更多信息。第二阶段,使用第一阶段中建立的 ISAKMP SA 为 IPsec的安全性协议协商参数,创建 IPsec SA,用于对双方的通信数据进行保护。

IKE为IPSec提供自动协商交换密钥、建立和维护SA的服务,以简化IPSec的使用和管理。IPSec所使用的策略和算法等可以手工协商,IKE并不是必须的。

DH(Diffie-Hellman)交换及密钥分发 :Diffie-Hellman 算法是以蒂夫-海曼的名字命名的一种公共密钥算法。通信双方在不传送密钥的情况下通过交换一些数据,计算出共享的密钥。加密的前提是交换加密数据的双方必须要有共享的密钥。

PFS(Perfect Forward Secrecy)完善的前向安全性: PFS特性是一种安全特性,由于密钥间没有派生关系,即使一个密钥被破解,并不影响其他密钥的安全性。

IPSec主要用在站点到站点(分支结构到分支机构)的方案中。如下图,总部与分支机构各部署一台VPN网关,做好相应配置后,分支机构与总部的内网间可实现透明互访,又可保证通信的安全性。

发表评论

电子邮件地址不会被公开。