Linux Foundation は、Google、Red Hat、Purdue 大学の支援を受けて、開発者がリリースするコードに署名できるようにする sigstore というサービスを開始します。
コードに署名するには、暗号署名を特定のデジタル アーティファクト (リリース ファイル、コンテナー イメージ、バイナリ) に関連付ける必要があります。これにより、ソフトウェアを使用するユーザーはコードの署名をチェックして、リリースが本物であり、途中で誰かによって変更されていないことを確認できます。
「Sigstore は、すべてのオープンソースコミュニティがソフトウェアに署名することを可能にし、出所、整合性、発見可能性を組み合わせて、透明で監査可能なソフトウェアサプライチェーンを作成します」と、レッドハットの CTO オフィスでセキュリティエンジニアリングをリードするルーク・ハインズ氏は声明で述べた。
Sigstore は、開発者が自分でコードに署名したり、複数のメンテナーがいるプロジェクトの一環としてコードに署名したりするときに発生するキー管理の問題に対処する必要がないように、開発者にとってプロセスが簡単になるような方法でサービスを提供することを目的としています。
「開発者がソフトウェアの真正性を暗号署名で証明するために利用できるツールは、その役割を十分に果たしていません」と、ハインズ氏はThe Register紙のインタビューで述べた。「私たちが直面している現在の状況では、それらは実際には適用できません。」
Sigstore は、TLS/SSL 証明書へのアクセスを大幅に改善した ISRG の Let's Encrypt と同様に、無料の非営利サービスとして設計されています。
Let's Encrypt が大規模なアップグレードを完了、「最悪のシナリオ」で 2 億件のセキュリティ証明書を削除して置き換えることが可能に
続きを読む
「これはAppleの署名モデルに大きく影響を受けており、Microsoftも同様のモデルを持っています」と、Googleのオープンソースチームのソフトウェアエンジニア、ダン・ロレンス氏は述べた。「私たちはそれを、Let's Encryptのような、短命の鍵を自動的に付与・管理するアプローチと組み合わせようとしているのです。」
Lorenc氏は、Node.jsアプリを開発している開発者が、そのアプリをNode Package Managerレジストリであるnpmに公開したいという例を挙げました。アプリに署名するためのコマンドを実行すると、ブラウザが開き、OpenID Connect(OIDC)認証フローと二要素認証チェックを完了して認可トークンを取得します。証明書はOIDCメールアドレスに自動的に発行され、npmにアップロードされます。
ハインズ氏によると、保存されるデータは、デジタル アーティファクトに署名するために使用された署名、OIDC ログインに関連付けられた電子メール アドレス、公開鍵、および署名されたコンポーネントのダイジェスト (ハッシュ関数の出力) のみです。
「他人のインフラに秘密鍵を保管する必要はありません」とハインズ氏は述べた。「これがこのシステムの本当に素晴らしい点です。鍵は生成された後、すぐに破棄されます。再利用することはできません。」
秘密鍵を他人のインフラに保存する必要はない
Sigstore は X.509 PKI と透明性ログに基づいており、発行された署名を確認する方法を提供します。
sigstore が潜在的な不正使用にどのように対処するかとの質問に対し、Hinds 氏は、サービスは監査用に設定されていると述べた。
「署名システムは透明性ログと呼ばれる技術によって支えられており、そこにはすべての署名と誰が何に署名したかが保存されているので、不正なものが入ってくるのをブロックしたいわけではない」と同氏は語った。
これにより、提供されるAPIを介して誰でも署名を監査できるようになります。実際、Hinds氏は、ソフトウェア企業がこの機能を自社のセキュリティ監視サービスに統合すると予想しています。
「それが利用可能になれば、セキュリティ研究者はこれを徹底的に精査し、何が起こっているのかを調べ始めることができる」と彼は述べ、タイポスクワッティングやその他の疑わしいパターンの検出に使用できる可能性があると想像した。®