详解IP安全:IPSec协议簇 | AH协议 | ESP协议 | IKE协议

简介: 详解IP安全:IPSec协议簇 | AH协议 | ESP协议 | IKE协议

IP安全概述

大型网络系统内运行多种网络协议(TCP/IP、IPX/SPX和NETBEUA等),这些网络协议并非为安全通信设计。而其IP协议维系着整个TCP/IP协议的体系结构,除了数据链路层外,TCP/IP的所有协议的数据都是以IP数据报的形式传输的。


TCP/IP协议族有两种IP版本:版本4(IPv4)和版本6(IPv6),IPv6是IPv4的后续版本,IPv6简化了IP头,其数据报更加灵活,同时IPv6还增加了对安全性的考虑。


目前占统治地位的是IPv4,IPv4在设计之初没有考虑安全性,IP数据包本身并不具备任何安全特性,导致在网络上传输的数据很容易受到各式各样的攻击:比如伪造IP包地址、修改其内容、重播以前的包以及在传输途中拦截并查看包的内容等。因此,通信双方不能保证收到IP数据报的真实性。


IPSec协议簇

为了加强因特网的安全性,从1995年开始,IETF着手制定了一套用于保护IP通信的IP安全协议(IP Security,IPSec)。IPSec是IPv6的一个组成部分,是IPv4的一个可选扩展协议。IPSec弥补了IPv4在协议设计时缺乏安全性考虑的不足。


IPSec定义了一种标准的、健壮的以及包容广泛的机制,可用它为IP以及上层协议(比如TCP或者UDP)提供安全保证。IPSec的目标是为IPv4和IPv6提供具有较强的互操作能力、高质量和基于密码的安全功能,在IP层实现多种安全服务,包括访问控制、数据完整性、机密性等。 IPSec通过支持一系列加密算法如DES、三重DES、IDEA和AES等确保通信双方的机密性。


IPSec协议簇中主要包括三个协议:IKE/AH/ESP


  • IKE(Internet Key Exchange,因特网密钥交换):IKE协议是一种基于UDP的应用层协议,它主要用于SA协商和密钥管理。
  • AH协议(Authentication Header,验证头):可以证明数据的 起源地、保障数据的完整性以及防止相同数据包在因特网重播。
  • ESP协议(Encapsulating Security Payload,封装安全载荷):具有所有AH的功能,还可以利用加密技术保障数据机密性。

AH虽然可以保护通信免受窜改, 但并不对数据进行变形转换, 数据对于黑客而言仍然是清晰的。为了有效地保证数据传输安全, ESP进一步提供数据保密性并防止窜改。也就是说,AH提供数据的可靠性和完整性,但机密性由ESP保护。虽然AH和ESP都可以提供身份认证,但它们有2点区别: ESP要求使用高强度的加密算法,会受到许多限制。 多数情况下,使用AH的认证服务已能满足要求,相对来说,ESP开销较大。 同时有两套不同的安全协议意味着可以对IPSec网络进行更细粒度的控制,选择安全方案可以有更大的灵活度。


IPSec的实现方式

IPSec的实现方式有两种:传输模式和隧道模式,都可用于保护通信。


传输模式用于两台主机之间,保护传输层协议头,实现端到端的安全性。 当数据包从传输层传送给网络层时,AH和ESP会进行拦截,在IP头与上层协议之间需插入一个IPSec头。当同时应用AH和ESP到传输模式时,应该先应用ESP,再应用AH。



传输模式的封包如下所示



隧道模式用于主机与服务器,或者服务器与服务器之间,保护整个IP数据包,将整个IP数据包进行封装(称为内部IP头),然后增加一个IP头(称为外部IP头),并在内部与外部IP头之间插入一个IPSec头。



隧道模式的封包如下所示



IPSec可在终端主机、网关/路由器或者两者中同时进行实施和配置。至于IPSec在网络什么地方配置,则由用户对安全保密的要求来决定。 在需要确保端到端的通信安全时,在主机实施显得尤为有用。 然而,在需要确保网络一部分的通信安全时,在路由器中实施IPSec就显得非常重要。


