首页 > 编程知识 正文

ipsec协议工作原理,IPSEC是一个单独的协议

时间:2023-05-06 07:08:38 阅读:157592 作者:3795

1、IPsec基本介绍1.1 ipsec基本数据

1.2 ipsec封装模式传输模式

传输模式在AH、ESP处理前后,IP报头保持不变,主要用于端对端的应用场景。

隧道模式

隧道模式在AH、ESP处理后封装外网IP报头,主要用于Site-to-Site应用场景

1.3主动模式交互过程2隧道模式下的基本封装和姐姐封装过程

2.1封装过程从原始IP消息中找到TCP消息部分,然后添加相应的ESP trailer消息。

ESP trailer由三个部分组成: Padding、Pad length和Next header。 Padding是在最后一个数据块长度不足时进行的填充,即使使用块加密。 Pad length是包装开箱时用于查找要填充的数据段的填充长度。 Next header指示已封装的原始消息的协议类型,例如6=TCP。 将原始的TCP消息和步骤1中得到的ESP trailer作为一体加密封装。 具体的加密算法和密钥由SA给出。 将ESP标头添加到步骤2中获得的密文中。 ESP标头是安全参数链接(SPI )和Seq #

由两部分组成。 密文和ESP报头统称为“enchilada”,构成认证部分。 添加完整性度量结果(ICV )。 摘要在步骤3中生成的“加密”认证部分(ESP Authentication )

Data ),得到32位整数倍的ICV,加在“enchilada”后面。 ICV生成算法和验证密钥由SA给出。 将原始IP报头的协议号码更改为50 (表示esp ),并且在下一次将IP报头添加到步骤4的结果中之前配置IPsec消息。

2.2解封装过程的接收方在接收到IP消息后,发现协议类型为50,指示这是ESP分组。 首先确认ESP头,使用安全参数索引号SPI

确定与数据消息相对应的SA,并且获取对应的模式(隧道或转发模式)和安全规范。 根据SA指定的摘要算法和验证密钥计算“enchilada”的摘要值和附加在IP消息末尾的ICV

相比之下,如果两者相同,则数据的完整性没有受到损害。 检查ESP报头中Seq #的序列号,保证数据是新的,避免重放攻击,根据SA指定的加密算法和加密密钥对密文段进行解密,得到原始TCP消息和ESP trailer。 基于ESP trailer的填充长度信息找到填充字段的长度,删除填充字段以得到原始TCP消息; 根据TCP报头信息将消息传递到传输层。

在贯穿NAT的特殊处理ipsec过程中,ipsec分为IKE消息和ESP消息两种。 然后我们无视ESP消息不讨论。 现在,这个现象是这样的。 除了初始交互,即在前两个软件包中使用500个端口。 然后,所有消息都使用4500端口进行通信。

即使要发送IKE的rekey或reauth,也要使用4500端口。 也就是说500端口,不再用于后续的消息序列图。

使用4500有效载荷,并且在IKE报头和UDP报头之间插入4个字节的0,以便区分ESP消息和IKE消息。

由UDP4500托管的ESP消息。 UDP4500搭载的IKE消息。 UDP500搭载的IKE消息。

接下来,假设所有主机都使用500个端口而不是4500个端口。 在那之后会发生什么? 首先,NAT设备没有问题。 关于在这里讨论或假设的场景,没有问题。

都可以处理。 此外,NAT设备也不在乎500是否是有名的端口,不进行特别处理。

是的,而且这三种类型的消息都在UDP 500端口上承载。 此时,操作系统收到udp 500的包时,无法区分它是IKE还是ESP。

于是,我们面临着一个选择。

a )让操作系统首先进入IKE消息的处理流程,然后对ESP消息进行特殊的兴奋猫区分,识别ESP消息。

b )让操作系统首先进入ESP消息的处理流程,然后对IKE消息进行特殊的区分,识别IKE消息。

结果,在这个选择中,RFC们选择了b。 原因是ESP消息的数量远远多于IKE消息。 在每个数据包中添加mark,即4字节0,作为资源消耗。 两种陷阱选择了轻便的,自然选择了IKE。

参考资料IPSec VPN基本原理IPSec方案部署IPSecNatiPSec打包流程(关键) PSec nat-T技术实现nat穿越IPSec介绍华为IPSec配置在nat环境下的应用

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。