第9讲 vpn 技术(一 )
DESCRIPTION
第9讲 VPN 技术(一 ). 一、 VPN 的相关知识. 1、VPN 的定义 2、VPN 的构成 3、VPN 的实现要求. 1、VPN 的定义. VPN 的定义:是指依靠 ISP 或其他 NSP 在公用网络基础设施之上构建的专用的数据通信网络,这里所指的公用网络有多种,包括 IP 网络、帧中继网络和 ATM 网络。 虚拟: 专用网: IETF 对基于 IP 的 VPN 定义:使用 IP 机制仿真出一个私有的广域网。. 2、VPN 的构成. 3、VPN 的实现要求. 专用网的特点: 封闭的用户群 安全性高 服务质量保证 VPN 的实现要求 - PowerPoint PPT PresentationTRANSCRIPT
第 9 讲 VPN 技术(一)
一、 VPN 的相关知识
1、 VPN 的定义2、 VPN 的构成3、 VPN 的实现要求
1、 VPN 的定义VPN 的定义:是指依靠 ISP 或其他 NSP 在公用网络基础设施之上构建的专用的数据通信网络,这里所指的公用网络有多种,包括 IP 网络、帧中继网络和 ATM 网络。 虚拟: 专用网:IETF 对基于 IP的 VPN 定义:使用 IP 机制仿真出一个私有的广域网。
2、 VPN 的构成
公共网络
VPN连接
VPN客户机
VPN服务器
隧道
3、 VPN 的实现要求专用网的特点: 封闭的用户群 安全性高 服务质量保证 VPN 的实现要求 支持数据分组的透明传输 支持安全功能 提供服务质量保证
4、 VPN 的分类( 1 )按 VPN 业务类型划分: ( 1 ) Intranet VPN (内部公文流转) ( 2 ) Access VPN (远程拨号 VPN ) ( 3 ) Extranet VPN (各分支机构互联)按 VPN 发起主体划分: ( 1 )客户发起,也称基于客户的 VPN ( 2 )服务器发起,也称客户透明方式或基于网络的 VPN
4、 VPN 的分类( 2 )按隧道协议层次划分: ( 1 )二层隧道协议: L2F/L2TP、 PPTP ( 2 )三层隧道协议: GRE、 IPSec ( 3 )介于二、三层间的隧道协议: MPLS ( 4 )基于 Socket V5的 VPN此外,根据 VPN 实现方式不同,还可进一步分为软件实现和硬件实现等。
二、 VPN 的隧道技术
1 、隧道的相关知识2 、隧道协议类型3 、第二层隧道: PPTP4 、第二层隧道: L2TP5 、第三层隧道技术: IPSec6 、几种隧道技术的比较
1 、隧道的相关知识隧道的定义:实质上是一种封装,将一种协议(协议X )封装在另一种协议(协议 Y )中传输,从而实现协议 X 对公用传输网络 ( 采用协议 Y) 的透明性 隧道协议内包括以下三种协议 乘客协议( Passenger Protocol) 封装协议( Encapsulating Protocol) 运载协议( Carrier Protocol)
隧道协议例子
2 、隧道协议类型
分类依据:被封装的数据在 OSI/RM 的层次第二层隧道:以 PPTP, L2TP 为代表第三层隧道: IPSec
3 、第二层隧道:PPTP( 1)
PAC
局域网
拨号
I P网络隧道
PNS
远程客户 NAS拨号
远程客户
局域网
电话网
PPTP 由微软公司设计,用于将 PPP 分组通过 IP 网络封装传输
3 、第二层隧道:PPTP( 2)
PPTP 的数据封装:
数 据 链 路 层报头
IP 报头 GRE 报头 PPP 报头 数 据 链 路 层报尾
加 密 PPP 有效载荷
PPTP 客户机或 PPTP 服务器在接收到 PPTP 数据包后,将做如下处理:•处理并去除数据链路层报头和报尾;•处理并去除 IP 报头;•处理并去除 GRE和 PPP 报头;•如果需要的话,对 PPP 有效载荷即传输数据进行解密或解压缩;•对传输数据进行接收或转发处理。
4 、第二层隧道: L2TP
数据封装格式:
特点: 它综合了第二层转发协议( L2F )和 PPTP
两种协议各自的优点 协议的额外开销较少
IP头 UDP头 L2TP头 PPP数据
5 、第三层隧道技术: IPSecIPSec :即 IP 层安全协议,是由 Internet组织 IETF的 IPSec 工作组制定的 IP 网络层安全标准。它通过对 IP 报文的封装以实现 TCP/IP 网络上数据的安全传送。数据封装格式:
IP新 头 IPSec头 / IP加密 认证 数据包
6 、几种隧道技术的比较应用范围: PPTP、 L2TP :主要用在远程客户机访问局域网方
案中; IPSec 主要用在网关到网关或主机方案中,不支持
远程拨号访问。安全性: PPTP 提供认证和加密功能,但安全强度低 L2TP 提供认证和对控制报文的加密,但不能对传输
中的数据加密。 IPSec 提供了完整的安全解决方案。
QoS 保证:都未提供对多协议的支持: IPSec 不支持
三、基于 IPSec的 VPN 的体系结构
1、 IPSec 体系结构2、 IPSec 协议框架3、 AH 协议4、 ESP 协议5、 IPSec 传输模式6、 IPSec 隧道模式7、安全策略数据库 (SPD)8、安全联盟数据库 (SADB)9 、数据包输出处理10、数据包输入处理11 、包处理组件实现模型
1、 IPSec 体系结构
(ESP)封装安全载荷
体 系
加密 算法
解 释 域
I PSec图 安全体系结构
(AH)认证头
认证 算法
I KE密钥交换与管理 SA安全关联
2、 IPSec 协议框架( 1 )综合了密码技术和协议安全机制, IPSec 协议的设计目标是在 IPV4和 IPV6环境中为网络层流量提供灵活的安全服务。 IPSec 协议提供的安全服务包括:访问控制、无连接完整性、数据源鉴别、重传攻击保护、机密性、有限的流量保密等。 IPSec 协议主要内容包括:●协议框架- RFC2401;●安全协议: AH 协议- RFC2402、 ESP协议- RFC2406;
●密钥管理协议: IKE - RFC2409 、 ISAKMP-RFC2408、 OAKLEY 协议- RFC2412。●密码算法: HMAC-RFC2104/2404、 CAST-RFC2144、 ESP 加密算法-RFC2405/2451 等。●其他:解释域 DOI-RFC2407、 IPComp-RFC2393、 Roadmap- RFC2411。
2、 IPSec 协议框架( 2 )
IPSec架构
密钥管理
ESP 协议 AH 协议
解释域( DOI)
加密算法 鉴别算法
IPSec 协议文件框架图
2、 IPSec 协议框架( 3 )
ike 定义了安全参数如何协商 , 以及共享密钥如何建立 , 但它没有定义的是协商内容 . 这方面的定义是由 " 解释域 (doi)" 文档来进行的
3、 AH 协议
I P原 头 数据AH头
AH图 的格式
TCP头( I P )认证的 头中可变字段除外 I Pv4
传输模式
(SPI )安全参数索引序列号
(32 )认证数据 比特的整数倍
(8)下一负载头标 (8)净载荷长度 (16)保留
4、 ESP 协议
I Pv4传输模式I P原 头 数据ESP头部 ESP尾部 ESP认证数据
ESP图 格式
TCP头加密的认证的
ESP净载荷
~~ (0-255 )填充 字节
ESP ( )净载荷 变长
SPI (32 )安全参数索引 比特(32 )序列号 比特
( )认证数据 长度可变(8 )下一负载头标 比特(8 )填充长度 比特
5、 IPSec 传输模式
I PSec AH ESP图 传输模式下的 、 数据封装格式
A主机
数据 B A
( )经认证 加密 的数据 I P原 头信息( A B)源地址 目的地址
B主机I P分组数据B A
I Pv4ESP传输模式数据ESP头部 ESP尾部 ESP认证数据TCP头
加密的认证的
数据TCP头 I P原 数据包
I Pv4AH传输模式I P原 头 AH TCP头 数据
( I P )认证的 原 头的可变字段除外
I P原 头
I P原 头
6、 IPSec 隧道模式
I PSec AH ESP图 隧道模式下的 、 的数据封装格式
I P原 头信息( B A)源地址 、目的地址
A主机I P分组 (SPD)
VPN X网关
数据B A
数据 B A
数据B A
数据 B A
(SPD)
VPN X网关
B主机
( )经认证 加密 的数据
数据 B A Y X
数据B AY X
I P新 头信息( Y X)源地址 、目的地址
I Pv4AH隧道模式
I P新 头 I Pv4ESP隧道模式I P原 头 数据ESP头部 ESP尾部 ESP认证数据TCP头
加密的认证的
I P原 包
VPN隧道
I P新 头 I P原 头AH TCP头 数据( I P )认证的 新 头的可变字段除外
I P原 头 TCP头 数据
7、安全策略数据库 (SPD)( 1)
SP 是一个描述规则,定义了对什么样的数据流实施什么样的安全处理,至于安全处理需要的参数在 SP 指向的一个结构SA 中存储。SP描述:对本地子网和远程网关后的子网间的 Telnet 通信流,实施 ESP 通道保护,采用 3DES 加密算法和 HMAC-SHA1验证算法。
7、安全策略数据库 (SPD)( 2)
系统中的安全策略组成了 SPD,每个记录就是一条 SP, 定义类似上例中的描述规则,一般分为应用 IPSec 处理、绕过、丢弃。从通信数据包中,可以提取关键信息填充到一个称为“选择符”的结构中去,包括目标 IP 、源 IP 、传输层协议、源和目标端口等 等 。然后利用选择符去搜索SPD ,找到描述了该通信流的 SP。
8、安全联盟数据库 (SADB)( 1)
SA(Security Association) 是两个IPSec 通信实体之间经协商建立起来的一种共同协定,它规定了通信双方使用哪种 IPSec 协议保护数据安全、应用的算法标识、加密和验证的密钥取值以及密钥的生存周期等等安全属性值。
8、安全联盟数据库 (SADB)( 2 )
•安全联盟常用参数• 加密及验证密钥。• 密码算法在系统中的标识。• 序列号, 32位的字段,在处理外出的数据包时,一个 SA 被应用一次,它的序列号号字段就递增一,并被填充到数据包的 IPSec 头中,接收方可以利用此字段进行抗重播攻击。•抗重播窗口。接收方使用滑动窗口算法来进行对恶意主机重复发出的数据包进行检测。•生存周期。规定了该 SA 的有效使用周期,可以按照建立至今的时间或者处理的流量来计算。•实施模式。即通道模式还是传输模式。•IPSec 隧道目的地址。•安全参数索引 (SPI) 。参与唯一标识某 SA 。
9 、数据包输出处理 数据包被从网络设备发送出去之前,截取到
IP 包,然后从中提取选择符信息,依据之搜索SPD ,产生如下可能结果:
SP 决定丢弃此包,于是直接丢弃,或者还可 以向源主机发送 ICMP 信息;
SP 决定通过此包,直接将数据包投放到网络设备的发送队列;SP 决定应用 IPSec ,此时 SP 要么指向一个SA, 可以根据它进行安全处理,要么需要的SA 不存在,则触发 IKE模块协商建立 SA ,协商周期内数据包进入等待队列等待协商完成,若协商超时,也会丢弃该包。
10、数据包输入处理 系统收到 IP 包后,判断如果是 IPSec 包,则从头部取到 <dst_ip,protocol,SPI> ,搜索 SADB。
若找不到 SA ,丢弃包; 若找到,根据其进行解封装,得到去通道化后的原始 IP 包,再从原始 IP 包中提取选择符,搜索到 SPD 中某一条目,检查收到包的安全处理是否符合描述规则,不符合则丢弃包,符合则转入系统 IP 协议栈进行后继处理。
11 、包处理组件实现模型
I P 协议栈输入截取模块 输出截取模块
主控流程
ESP AH Crypotol i b
PF_KEY 协议模块 状态与错误记录组件SPD/ SADB
四、互联网密钥交换(Internet Key Exchange)1、 IKE 功能
2 、密钥交换包格式 (ISAKMP)-
3 、安全联盟的协商
4 、密钥交换的两个阶段
5、 Diffie-Hellman 密钥交换
6 、交换流程
1、 IKE 功能• 用 IPSec 保护数据包,必须首先建立一个 IPSec 的安全联盟,这个安全联盟可以手工建立,也可以动态由特定进程来创建。这个特定的进程就是 Internet Key Exchange,即 IKE。 IKE 的用途就是在 IPSec 通信双方之间通过协商建立起共享安全参数及验证过的密钥,也就是建立安全联盟。• IKE 协议是 Oakley和 SKEME 协议的混合,在由ISAKMP规定的一个框架内运作,可以为多种需要安全服务的协议进行策略磋商和密钥建立,比如SNMPv3,OSPFv2,IPSec 等。
2 、密钥交换包格式 (ISAKMP)--1
2 、密钥交换包格式 (ISAKMP)--2
•安全联盟载荷,•转码载荷表示协商时供对方选择的一组安全属性字段的取值,比如算法,安全联盟的存活期,密钥长度等等。•密钥交换载荷,表示了实施密钥交换必需的信息。 散列载荷,是一个散列函数的运算结果值。•nonce 载荷,是一串伪随机值,用以衍生加密材料。•证书载荷,在身份验证时向对方提供证书。•证书请求载荷。
3 、安全联盟的协商通信双方要建立共享的安全联盟,必须进行协商。
双方根据本方的实际安全需求,制定采用的算法,密钥刷新频率,密钥的长度等等策略。发起方在发送的安全联盟载荷中,根据策略的优先级顺序,将计划采用的安全参数的组合以提案载荷和转码载荷的形式级联表示出来,响应方收到后,依据策略选择最合适的一种,再构建应答的安全联盟,此时应答方只包含了选中的一种安全参数组合。这样,一个共享的安全联盟就可以获得了。
在协商的进程中,双方也通过计算得到共享的密钥。
4 、密钥交换的两个阶段1.阶段一交换 (phase1 exchange): 在“阶段一”周期里,两个 IKE 实体建立一个安全的,经验证的信道进行后续通信,要建立这样的安全信道,双方会建立一对 ISAKMP 安全联盟。阶段一交换可以用身份保护模式 ( 也叫主模式 ) 或野蛮模式来实现,而这两种模式也仅用于阶段一中。
2.阶段二交换 (phase2 exchange): “阶段二”周期里, IKE 实体会在阶段一建立起来的安全信道中,为某种进程协商和产生需要的密钥材料和安全参数,在 VPN 实现中,就是建立IPSec 安全联盟。快速模式交换可用来实现阶段二交换并且仅用于此阶段中。
5、 Diffie-Hellman 密钥交换D-H交换的安全性源于在有限域上计算离散对数比计算指数更为困难。
6 、交换流程( 1 )(阶段一身份保护模式)
6 、交换流程( 2 )阶段一说明
在消息 (1) 中,发起者生成他认为适当的安全提案列表,提交给响应方。消息 (2) 中,响应者与本地策略进行匹配和选择之后,将最终决定的安全联盟内容同样用相应载荷回送发起者。
在消息 (3) 、 (4) 中,发起者和响应者交换 DH 公开值,和随机信息串 nonce ,在第四步完成时,双方已经可以经计算得出共享的 DH 公共值,以及各自计算出 SKEYID 和相关衍生密钥。
消息 (5) 和消息 (6) 中,双方使用前两步得出的加密、验证算法和密钥保护传输的数据。
当采用数字签名的身份验证方法时,消息 (5) 和 (6) 可以包含证书载荷,将自己的公钥证书发给对方,验证数据 AUTH DATA就是数字签名的运算结果,在这里数字证书也可以是从有效的远程有效的认证中心通过 LDAP、 DNSSEC 等协议获得。
6 、交换流程( 3 )(阶段二快速模式)
6 、交换流程( 4 )阶段二说明
所有消息从 ISAKMP 头之后都是加密传输的,并且在消息头之后紧跟了散列值进行验证。如果使用了完美向前加密(PFS) ,则消息交换中还包含一次 DH交换的公开值载荷 KE,身份载荷表示的是要保护的通信流的源和目的,通常是子网内的主机或主机的集合。
在前两个消息交换完成后,双方可以计算出共享的密钥材料,这将是最终提供给 IPSec模块的密钥信息。
六、 IPSec 的安全性评价及其改进
1、 IPSec VPN 的优势2、 IPSec 过于复杂3、 IPSec 协议存在的问题4 、对 IKE 协议的改进5、 IPSec与 NAT 的共处6 、远程拨号接入7、支持组播8、对先加密后认证顺序的评价9 、对 IPSec 的总体评价
1、 IPSec VPN 的优势( 1 )VPN 技术虽然种类众多,但 IETF 下的IPSec 工作组推出的 IPSec 协议是目前工业界 IP VPN 标准,以 IPSec 协议构建虚拟专用网已成为主流。基于 IPSec 构建 IP VPN 是指利用实现IPsec 协议的安全网关( Security Gateway )充当边界路由器,完成安全的远程接入和在广域网上内部网络的“虚拟”专线互联等。
1、 IPSec VPN 的优势( 2 )为数据的安全传输提供了身份鉴别、数据完整性、机密性保证等措施,并且其提供的安全功能与密钥管理系统松散耦合。端到端的 IPSec VPN 专线租费比 PVC 等物理专线的租用费低很多。远程接入 IPSec VPN 接入成本比长途电话费用低(只考虑本地拨号和 VPN 隧道占用费)。
2、 IPSec 过于复杂( 1 )举例说明。比如在 IPSec 中,存在两种模式,两
种协议 AH和 ESP 。若要对两台主机之间的数据包进行认证,存在以下六种方案:传送模式+ AH;隧道模式+ AH;传送模式+ ESP (无加密);隧道模式+ ESP (无加密);传送模式+ ESP (加密);隧道模式+ ESP (加密);
2、 IPSec 过于复杂( 2 )建议去掉传送模式
去掉传送模式;去掉 AH 协议;在 ESP 中,数据源认证是必须的,而加密功能是可选的;先加密后认证的顺序存在问题
2 、 IPSec 过于复杂( 3 )建议去掉 AH 协议
AH和 ESP 在功能上重叠AH 的认证存在的问题隧道模式+ ESP 提供和 AH 几乎同样强度的认证 通过压缩机制来节省带宽
网络新技术不断涌现,对 IPSec 协议提出了新的挑战;针对 IPSec 协议的各种不足, IETF下的 IPSec 工作组正在酝酿 IPSec 协议的改进,包括 IKEV2。
国内外研究发现, IPSec 协议大致存在下列问题:
1. IKE 协议的安全性;2. 与现有网络机制的兼容性;3. 缺乏对远程拨号接入的支持;4. 不支持组播、多协议;
3、 IPSec 协议存在的问题
1. 网络新技术不断涌现,对 IPSec 协议提出了新的挑战;针对 IPSec 协议的各种不足,IETF 下的 IPSec 工作组正在酝酿对 IPSec 协议
的改进,即 IKEV2。
2. J.Zhou 在分析 IKE 协议基础上,提出HASH_I和 HASH_R 的计算公式存在安全隐患。 3. Bruce Schneier 等人认为 IKE 协议过于复杂
,某些细节描述不够清楚,与 ISAKMP 协议有冲突。
4 、对 IKE 协议的改进( 1 )
4. J.M.Sierra 等人提出利用新的协商模式 -
发生器模式( Generator Mode )实现 IKE SA的
快速更新。5. Radia Perlman 等研究发现, IKE 协
议提供的用户身份保密功能与采用的身份认证方法直接相关,对激进模式进行适当的修改也能提供身份保护。 J.Zhou 提出采用数字签名认证方式的主模式可能导致发起方的身份信息泄漏。
4 、对 IKE 协议的改进( 2 )
网络地址转换- NAT 技术通过修改 IP 包内容实现包的正常传输;而 IPSec 协议通过
采用MAC 技术保护 IP 包中数据完整性,因此NAT与 IPSec 是一对矛盾。
IETF 下的网络工作组提出了在隧道模式下使用 IPC-NAT( IPSec Control NAT) 的解决方案。
对于端到端的 IPSec与 NAT 的共处,网络工作组建议使用 RSIP(Realm Specific IP) 协议。
5、 IPSec与 NAT 的共处( 1 )
Balaji Sivasubramanian 等提出适用于协作 IP 网络的一种的端到端安全解决方案。该方案的巧妙之处在于 IPSec 处理预先使用 NAT变换之后的数据(公共 IP地址或端口),数据包经过 NAT 设备时, NAT 设备对它的修改正好与 IPSec提供的数据完整性保护相吻合。
IPSec 工作组提出利用 UDP 协议封装IPSec 处理后的数据包,则 NAT 设备最多需要涉及对 UDP 头的数据修改。
5、 IPSec与 NAT 的共处( 2 )
IPSec 协议本身只提供 IP 层的安全服务,无
法在更高层实施更小颗粒的访问控制,这样就有必要借鉴高层机制,帮助 IPSec 协议改
进对远程接入的支持。
安全远程接入解决方案大致有: 联合 L2TP 协议利用 Mobile IP 协议;修改 IKE 协议- Xauth 协议、 Crack
协议、 Hybrid 鉴别协议 ; PIC 协议;
6 、远程拨号接入
IPSec 协议文件虽然指出协议支持使用组
播( Multicast )地址,但实质上协议缺乏对组
播的完整支持。 将 IPSec 协议应用到组播环境中,迫切需
要解决的问题包括: SA 的唯一性问题 ; 组机密性问题;单个源鉴别问题;防重传攻击服务失效;
7、支持组播( 1 )
组播源鉴别: G_R 方案基于数字签名技术和摘要技术,将对多个消息单个源鉴别分解为对第一个消
息的签名和其他消息摘要的链式组合。 C.K.Wong等人提出多个包的一次签名可等价转化为对每个包的摘要的集中签名;为减少每个包的尺寸,可采用树形链或星形链技术,安排每个包中携带的摘要。 C.Canetti 等提出利用 MAC 技术实现组播
源鉴别:发送方拥有 K个密钥,每个接收方只与其共享 L个密钥( L<K),发送方发送每个包时同时附带 K个MAC值 。
7、支持组播( 2 )
组播密钥管理方案C.K.Wong 等提出分级树组密钥方案,利
用密钥服务器( KS )负责产生所有密钥,并按照虚拟的分级树组织每个成员存储的密钥。
A.Ballardie、 H.Harney 等人分别提出可扩展的组播密钥分发协议( SMKD )和组密钥管理协议( GKMP),这两种协议的共同缺点是缺乏针对组成员关系变化的密钥更新机制, SMKD 依赖特殊的组播体系( CBT )。在 Iolus 方案中, S.Mitra 采用分级架构将组
播组细分为若干个独立的子组;组安全接口( GSI )负责跨组通信的转换。
7、支持组播( 3 )
8、对先加密后认证顺序的评价
IPSec 中的加密和认证顺序;Horton 定理:认证协议应当基于消息本身的含义进行认证;如果出于效率考虑,应当认证解密密钥
9 、对 IPSec 的总体评价优点 安全性明显优于其它隧道协议缺点 过于复杂 存在安全漏洞 安全性分析困难
根本的解决方案:对 IPSec 进行修补不能解决根本问题,必须彻底改变制定 IPSec 的委员会模式 (committee process)