Cosign vs Notary: container イメージの署名
Cosign(Sigstore)は広く採用されているモダンなイメージ署名ツールで、特に keyless 署名が特徴です。従来の Notary v1(DCT)は概ねレガシーで、その後継が Notation です。
イメージ署名は来歴と完全性を証明します。Sigstore の一部である Cosign は、鍵ベースと keyless(OIDC、transparency log)の署名をサポートし、署名を registry 内でイメージと並べて保存します。Notary v1 は Docker Content Trust を支えていましたが、今では概ねレガシーで、CNCF の Notary プロジェクトは Notation として続いています。
| Cosign | Notary | |
|---|---|---|
| プロジェクト | Sigstore | Notary v1(レガシー) / Notation v2 |
| keyless 署名 | あり(OIDC + Rekor ログ) | なし |
| 採用状況(2026) | 広範かつ拡大中 | v1 はレガシー、Notation が台頭 |
| 署名の保存 | OCI registry 内 | TUF メタデータ |
| CI での使いやすさ | 強い(OIDC からの keyless) | セットアップが重い |
Cosign が優れている点
Cosign は事実上のモダンな選択肢です。keyless 署名は CI の OIDC アイデンティティと transparency log(Rekor)を使うため、管理すべき長寿命の鍵がなく、エフェメラルな CI によく合います。署名は registry 内でイメージの隣に置かれ、Sigstore のエコシステム(policy、attestations)は広範です。
Notary/Notation が適する場面
従来の Notary v1(Docker Content Trust)は概ねレガシーであり、新しい作業を始めるべきではありません。CNCF の Notation プロジェクト(Notary v2)は TUF ベースで registry ネイティブな署名標準を提供し、一部のエンタープライズ/registry ベンダーに支持されており、そのエコシステムに標準化する組織に合う可能性があります。
CI では
Cosign の keyless 署名は CI の OIDC トークンと自然に組み合わさり、鍵の保存を避けられます。registry やコンプライアンススタックが Notation を要求するなら使いましょう。そうでなければ、Cosign がモダンなパイプラインでよりシンプルで広くサポートされたデフォルトです。
結論
新しいパイプラインでは、特に CI の OIDC に紐づく keyless 署名で Cosign を優先し、Notary v1 はレガシーとして扱いましょう。registry や組織が標準化している場合のみ Notation を検討してください。