摘要

  • RFC 3129 要求以 Kerberos 票据中的会话密钥为 IPsec 安全关联的密钥基础,用中心化的长期信任关系减少对等体之间的成对秘密。
  • 文档明确说 KINK 不是 IKE 的替代品:它以在线受信第三方为代价,换取集中认证、策略治理和计算摊销。
  • 复杂性没有消失,而是从每个边缘节点移向 KDC 的可用性、领域设计、时钟、命名和本地授权。

RFC 3129 中最能解释其时代的问题,不是某个密码公式,而是一笔运维账。若每两个 IPsec 对等体都保有一把不同的预共享密钥,文档把分发规模概括为 O(n²)。若每个主体只与 Kerberos 密钥分发中心维持长期秘密,关系数量在这幅简化图景中更接近 O(n)。这不是完整的成本模型,却指出了一个常被忽略的事实:密码仍然安全,不等于安全系统仍然可管理。

当时的 IPsec 已把保护数据和协商信任分开。RFC 2401 描述安全关联,以及 AH、ESP 如何保护 IP 数据;RFC 2409 的 IKE 让两个对等体相互认证、协商参数并导出密钥。IKE 的重要能力,是双方无须在交换发生时依赖一个在线的中心方。

这种自主性也把负担留在了边缘。要扩展公开密钥认证,每个节点要处理 X.509 证书、信任路径和签名验证。Diffie–Hellman 能建立共享秘密,却需要计算,也会让响应方承受拒绝服务压力。改用预共享密钥,则要面对成对分发。站点策略还会散落到许多设备上,而组织并不能同等信任每台设备都准确执行这些策略。

Kerberos 提供了不同的信任地理。依照当时的 RFC 1510,客户端向 KDC 证明身份,取得某项服务的票据;票据携带会话密钥,客户端和服务端能够各自获得同一秘密。KINK——Kerberized Internet Negotiation of Keys——要把这把会话密钥用作 IPsec 安全关联的密钥材料基础。

这里发生的并不只是把一种握手换成另一种。长期秘密不必铺满全部节点之间的网格,而可以集中为主体与 KDC 的关系。若初始认证通过 PKINIT 使用公开密钥,昂贵操作可以在取得初始凭据时发生一次,再由多张服务票据分摊。组织也可以在自己管理的领域权威中集中一部分策略,而不是把同一意图交给每个远端自行解释。

RFC 3129 对代价毫不遮掩。它明确指出,KINK 不是 IKE 的替代品。IKE 有一项 KINK 无法复制的性质:两个对等体无需主动参与的第三方,也能相互认证并交换密钥。只有在受信第三方现实存在、而且它的介入确实可取时,KINK 的权衡才成立。

因此,中心化不是“更简单”的同义词,而是在选择故障边界。KDC 能减少成对配置,避免每台服务端反复完成某些公开密钥运算,却也成为票据、主体名称、领域关系、时钟和新建连接共同依赖的权威。

文档的需求清单试图限制这种依赖。无论一个 IPsec 节点只是持有 TGT 的 Kerberos 客户端,还是拥有 keytab 的服务端,它都必须能够发起协商。若响应方无法解开普通服务票据,协议要支持 Kerberos 用户到用户模式。节点还要能进入多个领域,并稳妥处理绝对时间偏差。

最关键的一条是:只要 Kerberos 会话票据仍有效,重新生成密钥就不应再次求助 KDC。中心不应坐在数据路径上,也不应为每个数据包或每次 rekey 盖章。它先建立有期限的共同秘密;在票据寿命内,对等体继续完成后续工作。

这些后续工作并不少。KINK 要创建、修改、更新和删除安全关联,要协商算法套件和流量选择器,覆盖传输模式与隧道模式、AH 与 ESP、IPv4 与 IPv6。KDC 认证的身份也不能自动决定某个主体有权代表哪些前缀。本地 IPsec 策略仍要回答授权问题。

这一区分很容易在实践中丢失。有效票据可以证明“它是谁”,并提供共享密钥;它并不天然回答“它能为哪个网络建立隧道”。如果本地策略把真实身份映射到过宽的流量选择器,中心认证只会让错误显得更加可信。

RFC 3129 本身也不是完成后的 KINK 协议。它是 Informational 类别的需求文档。直到 2006 年,RFC 4430 才以 Proposed Standard 身份规定 KINK,并把 RFC 3129 当作需求基础。先有问题和边界,后有互操作规范;这两次发表都不能证明 KINK 已广泛部署,更不能证明它取代了 IKE。

周边标准继续演进。RFC 4120 取代 RFC 1510,更新 Kerberos V5;RFC 3961 把 Kerberos 的加密与校验配置组织成框架;RFC 4556 标准化 PKINIT;RFC 6113 扩展预认证框架。IKE 则经 RFC 4306 发展为 IKEv2,后来由 RFC 7296 继续整理。互联网没有选出唯一的信任模型,因为不同环境愿意接受的故障方式不同。

所以,O(n) 与 O(n²) 不能被读成一张总成本报价。KDC 在简化模型中减少长期成对秘密,却不会消除跨领域信任、主密钥保护、keytab 轮换、灾难恢复、时钟同步、审计、容量规划和本地访问规则。它把大量分散的小关系,换成数量更少但后果更重的制度节点。

一次中断可以说明这种差别。KDC 暂时不可达,不等于全部 IPsec 立即停止。已安装的安全关联可以继续工作;在有效票据期内,对等体还能按需求自行 rekey。但新主体、过期票据和从未建立过的服务关系可能无法继续。真正的中断窗口由票据寿命、SA 寿命、缓存和再次请求中心的时点共同决定。

妥协事件也会被重塑。集中日志可以清楚记录哪个主体在何时取得了哪张票据,有助于追责;但一个失陷或错误配置的 KDC 也可能成批发出看似可信的身份。可观察性和爆炸半径会同时上升。

RFC 3129 的安全考虑给出了最冷静的判断:新系统会继承 IPsec 与 Kerberos 弱点的并集。把两个成熟机制拼在一起,并不会让任何一方的缺陷互相抵消;接口处还可能出现新的缺陷。

这正是它的历史价值。协议设计在这里承认,运维关系本身就是密码架构的一部分。问题不只是两端能否算出同一把钥匙,还包括谁必须认识谁、谁能够制定策略、昂贵计算在何处重复,以及什么样的机构能让一张大网长期可治理。

KDC 没有消灭信任。它让信任可以复用、记录和集中管理,也让领域治理、可用性和失陷影响被许多节点共同承担。RFC 3129 的贡献,是在宣称协议完成之前,先把这份交换写进需求。

来源