课题研究 RPKI路由安全 子课题03 · 第3页 / 共8页
03子课题 · ROA数据质量分析与错误识别

ROA数据质量分析与错误识别第3页:数据采集、接入与数据治理

任何质量分析都建立在"数据可得且可信"之上。本页系统梳理ROA质量分析的五类数据源(RIR存储库、RP验证器输出、BGP路由表、RDAP/WHOIS注册数据、IRR路由注册库),对比rsync与RRDP两种存储库同步通道的优劣,详解RPKI对象从拉取到密码学验证的完整流水线,并给出数据治理(去重、实体对齐、时间序列)与质量基线指标的方法,最后指出采集中最易踩的"坑"——这些坑本身也是质量缺陷的间接来源。

rsyncRRDPRFC 8182Relying PartyManifestRDAPIRRBGP RIB研究状态:研究中
所属专题互联网基础设施安全 › RPKI路由安全
前置知识第2页:ROA技术体系与错误原理
后续衔接第4页:错误识别方法论 → 第5页:一致性校验

01 · 数据源全景

ROA质量分析需要把"应该是什么"(注册数据)与"实际宣告了什么"(BGP数据)以及"密码学上授权了什么"(RPKI数据)三方对齐。对应五类数据源:

数据源内容在质量分析中的角色
RIR存储库(rsync/RRDP)各RIR发布的RPKI对象全集:CA/EE证书、ROA、Manifest、CRL、GhostbustersROA"授权真相"的权威来源;用于字段级正确性、证书新鲜度、越界判断
RP验证器输出Routinator/rpki-client/OctoRPKI 经验证后导出的ROA/VRP(Validated ROA Payload)列表已通过密码学验证的"可用ROA视图",接近路由器实际消费的形态
BGP路由表(RIB)RouteViews/RIS/BGPStream 的MRT格式全路由表快照与更新流"实际宣告"的现实;用于一致性比对(有ROA无宣告/有宣告无ROA)
RDAP / WHOISIP/AS注册数据(持有者、资源范围、状态)资源归属与状态核验;识别越界授权与已回收地址上的僵尸ROA
IRR(路由注册库)operator发布的route/route6策略对象(含origin声明)与ROA起源声明交叉印证;识别ROA与IRR不一致的"双轨"风险
NIST RPKI Monitor等公共观测平台基于公开数据的三态(Valid/Invalid/NotFound)连续观测与可视化质量指标的第三方基准校验;避免自采数据的系统性偏差

02 · 采集通道:rsync 与 RRDP

RIR存储库的同步有两条官方通道,二者在可用性、增量能力、部署成本上各有取舍,直接影响"数据可得性"这一KQ-1。

维度rsync(传统)RRDP(RFC 8182,HTTPS)
传输rsync协议,需维护长连接与目录树HTTPS + XML,利用标准Web基础设施
增量全量或基于文件差异,带宽占用偏高支持snapshot/delta增量,带宽效率更高
可用性对开放端口与rsync服务可用性依赖强,易被限流复用443端口,穿透性更好,但依赖Web服务可用性
一致性与RRDP可能短暂不一致(双通道发布存在时延差)与rsync同样存在发布时延差
运维历史久、工具链成熟现代RP(如Routinator)默认优先RRDP并回退rsync

采集策略建议:生产级质量监控应同时从RRDP与rsync拉取并比对,并以"两者一致的子集"作为高置信基准;对仅在一侧出现的对象,需标注"通道分歧"而非直接判定为错误。这既是KQ-1(完整性)的要求,也能规避因单通道故障导致的"假性质量缺陷"。

03 · 解析与密码学验证流水线

从存储库拉取到的是CMS签名对象与X.509证书,必须经过一条严格的验证流水线,才能确认其"当前有效"。这一流水线本身就是质量的第一道过滤网。

RPKI对象验证四道闸门
任一闸门不通过,对象即被判无效(含部分质量缺陷场景)
说明:依据RFC 6484/6486/6487等验证流程绘制的逻辑示意。

