資源公鑰基礎設施

網際網路路由安全框架

資源公鑰基礎設施(Resource Public Key Infrastructure,簡稱RPKI),也稱資源認證(Resource Certification),中文全稱「網際網路碼號資源公鑰基礎設施」,是一項旨在使網際網路路由基礎設施更安全的公開金鑰基礎建設(PKI)框架。

RPKI為將網際網路碼號資源資訊(如自治系統號碼和IP位址)連接到一個信任錨英語Trust anchor提供了一種方式。它的憑證結構反映了網際網路碼號資源的分發方式,即資源最初由IANA分配到區域網際網路註冊管理機構(RIR),區域機構再將其分配給本地網際網路註冊管理機構英語Local Internet registry(LIR),最後由本地機構將資源分配給其客戶。資源的合法持有人可以使用RPKI來控制網際網路路由協定的執行,以防止路由劫持英語Route hijacking和其他攻擊。尤其是RPKI可通過BGPSEC保護邊界閘道器協定(BGP),以及以安全鄰居發現協定(SEND)作為IPv6的鄰居發現協定

RPKI架構被記錄於RFC 6480。RPKI規範記錄於一系列RFCRFC 6481RFC 6482RFC 6483RFC 6484RFC 6485RFC 6486RFC 6487RFC 6488RFC 6489RFC 6490RFC 6491、RFC 6492和RFC 6493。SEND記錄於RFC 6494和RFC 6495。這些RFC由IETFSIDE工作群組頁面存檔備份,存於網際網路檔案館)的製作,並是基於RFC 4593記錄的一份威脅分析。這些標準涵蓋了BGP源驗證,而路徑驗證(BGPSEC)[1]則還在進展中。字首源驗證目前已有數個實現。[2]

資源憑證和子對象

RPKI使用X.509 PKI憑證(RFC 5280) 附有IP位址和AS識別碼擴充(RFC 3779)的。它允許區域網際網路註冊管理機構的成員即本地網際網路序號產生器構英語Local Internet registry(LIR)取得一個資源憑證,列出其持有的網際網路碼號資源。這為其持有提供了有效證據,但應注意該憑證不包含身分資訊。通過使用資源憑證,本地機構可以為其對所持有字首執行路由宣告一事建立密碼學證明。這些證明被稱為路由源授權英語Route Origination Authorization[3](ROA)。

路由源授權

路由源授權狀態表示著自治系統(AS)是否已被授權作為特定IP字首的源頭。此外,它可以確定AS已被授權宣告的最大字首長度。

最大字首長度

最大字首長度是一個可選欄位。當它未定義時,AS僅被授權宣告明確指定的字首,任何更具體的字首宣告被視為無效。這是以宣告更具體字首來強制實施聚合併防止劫持的一種方式。

當它存在時,這指定了AS已被授權宣告具體IP字首的長度。例如,如果IP位址字首為10.0/16,最大長度為22,則該AS被授權宣告10.0/16下的任何字首,只要沒有超出/22的範圍。因此本例中,該AS被授權宣告10.0/1610.0.128/2010.0.252/22,但不含10.0.255.0/24

RPKI路由宣告核驗

當為特定源AS和字首建立一個ROA時,它將對一個或多個路由宣告的RPKI有效性產生影響[4]。它們可以是:

  • 有效
    • 路由宣告覆蓋至少一個ROA
  • 無效
    • 該字首從未經授權的AS發布。意即:
      • 另一個AS有這個字首的ROA,但沒有ROA授權這個AS。或者,
      • 這可能是一次劫持企圖
    • 該宣告超過ROA中設定的與字首和AS匹配的最大長度
  • 未知
    • 此次宣告的字首未被現有的ROA覆蓋(或僅部分覆蓋)

注意,無效的BGP更新也可能是由於組態不正確的ROA所造成。[5]

管理

已有開源工具頁面存檔備份,存於網際網路檔案館)可用於執行憑證頒發機構和管理資源憑證以及子對象(例如ROA)。此外,區域機構在其成員門戶有代管的RPKI平台。本地機構可以選擇依賴於一個代管的系統,或執行自己的軟體。

發布

該系統不使用單個儲存庫發布點來發布RPKI對象,而是由由多個儲存庫發布點組成。每個儲存庫發布點與一個或多個RPKI憑證發布點相關聯。在實踐中,這意味著執行一個憑證頒發機構時,本地機構可以選擇自己發布所有加密資料,也可以依賴第三方發布。當本地機構選擇使用由區域機構提供的代管系統時,原則上發布將在區域機構的儲存庫中完成。

驗證

相關各方執行本地的RPKI驗證工具,它們指向不同的RPKI信任錨,並使用rsync收集用於發布各儲存庫的所有加密對象。這將建立一個本地驗證的快取,用於進行BGP路由決策。

路由決策

在ROA驗證後,該證明可以與BGP路由一同協助網路業者的決策過程。這可以手動完成,但已驗證字首的原始資料也可以使用RPKI to Router Protocol (RFC 6810)頁面存檔備份,存於網際網路檔案館)傳送到支援的路由器。思科系統眾多平台頁面存檔備份,存於網際網路檔案館)提供了取得RPKI資料集的原生支援,並在路由器組態頁面存檔備份,存於網際網路檔案館)中使用。瞻博網路在執行12.2或更新版本的所有平台頁面存檔備份,存於網際網路檔案館)上提供支援。Quagga英語Quagga (software)通過BGP Secure Routing Extensions (BGP-SRx)頁面存檔備份,存於網際網路檔案館)或基於RTRlib的一個RFC完全相容RPKI實現頁面存檔備份,存於網際網路檔案館)獲得此功能。RTRlib頁面存檔備份,存於網際網路檔案館)提供了一個RTR協定和字首源驗證的開源C實現。該庫對於路由軟體的開發人員有用,但也適用於網路業者。[6]開發人員可以將RTRlib整合到BGP守護程式中,以實現將其擴充到RPKI。網路業者也可以使用RTRlib開發監控工具(例如,檢查快取的正常執行或評估其效能)。

RFC 6494更新了鄰居發現協定(ND)的安全機制(即安全鄰居發現協定,SEND)的憑證驗證方法,以便在IPv6中使用RPKI。它使用修改的RFC 6487 RPKI憑證組態定義了SEND憑證組態,其中包含一個RFC 3779 IP位址委派擴充。

參考資料

  1. ^ Security Requirements for BGP Path Validation頁面存檔備份,存於網際網路檔案館), S. Bellovin, R. Bush, D. Ward, October 19, 2011
  2. ^ Resource Public Key Infrastructure (RPKI) Router Implementation Report (RFC 7128), R. Bush, R. Austein, K. Patel, H. Gredler, M. Waehlisch, February, 2014
  3. ^ A Profile for Route Origin Authorizations (ROAs)頁面存檔備份,存於網際網路檔案館), M. Lepinski, S. Kent, D. Kong, May 9, 2011
  4. ^ Validation of Route Origination using the Resource Certificate PKI and ROAs, G. Huston, G. Michaelson, November 11, 2010
  5. ^ M. Wählisch, O. Maennel, T.C. Schmidt: "Towards Detecting BGP Route Hijacking using the RPKI", Proc. of ACM SIGCOMM, pp. 103–104, New York:ACM, August 2012.
  6. ^ M. Wählisch, F. Holler, T.C. Schmidt, J.H. Schiller: "RTRlib: An Open-Source Library in C for RPKI-based Prefix Origin Validation, Proc. of USENIX Security Workshop CSET'13, Berkeley, CA, USA:USENIX Assoc., 2013.

外部連結

中文:
英文: