Files
llm-wiki/raw/official-docs/supply-chain-cosign-keyless-sigstore.md
T

11 KiB

title, source_type, url, archive_url, status, confidence, tags, related_projects, related_branches, created, last_reviewed
title source_type url archive_url status confidence tags related_projects related_branches created last_reviewed
Cosign keyless signing — Sigstore Fulcio / Rekor official-doc https://docs.sigstore.dev/cosign/signing/overview/ raw high
supply-chain
cosign
sigstore
signing
ca-skeleton
official-doc
branch:feature-build-release-supply-chain-contract
ca-skeleton-operational-contract
feature-build-release-supply-chain-contract
feature-ci-quality-gates-contract
feature-container-runtime-contract
2026-05-22 2026-05-27

Cosign keyless signing — Sigstore Fulcio / Rekor

Layer: raw/official-docs/ — Sigstore 공식 문서 (Cosign + Fulcio + Rekor) 발췌. ca-tmpl 의 "Cosign keyless 의무 + Rekor 검증" 결정의 1차 근거.

Parent / 활용 branch (필수)

Branch 이 자료가 정당화하는 결정
raw/branch-notes/feature-build-release-supply-chain-contract "Cosign keyless signing (sigstore Fulcio) 의무화. release artifact 에 signature 누락 시 deploy block" 결정의 1차 근거. GPG 의 long-lived key 부담 회피 + Rekor transparency log 의 검증 가능성
raw/branch-notes/feature-ci-quality-gates-contract signed artifact (Cosign) verification 을 CI quality gate 로 포함 — Fulcio cert + Rekor log entry 가 검증 측에서 확인 가능한 공식 메커니즘
raw/branch-notes/feature-container-runtime-contract container image digest 식별 + cosign verify 가 같은 image identity (digest) 를 공유 — runtime 에서 검증된 image 만 실행하는 결정의 근거

또한 다음 project hub 에서도 인용:

컨텍스트 / 왜 저장했는지

feature-build-release-supply-chain-contract 결정 "Cosign keyless signing (sigstore Fulcio) 의무화. release artifact에 signature 누락 시 deploy block." 의 근거. 왜 GPG signing 대신 keyless인지, transparency log가 검증 측에서 무엇을 보장하는지 raw로 확보.

출처 / Source

핵심 인용 / Key quotes (verbatim)

A. Cosign keyless signing (docs.sigstore.dev/cosign/signing/overview/)

[§Overview] "Keyless signing associates identities, rather than keys, with an artifact signature."

[§Verifying identity and signing the artifact] "Sigstore's certificate authority verifies the identity token of the user signing the artifact and issues a certificate attesting to their identity."

[§Recording signing event] "The Rekor transparency log 'witnesses' the signing event by entering a timestamped entry into the records that attests that the secure signing process has occurred."

B. Fulcio (docs.sigstore.dev/certificate_authority/overview/)

[§Fulcio] "Fulcio is a free code signing Certificate Authority, built to make short-lived certificates available to anyone. Based on an OpenID Connect email address, Fulcio signs X.509 certificates valid for 10 minutes."

C. Rekor (docs.sigstore.dev/logging/overview/)

[§Rekor — goals] "Rekor aims to provide an immutable, tamper-resistant ledger of metadata generated within a software project's supply chain."

[§Rekor — usage] "It enables software maintainers and build systems to record signed metadata to an immutable record. Other parties can then query this metadata, enabling them to make informed decisions on trust and non-repudiation of an object's lifecycle."

D. 본 정독에서 verbatim 확보 못함 (needs-confirmation)

이전 raw 노트에 있던 다음 인용은 2026-05-27 정독에서 동일 단어 그대로 확보 못함 → strength downgrade:

"GPG signing requires long-lived private keys that must be securely stored and rotated, creating significant operational burden. Keyless signing eliminates this by binding signatures to short-lived OIDC identities recorded in a transparency log."

→ Sigstore docs 의 정확한 같은 문장이 현재 페이지에서 확보 안 됨. "Sigstore project rationale (compiled from docs)" 로 출처가 모호하게 표기되어 있어 needs-confirmation 처리. ca-tmpl 의 GPG 대비 정당화는 별도 keyless 의 short-lived cert 사실 (COSIGN-C2) 과 Rekor 의 transparency 사실 (COSIGN-C4) 의 조합으로 충분히 도출 가능.

Claims Extracted / 추출된 주장

