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