亚马逊云科技通过 RPKI 和安全检查来保护互联网路由

作者: Camden Forgia, Jon Phillibert |

在我们之前关于揭开亚马逊云科技数据传输服务的神秘面纱的文章中,我们简要解释了亚马逊云科技是如何从其基础上设计的,使其成为我们的用户在云端运行工作负载的最安全方式。在这篇文章中,我们在此基础上再接再厉,重点介绍亚马逊云科技如何实施最大规模的资源公钥基础设施 (RPKI)。RPKI 是一个专业的公钥基础设施框架,用于支持提高互联网 BGP 路由基础设施的安全性。亚马逊云科技倡导将 RPKI 作为我们的对等和上游网络的标准做法,目标是提高整体互联网安全。历史上,曾发生过涉及 RPKI 的运营事件,这些事件影响了大型网络的互联网连接。在亚马逊云科技,我们实施了独特的 RPKI,其中包括确保准确性的安全检查,最终目标是保护用户的工作负载免受此类具有广泛影响的事件的影响。在这篇文章中,我们解释了此类事件是如何发生的,以及亚马逊云科技为确保用户不受影响所做的工作。但是,要实现这一目标,我们从一些基础知识开始。

互联网路由和 BGP 概述

互联网是由独立运营的网络组成的分散式网状网络。这些网络有成千上万个,它们都使用 BGP 协议相互连接。BGP 是一种标准化协议,它允许自治网络(简称为"自治系统"或"AS")确定数据通过互联网传输的优秀路径。BGP 对于互联网的运行至关重要,它使网络能够通信、发送和接收信息。如果没有 BGP,用户甚至无法执行最基本的功能,例如浏览网页或发送电子邮件。您可以在亚马逊云科技云计算概念中心了解有关 BGP 以及亚马逊云科技如何实施 BGP 的更多信息。

我们将用一个例子来说明 BGP 的工作原理。假设网络管理员爱丽丝已从其区域互联网注册管理机构 (RIR) 获得了一个 IP 地址块;她使用路由器通知邻居网络,她是这个 IP 区块的注册用户。然后,邻居网络的网络管理员鲍勃"闲聊"了爱丽丝与邻居网络共享的 IP 地址封锁。然后,鲍勃邻近网络的网络经理 Dan 闲聊爱丽丝封锁邻近网络的 IP 地址等等。这就是 BGP 使信息能够从邻居网络跳跃到邻居网络在世界各地传播的方式。

爱丽丝的路由器会告诉鲍勃的路由器她的地址。爱丽丝的路由器向鲍勃的路由器发送一条消息说:

图 1:Alice 的路由器告诉 Bob 的路由器她的地址。

鲍勃的路由器关于爱丽丝地址的

图 2:鲍勃的路由器关于爱丽丝地址的"八卦"。

这些信息继续在世界各地传播。克莱尔的路由器向其所有邻居发送消息说:

图 3:信息继续在世界各地传播。

问题所在

BGP 不仅对互联网的发展具有革命性,而且对内部网络中许多有影响力的应用也具有革命性。但是,最初的 BGP 规范让各个网络的运营商负责制定自己的策略来确定 IP 区块的合法用户。例如,扩展前面关于 Alice 的 IP 地址区块的示例:当某人(我们称他为 Dan)声称拥有与 Alice 相同的 IP 地址块时,即使他不是注册用户,也会发生什么?Dan 可能不小心或故意宣传了 IP 封锁。但是,直到最近,构成互联网的许多邻近网络还没有确定 IP 封锁合法用户的好方法,导致许多邻居网络接受广告并将流量路由回 Dan。Dan 发布错误的 IP 区块广告的影响是,爱丽丝可能会停止接收部分或全部预定发送给其 IP 封锁的流量。在 2010 年代,这些类型的非法广告已成为一个严重的问题,互联网工程任务组(IETF)决定制定策略来解决这个问题。最终,他们开发了 RPKI。

在 RPKI 之前,Dan 犯了一个错字。Dan 的路由器向 Bob 的路由器发送一条消息说:

图 4:在 RPKI 之前,Dan 犯了一个错字。

什么是 RPKI?

RPKI 是 AS 仅合法宣布其网络以接收其 IP 地址流量的一种方式。要深入了解 RPKI 在实践中的工作原理,请参阅我们之前关于亚马逊云科技如何帮助保护互联网路由的文章。简而言之,以爱丽丝的网络为例,爱丽丝可以"签署"一份名为资源来源授权 (ROA) 的文档,然后发布该文档,让所有其他网络都能看到该文档是从分配 IP 区块的同一组织运营的少数几个证书颁发机构 (CA) 中链接出来的,即 RIR。世界各地的其他网络可以参考该文件来决定是否相信 Dan 或其他网络在宣传相同的 IP 区块。这已经极大地改善了互联网流量路由的完整性。随着越来越多的网络采用 RPKI,诸如丹宣传与爱丽丝相同的 IP 区块的事故的影响正迅速变得越来越小。

在 RPKI 之后,Dan 犯了一个错字。Alice 创建了一个文档并将其放入公共 RPKI 文档存储库中。该文件说:

图 5:在 RPKI 之后,Dan 犯了一个错字。Alice 创建了一个文档并将其放入公共 RPKI 文档存储库中。

