设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 1346|回复: 1
收起左侧

[分享] IPSec协议框架

[复制链接]
 成长值: 63265
发表于 2023-12-11 09:32:42 | 显示全部楼层 |阅读模式
安全协议
IPSec通过AH(Authentication Header,验证头)和ESP(Encapsulating Security Payload,封装安全载荷)两个安全协议实现IP报文的封装/解封装。
  • AH是报文头验证协议,主要提供数据源验证、数据完整性验证和防报文重放功能,不提供加密功能。
  • ESP是封装安全载荷协议,主要提供加密、数据源验证、数据完整性验证和防报文重放功能。

虽然AH协议和ESP协议都可以提供数据源验证和数据完整性校验服务,但是两者不能互相取代。两者之间的差别在于验证报文的范围不同,验证范围请参见封装模式
AH和ESP协议的简单比较如表17-15所示。
表17-15 AH与ESP比较
安全特性
AH
ESP
IP协议号
51
50
数据完整性校验
支持(验证整个IP报文)
支持(传输模式:不验证IP头;隧道模式:验证新IP头内的整个IP报文,包含旧IP头)
数据源验证
支持
支持
数据加密
不支持
支持
防报文重放攻击
支持
支持
IPSec NAT-T(NAT穿越)
不支持
支持

从上表中可以看出两个协议各有优缺点,AH协议不提供数据加密功能,ESP的验证范围不包括IP头,除非IP头被封装在ESP内部(采用隧道模式封装报文时的旧IP头),其安全性不如AH,故在安全性要求较高的场景中可以考虑联合使用AH协议和ESP协议。AH协议和ESP协议联合使用时,需要先使用ESP,这是因为AH对整个IP数据报文进行认证,如果先使用AH再使用ESP,ESP的头和尾会改变数据报文的长度,而且ESP的填充字段也会改变数据报文的长度,造成AH认证失败。



封装模式
目前NE40E支持传输模式和隧道模式。
传输模式在传输模式下,AH或ESP被插入到IP头之后但在所有传输层协议或者其他IPSec协议之前。如图17-102所示。图17-102 传输模式中的报文格式

                               
登录/注册后可看大图


传输模式不改变IP报文头,只是IP协议字段被改为AH(51)或者ESP(50),并重新计算IP报文头校验和,故IPSec隧道的源和目的地址必须为IP报文头中的源和目的地址,所以只适用于两台主机之间的通讯。
传输模式下,AH协议的完整性验证范围为整个IP报文,IP报文内容改变会导致接收端AH认证失败,因此AH与必须改变IP报文头中的IP地址的NAT协议无法共存。ESP协议验证报文的完整性检查部分包括ESP头、传输层协议头、数据和ESP尾,但不包括IP报文头,因此ESP协议无法保证IP报文头的安全,却可以与NAT协议共存。ESP的加密部分包括传输层协议头、数据和ESP尾。

隧道模式隧道模式的报文格式如图17-103所示。在隧道模式下,原始IP数据报文被封装成一个新的IP数据报文,并在旧IP报文头(图17-103中的IP Header)和新IP报文头(图17-103中的New IP Header)之间插入一个IPSec报文头(AH或ESP),原IP地址被当作有效载荷的一部分受到IPSec的安全保护。图17-103 隧道模式的报文格式

                               
登录/注册后可看大图


隧道模式隐藏了原始IP报文头信息,因此主要应用于两台VPN网关之间或一台主机与一台VPN网关之间的通信。
隧道模式下,AH协议的完整性验证范围为包括新增IP头在内的整个IP报文。ESP协议验证报文的完整性检查部分包括ESP头、原IP头、传输层协议头、数据和ESP尾,但不包括新IP头,因此ESP协议无法保证新IP头的安全。ESP的加密部分包括传输层协议头、数据和ESP尾。
当安全协议同时采用AH和ESP时,AH和ESP协议必须采用相同的封装模式。

传输模式和隧道模式比较
传输模式和隧道模式比较:
  • 从安全性来讲,隧道模式优于传输模式。它可以完全地对原始IP数据包进行验证和加密。隧道模式下可以隐藏内部IP地址,协议类型和端口。
  • 从性能来讲,隧道模式因为有一个额外的IP头,所以它将比传输模式占用更多带宽。





加密算法
加密是一种将数据从明文转换成无法读懂的密文的过程,接收方只有在拥有正确的密钥的情况下才能对密文进行解密,从而保证了数据的私密性。
IPSec VPN工作过程中涉及数据加密(IP报文加密)和协议消息加密(ISAKMP消息加密)两种情况。
数据加密
ESP能够对IP报文内容进行加密保护,以防止IP报文内容在传输过程中被窥探。IPSec采用对称加密算法对数据进行加密和解密。对称加密算法是指数据发送方和接收方使用相同的密钥进行加密、解密。
采用对称加密算法进行数据加密和解密的过程如图17-104所示。图17-104 加密和解密的过程

                               
登录/注册后可看大图


