什麼是 RPKI?路由安全入門指南
RPKI 如何檢查路由來源、各種結果代表什麼,以及盧恒為何認為可靠的安全機制也需要限制註冊機構的權力。

網站即使運作完全正常,也可能變得無法連線。在網站所屬網路與訪客之間,某個網路可能宣告了錯誤的路由。流量於是流向無法將它送達的地方,或流向試圖攔截它的人。
RPKI 是資源公鑰基礎設施(Resource Public Key Infrastructure)的縮寫,協助網路核對一項重要主張:這個網路是否獲准宣告這些 IP 位址?理解這項檢查,也會揭示更深一層的問題:誰控制著檢查所依賴的紀錄?
先看網路提出了什麼主張
網際網路是由多個網路組成的網路。邊界閘道協定(BGP)讓它們交換如何到達各組 IP 位址的宣告。這樣一組位址稱為前綴。每個獨立營運的路由網路,都以一個自治系統號碼(ASN)識別。
想像一家配送公司宣告:「我們能送貨到這個社區。」其他公司需要有辦法核實這項主張。在路由中,錯誤宣告可能來自打字錯誤,也可能是蓄意劫持。單靠 BGP 宣告,無法證明被列為路由來源的網路確實有權發起該路由。
RPKI、ROA 與驗證各自做什麼
RPKI 為網路號碼資源提供憑證架構。位址持有人可以發布經簽署的路由來源授權(Route Origin Authorisation,ROA)。它會指明哪個 ASN 有權發起某個前綴,並在有指定時,限制宣告可將這段位址範圍細分到什麼程度。技術定義見 RFC 9582。
發布 ROA 與檢查收到的路由,是兩項不同的工作。驗證軟體檢查憑證與簽署紀錄,再把已核實的授權資料提供給路由器。路由器將路由宣告與這些資料比對;營運者則選擇依結果採用的路由政策。這項比對稱為路由來源驗證(Route Origin Validation,ROV)。RIPE NCC 的營運者指南說明了這種分工。
在配送的例子中,一方公布誰可以服務該社區,其他各方核對這項許可。憑證是這個系統內的證據,卻不是後續每次運送都安全的證明。
三種結果,不是簡單的是或否
Valid(有效):至少有一項經驗證的授權涵蓋所宣告的前綴,並且同時允許所列的來源 ASN 與前綴長度。Invalid(無效):有涵蓋該前綴的授權,但沒有任何一項允許這個組合。NotFound(未找到):驗證資料中沒有涵蓋該前綴的授權。
NotFound 不代表已偵測到攻擊者。Invalid 本身也無法說明原因究竟是攻擊還是設定錯誤。如 RFC 6811所定義,這些狀態描述的是比對結果。
這項保護能告訴你什麼,又不能告訴你什麼
來源驗證可以協助網路拒絕未獲授權的來源。它不會驗證路由沿途的每個網路、不會加密訪客的連線,也不保證網站持續可用。路由洩漏可能保有獲授權的來源,因而通過這項檢查。過濾與監控仍有工作要做;RPKI 只是路由安全的一部分。
對營運者而言,有用的準備始於實際宣告:自己發起哪些前綴、透過哪些 ASN,以及已發布的授權是否相符。維持這些紀錄與驗證器正常運作,和啟用路由器上的設定一樣重要。RFC 7115討論了相關營運考量。
紀錄本身也是權力所在
常用的 RPKI 信任階層依循資源分配關係,以區域網際網路註冊機構為根。因此,驗證所依賴的不只是可靠的數學,也包括提供紀錄的憑證機構與發布系統。
變更或撤回紀錄,可以改變驗證結果。這不會自動造成整個網際網路停擺:實際影響取決於其他可用授權,以及營運者的路由政策。RFC 8211探討憑證機構與儲存庫管理者的不利行動及錯誤。安全機制可以降低一種風險,同時建立值得仔細檢視的依賴關係。
盧恒的主張:保護網路,也限制守門人
在第 28 篇札記〈為什麼註冊機構絕不能成為執法者〉中,盧恒劃出清楚界線:維護位址簿不能演變為懲罰使用者的權力。他反對的是管理者所宣稱的權限,不是準確紀錄的必要性。一個由自行挑選成員組成的小群體,不會僅因營運協調服務,就取得支配跨洲網路的授權。
第 64 篇札記進一步說明他提出的替代方向:共通規則應只涵蓋唯一性與安全所需的最低範圍,並提供參與者能自行驗證的證據。紀錄與證明應可攜帶;營運者應能更換服務供應商,而不必放棄自己的網路身分。未來的變更應憑實用性贏得採納,而不是靠永久的行政控制。
這是重建協調的方向,不是宣稱某個替代 RPKI 系統已普遍部署。它仍須維持相容的紀錄與可靠的驗證。真正困難的是同時做到兩種保護:防範虛假主張,也防範對證據握有權力卻無須問責的機構。
為什麼要在中斷前思考這個問題
網路的客戶每天都依賴熟悉的位址。如果網路直到紀錄變更或消失時才發現某種依賴,恢復工作就已成為正在提供的服務所面臨的問題。盧恒主張改變的起點就在這裡:在爭議中需要它們之前,就把延續性、獨立驗證與退出能力納入系統。
若要沿著這個論點,從批判走向設計,請讀盧恒關於最低限度共通規則、在地決策與自願採納的第 64 篇札記。