RPKI 大大减少了任何单一网络可能对集体互联网造成的危害,但是在某些情况下,意外或故意滥用 RPKI 会导致流量路由错误。如果未经授权的演员(我们称他们为莫莉)获得了 Alice 的 RIR 证书,那么莫莉可以制作一份授权其网络的文件,但要用爱丽丝的签名在文件上签名。现在,爱丽丝自己对地址块的合法要求被拒绝,这些地址不再接收流量!

莫莉获得爱丽丝的 RIR 证书。Molly 使用 Alice 的证书创建了一个文档并将其放入公共 RPKI 文档存储库中。该文件说:

图 6:莫莉获得了 Alice 的 RIR 证书。

操作员的例行错误可能导致类似的结果。例如,如果 Alice 在创建文档时犯了错字,她可能会授权错误的网络接收到她的 IP 区块的流量。爱丽丝还可以为她拥有但与她的广告不完全匹配的 IP 区块创建授权。尽管参与 RPKI 的网络消费了文件并按预期采取了行动,但所有上述错误都会导致合法索赔被拒绝。

运营着全球互联程度最高的网络之一的亚马逊云科技看到了 RPKI 的巨大好处,但也认为需要采取"信任但要验证"的方法。过去发生此类事件时,亚马逊云科技用户仍然可以与受影响的网络交换流量,因为亚马逊云科技一直遵循受影响网络的真实意图。那么我们是怎么做到的呢?

亚马逊云科技在实施 RPKI 时的谨慎方法

亚马逊云科技采用谨慎的方法来实施 RPKI。就像在任何其他 RPKI 实现中一样,我们首先从公共 RPKI 文档存储库下载来自所有网络的所有文档。然后,我们检查所有签名,以确定谁有权接收发往所有记录在案的 IP 区块的流量。完成后,我们会将这些授权发送给网络中决定接受或拒绝其他网络广告的设备。但这还不是故事的全部。正如我们之前描述的那样,RPKI 是一个强大的工具,可以对互联网连接造成重大影响。我们在构建 RPKI 部署管道时预料到了之前的意想不到的后果,并在实施中增加了安全检查。

AWS 的网络经历了四步流程。首先,它从公共RPKI文档存储库中获取所有文档。第二,它检查文件的签名。第三,它进行安全检查。第四,它将文件发送到AWS的路由器。

图 7:亚马逊云科技网络经历了四步流程。首先,它从公共 RPKI 文档存储库中获取所有文档。第二,它检查文件的签名。第三,它进行安全检查。第四,它将文件发送到亚马逊云科技路由器。

以下是我们在 RPKI 实施中纳入的一些最具影响力的安全检查清单:

  1. 我们预测发布新文档何时会产生意想不到的影响,例如网络后面的很大一部分 IP 区块无法接通。
  2. 我们会一波又一波地向路由器发送更改。我们在观察各种健康指标的同时在波浪之间停顿一下,如果发现任何问题,就会回退。
  3. 我们保护我们自己授权的创建和发布,以确保来自更广泛的互联网的用户能够保持连接。我们在这条管道周围有各种各样的护栏。在签发文件之前,我们会仔细检查该文件是否与我们在互联网上提出的任何有效索赔相冲突。我们会定期检查 RPKI 消费类软件是否完全反映了我们的预期授权。我们会通过检查授权的到期时间来验证刷新授权的工作流程是否正常运行。这些只是几个例子。我们在这一领域进行了大量投资,并将继续这样做。
  4. 我们还在系统中内置了冗余功能,以解决其他网络可能如何使用我们的文档。宣布大量重叠的 IP 地址块并为每个 IP 地址生成文档会产生多层冗余,这些冗余需要在发生任何影响之前失效。

保护用户面向互联网的工作负载

自我们在 2019 年首次采用 RPKI 以来,它一直是亚马逊云科技保护用户面向互联网的工作负载的努力的基石。此外,我们只会看到它随着使用量的增加而变得越来越重要。2024 年,RPKI ROA(文档)首次覆盖了超过 50% 的互联网,这对所有互联网参与者来说都是一个激动人心的里程碑。根据美国国家标准与技术研究所(NIST)的数据,截至 2025 年 5 月,该指标现已超过 55.8%,高于 2024 年 5 月的 50.1%。随着越来越多的互联网流量受到 RPKI 的保护,我们期待这种趋势将持续到 2025 年及以后。

展望未来

展望未来,我们也对能够加强 RPKI 实施的方式感到兴奋,例如通过自治系统提供商授权(ASPA)的标准化和实施。ASPA 将提供一定程度的路径保护,不仅限制允许哪些网络对 IP 封锁提出索赔,还限制允许哪些网络流言蜜语。这将有助于防止流量通过可能不可靠或不可信的网络。

尽管 ASPA 仍处于标准化阶段,但我们致力于使用它和所有可用的工具,继续使互联网成为每个人安全可靠的地方。亚马逊云科技实施 RPKI 只是许多其他内部和外部功能和服务中的一个例子,这表明我们如何代表用户优先考虑安全性。

结论

在这篇文章中,我们解释了 BGP 协议和 RPKI 的基础知识。我们对实施 RPKI 表示了独特的认可,以及代表我们的用户这样做的好处。如果你对这篇文章有疑问,请在亚马逊云科技 re:POST 上发一个新话题,或者联系 Amazon Support。


参考文献:

  1. 以边界网关协议 (BGP) 前缀验证 (NIST) 的数量衡量

作者简介

乔纳森·菲利伯特

Jonathan Phillibert

Jon 是亚马逊云科技的首席网络开发工程师。

Camden Forgia

Camden Forgia

Camden 是亚马逊云科技网络服务首席产品经理。


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。