APNIC文摘— RPKI:回顧2021年

本APNIC文摘原標題為RPKI — 2021 retrospective,由Dave Phelan撰文。

2021從很多方面來說都令人失望,疫情仍未消失,國際旅遊仍充滿限制,很多人也還是必須在家工作。但2021年還是有好的地方:無論有沒有疫情,網路營運者都在繼續佈建資源公鑰基礎建設(Resource Public Key Infrastructure,RPKI)。

全球疫情讓我們學到的事之一,就是網路的靈活韌性是讓世界繼續轉動的關鍵。而這份我們仰賴的靈活韌性,部分來自於全球路由的穩定,確保訊務封包不被轉向、挾持而順利前往預定目的地。

本文回顧2021年的亞太地區的RPKI整體概況並說明觀察結果。在這之前,作者首先解釋RPKI的基本運作原理。

網路營運人員希望將自己設置的路由方向分享給全世界,同時確保這些路由方向驗證有效。這就是RPKI框架的作用。

網路維運人員可以利用加密憑證擔保他的前綴X.X.X.X來自自治系統號碼(Autonomous System Number,ASN)YYYY,任何來自其他ASN的相同前綴都應視為無效。他也可以指定最大長度(maximum length)以涵蓋多筆前綴,如指定61.45.248.0/21最大長度 /24,這就包含/21、2筆/22、4筆/23和8筆/24。這是「路由來源授權」(Route Origin Authorization,ROA),也是RPKI框架的第一步。

其他網路維運人員將根據另一方設定的路由方向採取行動;若發現有前綴被以ROA未指定的方式使用,他們就不能把這些前綴納入自己的路由表。這是第二個步驟,路由來源驗證(Route Origin Validation,ROV)。

框架的最後一塊拼圖,則是負責驗證的獨立軟體。這些驗證軟體解密路由來源的加密憑證後,產出路由器能辨讀的結果。路由器因此不需額外花費處理效能解讀加密憑證,僅需專注做好一件事:傳送封包。

了解RPKI框架的基本運作原理後,就可以開始回顧2021年的RPKI境況。

跟過去幾年比較起來,(惡意或意外的)路由事件數量和影響力都下降。APNIC自2008年開始觀測紀錄路由事件,而2021年僅觀測到4起路由挾持,全部看起來都是維運失誤,而且只有未實施ROV的少數維運方和網路交換(Internet Exchange,IX)上的路由因此受到影響。

ROA觀測資料分析

過去幾年來,全球路由表的規模急劇成長。2021年的全球IPv4路由表成長約6.3%,包含92.2萬筆路由。RPKI方面,有效路由則成長9.9%。這數字是個好消息,表示執行來源驗證的網路越來越多。

然而,無效ROA的比例也從2020年底的0.07成長至0.2%。大部分的無效原因是不符最大長度或無效的自治系統(AS)。「找不到」(Not Found),也就是ROA不存在的情形也下降了5.26%,但有效前綴比例並沒有因此上升。後者可能有很多原因,但最主要的可能是持有者沒有簽署新取得的發派資源,或是現有IPv4的空間被分散。

在亞太地區,發配空間約有0.16%的淨成長,有效ROA的比例則從40.97%成長至50.55%,與全球趨勢差不多。亞太地區的無效ROA僅上升0.11%,「找不到」ROA則下降了約10%。若進一步細看亞太地區內分布,東南亞和大洋洲地區表現最佳,來自這兩個地區的有效ROA成長幅度拉高了亞太地區的整體平均。

全球最多有效路由的前20名亞區中,有9個來自亞太地區。在這之中,哪些國家表現最傑出?在被結果嚇到之前,請記得比例不代表一切;若一個國家的網路需求僅需/23或/22的空間就能滿足,那達到100%也就相對容易。當然,這也不代表我們就可以忽視小規模網路的努力。

如下圖所示,臺灣是亞太地區有效ROA比例最高的國家。除此之外,巴基斯坦、菲律賓和馬來西亞也都有顯著成長。

ROV觀測資料分析

ROV的觀測資料相對難取得,原因有許多,上游供應業者是最主要的因素。簡而言之,終端網路是否執行ROV,端看他們使用的上游業者是否執行ROV。

回顧完2021年RPKI觀測資料,最主要的教訓有3個:

  1. 鄰接路由表(Adjacency Routing Information Base,Adj RIB)很重要

Randy Bush去年在RIPE 83分享,某些型號較舊的路由因記憶體不足,無法儲存過去執行ROV後得知的無效路徑,每次執行邊界閘道協定(Boarder Gateway Protocol,BGP)都必須重新發送路由更新請求,鄰近路由因此必須反覆回應請求而大幅浪費處理器效能。(Randy Bush、Mark Tinka、Philip Smith和Kayur Patel正在審核中的IETF草案文件中對此問題有更詳盡的解釋。)

根據Randy等人的發現,此問題有幾個解決方案。首先,路由應保留完整的ADJ-RIB-IN。若沒有ADJ-RIB-IN,則BGP排除無效路徑後,路由應保留此路徑但標註無效(ADJ-RIB-DROPPED)。最後,若路由器無法做到上述兩個方案,則不應執行RPKI。

  1. 荷蘭國家網路安全中心(NCSC-NL)揭露RPKI驗證軟體弱點

去年11月荷蘭國家網路安全中心(National Cyber Security Centre,NCSC-NL)透過多方參與的協調弱點揭露(Coordinated Vulnerability Disclosure,CVD)過程,發現並揭露多個RPKI框架和驗證軟體的弱點。這些弱點包括:有些驗證軟體碰到無效ROA資料就會程式崩潰、有些碰到資料庫含有太大位元數的IP位址就會程式崩潰、有些處理逾時值的方式很奇怪,有些則容易遭受造成記憶體超載崩潰的gzip-white-space攻擊。

目前大型廠商都已經釋出修補上述弱點的更新版本,但並非所有弱點都可透過軟體更新解決。這篇IETF草案文件建議在來源憑證上添加擴充程式,定義子物件和路徑的最大數值以建立某些限制。

  1. APNIC介面 – MyAPNIC

APNIC的會員操作介面MyAPNIC也可能是亞太地區無效ROA增加的原因之一,特別是因為MyAPNIC中關於ROA的最大長度欄位的預設格式,常容易造成使用者誤解。目前APNIC已移除此預設格式,若使用者不確定應如何填寫最大長度欄位,可以直接詢問客服,進一步避免誤會後填入錯誤資訊並導致ROA失效的可能。

 

*台灣網路資訊中心(TWNIC)與亞太網路資訊中心(APNIC)合作,定期精選APNIC Blog文章翻譯摘要,提供中心部落格讀者了解目前亞太地區網路發展之最新趨勢。原文標題為RPKI — 2021 retrospective

圖片來源:APNIC Blog

Scroll to Top