AH(Authentication Header,认证头)

AH为IP报文提高能够数据完整性校验和身份验证,还具备可选择的重放攻击保护,但不提供数据加密保护。 AH不对受保护的IP数据报的任何部分进行加密,除此之外,AH具有ESP的所有其他功能。 AH和ESP同时保护数据,在顺序上,AH在ESP之后,AH格式如图:



头部(8位)表示AH后的载荷类型,传输模式下是6(TCP)或17(UDP),隧道模式下是5 (TCP)或41(UDP)。 载荷长度(8位)是整个AH的长度减2,长度以32为单位。保留(16)位是保留字段,全为0。 安全参数索引(32位)与外部IP头的目的地址一起对报文进行身份验证和完整性校验,序列号(32位)是一个单向递增的计数器,提供抗重播能力。验证数据的长度由具体的验证算法决定。


对AH的处理分成2部分:


  • 对发送的数据包添加AH头
  • 对收到的含有AH的数据包进行还原

ESP(Encapsulating Security Payload,封装安全载荷)

ESP为IP报文提供数据完整性校验、身份验证、数据加密以及重放攻击保护等。 除了AH提供的所有服务外,还提供机密性服务。 ESP可在传输模式以及隧道模式下使用。ESP头可以位于IP头与上层协议之间,或者用它封装整个IP数据报。ESP头的格式 :



安全参数索引(32位)用于标识处理数据包的安全关联。 序列号(32位)与AH类似,提供抗重放攻击。 填充项(0~255位),长度由具体加密算法决定。 填充长度(8位):接收端可以恢复的数据载荷的真实长度。 下一头部(8位):表示受ESP保护的载荷的类型。 在传输模式下可能是6(TCP)或17(UDP),在隧道模式下可能是5(IPv4)或41(IPV6)


AH和ESP可以单独使用,也可以同时使用。AH和ESP同时使用时,报文会先进行ESP封装,再进行AH封装;IPsec解封装时,先进行AH解封装,再进行ESP解封装。


IKE(Internet Key Exchange,因特网密钥交换)

整个IKE协议规范主要由3个文档定义:RFC2407、RFC2408和RFC2409


  • RFC2407定义了因特网IP安全解释域
  • RFC2408描述了因特网安全关联和密钥管理协议(Internet Security Association and Key Manangement Protocol,ISAKMP)
  • RFC2409描述了IKE协议如何利用Oakley,SKEME和ISAKMP进行安全关联的协商

以下文本来自于华为官网:


IKE协议属于一种混合型协议,它综合了ISAKMP(Internet Security Association and Key Management Protocol)、Oakley协议和SKEME协议这三个协议。其中,ISAKMP定义了IKE SA的建立过程,Oakley和SKEME协议的核心是DH(Diffie-Hellman)算法,主要用于在Internet上安全地分发密钥、验证身份,以保证数据传输的安全性。IKE SA和IPSec SA需要的加密密钥和验证密钥都是通过DH算法生成的,它还支持密钥动态刷新。


IKE的两个阶段

IKE的第一阶段——主模式交换和积极模式交换


第一阶段的主要任务是建立IKE SA,为后面的交换提供一个安全通信信道。 使用主模式交换和积极模式交换。这两种模式都可以建立SA,两者的区别在于积极模式只用到主模式一半的消息,因此积极模式的协商能力受到限制的,而且它不提供身份保护。但是积极模式可以有一些特殊用途,比如远程访问等。 另外如果发起者已经知道响应者的策略,利用积极模式可以快速的建立IKE SA。


主模式和积极模式都允许4中不同的验证方法:


  • 预共享密钥
  • DSS数字签名
  • RSA数字签名
  • 交换加密

IKE的第二阶段——快速模式交换


快速模式交换主要是为通信双方协商IPSec SA的具体参数,并生成相关密钥。 IKE SA通过数据加密、消息验证来保护快速模式交换。快速模式交换和第一阶段交换相互关联,来产生密钥材料和协商IPSec的共享策略。 快速模式交换的信息由IKE SA保护,即除了ISA KMP报头外,所有的载荷都需要加密,并且还要对消息进行验证。

