4.5. SA 和密钥管理 (SA and Key Management)
所有 IPsec 实现必须 (MUST) 支持手动和自动化 SA 以及加密密钥管理。IPsec 协议(AH 和 ESP)在很大程度上独立于相关的 SA 管理技术,尽管所涉及的技术确实会影响协议提供的某些安全服务。
对安全服务的影响
例如,AH 和 ESP 可用的可选防重放服务需要自动化 SA 管理。此外,与 IPsec 一起使用的密钥分发粒度决定了提供的认证粒度。通常,AH 和 ESP 中的数据源认证受到与完整性算法(或创建此类密钥的密钥管理协议)一起使用的密钥在多个可能源之间共享的程度的限制。
以下文本描述了两种类型的 SA 管理的最低要求。
4.5.1. 手动技术 (Manual Techniques)
最简单的管理形式是手动管理,其中人员手动为每个系统配置密钥材料和与其他系统安全通信相关的 SA 管理数据。手动技术在小型静态环境中是实用的,但它们的可扩展性不好。
示例用例:公司可以在多个站点的安全网关中使用 IPsec 创建虚拟专用网络 (VPN)。如果站点数量很少,并且由于所有站点都在单个管理域的管辖范围内,这可能是手动管理技术的可行环境。在这种情况下,安全网关可以使用手动配置的密钥有选择地保护往返组织内其他站点的流量,同时不保护其他目的地的流量。
当只需要保护选定的通信时,它也可能是适当的。类似的论点可能适用于在组织内部完全使用 IPsec 用于少量主机和/或网关。手动管理技术通常采用静态配置的对称密钥,尽管也存在其他选项。
4.5.2. 自动化 SA 和密钥管理 (Automated SA and Key Management)
IPsec 的广泛部署和使用需要一个符合互联网标准的、可扩展的、自动化的 SA 管理协议。需要这种支持来促进使用 AH 和 ESP 的防重放功能,并适应按需创建 SA,例如,用于面向用户和会话的密钥。(请注意,"重新生成密钥" SA 的概念实际上意味着创建具有新 SPI 的新 SA,该过程通常意味着使用自动化 SA/密钥管理协议。)
默认协议:选择与 IPsec 一起使用的默认自动化密钥管理协议是 IKEv2 [Kau05]。本文档假设密钥管理协议提供某些 IKEv1 不支持的功能。可以 (MAY) 使用其他自动化 SA 管理协议。
每个 SA 的多个密钥
当使用自动化 SA/密钥管理协议时,此协议的输出用于为单个 SA 生成多个密钥。这也是因为 IKE 创建的两个 SA 中的每一个都使用不同的密钥。如果同时使用完整性和机密性,则至少需要四个密钥。此外,某些加密算法可能需要多个密钥,例如 3DES。
密钥管理系统可以为 SA 所需的每个密钥提供单独的比特串,或者可以生成从中提取所有密钥的单个比特串。