in-toto
in-toto とは何ですか?
in-totoソフトウェアサプライチェーンの各ステップを暗号学的に証明し、利用者がプロジェクト所有者の意図どおりに成果物が構築・処理されたことを検証できるようにするオープンフレームワーク。
in-toto は CNCF にホストされるプロジェクトで、ソフトウェアのサプライチェーンを「クローン、テスト、ビルド、署名、公開…」といったステップの系列としてモデル化し、各ステップの入力・出力・認可された実行者を宣言します。各ステップでは、マテリアル(入力)とプロダクト(出力)を記録した署名付きの link メタデータが生成されます。プロジェクト所有者が署名した全体の layout が、各ステップを誰が実行すべきか、成果物がどう流れるべきかを規定します。検証者は最終成果物と対応するアテステーションを基に、チェーン全体がポリシーに合致しているかを確認します。in-toto アテステーションは SLSA プロベナンス、脆弱性スキャン結果、テスト合格の証跡などを表現するために用いられ、多くは OCI レジストリ経由で配布され、Sigstore で署名されます。SLSA に整合した検証可能なサプライチェーンの基盤技術です。
● 例
- 01
ビルドパイプラインが SLSA プロベナンスを生成し、Cosign で署名した in-toto アテステーションとして公開する例。
- 02
デプロイ前にコンテナイメージが in-toto 形式の脆弱性スキャンアテステーションを含むかを検証するワークフロー。
● よくある質問
in-toto とは何ですか?
ソフトウェアサプライチェーンの各ステップを暗号学的に証明し、利用者がプロジェクト所有者の意図どおりに成果物が構築・処理されたことを検証できるようにするオープンフレームワーク。 サイバーセキュリティの アプリケーションセキュリティ カテゴリに属します。
in-toto とはどういう意味ですか?
ソフトウェアサプライチェーンの各ステップを暗号学的に証明し、利用者がプロジェクト所有者の意図どおりに成果物が構築・処理されたことを検証できるようにするオープンフレームワーク。
in-toto はどのように機能しますか?
in-toto は CNCF にホストされるプロジェクトで、ソフトウェアのサプライチェーンを「クローン、テスト、ビルド、署名、公開…」といったステップの系列としてモデル化し、各ステップの入力・出力・認可された実行者を宣言します。各ステップでは、マテリアル(入力)とプロダクト(出力)を記録した署名付きの link メタデータが生成されます。プロジェクト所有者が署名した全体の layout が、各ステップを誰が実行すべきか、成果物がどう流れるべきかを規定します。検証者は最終成果物と対応するアテステーションを基に、チェーン全体がポリシーに合致しているかを確認します。in-toto アテステーションは SLSA プロベナンス、脆弱性スキャン結果、テスト合格の証跡などを表現するために用いられ、多くは OCI レジストリ経由で配布され、Sigstore で署名されます。SLSA に整合した検証可能なサプライチェーンの基盤技術です。
in-toto からどのように防御しますか?
in-toto に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
in-toto の別名は何ですか?
一般的な別名: in-toto。
● 関連用語
- appsec№ 1053
SLSA Framework
Supply-chain Levels for Software Artifacts:OpenSSF が公開する段階的要件集で、ソフトウェアのビルド・署名・検証を強化し、サプライチェーン改ざんに対する耐性を段階的に高めるもの。
- appsec№ 870
プロベナンスアテステーション
ソフトウェア成果物がどのように作られたか(ソース・ビルドシステム・パラメータ・依存関係)を、署名付きかつ機械可読な形で記述する宣言で、利用者がその出所を信頼できるようにするもの。
- appsec№ 1044
Sigstore
短命な鍵・OIDC ID・透明性ログを組み合わせ、ソフトウェア成果物の署名・検証・保護を容易にする、Linux Foundation のオープンソースプロジェクト。
- appsec№ 226
Cosign
Sigstore プロジェクト由来のオープンソース CLI で、OCI 成果物などのソフトウェアに対し、鍵あり・鍵なし両方のワークフローで署名・検証・アテステーションを行うツール。
- appsec№ 1069
ソフトウェアサプライチェーンセキュリティ
ソースコード・依存関係・ビルド・署名・配布・デプロイに至るまで、ソフトウェア製造の各リンクを改ざん・悪意あるコード・完全性喪失から守る取り組み。
- appsec№ 1068
ソフトウェア部品表(SBOM)
ソフトウェアを構成するコンポーネント・ライブラリ・依存関係を、バージョンや関係とともに機械可読な形で正式に列挙したインベントリ。