デジタル署名と PnP デバイスのインストール (Windows Vista以降)

Windows Vista 以降のバージョンの Windows では、プラグ アンド プレイ (PnP) デバイスのインストールでは、ドライバー パッケージカタログ ファイルデジタル署名を使用して、次の操作を行います。

  • ドライバー パッケージの発行元の ID を確認します。 Windows は ID を使用して、ドライバーの発行元を信頼するかどうかをユーザーが選択できるようにします。

  • ドライバー パッケージが発行された後に変更されたかどうかを確認します。

Windows Vista 以降のバージョンの Windows での PnP デバイスのインストールでは、ドライバー パッケージに対して次の種類のデジタル署名がサポートされています。

  • 一般にリリースされるドライバー パッケージに使用できる署名の種類:

    • Windows 署名機関によって生成される署名:
      1. 受信トレイ ドライバー パッケージ
      2. Windows Hardware Quality Labs (WHQL) を通じて認定および署名されたドライバー パッケージ
      3. Windows Sustained Engineering (Standard Edition) の更新プログラム。
    • Windows 署名機関によって生成されず、PnP デバイスインストール署名要件に準拠している署名。
  • エンタープライズ CA によって作成および管理されるデジタル証明書によって作成される、企業ネットワーク環境内にのみドライバー パッケージを展開するための署名。 エンタープライズ CA を構成する方法の詳細については、このドキュメントの範囲外です。

    エンタープライズ CA を作成する方法については、コード署名のベスト プラクティスを参照してください。

  • ドライバーの開発とテスト中に社内で使用できる署名の種類:

Windows Vista 以降のバージョンの Windows には、サード パーティによって生成される署名のサポートを提供する次の機能が含まれています。

  • 管理者は、信頼できるドライバーの発行元を制御できます。 Windows Vista 以降のバージョンの Windows では、プロンプトを表示せずに、信頼できる発行元からドライバーがインストールされます。 管理者が信頼しないことを選択した発行元のドライバーはインストールされません。

  • ドライバー署名ポリシーは常に [警告] に設定されます。 これにより、Windows Server 2003、Windows XP、および Windows 2000 で使用できる [無視] オプションと [ブロック] オプションが削除されます。 管理者は、署名されていないドライバーまたはまだ信頼されていない発行元からのドライバーのインストールを常に承認する必要があります。

  • すべての デバイス セットアップ クラス は均等に扱われます。 Windows Server 2003、Windows XP、および Windows 2000 では、WHQL によって署名されたドライバー パッケージには、 %SystemRoot%/inf/Certclas.infで定義されているデバイス セットアップ クラスを指定する INF ファイルが必要です。 それ以外の場合、Windows はドライバー パッケージを符号なしとして扱います。

  • Windows Vista 以降では、いくつかの互換性のあるドライバー パッケージから選択できる場合、オペレーティング システムが最適なドライバー パッケージを選択するために使用するランク付けアルゴリズムには、サード パーティの署名を持つドライバー パッケージが含まれます。

    このアルゴリズムは、ドライバー パッケージを次のようにランク付けします。

    • AllSignersEqual グループ ポリシーが無効になっている場合、Windows は、Authenticode 署名で署名されたドライバー パッケージよりも高い Microsoft 署名で署名されたドライバー パッケージをランク付けします。 このランク付けは、サードパーティの署名で署名されたドライバ・パッケージが、他のすべての点で、デバイスによりよく適合している場合でも発生します。
    • AllSignersEqual グループ ポリシーが有効になっている場合、オペレーティング システムはデジタル署名されたすべてのドライバー パッケージを均等にランク付けします。

    メモ Windows 7 以降では、AllSignersEqual group policy が既定で有効になっています。 Windows Vista および Windows Server 2008 では、AllSignersEqual グループ ポリシーは既定で無効になっています。 IT 部門は、AllSignersEqual グループ ポリシーを有効または無効にすることで、既定のランク付け動作をオーバーライドできます。

ドライバー パッケージをインストールする前に、Windows はドライバー パッケージのデジタル署名を分析します。 署名が存在する場合、Windows は署名を使用してドライバー パッケージ内のファイルを検証します。 この分析の結果に基づいて、Windows はデジタル署名を次のように分類します。

  • Windows 署名機関によって署名されています。 これらのドライバー パッケージは、Windows の既定のインストール (受信トレイ ドライバー) に含まれているか、WHQL によってリリース用に署名されているか、Windows Standard Editionによって署名されています。

  • 信頼できる発行元によって署名されています。 これらのドライバー パッケージはサード パーティによって署名されており、ユーザーはこの発行元から署名されたドライバー パッケージを常に信頼することを明示的に選択しています。

  • 信頼されていない発行元によって署名されています。 これらのドライバー パッケージはサード パーティによって署名されており、ユーザーはこの発行元から署名されたドライバー パッケージを常に信頼することを明示的に選択しています。

  • 信頼がおけない発行元によって署名されています。 これらのドライバー パッケージはサード パーティによって署名されており、ユーザーはこの発行元を信頼するかどうかを示していません。

  • 変更されている これらのドライバー パッケージは署名されていますが、パッケージの署名後にドライバー パッケージの少なくとも 1 つのファイルが変更されたことが Windows によって検出されました。

  • 符号なし これらのドライバー パッケージは、署名されていないか、無効な署名を持っています。 有効な署名は、信頼された CA によって発行された認定資格証を使用して作成する必要があります。

Windows Vista 以降では、オペレーティング システムが初めてコンピューターにドライバー パッケージをインストールすると、ドライバー ストアにドライバーがプレインストールまたはステージされます。 その後、Windows は、ドライバー ストア内のドライバー パッケージのコピーを使用して、一致するデバイスのドライバー パッケージをサイレント インストールします。 Windows がデバイスにプレインストールされているドライバー パッケージをインストールする場合、ユーザー操作は必要ありません。

Windows がドライバー パッケージをプレインストールするかどうかは、次のように、署名カテゴリ、ユーザー資格情報、およびユーザー操作によって異なります。

  • Windows 署名機関または信頼された発行元によって署名されています。 Windows では、システム管理者と標準ユーザー (管理者の資格情報を持たないユーザー) のドライバー パッケージがサイレント インストールされます。 Windows では、ユーザー ダイアログ ボックスは表示されません。

  • 信頼されていない発行元によって署名されています。 Windows では、ドライバー パッケージはプレインストールされません。

  • 信頼がおけない発行元によって署名されています。 Windows では、ドライバー パッケージの発行元がまだ信頼されていないことを管理者に通知するダイアログ ボックスがシステム管理者に表示されます。 このダイアログ ボックスでは、管理者はドライバー パッケージをインストールするオプションと、常に発行元を信頼するオプションを提供します。 Windows は標準ユーザーにダイアログ ボックスを表示せず、標準ユーザーのドライバー パッケージをプレインストールしません。

  • 変更または署名なし。 Windows には、署名を検証できなかったことをシステム管理者に適切に警告するダイアログ ボックスが表示されます。 このダイアログ ボックスには、ドライバー パッケージをインストールするかインストールしないかのオプションが管理者に表示されます。 Windows は標準ユーザーにダイアログ ボックスを表示せず、標準ユーザーのドライバー パッケージをプレインストールしません。

ドライバーの署名とインストールの詳細については、「署名のカテゴリとドライバーのインストール」を参照してください。