ipsec详解
IPSec(互联网协议安全)是一个安全网络协议套件,用于保护互联网或公共网络传输的数据。IETF在 1990 年代中期开发了 IPSec 协议,它通过 IP网络数据包的身份验证和加密来提供 IP 层的安全性。
信息加密算法
信息加密就是使用加密算法,重新组织信息,常用的加密算法分为两类:对称加密和非对称加密。区别是对称加密的加解密秘钥相同,非对称加密的加解密秘钥不同。
对称加密算法比较
名称 | 秘钥长度 | 运算速度 | 安全性 | 资源消耗 |
DES | 56位 | 较快 | 低 | 中 |
3DES | 112位,168位 | 慢 | 中 | 高 |
AES | 128位,192位,256位 | 快 | 高 | 低 |
非对称加密算法比较
名称 | 成熟度 | 安全性 | 运算速度 | 资源消耗 |
RSA | 高 | 高 | 慢 | 高 |
DSA | 高 | 高 | 慢 | 只能用于数字签名 |
ECC | 低 | 高 | 快 | 低 |
对称与非对称加密的比较
名称 | 秘钥管理 | 安全性 | 运算速度 |
对称算法 | 比较难,不适合互联网,一般用于内部系统 | 中 | 快好几个数量级(软件加解密速度至少快100倍,每秒可以加解密数M比特数据),适合大数据量的加解密处理 |
非对称算法 | 密钥容易管理 | 高 | 慢,适合小数据量加解密或数据签名 |
IPSec简介
IPSec 可为通信两端设备提供安全通道,比如用于两个路由器之间以创建点到点 VPN,以及在防火墙和 Windows 主机之间用于远程访问 VPN等。IPSec可以实现以下四项功能:
数据机密性:IPSec发送方将包加密后再通过网络发送,可以保证在传输过程中,即使数据包遭截取,信息也无法被读取。
数据完整性:IPSec可以验证IPSec发送方发送过来的数据包,以确保数据传输时没有被改变。若数据包遭篡改导致检查不相符,将会被丢弃。
数据认证:IPSec接受方能够鉴别IPSec包的发送起源,此服务依赖数据的完整性。
防重放:确保每个IP包的唯一性,保证信息万一被截取复制后不能再被重新利用,不能重新传输回目的地址。该特性可以防止攻击者截取破译信息后,再用相同的信息包获取非法访问权。
为什么需要IPSec:因为常规的IP协议没有提供认证,数据校验和加密
IPSec的构成
IPSec 不是一个协议,而是一套协议,以下构成了 IPSec 套件:
AH协议(认证头协议)协议号51
AH(Authentication Header)指一段报文认证代码,确保数据包来自受信任的发送方,且数据没有被篡改,就像日常生活中的外卖封条一样。在发送前,发送方会用一个加密密钥算出AH,接收方用同一或另一密钥对之进行验证。然而,AH并不加密所保护的数据报,无法向攻击者隐藏数据。AH是报文头验证协议,主要提供数据源验证、数据完整性验证和防报文重放功能,不提供加密功能。发送端对IP头的不变部分和IP净荷进行离散运算,生成摘要字段;接收端根据接收的IP报文,对报文重新计算摘要字段 ,通过摘要字段比较,判别报文在网络传输期间是否被篡改。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协议通过使用带密钥的验证算法,对受保护的数据计算摘要。通过使用数据完整性检查,可判定数据包在传输过程中是否被修改;通过使用认证机制,终端系统或网络设备可对用户或应用进行认证,过滤通信流;认证机制还可防止地址欺骗攻击及重放攻击。
在使用AH协议时,AH协议首先在原数据前生成一个AH报文头,报文头中包括一个递增的序列号(Sequence number)与验证字段(空)、安全参数索引(SPI)等。AH协议将对新的数据包进行离散运算,生成一个验证字段(authentication data),填入AH头的验证字段。AH协议目前提供了两种散列算法可选择,分别是:MD5和SHA1,这两种算法的密钥长度分别是128bit和160bit。
AH协议使用32比特序列号结合防重放窗口和报文验证来防御重放攻击。
在传输模式下,AH协议验证IP报文的数据部分和IP头中的不变部分。
在隧道模式下, AH协议验证全部的内部IP报文和外部IP头中的不变部分。
AH的处理过程
对于发送出的包的处理构造AH
- 创建一个外出SA(手工或通过IKE)
- 产生序列号 填充AH头的各字段 计算ICV(integrity check value完整性检验值)内容包含:ip头中部分域、AH自身、上层协议数据。AH头中的下一头部置为原IP报头中的协议字段的值,原IP包头的“协议字段置为51(代表AH)
对于接收到的包的处理
- 分片装配 ,在不同的设备上mtu值不同,需要对接受到的数据分片装配
- 查找SA ,确定加密的算法和相关的密钥信息。 依据:目标IP地址、AH协议、SPI
- 检查序列号 ,看包是否存在重复出现
- ICV检查,完整性检查
ESP协议 (封装安全负载协议)(协议号50)
ESP是封装安全载荷协议,主要提供加密、数据源验证、数据完整性验证和防报文重放功能。ESP(Encapsulating Security Payload)向需要保密的数据包添加自己的标头和尾部,在加密完成后再封装到一个新的IP包中。ESP还向数据报头添加一个序列号,以便接收主机可以确定它没有收到重复的数据包。提供了除了AH认证头协议的所有功能外,还可以对IP报文净荷进行加密。ESP协议允许对IP 报文净荷进行加密认证。ESP没有对IP头的内容进行保护。
ESP协议报文组成
字段 | 长度 | 含义 |
---|---|---|
SPI | 32比特 | IPSec安全参数索引,用于唯一标识IPSec安全联盟。 |
序列号 | 32比特 | 是一个从1开始的单项递增的计数器,唯一地标识每一个数据包,用于防止重放攻击。 |
负载数据 | — | 包含由下一头部字段给出的变长数据。 |
填充字段 | — | 用于增加ESP报文头的位数。填充字段的长度与负载数据的长度和算法有关。当待加密报文的明文长度不是加密算法所要求的块长度时,需要进行填充补齐。 |
填充长度 | 8比特 | 给出前面填充字段的长度,置0时表示没有填充。 |
下一头部 | 8比特 | 标识ESP报文头后面的下一个负载类型。传输模式下,是被保护的上层协议(TCP或UDP)的编号;隧道模式下,是IP协议的编号。 |
认证数据 | 一个变长字段,长度为32比特的整数倍,通常为96比特。 | 该字段包含数据完整性校验值ICV,用于接收方进行完整性校验。可选择的认证算法与AH的相同。ESP的验证功能是可选的,如果启动了数据包验证,会在加密数据的尾部添加一个ICV数值。 |
ESP协议将用户数据进行加密后封装到IP包中,以保证数据的私有性。同时作为可选项,用户可以选择使用带密钥的哈希算法保证报文的完整性和真实性。ESP的隧道模式提供了对于报文路径信息的隐藏。
在ESP协议方式下,可以通过散列算法获得验证数据字段,可选的算法同样是MD5和SHA1。与AH协议不同的是,在ESP协议中还可以选择加密算法,一般常见的是DES、3DES等加密算法。加密算法要从SA中获得密钥,对参加ESP加密的整个数据的内容进行加密运算,得到一段新的“数据”。完成之后,ESP将在新的“数据”前面加上SPI字段、序列号字段,在数据后面加上一个验证字段和填充字段等。
ESP协议使用32比特序列号结合防重放窗口和报文验证,防御重放攻击
在传输模式下,ESP协议对IP报文的有效数据进行加密(可附加验证)。
在隧道模式下,ESP协议对整个内部IP报文进行加密(可附加验证)。
ESP协议的处理
对于发送出去的包的处理
- 查找SA
- 加密
- 封装必要的数据,放到payload data 域中,不同的模式,封装数据的范围不同
- 增加必要的padding数据 加密操作
- 验证
- 计算ICV,注意,针对加密后的数据进行计算。
对于接收到的包(inbound Packet)的处理:
- 分片装配
- 查找SA,依据:目标IP地址、ESP协议、SPI
- 检查序列号(可选、针对重放攻击) 使用一个滑动窗口来检查序列号的重放
- ICV检查
根据SA中指定的算法和密钥、参数,对于被加密部分的数据进行解密
去掉padding
重构原始的IP包
安全特性 |
AH |
ESP |
---|---|---|
IP协议号 |
51 |
50 |
数据完整性校验 |
支持(验证整个IP报文) |
支持(传输模式:不验证IP头;隧道模式:验证新IP头内的整个IP报文,包含旧IP头) |
数据源验证 |
支持 |
支持 |
数据加密 |
不支持 |
支持 |
防报文重放攻击 |
支持 |
支持 |
IPSec NAT-T(NAT穿越) |
不支持 |
支持 |
加密算法
加密是一种将数据从明文转换成无法读懂的密文的过程,接收方只有在拥有正确的密钥的情况下才能对密文进行解密,从而保证了数据的私密性。
IPSec VPN工作过程中涉及数据加密(IP报文加密)和协议消息加密(ISAKMP消息加密)两种情况。
数据加密
ESP能够对IP报文内容进行加密保护,以防止IP报文内容在传输过程中被窥探。IPSec采用对称加密算法对数据进行加密和解密。对称加密算法是指数据发送方和接收方使用相同的密钥进行加密、解密。
用于加密的对称密钥可以手工配置,也可以通过DH算法生成并在两端设备共享。
一般来说IPSec使用以下加密算法:
- DES(Data Encryption Standard):使用64bit的密钥对一个64bit的明文块进行加密。
- 3DES(Triple Data Encryption Standard):使用三个64bit的DES密钥(共192bit密钥)对明文形式的IP报文进行加密。
- AES-CBC-128(Advanced Encryption Standard Cipher Block Chaining 128):使用128bit加密算法对IP报文进行加密。
- AES-CBC-192(Advanced Encryption Standard Cipher Block Chaining 192):使用192bit加密算法对IP报文进行加密。
- AES-CBC-256(Advanced Encryption Standard Cipher Block Chaining 256):使用256bit加密算法对IP报文进行加密。
- AES-GCM-128(Advanced Encryption Standard (AES) with 128-bit keys and 16-octet Integrity Check Value (ICV) in Galois/Counter Mode (GCM)):使用128bit加密算法对IP报文进行加密。
- AES-GCM-192(Advanced Encryption Standard (AES) with 192-bit keys and 16-octet Integrity Check Value (ICV) in Galois/Counter Mode (GCM)):使用192bit加密算法对IP报文进行加密。
- AES-GCM-256(Advanced Encryption Standard (AES) with 256-bit keys and 16-octet Integrity Check Value (ICV) in Galois/Counter Mode (GCM)):使用256bit加密算法对IP报文进行加密。
3DES比DES安全得多,但是其加密速度慢于DES。AES比3DES更安全。
协议消息加密用于IKE协商阶段。协议消息加密所用的算法也是DES、3DES和AES。用于加密的对称密钥通过DH算法生成。
认证算法
IPSec采用HMAC(Keyed-Hash Message Authentication Code)功能进行认证。HMAC是HASH函数(单向散列函数)和消息认证码MAC(Message Authentication Code)的结合,HMAC利用Hash函数,以一个对称密钥和一个数据包作为输入,生成一个固定长度的输出,这个输出被称为完整性校验值ICV(Integrity Check Value)。接收方通过比较自身生成的ICV和对端发送的ICV来判断数据的完整性和真实性。
数据源验证和数据完整性验证统一被称为验证。因为这两种安全服务总是绑定在一起提供的。数据完整性验证是基于每个IP数据包进行计算;将完整性验证密钥同IPSec对端身份绑定的结果间接提供了数据源验证。
虽然加密后的数据只能通过原始的加密密钥进行解密,但是无法验证解密后的信息是否是原始发送的信息。另外加密和解密的过程非常的消耗CPU资源,恶意用户可能会通过发送欺骗数据包,占用CPU资源。HMAC功能通过比较数字签名进行数据包完整性和真实性验证,这个过程消耗的CPU资源非常少,效率非常高。
所以在IPSec VPN发送设备中,加密和验证通常配合使用。加密后的报文经HMAC生成数字签名,IP报文和数字签名同时发给对端(数字签名填写在AH和ESP报文头的完整性校验值ICV字段,请参见安全协议);在接收设备中,通过比较数字签名进行数据完整性和真实性验证,验证不通过的报文直接丢弃,验证通过的报文再进行解密。
验证
SA协议
安全关联(SA)是指用于协商加密密钥和算法的一些协议,提供AH、ESP操作所需的参数。最常见的 SA 协议之一是互联网密钥交换 (IKE)密钥管理协议,协商将在会话过程中使用的加密密钥和算法。确保通信双方的密钥和算法一致
- SA是单向的(任何人根据SA的信息是无法逆推出,加密算法、密钥、鉴别算法)
- SA是“协议相关”的。AH、ESP不同的协议对应和SA也不同
- 每个SA通过三个参数来标志[SPI、dst(src)、protocol]
安全参数索引SPI(security Parameters index):密码密钥的标号
对方IP地址
安全协议标识AH or ESP
- SA 与IPsec 系统中实现的两个数据库有关
安全策略数据库(SPD)
安全关联数据库(SAD)
密码和密钥放在这两个数据库中,数据库只有双方知道其他人不知道,在调用的时候通过标号来调用。
建立 SA 的方式有以下两种:
手工方式(manual):建立安全联盟比较复杂,安全联盟所需的全部信息都必须手工配置。但优点是可以不依赖 IKE 而单独实现 IPSec 功能。
IKE 动态协商(isakmp)方式:建立安全联盟相对简单些,只需要通信对等体间配置好 IKE协商参数,由 IKE 自动协商来创建和维护 SA。
IKE密钥交换协议是一种混合型协议,由Internet 安全联盟(SA)和密钥管理协议(ISAKMP)这两种密钥交换协议组成。
IPSec 在两个端点之间提供安全通信,两个端点被称为IPSec ISAKMP 网关。安全联盟(简称为SA)是IPSec 的基础,也是IPSec 的本质。SA 是通信对等体间对某些要素的约定,例如使用哪种协议、协议的操作模式、加密算法(DES、3DES、AES-128、AES-192 和AES-256)、特定流中保护数据的共享密钥以及SA 的生存周期等。
建立安全联盟的方式有两种,一种是手工方式(Manual),一种是IKE 自动协商(ISAKMP)方式。
IKE协商AH 和ESP所使用的密码算法,并将算法所需的必备密钥放到恰当位置。IKE为IPsec提供了自动协商交换密钥、建立SA的服务,能够简化IPsec的使用和管理,大大简化IPsec的配置和维护工作。
SA的建立过程包括两个阶段:
第一阶段主要工作:
- 参数的配置,如参数配置。包括:认证方法,选择预共享密钥或数字证书认证,Diffie-Hellman 组的选择。
- 策略协商。包括:加密算法选择DES、3DES、AES-128、AES-192 或AES-256。hash 算法选择MD5 或SHA
- DH 交换。虽然名为“密钥交换”,但事实上在任何时候,两台通信主机之间都不会交换真正的密钥,它们之间交换的只是一些DH 算法生成共享密钥所需要的基本材料信息。DH 交换,可以是公开的,也可以受保护。在彼此交换过密钥生成“材料”后,两端主机可以各自生成出完全一样的共享“主密钥”,保护紧接其后的认证过程。
- 认证 。DH 交换需要得到进一步认证,如果认证不成功,通信将无法继续下去。“主密钥”结合在第一步中确定的协商算法,对通信实体和通信信道进行认证。在这一步中,整个待认证的实体载荷,包括实体类型、端口号和协议,均由前一步生成的“主密钥”提供机密性和完整性保证。
第二阶段主要工作:
第二阶段为快速SA,为数据传输而建立的安全联盟。这一阶段协商建立IPsec SA,为数据交换提供IPSec 服务。第二阶段协商消息受第一阶段SA 保护,任何没有第一阶段SA 保护的消息将被拒收。
- 策略协商,双方交换保护需求:
- 使用哪种IPSec 协议:AH 或ESP
- 是否使用hash 算法:MD5、SHA 或NULL
- 是否要求加密,若是,选择加密算法:DES 或3DES、AES-128、NULL、AES-192 或AES-256
在上述三方面达成一致后,将建立起两个SA,分别用于入站和出站通信。
- 会话密钥“材料”刷新或交换。在这一步中,将通过DH 交换生成加密IP 数据包的“会话密钥”。
- 将SA 递交给IPSec 驱动程序。在第二阶段协商过程中,如果响应超时,则自动尝试重新进行第二阶段SA 协商。
IPSec传输模式
IPsec支持两种模式:传输模式和隧道模式。借助于隧道模式,经常被用于做vpn。
简介:
- 原始的IP包,是由低层封装高层。
- 传输模式封装原始的IP包,是在原始的IP报文中新增加了一个IPsec的头,并对tcp头、数据做加密处理。
- 使用隧道模式封装原始的IP包,是将原始的IP包整体作为需要加密的有效数据部分,直接在外面增加IPsec头,在最外面增加外部IP头。
隧道(tunnel)模式:用户的整个IP数据包被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被封装在一个新的IP数据包中。通常,隧道模式应用在两个安全网关之间的通讯。
传输(transport)模式:只是传输层数据被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被放置在原IP包头后面。通常,传输模式应用在两台主机之间的通讯,或一台主机和一个安全网关之间的通讯。
传输模式和隧道模式比较:
- 安全性来讲,隧道模式优于传输模式。它可以完全对原始IP数据包进行验证和加密。隧道模式下可以隐藏内部IP地址,协议类型和端口。
- 从性能上来讲,隧道模式有一个额外的IP头,所有它将比传输模式占用更多的带宽。
- 从场景来讲,传输模式主要应用于两台主机或一台主机和一台VPN网关之间通信;隧道模式主要应用于两台VPN网关之间或一台主机与一台VPN网关之间的通信。
两个封装模式的区别:
- 传输模式在AH、ESP处理前后IP头部保持不变,主要用于End-to-End的应用场景。传输模式下end-to-end中的两端必须都使用公网IP。
- 隧道模式则在AH、ESP处理之后再封装了一个外网IP头,主要用于Site-to-Site的应用场景。隧道模式虽然可以适用于任何场景,但是隧道模式需要多一层IP头(通常为20字节长度)开销,所以在PC到PC的场景,建议还是使用传输模式。
IPSec模式与协议的组合一共有四种:
如下分别介绍四种模式的报文格式:
传输模式AH:由名字可知,这是在主机上通过添加认证头协议的加密方式来传输IPsec报文。
隧道模式AH:即在边缘路由器上架设AH协议。
传输模式ESP:在主机上架设ESP协议。
隧道模式ESP:在边缘路由器上架设ESP。
以上看出特点,传输模式都是在原IP头后加上对应的协议头,而隧道模式都是在原IP头前面加上对应的协议头,因为传输模式是在主机上,ESP和AH均为三层协议,在构建好协议加密头部后再构建IP头,才能向下传输IP分组。而隧道模式架设在路由器上,由此,我们仅需在头部加上协议头,但是又得在网络上传输,所以需要在协议头前面加上新的IP头。
IPSec 是如何工作的?
通信间的方式,IPSec采用的是SA(安全关联 security association),但请注意,它是单向的,就是说,要实现双方通信,得建立两条SA,并且双方得互相维护它的状态,所以说IPsec是面向连接的,而IP是无连接的。
IPSec 的工作方式涉及五个关键步骤,如下:
1、主机识别,启动ike:识别“感兴趣流”。网络设备接收到报文后,通常会将报文的五元组等信息和IPsec策略进行匹配来判断报文是否要通过IPsec隧道传输,需要通过IPsec隧道传输的流量通常被称为“感兴趣流”。当路由器接收到与访问列表匹配的内容时,将启动 IKE 进程,启动隧道创建。
2、协商安全联盟(Security Association,以下简称SA)。SA是通信双方对某些协商要素的约定,比如双方使用的安全协议、数据传输采用的封装模式、协议采用的加密和验证算法、用于数据传输的密钥等,通信双方之间只有建立了SA,才能进行安全的数据传输。识别出感兴趣流后,本端网络设备会向对端网络设备发起SA协商。在这一阶段,通信双方之间通过IKE协议先协商建立IKE SA(用于身份验证和密钥信息交换),然后在IKE SA的基础上协商建立IPsec SA(用于数据安全传输)。
IKE 阶段 1:主机使用 IPSec 协商将用于安全通道的策略集,双方验证完成后,在它们之间建立一个安全通道,用于协商 IPSec 电路加密或验证通过它发送的数据的方式。协商安全联盟以构建 IKE 阶段 1 隧道(ISAKMP 隧道)。第一阶段,协商和建立 IKE 本身使用的安全通道。
IKEv1第一阶段交换和秘钥协商定义了两种模式:主模式(Main Mode)和野蛮模式(Aggressive Mode)
如图1所示,是IKEv1第一阶段主模式协商流程,步骤如下:
1、发起者触发IKEv1第一阶段主模式协商,发送一个封装有IKE提议(加密算法、认证算法及认证方式)的SA载荷,SA载荷中包括一个或多个IKE提议。
2、响应者发送一个SA载荷,封装响应放接受的IKE提议(只能有一个提议)。
3、发起者发送秘钥交换载荷,交换DH秘钥数据(本端的DH公共值和Nonce随机数);
4、响应者发送秘钥交换载荷,交换DH秘钥数据(本端的DH公共值和Nonce随机数);
5、发起者使用生成的DH秘钥,加密发送身份信息和HASH认证信息。
6、响应者发送验证者身份,使用生成的DH秘钥,加密发送自身的身份信息,供发起者认证。
在5、6个包里,就用前面产生的认证密钥进行相互认证,这里可以通过预共享、数字签名、加密临时值来实现。当相互认证通过,那么为第二阶段协商IPSEC SA策略的安全通道立即打开,两端的VPN服务器会用第一阶段协商的安全策略对第二阶段协商的IPSEC SA策略进行安全加密和认证;
同时要注意,从第5个包起,后面的所有包将会加密,只不过不同的是,第5、6个包和第二阶段用于协商的3个包都是通过第一阶段协商的安全策略进行加密的,而用户通信的数据则是用第二阶段协商的IPSEC SA策略进行加密和认证的,至于两者的密钥是否一样,就要看在第二阶段是否定义了PFS策略,如果应用了,那第二阶段的密钥将与第一阶段的不同,否则两者的密钥是一样的。
如图2所示,是IKEv1第一阶段野蛮模式协商流程,步骤如下:
1、发起者触发IKEv1第一阶段野蛮模式协商,发送一个包括SA载荷、秘钥交换载荷、Nonce随机数载荷和身份信息载荷。野蛮模式将主模式中需要进行交换的数据全部进行了发送。
2、响应者发送SA载荷、秘钥交换载荷、Nonce载荷、身份信息和供发起者使用的HASH认证信息。
当响应方接收到发起方发送来的消息1后,通过查看自身SPD是否存在与发起方身份匹配的相关策略,若存在,则利用消息1中信息与自身配置进行计算,生成身份验证hash值后,将自身配置策略信息和hash值传送给发起方。
对比消息1和消息2,可以看到消息2中增加了 hash载荷。
3、发起者认证响应者的消息,发送HASH认证信息,供响应者认证。
第三条消息,需要使用前两条消息交换的秘钥信息生成的密钥进行加密。
发起方接收到应答方的策略信息和hash值后,同样进行验证,若匹配,则将自身的hash值用计算出的密钥加密后,传输给应答方。
要注意的是,包含身份信息的消息未被加密, 所以和主模式不同,野蛮模式不提供身份保护。
IKE 阶段 2:通过安全通道进行,在该通道中,两台主机协商在会话中使用的加密算法类型,主机还同意并交换双方计划用于进出流量的加密和解密密钥。
3、IPSec 传输:IPsec SA建立成功后,双方就可以通过IPsec隧道传输数据了。通过新创建的 IPSec 加密隧道交换数据,之前设置的 IPSec SA 用于加密和解密数据包。IPsec为了保证数据传输的安全性,在这一阶段需要通过AH或ESP协议对数据进行加密和验证。加密机制保证了数据的机密性,防止数据在传输过程中被窃取;验证机制保证了数据的真实可靠,防止数据在传输过程中被仿冒和篡改。
4、IPSec 终止:当主机之间的会话超时或通信完成时,通信双方之间的隧道在空闲时间达到一定值后会自动删除。
IPSec 如何在 VPN 中使用
VPN本质上是在公共网络上实现的专用网络。VPN 通常用于企业,使员工能够远程访问其公司网络。按照VPN协议分类,常见的VPN种类有:IPSec、SSL、GRE、PPTP和L2TP等。其中IPSec是通用性较强的一种VPN技术,适用于多种网络互访的场景。 IPSec 通常用于保护 VPN的安全。VPN在用户的计算机和VPN服务器之间创建了一个专用网络,而IPSec协议实现了一个安全的网络,保护VPN数据不受外部访问。
通过IPSec VPN可以在主机和主机之间、主机和网络安全网关之间或网络安全网关(如路由器、防火墙)之间建立安全的隧道连接。其协议主要工作在IP层,在IP层对数据包进行加密和验证。可以使用两种 IPSec 模式设置 VPN:隧道模式和传输模式。
IPSec VPN与SSL VPN
SSL VPN是采用SSL/TLS协议来实现远程接入的一种轻量级VPN技术,包括服务器认证、客户认证、SSL链路上的数据完整性和SSL链路上的数据保密性。SSL VPN提供安全、可代理连接,只有经认证的用户才能对资源进行访问。SSL VPN能对加密隧道进行细分,从而使得终端用户能够同时接入Internet和访问内部企业网资源,也就是说它具备可控功能。
IPSec VPN和SSL VPN 都可以实现企业级安全远程访问,但它们以不同的方式提供。IPSec工作在网络层,即把原始数据包网络层及以上的内容进行封装;SSL VPN工作在传输层,封装的是应用信息。
IPSec和SSL的具体区别:
参考文档:
https://blog.csdn.net/xiaojie_csdn/article/details/124052847
https://blog.csdn.net/phoenix1415/article/details/126138118?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167048678216782425189598%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=167048678216782425189598&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-10-126138118-null-null.142^v68^js_top,201^v4^add_ask,213^v2^t3_esquery_v3&utm_term=ipsec&spm=1018.2226.3001.4187
https://www.cnblogs.com/lvxiaobo616/p/5713825.html
https://blog.csdn.net/weixin_44809632/article/details/107456488
https://blog.csdn.net/Sallyyym/article/details/112861528
https://blog.csdn.net/qq_60503072/article/details/122871685?ops_request_misc=&request_id=&biz_id=102&utm_term=ipsec&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-122871685.142^v68^js_top,201^v4^add_ask,213^v2^t3_esquery_v3&spm=1018.2226.3001.4187
https://blog.csdn.net/qq_38265137/article/details/89423617
https://blog.csdn.net/weixin_38387929/article/details/117463067?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167048678216782425170562%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167048678216782425170562&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-117463067-null-null.142^v68^js_top,201^v4^add_ask,213^v2^t3_esquery_v3&utm_term=ipsec&spm=1018.2226.3001.4187
https://blog.csdn.net/qq_44948209/article/details/122511237?ops_request_misc=&request_id=&biz_id=102&utm_term=ipsec&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-8-122511237.142^v68^js_top,201^v4^add_ask,213^v2^t3_esquery_v3&spm=1018.2226.3001.4187
https://blog.csdn.net/phoenix1415/article/details/126138118?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167048678216782425189598%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=167048678216782425189598&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-10-126138118-null-null.142^v68^js_top,201^v4^add_ask,213^v2^t3_esquery_v3&utm_term=ipsec&spm=1018.2226.3001.4187
https://blog.csdn.net/kuaizai__/article/details/120478329?ops_request_misc=&request_id=&biz_id=102&utm_term=ipsec&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-5-120478329.142^v68^js_top,201^v4^add_ask,213^v2^t3_esquery_v3&spm=1018.2226.3001.4187
https://blog.csdn.net/weixin_41999297/article/details/122208522?ops_request_misc=&request_id=&biz_id=102&utm_term=ipsec&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-4-122208522.142^v68^js_top,201^v4^add_ask,213^v2^t3_esquery_v3&spm=1018.2226.3001.4187
https://blog.csdn.net/qq_38265137/article/details/89423551?ops_request_misc=&request_id=&biz_id=102&utm_term=ipsec&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-89423551.142^v68^js_top,201^v4^add_ask,213^v2^t3_esquery_v3&spm=1018.2226.3001.4187
https://blog.csdn.net/qq_43561370/article/details/111814842?ops_request_misc=&request_id=&biz_id=102&utm_term=ipsec&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-111814842.142^v68^js_top,201^v4^add_ask,213^v2^t3_esquery_v3&spm=1018.2226.3001.4187
https://blog.csdn.net/hjx020/article/details/116135080?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167048678216782425170562%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167048678216782425170562&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-4-116135080-null-null.142^v68^js_top,201^v4^add_ask,213^v2^t3_esquery_v3&utm_term=ipsec&spm=1018.2226.3001.4187
https://blog.csdn.net/qq_45782298/article/details/116427421
https://blog.csdn.net/jj1130050965/article/details/122291090