ダンプ暗号化について

ダンプ暗号化は、システム用に生成されたクラッシュ ダンプとライブ ダンプを暗号化するために使用できます。 ダンプは、ダンプごとに生成される対称暗号化キーを使用して暗号化されます。 このキー自体は、ホストの信頼できる管理者 (クラッシュ ダンプ暗号化キー保護機能) によって指定された公開キーを使用して暗号化されます。 これにより、一致する秘密キーを持つユーザーだけが暗号化を解除し、ダンプの内容にアクセスできるようになります。 この機能は、保護されたファブリックで利用されます。 注: ダンプ暗号化を構成する場合は、Windows エラー報告も無効にします。 WER は、暗号化されたクラッシュ ダンプを読み取れません。

ダンプ暗号化の構成

手動構成

レジストリを使用してダンプ暗号化を有効にする場合は、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl の下で次のレジストリ値を構成します

値の名前
DumpEncryptionEnabled DWORD ダンプ暗号化を有効にする場合は 1、無効にする場合は 0
EncryptionCertificates\Certificate.1::PublicKey Binary ダンプの暗号化に使用する必要がある公開キー (RSA、2048 ビット)。 これは BCRYPT_RSAKEY_BLOB として書式設定する必要があります。
EncryptionCertificates\Certificate.1::Thumbprint String クラッシュ ダンプの暗号化を解除するときに、ローカル証明書ストア内の秘密キーの自動参照を許可する証明書の拇印。

スクリプトを使用した構成

構成を簡略化するために、サンプル スクリプトを使用して、証明書の公開キーに基づくダンプ暗号化を有効にすることができます。

  1. 信頼された環境で: 2048 ビット RSA キーを使用して証明書を作成し、公開証明書をエクスポートします
  2. ターゲット ホスト上: 公開証明書をローカル証明書ストアにインポートします
  3. サンプル構成スクリプトを実行します
    .\Set-DumpEncryptionConfiguration.ps1 -Certificate (Cert:\CurrentUser\My\093568AB328DF385544FAFD57EE53D73EFAAF519) -Force
    

暗号化されたダンプの暗号化を解除する

既存の暗号化されたダンプ ファイルの暗号化を解除するには、Windows 用デバッグ ツールをダウンロードし、インストールする必要があります。 このツール セットには、暗号化されたダンプ ファイルの暗号化を解除するのに利用できる KernelDumpDecrypt.exe が含まれます。 秘密キーを含む証明書が現在のユーザーの証明書ストアに存在する場合は、呼び出すことでダンプ ファイルを復号化できます

    KernelDumpDecrypt.exe memory.dmp memory_decr.dmp

暗号化の解除後、WinDbg のようなツールは暗号化解除されたダンプ ファイルを開くことができます。

ダンプ暗号化のトラブルシューティング

システムでダンプ暗号化が有効になっているが、ダンプが生成されていない場合は、システムの System イベント ログで Kernel-IO イベント 1207 を確認してください。 ダンプ暗号化を初期化できない場合、このイベントが作成され、ダンプは無効になります。

詳細なエラー メッセージ 軽減する手順
公開キーまたは拇印レジストリがありません 両方のレジストリ値が想定される場所に存在するかどうかを確認します
公開キーが無効です PublicKey レジストリ値に格納されている公開キーが、BCRYPT_RSAKEY_BLOB として格納されていることを確認します。
公開キーのサイズがサポートされていません 現時点では、2048 ビット RSA キーだけがサポートされています。 この要件に一致するキーを構成します

また、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\ForceDumpsDisabled の下の GuardedHost 値が 0 以外に設定されているかどうかも確認します。 これにより、クラッシュ ダンプが完全に無効にされます。 この場合は、0 に設定します。