2. 信任边界基础概念:信任边界的定义、信任域与信任锚、信任传递模型
在镜像供应链安全体系中,信任边界是划分可信与不可信环境的核心逻辑界线。理解信任边界的定义、信任域与信任锚的构成,以及信任如何在节点间传递,是设计安全分发协同机制的前提。
2.1 信任边界的定义
信任边界(Trust Boundary)是指一个系统或流程中,数据、操作或权限从一个信任级别跨越到另一个信任级别的逻辑或物理分界线。在镜像供应链中,信任边界通常出现在以下场景:
- 构建环境与外部仓库之间:镜像从内部构建流水线推送到外部 Registry 时,跨越了组织信任边界。
- 不同组织间的镜像分发:镜像从一个组织的 Registry 复制到另一个组织的 Registry,信任域发生切换。
- 运行时节点与镜像仓库之间:容器运行时从 Registry 拉取镜像,需要验证镜像来源的合法性。
- 镜像层与层之间:当镜像由多个基础层叠加而成,每一层可能来自不同的构建方,层与层之间也存在信任边界。
关键认知:信任边界不是物理防火墙,而是基于策略、签名、凭证和审计日志共同定义的逻辑安全域。跨越信任边界的每一次数据交换,都必须经过显式的验证与授权。
2.2 信任域与信任锚
信任域(Trust Domain) 是一组共享同一信任策略、认证机制和安全上下文的实体集合。在镜像供应链中,常见的信任域包括:
| 信任域类型 | 典型实体 | 信任策略示例 |
|---|---|---|
| 构建信任域 | CI/CD 系统、构建节点、签名私钥持有者 | 仅允许经过签名的构建产物流出 |
| 存储信任域 | OCI Registry、镜像存储后端、审计日志服务 | 所有推送操作必须携带有效签名 |
| 分发信任域 | 镜像代理、缓存节点、跨域同步网关 | 分发链路必须启用 TLS 双向认证 |
| 运行时信任域 | 容器运行时、kubelet、策略引擎 | 仅拉取签名验证通过的镜像 |
信任锚(Trust Anchor) 是信任域中不可再追溯的根信任来源。在镜像供应链中,信任锚通常表现为:
- 根证书(Root CA):用于签发所有参与方证书的根证书公钥。
- 签名公钥:镜像签名者的公钥,直接嵌入策略配置或通过 TUF(The Update Framework)元数据分发。
- 硬件信任根:如 TPM(Trusted Platform Module)或 HSM(Hardware Security Module)中存储的不可导出私钥。
- 策略文件哈希:不可变的策略配置文件的哈希值,作为策略验证的起点。
实践建议:信任锚应尽可能少且稳定。每增加一个信任锚,就增加一个攻击面。推荐使用 OCI Distribution 规范中的
referrers API 将签名与镜像关联,并通过策略引擎统一管理信任锚。
2.3 信任传递模型
信任传递模型描述了信任如何从一个实体或域传播到另一个实体或域。在镜像供应链中,主要有三种信任传递模型:
2.3.1 直接信任模型
两个实体之间通过预先共享的凭证或证书直接建立信任关系。例如,构建节点与 Registry 之间通过 TLS 双向认证直接建立信任。这种模型简单高效,但扩展性差,不适合大规模跨组织分发。
2.3.2 层次信任模型
信任通过证书链或签名链逐级传递。根信任锚签发中间证书,中间证书再签发终端实体证书。在镜像签名场景中,根签名密钥签发子密钥,子密钥用于实际镜像签名。这种模型支持密钥轮换和权限分离,是 OCI 分发中推荐的方式。
2.3.3 网状信任模型
信任通过多个信任域之间的交叉认证建立。每个信任域维护自己的信任锚,并通过交叉签名或联合策略实现互信。这种模型适用于多组织协作的镜像供应链,但需要复杂的策略协调机制。
2.4 信任传递的数学基础
在 OCI 分发协同中,信任传递通常基于数字签名链实现。一个典型的信任传递路径可以表示为:
信任锚 (Root Key)
└── 签发中间密钥 (Intermediate Key)
└── 签发镜像签名 (Image Signature)
└── 验证镜像摘要 (Image Digest)
└── 拉取镜像层 (Layer Blobs)
每一步验证都依赖上一级的签名有效性。如果任意一级签名验证失败,整个信任链断裂,镜像将被拒绝拉取。
2.5 信任传递模型对比
| 模型 | 信任建立方式 | 扩展性 | 密钥管理复杂度 | 适用场景 |
|---|---|---|---|---|
| 直接信任 | 预共享凭证 | 低 | 低 | 单组织内部分发 |
| 层次信任 | 证书链/签名链 | 高 | 中 | 多层级镜像供应链 |
| 网状信任 | 交叉认证 | 中 | 高 | 跨组织协作分发 |
2.6 信任边界失效场景
安全警示:以下场景会导致信任边界被突破,必须通过 OCI 分发协同机制加以防范:
- 信任锚泄露:根签名密钥或根证书私钥泄露,攻击者可伪造任意镜像签名。
- 信任链断裂:中间证书过期或撤销,导致下游所有签名验证失败。
- 跨域策略不一致:不同信任域对签名算法、有效期、撤销列表的要求不同,导致验证结果不一致。
- 元数据篡改:镜像索引(Index)或清单(Manifest)被篡改,但签名未覆盖元数据内容。
- 重放攻击:旧版本的合法签名被重放,用于验证新版本的恶意镜像。
2.7 信任边界在 OCI 分发中的落地
OCI 分发规范通过以下机制支持信任边界的定义与验证:
- Referrers API:将签名、SBOM、扫描报告等附加制品与镜像关联,形成可验证的信任链。
- Content Digest:所有镜像层和清单通过哈希摘要标识,确保内容完整性。
- Tag 与 Digest 分离:Tag 可变,Digest 不可变,信任验证应基于 Digest 而非 Tag。
- 可扩展的认证机制:支持 Bearer 、mTLS、OIDC 等多种认证方式,适应不同信任域策略。
设计原则:在 OCI 分发协同中,信任边界应遵循“最小权限、显式验证、审计追溯”三大原则。每个跨越信任边界的操作,都必须有明确的策略规则和可审计的日志记录。