————————————————

版权声明:本文为CSDN博主「luming.02」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m0_69519887/article/details/134383369

目录
相关文章
|
7月前
|
网络协议 网络架构
ARP协议(地址分析协议)
本文详细的介绍了ARP地址解析协议,可以让学习数通的方向的人们,打下坚实的基础。
|
7月前
|
网络协议 定位技术 网络架构
IP 协议(网络层协议)
IP 协议(网络层协议)
68 0
|
9月前
|
网络协议 安全 Shell
常见的协议的协议号及端口
常见的协议的协议号及端口
165 0
|
12月前
|
存储 网络协议 安全
IPsec ESP 数据包的 UDP 封装
选择共享 IKE 和 UDP 封装的 ESP 流量的端口号是因为它提供了更好的扩展性(NAT 中只有一个 NAT 映射;无需发送单独的 IKE keepalive)、更容易配置(仅在防火墙中配置一个端口),更容易实现。
896 0
IPsec ESP 数据包的 UDP 封装
|
网络协议 程序员 网络架构
详解 IP 协议
详解 IP 协议
161 0
详解 IP 协议
|
存储 安全 算法
【计算机网络】网络安全 : 网络层安全协议 ( IPsec 协议 | IPsec 协议族组成 | IP 安全数据报工作方式 | 安全关联 SA | SA 状态信息 | IP 安全数据报格式 )(二)
【计算机网络】网络安全 : 网络层安全协议 ( IPsec 协议 | IPsec 协议族组成 | IP 安全数据报工作方式 | 安全关联 SA | SA 状态信息 | IP 安全数据报格式 )(二)
208 0
【计算机网络】网络安全 : 网络层安全协议 ( IPsec 协议 | IPsec 协议族组成 | IP 安全数据报工作方式 | 安全关联 SA | SA 状态信息 | IP 安全数据报格式 )(二)
|
安全 算法 网络协议
【计算机网络】网络安全 : 网络层安全协议 ( IPsec 协议 | IPsec 协议族组成 | IP 安全数据报工作方式 | 安全关联 SA | SA 状态信息 | IP 安全数据报格式 )(一)
【计算机网络】网络安全 : 网络层安全协议 ( IPsec 协议 | IPsec 协议族组成 | IP 安全数据报工作方式 | 安全关联 SA | SA 状态信息 | IP 安全数据报格式 )(一)
415 0
【计算机网络】网络安全 : 网络层安全协议 ( IPsec 协议 | IPsec 协议族组成 | IP 安全数据报工作方式 | 安全关联 SA | SA 状态信息 | IP 安全数据报格式 )(一)
|
网络协议 算法 网络架构
【计算机网络】网络层 : IP 组播 ( IP 数据报传输方式 | 组播 IP 地址 | 组播 MAC 地址 | IGMP 协议 | 组播路由选择协议 )
【计算机网络】网络层 : IP 组播 ( IP 数据报传输方式 | 组播 IP 地址 | 组播 MAC 地址 | IGMP 协议 | 组播路由选择协议 )
282 0
【计算机网络】网络层 : IP 组播 ( IP 数据报传输方式 | 组播 IP 地址 | 组播 MAC 地址 | IGMP 协议 | 组播路由选择协议 )
|
网络协议 网络架构
【计算机网络】数据链路层 : 广域网 ( HDLC 协议 | HDLC 站 | HDLC 帧格式 | HDLC 帧类型 | PPP 协议 与 HDLC 协议 对比 )
【计算机网络】数据链路层 : 广域网 ( HDLC 协议 | HDLC 站 | HDLC 帧格式 | HDLC 帧类型 | PPP 协议 与 HDLC 协议 对比 )
259 0
【计算机网络】数据链路层 : 广域网 ( HDLC 协议 | HDLC 站 | HDLC 帧格式 | HDLC 帧类型 | PPP 协议 与 HDLC 协议 对比 )