「KubeCon NA 2022」 から、ソフトウェアへの署名を行う「Sigstore」のプレカンファレンスを紹介
Cloud Native Computing Foundation(CNCF)が主催する「KubeCon + CloudNativeCon North America 2022」から、ソフトウェアやアーティファクトへのデジタル署名を行うツール群、「Sigstore」のプレカンファレンスを紹介する。
SigstoreはThe Linux Foundation配下のOpen Source Security Foundation (OpenSSF)のプロジェクトで、ソフトウェアサプライチェーンにおいて生成されるアーティファクトへのデジタル認証を行う一連のツールだ。
プレカンファレンスが行われた2022年10月25日にSigstoreがGA(General Availability)になったことが発表された。
冒頭に登壇したのはSigstoreコミュニティにおけるTechnical Steering Commitee (TSC)のメンバーでもあるパーデュー大のアシスタントプロフェッサー、Santiago Torres-Arias氏だ。このカンファレンスのMC役でもある。
SigstoreはOpenSSFのプロジェクトだが、OpenSSFのプロジェクトを俯瞰するランドスケープとしても紹介されている。
●OpenSSF Sigstoreランドスケープ:https://landscape.openssf.org/sigstore
CNCFには膨大な数のプロジェクトが存在し、往々にしてエコシステムが拡大し過ぎていることをジョークにされがちだが、OpenSSFにおいてはまだシンプルな内容になっている。この図の中ではProjectsに区分けされているCosign、Rekor、Fulcio、GitsignがSigstoreを構成しているモジュールだ。このうち、RekorとFulcioがGAになったというのがSigstoreコミュニティの発表内容となる。
●SigstoreがGAになったことを告知する記事:https://blog.sigstore.dev/sigstore-ga-ddd6ba67894d
この後に同じくTSCのメンバーでもあり、Sigstoreの生みの親と称されているRed HatのLuke Hinds氏が登壇。キーノートを行なった。
Hinds氏のキーノートは以下から参照できる。
●Luke Hinds氏のキーノート:https://www.youtube.com/watch?v=WRDTpNWq6sE
Hinds氏はソフトウェアをセキュアにすることはかつては難しく費用が掛かることだったとして、それを変えたのがLet's Encryptによる無償の認証局サービスだったことを振り返り、それをソフトウェア生成物に応用することを目指したのがSigstoreの目的だったと説明した。
そしてSigstoreの歴史を振り返り、2020年6月のRekorから2022年のGAに至る経緯を説明した。
ここでモジュールについて簡単に紹介する。Cosignはデジタル署名を行うモジュール、Rekorは署名のログを記録するモジュール、Fulcioは無償の認証局サービス、GitsignはGitリポジトリにおいてコミットに署名を行うモジュールだ。
それぞれがどのように連携するのかは、Datadogのエンジニア、Ethan Lowman氏が行ったセッションのスライドから紹介しよう。
ここではCosignが認証キーを認証局であるFulcioに要求し、そのキーを使って署名、メタデータとアーティファクトをレジストリーにプッシュすると同時にRekorがタイムスタンプを付けたログを記録という流れだ。
ただ、Sigstore自体はモジュールの組み合わせとなっていることから、署名の部分をHashiCorpのVaultなどと置き換えることも可能であることを、Datadogのユースケースでは説明している。
ここではCIの一貫として更新されたコードがチェックインされると同時にVaultが署名を生成し、ビルドされたアーティファクトを保存するクラスターに送られ、最終的にKubernetesのクラスターの中のイメージと置き換えられて実行されるという部分が解説されている。
キーノートに続いて登壇したChainguardのエンジニア、Priya Wadhwa氏のセッションから、Gitにコミットする際にもシグネチャーを入れるGitsignのセッションを紹介しよう。ChainguardはSigstoreの開発を行うベンチャーだ。
Wadhwa氏はビルドされたアーティファクトだけではなく、Gitへのコミット自体にもデジタル署名が必要でることを紹介して、Gitへのコミットに署名を行うGitsignを紹介した。
ここでは、デベロッパーがコードをコミットする際にgit commit -SというコマンドでFulcioから署名が生成され、Rekorによってタイムスタンプ付きのログが保存されることでコミットが正しいユーザーによって行われること、つまり偽装を防ぐことを紹介している。Wadhwa氏のセッションは以下のリンクから参照できる。
●Wadhwa氏のセッション:https://www.youtube.com/watch?v=2c70PIFynBg
他にもAutodeskのユースケースやKubernetesのパッケージマネージャー、Helmと組み合わせたRed Hatのセッションなども行われた。Keyvernoの開発元であるNirmatのCEOとIBM Researchのエンジニアが行ったセッションはYAMLファイルにSigstoreで署名を行うという内容になっており、バイナリー以外の生成物にも署名を行うことが推奨されているのは如何にもクラウドネイティブなゼロトラストな発想と言えるだろう。
GitHub Actionsと組み合わせた場合やGitLabのCI/CDと組み合わせた場合の比較なども別セッションで紹介されており、具体的な使い方が解説されているのは導入を検討しているエンジニアには助けになるだろう。
アジェンダは以下から参照して欲しい。
●SigstoreConのアジェンダ:https://sigstoreconna22.sched.com/
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- SigstoreコミュニティがGAを発表、OSSのベストプラクティスを学べる新トレーニング「オープンソース管理と戦略」日本語版をリリース
- Open Source Summit Japan 2022開催。車載からストレージ、Kubernetesまで幅広いトピックをカバー
- CloudNativeSecurityCon開催。シアトルで2日間行われたセキュリティ特化のカンファレンスを紹介
- OpenSSFが2023年におけるOpenSSFコミュニティの活動と、その成果を公開した「2023 アニュアルレポート」を公開
- 「OpenSSF Meetup」開催、「OpenSSF Day North America」で発表された「OSSセキュリティのための動員プラン」の内容を解説
- OpenSSFのメンバー数が100社を突破、「法律専門家のためのWebAssembly」日本語版を公開
- KubeCon EU 2022のショーケースからみるKubeConの変化とは
- RustとWASMで開発されKubernetesで実装されたデータストリームシステムFluvioを紹介
- OpenSSF Day Japan開催。中国からの脅威から新しいOSSプロジェクトの紹介までを総括
- Linux Foundation、オープンソースソフトウェアの署名サービス「Sigstore」のプロジェクトを発表