分享

ISAKMP格式介绍

 baijeg 2022-08-24 发布于山东

1.Isakmp头格式

                         1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

!                          Initiator                            !

!                            Cookie                             !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

!                          Responder                            !

!                            Cookie                             !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

!  Next Payload ! MjVer ! MnVer ! Exchange Type !     Flags     !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

!                          Message ID                           !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

!                            Length                             !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                                                                     

 

2.SA Payload

1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

! Next Payload  !   RESERVED    !         Payload Length        !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

!              Domain of Interpretation  (DOI)                  !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

!                                                               !

~                           Situation                           ~

!                                                               !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Next Payload1个八位字节)--消息中下一个载荷的载荷类型标识符。如果当前载荷处于消息的最后,此字段位0。当它们作为安全联盟协商的一部分时,此字段绝不能包含提议或转换载荷的值。例如,在交换的第一条消息中,此字段将包含值10Nonce载荷的类型),在标识保护交换中的第一条消息中,此字段将包含值0

Reserved1个八位字节)――未用,置为0

Payload Length2个八位字节)――以八位字节为单位,整个安全联盟载荷的长度,包括SA载荷,所有提议载荷,和所有与被提议安全联盟相连的传输载荷。

DOI4个八位字节)――有了它协商才可以进行。DOI是一个32位无符号整数。在阶段1的交换中DOI的值如果为0,说明ISAKMP SA可在第二阶段中用于任何协议,如果ISAKMP SA在第二阶段用于IPSec,则 DOI的值指定为1。所有其它的DOI值留给IANA以备后用。在没有参考一些公开规范,如 Internet RFC之前,是不会随便指定一个DOI值的。这个字段必须在安全联盟载荷之内。

Situation(可变长度)――由DOI字段定义,用于标识协商发生在什么环境下。环境用来做出关于所协商的安全属性的策略决定。此字段必须包含在安全联盟载荷之内。

 

3.Proposal Payload报文格式

                          1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

! Next Payload  !   RESERVED    !         Payload Length        !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

!  Proposal #   !  Protocol-Id  !    SPI Size   !# of Transforms!

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

!                        SPI (variable)                         !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

提议载荷包含用在安全联盟协商中的信息。提议由安全机制,或转换组成,用来加强通信信道的安全。

Next Payload1个八位字节)――表示消息中下一个载荷的载荷类型。此字段只能包含值2或0。如果消息中还有额外的提议载荷,此字段为2。如果当前提议载荷处于安全联盟提议的最后,此字段为0。保留(1个八位字节)――未用,置为0。

RESERVED (1个八位字节—— 未使用设置为0.

Payload Length2个八位字节)――以八位字节为单位,整个提议载荷,包括普通载荷头,提议载荷,和所有与此提议相关的转换载荷。当同一个提议号对应有多个提议时,载荷长度字段仅用在当前的提议载荷,而不是对所有的提议载荷。

Proposal #1个八位字节)――标识当前载荷的提议号。

Protocol-Id1个八位字节)――指定当前协商中的协议描述符。实例中可能包括ISAKMP、IPSEC ESP、PSEC AH、OSPF,TLS等。

SPI 大小1个八位字节)――以八位字节为单位,由协议-ID所定义的SPI 长度。在ISAKMP中,ISAKMP头部的初始和响应cookie对是ISAKMP SPI,因此,SPI大小是不相关的,可能从0到16。如果SPI大小非0,SPI字段的内容必须忽略。如果SPI的大小不是4个八位字节的整数倍,它对SPI字段,和消息中的载荷联盟有一些影响。解释域(DOI)将规定对于其它协议的SPI大小。

# of Transforms1个八位字节)――定义该提议对应多少个转换。

SPI (variable)――发送实体的SPI。当SPI不是4个八位字节的整数倍时,不会对载荷进行填充,然而,它可以用在消息的末尾。

提议载荷的载荷类型是2。

4.Transform Payload报文格式

                          1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

! Next Payload  !   RESERVED    !         Payload Length        !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

!  Transform #  !  Transform-Id !           RESERVED2           !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

!                                                               !

~                        SA Attributes                          ~

!                                                               !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

转换载荷包含用在安全联盟协商中的信息。传输载荷由特定安全机制,或传输组成,用来加强信道的安全。传输载荷同样包括和特定传输相关的安全联盟属性。这些SA属性是DOI特有的。

Next Payload1个八位字节)――消息中下一个载荷的载荷类型标识符。这个字段是3或0。在提议中有额外的传输载荷,此字段为3。如果当前传输载荷处于提议的最后,此字段为0。

Payload Length2个8位字节)――以八位字节为单位,当前载荷的长度,包括普通载荷头,传输值,和所有SA属性。

Transform #1个八位字节)――标识当前载荷的转换。如果在一个提议载荷内,对于一个特定的协议有多个转换被提议,那么,每一个转换载荷有一个转换号码。

Transform-Id (1个八位字节)――指定当前提议中协议的转换标识符。这些传输有DOI定义,并且独立于所协商的协议。

RESERVED22个八位字节)――未用,置为0。

SA Attributes(可变长度)――此字段包括在传输-ID字段中对于给定传输的安全联盟属性。如果SA属性并不是成4字节整数倍,则使用填充物填充。

传输载荷的载荷类型为3。

 

5.Key Exchange Payload报文格式

                          1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

! Next Payload  !   RESERVED    !         Payload Length        !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

!                                                               !

~                       Key Exchange Data                       ~

!                                                               !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

密钥交换载荷用来支持各种密钥交换技术

Next Payload1个八位字节)――消息中下一个载荷的载荷类型标识符。如果当前载荷处于消息的最后,此字段为0。

RESERVED1个八位字节)――未用,置为0。

Key Exchange Data(可变长度)――用来产生会话密钥的数据。此数据有DOI和联盟密钥交换算法来解释。此字段同样可以包含前置的密钥指示符。密钥交换载荷的载荷类型为4。

 

6.Vendor ID Payload报文格式

1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

! Next Payload  !   RESERVED    !         Payload Length        !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

!                                                               !

~                        Vendor ID (VID)                        ~

!                                                               !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

厂商ID载荷包括由厂商定义的常量。由厂商用来鉴别和区分他们实现的远程实例。

Next Payload 1个八位字节)――消息中下一个载荷的载荷类型标识符。这个字段是3或0。在提议中有额外的传输载荷,此字段为3。如果当前传输载荷处于提议的最后,此字段为0。

RESERVED1个八位字节)――未用,置为0。

Vendor ID (可变长度—— Hash of the vendor string plus version (as described above).

 

 

 

7.ID Payload报文格式

 

1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

! Next Payload  !   RESERVED    !         Payload Length        !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

!   ID Type     !             DOI Specific ID Data              !

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

!                                                               !

~                   Identification Data                         ~

!                                                               !        

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

 

标识载荷包括用于交换标识信息的特定DOI数据。此信息用来决定通信对等实体的同一性,还可以用来决定信息的可靠性。

Next Payload1个八位字节)--消息中下一个载荷的载荷类型标识符。如果当前载荷处于消息的最后,此字段为0

RESERVED1个八位字节)――未用,置为0

Payload Length2个八位字节)――以八位字节为单位,当前载荷的长度,包括普通的载荷头。

ID Type1个八位字节)――指定被使用的标识类型,由DOI定义。

DOI Specific ID Dat3个八位字节)-包含DOI 专用标识数据。如果未用,此字段必须置为0

Identification Data(可变长度)--包含通信实体的标识信息。此字段的值是DOI定义的,而且,格式由ID类型字段来指定。

标识载荷的载荷类型为5

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多