信頼された署名の信頼モデル
この記事では、信頼モデルの概念、信頼された署名によって提供される主要な信頼モデル、信頼された署名でサポートされる幅広くさまざまな署名シナリオでそれらを活用する方法について説明します。
信頼モデル
信頼モデルは、デジタル署名の検証と、デジタル環境での通信のセキュリティ確保のための規則とメカニズムを定義します。 信頼モデルは、デジタル エコシステムのエンティティ内で信頼がどのように確立および維持されるかを定義します。
Microsoft Windows アプリケーション用のパブリックに信頼されたコード署名などの署名コンシューマーの場合、信頼モデルは、Microsoft ルート証明書プログラムの一部である証明機関 (CA) からの証明書が存在する署名に依存します。 この理由のため、信頼された署名の信頼モデルは、主に Windows でのコード署名を使用する Windows Authenticode 署名とセキュリティ機能 (スマート アプリ コントロールや Windows Defender アプリケーション制御など) をサポートする目的で設計されています。
信頼された署名には、さまざまな署名の使用 (検証) をサポートする 2 つの主要な信頼モデルが用意されています。
Note
これらの信頼モデルは、この記事で説明する署名シナリオで使用する用途にのみ当てはまるわけではありません。 信頼された署名は、Windows および Authenticode のコード署名と Windows の機能のアプリケーション制御をサポートするように設計されています。 Windows 以外の他の署名モデルと信頼モデルが幅広くサポートされています。
パブリック信頼モデル
パブリック信頼は、信頼された署名で提供される 2 つの信頼モデルの 1 つであり、最も一般的に使用されるモデルです。 パブリック信頼モデルの証明書は Microsoft ID 検証ルート証明機関 2020 から発行され、Microsoft PKI サービスのサード パーティ認定プラクティス ステートメント (CPS) に準拠しています。 このルート CA は、証明書利用者のルート証明書プログラム (コード署名とタイムスタンプ用の Microsoft ルート証明書プログラムなど) に含まれています。
信頼された署名のパブリック信頼リソースは、次の署名シナリオとセキュリティ機能をサポートするように設計されています。
- Win32 アプリ コード署名
- Windows 11 のスマート アプリ コントロール
- ポータブル実行可能ファイル (PE) バイナリの /INTEGRITYCHECK 強制整合性署名
- 仮想化ベースのセキュリティ (VBS) エンクレーブ
パブリックに共有する成果物への署名には、パブリック信頼を使用することをお勧めします。 署名者は、検証済みの法的組織または個人である必要があります。
Note
信頼された署名には、パブリック信頼コレクションの下に "テスト" 証明書プロファイルのオプションが含まれていますが、証明書は公的に信頼されていません。 これらのパブリック信頼テスト証明書プロファイルは、内部ループの Dev/Test 署名を目的としたもので、信頼できるものではありません。
プライベート信頼モデル
プライベート信頼は、信頼された署名で提供される 2 番目の信頼モデルです。 これは、署名がエコシステム全体で広く信頼されていないオプトイン信頼用です。 信頼された署名のプライベート信頼リソースに使用される CA 階層は、どのルート プログラムでも、また Windows でも、既定では信頼されません。 代わりに、次のような App Control for Business (旧称 Windows Defender Application Control: WDAC) 機能で使用するように設計されています。
- WDAC で追加の制御と保護にコード署名を使用する
- 署名付きポリシーを使用して Windows Defender アプリケーション制御を改ざんから保護する
- 省略可能: Windows Defender アプリケーション制御のコード署名証明書を作成する
信頼された署名のリファレンスを使用して WDAC ポリシーを構成して署名する方法の詳細については、「信頼された署名のクイック スタート」を参照してください。