Linux Foundationの支援を受けて、Sigstoreはソフトウェアサプライチェーンをより安全にするために、オープンソースプロジェクトによる暗号化署名の採用を促進する非営利サービスを提供することを目指している。
Sigstoreが取り組もうとしている主な問題は、ソフトウェアの出所、あるいは、どのようにそれがビルドされたかを知ることの難しさである。そのソフトウェアがより大きなプロジェクトに含まれている場合、これは特に注意が必要となる。外部からの攻撃への道が開かれることになる。GoogleのセキュリティエンジニアであるKim Lewandowski氏とDan Lorenc氏はイニシアチブを紹介で次のように述べている。
今日のほとんどのオープンソースソフトウェアのインストールは、ランダムにUSBフラッシュメモリをピックアップして、あなたのマシンに接続するのと同じです。
サプライチェーン攻撃は実在する。RubyGems、NPMなどの一般的なパッケージングシステムに注入された悪意のあるパッケージの複数のケースで示されている。おそらく、最近の最も影響力のあるサプライチェーン攻撃は、SolarWindsの侵害である。米国政府機関を含む数千の顧客に影響を及ぼした。
GoogleのEric Brewer氏、Rob Pike氏らは最近、オープンソースの脆弱性に対する多面的なアプローチの重要性を強調しました。そのアプローチは、3つのアイデア、つまり、知る、防ぐ、修正することに基づいている。
オープンソースは、クローズドソースよりも依存関係を利用している可能性が高く、幅広いサプライヤからのものである。信頼する必要のある個別のエンティティの数は非常に多くなる可能性があります。そのため、製品でオープンソースがどのように使用されているか、そして、どの脆弱性が関連している可能性があるかを理解することが非常に困難になります。また、構築されたものがソースコードと一致するという保証もないです。
それらはオープンに利用できるため、原則、組織がすべての依存関係を検査および検証することは可能である。一方で、たとえばKubernetsには約1,000の依存関係があることを考えると、これは通常現実的ではないと彼らは言っている。
この問題に取り組むための戦略の1つは、開発者にtarball、コンテナイメージ、バイナリなどのアーティファクトに署名させることである。
この目的のために、Sigstoreは一時的な短期間のキーペアの生成できるようにしている。これを使って、OpenID接続許可とともにSigstore PKIサービスを使用して署名証明書を生成する。Sigstoreは、すべての証明書が証明書の透明性ログに保存され、ソフトウェア署名マテリアルが署名の透明性ログに送信されることも保証する。
Sigstoreの透明性ログは、出所、整合性、発見可能性のソースとして機能します。公開されている場合、誰でもsigstoreの透過性ログで、使用されているソフトウェア名前空間の発生を監視できます。そして、アーティファクトのダイジェストを使用してクエリを実行したり、特定のメールアドレスや公開鍵で署名されたエントリを返したりできます。
Sigstoreを支えるチームは、ブロックチェーンを使用する可能性を検討したが、そのアプローチには多くの実際的な制限があるため除外した。例えば、ブロックチェーンが正規化や認証などのために、一元化されたエントリポイントを使用することが多いという事実がある。さらに、コンセンサスアルゴリズムは、とにかく多くの攻撃を受けやすい。
Sigstoreはプロジェクトとしてまだ初期段階にあり、「rekor」という名前の透過性ログが最も高度なコンポーネントである。WebPKIとクライアント署名ツールはまだプロトタイプレベルである。詳細については、プロジェクトのSlackワークスペースを確認してください。