需求:
- 企业、组织、商家对专用网有强大的需求。
- 高性能、高速度和高安全性是专用网明显的优势。
- 物理专用网价格昂贵,物理架设实施有难度。传统的通过租用专线或拨号网络的方式越来越不适用(性价比较低)。
- TCP/IP协议簇本身的局限性,不能保证信息直接传输的保密性(有安全缺陷)。
VPN定义:指依靠ISP或其他NSP在公用网络基础设施之上构建的专用的安全数据通信网络,只不过这个专线网络是逻辑上的而不是物理的。
虚拟:用户不再需要拥有实际长途数据线路,而是使用公共网络资源建立自己的私有网络。
隧道技术:是指在隧道的两端通过封装以及解封装技术在公网上建立一条数据通道,使用这条通道对数据报文进行传输。
业务分类:
1、接入VPN:适用基于Internet远程访问的VPN
适用于出差在外的员工,有远程办公需要的分支机构,实现对企业内部网络资源进行安全地远程访问。
2、LAN-LAN VPN:为了在不同局域网络之间建立安全的数据传输通道(企业内部的分支机构)。
隧道技术比较:
隧道协议 | 保护范围 | 使用场景 | 用户身份认证 | 加密和验证 |
GRE | IP层及以上数据 | Intranet VPN | 不支持 | 支持简单的关键字验证、校验 |
L2TP | IP层及以上数据 | Access VPN Extranet VPN | 支持基于PPP的CHAP、PAP、EAP认证 | 不支持 |
IP sec | IP层及以上数据 | Intranet VPN Access VPN Extranet VPN | 支持与共享密钥或证书认证、支持IKEv2的EAP认证 | 支持 |
Sangfor VPN | IP层及以上数据 | Intranet VPN Extranet VPN | 支持多种身份认证 | 支持 |
SSL VPN | 应用层特定数据 | Access VPN | 支持多种身份认证 | 支持 |
IPsec提供的安全服务:机密性(加密解密)、完整性(数字签名)、数据源鉴别(数字证书)
预防重放攻击:一次性的随机数(收到相同的随机数,表明数据重放)
IPsec工作模式:
传输模式:
应用场景:经常用于主机与主机之间端到端通信的数据保护。
封装方式:不改变原有的IP包头,在原数据包头后面插入IPsec包头、将原来的数据封装成被保护的数据。
隧道模式:
应用场景:经常用于私网与私网之间通过公网进行通信,建立安全VPN通道
封装方式:增加新的IP(外网IP)头部,其后是新的IPsec包头,之后再将原来的整个数据包封装。
IPsec通信协议:
AH(认证报头):
AH提供的安全服务:
- 无连接数据完整性:哈希函数产生的校验来保证;
- 数据源认证:通过在计算验证码时加入一个共享密钥来实现;
- 抗重放攻击:AH包头中的序列号
AH不提供任何保密性服务:不加密所保护的数据包。加密所有整个数据包,易变字段除外
传输模式下的封装:
隧道模式下的封装:
ESP协议(封装安全有效载荷)
ESP提供的安全服务:
- 无连接数据完整性(焊锡函数产生的校验来保证)
- 数据源认证(通过在计算验证码时加入一个共享密钥来实现;)
- 抗重放服务(随机数)
- 数据保密(使用密码算法加密IP数据包部分来实现)
- 有限的数据流保护(隧道模式下的保密服务提供)
ESP通常使用DES、 3DES、 AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性认证
传输模式下封装:
隧道模式下封装:
安全特性 | AH | ESP |
协议号 | 51 | 50 |
数据完整性校验 | 支持 | 支持(不验证IP头) |
数据源验证 | 支持 | 支持 |
数据加解密 | 不支持 | 支持 |
抗重放服务 | 支持 | 支持 |
NAT-T(NAT穿越) | 不支持 | 支持 |
安全联盟SA:通信对等体对某些要素的约定,通信的双方符合SA约定的内容,就可以建立SA。
SA三元组:安全参数索引、目的IP地址、安全协议号。
背景:
用IPsec保护一个IP包之前,必须先建立安全联盟。
IPSec的安全联盟可以通过手工配置的方式建立。但是当网络中节点较多时,手工配置将非常困难,而且难以保证安全性。这时就可以使用IKE( Internet Key Exchange)自动进行安全联盟建立与密钥交换的过程。 Internet密钥交换( IKE)就用于动态建立SA,代表IPSec对SA进行协商
IKE:自动进行安全联盟建立与密钥交换的过程
用途:
- IKE为IPsec协商生成密钥,供AH/ESP加解密和验证使用。
- 在IPSec通信双方之间, 动态地建立安全关联( SA: SecurityAssociation),对SA进行管理和维护。
IKE的工作过程:
第一阶段:彼此间建立了一个已通过身份验证和安全保护的通道,此阶段的交换建立了一个ISAKMP安全联盟。 任务:认证和密钥交互
第一阶段有两种协商模式:
1、主模式协商
默认使用IP地址作为身份标识,默认是传递自己的出口地址做身份标识,校验对端的公网IP做对端身份标识。(自动生成双方身份ID)
协商建立IKE安全通道所使用的参数:认证方式、加密方式、hash算法、申明所使用的的DH算法、密钥有效时间、配置身份ID、对方的通信的地址
2、野蛮模式协商
可以使用用户名或IP等作为双方身份标识,即可以手动设置身份ID
三个交互包:
1、第一个交互包发起方建议SA,发起DH交换
2、第二个交互包接收方接受SA
3、第三个交互包发起方认证接收方
对比
| 主模式 | 野蛮模式 |
消息交互 | 交互6个消息 | 交互3个消息 |
身份ID | 以IP地址作为身份ID,自动生成本段身份ID和对端身份ID | 可以以多种形式(IP、字符串等)手动或自动的生成本端和对端的身份ID |
域共享密钥 | 只能基于IP地址来确定预共享密钥 | 基于ID信息(主机名和IP地址)来确定预共享密钥 |
安全性 | 较高 前4个消息以明文传输,最后两个消息加密,对对端身份进行了保护 | 较低 前2个消息以明文传输,最后一个消息进行加密,不保护对端身份 |
速度 | 较慢 | 较快 |
第二阶段:用已经建立的安全联盟为IPsec协商安全服务,建立IPSec SA,产生真正可以用来加密数据流的密钥。
协商参数:加密算法、hash算法、安全协议、封装模式、存活时间、DH算法
当第一阶段时间到期后:密钥失效后,第二次密钥和第一次密钥有关系(继承)
完美向前发生成独立密钥。