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

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

RPKI架构被记录于RFC 6480。RPKI规范记录于一系列RFC：RFC 6481、RFC 6482、RFC 6483、RFC 6484、RFC 6485、RFC 6486、RFC 6487、RFC 6488、RFC 6489、RFC 6490、RFC 6491、RFC 6492和RFC 6493。SEND记录于RFC 6494和RFC 6495。这些RFC由IETF的SIDE工作组 （页面存档备份，存于）的制作，并是基于RFC 4593记录的一份威胁分析。这些标准涵盖了BGP源验证，而路径验证（BGPSEC）则还在进展中。前缀源验证目前已有数个实现。

资源证书和子对象
--------

RPKI使用X.509 PKI证书（RFC 5280） 附有IP地址和AS标识符扩展（RFC 3779）的。它允许区域互联网注册管理机构的成员即本地互联网注册机构（英语：）（LIR）获取一个资源证书，列出其持有的互联网码号资源。这为其持有提供了有效证据，但应注意该证书不包含身份信息。通过使用资源证书，本地机构可以为其对所持有前缀执行路由宣告一事创建密码学证明。这些证明被称为路由源授权（英语：）（ROA）。

### 路由源授权

路由源授权状态表示着自治系统（AS）是否已被授权作为特定IP前缀的源头。此外，它可以确定AS已被授权宣告的最大前缀长度。

#### 最大前缀长度

最大前缀长度是一个可选字段。当它未定义时，AS仅被授权宣告明确指定的前缀，任何更具体的前缀宣告被视为无效。这是以宣告更具体前缀来强制实施聚合并防止劫持的一种方式。

当它存在时，这指定了AS已被授权宣告具体IP前缀的长度。例如，如果IP地址前缀为10.0/16，最大长度为22，则该AS被授权宣告10.0/16下的任何前缀，只要没有超出/22的范围。因此本例中，该AS被授权宣告10.0/16、10.0.128/20或10.0.252/22，但不含10.0.255.0/24。

#### RPKI路由宣告核验

当为特定源AS和前缀创建一个ROA时，它将对一个或多个路由宣告的RPKI有效性产生影响。它们可以是：

* **有效**
	+ 路由宣告覆盖至少一个ROA
* **无效**
	+ 该前缀从未经授权的AS发布。意即：
		- 另一个AS有这个前缀的ROA，但没有ROA授权这个AS。或者，
		- 这可能是一次劫持企图
	+ 该宣告超过ROA中设置的与前缀和AS匹配的最大长度
* **未知**
	+ 此次宣告的前缀未被现有的ROA覆盖（或仅部分覆盖）

注意，无效的BGP更新也可能是由于配置不正确的ROA所造成。

管理
--

已有开源工具（页面存档备份，存于）可用于运行证书颁发机构和管理资源证书以及子对象（例如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实现。该库对于路由软件的开发人员有用，但也适用于网络运营商。开发人员可以将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.

外部链接
----

中文：
* CNNIC成功举办2017中国IP地址分配联盟高峰会议 （页面存档备份，存于），CNNIC
* 通标网站内检索：RPKI （页面存档备份，存于）

英文：
* IETF Journal - Securing BGP and SIDR
* An open source implementation of the complete set of RPKI protocols and tools （页面存档备份，存于）
* RTRlib - Open source RPKI-Router Client C Library （页面存档备份，存于）
* Quagga RPKI implementation （页面存档备份，存于）
* BGP-SrX - Quagga router implementation of RPKI-based Origin and Path validation. （页面存档备份，存于）
* RPKI-Monitor - Global and regional monitoring and analysis of RPKI deployment and use. （页面存档备份，存于）
* RPKI Deployment statistics for all RIRs（页面存档备份，存于）
* Global ROA deployment heatmap
* EuroTransit Czech Republic
* BGPMON - Validating BGP announcement with RPKI（页面存档备份，存于）
* An APNIC primer on RPKI （页面存档备份，存于）
* RIPE NCC Resource Certification (RPKI) information （页面存档备份，存于）
* LACNIC RPKI InformationArchive.is的存檔，存档日期2013-02-21
* ARIN RPKI Information
* NRO statement on RPKI （页面存档备份，存于）
* Internet Architecture Board statement on RPKI （页面存档备份，存于）
* Building a new governance hierarchy: RPKI and the future of Internet routing and addressing
* Secure Border Gateway Protocol (Secure-BGP)
* RPKI Router Implementation Report