4.7 KiB
4.7 KiB
02. TA(Trust Anchor)自签名证书
2.1 对象定位
在 RP 侧,“信任锚(Trust Anchor, TA)”以一个自签名 CA 资源证书体现,其可获取位置与期望公钥由 TAL 提供。RFC 8630 §2.3。
本文件描述两个紧密相关的数据对象:
TaCertificate:TA 自签名资源证书本体(X.509 DER)TrustAnchor:语义组合对象(TAL+TaCertificate的绑定语义)
2.2 原始载体与编码
- 载体:X.509 证书(通常以
.cer存放于仓库,但文件扩展名不作为语义依据)。 - 编码:DER。TA 证书必须符合 RPKI 资源证书 profile。RFC 8630 §2.3;RFC 6487 §4。
2.2.1 X.509 Certificate 的 ASN.1 定义(RFC 5280 §4.1;TA 与 RC 共享)
TA 证书与普通资源证书(RC)在编码层面都是 X.509 Certificate(DER)。其 ASN.1 定义如下:RFC 5280 §4.1。
Certificate ::= SEQUENCE {
tbsCertificate TBSCertificate,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING }
其中 tbsCertificate.extensions(v3 扩展)是 RPKI 语义的主要承载处(IP/AS 资源扩展、SIA/AIA/CRLDP 等)。RFC 5280 §4.1;RPKI 对字段/扩展存在性与关键性约束见 RFC 6487 §4。
说明:更完整的 RC 编码层结构(包括 Extension 外层“extnValue 二次 DER 解码”的套娃方式)在
03_resource_certificate_rc.md与00_common_types.md中给出。
2.3 TA 证书的 RPKI 语义约束(在 RC profile 基础上额外强调)
2.3.1 自签名与 profile
- TA URI 指向的对象 MUST 是一个自签名 CA 证书,并且 MUST 符合 RPKI 证书 profile。RFC 8630 §2.3;RFC 6487 §4。
- 自签名证书在 RC profile 下的通用差异(例如 CRLDP/AIA 的省略规则、AKI 的规则)见 RFC 6487。RFC 6487 §4.8.3;RFC 6487 §4.8.6;RFC 6487 §4.8.7。
2.3.2 INR(IP/AS 资源扩展)在 TA 上的额外约束
- TA 的 INR 扩展(IP/AS 资源扩展,RFC 3779)MUST 是非空资源集合。RFC 8630 §2.3。
- TA 的 INR 扩展 MUST NOT 使用
inherit形式。RFC 8630 §2.3。- 说明:一般 RC profile 允许
inherit。RFC 6487 §4.8.10;RFC 6487 §4.8.11;RFC 3779 §2.2.3.5;RFC 3779 §3.2.3.3。
- 说明:一般 RC profile 允许
2.3.3 TAL ↔ TA 公钥绑定
- 用于验证 TA 的公钥(来自 TAL 中的 SPKI)MUST 与 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.3;RFC 6487 §4 |
rc_ca |
ResourceCaCertificate |
以 RC(CA) 语义解析出的字段集合 | 必须满足“自签名 CA”分支约束;且 INR 必须非空且不允许 inherit | RFC 8630 §2.3;RFC 6487 §4;RFC 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_certificate 的 subjectPublicKeyInfo |
RFC 8630 §2.3;RFC 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.3;RFC 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。