Author xxxxx@163.com

Date Sep. 01, 2023

Description RPKI ROV工作原理以及分析

背景描述

互联网协议从设计之初,就没一个是先去考虑安全机制再去做设计的,即便有,后来也因为不好用,直接分家了。这没办法,因为出现新的协议是可以解决新的问题,但是如果带上安全开销之后,可能还不如使用老协议去做,那新协议自然就失去了价值。所以安全只能是对老协议的缝缝补补。

在介绍ROV之前需要先知道RPKI以及ROA。RPKI(Resource Public Key Infrastructure),提供了资源认证resource certification,例如ROA(Route Origin Authorization)。ROA是RPKI针对安全路由搞得一个signed object,这个signed object是如何过滤路由的呢?这就是ROV(route origin validation)要做的事情。

涉及到RPKI主要就是在指针对BGP路由安全,也就是AS之间的安全。AS之间必须互相有个基本的信任之后,两个BGP speaker才能建立连接,交换路由信息。

image.png

但是这个基本的信任实在是太弱了,既没有权威的授权,也没有加密认证、身份认证,也就类似于人与人之间的基本信任,这当然不会强了。信任危机是存在的,这导致有关BGP的安全问题持续存在,这些问题例如prefix hijacking,prefix leaking以及address spoofing。

所以这就需要一种认证授权机制,RPKI就是用于干这个的。

image.png

实际上的互联网数字资源分配是从IANA开始的,它分配给RIR,由RIR代为向NIR/LIR分配,这就构成了分配的层次关系。RPKI也是对应于这个分配的,由上层向下层签发证书,构成层次信任链具有继续签发资格的形成的是CA,没有继续签发资格的构成的是EE。

当RIR/NIR/LIR向ISP分配互联网数字资源的时候,他们会利用自己的私钥签发一个证书绑定ISP的公钥信息。这个证书就用于证明ISP是这些数字资源的合法拥有者。请记住,这个不是ROA,这个属于CA证书,ROA是EE证书。

image.png

ROA提供的只是:绑定IP和ASN,而没有有关ISP的信息,RPKI也没有提供这个信息,所以想要让IP、ASN和ISP关联起来,目前是没有的。SIDRops的人感觉也不太想搞的样子。ASPA也是绑定的CustomerAS到ProviderAS的授权关系。

ROV

image.png

Validator运行ROV(route origin validation),使用ROA来验证路由,ROA的同步使用rsync或者RRDP协议。验证后的路由存在三种状态:

  • valid.
  • invalid.
  • unknown.

然后通过RPKI-to-Router协议发送给bgp路由器,用于过滤路由。在这里实际上ROA的valid状态和invalid状态都是能建立过滤规则的,但是unknown则不行。不过具体过滤与否不知道。

如果部署了RPKI就一定能解决问题吗?也是不一定的。

根据2017年Gilad等人的测量《Are We There Yet? On RPKI’s Deployment and Security》,100个top AS中只有3个部署了ROV,额外的调查结果显示84.09%没有部署ROV,10.23%的给invalid宣告分配了较低的preference,仅有5.68%的丢弃了invalid ROA。【我是从2021年tma的《Revisiting RPKI Route Origin Validation on the Data Plane》看的,没看原文】。

MANRS的blog,写作的人在NTT使用BGPalter做了一年的观测实验,具体的可看他们的两份在RIPE做的报告ripe82_rpkiripe84_rpki_2。他们分析了造成invalid的原因,不过这只是在NTT的表现,全网分布不知。哎,有AS以及BGP路由器就是可以为所欲为。

image.png

从部署率上来说,其实同类的IRR也没有好到哪里去。对于IPv4地址,IRR能够达到大约60%,而RPKI则大约只有30%,反正都差很远就是了。但RPKI的好处就是部署率真的是逐年在上升中,这点确实值得期待。

image.png

NIST是对RPKI有监测的,但是网站打不开了。

参考

  1. What is route origin validation?