Page 473 - 《软件学报》2026年第1期
P. 473
470 软件学报 2026 年第 37 卷第 1 期
的路由, 但发布 maxLength 为 24 的 ROA:
45.110.0.0/20-24, AS 999.
发布 Loose ROA 的 AS 会面临伪造起源子前缀劫持攻击的威胁, 即攻击者可假装邻居伪造 AS 999 未宣告的/24
前缀的虚假 BGP 路由:
45.110.2.0/24, AS_PATH: 攻击者-AS 999.
该 BGP 路由的 RPKI 起源验证结果为 valid, 且由于最长前缀匹配机制, AS 会优先选择虚假路由而不是
45.110.0.0/20 的真实路由, 因此所有访问 45.110.2.0/24 的流量都会被攻击者劫持. Gilad 等人的测量发现互联网中
约 30% 的 IP 前缀被 Loose ROA 覆盖.
同年, Gilad 等人 [46] 提出 AS 应该避免使用 maxLength 的部署建议, 因为使用 maxLength 可能会使发布的
ROA 不是 minimal ROA [51] . minimal ROA 中只包含 BGP 宣告的 IP 前缀, 因此不会受到伪造起源子前缀劫持攻击
的威胁. Gilad 等人在 2017 年 6 月 1 日的测量发现 ROA 中有 4 630 个前缀 (约 12%) 的 maxLength 长于前缀长度,
其中 84% 的前缀的 ROA 都是非 minimal ROA, 会受到伪造起源劫持攻击的影响. Gilad 等人对 maxLength 的使用
建议已作为最佳实践写入 RPKI 标准化文档 [52] .
(3) 互联网号码资源授权冲突
Zou 等人 [53] 定义并测量了 RPKI 中的互联网号码资源授权冲突. 互联网号码资源拥有者可对 IP 地址前缀进
行 3 种操作: 1) 自己使用; 2) 作为保留地址; 3) 分配给客户. 在 RPKI 中对应 3 种数据对象签发行为: 1) 为 IP 地址
前缀发布 ROA; 2) 为 IP 地址前缀发布 AS 0 ROA; 3) 为客户签发 RC. 互联网号码资源拥有者对不属于自己的 IP
地址前缀进行操作或者对同一 IP 地址前缀同时进行多种操作就会造成互联网号码资源授权冲突. Zou 等人定义
了 6 类资源分配或授权冲突 (如表 3 所示), 并采集了 2020 年 4 月 14 日的 RPKI 数据进行互联网号码资源冲突测
量. 测量发现 2 起 B 类冲突, 5 起 C 类冲突, 4 起 E 类冲突. 测量还发现了 248 起潜在的 D 类冲突, 但无法判断是
实际互联网号码资源冲突还是互联网号码资源转移后上级 CA 未及时撤销已发布的 ROA.
表 3 互联网号码资源授权冲突类型与测量结果 [53]
冲突类型 冲突原因 测量结果 (起)
A类: 非法分配 CA分配了不属于自己的资源给客户 -
B类: 根CA重复分配 信任锚 (trust anchor, TA) CA分配了相同的资源给多个客户 2
C类: 中间CA重复分配 非信任锚CA分配了相同的资源给多个客户 5
D类: ROA (AS≠0) 与证书冲突 CA将使用的资源分配给客户 248 (潜在)
E类: ROA (AS=0) 与 ROA (AS≠0) 冲突 CA对保留的资源发布了ROA 4
F类: 证书与ROA (AS=0) 冲突 CA将保留的资源分配给了客户 -
表 4 总结了近年来数据质量测量工作. ROA 数据质量问题是现有 RPKI 体系无法解决的, 因为 RPKI 不保证 ROA
配置的正确性. 由于人为失误难以避免, 因此 ROA 数据质量问题难以根治, 目前可考虑以下几种减少影响的措施.
表 4 ROA 数据质量测量总结
测量目标 文献 测量时间 测量结果
[47] 2018年2–5月 超过60%的invalid路由由于ROA配置错误导致
(1) 超过90%前缀过长invalid路由是由于ROA未设置maxLength
ROA与实际路由不一致 [42] 2011–2019年
(2) 部分起源AS不符的invalid路由是由于ROA配置错误导致
[48,49] 2019年1月 ROA配置错误导致138个路由被验证为invalid
[50] 2017年 约30%的IP前缀被Loose ROA覆盖
ROA maxLength设置过长 ROA中有4 630个前缀的maxLength长于前缀长度, 其中84%的
[46] 2017年6月1日
前缀的ROA都是非minimal ROA
发现11起互联网号码资源授权冲突, 248起潜在互联网号码资
互联网号码资源授权冲突 [53] 2020年4月14日
源授权冲突

