「KubeCon NA 2022」 から、ソフトウェアへの署名を行う「Sigstore」のプレカンファレンスを紹介

2023年2月9日(木)
松下 康之 - Yasuyuki Matsushita
ソフトウェアへの署名を行うツール群、「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がGAになったことを宣言

SigstoreがGAになったことを宣言

冒頭に登壇したのはSigstoreコミュニティにおけるTechnical Steering Commitee (TSC)のメンバーでもあるパーデュー大のアシスタントプロフェッサー、Santiago Torres-Arias氏だ。このカンファレンスのMC役でもある。

SigstoreはOpenSSFのプロジェクトだが、OpenSSFのプロジェクトを俯瞰するランドスケープとしても紹介されている。

Sigstoreのランドスケープ

Sigstoreのランドスケープ

●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氏が登壇。キーノートを行なった。

キーノートに登壇したのはRed HatのLuke Hinds氏

キーノートに登壇したのは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氏が行ったセッションのスライドから紹介しよう。

Sigstoreのアーキテクチャー

Sigstoreのアーキテクチャー

ここではCosignが認証キーを認証局であるFulcioに要求し、そのキーを使って署名、メタデータとアーティファクトをレジストリーにプッシュすると同時にRekorがタイムスタンプを付けたログを記録という流れだ。

ただ、Sigstore自体はモジュールの組み合わせとなっていることから、署名の部分をHashiCorpのVaultなどと置き換えることも可能であることを、Datadogのユースケースでは説明している。

Datadog社内のユースケースの解説

Datadog社内のユースケースの解説

ここではCIの一貫として更新されたコードがチェックインされると同時にVaultが署名を生成し、ビルドされたアーティファクトを保存するクラスターに送られ、最終的にKubernetesのクラスターの中のイメージと置き換えられて実行されるという部分が解説されている。

キーノートに続いて登壇したChainguardのエンジニア、Priya Wadhwa氏のセッションから、Gitにコミットする際にもシグネチャーを入れるGitsignのセッションを紹介しよう。ChainguardはSigstoreの開発を行うベンチャーだ。

Gitコミットが偽装されて脆弱性がコードに侵入した事例を紹介

Gitコミットが偽装されて脆弱性がコードに侵入した事例を紹介

Wadhwa氏はビルドされたアーティファクトだけではなく、Gitへのコミット自体にもデジタル署名が必要でることを紹介して、Gitへのコミットに署名を行うGitsignを紹介した。

Gitsignの紹介。Git+CosignがGitsign

Gitsignの紹介。Git+Cosignが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/

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

仮想化/コンテナイベント
第8回

KubeCon NA 2022、日本人参加者による座談会でWebAssemblyの未来を読む

2023/3/10
KubeCon NA 2022に参加した日本人エンジニアに集まっていただき実施した座談会のようすを紹介する。
仮想化/コンテナイベント
第7回

写真で見る「KubeCon NA 2022」活気が戻ったショーケースを紹介

2023/3/8
KubeCon NA 2022の会場から、ベンダーやユーザー企業が出展したショーケースを紹介する。
クラウドイベント
第6回

「KubeCon NA 2022」から、WasmEdgeを開発するSecond StateのMichael Yuanのインタビュー

2023/3/7
KubeCon NA 2022から、WASMのランタイムWasmEdgeを開発するSecond StateのCEOへのインタビューを紹介する。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています