📄 rfc2408.txt
字号:
! 下一个载荷 ! 保留 ! 载荷长度 !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 解释字段(DOI) !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! !
~ 环境 ~
! !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图 5: 安全联盟载荷
* 下一个载荷(1个八位字节)――消息中下一个载荷的载荷类型标识符。如果当前载荷处于消息的最后,此字段位0。当它们作为安全联盟协商的一部分时,此字段绝不能包含建议或转换载荷的值。例如,在基交换的第一条消息中,此字段将包含值“10”(Nonce载荷),在标识保护交换中的第一条消息中,此字段将包含值“0”。(见4.5节)
* 保留(1 个八位字节)――未用,置为0。
* 载荷长度(2个八位字节)――以八位字节为单位,整个安全联盟载荷的长度,包括SA载荷,所有提议载荷,和所有与被提议安全联盟相连的传输载荷。
* 解释字段(4个8位字节)――表示DOI(见2.1节的描述),有了它协商才可以进行。DOI是一个32位无符号整数。在阶段1的交换中DOI的值为0,说明了普通ISAKMP SA可在第二阶段中用于任何协议。SA属性的必要性在A.4中有定义。Ipsec DOI【IPDOI】的值指定为1。所有其它的DOI值留给IANA以备后用。在没有参考一些公开规范,如 Internet RFC之前,是不会随便指定一个DOI值的。其它DOI可用附录B中的描述来进行定义。这个字段必须在安全联盟载荷之内。
* 环境(可变长度)――一个特定的DOI字段,用来标识环境,有了它,协商才可以进行。环境用来做出关于所协商的安全属性的策略决定。IETF IP 安全DOI环境的具体细节的说明见【IPDOI】。此字段必须包含在安全联盟载荷之内。
3.5 提议载荷
提议载荷包含用在安全联盟协商中的信息。提议由安全机制,或转换组成,用来加强通信信道的安全。图6表示了提议载荷的格式。关于它的用途将在4.2节中描述。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 下一个载荷 ! 保留 ! 载荷长度 !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 提议 # ! 协议-ID ! SPI 大小 ! # 转换 !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! SPI (可变) !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图6 :提议载荷格式
* 下一个载荷(1个八位字节)――表示消息中下一个载荷的载荷类型。此字段只能包含值2或0。如果消息中还有额外的提议载荷,此字段为2。如果当前提议载荷处于安全联盟提议的最后,此字段为0。
* 保留(1个八位字节)――未用,置为0。
* 载荷长度(2个八位字节)――以八位字节为单位,整个提议载荷,包括普通载荷头,提议载荷,和所有与此提议相关的转换载荷。当同一个提议号对应有多个提议时(见4.2节),载荷长度字段仅用在当前的提议载荷,而不是对所有的提议载荷。
* 提议#(1个八位字节)――标识当前载荷的提议号。此字段的用途将在4.2节中进行描述。
* 协议-ID(1个八位字节)――指定当前协商中的协议描述符。实例中可能包括IPSEC ESP,IPSEC AH,OSPF,TLS等。
* SPI 大小(1个八位字节)――以八位字节为单位,由协议-ID所定义的SPI 长度。在ISAKMP中,ISAKMP头部的初始和响应cookie对是ISAKMP SPI,因此,SPI大小是不相关的,可能从0到16。如果SPI大小非0,SPI字段的内容必须忽略。如果SPI的大小不是4个八位字节的整数倍,它对SPI字段,和消息中的载荷联盟有一些影响。解释域(DOI)将规定对于其它协议的SPI大小。
* 传输的#(1个八位字节)――规定提议的转换号。每一个都包含在传输转换载荷中。
* SPI(可变)――发送实体的SPI。当SPI不是4个八位字节的整数倍时,不会对载荷进行填充,然而,它可以用在消息的末尾。
提议载荷的载荷类型是2。
3.6 传输载荷
传输载荷包含用在安全联盟协商中的信息。传输载荷由特定安全机制,或传输组成,用来加强信道的安全。传输载荷同样包括和特定传输相关的安全联盟属性。这些SA属性是DOI特有的。图7表示了传输载荷的格式。在4.2节将对其使用进行描述。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 下一个载荷 ! 保留 ! 载荷长度 !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 传输 # ! 传输-Id ! 保留2 !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! !
~ SA 属性 ~
! !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图7: 传输载荷格式
传输字段定义如下:
* 下一个载荷(1个八位字节)――消息中下一个载荷的载荷类型标识符。这个字段是3或0。在提议中有额外的传输载荷,此字段为3。如果当前传输载荷处于提议的最后,此字段为0。
* 保留(1个8位字节)――以八位字节为单位,当前载荷的长度,包括普通载荷头,传输值,和所有SA属性。
* 传输#(1个八位字节)――标识当前载荷的传输号。如果在一个提议载荷内,对于一个特定的协议有多个传输被提议,那么,每一个传输载荷有一个传输号。4.2节将描述此字段的使用。
* 传输-ID(1个八位字节)――指定当前提议中协议的传输标识符。这些传输有DOI定义,并且独立于所协商的协议。
* 保留2(2个八位字节)――未用,置为0。
* SA属性(可变长度)――此字段包括在传输-ID字段中对于给定传输的安全联盟属性。如果SA属性并不是结盟成4字节的边界,并发载荷将不会结盟,任何填充将将到消息的末尾,形成4字节结盟的消息。
* 传输#(1个字节)――标识当前载荷的传输号。如果在提议的载荷内,对于一个特定的协议,有多个传输被提议,那么,每一个传输载荷都有唯一传输号。4.2节将描述此的使用。
* 传输-ID(1个八位字节)-指定在当前提议内协议的传输标识符。这些传输有DOI来定义,并且,独立于所协商的协议。
* 保留(2个八位字节)――未用,置为0。
* SA属性(可变长度)――此字段包括在传输-ID字段中给定传输的安全联盟属性。SA属性的表示应该用在3.3节中描述的数据属性格式。如果SA属性不是结盟成4个八位字节边界,并发的载荷将结盟,填充将加在消息的末尾,形成4个八位字节的消息。
传输载荷的载荷类型为3。
3.7 密钥交换载荷
密钥交换载荷支持可变的密钥交换技术。例如:密钥交换有Oaklay【Oakley】,Diffie-Hellman, 在X9.42【ANSI】中描述的加强的Diffie-Hellman密钥交换,以及PGP所用到的基于RSA的密钥交换。图8表示了密钥交换载荷的格式。
密钥交换载荷字段定义如下:
* 下一个载荷(1个八位字节)――消息中下一个载荷的载荷类型标识符。如果当前载荷处于消息的最后,此字段为0。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 下一个载荷 ! 保留 ! 载荷长度 !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! !
~ 密钥交换数据 ~
! !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图8:密钥交换载荷格式
* 保留(1个八位字节)――未用,置为0。
* 载荷长度(2个八位字节)――以八位字节为单位,当前载荷的长度,包括普通的载荷头。
* 密钥交换数据(可变长度)――用来产生会话密钥的数据。此数据有DOI和联盟密钥交换算法来解释。此字段同样可以包含前置的密钥指示符。密钥交换载荷的载荷类型为4。
3.8 标识载荷
标识载荷包括用于交换标识信息的特定DOI数据。此信息用来决定通信对等实体的同一性,还可以用来决定信息的可靠性。图9表示了标识载荷的格式。
标识载荷字段定义如下:
* 下一个载荷(1个八位字节)--消息中下一个载荷的载荷类型标识符。如果当前载荷处于消息的最后,此字段为0。
* 保留(1个八位字节)――未用,置为0。
* 载荷长度(2个八位字节)――以八位字节为单位,当前载荷的长度,包括普通的载荷头。
* ID 类型(1个八位字节)――指定被用的标识类型。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 下一个载荷 ! 保留 ! 载荷长度 !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! ID 类型 ! DOI 专用 ID 数据 !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! !
~ 标识数据 ~
! !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图9:标识载荷格式
此字段依赖于DOI。
* DOI专用ID数据(3个八位字节)-包含DOI 专用标识数据。如果未用,此字段必须置为0。
* 标识数据(可变长度)--包含同一性信息。此字段的值是DOI专用的,而且,格式由ID类型字段来指定。IETF IP 安全标识数据的特定细节见【IPDOI】。
标识载荷的载荷类型为5。
3.9 证书载荷
证书载荷提供了一种经由ISAKMP,进行传送证书活其他证书相关的信息的方法,它可以在任何ISAKMP消息中出现。只要适当的目录服务对于分发的证书不可用,证书载荷将包含在一个交换中(如:安全DNS【DNSSEC】)。证书载荷必须被交换中的所有点接受。图10表示了证书载荷的格式。
注意:证书类型和格式一般并不绑定到DOI中-希望只有少量的证书类型,并且,大多数DOI都可以接受所有这些类型。
证书载荷字段定义如下:
* 下一个载荷(1个八位字节)――消息中下一个载荷的载荷类型标识符。如果当前载荷处于消息的最后,此字段为0。
1 2 3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -