2024年5月25日发(作者:)

RFC2408: Internet安全联盟和密钥管理协议

Internet Security Association and Key Management Protocol (ISAKMP)

摘要:

该文档为Internet团体指定了一个Internet标准协议栈。它描述了利用安全概念来建

立安全联盟(SA),以及Internet环境中密钥所需的协议。安全联盟协议协商,建立,修

改和删除安全联盟,以及Internet环境所需的属性。Internet环境中,有多种安全机制,

对于每一种安全机制都有多个可选项。密钥管理协议必须健壮,以处理Internet团体公钥

的产生,以及私人网络私钥的产生。Internet安全联盟和密钥管理协议(ISAKMP)定义

了认证一个通信同位体,安全联盟的建立和管理,密钥的产生方法,以及减少威胁(例如:

服务否认和重放攻击)的过程。在Internet环境里,对于建立和维护安全联盟(经过IP 安

全服务和其它安全协议),这些都是必不可少的。

1 介绍

此文档描述了因特网安全联盟和密钥管理协议(ISAKMP)。ISAKMP结合加密安全的

概念,密钥管理和安全联盟是用来建立政府,商家和因特网上的私有通信所需要的安全。

因特网安全联盟和密钥管理协议(ISAKMP)是用定义的程序和信息包的格式来建立、

协商、修改和删除安全联盟(SA)的。SA包括所有如IP层服务、传输或应用层服务或流

通传输的自我保护的各种各样的网络协议所需要的信息。ISAKMP定义了交换密钥生产的

有效载荷和认证数据。这些格式为依靠于密钥产生技术、加密算法和验证机制的传输密钥

以及认证数据提供了一致的框架。

ISAKMP与密钥交换协议的不同处是把安全联盟管理的详细资料从密钥交换的详细资

料中彻底的分离出来。不同的密钥交换协议中的安全道具也是不同的。但一个支持SA属

性格式和谈判、修改、删除SA的共同的框架是需要的。

把函数分离为三部分,这给一个完整的ISAKMP执行的安全分析增加了复杂性。因此

分离在有不同安全要求的系统之间是不被赞成的,而且还应该将更多ISAKMP服务的发展

的分析变得简单化。

ISAKMP被用来支持在所有网络堆栈的层上的安全协议的SA的谈判。ISAKMP通过

集中安全联盟的管理减少了在每个安全协议中复制函数的数量。ISAKMP还能通过一次对

整个服务堆栈的协议来减少建立连接的时间。

剩下的部分,第一节建立安全协议的动机和ISAKMP主要组成部分的概要,也就是安

全联盟和管理,认证,公钥密码系统及混合的条款。第二节讲述和ISAKMP相关的术语和

概念.第三节不同ISAKMP有效载荷的格式。第四节描述ISAKMP的有效载荷在一种认证

方法中是怎样被组织到一起来作为交换类型来建立安全联盟和执行密钥交换。另外,安全

联盟的协商,删除和错误通知也将被讨论。第五节描述在ISAKMP交换环境中包括错误句

柄和安全行为的有效载荷的处理。附录提供ISAKMP必要的属性值和在ISAKMP中定义一

个新的解释域(DOI)的所需要求。

1.1 需要的技术术语

词MUST , MUSTNOT , REQUIRED , SHALL , SHALL NOT , SHOULD , SHOULD

NOT , RECOMMENDED , MAY和OPTIONAL出现在文档时,他们的解释都在[RFC-2119]

中描述。

1.2 所需的商议

ISAKMP在[DOW92]中扩充的声明,为了较多的安全认证和密钥交换必须被组合道包

括安全联盟的交换中。安全服务需要的通信依靠着个体的网络结构和环境。机构正在建立

私有个人网络(VPN)作为企业内部互联网,它将需要需要一套在VPN中通信的安全功

能和在VPN之外的通信的许多可能的不同安全功能来支持地理上分开的组织成份,消费

者,供应者,分消人,政府和其它。在大组织中的部门也许需要一些安全联盟在网络内来

分离协议数据,其它的安全联盟在同样的部门内通信。游动的用户希望“打电话回家”表

现出另一个安全需要。这些需要必须由带宽来调节。很少人的组的安全需要也许是要建立

“信任网”。 ISAKMP交换提供这些向同等地位的人提出用户为达成协议有关安全的共同

的一套支持的证实,而且保护的方法的安全功能性的能力归于多种多样的网络组,也就是

一个共同的安全联盟。

1.3 什么能够被协商?

安全联盟必须支持不同安全协议的加密算法,认证机制和密钥生成算法,作为IP的安

全。安全联盟还要支持底层协议面向主机的定向证书和高层协议中面向用户的证书。算法

和机制的独立在通信定向协议,路由协议,和链路层协议中需要应用于如电子邮件,远程

登陆,和文件传输。ISAKMP为安全协议,应用,安全需求和网络环境这个宽广的范围提

供了一个共同的安全联盟和密钥生成协议。

ISAKMP不能被限制于任何特定的加密算法,密钥产生技术或安全机制。这种适应性

在某些前提下是有好处的。首先,它支持在动态的通信环境下被描述。其次,特定安全机

制和算法的独立性为向前移动的路径提供了更好的机制和算法。当改良的安全机制被发展

或当前的加密算法受到新的攻击,认证机制和密钥交换被发现时,ISAKMP允许在没有发

展出一个新的完整的KMP或到当前的一个路径的情况下,更新算法和机制。

ISAKMP对它的认证和密钥交换部分有基本的要求。这些要求拒绝被否认得服务,重

放,窃听和拦截攻击。因为这些类型的攻击,所以被作为目标的协议是很重要的。完整的

安全联盟的支持提供独立的机制和算法,及针对议定书威胁的保护措施是ISAKMP的强度

支持。

1.4 安全联盟和管理

安全联盟是两个或多个描述实体实怎样利用安全服务来安全通信的实体之间的发关

系。这种关系被一套能被认为是两个实体间的契约的信息来描述。这个信息必须被所有的

实体承认和共享。有时这个信息被作为SA单独引用,但这只是存在地联系中的一个实例。

这种关系和信息的存在,是为安全的相互操的实体提供作所需的一致的安全信息。所有的

安全实体必须尽可能的坚持SA的安全通信。当访问SA的属性时,实体用一个指针或标识

符访问安全参数索引(SPI)。[SEC-ARCH]提供IP安全联盟(SA)和安全参数索引(SPI)

定义的详细内容。

1.4.1 安全联盟和注册

SA所需和被IP安全(AH,ESP)要求的属性在[SEC-ARCH]中被定义。属性为IP安全

SA指定了包括但是不被限制的认证机制,加密算法,算法模式,密钥长度和初始化向量

(IV)。其它提供的算法和机制的独立的安全协议必须定义SA所需要的属性。把特殊的SA

定义从ISAKMP中分开对于能为所有可能的安全协议和应用产生SA束的确信的ISAKMP

是十分重要的。

注意:见[IPDOI]中对SA属性的讨论,当定义安全协议或应用时它是可信的。

为了使不同网络实体之间的特殊属性能被容易的识别,这些属性必须被分配标识符,

并且这些标识符必须由认证中心注册。IANA为英特网提供这项功能。

1.4.2 ISAKMP的需求

安全联盟的建立必须经过密钥管理协议为IP基本网络的定义。SA被用来支持各种动

态网络环境下的安全协议。正如认证和密钥交换必须被链接来提供担保密钥是由认证机关

[DOW92]来建立,SA的指定必须被链接到认证和密钥管理协议。

ISAKMP提供协议交换来在跟在一些协议的益处中协商实体的安全联盟体制协商的实

体间建立安全联盟(如ESP/AH)。首先,最初的协议交换允许一套基本的安全属性被支持。

这套基础为并发的ISAKMP交换提供保护。它还指定将被作为ISAKMP协议的一部分被执

行的认证方法和密钥交换。如果一套基础的安全属性已经被放到协商实体之间的话,初始

的ISAKMP交换可能被略过,并且安全联盟的建立可能被直接的进行。在这套基础的安全

属性被支持,初始的身份认证和必需的密钥产生后,建立的SA能被调用ISAKMP的实体

用于并发通信。这套基础的SA属性必须被实现来提供在附录A中定义的互用的ISAKMP。

1.5 认证

在建立安全网络通信时十分重要的一步是在通信的另一端对实体的认证。有很多认证

机制能被用到。认证机制实现在两种情况之下——脆弱和强壮。在一个脆弱的网络发送清

晰的密钥或未被保护的认证信息,受到网络刺探者读它们的威胁。另外,以低熵发送单行

无用的缺乏选择的信号也很危险,会受到刺探信息者的猜测攻击。因为[IAB]中新近的声明,

当口令能被用于建立认证时,他们不被认为包含在这个内容内。数字签名,如数字签名标

准(DSS)和RSA签名,是基于强大的人证机制下的公钥体制。当应用公钥数字签名时,

每个实体都需要一个公钥和一个私钥。证书是数字签名认证体制中的实质部分。证书绑定

一个特殊实体的身份和其它可能的安全信息,如特权,清除和象限到它的公钥上。基于数

字签名的认证需要一个信任的第三方和证书中心来生成,签名和适当地分发证书。如DSS

何RSA这样的数字签名和证书的详细信息可参看[Schneier]。

1.5.1 认证中心

证书需要一个基本组织来产生,确认,撤回,管理和分配它。IPRA[RFC-1422]已经为

IETF制定了这个基本组织。IPRA认证PCA。PCA控制CA,CA证明用户和从属的实体。

当前有关证书的工作包括DNS安全扩展,将提供DNS内有标识的实体密钥。PKIX工作

组正在为X.509证书指定因特网轮廓。它将继续在工业中发展X.500目录服务,它能给用

户提供X.509证书。美国邮电部门正在发展一个CA层次。NIST公钥结构工作组已经在这

个领域开始工作。DOD MISSI纲要已经开始为美国政府发展一个证书基本组织。作为选择,

如果基础组织存在,信任证书的PGP网能被用于提供用户认证和相互信任的用户团体的保

密。

1.5.2 实体命名

一个实体的名字是它的身份,并且它证书里的公钥被绑在它里面。CA必须为证书的出

版定义名字的符号。作为CA是怎样定义策略名字的例子,可以参看UNINETT PCA策略

声明[Berge]。当证书被校验时,名字被校验,并且名字在CA地领域里将有意义。例子是

把DNS服务器CAs做成他们服务的域和节点的DNS安全扩展。源档案由公钥提供,数字

签名就在这些密钥中。有关密钥的名字是IP地址和域名,它们表明了实体访问DNS的信

息。信任网是另外一个例子。当信任网建起时,名字被绑到公钥中。在PGP中,名字通常

是实体的电子邮件地址,它来表明只有明白电子邮件的人的意思。另外的信任网可以使用

一个完全不同的命名方案。

1.5.3 ISAKMP的需求

必须在ISAKMP交换上提供强大的认证。不能认证另一端实体身份的安全联盟和密钥

的生成对话将被怀疑。不经过认证就不能信任实体的身份,它的访问控制是可疑的。当加

密(ESP)和完整性(AH)保护被偷听者并发的通信时,没有经过认证的SA和密钥可能

是敌对方执行一个拦截攻击生成的,而且可能正在偷取你所有的私人数据。

数字签名算法必须被用到ISAKMP的认证部分。但ISAKMP不要求一个特殊的签名算

法或认证中心(CA)。ISAKMP允许一个实体初始化通信时,指出支持哪个CA。当选择了

一个CA后,协议将提供所需的信息来支持实际的认证交换。协议支持不同认证中心,整

数类型和证书交换标识的认证设备。

ISAKMP利用基于公钥加密的数字签名来进行身份认证。其它可利用的强壮的认证系

统被指定为ISAKMP附选的认证体制。其中一些认证系统依赖一个称为密钥分配中心

(KDC)的信任的第三方组织来分配会话密钥。Kerberos是一个例子,这儿信任的第三方

组织是Kerberos服务器,它掌管了在这个网络域内所有客户和服务器的密钥。客户拿其

密钥的证明给服务器提供认证。

ISAKMP规范没有指定与信任的第三方组织(TTP)或证书目录服务器通信的协议。

