Sigstore镜像供应链信任边界架构适配与项目部署 - 第1节
1.1 软件供应链安全现状与挑战
现代软件开发高度依赖开源组件、第三方镜像与自动化流水线,软件供应链的攻击面急剧扩大。根据 Sonatype 2023 年报告,过去三年针对供应链的攻击增长了 742%,攻击者不再直接攻击应用代码,而是将恶意负载植入构建依赖、容器镜像或 CI/CD 工具链中。
1.1.1 典型攻击场景
| 攻击类型 | 攻击向量 | 真实案例 |
|---|---|---|
| 依赖混淆 | 上传同名恶意包到公共仓库,利用私有包解析优先级漏洞 | PyPI / npm 依赖混淆攻击 |
| 镜像投毒 | 在 Docker Hub 等公共仓库上传带后门的容器镜像 | Docker Hub 恶意镜像事件 |
| 构建管道劫持 | 攻破 CI/CD 凭证,篡改构建产物或签名 | SolarWinds Orion 供应链攻击 |
| 元数据篡改 | 修改 SBOM、签名或 attestation 记录 | Codecov Bash Uploader 事件 |
关键洞察: 传统安全模型依赖“信任但验证”,但在供应链场景中,上游组件、构建工具、镜像仓库和部署平台之间缺乏可审计的信任传递机制。攻击者一旦突破任意一环,下游消费者无法区分合法产物与篡改产物。
1.2 Sigstore 项目背景与定位
Sigstore 是由 Google、Red Hat、Purdue 大学等联合发起的开源项目,旨在为软件供应链提供免费的代码签名与验证基础设施。其核心目标是通过无密钥签名、透明日志和开放证书颁发,消除传统 PKI 在软件分发中的高成本和密钥管理痛点。
1.2.1 Sigstore 核心组件
- Fulcio —— 短期证书颁发机构(CA),基于 OIDC 身份签发代码签名证书,证书有效期通常为 10 分钟。
- Rekor —— 透明日志服务器,记录所有签名元数据,提供不可篡改的审计线索。
- Cosign —— 容器镜像签名与验证工具,支持对镜像、blob、SBOM 和 attestation 进行签名。
- Gitsign —— Git 提交签名工具,将 Sigstore 签名能力扩展到 Git 工作流。
设计哲学: Sigstore 采用“无密钥”模式——签名者无需管理长期私钥,每次签名通过 OIDC 身份(如 GitHub、Google、Microsoft 账号)从 Fulcio 获取短期证书。私钥仅存在于内存中,签名完成后立即销毁,极大降低密钥泄露风险。
1.3 信任边界概念与架构适配
信任边界(Trust Boundary)是安全架构中定义可信区域与不可信区域之间的分界线。在镜像供应链中,信任边界从代码提交、构建、签名、存储到部署的每个环节都需要明确定义:谁可以签名?什么条件下签名有效?验证方如何确认签名链的完整性?
1.3.1 传统信任模型 vs Sigstore 信任模型
| 维度 | 传统模型 | Sigstore 模型 |
|---|---|---|
| 密钥管理 | 长期私钥,需安全存储与轮换 | 短期证书,无密钥存储 |
| 身份绑定 | 基于 X.509 证书链 | 基于 OIDC 身份 + Fulcio 证书 |
| 审计能力 | 依赖日志系统,易被篡改 | Rekor 透明日志,不可篡改 |
| 验证复杂度 | 需要维护根证书和 CRL | 仅需信任 Sigstore 根 CA |
| 信任边界 | 静态、中心化 | 动态、去中心化、可审计 |
1.4 课程目标与学习路径
本课程旨在帮助学员建立从理论到实践的 Sigstore 镜像供应链信任边界架构能力。完成本课程后,学员将能够:
- 理解信任边界模型 —— 掌握 Sigstore 在镜像供应链中的信任传递机制,区分传统 PKI 与无密钥签名的架构差异。
- 独立部署 Sigstore 组件 —— 在 Kubernetes 集群中部署 Fulcio、Rekor、Cosign 和 Gitsign,配置高可用与持久化存储。
- 实现镜像签名与验证 —— 使用 Cosign 对容器镜像进行签名,集成到 CI/CD 流水线(GitHub Actions / GitLab CI / Jenkins)。
- 构建策略准入控制 —— 在 Kubernetes 中配置 OPA/Gatekeeper 或 Kyverno 策略,强制要求部署镜像必须经过 Sigstore 签名验证。
- 适配企业信任边界 —— 针对私有 CA、离线环境、多集群场景进行架构适配,设计符合企业合规要求的签名策略。
前置要求: 学员应具备基本的 Kubernetes 集群操作能力(kubectl、Helm)、容器镜像构建与推送经验,以及 CI/CD 流水线的基本概念。无需预先了解 Sigstore 或代码签名原理。
1.4.1 课程章节概览
| 模块 | 核心内容 | 实战产出 |
|---|---|---|
| 1. 课程导论 | 供应链安全现状、Sigstore 架构、信任边界概念 | 理解信任边界模型 |
| 2. Sigstore 组件部署 | Fulcio + Rekor + Cosign 安装与配置 | 可用的 Sigstore 栈 |
| 3. 镜像签名实战 | Cosign 签名、验证、SBOM 签名 | 签名后的镜像仓库 |
| 4. CI/CD 集成 | GitHub Actions / GitLab CI 流水线签名 | 自动化签名流水线 |
| 5. 策略准入控制 | Kyverno / OPA 策略强制验证 | K8s 准入控制策略 |
| 6. 企业架构适配 | 离线部署、私有 CA、多集群信任 | 企业级适配方案 |