IPSec协议

IPSec协议IPSec协议概述​IPsec是网际层实现IP分组端到端安全传输的机制,由一组安全协议组成。鉴别首部协议AH(AuthenticationHeader)和封装安全净荷协议ESP(EncapsulatingSecurityPayload)是其中的两个协议,AH和ESP协议均实现IP分组源端

大家好,欢迎来到IT知识分享网。

IPSec协议

概述

​ IPsec是网际层实现IP分组端到端安全传输的机制,由一组安全协议组成。鉴别首部协议AH(Authentication Header)封装安全净荷协议ESP(Encapsulating Security Payload)是其中的两个协议,AH和ESP协议均实现IP分组源端鉴别防重放攻击,两者的差别是,AH只实现数据完整性检测,而ESP不但要实现数据完整性检测还可以对数据进行加密。而为了实现安全关联的动态建立过程,还设计了Internet密钥交换协议IKE(Internet Key Exchange Protocol),用于完成安全关联两端之间的额双向身份鉴别过程和安全关联相关安全参数的协商过程

​ 所谓安全关联,就是为了以实现源端鉴别、数据加密和完整性检测为目的的关联就称为安全关联。安全关联是单向的,用于确定发送者至接收者传输方向的数据所使用的加密算法和加密密钥、消息鉴别码MAC算法和消息鉴别MAC密钥

​ 其次IPsec对数据进行加密的方式有两种,一种是是传输模式,另一种是隧道模式。在传输模式下,IPsec所保护的数据就是作为IP分组净荷上层协议数据。而在隧道模式下,将整个IP分组作为另一个IP分组的净荷的封装方式就是隧道模式。

传输模式:

IPSec协议

隧道模式:

IPSec协议

​ 那么前面所提到的防重放攻击是怎么做到的呢。ESP报文或AH报文就会采用序号来防止重放攻击。在建立安全关联时,序号初始值会设置为0。源端发送AH报文会ESP报文,会先将序号增1。在安全关联的寿命内,不允许出现相同的序号。由于报文的到达也会有先后顺序,所以会设置一个防重放窗口,在规定窗口内到达的序号是合规的,但是如果小于窗口中允许的最小的那个序号值,那就可能是重放攻击了。

鉴别头AH(Authentication Header)协议

AH报文格式

传输模式下的AH报文封装

IPSec协议

隧道模式下的AH报文封装

IPSec协议

​ 首先两种模式,在IP协议的首部字段会与普通IP报文区分开。

  • 在传输模式下,IP首部中的协议字段值为51,表示AH报文

  • 在隧道模式下,就有两个IP首部了,在新IP包头首部的协议字段值仍未51,表示AH报文

鉴别首部AH格式:

IPSec协议

  • 下一个首部:

    • 在传输模式下,该字段值为IP报文中原本的数据净荷的协议类型,比如原来包的TCP报文,那么这个字段值就为6

    • 在隧道模式下,该字段值为表示净荷是隧道格式的协议字段值。

  • 鉴别首部长度:以32位为单位给出AH的总长度

  • 安全参数索引SPI:接收端将其和AH报文的目的IP地址和IP首部(隧道模式下的外层IP首部)中IPsec协议类型一起用于确定AH报文所属的安全关联

  • 序号:用于防重放攻击

  • 鉴别数据:消息鉴别码MAC,用于鉴别源端身份和实现数据完整性检测。其鉴别算法可采用MD5或SHA-1,鉴别算法和鉴别密钥都是在之前约定的,是在建立安全关联时所协商的。

鉴别过程

​ 那么AH报文是如何实现源端鉴别和完整性检测过程的呢,其源端鉴别由消息鉴别码的共享密钥来实现,完整性检测则是由消息鉴别码本身所实现。

IPSec协议

​ 但要注意,在传输模式下和隧道模式下要用报文摘要算法加密的数据是有所区别的。

​ 在传输模式下,包括IP首部,IP净荷和AH中除鉴别数据以外的其他字段。

​ 在隧道模式下,包括外层IP首部,包括内层IP首部在内的整个IP分组和AH中除鉴别数据以外的其他字段。

