IPSec 使用 IKE 还是 ISAKMP?

信息安全 密钥管理 虚拟专用网 ipsec 艾克
2021-08-17 10:50:41

IPSec 协议套件是使用 IKE 还是 ISAKMP?

RFC 2828 指出 ISAKMP 是 IPSec 中用于处理 SA、密钥管理和系统身份验证的协议。其他消息来源说 IKE 是使用的协议。

来自RFC 2828

$ 互联网安全协会和密钥管理协议 (ISAKMP)

(I) 一种互联网 IPsec 协议 [R2408],用于协商、建立、修改和删除安全关联,以及交换密钥生成和认证数据,独立于任何特定密钥生成技术、密钥建立协议、加密算法的细节,或认证机制。

4个回答

让我们先在这里澄清一些困惑。Internet 密钥交换 (IKE)是一种混合协议,它由 3 个“协议”组成

  • ISAKMP:它本身不是一个密钥交换协议,它是一个密钥交换协议运行的框架。

  • Oakley:描述密钥交换的“模式”(例如,密钥的完美前向保密、身份保护和身份验证)

  • SKEME:为基于公钥的密钥交换、密钥分发中心和手动安装提供支持,它还概述了安全和快速的密钥更新方法。

所以是的,IPSec确实使用 IKE,但 ISAKMP 是 IKE 的一部分。

这是来自网络工程的 Craig Constatine对类似问题的回答:

ISAKMP 是 IKE 的一部分。(IKE 有 ISAKMP、SKEME 和 OAKLEY)。IKE 建立共享安全策略和认证密钥。ISAKMP 是指定密钥交换机制的协议。混淆,(对我来说)是在 Cisco IOS ISAKMP/IKE 中用于指代同一事物。我的意思是,我的理解是思科的 IKE 只实现/使用 ISAKMP。因此,一个配置 IKE,然后在概念上在其中配置 ISAKMP。

ISAKMP可以看作是ISAKMP的概念框架,IKE是ISAKMP的具体实现。然后 IKE 的实际实现同时使用 Oakley 和 SKEME 来实现其目标(除 Cisco 之外的所有实现,因为它既不使用 Oakley 也不使用 SKEME,导致在 Cisco 世界中与 ISAKMP 混淆;如果我错了,请纠正我) . 在开发世界中,人们可以将 ISAKMP 视为抽象类 (C++) 或接口 (Java),而 IKE 则视为实现此抽象类或接口的具体类......

IKE 是 ISAKMP、Oakley 协议和 SKEME 的超集。

ISAKMP(建立身份验证和密钥交换框架的协议)

Oakley(描述了一系列关键的交易所和服务)

SKEME(提供匿名性、可否认性和密钥更新的密钥交换技术)。

您提到的 RFC 指出 ISAKMP 是一种 IPSEC 协议,这是真的。只是新设备使用 IKE 来设置 VPN 连接。