資源公鑰基礎設施

網際網路路由安全框架

資源公鑰基礎設施(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.

外部連結

中文:
英文: