【コサイン】
Cosign とは?
最終更新:
💡 期待した署名者か、署名した内容と一致するかを確かめる
Sigstoreのソフトウェア署名・検証ツール。コンテナイメージやファイルなどの署名を確認し、期待する署名者と成果物の一致を確かめるために使う。署名が正しくても、そのソフトウェアの安全性や開発過程まで保証されるわけではない。
📌 このページのポイント
Cosignって何を確かめるツール?
署名があれば、安全なソフトウェアなの?
署名だけでは判断できないよ。署名者は必ずしも作者とは限らないし、危険なコードにも署名できる。署名の検証は、決めた署名者や内容との一致を確かめるもの。コードの安全性やビルドの過程を確認するには、別の情報や検査も必要なんだ。
キーレス署名は秘密鍵を使わないの?
秘密鍵は使うよ。署名時に一時的な鍵のペアを作り、OIDCで得た身元情報と公開鍵をFulcioの短期証明書で結び付ける。長く保管する秘密鍵を減らす仕組みなんだ。認証情報やCI環境が悪用される可能性まで、ゼロになるわけではないよ。
署名の記録はどこに残るの?
標準的なキーレス署名ではRekorという透明ログに署名の情報を記録するよ。後から監査や検証に使えるんだ。ただしCosignには自分で管理する鍵を使う方式や、独自のSigstoreサービスを使う構成もある。すべてが同じ公開ログを使うとは限らないよ。
開発ではどう使うの?
たとえばCIでビルドしたイメージを署名し、配布やデプロイ前に検証するよ。キーレス検証なら、期待する証明書の身元をcertificate-identity、認証元をcertificate-oidc-issuerで指定する。誰かの署名が有効というだけでなく、受け入れる相手を決めて確認するんだ。
📖 おまけ:英語の意味
「Cosign」 = 共同署名・連署
💬 英語のco-signは「共同で署名する」という意味だよ。ここではSigstoreの署名・検証ツールの名前として使われているんだ