什么是 RPKI?

RPKI 是资源公钥基础设施,用来验证互联网路由宣告是否合法。边界网关协议默认相信邻居宣告自己拥有的 IP 段,这让错误或恶意的宣告难以识别。RPKI 让 IP 地址持有者用数字签名声明授权的路由来源,供网络过滤。

第 66 期介绍过 BGP 劫持:某个网络错误或恶意地宣告不属于自己的 IP 段,把流量引到自己这里。这类事件能发生,是因为第 30 期介绍的边界网关协议(BGP)默认信任邻居的宣告——网络收到一条路由宣告,没有机制确认宣告者是否真的拥有这些 IP 地址。

RPKI(Resource Public Key Infrastructure,资源公钥基础设施)就是为此设计的验证体系。IP 地址和自治系统号的持有者,用数字签名签发一份路由来源授权(ROA),声明哪个自治系统可以宣告哪个 IP 前缀。路由器收到 BGP 宣告后,对照这些授权做路由来源验证(ROV),丢弃没有对应授权的宣告。

RPKI 与第 71 期的 DNSSEC 思路相近,都用数字签名补上信任缺失,但作用对象不同:DNSSEC 保护域名解析数据的真实性,RPKI 保护路由宣告的合法性,分别解决域名系统和路由系统里的信任问题。

RPKI 的部署由各网络运营者逐步推进,覆盖率仍在增长,尚未完全普及。一个网络是否验证路由来源,取决于它是否部署了 RPKI 验证。