3.1 四道闸门与对应质量缺陷

闸门校验内容不通过意味着
证书链(签名)从Trust Anchor Locator(RFC 6490)起逐级验签,确认对象由合法CA签发对象被伪造或上级CA失效 → 整批不可信
资源范围(RFC 3779)ROA的地址必须落在签发证书的资源扩展范围内越界授权(over-claim)→ 该ROA本不应存在
Manifest一致性对象内容的哈希必须出现在当前Manifest中Manifest陈旧或对象被悄悄替换 → 验证器拒绝
新鲜度EE/CA证书在有效期内、未被CRL撤销、Manifest未过期证书过期/被撤/Manifest陈旧 → 对象瞬间失效(生命周期型缺陷)

3.2 为什么不能"跳过验证直接读字段"

初学者常误以为"读取ROA里的asID与前缀"即可分析质量。但一个能通过验证器、却被路由器实际消费的ROA,必须满足上述四道闸门。若只做字段解析,会把"已被验证器拒绝的僵尸/越界对象"误算进覆盖率与保护度,造成质量指标虚高——这正是质量分析必须"先验证、后分析"的根本原因。

3.3 本地策略覆盖层:SLURM(RFC 8416)

实际部署中,RP验证器可加载SLURM(Simplified Local Internet Number Resource Management with the RPKI,RFC 8416)文件,对VRP做本地过滤或追加断言。这意味着路由器最终看到的VRP ≠ RP原始验证输出——质量分析若忽略了SLURM层,可能把"被本地策略过滤掉的合法ROA"误判为"缺失保护"。本课题在比对口径上要求:以"未加载SLURM的纯净验证输出"为质量分析基准,SLURM仅作为消费侧策略记录,不参与质量打分。

3.4 消费侧实现标准:RFC 6811 与 NIST SP 800-189

路由器如何执行ROV另有实现规范:RFC 6811《BGP Prefix Origin Validation》(2013年)定义了在BGP会话中对UPDATE做起源验证的运转模型,NIST SP 800-189《Resilient Interdomain Traffic Exchange: BGP Security and DDoS Traffic Mitigation》(2019年)给出了美国政府的部署指南与三态命名(Not-Found/Valid/Invalid)。NIST RPKI Monitor等公共观测平台即按此口径运行。质量分析引用第三方三态数据时,应注意其采用的是"唯一前缀-起源对"口径(同一前缀被多AS宣告时逐对计数),与"地址空间"口径的覆盖率不可直接互换——混用口径是质量指标虚高或虚低的常见原因。

04 · 数据治理:去重、对齐与时间序列

  • 去重与归一化:同一ROA可能在多个collector、多个RP输出、rsync与RRDP中重复出现;需按"对象哈希 + 签发者 + 序列号"去重,并以RFC 6482对象本身为规范表达。
  • 实体对齐(Entity Alignment):把ROA的(asID, prefix)三元组与BGP RIB中的(origin AS, prefix)、RDAP中的持有者、IRR中的route对象,按IP前缀与ASN做空间对齐(含前缀包含关系运算),这是第5页一致性比对的基石。
  • 时间序列化:ROA是有时效的数据,需按采集时刻建立时间序列,跟踪"某ROA何时出现、何时过期/被撤、maxLength何时变更",才能识别"短暂错误窗口""迁移期矛盾ROA"等时序型质量缺陷。
  • 可信基线:以"rsync与RRDP一致 + 通过四道闸门"的对象作为高置信基线集,其余标注置信等级,避免把采集噪声误判为真实错误。

05 · 质量基线指标

本课题定义一组可复现的ROA质量基线指标(具体量化见第5页),此处给出指标定义与采集口径:

指标定义采集口径
覆盖率(Coverage)被ROA覆盖的地址空间 / 已分配地址空间(或 被覆盖的BGP前缀占比)来自RIR存储库与BGP RIB比对
保护度(Protection)既被ROA覆盖、又确实在BGP中宣告且Valid的前缀占比ROA ∩ BGP 且 Valid
过期率(Expiry)EE/CA证书已过期但对象仍在库的占比新鲜度闸门统计
越界率(Over-claim)ROA授权范围超出其资源证书范围的占比资源范围闸门 + RDAP核验
僵尸率(Stale)有ROA但长期(如≥90天)无对应BGP宣告的占比ROA − BGP 长时间空集
maxLength合理度ROA maxLength与真实最具体宣告长度一致的比例ROA × BGP 长度分布比对

采集频率与规模参考:以2025年底全球约34.4万张ROA、78.8万条VRP的规模计(RPKIViews年度统计),单次全量验证在现代多线程RP上约需数十秒量级(RPKIViews对rpki-client的公开基准:4核环境约35—46秒完成全球对象集验证);本课题建议——RIR存储库同步周期不低于每小时一次(ROA/证书变更以小时级为主;参考各RP默认值:Routinator默认RRDP轮询约10分钟、FORT Validator默认验证间隔3600秒),BGP RIB快照每日至少一次全量+持续更新流,RDAP核验按"异常触发+周期性复核"执行。频率过高会触发RIR限流(见下节),过低则会错过错误ROA的"短暂存在窗口"。

06 · 采集中的常见坑

坑现象规避
rsync限流/封禁高频全量拉取触发RIR侧限速,数据缺失控制频率、优先RRDP、遵循各RIR服务条款
RRDP可用性波动Web端点偶发不可达,单通道视图不全双通道互补 + 回退,标记分歧
时钟不同步本地时间偏差导致误判证书"已过期/未生效"NTP同步,验证器与采集端统一时钟源
RP实现差异不同RP对"陈旧Manifest/异常对象"处理策略不同,输出视图不一致多RP交叉比对,标注实现差异
BGP采集偏差RouteViews/RIS观测覆盖不均,部分AS/区域采样不足多collector交叉,影响面外推需谨慎
时间戳语义混淆把"对象发布时间"当"生效时间",把"采集时间"当"过期时间"严格区分 notBefore/notAfter 与采集时刻
RRDP通知服务/delta链断裂notification.xml指向的snapshot/delta序列与服务端实际状态不一致,或历史delta被清理检测到序列异常时回退全量snapshot重同步,并标记该窗口数据置信度降级

合规提醒:RIR存储库为公开数据,但高频/大规模拉取须遵守各RIR速率限制与服务条款;本课题采集仅用于质量分析,不修改、不重新发布任何RPKI对象。

本节参考来源(第3页)

以下为真实可查权威来源,支撑本页技术表述。

[1]

RFC 8182《The RPKI Repository Delta Protocol (RRDP)》:rfc-editor.org/rfc/rfc8182。HTTPS增量同步协议。

[2]

RFC 6484《Certificate Policy (CP) for the RPKI》与 RFC 6487《X.509 PKIX Resource Certificates》:rfc6484 / rfc6487。验证策略与证书Profile。

[3]

RFC 6490《Trust Anchor Locator》与 RFC 3779《X.509 Extensions for IP Addresses and AS Identifiers》:rfc6490 / rfc3779。

[4]

RP验证器:Routinator(NLnet Labs)nlnetlabs.nl;rpki-client rpki-client.org;OctoRPKI(Cloudflare)github.com/cloudflare/cfrpki。均支持rsync/RRDP并输出VRP。

[5]

RDAP(Registration Data Access Protocol,RFC 7480-7484)与 IRR(Internet Routing Registry,WHOIS路由对象):用于资源归属与路由策略核验的公开注册数据。

[7]

RFC 8416《Simplified Local Internet Number Resource Management with the RPKI (SLURM)》:rfc-editor.org/rfc/rfc8416。RP本地策略覆盖层规范。

[8]

NIST RPKI Monitor:rpki-monitor.antd.nist.gov;RPKIViews:rpkiviews.org。公共观测与年度统计基准。

[6]

BGP路由采集:RouteViews routeviews.org、RIS/RIPE NCC ris.ripe.net、BGPStream bgpstream.caida.org。MRT格式路由表与更新流。