
root-signingプロジェクトは、Sigstoreトラストルート(trusted_root.json) をSigstoreクライアントへ安全に配信するために使用されるTUFリポジトリを維持しています。
このリポジトリは、Sigstoreクライアントでの利用向けに https://tuf-repo-cdn.sigstore.dev/ で公開されています。
メタデータのソースはmetadata/フォルダに、アーティファクト(trusted_root.jsonなど)はtargets/フォルダにあります。 これらのソースを変更する方法の詳細については運用を参照してください。
root-signingのセキュリティは鍵保持者に依存しています。鍵保持者は、新しいtrusted_root.jsonの内容を検証したり、署名イベントで署名したりといった鍵保持者の職務を遂行する意思と能力を持つ、信頼されたコミュニティメンバーであるべきです。
アーティファクトやメタデータへのすべての変更には、Sigstoreの鍵保持者による暗号署名が必要です。現在の鍵保持者、署名要件、署名スケジュールは公開リポジトリに記載されています。
| 鍵保持者 | 任期 |
|---|---|
| Lance Ball | 2025年7月 - |
| Joshua Lock | 2022年7月 - |
| Bob Callaway | 2021年6月 - |
| Marina Moore | 2021年6月 - |
| Santiago Torres-Arias | 2021年6月 - |
| 名誉鍵保持者 | 任期 |
|---|---|
| Luke Hinds | 2021年6月 - 2022年7月 |
| Dan Lorenc | 2021年6月 - 2025年7月 |
TUFリポジトリは次の2つの方法で変更されます:
署名イベントは、鍵保持者が提案された変更に署名する、root-signingによって作成・管理されるプルリクエストです。 署名イベントは複数の理由で発生します:
いずれの場合も、署名イベントPRが作成されるトリガーは「sign/*」ブランチへのプッシュです(メンテナまたはワークフローによるもの)。
別途root-signing-stagingリポジトリがあります。 自明でない変更(メタデータやアーティファクトへの変更)は、root-signingの署名イベントで導入する前に、root-signing-stagingでテストする必要があります。
オンライン署名は次の2つの状況で発生します:
実際には、オンライン署名の有効期限のため、オンライン署名は少なくとも3日ごとに行われます。
オンライン署名は https://sigstore.github.io/root-signing/ への「プリプロダクション」デプロイにつながります。 これは完全に機能するTUFリポジトリであり、汎用的なTUFクライアントテストとSigstore固有のクライアントテスト(cosignやその他のsigstoreクライアントを使用)の両方を実行するために使用されます。テストが成功すると、https://tuf-repo-cdn.sigstore.dev/ への本番デプロイにつながります。
root-signing の重要なワークフローは以下のとおりです:
create-signing-events は、署名の有効期限が近づいたときに署名イベント用のブランチを作成します。
スケジュールで実行されますsigning-event は、署名イベントのプルリクエストを作成および管理します。"sign/*" ブランチが
プッシュされたときに実行されますonline-sign は、オンライン署名をコミットしてマージし、さらに publish をディスパッチします。
"main" がプッシュされたときに実行されます(ただし、いつでも手動でディスパッチできます)publish は、テストリポジトリを GitHub Pages に公開し、クライアントテストを実行し、最後に
リポジトリを公開します。online-sign からのディスパッチで実行されますDan Lorenc、Trishank Kuppusamy、Marina Moore、Santiago Torres-Arias、そして SigStore コミュニティ全体に特別な感謝を捧げます!
署名セレモニーの録画はこちらでご覧いただけます。