ISAKMP (Internet Security Association Key Management Protocol,Internet安全联盟**管理协议)由RFC2408定义,定义了协商、建立、修改和删除SA的过程和包格式。ISAKMP只是为SA的属性和协商、修改、删除SA的方法提供了一个通用的框架,并没有定义具体的SA格式。ISAKMP 主要有三个过程:SA协商秘钥交换认证

通过对已实现标准ipsec通信的两台机器进行抓包发现,在IKE协商阶段的数据包格式都是基于ISAKMP协议

【从零开始实现ipsec通信01】ISAKMP数据包 的分析与构建

首先,将对ISAKMP数据包格式进行分析。

Wireshark抓包数据截图:

【从零开始实现ipsec通信01】ISAKMP数据包 的分析与构建

包结构:

【从零开始实现ipsec通信01】ISAKMP数据包 的分析与构建

解释说明

Initiator Cookie ― Initiator Cookie:启动 SA 建立、SA 通知或 SA 删除的实体 Cookie。

Responder Cookie ― Responder Cookie:响应 SA 建立、SA 通知或 SA 删除的实体 Cookie。

Next Payload ― 信息中的 Next Payload 字段类型。

Major Version ― 使用的 ISAKMP 协议的主要版本。

Minor Version ― 使用的 ISAKMP 协议的次要版本。

Exchange Type ― 正在使用的交换类型。

Flags ― 为 ISAKMP 交换设置的各种选项。

Message ID ― 唯一的信息标识符,用来识别第2阶段的协议状态。

Length ― 全部信息(头+有效载荷)长(八位)。

对ISAKMP的三个过程进行分析与实现

SA协商

SA的概念:

所谓安全关联,指的是两个或者多个实体之间的一种安全关系。它描述了实体间如何利用安全服务来进行安全通信。这种安全关系可以通过实体间的一组信息来表述,类似于一个合同。这些信息必须是所有实体都同意,而且共享的信息。有时候这些信息单独的被称作一个SA,但这仅仅是已存在的安全关系的物理示例而已。这种关系的存在,为安全协作的实体提供了大家都同意的安全信息。所有的实体都必须遵循SA,从而使安全通信成为可能。访问SA属性的时候,实体们使用一个叫做SPI(Security Parameter Index)的指针或者标识。[SEC-ARCH]提供了IP SA和SPI定义的更多细节。

需要协商加密算法、认证机制,以及**建立算法。安全关联必须也支持面向主机的认证(低层协议),和面向用户的认证(高层协议)。在应用层协议,比如e-mail、remote login和文件传输,以及面向会话的协议,路由协议和链路层协议中,都要求算法和机制的独立性。ISAKMP为这些安全协议、应用、安全需求和网络环境提供了一个一般的安全关联和**建立协议。

SA协商的过程则比较简单。一方首先发起协商,告知对方自己支持的安全参数。如果接收方也支持,则协商成功。否则,重新协商。

**交换

**交换主要用于**的建立。

认证

认证,指的是通过认证的过程来验证通信对方是否是它所期望的实体,而不是假冒者。

 

 

参考文献:IPsec ISAKMP协议 https://blog.csdn.net/bytxl/article/details/36016141

 

 

相关文章:

  • 2021-09-05
  • 2021-10-21
  • 2021-05-24
  • 2021-10-15
  • 2021-06-04
  • 2021-11-29
  • 2021-06-11
  • 2021-12-18
猜你喜欢
  • 2021-09-22
  • 2022-02-26
  • 2021-04-04
  • 2022-12-23
  • 2021-05-07
  • 2022-01-03
  • 2021-05-18
相关资源
相似解决方案