Cosign
Cosign とは何ですか?
CosignSigstore プロジェクト由来のオープンソース CLI で、OCI 成果物などのソフトウェアに対し、鍵あり・鍵なし両方のワークフローで署名・検証・アテステーションを行うツール。
Cosign は Sigstore スタックのユーザー向けツールです。コンテナイメージ、OCI 成果物、blob、SBOM、in-toto アテステーションに署名し、署名を成果物と一緒に、または OCI レジストリに格納します。キーレスモードでは、OIDC ID に紐付いた短命な証明書を Fulcio から取得し、署名を Rekor 透明性ログに記録します。鍵モードでは従来の鍵、ハードウェアトークン、KMS マネージドな鍵を使えます。検証ポリシーでは、信頼する ID(特定の GitHub Actions ワークフローなど)、再利用可能ワークフロー、アテステーションの述語などを条件にできます。Cosign は多くの CI パイプラインや Kubernetes Admission(Kyverno、Connaisseur、OPA Gatekeeper)で標準的な署名ツールとなっており、サプライチェーンの完全性確保に貢献しています。
● 例
- 01
cosign sign --identity-token $OIDC_TOKEN ghcr.io/org/app:v1.2
- 02
本番イメージが特定の GitHub Actions ワークフローで署名されているかを Kyverno ポリシーで検証する例。
● よくある質問
Cosign とは何ですか?
Sigstore プロジェクト由来のオープンソース CLI で、OCI 成果物などのソフトウェアに対し、鍵あり・鍵なし両方のワークフローで署名・検証・アテステーションを行うツール。 サイバーセキュリティの アプリケーションセキュリティ カテゴリに属します。
Cosign とはどういう意味ですか?
Sigstore プロジェクト由来のオープンソース CLI で、OCI 成果物などのソフトウェアに対し、鍵あり・鍵なし両方のワークフローで署名・検証・アテステーションを行うツール。
Cosign はどのように機能しますか?
Cosign は Sigstore スタックのユーザー向けツールです。コンテナイメージ、OCI 成果物、blob、SBOM、in-toto アテステーションに署名し、署名を成果物と一緒に、または OCI レジストリに格納します。キーレスモードでは、OIDC ID に紐付いた短命な証明書を Fulcio から取得し、署名を Rekor 透明性ログに記録します。鍵モードでは従来の鍵、ハードウェアトークン、KMS マネージドな鍵を使えます。検証ポリシーでは、信頼する ID(特定の GitHub Actions ワークフローなど)、再利用可能ワークフロー、アテステーションの述語などを条件にできます。Cosign は多くの CI パイプラインや Kubernetes Admission(Kyverno、Connaisseur、OPA Gatekeeper)で標準的な署名ツールとなっており、サプライチェーンの完全性確保に貢献しています。
Cosign からどのように防御しますか?
Cosign に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
Cosign の別名は何ですか?
一般的な別名: cosign。
● 関連用語
- appsec№ 1044
Sigstore
短命な鍵・OIDC ID・透明性ログを組み合わせ、ソフトウェア成果物の署名・検証・保護を容易にする、Linux Foundation のオープンソースプロジェクト。
- appsec№ 784
パッケージ署名
ソフトウェアパッケージに暗号学的署名を付与し、利用者が発行者の身元と公開後に改ざんされていないことを検証できるようにする仕組み。
- appsec№ 870
プロベナンスアテステーション
ソフトウェア成果物がどのように作られたか(ソース・ビルドシステム・パラメータ・依存関係)を、署名付きかつ機械可読な形で記述する宣言で、利用者がその出所を信頼できるようにするもの。
- appsec№ 1053
SLSA Framework
Supply-chain Levels for Software Artifacts:OpenSSF が公開する段階的要件集で、ソフトウェアのビルド・署名・検証を強化し、サプライチェーン改ざんに対する耐性を段階的に高めるもの。
- appsec№ 1069
ソフトウェアサプライチェーンセキュリティ
ソースコード・依存関係・ビルド・署名・配布・デプロイに至るまで、ソフトウェア製造の各リンクを改ざん・悪意あるコード・完全性喪失から守る取り組み。
- appsec№ 522
in-toto
ソフトウェアサプライチェーンの各ステップを暗号学的に証明し、利用者がプロジェクト所有者の意図どおりに成果物が構築・処理されたことを検証できるようにするオープンフレームワーク。