Authenticode デジタル署名

Authenticode は、Authenticode 署名付きソフトウェアの発行元を識別する Microsoft コード署名テクノロジです。 Authenticode は、ソフトウェアが署名および公開されてから改ざんされていないことも確認します。

Authenticode は、暗号化手法を使用して、発行元の ID とコードの整合性を確認します。 デジタル署名と、証明機関 (CA) を含む信頼されたエンティティのインフラストラクチャを組み合わせて、記載された発行元からのドライバーであることをユーザーに保証します。 Authenticode を使用すると、ユーザーは、デジタル署名の証明書を信頼されたルート証明書にチェーンすることで、ソフトウェア発行元の ID を確認できます。

Authenticode を使用して、ソフトウェア発行元はドライバーまたは ドライバー パッケージに署名し、発行元の ID を検証するデジタル証明書でタグ付けし、コードの整合性を検証する機能をコードの受信者に提供します。 証明書は、ソフトウェア発行元を識別する一連のデータです。 証明書は、CA がソフトウェア発行元の ID を確認した後でのみ、CA によって発行されます。 証明書データには、発行元の公開暗号鍵が含まれます。 証明書は通常、このような証明書のチェーンの一部であり、最終的には VeriSign などのよく知られた CA に参照されます。

Authenticode コード署名では、ドライバーの実行可能部分は変更されません。 代わりに、次の処理を実行します。

  • 埋め込み署名では、署名プロセスにより、ドライバー ファイルの非実行部分内にデジタル署名が埋め込まれます。 このプロセスの詳細については、「ドライバー ファイルに埋め込まれた署名」を参照してください。

  • デジタル署名されたカタログ ファイル (.cat) では、署名プロセスでドライバー パッケージ内の各ファイルの内容からファイル ハッシュ値を生成する必要があります。 このハッシュ値はカタログ ファイルに含まれます。 その後、カタログ ファイルは埋め込み署名で署名されます。 このようにして、カタログ ファイルはデタッチされた署名の一種です。

注:ハードウェア認定キット (HCK) には、さまざまなデバイスの種類に対するテストカテゴリがあります。 テスト カテゴリの一覧については、「HLK API リファレンス」を 参照してください。 デバイスの種類に応じたテスト カテゴリがこのリストに含まれている場合、ソフトウェア発行元は、ドライバー パッケージWHQL リリース署名を取得する必要があります。ただし、デバイスの種類に応じたテスト プログラムが HCK にない場合、ソフトウェア発行元は、Microsoft Authenticode テクノロジを使用してドライバー パッケージに署名できます。 このプロセスの詳細については、「パブリック リリースのドライバーに署名する」を参照してください。