プロベナンスアテステーション
プロベナンスアテステーション とは何ですか?
プロベナンスアテステーションソフトウェア成果物がどのように作られたか(ソース・ビルドシステム・パラメータ・依存関係)を、署名付きかつ機械可読な形で記述する宣言で、利用者がその出所を信頼できるようにするもの。
プロベナンスアテステーションは、「この成果物はどこから来たのか」という問いに、慣習的な信頼ではなく暗号学的な証拠で答えるものです。標準フォーマットには in-toto アテステーションや SLSA Provenance v1 があり、ソースリポジトリのコミット、ビルドプラットフォーム、レシピ、マテリアル、タイムスタンプを記録し、ビルダーが署名します。利用側は、信頼するビルダーの ID、許容するソースリポジトリ、想定するワークフロー、SLSA レベルなどのポリシーに照らしてアテステーションを検証します。Sigstore Cosign、GitHub Actions、Tekton Chains、GitLab CI、SLSA 準拠のビルド基盤などは、アテステーションを自動生成できます。プロベナンスは、改ざんされたバイナリの検知や、米国大統領令 14028、EU の Cyber Resilience Act などの規制要件を満たすうえで重要な統制です。
● 例
- 01
GitHub 再利用可能ワークフローが生成し、デプロイ時に検証する SLSA Provenance v1。
- 02
Kyverno ポリシーで、信頼する Builder のプロベナンスが付いたコンテナイメージのみを許可する設定。
● よくある質問
プロベナンスアテステーション とは何ですか?
ソフトウェア成果物がどのように作られたか(ソース・ビルドシステム・パラメータ・依存関係)を、署名付きかつ機械可読な形で記述する宣言で、利用者がその出所を信頼できるようにするもの。 サイバーセキュリティの アプリケーションセキュリティ カテゴリに属します。
プロベナンスアテステーション とはどういう意味ですか?
ソフトウェア成果物がどのように作られたか(ソース・ビルドシステム・パラメータ・依存関係)を、署名付きかつ機械可読な形で記述する宣言で、利用者がその出所を信頼できるようにするもの。
プロベナンスアテステーション はどのように機能しますか?
プロベナンスアテステーションは、「この成果物はどこから来たのか」という問いに、慣習的な信頼ではなく暗号学的な証拠で答えるものです。標準フォーマットには in-toto アテステーションや SLSA Provenance v1 があり、ソースリポジトリのコミット、ビルドプラットフォーム、レシピ、マテリアル、タイムスタンプを記録し、ビルダーが署名します。利用側は、信頼するビルダーの ID、許容するソースリポジトリ、想定するワークフロー、SLSA レベルなどのポリシーに照らしてアテステーションを検証します。Sigstore Cosign、GitHub Actions、Tekton Chains、GitLab CI、SLSA 準拠のビルド基盤などは、アテステーションを自動生成できます。プロベナンスは、改ざんされたバイナリの検知や、米国大統領令 14028、EU の Cyber Resilience Act などの規制要件を満たすうえで重要な統制です。
プロベナンスアテステーション からどのように防御しますか?
プロベナンスアテステーション に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
プロベナンスアテステーション の別名は何ですか?
一般的な別名: SLSA プロベナンス, ビルドプロベナンス。
● 関連用語
- appsec№ 1053
SLSA Framework
Supply-chain Levels for Software Artifacts:OpenSSF が公開する段階的要件集で、ソフトウェアのビルド・署名・検証を強化し、サプライチェーン改ざんに対する耐性を段階的に高めるもの。
- appsec№ 522
in-toto
ソフトウェアサプライチェーンの各ステップを暗号学的に証明し、利用者がプロジェクト所有者の意図どおりに成果物が構築・処理されたことを検証できるようにするオープンフレームワーク。
- appsec№ 1044
Sigstore
短命な鍵・OIDC ID・透明性ログを組み合わせ、ソフトウェア成果物の署名・検証・保護を容易にする、Linux Foundation のオープンソースプロジェクト。
- appsec№ 226
Cosign
Sigstore プロジェクト由来のオープンソース CLI で、OCI 成果物などのソフトウェアに対し、鍵あり・鍵なし両方のワークフローで署名・検証・アテステーションを行うツール。
- appsec№ 1069
ソフトウェアサプライチェーンセキュリティ
ソースコード・依存関係・ビルド・署名・配布・デプロイに至るまで、ソフトウェア製造の各リンクを改ざん・悪意あるコード・完全性喪失から守る取り組み。
- appsec№ 921
再現可能ビルド
同じソースコードを同じ手順でビルドすれば、いつどこで実行しても1ビットまで同一の成果物が得られるように設計するビルド手法。
● 関連項目
- № 1068ソフトウェア部品表(SBOM)
- № 784パッケージ署名