01 · RPKI 攻击面全景
RPKI 的安全性建立在"各 CA 私钥安全 + 存储库内容完整 + 分发通道可信 + 运维流程可靠"四者之上。任何一层被突破,都会削弱其路由安全保护能力。按资产归类,攻击面如下:
| 攻击面 | 被突破的后果 | 典型威胁场景 |
|---|---|---|
| 信任锚私钥 | 可伪造该区域任意 ROA/证书 | RIR 根 CA 私钥泄露/被供应链接管 |
| 存储库完整性 | 可抑制/替换对象,使 RP 看不到真实更新 | RRDP 中间人 withhold/replay;存储库被篡改 |
| RTR 通道 | 可污染路由器的 VRP 视图 | 未加密 RTR 会话被中间人篡改 |
| 委托 CA 私钥 | 可签发恶意 ROA,污染其子树 | 大型 ISP/NIR 私钥泄露或被内部滥用 |
| 运维/账户 | 可任意增删 ROA、轮换密钥 | RIR 门户账户被钓鱼/接管;DNS 误配 |
防御基调:RPKI 对象本身有强密码学保护(中间人无法伪造有效签名),因此攻击者的现实路径要么是窃取私钥,要么是在分发/运维环节做文章(withhold、replay、账户接管),要么是利用可用性故障使防御退化。本页聚焦后两类——它们最贴近"弹性"主题。
02 · 信任锚证书泄露
五大 RIR 的根 CA 私钥是 RPKI 信任的"皇冠上的明珠"。一旦泄露:
- 影响范围:攻击者可签发该 RIR 区域内任意资源证书与 ROA,甚至为恶意前缀伪造"合法来源授权",使 ROV 反而成为攻击者的帮凶(将合法路由判为 Invalid、将恶意路由判为 Valid)。
- 检测与处置:依赖 CRL 紧急撤销 + 密钥轮换(RFC 6489)。但根 CA 的密钥轮换波及整棵子树,操作复杂、窗口长,是"高影响、低概率"的典型。
- 防护:根私钥应离线(HSM/气隙)、多角色分权、操作审计;CP(RFC 6484)与 CPS 规定密钥生成、存储、使用、销毁的全生命周期保护。
概率现实:五大 RIR 对根密钥的保护极为严格,真实泄露概率极低;但"低概率"不等于"可忽视"——正因其影响是区域级甚至跨区的,必须在应急预案中预演而非临时应对。
03 · 存储库篡改与 RRDP 中间人
RPKI 对象虽经签名,但 RRDP 依赖 HTTPS 分发。RFC 8182 §4.3 明确指出:中间人(MITM)无法伪造有效签名对象,却可以实施 withhold(扣留)或 replay(重放旧数据),使 RP 始终停留在旧版本、无法获知更新。
- Withhold/Replay 威胁:攻击者对特定 RP 扣留更新通知文件或重放旧快照,使该 RP 的 VRP 长期陈旧——例如本应被撤销的恶意 ROA 仍生效,或本应生效的防护 ROA 不出现。
- TLS 校验要求:RFC 8182 要求 RP 对 RRDP 服务器做 TLS 证书与主机名校验(参考 RFC 6125/RFC 7525),并将校验问题记录日志;但为"不因配置错误而中断获取",RP 在 TLS 校验失败后仍可取回数据并继续验证——这留下被降级攻击利用的空间。(注:RFC 7525 已被 RFC 9325(2022-11,BCP 195)取代,部署时应参照新版 BCP。)
- 防御:对关键 RP 配置多 RRDP 镜像/CDN 并交叉比对;利用"对象签名"作为最终信任根(TLS 仅用于传输保护,不替代签名);监控 VRP 新鲜度异常。
关键认知:RPKI 的安全不依赖传输层机密性,而依赖对象签名。因此 RRDP 中间人攻击的杀伤力主要体现在可用性(扣留/重放)而非完整性伪造。这与第4页的"存储库沉默故障"本质同源。
04 · RTR 通道劫持
RTR(RFC 6810/8210)把验证器产出的 VRP 发给路由器。若会话未加安全传输保护:
- 篡改 VRP:中间人可在 RTR 会话中注入/修改 VRP 条目,使路由器对特定前缀做出错误 ROV 判定(例如把本应 Invalid 的劫持路由标记为 Valid)。
- 会话中断:会话中断超过 hold time 后,路由器可能清空 VRP 或沿用陈旧缓存,导致 ROV 失效或退化。
- 防御(RFC 8897 建议):RP 实现应提供缓存备份管理以便从中断恢复;并应支持安全传输(如 IPsec,RFC 4301)保护 VRP 分发;关键网络部署多 RTR 会话做冗余(第7页)。
05 · 委托 CA / 内部滥用(Adverse Actions)
IETF RFC 8211《Adverse Actions by a CA or Repository Manager in the RPKI》(Kent & Ma, 2017)系统分析了 CA 或存储库管理者"出错或被攻陷"时对 RPKI 与路由决策的影响。其要点包括:
| 对象 | 不利动作示例 | 对 ROV 的影响 |
|---|---|---|
| CA 证书 | 误签/注入错误的下级证书 | 错误地授权某 AS 宣告他人前缀 |
| Manifest | 删除/抑制/修改 Manifest | 新对象不被 RP 识别(等同删除);整子树可能因 Manifest 无效被判失效 |
| CRL | 未纳入应撤销项 | 已泄露证书仍被信任 |
| ROA | 签发错误/恶意 ROA | 错误授权源 AS,干扰 ROV |
| Ghostbusters | 篡改/不更新紧急联系人 | 事故时无法及时联系维护者 |
该文档的核心启示是:RPKI 的风险不仅来自外部攻击者,也来自"被信任的 CA 自身"。缓解依赖分权运营、审计、CPS 约束,以及下游网络通过 SLURM(RFC 8416)对关键前缀做本地兜底(第7页)。
06 · 运维与社工:账户接管与 DNS 误配
- RIR 门户账户接管:ROA 通常通过 RIR 门户自助签发。若运营者账户被钓鱼/撞库接管,攻击者可批量增删 ROA(如撤销受害者的合法 ROA 或签发恶意 ROA)。这与本学院"反钓鱼"主线高度相关——钓鱼是 RPKI 运维链的现实入口之一。
- DNS 误配:第4页已述,RIPE 2022-02-16 事故部分源于 DNS 误配导致 rrdp.ripe.net 不可达,引发回退 rsync 过载的级联。DNS 既是可用性依赖,也可被劫持用于 RRDP 中间人。
- 密钥轮换流程卡死:密钥轮换(RFC 6489)若缺乏演练,可能在紧急时发生流程卡死,反而延长事故窗口(如 RIPE 2020-02 需完整 CA 密钥轮换才恢复 CRL 问题)。
跨课题呼应:第01子课题(BGP 劫持检测)关注"流量层",本子课题关注"信任基础设施层",而反钓鱼治理关注的是"人员/账户层"。三层防护必须协同——再强的 RPKI,也挡不住一个被接管的 RIR 账户。
07 · 防御加固手段
学术验证的 RPKI 攻击研究(防御视角)
近年学术会议上的测量与攻击研究,从独立第三方视角验证了本页所列攻击面的现实性(以下研究均以防御为目的公开):
- Stalloris(USENIX Security 2022):针对 RPKI 的降级攻击框架,演示攻击者如何迫使网络回退到无 RPKI 保护的状态——说明"回退路径"本身必须纳入防御设计。
- rpkiller(arXiv 2022)与 Behind the Scenes of RPKI(IMC 2022):对 RPKI 信任结构、对象解析与实现一致性的系统性测量,揭示了若干被忽视的弱点与实现差异。
- Beyond Limits(CCS 2023):进一步突破既有认知边界,评估 RPKI 在极端与对抗场景下的表现。
统一结论:RPKI 对象签名保证了完整性底线,但可用性、信任集中度与实现一致性仍是可被利用的软肋;防御必须覆盖"降级—回退—兜底"全链路,而非仅盯密码学层。
| 手段 | 作用 | 对应攻击面 |
|---|---|---|
| HSM / 离线根密钥 | 根 CA 私钥不出硬件、多角色分权 | 信任锚泄露 |
| CP/CPS(RFC 6484) | 规定密钥全生命周期保护与审计要求 | 信任锚/委托 CA |
| 密钥轮换(RFC 6489) | 预演紧急轮换,缩短污染窗口 | 信任锚/CA 泄露 |
| RRDP TLS 校验 + 多镜像 | 缓解 withhold/replay,交叉比对新鲜度 | 存储库中间人 |
| RTR 安全传输(IPsec) | 保护 VRP 分发不被篡改 | RTR 通道劫持 |
| SLURM(RFC 8416) | 本地 VRP 白/黑名单兜底,隔离异常 | 委托 CA 滥用 / 存储库故障 |
| 运维安全 / 反钓鱼 | 账户 MFA、异常登录监测、钓鱼演练 | 账户接管 |
| 发布点监控 + Ghostbusters | stale 早发现、事故快通报 | 存储库/撤销机制失效 |
小结:RPKI 的弹性 = 密码学强度 × 运维成熟度 × 分发冗余度。前一项由标准保证,后两项正是本子课题(第4—7页)要持续度量与提升的"人—流程—基础设施"维度。
本节参考来源(第6页)
以下来源支撑本页的攻击面分析与加固建议。
IETF RFC 8211《Adverse Actions by a CA or Repository Manager in the RPKI》(2017, Kent & Ma):rfc-editor.org/rfc/rfc8211。CA/存储库不利动作对路由决策的影响分析。
IETF RFC 8182《The RPKI Repository Delta Protocol (RRDP)》(2017) §4.3 HTTPS Considerations:MITM withhold/replay 与 TLS 校验要求:rfc-editor.org/rfc/rfc8182。
IETF RFC 8897《Requirements for RPKI Relying Parties》(2021):缓存备份、安全传输(IPsec)建议:rfc-editor.org/rfc/rfc8897。
IETF RFC 6484《Certificate Policy for the RPKI》;RFC 6489《Certificate Key Rollover》;RFC 8416《SLURM》:rfc6484 / rfc6489 / rfc8416。
RIPE NCC routing-wg 邮件列表(2022-02-16 RRDP/DNS 事故复盘):ripe.net routing-wg。
IETF RFC 6125 / RFC 7525(TLS 证书与 HTTPS 最佳实践,RRDP §4.3 引用;RFC 7525 已被 RFC 9325 / BCP 195 于 2022-11 取代):rfc7525 / rfc9325。
学术文献(防御视角):Stalloris(USENIX Security 2022,RPKI 降级攻击);rpkiller(arXiv 2203.00993);Behind the Scenes of RPKI(IMC 2022);Beyond Limits(CCS 2023)。