这些协议在TTP和整数目录服务器中被定义,并且指定了它对外的范围。这些额外服务和

协议的使用将在密钥交换这个文档中被描述。

1.6 公钥加密系统

公钥加密系统是用户获得共享密钥的最具灵活性,可升级性和高效性的方法,而且是

会话密钥支持的英特网用户相互操作的最多方法。许多有不同属性的密钥产生算法对用户

使有利的。密钥交换协议的属性包括密钥产生方法,认证,对称,完全向前保密和向后通

行保护。

注意:加密密钥能在一个相当长的时间内保护信息。但这是以假定被用于通信保护的

密钥在使用后被破坏的基础上的。

1.6.1 密钥交换属性

密钥产生:为密钥产生使用公共的密钥加密的两个共同的方法是密钥运输和密钥产生。

一个密钥传输的例子是RSA算法用来加密一个随机产生的会话公共密钥。加密随机密钥被

送到拥有私钥的接收者处。在这一点上两端都有相同的会话密钥,但它是被基于从通信的

一端输出而创造的。密钥传输方法的好处是它比下面的方法有更小的计算开销。D-H算法

说明了公钥加密体制中密钥的产生。D-H算法由两个用户交换公共信息开始。每个用户用

他自己的秘密信息进行计算,并结合其它用户的公共信息来来算出共享密钥值。这个共享

值能被用作共享密钥或用来把随机产生的会话密钥的密码化密钥锁上。这种方法基于两个

用户的公共和私有信息来产生会话密钥。D-H算法的好处是密钥用于加密信息是基于两个

用户和一个到另一个密钥交换的。这些加密算法在[Schneier]中详细描述。在两个密钥生

成配置上有许多变化,而这些变化是没必要相互操作的。

密钥交换认证:密钥交换能在协议中或协议完成后被认证。协议中密钥交换的认证是

当协议中止之前每个组织提供它有私有回话密钥的证明时被提供的。证明能被在协议交换

中加密私有会话密钥中已知的数据提供。在协议之后的认证必须发生在并发的通信中。如

果秘密会话密钥没有被所希望的组织建立,协议中的认证被指为未初始化的并发的通信。

对称密钥交换:如果每个组织都能不影响产生的密钥,初始化交叉运行的交换和被交

换的信息的话,密钥交换可提供对称。合乎需要,密钥的计算不要求任何一个党知道它们

的初始化交换。当需要对称密钥交换时,在整个密钥管理协议中的对称能预防攻击。

完全向前保密:正如[DOW92]中的描述,如果长期密钥资料败露来自先前的通信的交

换的钥匙的秘密调解的话,认证密钥交换协议提供完全向前保密。完全向前保密的属性不

适用于没有认证的密钥交换。

1.6.2 ISAKMP的需要

一个认证密钥交换必须被ISAKMP支持。用户应该根据他们的必要条件的补充性选择

密钥算法。ISAKMP不指定一个特殊的密钥交换。但[IKE]描述了在ISAKMP连接中的

Oakley密钥交换的协议。当选择一个包括方法,完全向前保密,计算开销,密钥由第三者

保存附带条件委付盖印的契约,和密钥长度的密钥产生算法时,需要应该被评估。基于用

户的要求,ISAKMP允许一个实体初始化信息来指出支持那种密钥交换。在选择了一个密

钥交换后,协议提供需要的信息来支持实际的密钥产生。

1.7 ISAKMP保护

1.7.1 防止障碍(服务否认)

在众多可利用的安全服务中,对于服务否认得保护常常被视作最难的。一个“cookie”

或(TCT)的目的在于不为了决定其确实性花费过度的中央处理器资源而保护计算的资源

免受攻击的影响。一个指向加强CPU公钥操作的指针能阻碍一些企图的服务否认。对服务

否认得绝对保护是不可能的,但这个防止阻碍标记为让它容易的操作提供了一种技术。防

止阻碍标记的使用在[Karn]中由Karn和Simpson来介绍。

在第四节中被说明的交换应被注意,加密机制应被用于废弃的连接机制地连接中。攻

击者仍能用伪造IP地址的包注往服务器,并导致状态被创建。这种侵入内存管理的技术应

该被协议用到ISAKMP中,不通过初始化,防止阻碍的状态,在[Karn]中被做。

1.7.2 拦截连接

ISAKMP用连接认证,密钥交换和安全联盟交换来防止拦截连接。这种连接防止攻击

者在密钥和安全联盟交换期间从允许的认证到完成,然后从模仿的一个实体跳到另一个。

1.7.3 中途攻击

中途攻击包括窃听,插入,删除和窜改信息,返回信息给发送人,回复旧信息和重发

信息。ISAKMP的特征能成功的防止这些类型的攻击。ISAKMP交换连接防止协议交换中

的信息插入。ISAKMP协议状态机制被定义,因此删除信息不能引起一个局部的SA被建立,

状态机制将清理所有的状态,并返回到空闲状态。状态机制还防止信息返回带来的危害。

每个新的SA建立的各种不同资料的一个新的cookie的需求防止包括重发旧信息的攻击。

ISAKMP强大的认证要求防止用其它故意的组织建立的SA。信息能被发往不同目的地或修

改,但这将被删除,并且SA不会被建立。ISAKMP规范定义了已经发生的不正常进程和

不正常的组织推荐的通报。

1.8 多播通信

多播通信被希望和单播通信有相同的安全服务,和能引进所需的附加安全服务。多播

传输的分配SPIs的发行在[SEC-ARCH]中被介绍。多播安全发行在[RFC-1949]和[BC]中被

讨论。ISAKMP将来的扩展将支持多播密钥分配。有关多播安全有关的流出的发行,参考

因特网草案[ RFC-2094 ]和[ RFC-2093 ],描述在这个域中Sparta的研究。

2 术语和概念

2.1 ISAKMP术语

安全协议:安全协议由网络堆栈中单独点的实体组成,为网络通信提供安全服务。例

如IPSEC ESP和IPSEC AH是两个不同的安全协议。TLS是另外一个例子。安全协议能提

供不止一项服务,如可在一个模块中提供完整性和机密性。

保护组:保护组是必须被各种安全协议执行的安全服务的列表。例如,安全组可能包

括IP ESP中的DES加密和IP AH中的密钥MD5。组中的所有保护必须被作为一个单独的

单元对待。因为安全服务在不同的安全协议里有敏感的交互作用,并且组的影响必须被作

为整体分离和校验,所以它是必要的。

安全联盟(SA):是安全协议指定的一套完整的服务和参数,这些服务和机制是用来

保护安全协议域中的传输数据。这些参数包括算法标识符,模式,加密密钥等。SA由它的

安全联盟协议指定。

ISAKMP SA:被ISAKMP服务应用的SA来保护它自身的传输。2.3和2.4节提供

ISAKMP SA的更多详细资料。

安全参数索引(SPI):安全联盟的标识符,相关的一些安全协议。每个安全协议由它

自己的“SPI-space”。一组唯一的识别一个SA。SPI的唯一性体现出它的可靠性,但是

能每个系统每个协议或其他的任意选择被形成了。依靠于DOI(解释域)地附加信息能必

然的标识一个SA。DOI也能决定哪个SPI在通信期间被发出。

解释域:解释域(DOI)定义有效载荷的格式,交换类型、如安全政策或加密算法和

模式这样的相应安全信息命名的协定。DOI标识符被用于ISAKMP的有效载荷。系统必须

同时支持多个DOI。DOI的概念是基于TSIG CIPSO 工作组先前的工作的,但扩展安全实

验室的解释包括命名和安全服务的解释。DOI的定义:

* 状态:这套信息将被用于决定所需的安全服务。

* 这套安全政策必须而且能被支持。

* 被提供的安全服务的规范的语法。

* 命名相关安全信息的方案,它包括加密算法,密钥交换算法,安全策略分配和认证

中心。

* 不同有效载荷内容的特殊格式。

* 所需的附加交换类型。

IETF IF安全DOI的规则在[IPDOI]中被介绍。用户化DOI的详细规则在分散的文档中

被介绍。

状态:状态包含系统认为重要的所有相关安全信息来决定被保护的正在协商的会话密

钥所需要的安全服务。状态可以包含地址,安全分类,操作模式等。

提议:提议是减少优先选择顺序的一个系统认为可接受来在被给定的状态下保护传输

的保护状态的列表。

有效载荷:ISAKMP定义有效载荷的几种类型,它们被用于传送在被定义DOI格式下

的如安全联盟数据或密钥交换数据地信息。有效载荷是由一般有效载荷头和ISAKMP中不

透明的一个八位串组成。ISAKMP用指定DOI来综合和解释有效载荷。多级有效载荷能在

一个单独的ISAKMP信息中被传送。第三节有更多有效载荷类型的详细资料,[IPDOI]中

有IETF IF安全DOI有效载荷的格式。

交换类型:交换类型是ISAKMP交换中信息的规范,有效载荷类型被用于提供一套特

殊的安全服务,如共享者匿名,密钥资料的完全向前保密,共享者的身份认证等。4.1节定

义一套ISAKMP交换类型的默认设置。其它交换类型被加入到所需的支持的附加密钥交换。

2.2 ISAKMP布置

图1是在ISAKMP网络系统环境中的高级布置图。协商安全服务的一个重要部分是把

所有的个体SA堆栈看作一个单元。这被作为一个“保护组”。

图1:ISAKMP关系图

2.3 协商状态

ISAKMP提供了两个协商状态。

第一个,两个实体同意在他们之间如何保护协商传输,建立ISAKMP SA。ISAKMP SA

被用于保护所需SA协议的协商。两个实体能协商多个ISAKMP SA。

第二个协商状态被用于建立其它安全协议的安全联盟。第二个协商能被用于建立多个

安全联盟。在状态被安全协议用来保护多个信息/数据交换的过程中,安全联盟被ISAKMP

建立。

当两个状态方法对最简单的方案有更高的启动价值时,对于大多数案例是有益的。

首先,实体(例如ISAKMP服务器)能穿过多个第二阶段协商并提取第一个阶段的成

本。允许建立多个SA,而不必为每个在同等地位的通信建立重复的SA。

其次,在第一个状态提供安全属性期间,安全服务为第二个状态协商。例如,在第一

个状态协商后,ISAKMP SA提供的密码能够完成身份保护的,还默认得允许简单的第二个

状态交换的使用。另一方面,如果这个通道在第一个状态不提供适当的身份保护期间被建

立,第二个状态必须协商适当地安全机制。

第三,相当有适当的ISAKMP SA降低ISAKMP管理活动的成本-不用ISAKMP SA

给你的“信赖路径”,将必须SA的为每个错误通知或删除穿过完整的重新认证。

每个状态的协商用定义的ISAKMP交换或DOI中定义的密钥交换来完成。

注意,安全服务被每个不同的协商状态应用。例如,不同的组织在每个协商状态期间

被认证。在第一个状态,被认证的组织可能是ISAKMP服务器/主机,当第二个状态时,

用户或应用级程序被认证。

2.4 标识安全联盟

当ISAKMP在两个系统之间开始建立安全通道时,它不能假设安全服务的存在,所以

必须对自己提供一些安全保护。因此,ISAKMP认为一个ISAKMP SA与其它类型的不同,

并且ISAKMP在它们自己的名称空间内处理自己的ISAKMP SA。ISAKMP用ISAKMP头

中的这两个cookie域来标识ISAKMP SA。ISAKMP头中的信息ID和建议有效载荷中的

SPI域在SA建立期间被用来为其它安全协议标识SA。这四个域的解释是依靠操作发生的

地点的。

下面的表格现出了在SA建立期间几个域的存在和不存在。以下的域对于各种SA建立

相关的操作是必须的:ISAKMP头中的cookies,ISAKMP头的信息ID域,和建议有效载

荷中的SPI域。列中的‘X’表示这个值是必须被提出。列中的‘NA’表示列中的值不适

用于操作。

# 操作 I-Cookie R-Cookie Message ID SPI

(1) 初始ISAKMP SA协商 X 0 0 0

(2) 回答ISAKMP SA协商 X X 0 0

(3) 初始其它SA协商 X X X X

