Sigstoreとは?ソフトウェアアーティファクトの簡単な署名
Sigstoreは、開発者に長期間有効な秘密鍵の管理を強いることなく、ソフトウェアアーティファクトの署名と検証をシンプルにするオープンソースのツールチェーンです。
ソフトウェアへの署名は常に価値があり、常に手間がかかるものでした。鍵を生成し、守り、決して失わないようにする必要があったのです。Sigstoreはその摩擦を取り除きます。すでに持っているアイデンティティに紐づいた短命の証明書を使ってアーティファクトに署名でき、すべての署名を公開された改ざん検出可能なログに記録します。その結果、チームが実際に使う署名が実現します。
Sigstoreの構成要素
- Cosign: アーティファクトとコンテナイメージに署名し検証するCLI。
- Fulcio: 短命の署名証明書を発行する認証局。
- Rekor: すべての署名を記録する公開透明性ログ。
keyless署名の仕組み
長期間有効な秘密鍵の代わりに、OIDCアイデンティティで認証します。Fulcioが数分間だけ有効な証明書を発行し、あなたはそれで署名し、署名と証明書がRekorに記録されます。盗まれたりローテーションが必要になったりする永続的な鍵はありません。
透明性ログ
Rekorはappend-onlyの公開ログです。誰でも署名が存在し特定の時点で行われたことを検証でき、ログの改ざん検出性により、エントリーをこっそり過去の日付にしたり削除したりすることが困難になります。これにより署名が監査可能なものになります。
なぜ普及したのか
Sigstoreはアーティファクト署名を無料で、keylessで、開発者がすでに持つアイデンティティと統合しました。これにより障壁が十分に下がり、コンテナイメージへの署名やattestationの生成が、専門家の作業ではなくCIの通常の一部になりました。
パイプラインの中のSigstore
CIでは、パイプラインがそのworkload identityで認証し、短命の証明書を取得し、アーティファクトに署名します。すべて保存された鍵なしで行われます。これを隔離されたエフェメラルなbuilder上で実行することで、署名アイデンティティが他のjobに晒されないことが保証されます。
重要なポイント
- Sigstoreは長期間有効な秘密鍵なしでアーティファクト署名を簡単にします。
- Cosignが署名し、Fulcioが短命の証明書を発行し、Rekorがすべての署名を記録します。
- keylessでアイデンティティベースの署名は鍵管理の負担を取り除きます。