RPKI 在加强全球路由安全中的作用

互联网上的网络流量通过 BGP(边界网关协议,Border Gateway Protocol)进行路由。BGP 假设每个自治系统(AS)在宣告其控制的 IP 前缀时都是诚实的。然而,这种信任模型很脆弱。恶意宣告、配置错误或故意攻击可能会宣告它们并不控制的前缀,从而导致前缀劫持或路由泄露。

为增强安全性,开发了资源公钥基础设施(RPKI,Resource Public Key Infrastructure)。它是一种加密系统,使 IP 前缀持有者能够声明哪些 AS 有权为其前缀发起路由宣告。其他网络随后可以根据这些声明验证 BGP 更新。

RPKI 的核心构件是路由源授权(ROA,Route Origin Authorisation)。ROA 声明某个 AS 被允许宣告特定前缀,并可包含最大前缀长度。当 BGP 更新到达时,运行路由源验证(ROV,Route Origin Validation)的网络会将收到的宣告与现有 ROA 进行比对,将其分类为有效、无效或未知。

目前,RPKI 仅支持源验证——即验证 AS 路径(数据包经过的具体路由)属于另一种更复杂的机制(BGPsec),其部署远不如 RPKI 广泛。

简而言之:RPKI 提供了一种手段,用于明确宣告谁有权宣告哪些 IP 块,从而为全球路由增加了一道安全防护。

历史、标准与治理

RPKI 及其相关标准由 IETF 的 SIDR(Secure Inter-Domain Routing,安全域间路由)工作组提出。

关键参考文档包括 RFC 6480(RPKI 架构)、RFC 6482/6483(ROA 配置文件与验证)以及 RFC 6810(RPKI 到路由器协议)。

在 RPKI 架构中,各区域互联网注册管理机构(RIR)可以被视为信任锚(trust anchor)。它们向本地互联网注册机构(LIR)或其他资源持有者颁发资源证书,反映其分配的 IP 前缀和 AS 号码。这些资源证书形成了一个层级结构,为 ROA 的签发提供基础。

运营商可以选择自行运行证书机构(CA),也可以委托由 RIR 提供的托管 RPKI 服务。

在用户端,路由器从依赖方验证器(relying-party validators)获取经过验证的数据。这些验证器会通过分布式 RPKI 仓库(使用如 rsync 或 RRDP —— RPKI Repository Delta Protocol 等协议)收集 ROA 数据。

但目前没有单一组织强制推广 RPKI 的使用。RPKI 的有效性高度依赖网络效应:随着更多网络同时采用源签名和验证,每个参与者的价值都会增加。

RPKI 对路由安全的好处

防止明显的劫持和配置错误

RPKI 的一个主要优势是能够捕捉未经授权的源宣告。如果某个网络尝试宣告它无权使用的前缀,运行路由源验证(ROV)的同行网络可以将该宣告标记为无效,并选择丢弃或降低其优先级,从而降低简单前缀劫持的风险。

许多路由错误源于简单的配置错误或“手误”。RPKI 有助于减轻这些问题的影响。

控制影响范围

由于路由具有互相依赖性,一个行为异常的网络可能会导致影响远超自身的中断。通过早期拒绝无效的源宣告,RPKI 可以帮助控制损害范围。

传递信任与责任信息

ROA 的公开记录提高了透明度。其他网络运营商可以看到哪些前缀已被签署,这传递出网络运营纪律和网络卫生的信号。

支持未来增强功能(及路径验证)

尽管目前 RPKI 主要用于源验证,但它为更高级的路由安全奠定了基础,包括 BGPsec(路径验证)或 ASPA(AS 路径授权)等扩展。

从长远来看,全球 RPKI 基础设施可以提高攻击者劫持路由的成本,并提升整个域间路由的信任水平。

当前采用情况与挑战:部署统计与差距

RPKI 的部署在全球范围内仍处于逐步推进阶段,尽管越来越多的网络运营商和自治系统(AS)开始采纳源验证,但整体覆盖率仍有限。

部署现状
  • 区域差异明显:一些地区(如北美和欧洲)的 RPKI 采用率较高,而发展中地区的部署仍然较低。

  • 依赖网络效应:RPKI 的价值随着更多网络同时采用源签名和验证而增加。少数网络部署无法充分发挥其保护作用。

  • ROA 覆盖率:尽管许多 RIR(区域互联网注册管理机构)提供资源证书,实际生成 ROA 并被其他网络使用的比例仍有提升空间。

主要挑战
  1. 技术与运维门槛:设置和维护证书机构(CA)或托管服务需要一定技术能力。

  2. 缺乏统一强制机制:目前没有单一组织强制推行 RPKI,依赖自愿采纳。

  3. 路径验证尚未普及:BGPsec 等更高级的路径验证机制部署有限,仍以源验证为主。

  4. 网络间协调难度:跨网络、跨国家或跨组织的协作与信任建立需要时间和资源。

  5. 潜在错误与误报:ROA 配置错误可能导致合法路由被误判为无效,需要谨慎操作和持续监控。

总的来说,RPKI 在提升路由安全方面潜力巨大,但需要更多网络部署、技术支持和运营规范的配合,才能形成真正广泛、可靠的全球防护体系。

运营担忧:误报与连接中断

一些运营商犹豫不决的原因之一是担心误报——配置错误的 ROA 可能将合法的路由宣告错误标记为无效,从而导致意外的路由丢失。

运营商还可能担心,如果强制拒绝无效路由,可能会导致与某些目的地的连接中断。这些风险需要通过谨慎的规划、分阶段部署以及应急回退策略来加以管理。

依赖方与仓库的潜在漏洞

近期研究发现了 RPKI 验证器软件(“依赖方”)的漏洞。例如,CUREanalysis 发现了一些缺陷,攻击者可利用这些缺陷进行路由投毒或禁用验证逻辑。

另一类攻击(Stalloris)展示了攻击者如何阻止仓库数据的获取,迫使路由器回退到不安全的操作模式。

2024 年的一项系统性研究指出,全球 56% 的 RPKI 验证器至少存在一个已知漏洞。

为缓解这些问题,一种方法是拜占庭安全依赖方(Byzantine-secure relying party,BRP)设计,它旨在去中心化验证并提升系统的弹性。

政策分散与执行不一致

RPKI 的全球部署还面临政策和执行方面的挑战:

  1. 政策分散

    • 不同地区的区域互联网注册管理机构(RIR)对 ROA 创建、证书管理和验证有各自的政策和流程。

    • 运营商在理解和执行这些政策时可能出现差异,导致全球 RPKI 实施不统一。

  2. 执行不一致

    • 即使同一 ROA 被不同网络引用,不同运营商对无效路由的处理方式可能不同:有的严格拒绝,有的仅警告或降低优先级。

    • 不一致的执行降低了 RPKI 对路由安全的整体效益,也可能造成意外的路由中断或误判。

  3. 挑战影响

    • 全球网络间的信任建立和协作受到制约。

    • 网络效应受限,RPKI 的安全价值无法充分释放。

解决这些问题需要协调统一的政策指南、最佳实践推广以及跨网络的合作,以确保 RPKI 在全球范围内的有效和一致应用。

可扩展性、自动化与工具支持

一些运营商指出,便利性、复杂性以及工具缺乏是 RPKI 部署的障碍。ROA 管理的自动化、验证器缓存的同步以及与路由平台的集成仍然是挑战。

此外,一些专家认为依赖 rsync 进行仓库同步存在不安全或效率低下的问题,因此提出应优先使用 RRDP(RPKI Repository Delta Protocol)。

部分网络在验证机制广泛采用之前,会延迟发布 ROA,但这种做法又会导致 RPKI 采用速度缓慢。

运营商部署 RPKI 的最佳实践

  • 从监控模式开始
    被动部署 ROV(标记无效但不丢弃)。在强制执行前,监控是否出现意外无效路由。

    谨慎设计 ROA
    使用保守的 maxLength 设置。避免设置过宽或过严格的前缀,以免意外使合法路由失效。

    分阶段执行与回退机制
    只有在充分观察后才开始拒绝无效路由,并设置回退路径。逐步收紧执行策略。

    健全的验证器基础设施
    使用多个验证器实例,选择可靠的软件,监控漏洞,并考虑回退到具有弹性的系统,如 BRP。

    保持 ROA 和验证器数据新鲜
    频繁同步数据,关注仓库故障,并在数据过期时采取缓解措施。

    与同行和上游网络协调
    鼓励路径上的其他网络也进行验证。更多网络参与能增强 RPKI 的整体效益。

    遵循社区倡议,如 MANRS
    路由卫生指南等标准能补充 RPKI 的采用效果。

    定期审计和更新
    ROA 应定期审查。AS 所有权变化、并购或 IP 重分配时,需要更新 ROA。

  •  

“网络效应”困境与激励机制

一个主要障碍在于,RPKI 的安全效益只有在多数网络进行验证时才能体现。如果某个运营商进行了签名,但其同行网络没有采用验证,其自身保护效果有限。反之,强制执行验证可能会导致与不遵从网络的连接中断。这种矛盾延缓了 RPKI 的部署。

有人认为,监管或行业激励可能有助于推动部署。也有人从经济角度提出建议:如果网络运营商强制执行 ROV,他们提供的“安全传输”服务可能可以收取溢价;同时,内容提供商可能会要求托管服务商遵守 ROV,以确保安全。

法律问题也可能出现。一篇关于法律障碍的论文指出,如果 RIR 遵循 IETF 标准,法院很少会认定 RPKI 证书存在缺陷。

主要限制与剩余风险

  • 即使源验证完全正确,RPKI 也无法阻止所有 BGP 攻击:

    1. 路径篡改

      • RPKI 并不验证每个 AS 跳数,攻击者仍可能伪造 AS 路径。这一问题由提议中的 BGPsec(路径验证)解决,但其部署仍非常有限。

    2. 降级攻击与仓库干扰

      • 如果攻击者阻止访问 RPKI 仓库或验证器,网络可能会回退到不安全的路由操作。

    3. 验证器软件漏洞

      • 最近的审计(如 CURE)显示,软件漏洞可能导致错误验证或路由投毒。

    4. 部分或不一致的策略

      • 如果互联网部分网络未签署或未执行 ROA,无效路由仍可能通过宽松路径传播。

    5. 操作错误

      • ROA 配置错误或未及时更新可能造成附带损害。

    因此,RPKI 是对路由安全的重要改进,但并非万能。其完整价值需结合其他措施,如路由过滤、同行网络的安全规范以及未来的路径验证系统,才能充分发挥。

  •  

未来发展方向:需要采取的措施

验证器弹性与去中心化
广泛采用稳健的架构(如 BRP),以减轻对单点故障的依赖。

改进工具和自动化
提供更好的界面、与路由系统的集成、告警功能,以及 ROA 生命周期管理工具。

社区协调与激励
鼓励同行网络、IXP 和运营商签署互惠协议,甚至规定互联必须遵守 ROV。

提高意识与培训
许多 ISP 和网络团队仍对 RPKI 不熟悉,需要培训和知识普及。

配套标准部署
ASPA、BGPsec 及相关标准需成熟并获得实际应用。

如果以上措施得到落实,互联网路由体系将随着时间推移变得更加稳健,有效抵御劫持和路由泄露。

常见问题解答:RPKI 与路由安全

  • 路由被标记为“无效”是什么意思?
    如果某条 BGP 宣告根据 ROV 被判定为无效(即未被任何 ROA 覆盖,或源 AS 不匹配),路由器可能会丢弃它、降低优先级,或将其放在较低偏好级别。

  • 一个前缀可以有多个 ROA 吗?
    可以。同一前缀可能存在多个 ROA(源 AS 可能不同)。验证逻辑需要谨慎处理这些 ROA 的并集或冲突。

  • RPKI 能保证完全的路由安全吗?
    不能。RPKI 只提供源验证,而不进行完整路径验证。攻击者仍可能伪造 AS 路径或制造其他异常。

  • 如果验证器数据过期或无法访问,会怎样?
    路由器可能会将宣告视为未知(即允许通过)。但如果连接失败,这种回退机制可能被利用,形成降级攻击的潜在风险。

  • 小型网络或内容托管服务如何采用 RPKI?
    它们可以使用上游 ISP 或 RIR 提供的托管 RPKI 服务。即便不运行自己的验证器,也能发布 ROA 并表明源授权。

Leave a Comment

您的邮箱地址不会被公开。 必填项已用 * 标注

Scroll to Top