(4) 回答其它SA协商 X X X X

(5) 其它(KE, ID, etc) X X X/0 NA

(6) 安全协议(ESP, AH) NA NA NA X

表中的第(1)行,初始ISAKMP SA协商包括初始ISAKMP头中的cookie域,使用

程序概括见2.5.3和3.1节。

表中的第(2)行,回答ISAKMP SA 协商包括ISAKMP头中的初始和回答2个cookie

域,使用程序概括见2.5.3和3.1节。附加信息能在同等的ISAKMP之间交换,依靠ISAKMP

交换类型在状态1协商中的使用。一旦状态1交换完成,初始和回答的cookies将包含在同

等的、并发通信的ISAKMP头中。

在状态1协商期间,初始和回答的cookie决定了ISAKMP SA。因此,建议有效载荷

中的SPI域变得多余,并且被设置成0或包含信号发送实体的cookie。

表中的第(3)行,初始化连接一个协议的信息ID,它包含在SA 建议中。这个被连

接在每个建议中协议信息ID和初始化的SPI被发往回答者。一旦状态2协商完成,SPI将

被安全协议使用。

表中的第(4)行,回答包括相同的信息ID和回答SPI来连接接收建议中的每个协议。

这个信息被返回给初始者。

表中的第(5)行,初始者和回答者用ISAKMP头中的信息ID域来保持进程协议协商

的轨迹。这只适用于状态2交换,并且这个对状态1的交换的值必须是0。这是因为混合的

cookie标识了ISAKMP SA。在建议有效载荷中的SPI域不适用是因为建议有效载荷只在

SA协商信息交换中使用。

表中的第(6)行,状态2协商完成。安全协议使用SPI来决定哪个安全服务和机制来

应用于它们之间的通信。第6行中的SPI值不是建议有效载荷中的SPI域,但SPI域包含在

安全协议头中。

在SA的建立中,SPI必须被产生。ISAKMP被用于处理可变得SPI。这用建议有效载

荷中的SPI尺寸域在SA建立期间来完成。SPI的处理将在DOI详细资料中介绍。

当安全联盟被初始建立,一方假设初始者的身份和另一个回答者的身份。一旦SA被

建立,同等实体的源初始者和回答者能初始化状态2协商。因而,ISAKMP SA在实际中使

双向的。

附加的,ISAKMP允许初始者和回答者在协商过程中控制。当ISAKMP被用来允许包

括分建议的SA协商时,初始者能通过仅仅按照初始者本地的安全政策做一个比例维持一

些控制。一旦初始者发出一个包含不止一个建议的建议,初始者将放弃对回答者的控制。

一旦回答者正在控制SA的建立时,它将能使这个策略优先于初始者提供的多选择的环境

里的初始者。选择建议最匹配回答本地安全策略和返回这个选择的初始者来完成它。

2.5 其它

2.5.1 传输协议

ISAKMP能被在任何传输协议或IP自身上执行。执行必须包含ISAKMP在端口500

上使用UDP的发送和接收性能。UDP端口500被IANA指派给DSAKMP。执行能附加支

持在其它传输协议或IP自身的ISAKMP。

2.5.2 保留域

在ISAKMP有效载荷中保留域的存在被用来保护字节队列。在一个数据报被发出时,

所有ISAKMP协议中的保留域必须被设置成0。接收者应该检查0值的保留域,如果没有找

到其它值,则丢弃这个数据报。

2.5.3 反障碍标记的创建

cookie产生的详细资料是所依靠的执行,但必须满足这些基本的要求:

1. cookie必须依赖于特殊的组织。这防止一个从cookie使用一个真实IP地址和UDP

端口的攻击者,并且用Diffie-Hellman所需的随机的IP地址或端口来覆盖受害者。

2. 它不可能为其它任何发出的实体产生cookie,这将被那个实体接收。这个暗示意

味着发出的实体必须用cookie的产生和并发确认中的本地秘密信息。不可能从任何特殊的

cookie中推导出这个秘密信息。

3. cookei产生函数必须非常快的阻止对CUP资源的故意攻击。

Karn's关于创建cookie方法的提议是在IP源地址和目的地址上实现快速哈希(例如,

MD5),UDP源端口和目的端口以及一个本地产生的秘密随机数。ISAKMP要求cookie

对每个SA机构都是唯一的以便帮助防止重播攻击,因此,数据和时间必须被添加到被哈

希的信息中。产生的cookie被放在ISAKMP(在3.1章节中描述)头启动和应答机cookie

域中。这些域有8个字节长,因此需要产生的cookie也是8字节长。通知和删除信息(参

看3.14,3.15和4.8章节)是单向传输并且在现有ISAKMP SA保护下运行,不需要生成新的

cookie。有一种例外情况是在完成SA建立之前,第一阶段交换期间通知信息的传输。3.14

和4.8章节提供了辅助细节。

3 ISAKMP载荷

ISAKMP载荷提供模块化的组建块来构造ISAKMP消息。ISAKMP中载荷的存在和顺

序由在ISAKMP头(见图2)中所定位的交换类型字段来定义。ISAKMP载荷类型将在3.4节

的3.15中进行讨论。ISAKMP载荷,消息和交换(见4节)的描述用网络八字节顺序来表示。

3.2 ISAKMP头格式

一个ISAKMP消息有固定的头格式,见图2,后面紧跟一个变化的载荷号。固定头简

化了分析,如果考虑协议所带来的好处,分析软件将变得简单,并且更容易实现。固定头

包括协议所需的信息,来维持状态,处理载荷,并可能防止服务否认或重放攻击。ISAKMP

头字段定义如下:

* 发起者cookie(8字节)--实体的cookie对应于一个SA建立请求,或SA通告,

或SA删除。

* 应答cookie(八字节)--实体的cookie用来应答一个SA建立请求,和SA通告,

或SA删除。

图2:ISAKMP 头格式

* 主版本(4 bit)-表示使用的ISAKMP协议的主版本。实现是基于此ISAKMP的

Internet草案时,主版本号必须定为1。实现是基于以前ISAKMP的Internet草案时,主

版本号必须定为0。实现永远也不能接受一个主版本号大于它自己的数据包。

* 微版本(4字节)--表示使用的ISAKMP协议的文版本。实现是基于此ISAKMP

的Internet草案时,微版本号必须定为0。实现是基于以前ISAKMP的Internet草案时,

微版本号必须定为1。给定同样的主版本号,实现永远不能接受一个微版本号大于它自己的

数据包。

* 类型互换(1个八字节)--表示所用的交换类型。这表示消息和载荷遵循所用的交

换顺序。

* 标志(1个八字节)--表示特定的选项,用于设定ISAKMP交换。以下在标志字

段中指定的标志,从最低有效位开始,如:在标志字段中加密位是0,提交位是1,鉴别位

是2。其他剩余位必须在传输前设为0。

――加密位(1位)--如果设为1,头后面所有的载荷用ISAKMP SA中标识的加密算

法来加密。ISAKMP SA标识符是初始和应答cookie的组合。建议加密尽可能在对等体之

间进行。对于所有在4.1节中描述的ISAKMP交换,加密必须在双方都交换了密钥交换载

荷之后进行。如果加密位不是设为0,不对载荷进行加密。

--提交位(1位)-此位用于同步的单密钥交换。它用来保证加密的内容不会在sa

建立之前被接收到。提交位可由参与建立SA的任何一方(任何时刻)来进行设置,可用

在ISAKMP SA建立的两个阶段。然而,在阶段1协商之后,它的值必须复位。如果设为1,

未设置提交位的实体必须等待从设置了提交位的实体处的包含一个通知载荷(带有

CONNECTED通知消息)的信息交换。在这种情况下,信息交换的消息ID字段必须包含

原始ISAKMP 阶段2SA协商的消息ID。完成这,可以保证带有CONNECTED通知消息

的信息交换可以和正确的阶段2SA相连。信息交换的接收和处理,表示SA的成功建立,

并且任何一个实体现在可以处理加密的通信信息。除了同步密钥交换,提交位可以用来保

护在不可信网络上传输的丢失,还可以防止多次重发送的必要。

注意:交换的最后消息很有可能被丢失。在这种情况下,希望接收到交换的最后消息

的实体,将接收到在阶段1交换之后的协商消息,或阶段2交换之后的加密通信。这种情况

的处理并未标准化,但我们由以下提议:如果等待信息交换的实体可以检验接收到的消息

(如:阶段2的SA协商消息,或加密通信),那么,它们可以认为SA已经建立,并且继续

处理过程。另一个可选项用来转播最后的ISAKMP消息,以迫使另一个实体转播最后的消

息。这意味着实现可以将最后的消息(本地的)一直保持到它们确信SA已经建立。

――唯一鉴别位(1 bit),这一位用在带有通知载荷的信息交换中,并且允许带有完整性

检查,但不加密的信息传送中(如:“紧急模式”)。4.8节说明了阶段2信息交换必须在一

个ISAKMP SA的保护下的信息交换中中发送。对于那个策略,这是唯一的例外。如果唯

一鉴别位设置为1,仅只有鉴别安全服务将被应用到实体中,以通报信息交换载荷,并且不

对信息交换载荷进行加密。

* 消息ID(4个八位字节)--唯一消息标识符用来标识在同步阶段2的协议状态。这

个值由同步阶段2的启动程序来随即产生。在同步SA的建立中(也就是说冲突),此字段

的值将会有所不同,因为它们是独立产生的,并且,两个安全联盟将促进SA的建立。然

而,不可能由绝对同步的建立。在阶段1的同步中,值必须置为0。

* 长度(4个八位字节)以八位字节来计的整个消息(头+载荷)的长度,加密会扩大

ISAKMP 的大小。

3.2 普通载荷头

每一个定义在3.4节到3.16节中的ISAKMP载荷都有一个普通头,见图3,它提供了一

个载荷链性能,并清楚的定义了载荷的边界。

图 3: 普通载荷头

* 下一个载荷(一个8位字节)――消息中下一个载荷的载荷类型的标识符。如果当前载

荷在消息中的最后,此字段将为0。此字段提供了链性能。

* 保留(一个八位字节)――未用,置为0。

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

3.3 数据属性

有一些例子,在ISAKMP中有必要表示数据类型。其中一例及时安全联盟(SA)属性,

包括在传输载荷中(在3.6节中有描述)。这些数据属性不是一个ISAKMP载荷,而是包含

在ISAKMP 载荷中。数据属性的格式提供了表示许多种不同类型信息的灵活性。可能在一

个载荷中由多张数据属性。数据属性的长度将是4个八位字节,或由属性长度字段来定义。

这些将由下述属性格式位来完成。关于每一个字段的特定属性信息将在DOI 文档中描述,

也就是IPSEC DOI [IPDOI]。

图4:数据属性

数据属性字段定义如下:

* 属性类型(2个八位字节)――每一种属性类型的唯一标识符。这些定义的属性将作为

特定DOI信息。

最高有效位,或属性格式(AF),表示在类型/长度/值(TLV)格式后的数据属性是否

位短类型/值(TV)格式。如果AF位为0,数据格式将是类型/长度/值(TLV)格式。如果

AF位位1,数据类型位类型/值格式。

* 属性长度(2个八位字节)-以八位字节位单位的属性值。当AF位为1时,属性值

仅2个八位字节,并且没有属性长度。

* 属性值(变化长度)-和特定DOI属性类型相连的属性值。如果AF位为0,此字段

将有一个属性长度字段定义的可变长度。如果AF位为1,属性长度值位2个八位字节的长

度。

3.4 安全联盟载荷

安全联盟载荷用来协商安全属性,用来表示解释字段(DOI)和协商发生的环境。图5

表示了安全联盟载荷的格式。

图 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节中描述。

图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节将对其使用进行描述。

图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。

图8:密钥交换载荷格式

* 保留(1个八位字节)――未用,置为0。

* 载荷长度(2个八位字节)――以八位字节为单位,当前载荷的长度,包括普通的载荷

头。

* 密钥交换数据(可变长度)――用来产生会话密钥的数据。此数据有DOI和联盟密钥

交换算法来解释。此字段同样可以包含前置的密钥指示符。密钥交换载荷的载荷类型为4。

