傾印加密可用來加密系統生成的當機傾印和即時傾印。 傾印會使用針對每個傾印產生的對稱加密密鑰進行加密。 接著,此金鑰本身會使用由主機受信任系統管理員所指定的公鑰來加密(損毀傾印加密密鑰保護程序)。 這可確保只有擁有相符私鑰的使用者才能解密並存取資料轉儲的內容。 這項功能會運用在受防護網狀架構中。 注意:如果您設定記憶體轉儲加密,也請停用 Windows 錯誤報告服務。 WER 無法讀取加密的當機傾印。
設定暫存檔加密
Manual configuration
若要使用登錄開啟傾印加密,請在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
下方設定下列登錄值。
Value Name | 類型 | Value |
---|---|---|
DumpEncryptionEnabled | DWORD | 1 以啟用傾印加密,0 以停用傾印加密 |
EncryptionCertificates\Certificate.1::PublicKey | Binary | 公鑰(RSA,2048 bit)應該用於加密轉儲。 This has to be formatted as BCRYPT_RSAKEY_BLOB. |
EncryptionCertificates\Certificate.1::Thumbprint | String | 憑證指紋識別碼可在解密損毀傾印時,自動查閱本機證書存儲中的私鑰。 |
使用腳本進行設定
To simplify configuration, a sample script is available to enable dump encryption based on a public key from a certificate.
- 在受信任的環境中:使用 2048 位 RSA 金鑰建立憑證並匯出公用憑證
- 在目標主機上:將公用憑證匯入至本機證書存儲
- 執行範例組態腳本
.\Set-DumpEncryptionConfiguration.ps1 -Certificate (Cert:\CurrentUser\My\093568AB328DF385544FAFD57EE53D73EFAAF519) -Force
解密加密資料匯出檔案
若要解密現有的加密傾印檔案,您必須下載並安裝適用於 Windows 的偵錯工具。 此工具集包含 KernelDumpDecrypt.exe,此項工具可用來解密加密的傾印檔案。 如果包含私鑰的憑證存在於目前使用者的證書存儲中,您可以呼叫 來解密傾印檔案
KernelDumpDecrypt.exe memory.dmp memory_decr.dmp
解密之後,WinDbg 之類的工具可以開啟解密的傾印檔案。
檔案轉儲加密疑難排解
如果在系統上啟用匯出檔案加密,但沒有產生匯出檔案,請檢查系統 System
的事件記錄檔中 Kernel-IO
是否有事件 1207。 無法初始化轉儲加密時,會建立此事件並停用轉儲。
詳細的錯誤訊息 | 緩和的步驟 |
---|---|
公鑰或指紋註冊表遺漏 | 檢查這兩個登錄值是否存在於預期的位置 |
無效的公鑰 | Make sure that the public key stored in the PublicKey registry value is stored as BCRYPT_RSAKEY_BLOB. |
不支援的公鑰大小 | 目前僅支援 2048 位 RSA 金鑰。 設定符合此需求的金鑰 |
也請檢查 底下GuardedHost
的值HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\ForceDumpsDisabled
是否設定為 0 以外的值。 這將完全停用當機記憶體傾印。 如果是這種情況,請將它設定為 0。