用于加密的对称密钥可以手工配置,也可以通过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字段,请参见安全协议);在接收设备中,通过比较数字签名进行数据完整性和真实性验证,验证不通过的报文直接丢弃,验证通过的报文再进行解密。
加密和HMAC验证配合使用的过程如图17-105所示。图17-105 HMAC验证过程

                               
登录/注册后可看大图


用于验证的对称密钥可以手工配置,也可以通过DH算法生成并在两端设备共享。
一般来说IPSec使用以下几种认证算法:
  • MD5(Message Digest 5):输入任意长度的消息,产生一个128比特的消息摘要。
  • SHA-1(Secure Hash Algorithm):输入长度小于264比特的消息,然后生成一个160比特的消息摘要。
  • SHA2-256:通过输入长度小于264比特的消息,产生256比特的消息摘要。
  • SHA2-384:通过输入长度小于2128比特的消息,产生384比特的消息摘要。
  • SHA2-512:通过输入长度小于2128比特的消息,产生512比特的消息摘要。

SHA-2的消息摘要长于MD5和SHA-1,因此,SHA-2比MD5和SHA-1更安全。



密钥交换
IKE的协商过程中,隧道两端需要进行密钥材料的交换,以便使用相同密钥进行正确的加密和解密。
密钥交换方法
使用对称密钥进行加密、验证时,如何安全地共享密钥是一个很重要的问题。有两种方法解决这个问题:
  • 带外共享密钥
    在发送、接收设备上手工配置静态的加密、验证密钥。双方通过带外共享的方式(例如通过电话或邮件方式)保证密钥一致性。这种方式的缺点是可扩展性差,在点到多点组网中配置密钥的工作量成倍增加。另外,为提升网络安全性需要周期性修改密钥,这种方式下也很难实施。
  • 使用一个安全的连接分发密钥
    IPSec使用IKE协议在发送、接收设备之间安全地协商密钥。IKE采用DH算法在不安全的网络上安全地交换密钥信息,并生成加密、验证密钥。这种方式配置简单,可扩展性好,特别是在大型动态的网络环境下此优点更加突出。

IKE提供密钥交换,自动协商建立安全联盟等服务。采用IKE协议可以使IPSec配置和管理更简单、更灵活。
  • Internet安全联盟和密钥管理协议ISAKMP(Internet Security Association and Key Management Protocol)是IKE的基础,IKE使用ISAKMP协议定义密钥交换的过程。ISAKMP提供了对安全服务进行协商的方法,密钥交换时交换信息的方法,以及对对等体身份进行验证的方法。
  • IKE的精髓在于它永远不在不安全的网络上传送密钥,而是通过一些数据的交换,通信双方最终计算出共享的密钥,并且即使第三方截获了双方用于计算密钥的所有交换数据,也无法计算出真正的密钥。其中的核心技术就是DH(Diffie Hellman)交换技术。


DH密钥交换
DH用于产生密钥材料,并通过ISAKMP消息在发送和接收设备之间进行密钥材料交换。然后,两端设备各自计算出完全相同的对称密钥。该对称密钥用于加密和验证密钥的计算。在任何时候,双方都不交换真正的密钥。
DH密钥交换过程如图17-106所示。图17-106 DH密钥交换过程

                               
登录/注册后可看大图

  • 进行DH交换的双方各自产生一个随机数,如a和b。
  • 使用双方确认的共享的公开的两个参数:底数g和模数p各自用随机数a和b进行幂和模运算,得到结果c和d,计算公式如下:
    c=gamod(p)
    d=gbmod(p)
  • 交换计算所得的结果c和d
  • 各自进一步计算,得到一个共同的DH公有值:damod(p)=cbmod(p)=gabmod(p),此公式可以从数学上证明。DH公有值就是双方的密钥。


DH密钥交换的过程由2个报文的交换来完成:
  • 第1个报文:发送方根据已协商好的DH组,随机产生参数g、p、a并计算出c,将g、p、c发送给接收方。
  • 第2个报文:接收方收到后,也随机产生参数b并结合收到的参数g、p计算出d,将d回应给发送方。
若网络上的第三方截获了双方的模c和d,那么要计算出DH公有值gabmod(p)还需要获得a或b,a和b始终没有直接在网络上传输过。如果想由模c和d计算a或b就需要进行离散对数运算,而p为素数,当p足够大时(一般为768位以上的二进制数),数学上已经证明,其计算复杂度非常高,从而认为是不可实现的。所以,DH交换技术可以保证双方能够安全地获得密钥信息。
DH使用密钥组来定义自己产生的密钥长度。密钥长度越长,产生的密钥就越安全,但所需的计算时间也依次递增。




发表于 2024-5-13 16:51:36 | 显示全部楼层
华为认证,值得拥有!
沙发 2024-5-13 16:51:36 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-1-24 04:51 , Processed in 0.061686 second(s), 11 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表