3.8 标识载荷

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

一性,还可以用来决定信息的可靠性。图9表示了标识载荷的格式。

标识载荷字段定义如下:

* 下一个载荷(1个八位字节)--消息中下一个载荷的载荷类型标识符。如果当前载

荷处于消息的最后,此字段为0。

* 保留(1个八位字节)――未用,置为0。

* 载荷长度(2个八位字节)――以八位字节为单位,当前载荷的长度,包括普通的载荷

头。

* ID 类型(1个八位字节)――指定被用的标识类型。

图9:标识载荷格式

此字段依赖于DOI。

* DOI专用ID数据(3个八位字节)-包含DOI 专用标识数据。如果未用,此字段必

须置为0。

* 标识数据(可变长度)--包含同一性信息。此字段的值是DOI专用的,而且,格

式由ID类型字段来指定。IETF IP 安全标识数据的特定细节见【IPDOI】。

标识载荷的载荷类型为5。

3.9 证书载荷

证书载荷提供了一种经由ISAKMP,进行传送证书活其他证书相关的信息的方法,它

可以在任何ISAKMP消息中出现。只要适当的目录服务对于分发的证书不可用,证书载荷

将包含在一个交换中(如:安全DNS【DNSSEC】)。证书载荷必须被交换中的所有点接受。

图10表示了证书载荷的格式。

注意:证书类型和格式一般并不绑定到DOI中-希望只有少量的证书类型,并且,大

多数DOI都可以接受所有这些类型。

证书载荷字段定义如下:

* 下一个载荷(1个八位字节)――消息中下一个载荷的载荷类型标识符。如果当前载荷

处于消息的最后,此字段为0。

图10 证书载荷格式

* 保留(1个八位字节)――未用,置为0。

* 载荷长度(2个八位字节)――以八位字节为单位,当前在恶化的长度,包括普通的载

荷头。

* 证书编码(1个八位字节)――此字段表示证书的类型,或包含在证书数据字段中与证

书相关的信息。

证书类型 值

NONE

PKCS #7 wrapped X.509 certificate

PGP Certificate

DNS Signed Key

X.509 Certificate - Signature

X.509 Certificate - Key Exchange

Kerberos Tokens

Certificate Revocation List (CRL)

Authority Revocation List (ARL)

SPKI Certificate

0

1

2

3

4

5

6

7

8

9

X.509 Certificate - Attribute 10

RESERVED 11 - 255

* 证书数据(可变长度)――证书数据的实际编码。证书类型由证书编码字段来表示。

证书载荷的载荷类型是6。

3.10 证书请求载荷

证书请求载荷提供了一种经由ISAKMP请求证书的方法,它可以在任何消息中出现。

当适当的目录服务(例如:安全DNS【DNSSEC】)对于分发的证书不可用时,证书请求

载荷应包含在交换中。交换中的所有点都必须接受证书请求载荷。基于包含在载荷中的值,

如果证书被支持,对于证书请求载荷的响应必须发送它们的证书。如果需要多个证书,应

该传送多个证书请求载荷。图11表示了证书请求载荷的格式。

图11:证书请求载荷格式

证书载荷字段定义如下:

* 下一个载荷(1个八位字节)――消息中下一个载荷的载荷类型标识符。如果当前载荷

处于消息的最后,此字段为0。

* 保留(1个八位字节)――未用,置为0。

* 载荷长度(2个八位字节)――以八位字节为单位,当前载荷的长度,包括普通的载荷

头。

* 证书类型(1个八位字节)――包含所请求的证书类型的编码。可接受的值在3.9节中

列出。

* 认证机构(可变长度)――包含所请求证书类型的可接受证书机构的编码。作为一个

例子,对于X.509证书,此字段将包含此载荷的发送者所接受的X.509证书机构的发行者

名字的高级名字编码。包含此信息,可以帮助应答作出,需要多少证书链来响应请求的决

定。如果没有要求特定的证书机构,将不包含此字段。

3.11 哈希载荷

哈希载荷包含哈希函数所产生的数据(在SA建立交换期间所选择),基于消息和/或

ISAKMP状态的部分信息。此载荷用来验证ISAKMP消息的完整性,或对协商实体进行鉴

别。图12表示了哈希载荷的格式。

图12 哈希载荷格式

哈希载荷字段定义如下:

* 下一个载荷(1个八位字节)――消息中下一个载荷的载荷类型标识符。如果当前载荷

处于消息的最后,此字段为0。

* 保留(1个八位字节)――未用,置为0。

* 载荷长度(2个八位字节)――以八位字节为单位,当前载荷的长度,包括普通的载荷

头。

* 哈希数据(可变长度)――将哈希程序应用到ISAKMP消息和/或状态所得来的数据。

3.12 签名载荷

签名载荷包括由数字签名函数所产生的数据(在SA建立交换期间所选择),基于消息

和/或ISAKMP状态的部分信息。此载荷用来认证ISAKMP消息的完整性,还可用作无否

认服务。图13表示了签名载荷的格式。

图13 签名载荷格式

签名载荷字段定义如下:

* 下一个载荷(1个八位字节)――消息中下一个载荷的载荷类型标识符。如果当前载荷

处于消息的最后,此字段为0。

* 保留(2个八位字节)――以八位字节为单位,当前在恶化的长度,包括普通的载荷头。

* 签名数据(可变长度)――将数字签名函数用到ISAKMP消息和/或状态所得到的数据。

签名载荷的载荷类型为9。

3.13 Nonce载荷

Nonce载荷包含在交换期间用于保证存活,和防止重放攻击的随机数。图14表示了

Nonce载荷的格式。如果nonce用于特殊的密钥交换,nonce载荷的使用将由密钥交换

来指定。Nonce可作为传输密钥交换数据的一部分,或作为一个独立的载荷。然而,这是

由密钥交换来定义,而不是ISAKMP。

图14 :nonce载荷格式

nonce载荷定义如下:

* 下一个载荷(1个八位字节)――消息中下一个载荷的载荷类型的标识符。如果当前载

荷处于消息的最后,此字段为0。

* 保留(1个八位字节)――未用,置为0。

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

O nonce数据(可变长度)――包含由传送实体所产生的随机数。

Nonce载荷的载荷类型为10。

3.14 通告载荷

通告载荷可以既包含ISAKMP,又包含DOI特定数据,用来传送信息数据,例如:

ISAKMP同位体的错误条件。可以在单一的ISAKMP消息中发送多个通告载荷。图15表示

了通告载荷的格式。

出现在,或关心阶段协商的通告,由在ISAKMP消息中发起者和应答cookie对来进

行标识。协议标识符,在这种情况下,ISAKMP和SPI的值为0,因为是由ISAKMP头中

的cookie对来标识ISAKMP SA。如果通告先于密钥信息的完整交换,那么,通告将不会

受到保护。

出现在,或关心阶段2协商的通告,由在ISAKMP 头中的发起者和应答cookie对,

和消息ID,和于当前协商相关的SPI来进行标识。其中这种通告类型的实例就是用来指定

为什么一个提议被拒绝。

图15:通告载荷格式

* 下一个载荷(1个八位字节)――消息中下一个载荷的载荷类型标识符。如果当前载荷

处于消息的最后,此字段为0。

* 保留(1个八位字节)――未用,置为0。

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

* 解释域(4个八位字节)――标识DOI后(如2.1节中所描述的),通告可以发生。对

于ISAKMP ,此字段为0,对于IPSEC DOI,它为1。其它DOI的值用附录B中的说明来

定义。

* 协议-ID(1个八位字节)――这顶当前通告的协议标识符。实例可能包括

ISAKMP,IPSEC ESP,IPSEC AH,OSPF,TLS等。

* SPI 大小(1个八位字节)――以八位字节为单位,由协议-ID所定义的SPI长度。在

ISKMP中,ISAKMP头中的发起者和应答cookie对是ISAKMP SPI,因此,SPI大小并不

重要,可以从0到16。如果SPI的大小非0,SPI字段的内容必须被忽略。解释域将指定对

于其他协议的SPI大小。

* 通告消息类型(2个八位字节)――指定通告消息的类型(见3.1.14节)。如果由DOI

指定,附加文本将放在通告数据字段内。

* SPI(可变长度)――安全参数索引。接收实体的SPI。SPI字段的使用将在2.4节中说

明。此字段的长度将由SPI大小字段来决定,不一定要结盟成4个八位字节边界。

* 通告数据(可变长度)――除通告消息类型之外的信息和错误数据。此字段的值是DOI

特定的。

通告载荷的载荷类型为11。

3.14.1 通告信息类型

通告信息可能是指定为什么一个SA不能被建立的错误信息。它也可以是一个状态数

据,关于一个管理SA数据库的过程想和对等的过程通信的状态数据。例如:一个安全前

端或者安全网关可以使用通告信息来同步SA通信。下表列出了通告信息和它们相应的值。

专用范围内的值期望是DOI特定的值。

通告信息-错误类型

错误 值

INVALID-PAYLOAD-TYPE 1

DOI-NOT-SUPPORTED

SITUATION-NOT-SUPPORTED

INVALID-COOKIE

INVALID-MAJOR-VERSION

INVALID-MINOR-VERSION

INVALID-EXCHANGE-TYPE

INVALID-FLAGS

INVALID-MESSAGE-ID

INVALID-PROTOCOL-ID

INVALID-SPI

2

3

4

5

6

7

8

9

10

11

INVALID-TRANSFORM-ID 12

ATTRIBUTES-NOT-SUPPORTED 13

NO-PROPOSAL-CHOSEN 14

BAD-PROPOSAL-SYNTAX

PAYLOAD-MALFORMED

INVALID-KEY-INFORMATION

INVALID-ID-INFORMATION

INVALID-CERT-ENCODING

INVALID-CERTIFICATE

CERT-TYPE-UNSUPPORTED

INVALID-CERT-AUTHORITY

INVALID-HASH-INFORMATION

AUTHENTICATION-FAILED

15

16

17

18

19

20

21

22

23

24

INVALID-SIGNATURE 25

ADDRESS-NOTIFICATION 26

NOTIFY-SA-LIFETIME 27

CERTIFICATE-UNAVAILABLE 28

UNSUPPORTED-EXCHANGE-TYPE 29

UNEQUAL-PAYLOAD-LENGTHS 30

RESERVED (Future Use) 31 - 8191

Private Use 8192 - 16383

通告信息 - 状态类型

状态 值

CONNECTED 16384

RESERVED(Future Use) 16385 - 24575

DOI-specific codes 24576 - 32767

Private Use 32768 - 40959

RESERVED (Future Use) 40960 - 65535

3.15 删除载荷

删除载荷包括一个协议特有的安全联盟标识符,发送方已经将该标识符从其安全联盟

数据库中删除,因此它不再有效。图16说明了删除载荷的格式。在一个删除载荷中发送多

个SPI是可能的,但是,每一个SPI必须有相同的协议。在删除载荷中不能执行混合协议

标识符。

与ISAKMP SA相关的删除将包含一个ISAKMP的Protocol-Id,SPIs是ISAKMP

头的发起者cookie和应答cookie。与SA协议,如:ESP或者AH,相关的删除包含该协

议(例如:ESP,AH)的Protocol-Id,SPI是发送实体的SPI(s)。

注意:删除载荷不是对应答删除SA的请求,而是发起者向应答的一个建议。如果应

答选择忽略这个信息,那么使用下一个从应答到发起者的使用安全联盟的通信,将会失败。

应答不期望承认收到删除载荷。

图16:删除载荷格式

删除载荷字段的定义如下:

* 下一个载荷(1个八位字节)-消息中的下一个载荷的载荷类型标识符。如果当前的

载荷是消息中的最后一个载荷,该字段为0。

* 保留 (1个八位字节)-未用,置为0。

* 载荷长度 (2个八位字节)-以位组为单位表示长度的当前载荷,包括通有的载荷

头。

* 解释域 (4个八位字节)-DOI的标识符(见2.1节描述),删除发生在DOI中。对

于ISAKMP,它的值是0;对于IPSEC DOI,它的值是1。其它的DOI的标识符可用附录B

中的描述来定义。

