3. 信任边界定义:信任边界的逻辑划分、边界内外的数据流特征、信任传递模型

在 Cosign 镜像供应链安全体系中,信任边界是区分可信与不可信操作环境的逻辑分界线。明确信任边界的划分、边界内外的数据流特征以及信任传递模型,是进行数据传输性能优化的前提。错误的边界划分会导致安全盲区或过度校验,直接影响镜像签验性能。

3.1 信任边界的逻辑划分

Cosign 的信任边界通常按以下四个维度进行逻辑划分:

维度 边界名称 边界范围 信任等级
身份 密钥持有边界 私钥持有者、硬件安全模块(HSM)、KMS 最高
存储 仓库信任边界 OCI 镜像仓库、签名存储(Rekor、Docker Registry) 中
执行 运行时边界 CI/CD 流水线、Kubernetes 准入控制器 中
网络 传输边界 客户端与仓库、仓库与 Rekor 之间的网络链路 低
性能优化提示: 密钥持有边界是信任的根,所有签名操作必须在此边界内完成。将签名操作迁移至 HSM 或 KMS 可减少本地密钥泄露风险,同时通过硬件加速提升签名性能。

下图展示了 Cosign 镜像供应链中的信任边界逻辑划分:

Cosign 信任边界逻辑划分 密钥持有边界 私钥 / HSM / KMS 签名操作 信任根 信任等级: 最高 仓库信任边界 OCI 镜像仓库 签名存储 Rekor 透明日志 信任等级: 中 运行时边界 CI/CD 流水线 K8s 准入控制器 策略执行点 信任等级: 中 传输边界(网络链路) 客户端 ↔ 仓库 ↔ Rekor ↔ 运行时 说明: • 密钥持有边界是信任的根,所有签名操作必须在此边界内完成。 • 传输边界跨越所有其他边界,是数据传输性能优化的关键区域。 • 运行时边界是策略执行点,验证签名和信任链的最终环节。

3.2 边界内外的数据流特征

不同信任边界之间的数据流具有显著差异,理解这些特征有助于针对性地优化传输性能:

3.2.1 边界内部数据流

  • 密钥持有边界内部: 私钥操作在 HSM/KMS 内部完成,数据流为本地内存或硬件总线,延迟通常在微秒级,带宽极高。
  • 仓库信任边界内部: 镜像层与签名文件在 OCI 仓库内部存储,数据流为内部存储网络,延迟在毫秒级,带宽受限于存储后端。
  • 运行时边界内部: 策略引擎与准入控制器之间的通信,数据流为进程间通信或本地网络,延迟较低。

3.2.2 边界之间数据流

数据流方向 传输内容 数据量级 延迟特征 性能瓶颈
密钥边界 → 仓库边界 签名结果(.sig 文件) KB 级 低(毫秒) 签名生成速度
仓库边界 → 运行时边界 镜像层 + 签名 + 证书 MB ~ GB 级 高(秒级) 镜像拉取带宽
运行时边界 → Rekor 验证请求 / 查询 KB 级 中(百毫秒) Rekor API 响应
传输边界(跨所有边界) 所有网络数据包 动态变化 受网络质量影响 TLS 握手 / 带宽
性能优化关键发现: 仓库边界到运行时边界的数据流是最大的性能瓶颈,因为镜像层数据量巨大。签名文件本身很小(KB 级),但验证时需要拉取整个镜像层,导致传输延迟显著增加。

3.3 信任传递模型

Cosign 采用链式信任传递模型,信任从密钥持有边界逐级传递到运行时边界。该模型定义了信任如何在边界之间安全、高效地转移。

信任传递的核心步骤:

  1. 根信任建立: 在密钥持有边界内,使用私钥对镜像摘要进行签名,生成签名载荷。
  2. 签名存储: 签名载荷通过传输边界传递到仓库信任边界,存储在 OCI 仓库或 Rekor 透明日志中。
  3. 信任验证: 在运行时边界,验证者从仓库拉取镜像和签名,使用公钥验证签名有效性。
  4. 信任链回溯: 验证者通过 Rekor 查询签名记录,确认签名在特定时间点存在,防止密钥泄露后的重放攻击。

下图展示了 Cosign 的信任传递模型:

Cosign 信任传递模型 密钥持有者 私钥 / HSM 签名操作 cosign sign 仓库 / Rekor 签名存储 验证者 cosign verify ① 签名 ② 存储 ③ 查询 ④ 拉取签名 ⑤ 验证 信任传递模型要点: • 信任从密钥持有者出发,经过签名、存储、查询、拉取、验证五个步骤完成传递。 • 虚线表示验证者直接使用公钥验证签名,无需依赖仓库的信任状态。

3.4 信任传递对性能的影响

信任传递模型直接影响数据传输性能,主要体现在以下方面:

传递阶段 性能开销 优化方向
签名生成(①) CPU 密集型,ECDSA P-256 约 1-5ms 使用硬件加速(HSM/KMS)
签名存储(②) 网络 I/O,KB 级数据 批量上传、连接复用
查询 Rekor(③) API 调用延迟,50-200ms 本地缓存、异步查询
拉取签名(④) 网络 I/O,KB 级数据 镜像层缓存、增量拉取
验证签名(⑤) CPU 密集型,公钥验证约 0.5-2ms 批量验证、并行处理
常见误区: 不要将信任传递模型中的“信任”理解为“无条件信任”。Cosign 的信任传递是可验证的,每个环节都需要进行密码学验证。跳过验证环节虽然能提升性能,但会破坏供应链安全。

3.5 信任边界与数据传输性能的关系总结

信任边界的划分决定了数据流必须跨越的节点数量和传输距离。每跨越一个信任边界,数据就需要经历一次序列化/反序列化、加密/解密或签名/验证操作,这些操作是性能开销的主要来源。

性能优化的核心策略:

  • 减少边界跨越次数: 将签名和验证操作尽量在同一个信任边界内完成,避免不必要的数据传输。
  • 压缩边界间数据量: 只传输必要的签名元数据,而非整个镜像层。
  • 并行化边界间通信: 在验证多个镜像时,并行发起签名拉取和验证请求。
  • 缓存信任状态: 在运行时边界内缓存已验证的签名结果,避免重复验证。