Claim ID Claim (이 자료가 직접 말하는 것) Evidence quote Strength Applies to Does not prove
COSIGN-C1 Cosign 의 keyless signing 은 "키 대신 identity 를 artifact signature 에 결합" 하는 방식 — 즉 long-lived key 대신 OIDC identity 가 1차 신원 [§Cosign Overview] "Keyless signing associates identities, rather than keys, with an artifact signature." official-vendor-doc Cosign keyless mode 일반 "keyless = 키가 전혀 존재하지 않음" 의 뜻은 아님 (ephemeral keypair 사용. COSIGN-C2 참조)
COSIGN-C2 Sigstore CA (Fulcio) 는 signer 의 OIDC identity token 을 검증한 후 그 identity 를 증명하는 X.509 certificate 를 발급한다 [§Cosign — Verifying identity] "Sigstore's certificate authority verifies the identity token of the user signing the artifact and issues a certificate attesting to their identity." official-vendor-doc Fulcio + Cosign 결합 signing flow OIDC IdP 가 GitHub Actions 만 가능하다는 뜻은 아님 — Microsoft/Google/GitHub 등 복수 (별도 페이지)
COSIGN-C3 Fulcio 는 OIDC email 기반으로 10 분 valid 의 short-lived X.509 certificate 를 발급하는 free code signing CA [§Fulcio] "Fulcio is a free code signing Certificate Authority, built to make short-lived certificates available to anyone. Based on an OpenID Connect email address, Fulcio signs X.509 certificates valid for 10 minutes." official-vendor-doc Fulcio 가 발급한 cert 의 유효기간 "사인된 artifact 도 10분 후에 무효된다" 는 뜻은 아님 — signature 자체는 영구, Rekor log 가 timestamp 보장 (COSIGN-C4)
COSIGN-C4 Rekor transparency log 는 signing event 를 timestamped entry 로 immutable record 에 기록하여 "secure signing process 가 발생했음" 을 증인한다 [§Cosign — Recording] "The Rekor transparency log 'witnesses' the signing event by entering a timestamped entry into the records that attests that the secure signing process has occurred." official-vendor-doc signature timestamp + 검증 Rekor 가 artifact 의 content 자체를 저장한다는 뜻은 아님 — signed metadata 만
COSIGN-C5 Rekor 의 목표는 "software supply chain 내에서 생성된 metadata 의 immutable, tamper-resistant ledger 를 제공" 하는 것 [§Rekor — goals] "Rekor aims to provide an immutable, tamper-resistant ledger of metadata generated within a software project's supply chain." official-vendor-doc supply chain transparency 일반 "Rekor 가 모든 supply chain attack 을 차단한다" 는 뜻은 아님 — detection 기반 도구
COSIGN-C6 Rekor 는 maintainer / build system 이 signed metadata 를 immutable record 에 기록하고, 외부 third party 가 그것을 query 하여 trust 및 non-repudiation 결정을 내릴 수 있게 한다 [§Rekor — usage] "It enables software maintainers and build systems to record signed metadata to an immutable record. Other parties can then query this metadata, enabling them to make informed decisions on trust and non-repudiation of an object's lifecycle." official-vendor-doc 검증 측 (deploy gate, downstream consumer) 정확한 query API endpoint / 응답 schema 는 본 인용 범위 밖
COSIGN-C7 (needs-confirmation) "GPG 의 long-lived private key 부담을 keyless 가 제거" 라는 공식 진술 (verbatim 미확보) needs-confirmation GPG vs keyless 비교 정당화 이전 정독의 동일 문장이 2026-05-27 페이지에서 확인되지 않음. ca-tmpl 의 결정 정당화는 COSIGN-C1+C3+C4 의 조합으로 충분

Usage Boundaries / 적용 경계

  • 이 자료가 직접 증명하는 것:
    • COSIGN-C1/C2: keyless signing 의 정확한 의미 (identity ↔ signature 결합) + Fulcio 의 OIDC 검증 후 cert 발급 flow
    • COSIGN-C3: Fulcio cert 의 10 분 유효 사실
    • COSIGN-C4/C5/C6: Rekor 의 immutable ledger + timestamped entry + third-party query 가능성
  • 이 자료가 증명하지 않는 것:
    • cosign verify --certificate-identity=... --certificate-oidc-issuer=... 의 정확한 CLI 사용법 (별도 cosign reference)
    • GitHub Actions OIDC token + Fulcio + Rekor 의 end-to-end 실측 latency / 가용성 SLA
    • Notary v1 (Docker Content Trust) 와의 정확한 비교 우위 / 열위 (별도 비교 문서)
    • "signature 누락 시 deploy block" 의 구체적인 admission controller 구현 (Kyverno / OPA Gatekeeper / sigstore-policy-controller 별도)
    • COSIGN-C7 의 "GPG 대비 운영 부담 감소" 주장의 공식 단언 (verbatim 미확보)
  • 내 프로젝트에 적용하려면 추가 확인이 필요한 것:
    • ca-tmpl 의 "signature 누락 시 deploy block" 외에 identity 매칭 정책 (certificate-identity + oidc-issuer pinning) 의 명문화 — 현재 branch note 누락
    • Rekor public instance (rekor.sigstore.dev) 의 가용성 SLA 와 ca-tmpl deploy gate 의 timeout 정책
    • OIDC IdP 장애 시 release pipeline 의 graceful degradation 전략

메모 / Notes (내 프로젝트 해석)

본 섹션은 자료 직접 인용 아님. ca-tmpl 결정 컨텍스트 해석.

  • Keyless ≠ "키가 없다". short-lived cert + OIDC identity로 long-lived private key 보관 부담을 제거한다는 의미.
  • GitHub Actions OIDC token → Fulcio cert → image sign → Rekor log entry 체인이 GitHub Actions backend와 정확히 맞물림 (CI gate branch의 backend 선택과 일관).
  • 검증 측은 cosign verify --certificate-identity=... --certificate-oidc-issuer=https://token.actions.githubusercontent.com 형태로 issuer + identity를 강제. ca-tmpl이 "signature 누락 시 deploy block" 외에 identity 매칭 정책도 명시해야 안전. 현재 branch note에 없음 → 추후 보완 후보.
  • Notary v1 (Docker Content Trust) 대비 장점: 키 관리 부재, transparency log 공개 검증. 단점: OIDC IdP 가용성 의존.