RFC2408—ISAKMP
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后,协议将提供所需的信息来支持实际的认证交换。协议支持不同认证中心,整数类型和证书交换标识的认证设备。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。