在加密貨幣的早期,用戶只需使用標準PC上的客戶端軟件生成他們的支付地址(以加密術語,他們的公鑰 私鑰對)。不幸的是,一旦加密貨幣成為熱
在加密貨幣的早期,用戶只需使用標準PC上的客戶端軟件生成他們的支付地址(以加密術語,他們的公鑰/私鑰對)。不幸的是,一旦加密貨幣成為熱門商品,在通用計算機上安全地存儲帳戶私鑰(使用“軟件錢包”)就成了一種負擔。軟件錢包文件可能會丟失或刪除,并且是針對盜竊的目標。大多數用戶都沒有準備好安全可靠地存儲私鑰的重大責任。這就推動了在加密貨幣交換中的密鑰存儲的發展。
多年來的大規模盜竊事件,使用戶永遠不會相信第三方來托管他們的加密貨幣。因此,在過去幾年中,硬件錢包已成為保護加密貨幣帳戶的有力工具,用戶再也不用依賴于托管服務。
硬件錢包是一個萬無一失的解決方案嗎?
硬件錢包是一種消費級硬件安全模塊(HSM),具有以下的用途:一種防篡改保險庫的設備,在其中可以創建用戶的加密身份,可以在沒有私鑰的情況下使用,私鑰不會離開設備。
從根本上說,硬件錢包只需要在主機上創建一個事務,對其進行簽名以使其有效,并輸出已簽名的事務以便主機發布到區塊鏈。
但在實踐中,它并非如此簡單。用戶必須正確初始化他們的錢包。有時設備有固件更新。然后是恢復代碼的問題(也稱為BIP39恢復短語或種子詞)。
硬件錢包相比將私鑰存儲在防火保險柜中的紙張或筆記本電腦上的目錄中是一個巨大的進步,但硬件錢包仍然存在風險。用戶需要采取一些安全預防措施。用Bruce Schneier的話來說,“ 安全是一個過程,而不是一個產品。”
10個安全使用加密貨幣硬件錢包的規則:
1、從受信任的來源購買設備,最好直接從供應商手上購買,必須是新的,沒有打開過的
避免任何不必要的供應鏈風險。直接從制造商(例如,Ledger或Trezor)而不是從經銷商處購買設備可以最大限度地降低獲取由中間人篡改的偽造品或設備的風險。據報道,超過一家eBay的經銷商在向出售硬件時欺詐買家。
2、切勿使用預先初始化的硬件錢包
如果用戶接受預先初始化的硬件錢包,他們會將他們的加密貨幣放入錢包中,該錢包可能只是攻擊者控制的錢包的副本。確保您(并且只有您)在使用前正確初始化您的硬件錢包。按照硬件錢包供應商網站上的初始化說明書來進行操作。
(您需要看到類似的提示,開箱即用)
3、切勿使用預先選定的一組恢復單詞,僅使用在設備上生成的恢復單詞
切勿接受預先選擇的恢復單詞。牢記要使用設備上生成的新隨機恢復單詞,從一個干凈的平板初始化硬件錢包。任何知道恢復單詞的人都可以完全控制錢包,觀察你的交易行為,以及竊取你所有的代幣。因為,這些詞就是您的秘鑰。
據報道,2017年12月,一家硬件錢包經銷商在包裝盒中裝了一張假冒刮刮卡,每張卡都交付給客戶。刮開卡顯示了恢復單詞列表,并且卡片指示買方使用恢復步驟設置其設備,而不是初始化它以安全地生成一組新單詞。這是一個聰明的騙局,誘騙用戶使用預先配置的錢包。
(要注意像這樣的經銷商欺詐:官方預選的恢復詞)
4、首選能夠提供其完整性證明的設備
雖然重置或初始化設備可以解決問題,但用戶仍然存在購買假冒或篡改硬件錢包的風險。在購買之前,請確認您將能夠驗證新硬件錢包的出處,真實性或完整性。查找設備制造商提供的軟件,該軟件可以詢問設備上的安全元件,并提供設備完整性的證明。按照錢包供應商的驗證說明進行操作(例如,Ledger使用安全元件證明檢查設備完整性的說明)。然而,今天的錢包的證明能力仍有差距。用戶應該繼續要求更好、更完整的證明。
5、測試你的恢復單詞
數據保護“始終測試您的備份”:在這種情況下,您的備份是一組恢復單詞。使用備用硬件錢包設備,使用記錄的恢復詞來初始化測試錢包。消除所記錄的單詞可以成功恢復原始錢包狀態的任何疑問。在測試恢復字的正確性后,重置/擦除此測試設備。請勿使用通用計算機或軟件錢包來驗證恢復單詞。請從供應商的指令執行恢復空運行,以測試你的種子單詞。
6、單獨保護您的恢復單詞并平等保護硬件錢包。不要拍他們的照片。不要把它們打成任何東西。
用手寫下恢復字(不要將它們輸入計算機或拍攝它們進行打印),然后將紙張(最好是檔案質量的無酸紙)進行長期存放。將其存放在不透明的防篡改密封信封(示例)中,以確保未經授權不得查看。請記住,如果恢復字存儲在設備旁邊,則設備的PIN碼無法防御具有物理訪問權限的攻擊者。不要將它們存放在一起。
(把文字寫下來,但不要拍這樣的照片!)
7:驗證用于與硬件錢包通信的軟件; 了解后門桌面UI是威脅模型的一部分
硬件錢包依靠桌面軟件來啟動事務,更新硬件錢包的固件以及其他敏感操作。加密貨幣軟件的用戶應該要求可重復的構建和代碼簽名的可執行文件,以防止攻擊者在安裝后進行篡改。與使用GPG等工具進行手動驗證相比,代碼簽名的優勢在于,每次啟動應用程序時,操作系統都會自動驗證代碼簽名,而手動驗證通常只執行一次(如果有的話)。但是,即使是可驗證的軟件,仍然可以在運行時被破壞。認識到通用計算設備會定期暴露于來自不受信任來源的潛在風險數據。
8:考慮使用高保證工作站,即使是硬件錢包
通過將工作站專用于操作硬件錢包的單個任務,可以將其鎖定到更大程度,因為它不用于日常任務,也不會暴露于盡可能多的潛在危害源。考慮僅從不可變的主機PC配置操作硬件錢包。此工作站僅脫機,專用于使用硬件錢包創建和簽名事務的任務。
首先,鎖定系統的固件配置(例如,限制引導設備,禁用網絡引導等)以確保引導過程的完整性。然后,可以通過安全啟動來保護引導介質 使用TPM支持的加密SSD /硬盤驅動器,或者 - 實現真正的不變性 - 通過將可信操作系統映像刻錄和驗證到一次寫入DVD-R介質上,并將DVD-R存儲在硬件錢包旁邊的防篡改包中。
9:考慮具有獨立存儲設備的M-of-N多重簽名錢包
“ 多簽名 ”是指需要多個密鑰來授權交易。這是對單點故障的極好保護。可以使用生成的密鑰創建一個多簽名錢包,并將其保存在存儲在物理上不同位置的硬件錢包中。
請注意,如果設備將由不同的個人保管,請仔細考慮如何協調并決定從錢包中花費。對于增加的偏執,硬件錢包可能是不同的設備品牌。然后,即使在其中一個硬件錢包制造商的員工成功后退他們的設備的情況下,他們仍然只能控制多簽名錢包中的一個密鑰。
10:考慮手動驗證新的多簽名地址的生成
這與規則7、8相關,通過將幾個私鑰持有者“加入”由腳本定義的單個地址來創建多簽名錢包。
在比特幣的場景下,這稱為P2SH地址(“ 付費到腳本哈希 ”)。這部分地址創建是在使用公鑰的桌面軟件UI中完成的,而不是在硬件錢包上完成的。如果受損工作站在生成新P2SH地址期間提供腳本基礎,攻擊者可以加入或控制多個sig錢包。
例如,攻擊者控制或轉發的桌面軟件可能會秘密地將3個2中的錢包變成2個2的錢包,并且攻擊者會插入兩個額外的公鑰。請記住,硬件錢包并不能完全排除保護與其接口的主機的安全性。
仍然需要更安全,更可用的解決方案
關于加密貨幣硬件錢包的風險和建議的討論,說明了安全行業在嘗試設計其他類型的固定功能設備以進行私鑰保護時所面臨的挑戰。例如,U2F令牌和安全飛地。
十多年來,安全研究人員一直在推動“ 可用安全性 ” 的目標。可用的安全性只不過是安全計算應該很容易做到,而且很難做錯的想法。比較現代安全消息傳遞客戶端的可用性,例如,使用GPG所需的繁瑣且容易出錯的密鑰管理。獲得正確的可用性是保護數千名技術人員和保護數以千萬計的普通用戶之間的區別。
整個行業應避免自滿。需要更安全,設計更好的設備,不容易出現陷阱和錯誤。
我們希望將來,安全可用的硬件錢包將成為我們認為理所當然的商品設備。