* 协议-Id(1个八位字节)-ISAKMP可以为各种协议建立安全联盟,包括ISAKMP

和IPSEC。这个字段标识了那一安全联盟数据库适用于删除请求。

* SPI大小(1个八位字节)-由Protocol-Id定义的以位组表示的SPI长度。在

ISAKMP情形下,发起者cookie和应答cookie对是ISAKMP SPI。在这种情况下,对于

每一个被删除的SPI,SPI的大小应该为16个八位位组。

* #of SPIs(2个八位字节)-包含在删除载荷中的SPIs数。每一个SPI的大小由SPI

Size字段定义。

* 安全参数索引(es)(长度可变)-识别将要删除的特定的安全联盟。这个字段的值

是DOI和协议特有的。这个字段的长度由SPI Size和#of SPIs 字段决定。

删除载荷的载荷类型是12。

3.16 厂商ID载荷

厂商ID载荷包含一个厂商定义的常量。厂商用这个常量来识别和确认它们实现的远程

情况。这个机制允许厂商在维持向后兼容性的同时,试验新的特性。这对于ISAKMP不是

一个通用的扩展工具。图17说明了厂商ID载荷的格式。

厂商ID载荷不是来自发起者的声明,它将发送专用的载荷类型。发送厂商ID的厂商

一定不能作出任何它将发送的专用载荷的假设,除非也接收到一个厂商ID。可以发送多厂

商ID载荷。实现不需要发送任何的厂商ID载荷。如果发送了一个没有得到事先同意的专

用载荷,顺从的实现将拒绝一个建议,该建议带有一个INVALID-PAYLOAD-TYPE类型的

通告消息。

如果发送一个ID载荷,它必须在商协阶段1发送。在阶段1中接收一个熟悉的厂商ID

载荷,将允许实现使用专用USE载荷号(128-255),在3.1节中描述了在阶段2协商过程

中厂商特有的扩展。“熟悉”的定义留给实现来决定。一些厂商可能希望在标准化之前实

现其他厂商的扩展。但是,这项实践不应该广泛分布,厂商应该先在标准化工作上努力。

厂商定义的常量应该是唯一的。哈希函数和要被哈希的原文由厂商选择。例如:厂商

可以用包含产品名、产品版本的串的明文哈希来产生他们的厂商ID。使用哈希而不使用厂

商注册,可以避免带有“被认可的”产品的列表的密码策略问题,和避免维持厂商列表,

以及允许分类的产品避免出现在任何列表上。例如:

"Example Company IPsec. Version 97.1"(不包括引号)用MD5哈希:如果使用

MD5文件,48544f9b1fe662af98b9b39e50c01a5a。因为载荷长度将限制数据,因此厂

商可以包括所有的哈希,或者哈希的一部分。没有哈希的安全暗含,所以它的选择是任意

的。

图17:厂商ID载荷格式

厂商ID载荷字段定义如下:

* 下一个载荷(1个八位字节)-消息中的下一个载荷的载荷类型标识符。如果当前的

载荷是消息中的最后一个载荷,该字段为0。

* 保留 (1个八位字节)-未用,置为0。

* 载荷长度 (2个八位字节)-以位组为单位表示长度的当前载荷,包括通有的载荷

头。

* 厂商ID (可变长度)-厂商的串加上版本(上面有描述)的哈希。

厂商ID载荷的载荷类型是13。

如果一个错误出现在这些信息中,局部安全策略就会指令执行该操作。一个可能的操

作是传送作为一个信息交换的部分的一个有效载荷的通告。

4.6 证明唯一交换

证明唯一交换本意是允许对相关传输信息进行唯一的证明。这种交换的好处是能够在

不估算密钥代价的情况下完成唯一证明。在流通中使用这种交换,传输中的信息不会被加

密。但是信息可以在其它地方被加密。例如,如果加密在第一个流通阶段被通过并且证明

唯一交换使用在第二个流通阶段,那么证明唯一交换将在第一个流通阶段被ISAKMP Sas

加密。下面的图表说明了在每个信息中可能传送的有效载荷和证明唯一交换的实例。

证明唯一交换

启动器

方向

响应器

注释

(1)HDR;SA;NONCE

=>

开始于ISAKMP-SA或流通代理

(2)

<=

HDR; SA; NONCE; IDir; AUTH

基于SA允许的由启动器检验的响应器恒等式

(3)HDR; IDii; AUTH

=>

由已确定的响应SA校验的启动器恒等式

在第一个信息中,启动器产生一个提议,对给定情形下的传输提供足够的保护。安全

联盟建议并转换包括安全联盟有效载荷在内的有效载荷。被用作保证有效和防止重放攻击

的随机信息也被转换。随机信息如果被两方提供,则应该有鉴定机构在交换中提供合作的

共享证据。

在第二个信息中,响应器显示了它允许安全联盟提议和转换有效载荷的一套保护。

此外被用作保证有效和防止重放攻击的随机信息也被转换。随机信息如果被两方提供,

则应该有鉴定机构在交换中提供合作的共享证据。另外,响应器传输标识信息。所有这些

信息都是在已经许可鉴定函数的保护下进行传输的。如果一套没有被提议的保护被承认,

局部安全策略规定响应器操作。一个可能的操作是传送作为一个信息交换的部分的一个有

效载荷的通告。

在第三个信息中,启动器传送鉴证信息。该信息在被许可的证明函数的保护下传输。

如果在这些信息中出现一条错误信息,局部安全策略规定相关操作。一个可能的操作是传

送作为一个信息交换的部分的一个有效载荷的通告。

4.7 主动交换

主动交换允许安全联盟,密钥交换和证明相关有效载荷的同时传输。结合安全联盟,

密钥交换和相关证明信息在一个信息中的作法,减少了来回路径在不提供同一性保护时的

消耗。同一性保护不被提供是因为同一性在一个普通共享密钥生成之前同一性被改变,因

此同一性加密是不能成立。此外,主动交换企图在一个单一交换中建立所有安全相关信息。

下面的图表说明了在每个信息中可能传送的有效载荷和证明唯一交换的实例。

主动交换

启动器

方向

响应器

注释

(1)HDR;SA;NONCE

=>

开始于ISAKMP-SA或流通代理以及密钥交换

(2)

<=

HDR; SA; NONCE; IDir; AUTH

基于SA允许的由启动器检验的响应器恒等式

(3)HDR; IDii; AUTH

=>

由已确定的响应SA校验的启动器恒等式

在第一个信息中,启动器产生一个提议,对给定情形下的传输提供足够的保护。安全

联盟建议并转换包括安全联盟有效载荷在内的有效载荷。这些仅仅是提供一个建议和一个

转换(例如,无选择情况)来使主动交换运作。密钥材料通常为一些共享公共秘密和随机

信息,而且被用作保证有效和防止重放攻击的随机信息也被转换。随机信息如果被两方提

供,则应该有鉴定机构在交换中提供合作的共享证据。此外,启动器传输验证信息。

在第二个信息中,响应器显示了它允许安全联盟提议和转换有效载荷的一套保护。密

钥材料通常为一些共享公共秘密和随机信息,而且被用作保证有效和防止重放攻击的随机

信息也被转换。随机信息如果被两方提供,则应该有鉴定机构在交换中提供合作的共享证

据。此外,响应器传输验证信息。所有这些信息都是在已经许可鉴定函数的保护下进行传

输的。如果一套没有被提议的保护被承认,局部安全策略规定响应器操作。一个可能的操

作是传送作为一个信息交换的部分的一个有效载荷的通告。在第三个信息中,启动器传输

已经许可的证明函数结果。这个信息在共享秘密的保护下进行传输。如果在这些信息中有

错误信息出现,局部安全策略会规定相关操作。一个可能的操作是传送作为一个信息交换

的部分的一个有效载荷的通告。

4.8 信息交换

信息传输定义为单行道的信息传输,它被用做对安全联盟的管理。下面的图表说明了

在每个信息中可能传送的有效载荷和证明唯一交换的实例。

信息传输

启动器

方向

响应器

注释

(1)HDR*;N/D

=>

错误报告或删除

在第一个信息中,启动器或响应器传送一个ISAKMP通报或删除有效载荷。

如果信息交换出现在当前ISAKMP第一阶段流通的密钥材料交换中时,将不对信息交

换提供保护。一旦密钥材料发生交换或ISAKMP SA被建立,那么信息交换必须在由密钥

材料或ISAKMP SA提供的保护下传输。

所有交换都类似于开始时的那些交换,并且必须存在同步加密。信息交换是一个交换,

而不是ISAKMP信息。因为信息交换而生成的一个信息ID应该独立于另外进程通讯中的

IVs 。这样将确保同步加密可以维持现有的通信以及信息交换能够适当的处理。唯一例外

情况是在ISAKMP头的提交位被设置了。当提交位被设置时,信息交换的信息ID字段必

须包括原始ISAKMP阶段2 SA流通的信息ID,而不是一个新信息ID(MID)。这样就确

保有着连接通报信息的信息交换可以和正确的阶段2 SA相关联。有关提交位的描述,参看

3.1节。

5 ISAKMP有效载荷处理

第三部分描述的ISAKMP有效载荷。这些有效载荷被用于交换的描述参看第四节,并

且可以作为一个特殊DOI的交换定义。这一节描述了对于每一个有效载荷的处理。这节建

议事件记载到一个系统审计文件上。这个操作由系统安全策略控制和实行,因此,仅仅是

一个建议性操作。

5.1 普通信息处理

每一个ISAKMP信息有一个基本处理应用,以便确保协议的可靠性,将威胁最小化,

例如服务的拒绝和重放攻击。所有的处理应该包括包裹的长度检查,用来确保接收的包裹

长度至少为在ISAKMP头中的给予长度。如果ISAKMP信息长度与ISAKMP头的有效载

荷长度字段中的值不同,那么ISAKMP信息必须被拒绝。接收的实体(启动器或响应器)

必须进行如下操作:

1. 不同有效载荷长度事件可以记录在适当的系统审计文件上。

2. 包含不等有效载荷长度消息类型的有效载荷通告的信息交换可以被送到一个发送

实体上去。该操作由系统安全策略规定。

在传送一个ISAKMP信息时,发送实体(启动器或响应器)必须进行如下操作:

1. 设置一个记时器,并初始化一个重复计数器。

注意:执行时不使用固定的记时器。相反的传输时间值应该基于标准的来回旅程时间

进行动态调整。此外,相同包裹的连续重发应该有更长的时间间隔来隔离。(例如,指数补

偿)。

2. 如果记时器终止,ISAKMP信息被重发并且重复计数器被消耗掉。

3. 如果重复计数器达到零,事件的重复限制范围可以记录在适当的系统审计文件中。

4. ISAKMP协议机制清空所有状态,并返回为空闲状态。

5.2 ISAKMP头操作

当生成一个ISAKMP信息时,发送实体(启动器或响应器)必须进行如下操作:

1. 生成相应的cookie。详细描述参看地2.5.3.

2. 确定相应的安全通信特性(例如,DOI和状态)

3. 如同3.1节描述的那样,生成一个带字段的ISAKMP头。

4. 依靠交换类型,生成其他ISAKMP有效载荷。

5. 像在5.1节描述的那样,发送信息到目的主机。

当接收到一个ISAKMP信息时,接收实体(启动器或响应器)必须进行如下操作:

1. 校验启动器和响应器的“cookies”。如果cookies校验失败,则信息将被丢弃,

并进行如下操作:

(a) 无效cookie事件可以记录在适当的系统审计文件中。

(b) 包含无效cookie消息类型的通告有效载荷的信息交换可以被送到发送实体。该操

作由系统安全策略规定。

2. 检测下一个有效载荷字段确定它是否有效。如果下一个有效载荷字段验证失败,

信息将被丢弃,并进行如下操作:

(a) 无效的下一个有效载荷事件可以记录在适当的系统审计文件中。

(b) 包含非法有效载荷类型的消息类型的通告有效载荷信息交换可以被送到发送实

体。该操作由系统安全策略规定。

3. 3.检查主要和次要的版本字段,确定它们是否正确(参看3.1节)。如果版本字段

检查失败,信息将被丢弃,并进行如下操作:

(a) 无效的ISAKMP版本事件可以记录在适当的系统审计文件中。

(b) 包含无效主要版本或无效次要版本的消息类型的通告有效载荷信息交换可以被送

到发送实体。该操作由系统安全策略规定。

4. 检查交换类型字段,确定是否有效。如果检查失败,信息将被丢弃,并进行如下

操作:

(a) 无效交换类型事件可以记录在适当的系统审计文件中。

(b) 包含无效交换类型的消息类型的通告有效载荷信息交换可以被送到发送实体。该

操作由系统安全策略规定。

5. 检查标志字段,确定它包含正确的数值。如果检查失败,信息将被丢弃,并进行

如下操作:

(a) 无效标志事件可以记录在适当的系统审计文件中。

(b) 包含无效标志消息类型的通告有效载荷信息交换可以被送到发送实体。该操作由

系统安全策略规定。

6. 检查信息ID字段,确定是够包含正确的数值。如果检查失败,信息将被丢弃,并

进行如下操作:

(a) 无效信息ID事件可以记录在适当的系统审计文件中。

(b) 包含无效信息ID的消息类型的通告有效载荷信息交换可以被送到发送实体。该操

作由系统安全策略规定。

7. ISAKMP信息处理延续使用了在下一个有效载荷字段中的数值。

5.3 特殊有效载荷头处理

当通过3.15节生成一个在3.4节中描绘的任何一个ISAKMP有效载荷时,一个特殊有

效载荷头被放置在这些有效载荷的开始端。当生成特殊有效载荷头时,发送实体(启动器

或响应器)必须进行如下操作:

1. 将下一个有效载荷的值放置在下一个有效载荷字段中。这些值的描述在3.1节中。

2. 放置0值到保留字段中。

3. 将有效载荷长度(8位位组)放置到有效载荷长度字段中。

4. 如同在本节其他部分定义的那样,生成有效载荷。

当接收到任何ISAKMP有效载荷时,接收实体(启动器或响应器)必须进行如下操作:

1. 检查下一个有效载荷,确定它是否有效。如果失败,信息将被丢弃,并进行如下

操作:

(a) 无效下一个有效载荷事件可以记录在适当的系统审计文件中。

(b) 包含非法有效载荷类型的消息类型的通告有效载荷信息交换可以被送到发送实

体。该操作由系统安全策略规定。

2. 检查保留字段是否包含0值。如果没有,信息将被丢弃,并进行如下操作:

(a) 无效保留字段事件可以记录在适当的系统审计文件中。

(b) 包含BAD建议句法或畸形有效载荷的消息类型的通告有效载荷信息交换可以被送

到发送实体。该操作由系统安全策略规定。

3. 如同下一有效载荷字段定义的那样,对剩余有效载荷进行处理。

5.4 安全联盟有效载荷处理

当生成一个安全联盟有效载荷时,发送实体(启动器或响应器)必须进行如下操作:

1. 确定这个流通正在施行的译码范围。

2. 确定这个流通正在实行的确定DOI的内部情形。

3. 确定在该情形内的提议和传输。详细描述分别参看3.5和3.6节。

4. 生成安全联盟有效载荷。

5. 如同5.1节中描述的那样,发送一个信息到接收实体(启动器或响应器)

当接收到一个安全联盟有效载荷时,接收实体(启动器或响应器)必须进行如下操作:

1. 确定是否支持其译码范围。如果不支持,信息将被丢弃,并进行如下操作:

(a) 无效DOI事件可以记录在适当的系统审计文件中。

(b) 包含不支持DOI消息类型的通告有效载荷信息交换可以被送到发送实体。该操作

由系统安全策略规定。

2. 确定是否给予的状态受到保护。如果没有,信息将被丢弃,并进行如下操作:

(a) 无效状态事件可以记录在适当的系统审计文件中。

(b) 包含不支持状态消息类型的通告有效载荷信息交换可以被送到发送实体。该操作

由系统安全策略规定。

3. 处理安全联盟有效载荷的剩余有效载荷(例如,提议,转换)。如果安全联盟有效

载荷(同5.5和5.6 描述的那样)不被认同,那么进行如下操作.

(a) 无效提议事件可以记录在适当的系统审计文件中。

(b) 包含无选择建议的消息类型的通告有效载荷信息交换可以被送到发送实体。该操

作由系统安全策略规定。

5.5 提议有效载荷处理

当生成一个提议有效载荷时,发送实体(启动器或响应器)必须进行以下操作:

1. 决定这些建议的草案。

2. 决定提供给这个协议草案的建议数目和每个建议的转换数目。关于转换的描述在

3.6节。

3. 生成一个特殊的伪随机SPI。

4. 生成一个提议有效载荷。

当接收到一个提议有效载荷时,接收实体(启动器或响应器)必须进行如下操作:

1. 确定是否被草案支持。如果草案的ID字段是无效的,则有效载荷被丢弃,并执行

下面的操作:

(a) 无效草案事件可以记录在适当的系统审计文件中。

(b) 包含无效草案ID消息类型的通告有效载荷信息交换可以被送到发送实体。该操作

由系统安全策略规定。

2. 确定SPI是否有效。如果无效,则有效载荷被丢弃,并执行下面的操作:

(a) 无效SPI事件可以记录在适当的系统审计文件中。

(b) 包含无效SPI消息类型的通告有效载荷信息交换可以被送到发送实体。该操作由

系统安全策略规定。

3. 确保草案按照3.5和4.2节给予的详细资料那样存在。如果草案没有正确的印版,

则执行以下操作:

(a) BAD提议语法,无效提议等事件可以记录在适当的系统审计文件中。

(b) 包含BAD提议语法或畸形有效载荷的消息类型的通告有效载荷信息交换可以被送

到发送实体。该操作由系统安全策略规定。

4. 如同下一有效载荷字段定义的那样,对提议和转换有效载荷进行处理。

5.6 转换有效载荷处理

当生成一个转换有效载荷时,发送实体(启动器或响应器)必须进行如下操作。

1. 确定因为这种转换的转换。

2. 确定为该提议提供的转换数目。关于转换的描述参看3.6 节。

3. 生成一个转换有效载荷。

当接收到一个转换有效载荷时,接收实体(启动器或想应器)必须执行下面操作:

1. 确定是否支持转换。如果转换ID字段包括一个未知或不支持的值,那么转换有效

载荷必须被忽视,并且不可以引起一个无效转换事件的产生。如果转换ID字段是无效的,

那么有效载荷将被丢弃,并执行以下操作:

(a) 无效转换事件可以记录在适当的系统审计文件中。

(b) 包含无效转换ID的消息类型的通告有效载荷信息交换可以被送到发送实体。该操

作由系统安全策略规定。

2.确保草案按照3.5和4.2节给予的详细资料那样存在。如果草案没有正确的印版,则

执行以下操作:

(a) BAD提议语法,无效转换,无效特性等事件可以记录在适当的系统审计文件中。

(b) 包含BAD提议语法、畸形有效载荷或不支持特性等消息类型的通告有效载荷信息

交换可以被送到发送实体。该操作由系统安全策略规定。

2. 如同下一有效载荷字段定义的那样对并发转换和提议有效载荷进行操作。处理这

些有效载荷的实例在4.2.1节中给出。

5.7 密钥的交换有效负载的处理

当建立一个密钥的交换有效负载时,传送的实体(启动程序或应答器)必须采取如下措

施:

1. 由 DOI 定义的,确定密钥交换使用。

2. 由 DOI 定义的,确定密钥交换数据域的用法。

3. 构造密钥交换的有效负载。

4. 在 5.1 节描述,传送消息到接收的实体。

当密钥的交换有效负载被接收时,接收的实体(启动程序或应答器)必须采取如下措施:

1. 决定密钥的交换是否被支持。如果密钥的交换确定失败,消息丢失,那么采取如下

措施:

(a) 无效的密钥信息的事件,可能被存入适当的系统审计文件。

(b) 包含无效的密钥信息的类型的消息,携带通知有效负载的信息交换,可能被发送

到传送的实体。这个效应被系统安全策略口授。

5.8 鉴定有效负载的处理

当建立鉴定有效负载时,传送的实体(启动程序或应答器)采取如下措施:

1. 由 DOI 定义的,决定鉴定信息用于 ( 和可能的状况 ) 。

2. 由 DOI 定义的,决定鉴定数据域的用法。

3. 构造鉴定有效负载。

4. 在 5.1 节描述了,传送消息到接收的实体。

当鉴定有效负载被接收时,接收的实体(启动程序或应答器)采取如下措施:

1. 决定鉴定类型是否被支持。这可以基于 DOI 和状况。如果鉴定确定失败,消息被

丢失,那么采取如下措施:

(a) 无效的ID信息的事件,可能被存入适当的系统审计文件。

(b) 包含无效的ID信息的类型的消息,携带通知有效负载的信息交换,可能被发送到

传送的实体。这个效应被系统安全策略口授。

5.9 处理的证书有效负载

当建立证书有效负载时,传送的实体(启动程序或应答器)采取如下措施:

1. 决定编码用于的证书。这可以被 DOI 指定。

2. 保证由编码的证书定义的,一张证书的存在被格式化。

3. 构造证书有效负载。

4. 在5.1节描述了,传送消息到接收的实体。

当证书有效负载被接收时,接收的实体(启动程序或应答器)采取如下措施:

1. 决定编码的证书是否被支持。如果编码的证书没被支持,有效负载被丢失,那么采

取如下措施:

a) 无效的证书信息编码的事件,可能被存入适当的系统审计文件。

b) 包含无效的证书信息编码的消息,携带通知有效负载的信息交换,可能被发送到传

送的实体。这个效应被系统安全策略口授。

2. 处理证书数据域。如果证书数据是无效的或不适当地格式化了,有效负载被丢失,

那么采取如下措施:

a) 无效的证书信息的事件,可能被存入适当的系统审计文件。

b) 包含无效的证书信息的类型的消息,携带通知有效负载的信息交换,可能被发送到

传送的实体。这个效应被系统安全策略口授。

5.10 处理的证书请求有效负载

当建立证书请求有效负载时,传送的实体(启动程序或应答器)采取如下措施:

1. 决定编码被请求的证书的类型。这可以被DOI指定。

2. 决定将被请求的一个可接受的证书权威的名字(如果适用) 。

3. 构造证书请求有效负载。

4. 在5.1节描述了,传送消息到接收的实体。

证书请求有效负载什么时候被接收,接收的实体(启动程序或应答器)采取如下措施:

1. 决定编码的证书是否被支持。如果编码的证书是无效的,有效负载被丢失,采取如

下措施:

a) 无效的证书信息的事件,可能被存入适当的系统审计文件。

b) 包含无效的证书信息的类型的消息,携带通知有效负载的信息交换,可能被发送到

传送的实体。这个效应被系统安全策略口授。

如果编码的证书没被支持,有效负载被丢失,采取如下措施:

a) 未支持证书类型的事件,可能被存入适当的系统审计文件。

b) 包含未支持证书类型的消息,携带通知有效负载的信息交换,可能被发送到传送的

实体。这个效应被系统安全策略口授。

2. 决定证书权威是否为编码的指定的证书被支持。如果证书权威是无效的或不适当地

格式化了,有效负载被丢失,采取如下措施:

a) 无效的证书权威的事件,可能被存入适当的系统审计文件。

b) 包含无效的证书权威的消息,携带通知有效负载的信息交换,可能被发送到传送的

实体。这个效应被系统安全策略口授。

3. 处理证书请求。如果有指定的证书权威的一种请求的证书类型不是可得到的,然后

有效负载被丢失,采取如下措施:

(a) 无法使用的证书的事件,可能被存入适当的系统审计文件。

(b) 包含无法使用的类型的消息,携带通知有效负载的信息交换,可能被发送到传送

的实体。这个效应被系统安全策略口授。

5.11 哈希值有效负载的处理

当建立哈希值有效负载时,传送的实体(启动程序或应答器)采取如下措施:

1. 由 SA 协商定义的,决定哈希函数用于。

2. 由 DOI 定义的,决定哈希值数据域的用法。

3. 构造哈希值有效负载。

4. 在5.1节描述了,传送消息到接收的实体。

