实施的最大动机是省钱。
虚拟专用网分类方法很多。
**站点到站点的虚拟专用网 **
ATM,Rrame Relay, GRE, MPLS 虚拟专用网 , **IPSec 虚拟专用网 **。
常用的是IPSec 虚拟专用网 。
远程拨号虚拟专用网 。
IPSec 虚拟专用网 , PPTP, L2TP + IPSec, **SSL 虚拟专用网 **。
常用的是SSL 虚拟专用网。
IPSec(Internet Protocol Security)是IETF(Internet Engineering Task Force)制定的一组开放的网络安全协议。它并不是一个单独的协议,而是一系列为IP网络提供安全性的协议和服务的集合。
IPSec用来解决IP层安全性问题的技术。IPSec被设计为同时支持IPv4和IPv6网络。
IPSec主要包括安全协议AH(Authentication Header)和ESP(Encapsulating Security Payload),密钥管理交换协议IKE(Internet Key Exchange)以及用于网络认证及加密的一些算法等。
IPSec主要通过加密与验证等方式,为IP数据包提供安全服务。
IPSec通过加密与验证等方式,从以下几个方面保障了用户业务数据在Internet中的安全传输:
IPSec是一个框架,它不是具体指某个协议,而是定义了一个框架,由各种协议组和协商而成。该框架涉及到的主要有,加密算法、验证算法、封装协议、封装模式、秘钥有效期等等。
加密算法分为两类。对称算法和非对称算法。
特点:对称秘钥算法:用相同的秘钥进行加减密。
加解密过程:
加密:明文数据 -----共享秘钥加密 --------密文数据
解密:密文数据 -----共享秘钥解密 --------明文数据
对称加密算法优点:
对称加密算法缺点:
适用做大数据加密。
常见对称算法:
DES,数据加密标准DES(Data Encryption Standard)它使用56位的密钥对一个64位的明文块进行加密。
3DES,3DES(Triple Data Encryption Standard),3DES是一种增强型的DES标准,它在需要保护的数据上使用3次DES,即使用三个不同的56位的DES密钥(共168位密钥)对明文进行加密。
AES, 先进加密标准AES(Advanced Encryption Standard)
AES被设计用来替代3DES,提供更快和更安全的加密功能。AES可以采用三种密钥:AES-128、AES-192和AES-256,其密钥长度分为128位、192位、256位。
随着密钥长度的提升,加密算法的保密及安全性要求越高,但计算速度也越慢。一般情况下128bit就可以充分满足安全需求。
特点:非对称秘钥算法,一对密钥,公钥和私钥。公钥加密,私钥解密。
用私钥加密,公钥解密叫做数字签名。
仅仅只用于密钥交换(加密密钥)和数字签名(加密散列)。
非对称加密算法的优点:
非对称加密算法的缺点:
适用于小数据加密。
常见非对称加密算法:
本质上是对称加非对称算法:
加密过程:
解密过程:
验证算法,也叫HASH算法,散列函数。
目的:验证数据的完整性
特点:
工作原理:
明文数据-----------散列算法(MD5算法)--------算出散列值1(12345)
明文数据+散列值一起发给对端
验证:
明文数据----------同样的散列算法(MD5算法)---------算出散列值2(67890)
如果散列值1和散列2相同,说明验证成功,如果散列值不相同,说明验证失败
常见的验证算法:
MD5
消息摘要MD5(Message Digest 5),输入任意长度的消息,MD5产生128位的签名。
MD5比SHA更快,但是安全性稍差。
SHA1
安全散列算法SHA(Secure Hash Algorithm)是由NIST开发的。在1994年对原始的HMAC功能进行了修订,被称为SHA1。输入长度小于264bit的消息,SHA1产生160位的消息摘要。
SHA1比MD5要慢,但是更安全。因为它的签名比较长,具有更强大的防攻破功能,并可以更有效的发现共享的密钥。
SHA2
SHA2是SHA1的加强版本,SHA2算法相对于SHA1加密数据长度有所上升,安全性能要远远高于SHA1。SHA2算法包括SHA2-256、SHA2-384和SHA2-512,密钥长度分别为256位、384位和512位。
随着密钥长度的上升,认证算法安全强度更高,但计算速度越慢。一般情况下256位就可以充分满足安全需求。
私钥加密,公钥解密------数字签名
实现完整性,源认证 不可否认
实现过程:
明文数据---------hash算法(md5)----------hash值(128bit-例如12345)-------私钥加密------------数字签名
数字签名 --------用对方公钥解密------hash值12345
明文数据--------hash算法(md5) ---hash值12345
如果散列值1和散列2相同,说明验证成功,如果散列值不相同,说明验证失败
数字签名的应用:
IPSec使用认证头AH(Authentication Header)和封装安全载ESP(Encapsulating Security Payload)两种安全协议来传输和封装数据,提供认证或加密等安全服务。
AH是一种基于IP的传输层协议,协议号为51。
只能支持认证 ,不支持加密 。
对整个头部进行认证。
工作原理:
其工作原理是在每一个数据包的标准IP报头后面添加一个AH报文头。如下所示:
AH对数据包和认证密钥进行Hash计算,接收方收到带有计算结果的数据包后,执行同样的Hash计算并与原计算结果比较,传输过程中对数据的任何更改将使计算结果无效,这样就提供了数据来源认证和数据完整性校验。AH协议的完整性验证范围为整个IP报文。
AH报文头字段含义:
字段 | 长度 | 含义 |
---|---|---|
下一头部 | 8比特 | 标识AH报文头后面的负载类型。传输模式下,是被保护的上层协议(TCP或UDP)或ESP协议的编号;隧道模式下,是IP协议或ESP协议的编号。注意:当AH与ESP协议同时使用时,AH报文头的下一头部为ESP报文头。 |
负载长度 | 8比特 | 表示以32比特为单位的AH报文头长度减2,缺省为4。 |
保留字段 | 16比特 | 保留将来使用,缺省为0。 |
SPI | 32比特 | IPSec安全参数索引,用于唯一标识IPSec安全联盟。 |
序列号 | 32比特 | 是一个从1开始的单项递增的计数器,唯一地标识每一个数据包,用于防止重放攻击。 |
认证数据 | 一个变长字段,长度为32比特的整数倍,通常为96比特。 | 该字段包含数据完整性校验值 ICV(Integrity Check Value),用于接收方进行完整性校验。可选择的认证算法有MD5、SHA1、SHA2、SM3。 |
Ah报文抓包示例:
ESP支持加密和认证。
ESP是一种基于IP的传输层协议,协议号为50。其工作原理是在每一个数据包的标准IP报头后面添加一个ESP报文头,并在数据包后面追加一个ESP尾(ESP Tail和ESP Auth data)。与AH不同的是,ESP将数据中的有效载荷进行加密后再封装到数据包中,以保证数据的机密性,但ESP没有对IP头的内容进行保护。
ESP报文头字段:
字段 | 长度 | 含义 |
---|---|---|
SPI | 32比特 | IPSec安全参数索引,用于唯一标识IPSec安全联盟。 |
序列号 | 32比特 | 是一个从1开始的单项递增的计数器,唯一地标识每一个数据包,用于防止重放攻击。 |
负载数据 | — | 包含由下一头部字段给出的变长数据。 |
填充字段 | — | 用于增加ESP报文头的位数。填充字段的长度与负载数据的长度和算法有关。当待加密报文的明文长度不是加密算法所要求的块长度时,需要进行填充补齐。 |
填充长度 | 8比特 | 给出前面填充字段的长度,置0时表示没有填充。 |
下一头部 | 8比特 | 标识ESP报文头后面的下一个负载类型。传输模式下,是被保护的上层协议(TCP或UDP)的编号;隧道模式下,是IP协议的编号。 |
认证数据 | 一个变长字段,长度为32比特的整数倍,通常为96比特。 | 该字段包含数据完整性校验值ICV,用于接收方进行完整性校验。可选择的认证算法与AH的相同。ESP的验证功能是可选的,如果启动了数据包验证,会在加密数据的尾部添加一个ICV数值。 |
ESP报文抓包示例:
安全特性 | AH | ESP |
---|---|---|
协议号 | 51 | 50 |
数据完整性校验 | 支持(验证整个IP报文) | 支持(不验证IP头) |
数据源验证 | 支持 | 支持 |
数据加密 | 不支持 | 支持 |
防报文重放攻击 | 支持 | 支持 |
IPSec NAT-T(NAT穿越) | 不支持 | 支持 |
封装模式是指将AH或ESP相关的字段插入到原始IP报文中,以实现对报文的认证和加密,封装模式有传输模式和隧道模式两种。
在传输模式中,AH头或ESP头被插入到IP头与传输层协议头之间,保护TCP/UDP/ICMP负载。传输模式不改变报文头。
传输模式下,AH协议的完整性验证范围为整个IP报文。ESP协议验证报文的完整性检查部分包括ESP头、传输层协议头、数据和ESP报尾,但不包括IP头,因此ESP协议无法保证IP头的安全。ESP的加密部分包括传输层协议头、数据和ESP报尾。
判断方法:
在原IP头部之前插入ESP/AH头部,同时生成新的IP头部 。
隧道模式下,AH协议的完整性验证范围为包括新增IP头在内的整个IP报文。ESP协议验证报文的完整性检查部分包括ESP头、原IP头、传输层协议头、数据和ESP报尾,但不包括新IP头,因此ESP协议无法保证新IP头的安全。ESP的加密部分包括原IP头、传输层协议头、数据和ESP报尾。
判断方法:
传输模式和隧道模式的区别在于:
当安全协议同时采用AH和ESP时,AH和ESP协议必须采用相同的封装模式。
默认为86400s,即24小时。
IKEv1协议参考:IKEv1协议详解
IKEv2协议参考:IKEv2协议详解
IPSec各场景配置示例
数字证书PKI原理
IPSec 虚拟专用网的NAT穿越技术NAT-T
IPSec 高可靠
参考文档:华为HedEx 文档