首页/网络/BGP 与广域网速查/RPKI 起源验证(ROA)入门
BGP 基础与邻居89 条

RPKI 起源验证(ROA)入门

RPKI 用签名的 ROA 宣告「某前缀属于某 AS」:设备侧做起源验证可阻断部分前缀劫持,是域间安全的基础手段。

BGP 与广域网速查网络更新于 2026-10-13

RPKI 的组成与部署顺序

RPKI 是一套公钥基础设施,为「前缀归属与起源 AS」提供可验证的声明。资源持有者通过 ROA 对象签发授权,校验器(validator)汇集全球的 ROA 数据并根据路由器的请求返回前缀的验证状态,路由器据此在 BGP 策略中做出放行或拒绝的决定。部署的关键在于顺序:先给自己建好 ROA,再逐步对入向路由启用校验。

基本信息

对象类型ROA 声明前缀、最大长度与授权起源 AS
角色划分发布方(资源持有者)、校验器(缓存)、路由器(执行策略)
同步协议RTR 协议,校验器与路由器之间的状态同步通道
执行策略常见为丢弃 invalid、放行 valid 与 notfound
数据来源由 RIR 与 NIR 体系下的 RPKI 仓储统一汇集

典型使用场景

  • 自有前缀治理:为所有对外宣告的网段创建 ROA,避免被判异常
  • 客户路由约束:对客户接入方向启用起源验证,阻断明显错误的宣告
  • 互联规范:把是否部署 ROA 纳入对接要求,提升整体安全基线
  • 运营观测:长期统计三种状态比例,评估加严策略的可行范围
  • 应急处置:发生劫持事件时,用验证状态快速定位异常来源

落地步骤参考

落地步骤参考
# 第 1 步:梳理本网对外宣告的全部前缀与起源 AS
show ip bgp neighbors 10.0.0.2 advertised-routes
#
# 第 2 步:为这些前缀创建 ROA,注意 maxLength 要覆盖实际宣告的最细长度
#
# 第 3 步:部署校验器并与路由器建立 RTR 会话
show rpki cache-connection
#
# 第 4 步:先仅观测状态分布,不改变选路
# 第 5 步:分级启用丢弃策略,逐段扩大范围并保留回退开关

常见对象与作用

对象作用注意事项
ROA授权某前缀由某 AS 始发,可限定最大长度maxLength 过小会把自己更明细的宣告判为无效
校验器汇集 ROA 数据并向路由器提供状态可用性直接影响策略执行
路由器策略按状态放行或拒绝需提供快速回退手段
监控统计三种状态的分布与变化异常波动往往对应真实事件

观测与统计

观测与统计
# 统计入向路由的验证状态分布(示意)
show bgp ipv4 unicast
# 关注每个前缀的 validation state 字段
# 持续记录 valid / invalid / notfound 的数量变化
# 异常增长通常意味着对端误配或出现劫持事件
ROA 只覆盖起源授权,不验证 AS_PATH 是否真实经过对应网络。针对路径伪造的手段仍在演进(如基于签名的路径验证方向),部署时不要把起源验证与路径验证混为一谈。

易错点

  • ROA 的 maxLength 与实宣告不符:自有子网被判 invalid,启用丢弃策略后自己先中断
  • 只部署校验器不制定策略:数据齐全但没有任何防护效果,误以为已完成合规
  • 校验器单点部署:RTR 会话中断后策略执行行为不可控,需提前设计降级
  • 把起源验证当成防劫持的全部手段:路径层面的伪造仍需其它机制配合
  • 上线无回退开关:策略加严后出现误伤,缺少快速恢复通道

数据来源与参考

  • RFC 6480: RPKI 架构
  • RFC 6811: 起源验证
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