rpki/specs/02_ta_certificate.md

4.7 KiB
Raw Blame History

02. TATrust Anchor自签名证书

2.1 对象定位

在 RP 侧“信任锚Trust Anchor, TA”以一个自签名 CA 资源证书体现,其可获取位置与期望公钥由 TAL 提供。RFC 8630 §2.3。

本文件描述两个紧密相关的数据对象:

  1. TaCertificateTA 自签名资源证书本体X.509 DER
  2. TrustAnchor:语义组合对象(TAL + TaCertificate 的绑定语义)

2.2 原始载体与编码

  • 载体X.509 证书(通常以 .cer 存放于仓库,但文件扩展名不作为语义依据)。
  • 编码DER。TA 证书必须符合 RPKI 资源证书 profile。RFC 8630 §2.3RFC 6487 §4。

2.2.1 X.509 Certificate 的 ASN.1 定义RFC 5280 §4.1TA 与 RC 共享)

TA 证书与普通资源证书RC在编码层面都是 X.509 CertificateDER。其 ASN.1 定义如下RFC 5280 §4.1。

Certificate  ::=  SEQUENCE  {
     tbsCertificate       TBSCertificate,
     signatureAlgorithm   AlgorithmIdentifier,
     signatureValue       BIT STRING  }

其中 tbsCertificate.extensionsv3 扩展)是 RPKI 语义的主要承载处IP/AS 资源扩展、SIA/AIA/CRLDP 等。RFC 5280 §4.1RPKI 对字段/扩展存在性与关键性约束见 RFC 6487 §4。

说明:更完整的 RC 编码层结构(包括 Extension 外层“extnValue 二次 DER 解码”的套娃方式)在 03_resource_certificate_rc.md00_common_types.md 中给出。

2.3 TA 证书的 RPKI 语义约束(在 RC profile 基础上额外强调)

2.3.1 自签名与 profile

  • TA URI 指向的对象 MUST 是一个自签名 CA 证书,并且 MUST 符合 RPKI 证书 profile。RFC 8630 §2.3RFC 6487 §4。
  • 自签名证书在 RC profile 下的通用差异(例如 CRLDP/AIA 的省略规则、AKI 的规则)见 RFC 6487。RFC 6487 §4.8.3RFC 6487 §4.8.6RFC 6487 §4.8.7。

2.3.2 INRIP/AS 资源扩展)在 TA 上的额外约束

  • TA 的 INR 扩展IP/AS 资源扩展RFC 3779MUST 是非空资源集合。RFC 8630 §2.3。
  • TA 的 INR 扩展 MUST NOT 使用 inherit 形式。RFC 8630 §2.3。
    • 说明:一般 RC profile 允许 inherit。RFC 6487 §4.8.10RFC 6487 §4.8.11RFC 3779 §2.2.3.5RFC 3779 §3.2.3.3。

2.3.3 TAL ↔ TA 公钥绑定

  • 用于验证 TA 的公钥(来自 TAL 中的 SPKIMUST 与 TA 证书中的 subjectPublicKeyInfo 相同。RFC 8630 §2.3。

2.3.4 TA 稳定性语义(实现需建模为“约束/假设”,但不属于验证结果态)

  • TA 公钥与 TAL 中公钥必须保持稳定(用于 RP 侧长期信任锚。RFC 8630 §2.3。

2.3.5 TA 与 CRL/Manifest 的关系(语义)

  • RFC 8630 指出TA 为自签名证书,没有对应 CRL且不会被 manifest 列出TA 的获取/轮换由 TAL 控制。RFC 8630 §2.3。

注:这条更偏“发布/运维语义”,但对数据对象建模有影响:TrustAnchor 组合对象不应依赖 CRL/MFT 的存在。

2.4 抽象数据模型(接口)

2.4.1 TaCertificate

该对象在字段层面复用 RC(CA) 的语义模型(见 03_resource_certificate_rc.md),但增加 TA 特有约束。

字段 类型 语义 约束/解析规则 RFC 引用
raw_der DerBytes TA 证书 DER X.509 DER证书 profile 约束见 RC 文档 RFC 8630 §2.3RFC 6487 §4
rc_ca ResourceCaCertificate 以 RC(CA) 语义解析出的字段集合 必须满足“自签名 CA”分支约束且 INR 必须非空且不允许 inherit RFC 8630 §2.3RFC 6487 §4RFC 3779 §2/§3

2.4.2 TrustAnchor

字段 类型 语义 约束/解析规则 RFC 引用
tal Tal TAL 文件语义对象 01_tal.md RFC 8630 §2.2
ta_certificate TaCertificate TA 证书语义对象 TA URI 指向的对象 RFC 8630 §2.3
tal_spki_der DerBytes 从 TAL 解析出的 SPKI DER tal.subject_public_key_info_der RFC 8630 §2.2
ta_spki_der DerBytes 从 TA 证书抽取的 SPKI DER ta_certificatesubjectPublicKeyInfo RFC 8630 §2.3RFC 5280 §4.1.2.7

绑定约束(字段级)

  • tal_spki_der 必须与 ta_spki_der 完全相等(字节层面的 DER 等价。RFC 8630 §2.3。

2.5 字段级约束清单(实现对照)

  • TA URI 指向的对象必须是自签名 CA 证书,且符合 RPKI 证书 profile。RFC 8630 §2.3RFC 6487 §4。
  • TA 的 INR 扩展必须非空,且不得使用 inherit。RFC 8630 §2.3。
  • TAL 中 SPKI 必须与 TA 证书的 subjectPublicKeyInfo 匹配。RFC 8630 §2.3。
  • TA 不依赖 CRL/MFT无对应 CRL且不被 manifest 列出。RFC 8630 §2.3。