RPKI与ROA详解
BGP会无条件信任网络所通告的内容,路由劫持正源于此。**RPKI(资源公钥基础设施)加入了谁拥有哪段地址空间的加密证明,而ROA(路由起源授权)**用它来声明哪个AS可以以哪个prefix为起源。
ROA包含什么
ROA是一个签名对象,声明三件事:
| 字段 | 示例 | 含义 |
|---|---|---|
| 起源AS | AS3333 |
被允许通告的AS |
| prefix | 193.0.0.0/21 |
地址块 |
| 最大长度 | /24 |
允许的最精确子prefix |
地址空间的持有者在其RIR处创建ROA,并沿链签名直到RIR的信任锚。
路由起源验证(ROV)
部署了ROV的网络会将每条BGP通告与已发布的ROA比对并标记:
- Valid — 有ROA授权此起源和prefix长度。
- Invalid — 有ROA但起源AS或长度不匹配;路由被丢弃。
- Unknown — 没有覆盖该prefix的ROA;路由照常被接受。
随着越来越多网络拒绝Invalid路由,劫持者的伪造通告就根本无法传播。主流IXP和中转商现在默认丢弃Invalid。
检查它
用本站 RPKI/ROA验证 验证起源AS+prefix组合,用 ASN查询 查找IP的起源AS,并在 BGP路由基础 中了解路由如何流动。
备注: RPKI/ROA只保护路由的起源,而非整条AS路径。路径安全(BGPsec、ASPA)是另一项部署较少的工作。即便如此,发布ROA仍是每个prefix持有者都应采取的高性价比措施。