0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈常见的隧道技术之IPSec

jf_uPRfTJDa 来源:移动Labs 5G通信 2023-10-22 17:31 次阅读

Labs 导读

IPSec(IP security)是IETF制定的三层隧道加密协议,它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。因为其安全性特点,IPSec被广泛应用。

IPSec不是一个单独的协议,而是一套网络安全协议族,包括网络认证协议AH(Authentication Header,认证头)、ESP(Encapsulating Security Payload,封装载荷)和密钥管理协议IKE(Internet Key Exchange, 因特网密钥交换)以及用户网络认证及加密的一些算法等。

IPSec工作模式分为:传输模式(transport)和隧道模式(tunnel)两种。简单来说传输模式是原始二层数据包不再附加二三四层头、隧道模式是原始二层数据包经过协议隧道封装是添加上二三四层头,IPSec的隧道模式就是在原始的ip数据包外面再封装了一层ip头,所以IPSec也经常被大家称作三层隧道协议。下面就带大家详细的了解一些这些具体的协议,以及IPSec协议实际应用中占据重要地位的穿越NAT实现。

Part 01安全协议——AH协议

AH协议是一种基于IP的传输协议,协议号为51。具体工作方式是在每一个数据包的标准IP报文头部后面添加一个AH报文头:

e409743c-70b0-11ee-939d-92fbcf53809c.png

AH协议发送方会对数据包和认证密钥进行hash计算,接收方收到报文之后,按照一样的算法进行hash计算并与原计算结果进行比较,如果不一致,可以推断出数据包在传输过程中遭到了修改或者破坏。通过这样的方式,能提供数据来源认证和数据完整性校验。值得一提的是AH协议的完整性校验范围是整个IP报文。 AH报文头中有几个重要的字段值得关注:安全参数索引(SPI)用于唯一标识IPSec安全联盟,序列号唯一标识每一个数据包,能用于防重放攻击。

Part 02安全协议——ESP协议

和AH协议一样,ESP协议也是一种基于IP的传输层协议,协议号为50。具体的工作方式是在每一个数据包的IP报文头后面添加一个ESP报文头,值得注意的是,在数据包尾部还追加一个ESP尾部(ESP Tail和ESP Auth Data),同时还有一点与AH协议不同的是,ESP协议仅对IP数据包的有效载荷进行加密,对IP报文头是没有进行加密保护的。

e416ef04-70b0-11ee-939d-92fbcf53809c.png

和AH协议类似,ESP报文头中也有安全参数索引(SPI)和序列号两个字段,并且,AH协议和ESP协议的认证算法是相通的。

AH协议和ESP协议具体的比较如下:

e425ce84-70b0-11ee-939d-92fbcf53809c.png

总结:AH协议不能提供数据包加密功能,ESP协议验证范围不包括IP头部,故在安全性要求较高的场景中可以考虑联合使用AH协议和ESP协议。

Part 03IKE协议

简单来说,IKE协议是动态协商IPSec隧道的协议,能完成身份验证、密钥交换、生成IPSec SA,协商过程中,数据包具体采用AH协议还是ESP协议封装以及身份认证就定下来了。

IKE协议目前有两个版本:IKEv1和IKEv2,IKEv2在v1的基础上,不仅简化了SA的协商过程,提高了协商效率,而且修复了多处公认的密码学方面的安全漏洞,提高了安全性能,所以实际IKEv2应用更加广泛。

以IKEv2为例,通过初始交换可以协商建立第一对IPSec SA,这其中包含两次交互四条消息,包含加密和验证算法等参数协商,生成共享密钥,完成身份认证、消息认证。如果需要创建多对IPSec SA,可以通过创建子SA交换过程协商出来,同时在协商过程中存在一些控制信息的传递,例如错误消息或者通告消息,这些信息是通过通知交换完成的。

Part 04NAT穿越

IPSec协议能得到广泛应用,除了能提供安全加密的传输之外,另一个重要原因是能够实现NAT穿越,这在现网传输中是极其重要的,因为公网IP资源有限,绝大部分设备都是通过NAT转换之后共享公网IP资源传输交换报文的,所以穿越NAT在现网应用中是极其重要的。

如前文描述的AH协议和ESP协议的特点,我们发现AH协议不能穿越NAT,原因是NAT会修改报文的IP头,但是AH完整性校验是基于整个IP报文的,所以导致AH协议下IPSec不能穿越NAT。而ESP报文的完整性校验不包括IP头,IP地址转换也不会破坏ESP的hash值,所以在只做IP转换的NAT场景下,ESP协议封装是支持NAT穿越的。但是很多时候,公网IP是共用的,所以NAT转换不仅需要转换IP,同时需要转换端口,但是ESP协议对IP有效载荷进行加密了,导致无法对端口号进行修改,这也是很多IP in IP的隧道无法穿越NAT的根本原因,解决办法是再加一个UDP报文头——NAT-T(NAT Traversal),源目的端口号均是4500。

NAT-T的方式隧道能解决IPSec穿越NAT的问题,但是穿越NAT之后同样存在以下两个问题:一是穿越NAT后的身份认证及IP地址复用的问题。在目前的IP网络中,IP即为身份标识,但是NAT之后IP会发生变化,当前国内主要采用字符串取代IP地址作为身份标识的方式,这样就不受NAT影响了。二是ESP协议是基于IP的协议,当NAT网关背后存在多个ESP应用端,且地址复用一个,那么无法只根据IP协议号进行反向映射,ESP协议必须要做出改变。这一点在NAT-T流程中会有具体的体现,下面我们详细阐述NAT-T流程

首先判断双方是否支持NAT-T。当开启NAT穿越时,IKE协商过程中会发送标识NAT-T能力的vendor ID载荷,用于检查通信双方是否支持NAT-T,只有当双方都在各自的消息中包含了该载荷,后续才会进行相关的NAT-T协商。其次是判断链路上是否存在NAT设备。在IKE协商中,会发送NAT-D(NAT Discovery)载荷,这个载荷用于探测NAT设备,双方都会向对方发送源目的IP和端口的hash值,存放在该载荷中,如果在传输过程中发生改变,hash值会相应的改变,判断hash值就可以判断链路中是否存在NAT转换。最后是ESP处理,在前两步的前提下,当发现NAT网关之后,后续的IKE报文端口号转换成4500。

上述技术虽然能实现NAT穿越,但是也存在一定的局限性:使用NAT-T功能会导致在IKE协商过程中增加大约200字节的开销,数据传输过程中也会增加大约20字节的开销;同时不能采用AH协议,一定程度上也会降低安全性;NAT设备无法保证始终固定的IP和固定的端口为内部主机提供访问映射,所以IPSec必须能够自动检测变化,以保证通讯始终畅通。

Part 05后记

IPSec自从1990年被开发出来以来,目前为止已经应用超过30年,技术的发展经过一代代的积累也日渐成熟,基础的交换流程也比较完备,未来的发展方向大概率是在认证和加密算法上面。美国NIST在2020年也发布过特别出版物《IPSec VPNs指南》,文中指出IETF正着力于研究各类IKE与IPSec扩展议题,同时也介绍了在组播与组认证、ESP中的隐式IV、后量子密钥交换等方面的努力。未来我们将及时关注最新的IPSec技术,在实际生产和工作中进行应用,为中国移动新型网络架构添砖加瓦。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IPSec
    +关注

    关注

    0

    文章

    54

    浏览量

    22676
  • ESP
    ESP
    +关注

    关注

    0

    文章

    171

    浏览量

    33394
  • NAT系统
    +关注

    关注

    0

    文章

    6

    浏览量

    5036

原文标题:技术 | 浅谈常见的隧道技术之IPSec

文章出处:【微信号:5G通信,微信公众号:5G通信】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    浅谈原理图和PCB图的常见错误

    浅谈原理图和PCB图的常见错误
    发表于 08-12 13:04

    IPsec的基础知识

    使用。隧道模式这会加载有效负载和标头。当数据包的目标不同于安全终止点时,将使用隧道模式下的IPsec。此模式的最常见用途是在网关之间或从终端站到网关之间。网关充当主机的代理。因此,当数
    发表于 08-09 13:50

    介绍一种基于SoC的IPSec协议实现技术

    IPSec协议是什么?一种基于SoC的IPSec协议实现技术
    发表于 05-26 07:05

    LS1046A是否有任何特定工具可以让安全隧道更接近线速并支持数据包分段?

    使用 DPAA,并在 DPDK 中看到了一些使用 ipsec-secgw 的有前途的例子。是否有任何特定工具可以让安全隧道更接近线速并支持数据包分段?ipsec-secgw 是我们应该调查的路径吗?
    发表于 03-28 07:18

    DPDK IPsec-GW传输模式下,SSH和SFTP不工作怎么解决?

    : 1.13.2108) 和 Codewarrior IDE 开始了我的项目。设置: PC1NXP-1-P0IPSEC[ENC/DEC]NXP-1-P1NXP-2-P1IPSEC[ENC/DEC
    发表于 03-30 06:39

    如何通过caam提高ipsec性能?

    ) <----------------------------> LS1046A_2(fm1-mac5) (1) 没有caam的ipsec
    发表于 04-25 09:51

    基于SoC 的IPSec 协议实现技术

    简要介绍IPSec 体系结构和SoC 设计技术;在分析IPSec 协议的基础上,给出基于SoC 的IPSec 的芯片结构及其实现技术
    发表于 05-18 13:58 21次下载

    虚拟专用网络及其隧道实现技术

    这篇文章阐述了VPN及其隧道技术,分析了第二层隧道协议和 IPSec 第三层隧道协议的实现原理,然后对各种协议做了深入的比较,包括实现难度和
    发表于 05-25 11:41 19次下载

    基于三层隧道技术IPSec-VPN技术

    本文介绍了虚拟专用网技术及其基于网络的VPN 所具有的优点,分析了三层隧道协议的优势,三层隧道IPSec 的安全技术,提供了VPN 解决方
    发表于 08-19 10:22 20次下载

    基于L2TP/IPSEC的安全隧道技术方案

    分析L2rI’P协议实现VPN时存在的安全问题,提出一种将L2TP协议和IPSec协议相结合,利用IPsec为L2rI’P协议提供保护的安全隧道技术方案.关键词:虚拟专用网;L2TP;
    发表于 01-08 08:25 16次下载

    浅谈异频中继在铁路无线通信弱场区及隧道盲区的应用

    浅谈异频中继在铁路无线通信弱场区及隧道盲区的应用     一、引言      在大郑线新立屯至通辽西区间增建第二线工程中,有相邻的甲、乙、丙三个站
    发表于 11-17 09:32 1991次阅读

    简述ipsec的工作原理

    IPsec是IETF制定的三层隧道加密协议,它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。特定的通信方之间在IP层通过加密与数据源认证等方式,提供了以下的安全服务
    发表于 11-21 14:38 2.7w次阅读
    简述<b class='flag-5'>ipsec</b>的工作原理

    一文道尽SSL VPN 和 IPSEC VPN 的区别

    Ipsec 一般用于“网到网”的连接方式。比如分公司内的主机和总公司内的主机有通信需求,这时候可以用ipsec vpn在两个公司之间建立隧道。把两个站点的本地要通过vpn进行互访的网段进行配置。那么13.13.13.1和2.2.
    的头像 发表于 03-31 09:23 6031次阅读

    基于IPSec VPN隧道技术的国密加密网关保障电力工控数据安全

    IPSecVPN(InternetProtocolSecurityVirtualPrivateNetwork)隧道技术为电力工控系统提供了重要的数据安全传输手段。该技术能实现身份鉴别和数据加密传输
    的头像 发表于 10-16 17:36 596次阅读
    基于<b class='flag-5'>IPSec</b> VPN<b class='flag-5'>隧道</b><b class='flag-5'>技术</b>的国密加密网关保障电力工控数据安全

    浅谈单灯智能控制的高速公路隧道照明管理系统的应用

    浅谈单灯智能控制的高速公路隧道照明管理系统的应用 张颖姣 安科瑞电气股份有限公司 上海嘉定 201801 【摘要】:以G50沪渝高速的峨山隧道为研究载体,着重介绍了高速公路隧道灯控制系
    的头像 发表于 02-26 09:38 133次阅读
    <b class='flag-5'>浅谈</b>单灯智能控制的高速公路<b class='flag-5'>隧道</b>照明管理系统的应用