封装安全净荷ESP(Encapsulating Security Payload)协议

ESP报文格式

传输模式下的ESP报文:

IPSec协议

隧道模式下的ESP报文:

IPSec协议

IPSec协议

​ 同样,在IP首部中的协议字段值为50,表示净荷协议ESP报文。

封装安全净荷ESP格式:

IPSec协议

​ 其字段构成跟AH是差不多的,都由安全参数索引、序号、下一个首部和鉴别数据组成。

​ 但是有不同的地方,比如,ESP会将字段分为两个部分,分别插到净荷的前面和后面;再比如,在ESP尾部中会有一个填充和填充长度的统计,那为什么会有这个填充呢,是因为对ESP的加密是通过某些对称算法实现的,比如DES加密算法,其每次加密数据都是要求64位一组,所以加密的数据必须为64位的倍数,不够倍数,就会用填充数据。

​ 其余字段的作用跟AH的差不多,就不再一一介绍。

​ ESP加密运算覆盖的字段是净荷+ESP尾部,可以选择众多加密算法,比如三重DES、AES、RC5、IDEA等

​ 鉴别数据字段包括ESP首部+净荷+ESP尾部,隧道模式下的净荷包括内层IP首部在内的整个IP分组。

Internet密钥交换协议IKE(Internet Key Exchange)

静态安全关联和动态安全关联

​ 静态安全关联就是由人工完成的配置过程;动态关联则是根据需要,通过协商建立的安全关联。而我们的IKE刚好就是这样一种动态建立安全关联并完成参数协商的协议

​ 启动IKE的过程如图所示:

IPSec协议

IKE建立安全关联过程

其过程如图所示,涉及Diffie-Hellman密钥分发协议

IPSec协议

​ 其实在如图所示的IKE建立安全关联的过程可以细分为两个过程,第一个建立安全通道的过程也被称为建立IKE安全关联的过程,也就是上图的第一二条报文互换的阶段;第二段过程则是所谓的建立IPsec安全关联的阶段,也就是上图的第三四条报文互换的阶段。

  • 在第一条报文中,终端A会向Web服务器发送的信息包括IKE安全传输通道所使用的加密算法DES报文摘要算法MD5用于生成密钥种子KS的YA和NA。YA是通过计算得出,YA=αˣᴬ mod p,再其中,XA为随机数,α和p则为组号为2的Diffie-Hellman参数组指定的值。NA也是随机数

  • 在第二条报文中,web服务器对上面的消息作出响应,同意使用DES加密算法报文摘要算法MD5。此外,还会发送给终端A用于生成密钥种子的YB和NB。YB也是通过计算得出,YA=αˣᴮ mod p,再其中,XB也为随机数,α和p跟上面是一样的。此外,服务器还会向终端A发送证书请求

  • 在终端A收到服务器B发送的YB和NB,就会根据这两个数字生成密钥种子KS=YBˣᴬ mod p;服务器B在生成YB后就会跟之前收到的YA来生成密钥种子KS=YAˣᴮ mod p,这两个KS值是相等的。根据密钥种子KS和随机数NA、NB生成所有需要的密钥,包括IKE安全传输信道所使用的加密密钥KIPsec安全关联所使用的鉴别MAC密钥

  • 在第三条报文中,就是终端A向web服务器发送IPsec安全关联所指定的安全协议AH消息鉴别算法MD5、并且给出终端A和web服务器B的标识符名IDAIDB、以及用于证明自己的公钥是PKA的证书、用A私钥加密的用于证实自己身份的数字签名Dska,而且以上这些数据也会经过上诉步骤已经协商好的密钥K来加密传输。

  • 在第四条报文中,web服务器B会同意使用安全协议AH和消息鉴别算法MD5、并设置安全参数索引SPI、给出终端A和web服务器B的标识符名IDAIDB、以及用于证明自己的公钥是PKB的证书和用B私钥加密的用于证实自己身份的数字签名Dskb,而且以上这些数据也会经过上诉步骤已经协商好的密钥K来加密传输。

  • 根据密钥种子KS生成MAC密钥XXX。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/32490.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信