当哈希值有效负载被接收时,接收的实体(启动程序或应答器)采取如下措施:

1. 决定哈希值是否被支持。如果哈希值确定失败,消息被丢失,那么采取如下措施:

(a) 无效的哈希值信息的事件,可能被存入适当的系统审计文件。

(b) 包含无效的哈希值信息的类型的消息,携带通知有效负载的信息交换,可能被发

送到传送的实体。这个效应被系统安全策略口授。

2. 当在 DOI 或密钥的交换协议文件被构画出,施行哈希函数。

如果哈希函数失败,消息被丢失,采取如下措施:

(a) 无效的哈希值信息的事件,可能被存入适当的系统审计文件。

(b) 包含无效的证书信息的类型的消息,携带通知有效负载的信息交换,可能被发送

到传送的实体。这个效应被系统安全策略口授。

5.12 签名有效负载的处理

当建立签名有效负载时,传送的实体(启动程序或应答器)采取如下措施:

1. 由 SA 协商定义的,决定签名功能用于。

2. 定义的由,决定签名数据域的用法 DOI 。

3. 构造签名有效负载。

4. 在5.1节描述了,传送消息到接收的实体。

当签名有效负载被接收时,接收的实体(启动程序或应答器)采取如下措施:

1. 决定签名是否被支持。如果签名确定失败,消息被丢失,采取如下措施:

(a) 无效的签名信息的事件,可能被存入适当的系统审计文件。

(b) 包含无效的签名信息的类型的消息,携带通知有效负载的信息交换,可能被发送

到传送的实体。这个效应被系统安全策略口授。

2. 当在 DOI 或密钥的交换协议文件构画出了,施行签名功能。如果签名功能失败,

消息被丢失,采取如下措施:

(a) 无效的签名值信息的事件,可能被存入适当的系统审计文件。

(b) 包含无效的证书信息的类型的消息,携带通知有效负载的信息交换,可能被发送

到传送的实体。这个效应被系统安全策略口授。

5.13 目前有效负载的处理

当建立目前有效负载时,传送的实体(启动程序或应答器)采取如下措施:

1. 建立唯一的随意的值作为目前用于。

2. 构造目前有效负载。

3. 在5.1节描述了,传送消息到接收的实体。

当目前有效负载被接收时,接收的实体(启动程序或应答器)采取如下措施:

1. 对于处理目前有效负载没有特定的过程。过程被交换类型定义(和可能的 DOI 和密

钥交换描述) 。

5.14 通知有效负载的处理

在通讯期间错误可以发生,是可能的。参考的交换与通知有效负载提供通知一个同伴

实体错误在处理的协议期间发生了的一个控制的方法。通知有效负载,这被推荐被放入分

开的参考的交换而非添加通知有效负载到存在的交换。当建立通知有效负载时,传送的实

体(启动程序或应答器)采取如下措施:

1. 这份通知决定 DOI 。

2. 这份通知决定 Protocol-ID 。

3. 基于 Protocol-ID 域决定 SPI 大小。因为不同的安全协议有不同的 SPI 大小,

该域是必要的。例如, ISAKMP 联合启动程序和应答器小甜饼对 ( 十六位八进制 ) 作为

SPI ,当时ESP和AH有四位八进制SPI 。

4. 决定基于错误或需要的地位消息通知消息类型。

5. 决定与这份通知被联系的 SPI 。

6. 决定附加的通知数据是否将被包括。这是 DOI 指定了的附加的信息。

7. 构造通知有效负载。

8. 在5.1节描述了,传送消息到接收的实体。

因为有通知有效负载的参考的交换是一条单向性的消息,重发将不被施行。本地的安

全策略将为继续口授过程。

然而, 我们推荐那一个通知有效负载错误事件被登录由接收的实体的适当的系统审计

文件。如果参考的交换在 ISAKMP 期间在 keying 材料的交换以前发生,阶段 1 协商将

不是为参考的交换被提供了的保护在那里。 keying 材料被交换或 ISAKMP SA 被建

立, 参考的交换必须在 keying 提供了的保护下,传送材料或 ISAKMP SA 。

当通知有效负载被接收时,接收的实体(启动程序或应答器)采取如下措施:

1. 决定参考的交换是否把任何保护由检查位和认证仅仅在 ISAKMP头中的位的加密

适用于它。如果加密位被设置,即参考的交换被加密, 然后消息必须被解密使用 ( 进行

中或完成 ) ISAKMP SA 。当描述了在下面,一旦解密是完全的,处理能继续。如果认

证仅仅位了被设置, 然后消息必须被证实使用 ( 进行中或完成 ) ISAKMP SA 。一旦认

证被完成,当在下面描述了,处理能继续。如果参考的交换没被加密或认证,当在下面描

述了,处理的有效负载能继续。

2. 决定是否解释的域 ( DOI ) 被支持。如果 DOI 确定失败,有效负载被丢失,采取

如下措施:

(a) 无效的DOI信息的事件,可能被存入适当的系统审计文件。

3. 决定 Protocol-Id 是否被支持。如果 Protocol-Id 确定失败,有效负载被丢,采

取如下措施:

(a) 无效的PROTOCOL-ID信息的事件,可能被存入适当的系统审计文件。

4. 决定 SPI 是否是有效的。如果 SPI 是无效的,有效负载被丢失,采取如下措施:

(a) 无效的SPI信息的事件,可能被存入适当的系统审计文件。

5. 决定是否通知消息类型是有效的。如果通知消息类型是无效的, 有效负载被丢失,

采取如下措施:

(a) 无效的消息类型的事件,可能被存入适当的系统审计文件。

6. 根据本地的安全策略,处理通知有效负载, 包括附加的通知数据和采取适当的行

动。

5.15 删除有效负载的处理

在通讯期间主机可以被妥协或信息可以在传动期间被拦截,是可能的。决定这是否发

生了不是一项容易的任务并且在这个备忘录的范围外面。然而, 如果传播正在被妥协,这

被发现,然后建立新 SA 并且删除当前的 SA ,是必要的。

参考的交换与删除有效负载提供通知一个同伴实体传送的实体删除了 SA 的一个控

制的方法。安全协会的删除必须总是在 ISAKMP SA 的保护下面被施行。接收的实体应

该清理它的本地的 SA 数据库。然而,接收删除 SA 在安全参数索引列出了的消息 ( SPI )

域删除有效负载不能与传送的实体用于。 SA 建立过程必须被调用重建安全的通讯。

当建立时删除有效负载,传送的实体(启动程序或应答器) 采取如下措施:

1. 这删除决定 DOI 。

2. 这删除决定 Protocol-ID 。

3. 基于 Protocol-ID 域决定 SPI 大小。因为不同的安全协议有不同的 SPI 大小,

这域是必要的。例如, ISAKMP 联合启动程序和应答器小甜饼对 ( 十六位八进制 )作为

SPI ,当时 ESP 和AH有四位八进制 SPI 。

4. 对于这个协议,# 决定被删除的 SPI 。

5. 决定是的 SPI () 与这删除联系了。

6. 构造删除有效负载。

7. 在5.1节描述,传送消息到接收的实体。

因为参考的交换与删除有效负载是重发将不被施行的一条单向性的消息。本地的安全

策略将为继续口授过程。然而, 我们推荐那一删除事件被登录的有效负载错误由接收的实

体的适当的系统审计文件。

如上所述, 参考的交换与删除有效负载必须在 ISAKMP SA 提供了的保护下面被传

送。

什么时候删除有效负载被接收,接收的实体(启动程序或应答器)采取如下措施:

1. 因为参考的交换被一些安全服务保护 ( 例如对于 Auth ,仅仅认证 SA , 对于

另外的交换的加密 ), 消息必须有服务使用了ISAKMP SA 的这些安全。当在下面描述

了,一旦处理的安全服务是完全的,处理能继续。当登记信息时,在处理的安全服务期间

发生的任何错误将是明显的删除有效负载。由于处理错误的安全服务,本地的安全策略应

该口授取消任何行动。

2. 决定是否解释的域 ( DOI ) 被支持。如果 DOI 确定失败,有效负载被丢失,采取

如下措施:

(a) 无效的DOI的事件,可能被存入适当的系统审计文件。

3. 决定 Protocol-Id 是否被支持。如果 Protocol-Id 确定失败,有效负载被丢失,

采取如下措施:

(a) 无效的PROTOCOL-ID的事件,可能被存入适当的系统审计文件。

4. 决定 SPI 是否为被包括了在的每 SPI 是有效的删除有效负载。对于无效 SPI ,

采取如下措施:

(a) 无效的SPI信息的事件,可能被存入适当的系统审计文件。

5. 进程删除有效负载并且采取适当的行动, 根据本地的安全策略。如上所述, 一个

适当的行动应该包括清理本地的 SA 数据库。

6 结论

因特网安全协会和密钥的管理协议 ( ISAKMP ) 一个好设计的协议在未来的因特网被

瞄准。因特网的巨大的生长将在网络利用,通讯,安全要求,并且安全机制导致大差异。

ISAKMP 包含将为这被需要的所有的特征动态并且膨胀的通讯环境。

Isakmp 的安全协会 ( SA ) 特征结合了认证和建立提供安全和将为未来生长和差异

被需要的灵活性的密钥。多重的密钥的交换技术,加密算法,认证机制,安全服务,并且

安全属性的这安全差异将允许用户为他们的网络选择适当的安全, 通讯,并且安全需要。

SA 特征允许用户指定并且谈判有另外的用户的安全要求。在一个单个的协议支持多重的

技术的附加的好处是当新技术被开发,他们能容易被加到协议。这为因特网安全服务的生

长提供一条路径。 ISAKMP 支持公开或私下地定义的 SA ,对于管理,广告,和私人的

通讯,使它理想化。

ISAKMP 提供能力为多重的安全协议和应用程序建立 SA 。这些协议和应用程序可以

是会议面向的或 sessionless 。有支持多重的安全协议的一个 SA 建立协议消除需要为多

重,将近相同的认证,密钥的交换和 SA 机构协议什么时候超过安全协议在使用或需要。

就当 IP 为因特网提供了普通联网的层,如果安全是在因特网上成为现实,一个普通的安

全建立协议被需要。 ISAKMP 提供允许所有的另外的安全协议互操作的普通的底。

ISAKMP 跟随好安全设计原则。它没被联合到另外的不安的传输协议, 因此它不是

脆弱的或由对另外的协议的攻击削弱了。另外,当更安全的传输协议被开发时, ISAKMP

能容易被移植到他们。ISAKMP 也对联系的协议提供保护攻击。该保护提供 SA 和建立的

密钥,保证与需要的部分一起的而不与一个攻击者一起。

ISAKMP 也跟随好协议设计原则。协议特定的信息仅仅在协议头,跟随 IPv6 的设计

原则。协议搬运了的数据被分开成功能的有效负载。当因特网成长和演变, 支持新安全功

能的新的有效负载能没有修改全部协议被增加。

A ISAKMP 安全协会属性

A.1 背景 / 基本原理

在前面几节已详细说明了, ISAKMP 被设计为,建立和管理安全协会和密码的密钥,

提供一个灵活并且可扩展的框架。 ISAKMP 提供的框架,由头和有效负载定义,指导消

息和有效负载交换的交换类型,和普通处理指南组成。 ISAKMP 未定义将被用来建立和

管理安全协会和密码的密钥在的机制证实和机密的方式。机制和他们的应用程序的定义是

解释的单个的域的权限 ( DOI )。

这节描述因特网 IP安全 DOI 的 ISAKMP 值,支持的安全协议,和ISAKMP 阶段1

的协商的鉴定值。因特网 IP 安全 DOI 是强制的为 IP 安全实现。[ Oakley ] 和 [ IKE ]

详细描述了,建立和管理IP安全的安全协会和密码密钥的机制和其应用程序。

A.2 因特网 IP 安全 DOI 的分配值

在 [ IPDOI ]描述了,因特网的IP 安全DOI的分配数字是一个(1)。

A.3 支持安全协议

支持的安全协议的值在“最新的分配的数字” RFC [ STD-2 ] 被指定。在下列表为协

议发送了,由 ISAKMP 支持的因特网 IP 安全DOI安全协议的值。

