首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >什么是RPKI(资源公钥基础设施)

什么是RPKI(资源公钥基础设施)

原创
作者头像
草竹道人
修改2025-10-12 07:05:54
修改2025-10-12 07:05:54
130
举报

RPKI,全称是资源公钥基础设施(Resource Public Key Infrastructure),是一种用于增强互联网路由安全性的技术框架,主要目的是防止BGP(边界网关协议)劫持和路由泄露等攻击。

核心目标

互联网的路由系统(特别是BGP)在设计之初缺乏足够的安全验证机制。这导致恶意或错误的路由宣告(例如,声称自己拥有不属于自己的IP地址段)可能被传播,从而导致流量被错误地引导,造成服务中断、数据泄露或网络攻击。RPKI的核心目标就是解决这个问题,通过密码学方法来验证:谁有权宣告某个IP地址前缀。

基本原理

RPKI的工作原理类似于PKI(公钥基础设施),但它验证的是网络资源(IP地址块和AS号码)的所有权和授权,而不是网站或个人的身份。

资源证书(Resource Certificate):

区域互联网注册机构(RIRs,如APNIC, ARIN, RIPE NCC等)向其会员(通常是ISP或大型网络运营商)颁发一种特殊的X.509证书。

这个证书证明了该会员合法拥有特定的IP地址块(IPv4/IPv6)和AS号码。

ROA(路由源授权,Route Origin Authorization):

这是RPKI系统中最关键的文件。

网络运营商使用其资源证书中的私钥,创建一个ROA。

ROA声明:“我(拥有这个IP块的AS)授权AS号X可以宣告这个IP前缀”。

例如,一个公司拥有IP段 192.0.2.0/24,它创建一个ROA,说“AS12345可以宣告 192.0.2.0/24”。如果AS12345宣告了,就是合法的;如果AS67890宣告了,就是非法的。

发布与分发:

ROA被发布到一个全球分布的、基于RIR的RPKI存储库中。

网络运营商运行的RPKI验证器(RPKI Validator)会定期从这些存储库下载所有ROA,并验证其数字签名,构建一个可信的路由宣告数据库。

路由验证(BGP验证):

网络运营商的路由器(或路由服务器)通过RPKI to Router (RTR) 协议,从本地的RPKI验证器获取验证结果。

当路由器收到一条BGP路由宣告(例如,“AS67890 宣告 192.0.2.0/24”)时,它会查询RPKI数据库:

Valid (有效):存在一个ROA,明确授权AS67890宣告此前缀。路由可信。

Invalid (无效):存在一个ROA,但授权的AS号不是67890。这是一个潜在的劫持,路由应被拒绝。

NotFound (未找到):没有找到关于此IP前缀的ROA。这不表示错误,只是没有进行RPKI验证。运营商可以根据策略决定是接受还是忽略。

主要优势

防止BGP劫持:有效阻止攻击者通过宣告不属于自己的IP地址块来劫持流量。

提高路由稳定性:减少因错误配置或恶意宣告导致的路由中断。

增强网络信任:为互联网路由系统提供了可验证的授权机制。

挑战与现状

部署率:需要IP地址所有者(创建ROA)和网络运营商(实施验证)共同参与。虽然部署在增长,但尚未达到全覆盖。

复杂性:对于网络运营商来说,部署和管理RPKI有一定技术门槛。

策略制定:如何处理Invalid和NotFound路由,需要谨慎的策略配置,避免误伤合法流量。

总结来说,RPKI就像互联网路由系统的“数字身份证”和“授权书”系统。它通过密码学手段,让网络能够验证“谁有资格宣告哪段IP地址”,从而大大提升了互联网基础路由的安全性。

编辑:芦笛(公共互联网反网络钓鱼工作组)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档