Authenticode デジタル署名

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

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

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

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

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

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

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