【コサイン】

Cosign とは?

💡 コンテナイメージに「本物の証明書」を貼り付ける信頼の印鑑
📌 このページのポイント
Cosign によるコンテナイメージの署名・検証フロー CI/CD GitHub Actions Docker Image ビルド済みイメージ 署名済みイメージ cosign sign Rekor 公開透明ログ デプロイ前検証 cosign verify ビルド 署名 記録 Fulcio CA 一時証明書発行 キーレス署名
Cosign の署名・検証フローとSigstoreエコシステム
ひよこ ひよこ

Cosignって何?コサイン(cos)って数学の三角関数と関係あるの?

ペンギン先生 ペンギン先生

全然関係ないよ!CosignはSigstoreプロジェクトのツールで、コンテナイメージに「これは本物ですよ」っていう署名を付けるためのものだよ。

ひよこ ひよこ

署名って、ファイルに判子みたいなものを押すイメージ?

ペンギン先生 ペンギン先生

そのとおり!デジタル署名を使って、イメージが改ざんされていないこと・誰が作ったかを証明できるんだ。ソフトウェアサプライチェーン攻撃を防ぐのに役立つよ。

ひよこ ひよこ

キーレス署名って何なの?秘密鍵がなくていいってこと?

ペンギン先生 ペンギン先生

そう!従来は秘密鍵ファイルを管理する必要があったけど、キーレス署名ではGitHub ActionsOIDCトークンを使って一時的な証明書を発行するんだ。鍵の管理ミスによる漏洩リスクがゼロになるよ。

ひよこ ひよこ

署名の記録はどこに残るの?

ペンギン先生 ペンギン先生

Rekorという公開の改ざん防止ログに自動で記録されるよ。誰でも検証できる透明性が特徴で、後から「このイメージはいつ・誰が署名したか」を追跡できるんだ。

ひよこ ひよこ

実際の開発でどうやって使うの?

ペンギン先生 ペンギン先生

CI/CDのパイプラインに組み込むのが一般的だよ。GitHub ActionsDockerイメージをビルドした直後に `cosign sign` を実行して、デプロイ前に `cosign verify` で検証するというフローが広まっているんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Cosign」って出てきたら「コンテナイメージが本物かどうか署名で証明するツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Cosign」 = 共同署名・連署
💬 英語の「co-sign(共同で署名する)」が語源で、ソフトウェアのサプライチェーン全体で「一緒に署名して信頼を担保しよう」という意図が込められているんだよ。
← 用語集にもどる