协议分配的值

保留 0

ISAKMP 1

所有的 DOI 必须与 1 的 Protocol-ID 保留 ISAKMP 。在那 DOI 以内的所有的另

外的安全协议将因此被标记。

安全协议值 2-15359 为未来使用被保留到 IANA 。值 15360-16383 永久地在互

相同意之中为私人的使用被保留实现。

这样的私人的使用值是不大可能越过不同的实现可互操作。

A.4 ISAKMP 鉴定类型值

为鉴定的分配的值打域的下列表在一张通用的相期间发现了 1 交换在鉴定有效负载,

它不为一个特定的协议。

ID 类型 值

ID_IPV4_ADDR 0

ID_IPV4_ADDR_SUBNET 1

ID_IPV6_ADDR 2

ID_IPV6_ADDR_SUBNET 3

A.4.1 ID_IPV4_ADDR

ID_IPV4_ADDR 类型指定唯一的四位(4)八进制 IPv4 地址。

A.4.2 ID_IPV4_ADDR_SUBNET

ID_IPV4_ADDR_SUBNET 类型指定 IPv4 地址的一个范围, 由两个四位( 4 ) 八进

制值代表。第一值是一个 IPv4 地址。第二是一个 IPv4 网络面具。注意那 ( 1s ) 在网络

面具显示在地址的相应的位被修理,当零 ( 0s ) 时,显示一个“通配符”位。

A.4.3 ID_IPV6_ADDR

ID_IPV6_ADDR 类型指定唯一的十六位(16)八进制 IPv6 地址。

A.4.4 ID_IPV6_ADDR_SUBNET

ID_IPV6_ADDR_SUBNET 类型指定 IPv6 地址的一个范围,由 2:16 代表了 ( 16 )

八进制值。第一值是一个 IPv6 地址。第二是一个 IPv6 网络面具。注意那 ( 1s ) 在网络

面具显示在地址的相应的位被修理,当零(0s)时显示一个“通配符”位。

B定义新的解释域

因特网 DOI 足以的满足因特网社区的大部分的安全要求。然而,某些组可以有需要

设定 DOI 的某些方面,可能是增加密码的算法的一个不同的集合,或者可能因为他们想

要解除主机 id 或用户 id 以外基于某些其安全相关的决定。另外,一个特别的组可以有

对一种新交换类型的需要,例如支持密钥的管理为多点传送组。

这节为定义新的 DOI 讨论指南。为因特网 DOI 的完整的说明能被发现在

[ IPDOI ] 。

定义新的 DOI 可能消费时间进程。如果根本可能,被推荐设计者开始存在的 DOI 和

仅仅设定是不能接受的部分。

如果一个设计者选择启动,下列必须被定义:

* 一种“状况”:将被用来决定要求的安全的信息的集合满足。

* 必须被支持的安全策略的集合。

* 命名安全相关的信息的一个计划,包括加密算法,密钥的交换算法,等等。

* 满足建议的安全的说明的句法,归因,和认证当局。

* 各种各样的有效负载内容的特定的格式。

* 如果要求,附加的交换类型。

B.1 状况

状况是决定如何保护一条通讯隧道的基础。它必须包含SA中决定的,用于保护的类

型和强度的所有数据。例如, 防卫 DOI 的一个美国部门可能使用未公布的算法和附加的

特殊的属性谈判。这些附加的安全属性包括处于的状况之中。

B.2 安全策略

安全策略定义各种各样的信息的类型必须如何分类和保护。DOI 必须定义策略支持的

安全的集合,因为在一个协商的两个聚会必须信任另外的部分理解一种状况,并且希望适

当地保护信息,在传输并且在存储。在社团的设置,例如, 在一个协商的两个聚会必须同

意条款的意思“以前他们能谈判的专利的信息”如何保护它。

注意,包括DOI中的请求安全策略仅说明,共享主机理解和实现完全系统框架的策略。

B.3 命名计划

任何 DOI 必须定义一个一致的方法命名密码的算法,证书当局,等等。通常用IANA

命名惯例实现,允许一些私人的扩展。

B.4 为指定安全服务的句法

除了简单地指定如何命名实体,DOI还必须为如何在一种给定的状况下保护流通量的

完全的建议指定格式。

B.5 有效负载说明

DOI 必须指定有效负载类型的说有格式。对于有效负载类型,ISAKMP包括必须忽略

所有DOI当前的域 ( 例如,证书有效负载的证书权威,或密钥的交换在密钥中的标识符

交换有效负载 ) 。

B.6 定义新交换类型的

如果基本的交换类型不适合在DOI内满足要求,设计者可以在每个DOI中,定义13

种额外的交换类型。设计者通过选择闲置的交换类型值,建立一种新交换类型,并且定义

ISAKMP有效负载的字符串组成信息的顺序。

注意:任何新交换必须分析其危险性。由于太昂贵并且不能承担, 一种新交换类型应

仅仅什么时候绝对需要才被建立。

安全考虑

密码的分析技术以稳定的步正在改进。持续的改进尽最大努力曾经做更现实主义的计

算地禁止的密码的攻击。新的密码的算法和公钥产生技术也以稳定的步正在被开发。新安

全服务和机制以加速的步正在被开发。从许多安全服务和机制并且到交换属性选择的一个

一致的方法由机制要求了对在因特网的复杂的结构的安全重要。然而,锁自己进单个的密

码的算法,密钥的交换技术,或机制将成为的安全的一个系统逐渐地脆弱当时间过去。

UDP 是一个不可靠的数据包协议并且因此它的在 ISAKMP 的使用介绍很多安全考

虑。自从 UDP 是不可靠的,但是一个密钥的管理协议一定是可靠的, 可靠性被造进

ISAKMP 。当 ISAKMP 作为它的传输机制利用 UDP 时,它不依靠任何 UDP 信息 ( 例

如检查和长度 ) 为它的处理。

必须在 ISAKMP 的开发被考虑的另外的问题是在协议上的防火墙的效果。许多防火

墙外面过滤所有的 UDP 包, 在某个环境在 UDP 上使信赖可疑。

很多很重要的安全考虑被送在 [ SEC-ARCH ] 。一种负担的重复。一旦私人的会议密

钥被建立,它必须安全地被存储。阻止到系统内部私人的密钥和外部的存取的失败,会废

弃任何由 IP 安全提供的服务保护。

IANA 考虑

这个文件包含许多IANA 维持的“魔术”的数字。该节解释通过IANA使用的标准,

在每个表中分配其它的数字。

解释域

解释的域(DOI)是一个32位的域,识别在安全联盟协会正在发生时的领域。请求新的

DOI的任务,必须伴随描述特定的域的标准轨道RFC。

支持的安全协议

ISAKMP设计为提供安全连接协商和密钥管理的许多安全协议。附加的安全协议的标

识符的请求必须伴随一个描述安全协议和ISAKMP关系的标准轨道RFC。

鸣谢

Cisco系统的Dan Harkins,Dave Carrel,和Derrell Piper提供[IKE]和[IPDOI]文件的

协议和规范的设计与帮助。

Hilarie Orman,经过Oakley密钥交换协议,显著地影响ISAKMP的设计。

Marsha Gross,Bill Kutz,Mike Oehler,Pete Sell和Ruth Taylor为该文件提供重

要的输入和核查。

Scott Carlson为使用ISAKMP原型移植TIS DNSSEC原型到FreeBSD。

Jeff Turner和Steve Smalley对于ESP和AH的原型发展和集成的贡献。

Mike Oehler和Pete Sell与其它的ISAKMP实现者执行的互操作性的测试。

感谢SPARTA公司的Carl Muckenhirn,提供LaTeX的帮助。

参考数目

[ANSI] ANSI, X9.42: Public Key Cryptography for the Financial

Services Industry -- Establishment of Symmetric Algorithm

Keys Using Diffie-Hellman, Working Draft, April 19, 1996.

[BC] Ballardie, A., and J. Crowcroft, Multicast-specific

Security Threats and Countermeasures, Proceedings of 1995

ISOC Symposium on Networks & Distributed Systems Security,

pp. 17-30, Internet Society, San Diego, CA, February 1995.

[Berge] Berge, N., "UNINETT PCA Policy Statements", RFC 1875,

December 1995.

[CW87] Clark, D.D. and D.R. Wilson, A Comparison of Commercial

and Military Computer Security Policies, Proceedings of

the IEEE Symposium on Security & Privacy, Oakland, CA,

1987, pp. 184-193.

[DNSSEC] D. Eastlake III, Domain Name System Protocol Security

Extensions, Work in Progress.

[DOW92] Diffie, W., , P. Van Oorschot, Authentication and

Authenticated Key Exchanges, Designs, Codes, and

Cryptography, 2, 107-125, Kluwer Academic Publishers,

1992.

[IAB] Bellovin, S., "Report of the IAB Security Architecture

Workshop", RFC 2316, April 1998.

[IKE] Harkins, D., and D. Carrel, "The Internet Key Exchange

(IKE)", RFC 2409, November 1998.

[IPDOI] Piper, D., "The Internet IP Security Domain of

Interpretation for ISAKMP", RFC 2407, November 1998.

[Karn] Karn, P., and B. Simpson, Photuris: Session Key

Management Protocol, Work in Progress.

[Kent94] Steve Kent, IPSEC SMIB, e-mail to ipsec@, August

10, 1994.

[Oakley] Orman, H., "The Oakley Key Determination Protocol", RFC

2412, November 1998.

[RFC-1422] Kent, S., "Privacy Enhancement for Internet Electronic

Mail: Part II: Certificate-Based Key Management", RFC

1422, February 1993.

[RFC-1949] Ballardie, A., "Scalable Multicast Key Distribution", RFC

1949, May 1996.

[RFC-2093] Harney, H., and C. Muckenhirn, "Group Key Management

Protocol (GKMP) Specification", RFC 2093, July 1997.

[RFC-2094] Harney, H., and C. Muckenhirn, "Group Key Management

Protocol (GKMP) Architecture", RFC 2094, July 1997.

[RFC-2119] Bradner, S., "Key Words for use in RFCs to Indicate

Requirement Levels", BCP 14, RFC 2119, March 1997.

[Schneier] Bruce Schneier, Applied Cryptography - Protocols,

Algorithms, and Source Code in C (Second Edition), John

Wiley & Sons, Inc., 1996.

[SEC-ARCH] Atkinson, R., and S. Kent, "Security Architecture for the

Internet Protocol", RFC 2401, November 1998.

[STD-2] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC

1700, October 1994. See also:

/

作者地址

Douglas Maughan

National Security Agency

ATTN: R23

9800 Savage Road

Ft. Meade, MD. 20755-6000

Phone: 301-688-0847

EMail:wdm@

Mark Schneider

National Security Agency

ATTN: R23

9800 Savage Road

Ft. Meade, MD. 20755-6000

Phone: 301-688-0851

EMail:mss@

Mark Schertler

Securify, Inc.

2415-B Charleston Road

Mountain View, CA 94043

Phone: 650-934-9303

EMail:mjs@

Jeff Turner

RABA Technologies, Inc.

10500 Little Patuxent Parkway

Columbia, MD. 21044

Phone: 410-715-9399

EMail:@

版权声明

版权(C) 国际互联网社会(1998)。版权所有。

这个文档和它的翻译可能被拷贝和提供给别人,并且引出的工作关于评论或注释或帮

助它执行可能被准备,拷贝,印刷和分配,不管是那一部分,没有任何的限制,提供上面

的版权通知和文章中包含的图片以及大量的引出工作。但是,这个文章它自己不能以任何

方式跟改,例如移走版权通知或提及因特网社会的参考书目或别的互联网组织,除了发展

因特网标准的需要,在这种情况下,在因特网标准过程中定义的版权程序应该存在,或将

它翻译成不同于英语的外国语的需要。

上面有限的许可是永久的,它不应该被互联网社会或它的接替者破坏。

这个文件和包含在这里的信息作为基础来提供,互联网社会和这个互联网工程任务迫

使它宣布所有的理由,不管是明指的还是推断的,包括但是不限制任何理由来使用信息不

能破坏一些权利或一些推断出的授权购买或适合某一特定的目的。