01 · 一致性校验总览
质量分析的本质是"对照"。本课题建立以IP前缀为键(key)的三方对齐表,每个前缀同时拥有三个视角的值:
| 视角 | 数据来源 | 回答的问题 |
|---|---|---|
| 授权(O) | RPKI ROA / VRP | "谁被密码学授权宣告这个前缀?" |
| 现实(A) | BGP RIB(RouteViews/RIS/BGPStream) | "谁真的在宣告这个前缀?" |
| 归属(R) | RDAP/WHOIS | "这个前缀究竟归谁持有?状态如何?" |
当三者一致(O≈A≈R)时,质量健康;当O与A脱节(有授权无宣告 / 有宣告无授权)、或O与R脱节(授权了非持有前缀)时,即出现可量化的质量偏差。第4页的九类错误,几乎都可在这一对齐表中被定位。
02 · ROA × BGP RIB 偏差
把ROA库与BGP路由表逐前缀对齐后,每条被覆盖的路由落入RFC 6483的三态之一;而"覆盖关系"本身还能切出两类偏差:
- Valid(合法且被保护):起源AS与长度均匹配授权 → 理想状态。
- Invalid(应被丢弃):其中一部分是真实劫持(应拦截,是ROV的价值),另一部分是错误ROA造成的自伤(maxLength过严/错误asID)——质量分析要能区分二者。
- NotFound(未覆盖):无ROA覆盖,ROV无法提供保护 → 这是"未保护前缀"缺口(§04)。
- 有ROA无宣告(僵尸):授权存在但BGP中从未出现该前缀 → §03。
- 有宣告无ROA(缺口):BGP广泛宣告但无覆盖 → §04。
03 · 僵尸ROA检测
定义:在连续观测窗口(建议≥90天)内,某ROA授权的前缀从未在BGP中出现对应宣告,或其地址块已被RDAP标记为"已回收/已转让/保留",却仍保留在存储库中。
3.1 检测信号与口径
| 信号 | 口径 | 误报规避 |
|---|---|---|
| 长期无宣告 | 观测窗口内ROA前缀完全不在BGP RIB | 排除刚签发的"预热期"(如7天内)与已知预留前缀 |
| 地址已回收 | RDAP状态为reallocated/returned/reserved,与ROA持有方不符 | 以RDAP最新状态为准,排除转让过渡期 |
僵尸ROA的危害是"沉默的":它不直接造成Invalid,但会虚高覆盖率、制造越界风险(若地址已易主),并在地址转让后让新持有方陷入"被他人ROA覆盖"的治理混乱。本课题将僵尸率列为P2(一般)但要求周期性清理。
04 · 未保护前缀(缺口)检测
定义:在BGP中被广泛宣告(如被多个AS观察到、或在关键基础设施AS上宣告)的重要前缀,却没有任何ROA覆盖。这是"质量缺口"而非"ROA错误",但对安全防护同等重要。
- 优先级排序:并非所有未保护前缀都急需ROA。本课题按"被宣告的AS广度 + 是否关键基础设施(DNS根/公共解析器/大型内容网)+ 是否历史劫持高发"排序,输出"ROA签署优先级建议清单"——这是与子课题01(劫持检测)形成正向协同的关键产物。
- 与子课题02协同:未保护前缀清单可输入RPKI部署测量子课题,作为"应优先提升覆盖率"的目标集合。
05 · ROA × RDAP 越界核验
这是识别over-claim(越界授权)的关键一步,也是第4页"越界型"缺陷的量化落点:
- 取ROA授权覆盖的地址块,查询RDAP确认其当前持有方与状态。
- 若该地址块的持有方与ROA签发者(资源证书主体)不一致,或状态为已回收/保留,则标记为"疑似越界/僵尸"。
- 进一步用ROA签发证书的RFC 3779资源扩展范围做密码学层面的越界校验(O-R脱节的强证据)。
注意:地址转让存在法律与注册同步的过渡期,RDAP状态更新可能滞后于实际业务。越界判定须以"资源证书范围 + RDAP最新状态 + 时间窗口"三者交叉确认,避免把"正常转让过渡"误判为恶意越界。
06 · 偏差对ROV决策的影响
ROV是一道"过滤器",其质量由两个反向指标刻画。错误ROA与质量缺口分别恶化其中一个:
| 指标 | 含义 | 被什么恶化 | 业务含义 |
|---|---|---|---|
| 误伤率 (FPR) | 合法路由被判Invalid被丢弃的比例 | maxLength过严、错误asID、证书过期(自伤型) | 合法业务中断,"防御伤己" |
| 漏报率 (FNR) | 恶意/未授权路由未被拦截的比例 | 未保护前缀(NotFound)、maxLength过松、矛盾ROA | 劫持/泄露未被ROV拦截 |
在prefix-origin pair(前缀-起源对)口径下,两个指标可形式化为:对全网观测到的每条BGP宣告(P, AS),令 V、I、N 分别为其被判Valid/Invalid/NotFound的指示函数,则误伤率 ≈ |{(P,AS): I=1 且 AS为该前缀真实合法起源}| / |{(P,AS): 真实合法起源}|;漏报率 ≈ |{(P,AS): (V=1或N=1) 且 AS为未授权/劫持起源}| / |{(P,AS): 未授权/劫持起源}|。分母中"真实合法起源"的认定需借助RDAP归属、长期历史宣告与人工白名单联合确定——这也是本课题把置信度分级嵌入指标计算的原因。
计算上述两率时还必须统一统计口径(唯一前缀-起源对 vs 地址空间),否则指标不可比(见第3页§3.4)。这正是第1页"自伤型安全"的量化表达:质量差→误伤率高,会让运营者因"启用ROV后自己断网"而放弃部署;覆盖低→漏报率高,则让RPKI的防护价值落空。因此,质量分析的终极KPI不是"覆盖了多少",而是"在可接受误伤率下,把漏报率压到多低"——二者由ROA质量共同决定。
核心公式(示意):设某前缀P被ROA覆盖。若ROA健康,则 P 在ROV下"合法Valid、劫持Invalid",误伤≈0、漏报≈0;若ROA maxLength过严,则合法更具体宣告Invalid(误伤↑);若ROA maxLength过松或缺失,则劫持的更具体前缀Valid/NotFound(漏报↑)。质量度量即是对全网前缀在这两个维度上的积分。
07 · 量化指标与度量口径
| 指标 | 计算口径 | 健康目标 |
|---|---|---|
| 覆盖率 | 被ROA覆盖的已分配地址空间(或BGP前缀)占比 | 越高越好(参考RIPE区域IPv4约72%,RIPE NCC 2025公开统计) |
| 保护度 | 覆盖且实际Valid宣告的前缀占比 | 接近覆盖率(差距=自伤) |
| 误伤率 | 因错误ROA被判Invalid的合法路由占比 | 趋近0(P0必须清零) |
| 越界率 | 越界授权ROA占比 | 趋近0 |
| 僵尸率 | 长期无宣告/已回收仍授权的ROA占比 | 持续下降 |
| 过期率 | 证书/Manifest已过期仍可见的ROA占比 | 趋近0(P0) |
| maxLength合理度 | maxLength与真实最具体宣告长度一致的ROA占比 | 越高越好 |
注:上述"健康目标"中,RIPE区域IPv4覆盖率数值来自RIPE NCC公开统计;其余为方向性目标,具体阈值由本课题在实测数据集上校准,不构成普适承诺。
本节参考来源(第5页)
以下为真实可查权威来源,支撑本页量化与对齐方法表述。
RFC 6483《Validation of Route Originations》:rfc-editor.org/rfc/rfc6483。Valid/Invalid/NotFound三态定义,是偏差分析的基础。
RFC 3779《X.509 Extensions for IP Addresses and AS Identifiers》:rfc-editor.org/rfc/rfc3779。资源证书范围,越界核验的密码学依据。
RDAP(RFC 7480-7484):rfc7480。资源注册状态查询标准。
RIPE NCC Routing Statistics / Radar:radar.ripe.net。IPv4/IPv6 ROA覆盖率与Invalid路由占比公开统计。
BGP路由采集:RouteViews routeviews.org、RIS ris.ripe.net、BGPStream bgpstream.caida.org。BGP RIB与更新流。
NIST RPKI Monitor:rpki-monitor.antd.nist.gov。基于RouteViews 20余个BGP采集点、按RFC 6811/NIST SP 800-189算法对全球唯一前缀-起源对每6小时执行ROV验证的公开连续观测,是本页三态量级图的公开观测来源。
APNIC Labs RPKI测量与 Geoff Huston 关于RPKI部署与ROV状态的公开分析:提供"覆盖/未覆盖/Invalid"量级量级的公开观测基准。