(V)和(P)和(N)技术
VP(N)概念
VP(N)的概念
VP(N)(虚拟专网,Virtual Private Network)是指将物理上分布在不同地点的网络通过公用网络连接而构成逻辑上的虚拟子网。
VP(N)的特点
- 费用低
- 安全保障
- 服务质量保证(QoS)
- 可扩充和灵活性
- 可管理性
VP(N)的分类
网关-网关VPMN:
远程访问VP(N):
VP(N)关键技术
- 隧道技术
- 加/解密技术
- 密钥管理技术
- 身份认证技术
- 访问控制
隧道协议与VP(N)
第2层隧道协议
PPTP:由微软、Asend、 3COM等公司支持的点对点隧道协议(Point to Point Tunneling Protocol)。
PPTP具有两种工作模式:被动模式和主动模式。
L2F:由Cisco、Nortel等 公司支持的第2层转发协议(Layer 2 Forwarding)。
L2TP:由IETF起草,微软、Cisco、3COM等公司共同制定的第2层隧道协议(Layer2 Tunneling Protocol)。
PPTP
- PPTP是一种让远程用户拨号连接到本地ISP、通过互联网安全远程访问公司网络。
- 远程用户采用PPTP经由互联网访问企业的网络和应用,不需要直接拨号至企业网络。
- PPTP是为中小企业提供的VP(N)解决方案,但在具体实现上存在安全隐患。
L2F
- 由思科系统公司开发,用于创建在互联网上的VP(N)网络连接的隧道协议。
- 完全独立于用户的链路层协议。L2F远程用户能够通过任何拨号方式接入公共IP网络。
- L2F隧道的建立和配置对用户是完全透明的。L2F协议本身并不提供加密或保密。
L2TP
PPTP和L2F的缺点:
- PPTP协议是为中小企业提供的VP(N)解决方案,安全性差。
- L2F没有把标准加密算法定义在内,已经过时。
L2TP结合了PPTP和L2F协议的优点,适合组建远程接入方式的VP(N),已成为事实上的工业标准。
第3层隧道协议
- IPSec:IPSec是专为IP设计提供安全服务的一种协议,IPSec主要由AH(认证头)、ESP(封装安全载荷)、IKE(Internet密钥交换)3个协议组成。
- GRE:GRE隧道允许用户使用IP包封装IP、IPX、 AppleTalk包,并支持全部路由协议。GRE只提供数据包封装没有采用加密功能防止网络侦听和攻击。
- MPLS:MPLS用标签机制将选路和转发分开,用标签规定一个分组通过网络的路径,适于对服务质量、服务等级及网络资源利用率、网络可靠性有较高要求的VP(N)业务。
IPSec VP(N)
IPSec协议概述
- 是IETF制定的为保证在Internet上传送数据的安全保密性能的三层隧道加密协议。
- IPSec标准最初由IETF于1995年制定。
- 从1997年开始IETF又开展了新一轮的IPSec标准修订。
- 1998年11月,主要协议已经基本制定完成。
IPSect协议由AH和ESP提供了两种工作模式;这两个协议可以组合起来使用,也可以单独使用。
AH、ESP或AH+ESP既可以在隧道模式中使用,又可以在传输模式中使用。
IPSec的功能和模式:
功能/模式 | 认证首部(AH) |
封装安全负荷(ESP) |
ESP+AH |
访问控制 | Y | Y | Y |
认证 | Y | —— | Y |
消息完整性 | Y | —— | Y |
重放保护 | Y | Y | Y |
机密性 | —— | Y | Y |
IPSec的工作原理
- 无论是加密还是认证,IPSec都有两种工作模式:传输模式和隧道模式。
- IPSec网关通过查询安全策略数据库(SPD)决定对接收到的IP数据包进行转发、丢弃或IPSec处理。
- IPSec网关可以对IP数据包只进行加密或认证,也可以对数据包同时实施加密和认证
- 采用传输模式时,IPSec只对IP数据包的净荷进行加密或认证;
- 封装数据包继续使用原IP头部,只对部分域进行修改;
- IPSec协议头部插入到原IP头部和传送层头部之间。
- 采用隧道模式时,IPSec对整 个IP数据包进行加密或认证;
- 产生一个新的IP头,原IP头被放在新IP头和原IP数据包之间。
IPSec中的主要协议
AH(Authentication Header):
- AH有两种实现方式:传输模式和隧道模式
- AH只涉及认证,不涉及加密
ESP(Encapsulating Security Payload):
- ESP主要用于对IP数据包进行加密,也对认证提供某种程度的支持
- ESP也有两种工作模式:传输模式和隧道模式
IKE(Internet Key Exchange):
- IKE用于动态建立安全关联(SA,Security Association)
-
IKE协议分两个阶段:
- 第一阶段:建立IKE安全关联,即在通信双方之间协商密钥
- 第二阶段:利用这个既定的安全关联为IPSec建立安全通道
IPSec主要由AH、ESP和IKE这三个协议来实现认证、加密和密钥交换。
安全关联
- IPSec的中心概念之一是“安全关联”(SA)
- 每个SA的标识由三部分组成:安全性参数索引(SPI)、IP目的地址和安全协议标识
- SA有两种模式,即传输模式和隧道模式
- 也可以将不同的SA组合起来使用,以提供多层次的安全性或封装能力
IPSec VP(N)的构成
- 管理模块
- 密钥分配和生成模块
- 身份认证模块
- 数据加/解密模块
- 数据分组封装/分解模块
- 加密函数库
IPSec的实现
在Linux操作系统中,有一个FreeSWAN的IPsec VP(N)实现方案。
在网上可以找到其开放的源代码下载网址:www.freeswan.org
在网上可以找到其开放的源代码下载网址:www.freeswan.org
SSL/TLS VP(N)
TLS协议概述
- SSL VP(N)也称做传输层安全协议(TLS)VP(N)。
- TLS协议主要用于HTTPS协议中,TLS也可以作为构造VP(N)的技术。
- TLS VP(N)最大优点是用户不需要安装和配置客户端软件。
- 由于TLS协议允许使用数字签名和证书,所以它可以提;供强大的认证功能。
TLS协议的连接建立过程:
- 客户端向服务器发送"Client hello”信息打开连接
- 服务器用"Server hello"回答
- 要求客户端提供数字证书
- 完成证书验证,执行密钥交换协议
- 产生一个主密钥
- 由主密钥产生两个会话密钥:A→B的密钥和B→A的密钥
- 由主密钥产生两个消息认证码密钥
TLS VP(N)的原理
TLS VP(N)需要在企业网络VP(N)的后面放置一个TLS代理服务器。
用户与服务器之间的安全通信建立过程:
- 用户首先要在浏览器上输入一个URL;
- 该连接请求将被TLS代理服务器取得;
- TLS服务器对用户进行身份验证;
- TLS代理服务器提供用户与各种不同应用服务器之间的连接。
TLs VP(N)的实现主要依靠下面三种协议的支持:
缺点:
- 握手协议
- TLS客户机连接至TLS服务器,要求服务器验证客户机的身份;
- TLS服务器通过发送它的数字证书证明其身份;
- 服务器发出一个请求,对客户端的证书进行验证;
- 协商用于消息加密的加密算法和用于完整性检验的杂凑函数;
- 客户机生成一个随机数,用服务器的公钥对其加密后发送给TLS服务器;
- TLS服务器通过发送另一随机数据做出响应;
- 对以上两个随机数进行杂凑函数运算,从而生成会话密钥。
- TLS记录协议
- 协议建立在TCP/IP协议上;
- 在实际数据传输开始前通信双方进行身份认证、协商加密算法和交换加密密钥等。
- 告警协议
告警协议用于提示何时TLS协议发生了错误,或者两个主机之间的会话何时终止;
只有在TLS协议失效时告警协议才会被激活。
TLS VP(N)的实现主要依靠以上握手协议、TLS记录协议、告警协议三种协议的支持。
只有在TLS协议失效时告警协议才会被激活。
TLS VP(N)的优缺点
优点:
- 无须安装客户端软件
- 适用于大多数设备
- 适用于大多数操作系统
- 支持网络驱动器访问
- 不需要对网络做改变
- 较强的资源控制能力
- 费用低且有良好安全性
- 可绕过VP(N)进行访问
- 已内嵌在浏览器中
- 认证方式单一
- 应用的局限性很大
- 只对应用通道加密
- 不能对应用层消息签名
- 缺少LAN to LAN连接方案
- 加密级别不如IPSec VP(N)高
- 不能保护UDP通道安全
- 是应用层加密,性能较差
- 不能实施访问控制
- 需CA支持,证书管理复杂
TLS VP(N)的应用
- 在客户与TLS VP(N)的通信中,人们通常采用TLS Proxy技术来提高VP(N)服务器的通信性能和安全身份验证能力
- 主要用于访问内部网中的一些基于Web的应用:电子邮件、内部网页浏览、其他基 于Web的查询工作
TLS VP(N)与IPSec VP(N)比较
选项 |
TLS VP(N) |
IPSec VP(N) |
身份验证 |
单向身份验证、双向身份验证、数字证书 |
双向身份验证、数字证书 |
加密 |
强加密,基于Web浏览器 |
强加密,依靠执行 |
全程安全性 |
端到端安全,从客户到资源端全程加密 |
网络边缘到客户端,仅对从客户到***网关之间通道加密 |
可访问性 |
适用于任何时间、任何地点访问 |
限制适用于已经定义好受控用户的访问 |
费用 |
低(无须任何附加客户端软件) |
高(需要管理客户端软件) |
安装 |
即插即用安装,无须任何附加的客户端软、硬件安装 |
通常需要长时间的配置,需要客户端软件或硬件 |
用户的易使用性 |
对用户非常友好,使用非常熟悉的Web浏览器,无须终端用户的培训 |
对没有相应技术的用户比较困难需要培训 |
支持的应用 |
基于Web的应用、文件共享、E-mail |
所有基于IP协议的服务 |
用户 |
客户、合作伙伴用户、远程用户供应商等 |
更适合在企业内部使用 |
可伸缩性 |
容易配置和扩展 |
在服务器端容易实现自由伸缩,在客户端比较困难 |
穿越VP(N) |
可以 |
不可以 |
- TLS VP(N)有很多优点,但并不能取代IPSec VP(N)。
- IPSec VP(N)主要提供LAN-to-LAN的隧道安全连接。
- 在为企业高级用户提供远程访问及为企业提供LAN-to-LAN隧道连接方面,IPSec具有无可比拟的优势。
- IPSec VP(N)厂商开始研究让IPSec VP(N)兼容TLS VP(N),以增强可用性。届时,IPSec VP(N)的扩展性将大大加强。
PPTP VP(N)
PPTP概述
- 点对点隧道协议(PPTP)是第一个建立VP(N)的协议
- 使用灵活,容易部署,而且能得到大多数运营商的解决方案的支持
- 该协议最初于1998年提出,但由于存在严重的安全问题,随后进行了大量修改,即便如此,声誉仍受到损害
- PPTP VP(N)最早是Windows NT 4.0支持的隧道协议标准,是PPP的扩展。
- PPTP的主要功能是开通VP(N)隧道,仍采用PPP拨号建立网络连接。
- PPTP是支持远程访问型VP(N)的一种隧道方案。
- PPTP的两个主要任务是“封装”和“加密”。
PPP帧在PPTP中的数据封装方式:
PPTP VP(N)的原理
PPTP由RFC2637定义,是一种应用比较广泛的VP(N)。
PPTP VP(N)构成示意图:
- PPTP基于C/S结构,将认证和连接设置功能分离。
- PPTP将传统网络访问服务器的功能分解成PAC和PNS来分别执行。
- PPTP利用NAS的功能分解机制的支持,从而在Internet上实现VP(N)。
- 建立PPTP连接时,首先需要建立的是客户端与本地ISP的PPP连接。
PPTP VPN的优缺点
优点:
- 不依赖于TCP/IP协议族,可以与Novell的IPX或Microsoft的NetBEUI协议起使用。
缺点:
- 由于现今的大多数网络都基于TCP/IP,所以应用具有一定的局限性。
- 由于PPTP中没有定义加密功能,所以PPTP VP(N)的安全性是所有类型的VP(N)中最低的。
MPLS VP(N)
MPLS协议概述
- MPLS VP(N)是一种基于多协议标记交换技术的IP VP(N)。
- 在网络路由和交换设备上应用MPLS技术可以简化核心路由器的路由选择方式。
- MPLS利用传统路由中的标记交换技术来实现IP虚拟专网。
- MPLS VP(N)可用来构造宽带的Internet和Extranet。
- MPLS是基于标记的IP路由选择方法。
- MPLS技术利用显式路由选择,可灵活选择优质路径来传输数据。
- MPLS协议实现了从第三层路由到第二层交换的转换。
- IP数据包进入网络时,边界路由器给它分配一个标记。
- 对于到达同一目的地的IP数据包,可根据其TOS值的要求建立不同转发路径,以确保传输质量。
MPLS由Cisco的标记交换技术演变而来,已成为IETF的标准协议,与传统的网络层技术相比,它引入了以下一些新概念:
- 流
- MPLS域
- 标记
- MPLS边界节点
- 标记交换
- 标记交换路由器
- MPLS节点
- 标记分发协议
- 标记交换路径
MPLS VPN的原理
步骤一
网络自动生成路由表
步骤二
将连续的网络层数据包看做流,MPLS边界节点可以首先通过传统的网络层数据转发方式接收这些数据包,有选择的在数据包中加入一个标记,并把它们转发出去
网络自动生成路由表
步骤二
将连续的网络层数据包看做流,MPLS边界节点可以首先通过传统的网络层数据转发方式接收这些数据包,有选择的在数据包中加入一个标记,并把它们转发出去
步骤三
当加入标记的链路层数据包在MPLS域中转发时,就不再需要经过网络层的路由选择,而由标记交换路径上的MPLS节点在链路层通过标记交换进行转发
步骤四
将加入标记的链路层数据包发送离开此MPLS域
MPLS用最简化的技术来完成第三层交换向第二层交换的转换。
当加入标记的链路层数据包在MPLS域中转发时,就不再需要经过网络层的路由选择,而由标记交换路径上的MPLS节点在链路层通过标记交换进行转发
步骤四
将加入标记的链路层数据包发送离开此MPLS域
MPLS VP(N)的优缺点
优点:
- 成本较低
- 提高了资源利用率
- 提高了网络速度
- 提高了灵活性可扩展性
- 业务综合能力强
- MPLS的QoS保证
- 适用于城域网网络环境
缺点:
- 由于ATM技术本身目前备受争议,所以MPLS VP(N)的存在价值大打折扣;
- MPLS VP(N)与L2F VP(N)、PPTP VP(N)一样,本身没有采用加密机制,因此MPLS VP(N)实际上安全性比较低。
总之,IPSec VP(N)和SSL VP(N)是目前使用最普遍、安全性最高的协议,其安全性优于其他类型的VP(N)。