Security

基於 BerkeleyDB 的 wallet.dat 實現會洩露私鑰數據嗎?

  • December 4, 2011

在比特幣客戶端錯誤跟踪器上閱讀了這個小金塊

bdb 二進制日誌文件還可以包含敏感數據,例如私鑰

真的嗎?這是否意味著即使使用加密的 wallet.dat,也可能有一種方法可以將私鑰寫入未受保護的磁碟?如果是這樣,我該怎麼辦?

如果您使用的是加密錢包,則永遠不會將私鑰未加密地寫入磁碟。

但是,0.4.0 版本(第一個具有錢包加密功能的版本)有一個錯誤,即在將錢包從未加密升級到加密時-未加密的部分不一定會被覆蓋,從而使它們可以訪問一段時間。

0.4.1 和 0.5.0 解決了這個問題,首先在加密時(或之後的第一次啟動)重寫整個錢封包件,並使之前存在的整個儲備密鑰池無效。這意味著(並且已經過測試),如果您從一個空錢包開始並立即對其進行加密,它將永遠不會使用任何以未加密形式寫入磁碟的密鑰。

請注意,錢包加密不是靈丹妙藥,攻擊者可能有其他方法來提取私鑰,例如鍵盤記錄器。

編輯:直到現在我才正確閱讀了您的問題。日誌文件可能包含試圖寫入數據庫文件本身的任何內容,如果您正在使用(或正在使用)未加密的錢包,那可能確實也意味著私鑰。同樣,如果您從 0.5.0 中的加密錢包開始,則不會使用任何接觸過未加密磁碟的密鑰。

引用自:https://bitcoin.stackexchange.com/questions/2140