團隊文章

RPKI 在強化全球路由安全中的作用

RPKI 能協助網路拒絕未經授權的路由來源。沿著共享證據、本地決策與營運依賴,了解哪些因素決定了它的實際效果。

目錄

三名工程師模型在由藍色纜線相連的獨立工作站上,檢查彼此對應的卡片。

共享的證據,由各個網路自行檢查。它的效果取決於各網路收到的資料,以及實際採用的政策。

一個網路的路由錯誤,可能影響遠在他處的人。錯誤來源一旦傳播,原本正常運作的網站可能變得無法存取,流量也可能被送往非預期的地方。RPKI 讓接收網路在信賴宣告之前,能先檢查其中一個部分。

它的價值來自一連串行動:持有人發布可用的授權,軟體加以驗證,營運者再套用路由政策。理解這條鏈,才能看清它提供的保護,以及可能失效的環節。

究竟在檢查什麼?

網路透過 BGP 交換可達性資訊。前綴是一段 IP 位址區塊;ASN 則用來識別自治系統。路由來源授權,也就是 ROA,會指出持有人允許哪個 ASN 為指定前綴發起路由。

驗證軟體檢查簽署紀錄與憑證,接著提供經驗證的授權資料。路由器將路由的來源與前綴長度,和這些資料進行比對。如何處理結果,則由營運者決定。這樣的分工,讓紀錄發布、證據驗證與路由決策各有界線。

三種結果,各有不同含義

  • Valid:至少有一項涵蓋該前綴的授權,允許宣告中的來源與前綴長度。
  • Invalid:存在涵蓋該前綴的授權資料,但沒有任何紀錄允許這個組合。
  • NotFound:正在使用的資料中,沒有涵蓋該路由的授權。

這些規則來自 RFC 6811。尤其要注意:缺少涵蓋該前綴的 ROA,並不等於路由是 Invalid;Valid 也不代表整條宣告路徑都已通過驗證。

保護在哪裡生效

如果接收網路拒絕 Invalid 宣告,與授權不符的來源就可能在該處被攔下,不再經由這個網路繼續傳播。效果取決於授權、可用資料,以及實際部署的政策。發布更多 ROA,與讓更多網路使用來源驗證,是彼此相關、卻不相同的採用方式。

RFC 8481明確說明了營運者的角色:賦予驗證狀態,與依據該狀態採取行動,是兩件不同的事。沒有一個全球共用的開關,可以讓所有網路同時遵循相同政策。

洩漏的路由可能仍保留經授權的來源;偽造的路徑也可能保留同一個來源值。因此,來源驗證仍留下重要的路由風險未解決;營運者依然需要其他控制措施,也需要看清路由如何傳播。

證據系統同樣需要維護

如果授權指定了錯誤的 ASN,或排除了原本打算使用的前綴長度,就可能讓合法的路由宣告被判定為 Invalid。儲存庫、憑證或驗證器的問題,也可能改變路由器能取得的資料。快取與更新時間不同,意味著不同網路不一定會同時看到相同的情況。

實務上的準備,包括精確的授權、經過測試的路由變更、持續監控的驗證器,以及針對過時或缺失資料而制定的書面應對程序。第二個驗證器是否有用,取決於它能在多大程度上減少你想抵禦的故障;它不會消除所有共同依賴。RFC 7115討論營運實務;RFC 8211則檢視 RPKI 發布與認證系統中的不利行動。

保護不應變成永久依賴

這也是制度設計的問題。掌控關鍵證據的機構,可以影響既非由它營運、也不由它在政治上代表的網路。在筆記 28中,盧恒主張註冊機構的職能必須維持精確的行政管理,而不能變成脅迫手段。

他的筆記 64提出了更進一步的設計目標:共同規則應保持最小範圍,且能在本地驗證;紀錄應可攜;未來的變更,應取決於參與者的自願採用。安全與替換失職協調者的能力,必須一併設計。

這種急迫性很具體。一旦使用者失去存取能力,光是查清必要紀錄由誰掌控,就會成為緊急問題。應在網路仍正常運作時,追溯這些依賴。接著,了解紀錄的變更如何導致路由遭到拒絕。