资源公钥基础设施

资源公钥基础设施(Resource Public Key Infrastructure,简称RPKI),也称资源认证(Resource Certification),中文全称“互联网码号资源公钥基础设施”,是一项旨在使互联网路由基础设施更安全的公開金鑰基礎建設(PKI)框架。

RPKI为将互联网码号资源信息(如自治系统号码和IP地址)连接到一个信任锚提供了一种方式。它的证书结构反映了互联网码号资源的分发方式,即资源最初由IANA分配到区域互联网注册管理机构(RIR),区域机构再将其分配给本地互联网注册管理机构(LIR),最后由本地机构将资源分配给其客户。资源的合法持有人可以使用RPKI来控制互联网路由协议的运行,以防止路由劫持和其他攻击。尤其是RPKI可通过BGPSEC保护边界网关协议(BGP),以及以安全邻居发现协议(SEND)作为IPv6的邻居发现协议

RPKI架构被记录于RFC 6480。RPKI规范记录于一系列RFCRFC 6481RFC 6482RFC 6483RFC 6484RFC 6485RFC 6486RFC 6487RFC 6488RFC 6489RFC 6490RFC 6491RFC 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)的。它允许区域互联网注册管理机构的成员即本地互联网注册机构(LIR)获取一个资源证书,列出其持有的互联网码号资源。这为其持有提供了有效证据,但应注意该证书不包含身份信息。通过使用资源证书,本地机构可以为其对所持有前缀执行路由宣告一事创建密码学证明。这些证明被称为路由源授权[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通过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.

外部链接

中文:
英文:
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.