团队文章互联网怎样运作

什么是 RPKI?路由安全入门指南

RPKI 如何检查路由起源?检查结果意味着什么?为什么 Lu Heng 认为,可靠的安全机制也需要限制注册机构的权力?

目录

两位微缩人物在街区模型旁,核对授权卡片与配送车上的相同标记。
两名微型规划人员在社区模型旁比较一张许可卡片与配送车上的相匹配标记。

核实谁可以发起一条路由,就像核实承运商是否获准服务某个社区。但这并不能保证旅程中的每一段都没有问题。

一个网站可能运行完全正常,却仍然变得无法访问。在它的网络与访问者之间的某个地方,另一个网络可能发布错误的路由。流量于是会被导向无法完成交付的地方,或者导向试图拦截它的人那里。

RPKI 是 Resource Public Key Infrastructure(资源公钥基础设施)的缩写,它帮助网络核查一个重要主张:这个网络是否获准发布这些 IP 地址?理解这项核查,也会揭示一个更深的问题:谁控制着这项核查所依赖的记录?

从网络作出的主张开始

互联网是由多个网络组成的网络。BGP,即边界网关协议,让这些网络交换关于如何到达一组 IP 地址的通告。这样的一组地址称为前缀。每个独立运营的路由网络,都通过一个自治系统编号,即 ASN,来识别。

想象一家配送公司宣布:“我们可以把货送到这个社区。”其他公司需要某种方式来核实这个主张。在路由领域,错误通告可能源于输入错误,也可能是蓄意劫持。仅凭 BGP 通告,无法证明被指定为路由起源的网络获准发起这条路由。

RPKI、ROA 与验证分别做什么

RPKI 为互联网编号资源提供证书框架。地址持有者可以发布经过签名的路由起源授权,即 ROA。ROA 会指出哪个 ASN 获准发起某个特定前缀,并在有相关规定时说明该地址范围在通告中允许细分到的最小前缀长度。技术定义见RFC 9582。

发布 ROA 与检查传入路由是两项不同的工作。验证软件检查证书和签名记录,然后把经过核验的授权数据提供给路由器。路由器将路由通告与这些数据进行比较;运营商选择随后采用的路由策略。这种比较称为路由起源验证,即 ROV。RIPE NCC 的运营商指南解释了这种工作分工。

在配送的例子中,一方发布谁获准服务这个社区,其他各方检查这项许可。证书是这一系统中的证据,但它并不能证明之后的每次配送都会安全。

三种结果,而不是简单的是或否

Valid(有效):至少有一项经过核验的授权覆盖所通告的前缀,并同时允许所声明的起源 ASN 和前缀长度。Invalid(无效):存在覆盖性的授权,但没有任何一项允许这种组合。NotFound(未找到):验证数据中没有覆盖性的授权。

NotFound 不意味着已经发现攻击者。Invalid 本身也无法说明原因究竟是攻击还是配置错误。这些状态描述的是比较结果,具体定义见RFC 6811。

这项保护能告诉你什么,又不能告诉你什么

起源验证可以帮助网络拒绝未经授权的起源。它不会验证一条路径上的每个网络,不会加密访问者的连接,也不能保证网站始终可用。路由泄漏可能保留一个获授权的起源,并通过这项检查。过滤和监控仍然有工作要做;RPKI 只是路由安全的一部分。

对运营商来说,有用的准备工作应从实际通告开始:它们发起哪些前缀、通过哪些 ASN 发起,以及已发布的授权是否相匹配。让这些记录和验证器持续正常工作,与启用路由器上的某个设置同样重要。RFC 7115讨论了相关运营注意事项。

记录本身就是一种权力所在

常用的 RPKI 信任层级遵循资源分配体系,区域互联网注册机构位于其根部。因此,验证所依赖的不只是可靠的数学机制,也依赖于提供这些记录的证书授权机构和发布系统。

改变或撤回记录,可能改变验证结果。这并不自动等于互联网范围的关停:实际影响取决于是否存在其他可用授权,以及运营商采用的路由策略。RFC 8211考察了证书授权机构和仓库管理者的不当行为与错误。一个安全机制可以降低一种风险,同时制造值得审视的依赖关系。

Lu Heng 的论证:保护网络,也限制守门人

在第 28 号笔记《注册机构绝不能成为执法者》中,Lu Heng 划出了一条鲜明边界:维护地址簿,不能变成惩罚其使用者的权力。他反对的是管理员所声称的权威,而不是对准确记录的需要。一个规模很小、通过自我遴选形成的群体,仅仅因为运营协调服务,就不会因此获得统辖跨越各大洲网络的权力。

第 64 号笔记进一步提出了他的替代方案:共同规则应当覆盖唯一性和安全所需的最低限度,并提供参与者可以自行核验的证据。记录和证明应当可移植;运营商应能更换服务提供商,而不必交出自己的网络身份。未来的变更应当凭借实用性获得采用,而不是依靠永久性的行政控制。

这是一种重建协调机制的方向,并不是说替代性的 RPKI 系统已经得到普遍部署。它仍然必须保留兼容的记录和可靠的验证。真正困难的地方在于同时做到两件事:防止虚假主张,也防止某个不受问责的权威控制证据。

为什么要在中断发生之前提出这个问题

网络客户每天都依赖那些熟悉的地址。如果网络直到记录改变或消失时才发现自己存在依赖,恢复就已经成了现实的服务问题。Lu Heng 的改变主张从这里开始:在争议出现之前,就把连续性、独立验证和离开的能力写进系统。

要沿着这条论证,从批评走向设计,请阅读Lu Heng 的第 64 号笔记:最低限度的共同规则、本地决定与自愿采用。