Product Documentation

デジタル署名

Jul 08, 2016

デジタル署名は、デジタルファイルが特定可能な送信元から送信されていて不正に変更されていないという保証をユーザーに提供するメカニズムです。 多くの場合、デジタル署名には証明書のチェーンが含まれます。 デジタルファイルの発行者は、CA(Certificate Authority:証明機関)が発行した証明書を使用してデジタル署名を生成します。 CAは発行者のIDの検証に責任を持ちます。 CAの証明書が別のCAによって発行される場合があります。別のCAの証明書はさらに別のCAによって発行され、最終的にルートCAに至ります (ルートは複数ある場合があります)。このようにして、次の図に示すように証明書のチェーンが形成されます。

Windowsオペレーティングシステム(OS)には、証明書、信頼される発行者と信頼されない発行者の一覧、およびマシン単位とユーザー単位ベースのCAが保存されます。 Microsoft管理コンソールの証明書スナップインを使用して、オペレーティングシステムに保存されている証明書を表示および管理できます。

デジタル署名DNAのキャプチャ

AppDNAにアプリケーションをインポートするときに、インポート処理によって、アプリケーションファイルにあるデジタル署名に関する情報がキャプチャされます。 デジタル署名が存在する場合は、通常はアプリケーションのPE(Portable Executable)ファイル(実行ファイルやDLLファイルなど)にあります。 ただし、ドライバーの場合、デジタル署名が関連付けられているカタログファイルにある可能性があります。

インポート処理では、署名の基本的な詳細と証明書チェーンの各証明書に関する情報が抽出されて保存されます。 インポート処理により、AppDNAインポートマシンの証明書チェーンのコンテキストで署名が有効かどうかの判定が試みられます。 ただし、保存されている証明書情報が異なる場合は、別のマシンまたはオペレーティングシステム、あるいは異なるユーザーについて、結果が異なる場合があります。 このため、アルゴリズムによっては、選択したオペレーティングシステムイメージに対して追加チェックが実行されます。

インポート処理では、インポートの速度が許容できないレベルにまで低下するため、証明書失効一覧はチェックされません。

Windows 8およびWindows Server 2012で信頼されない署名

Windows 8およびWindows Server 2012では、信頼されない発行者が署名したファイルの実行が禁止されます。 この機能が実質的に及ぼす影響は、影響を受けるファイルによって異なります。 メインアプリケーションの実行可能ファイルが影響を受ける場合は、アプリケーションが実行されません。Windowsにより、アプリケーションが署名要件を満たしていないことを示すメッセージがユーザーに表示されます。 ただし、影響を受けるファイルが補助的なDLLファイルの場合は、アプリケーションは動作する可能性がありますが、DLLファイルに依存する機能が呼び出されたときは実行に失敗します。 影響を受けるファイルがカーネルモードのドライバーの場合は、ドライバーをインストールまたは実行できない可能性があります。

カーネルモードのドライバーは「スーパーバイザーモード」で実行されるデバイスドライバーです。このモードでは、低レベル機能への特権アクセスが付与され、標準の「ユーザーモード」で実行されるドライバーよりもパフォーマンスが高くなります。 スーパーバイザーモードで実行されているプログラムの実行が失敗した場合は、システム全体が停止する可能性があります。 したがって、Windows Server 2012およびWindows 8 64ビット版では、信頼されない発行者が署名したカーネルモードドライバーのインストールと実行が禁止されます。

注:アプリケーションに複数の発行者の複数のデジタル署名が含まれる場合があります。たとえば、アプリケーションに署名されたサードパーティ製コンポーネントが含まれる場合です。

Windows 8およびWindows Server 2012のアルゴリズム

以下のアルゴリズムは信頼されないデジタル署名を含むファイルを検出します。 「信頼されない」とは、その発行者またはチェーンのCAの1つが、対象のオペレーティングシステムイメージに保存されている信頼されない発行者とCAの一覧に含まれているということを意味します。 したがって、これらのアルゴリズムの結果は、選択した対象のオペレーティングシステムイメージによって異なります。

  • Windows 8およびWindows 8.1:WIN8_UNTRUSTED_001
  • Windows Server 2012およびWindows Server 2012 R2:W2K12_UNTRUSTED_001

修復レポートビューには、アプリケーション内の影響を受けるファイル、このファイルがドライバーであるかどうか、および信頼されない証明書の詳細に関する情報が表示されます。

修復

外部のアプリケーションについては、製造元に問い合わせて、信頼されている発行者が署名したアプリケーションまたはドライバーの更新バージョンを取得してください。

更新バージョンが取得できない場合は、発行者またはCAが信頼されない発行者とCAの一覧にある理由を調査してください。 Microsoft管理コンソールの証明書スナップインを使用して、オペレーティングシステムイメージの信頼されない発行者の一覧から発行者を削除できます。 ただし、発行者が実際に信頼できて、アプリケーションが安全でセキュリティポリシーに準拠していることを確認してから、発行者を削除してください。

証明書スナップインを開く手順については、Microsoft社のWebサイト「証明書を表示または管理する」を参照してください。 証明書の表示と管理について詳しくは、証明書スナップインを開いた後、オンラインヘルプを参照してください。