從技術安全和人為失誤這兩個維度探討硬件錢包安全性的9個提升點:全脫網、多簽名、安全芯片等。
撰文:劉力心,Cobo硬件業務線負責人
2019年底公布的統計數據顯示,相比于2018年,美國本土的比特幣擁有者增長了81%。目前全美有3650萬的數字貨幣持有者。越來越多的人擁有數字貨幣,這使得「安全存幣」這個話題變得尤為重要。
當我們談起安全存幣,一個繞不開的話題就是硬件錢包。硬件錢包的安全性大概可以分成兩塊:
技術安全。這一塊的安全,數字貨幣社區已經談論了很多年,包括如何防御中間人攻擊,物理攻擊,供應鏈攻擊等,主要集中討論如何從技術的角度防御這些攻擊手段。第二塊不能不討論的即使人為失誤。統計數據顯示,由于人為失誤,已經有至少400萬枚比特幣將永遠無法被使用。如果我們關注一下比特幣的發展史,我們會看到很多改進都是為了避免人為失誤。比如為了避免管理過過多私鑰,HD錢包被創造了出來;比如助記詞被創造出來,也是為了用戶在保存主私鑰的過程中避免發生人為失誤。這篇文章將會從技術安全和人為失誤這兩個維度討論硬件錢包安全性的9大提升點。
全脫網
硬件錢包起到的第一個作用,是讓你的私鑰實現「脫網」。如果你的私鑰實現了「脫網」,那黑客對硬件錢包進行遠程攻擊的可能性就被大大降低。但是這里「脫網」為什么要打引號,因為硬件錢包之間,「脫網」的程度是不一樣的。具體來說,大多數硬件錢包,在不使用的狀態下,是完全脫網的。但是一旦進入使用狀態,多數硬件錢包會通過USB線,或者藍牙,連接到一臺聯網的手機或者電腦。雖然連接時間非常有限,但是此時的「間接聯網」的狀態是非常危險的。
以太坊網絡當前已銷毀3,519,920.28枚ETH:金色財經報道,據Ultrasound數據顯示,截止目前,以太坊網絡總共銷毀3,519,920.28枚ETH。其中,OpenSea銷毀230,050.67枚ETH,ETHtransfers銷毀296,756.85枚ETH,UniswapV2銷毀197,378.05枚。注:自以太坊倫敦升級引入EIP-1559后,以太坊網絡會根據交易需求和區塊大小動態調整每筆交易的BaseFee,而這部分的費用將直接燃燒銷毀。[2023/8/7 21:28:34]
所以,「脫網」其實是個相對的概念。「脫網」的關鍵是在于配套App與硬件錢包之間的通訊。目前通訊方式主要有四種——USB,藍牙,二維碼和TF卡。二維碼和TF卡是更好的方式,因為其建立的鏈接不是持續通訊連接,并且所有通訊數據透明可審查。從而將攻擊面減到了最小。
二維碼和TF卡通訊的另一個好處就是,讓硬件錢包跟第三方錢包的適配變得非常容易。因為兩邊只要遵循相同的數據格式即可,不用考慮USB和藍牙的適配性問題。這也讓硬件錢包可以單純扮演一個「簽名者」的角色。
安全芯片
海外社區對硬件錢包是否應該使用安全芯片一直爭論不休。正方認為不用安全芯片無法抵御物理攻擊,反方認為安全芯片是個黑盒子,無法信任。但是,安全芯片其實并不完全是個黑盒子,安全芯片一定程度上來說也是可驗證的。
Gate.io將上線Ordinals(ORDI):5月7日消息,Gate.io將于北京時間2023年5月8日10:00上線Ordinals(ORDI)交易。[2023/5/7 14:48:05]
如何驗證安全芯片?
社區多年來似乎已經對安全芯片形成了一個共識——安全芯片是不可開源的。但其實這取決于硬件錢包廠商跟安全芯片廠商之間的談判能力。將安全芯片的芯片設計和底層代碼進行開源需要高昂的成本,但是將安全芯片的固件代碼開源,完全是可以辦到的。
安全芯片固件開源后,可以讓用戶驗證這些關鍵信息:
如何從隨機熵值生成助記詞,進而生成主私鑰所有私鑰和公鑰的派生私鑰簽名過程全部發生在安全芯片內私鑰一旦生成,永遠不離開安全芯片但依然有三個功能點用戶無法通過檢查代碼來驗證:
真隨機數生成簽名算法比如ECDSA安全芯片如何防御物理攻擊但是這三個功能點,用戶都可以通過別的方式進行驗證。
真隨機數生成。用戶可以自己運行FIPS140-2來驗證其隨機性。Trezor曾經也做過相關測試。另外,我們后面的產品更新中,會允許用戶自行投擲骰子來生成隨機熵值,進而生成助記詞和私鑰,從而「繞過」了真隨機數的功能,用戶無需信任安全芯片的真隨機數生成器。簽名算法比如ECDSA,這一部分的驗證,需要依賴一定的專業知識,我們可以提供安全芯片的開發板給感興趣的研究人員進行驗證并公布相關結果。安全芯片對物理攻擊的防御,我們可以從硬件錢包的攻擊歷史來看,雖然無法得到「安全芯片可以抵御一切物理攻擊」的結論,但是相比通用MCU,安全芯片對物理攻擊的防御能力,是遠遠超出的。此外,研究人員也可以向我們申請安全芯片的開發板,用于驗證其對物理攻擊的防御能力。綜上所述,如果安全芯片實現固件開源,所有的關鍵操作和安全性都可以得到驗證或證明。
今日恐慌與貪婪指數為53:金色財經報道,今日恐慌與貪婪指數為53(昨日為56),貪婪程度下降,等級仍為貪婪。注:恐慌指數閾值為0-100,包含指標:波動性(25%)+市場交易量(25%)+社交媒體熱度(15%)+市場調查(15%)+比特幣在整個市場中的比例(10%)+谷歌熱詞分析(10%)。[2023/4/24 14:23:01]
PSBT多簽
PartiallySignedBitcoinTransaction來自于BIP174,從BIP174的官方文檔我們可以看到PSBT主要有兩個使用場景:
混幣。混幣可以幫助用戶更好的保護自己的隱私,不輕易被線上分析實現追蹤。跨硬件錢包多簽。PSBT相當于是統一了不同硬件錢包,和觀察錢包之間「溝通語言」。從而實現了不同硬件錢包之間的跨硬件多簽。這樣可以有效避免某一款硬件錢包的「單點失敗」帶來的安全風險。對未來的硬件錢包來說,支持PSBT將成為必選項。DIY硬件錢包(BYOH-Buildyourownhardware)
DIY硬件錢包是很多極客玩家將對硬件錢包廠商的信任最小化的終極方式。
過往的硬件錢包允許用戶DIY的方式主要是,開放硬件電路設計以及所有代碼,從而方便用戶從零搭建一臺硬件錢包。但是這種說法會帶來兩個問題:
這樣的方式使得黑客能夠更低成本地造出一臺假的硬件錢包,然后銷售假錢包或者實施供應鏈攻擊,從而盜取用戶的數字資產。歷史上也確實發生過類似事件。這樣的方式對用戶的技術能力要求極高,用戶需要同時具有硬件和軟件的研發能力,才能完成DIY。一個更好的方案是銷售安全芯片開發板給用戶,這樣一是避免了黑客通過錢包造假攻擊用戶,二是只需要軟件開發的能力,用戶就可以用安全芯片開發板打造自己的硬件錢包。
幣安CEO:加密貨幣行業需要提高透明度:金色財經報道,交易平臺幣安CEO:加密貨幣行業需要提高透明度,很多投資者對復蘇基金很感興趣。[2022/11/16 13:11:52]
以上四個提升點主要是從技術安全的角度進行闡述。海外市場最近大火的硬件錢包ColdCard在TF卡數據傳輸和PSBT支持這兩方面已經帶領硬件錢包行業往前邁進了一大步。
但遺憾的是,硬件錢包誕生的這些年來,硬件錢包廠商往往將大多數注意力放在了技術層面的安全。比如代碼的魯棒性,比如安全芯片的使用。整個行業對硬件錢包「用戶體驗」的關注非常少。但往往正是用戶體驗的短板,導致了人為失誤進而造成了丟幣。今天,硬件錢包已經不再是極客用戶才會使用的產品,普通用戶也開始使用硬件錢包,我們在設計硬件錢包時,也必須把人為失誤也納入考量,打造更好的用戶體驗,從而避免用戶丟幣。
在深入討論人為失誤之前,需要強調一下「人為失誤」是一個相對的概念,它往往無法同時適用于普通用戶和專業用戶。有一些針對「人為失誤」的產品改進,對專業用戶來說,可能會降低錢包產品的可定制性。舉個最簡單的例子來說,針對專業用戶的錢包,會允許用戶手動選擇UTXO,但是為了降低產品復雜度,避免普通用戶的人為失誤,手動選擇UTXO這樣的功能就應該被摒棄。下面詳細展開硬件錢包要如何改進才能降低人為失誤的概率從而避免丟幣。
觸摸大屏
萬向區塊鏈肖風:港府明年3月生效的發牌制度意味著強制性牌照管理:10月31日消息,萬向區塊鏈肖風在由NFTERA及香港數碼港聯合舉辦的《大潮起香江:香港重磅加密新政解讀》推特Space活動中發言表示:香港全面發牌制度的建議生效日期為2023年3月1日,這意味著Web3創業者將接受強制性牌照管理;
目前Web3創業者在香港沒有法律障礙,合法合規,申請牌照屬于自愿接受監管。港府新政表示香港歡迎、鼓勵Web3創業者。[2022/11/1 12:02:35]
相信使用過目前主流硬件錢包的用戶都體會過小按鈕和小屏幕的糟糕體驗。這種體驗上的短板放大了用戶發生人為失誤的可能性。我們從輸入密語這個點來看,因為小屏的顯示效果差,字符輸入的體驗也很差,所以現有的硬件錢包都是讓用戶只輸入一遍密語,這樣用戶一旦輸入錯誤,可能就會把幣轉到錯誤的地址上從而丟幣。有了大屏幕,輸入體驗更好了,展現信息更全之后,系統可以要求用戶輸入兩遍密語,兩遍輸入匹配,則進入隱藏錢包,輸入不匹配,系統報錯。從而避免了人為失誤。
此外,大觸屏也能避免一些攻擊面。比如。當你收幣的時候,可以直接向對方展示你的硬件錢包上的收幣地址二維碼。因為配套App聯網,它的收幣地址易于發生攻擊,所以收取大量數字貨幣時,更安全的當時是直接使用硬件錢包端的收幣地址。
以上這些改進對于專業用戶來說可能不會構成威脅,但是正如前文提到的,越來越多的用戶擁有數字貨幣,硬件錢包不再是僅僅為專業用戶服務,更需要考慮普通用戶的使用場景。
防御不可信固件
代碼開源對去中心化應用和產品來說異常重要,但是代碼開源往往也會帶來新的攻擊面。目前部分硬件錢包支持用戶自行修改開源代碼,并編譯成升級包,然后燒錄到硬件錢包內。這給極客用戶更大的空間可以自行修改硬件錢包,但同樣也為黑客攻擊敞開了大門:黑客可以主動接觸那些在網上提問的小白用戶,誘騙小白用戶安裝黑客篡改過的固件升級包,進而被盜幣。
為了縮小這樣的風險敞口,任何市售版本的硬件錢包應該只允許用戶安裝官方簽名的固件升級包。這樣做并不代表一定會傷害極客用戶的用戶體驗。可以同時推出極客版本的產品,允許用戶自行定制固件上傳,甚至產品出廠時不帶可工作的固件,用戶必須自行燒錄才可以正常使用產品,這樣就避免了普通用戶誤購買了極客版本的產品從而增加自己的安全風險,更進一步,允許用戶替換硬件錢包內驗證升級包的公鑰,從而實現用戶手里的硬件錢包,只認可用戶自行簽名的固件升級包。
模塊化電池
由于我們日常使用的電子產品已經成為了「快消品」,用戶通常是1-2年會更替一下產品,所以電池使用壽命一直不算太大的問題。電池廠商一般也根據1-2年的使用壽命來設計電池。但是硬件錢包的使用場景跟手機大大不同,往往是用戶可能要存放數年甚至十數年之久,甚至有的用戶,將硬件錢包封存在保險箱或者銀行保險柜之后,可能數月甚至數年才會去操作一次硬件錢包。
在這種場景下,避免電池漏液損壞硬件錢包本體,模塊化的可拆卸電池就成為了必須。同時,吐過支持普通干電池供電,能夠避免用戶數月或者數年沒有操作硬件錢包導致電池失靈而在關鍵時刻無法轉幣的尷尬。
手機端配套App
目前主流的硬件錢包主要使用電腦端App作為配套App,比如LedgerLive或者Trezor的網頁端應用。但是相比于手機端App,電腦端App會帶來更大的風險敞口:
移動端的App都運行于沙盒環境內。App之間不允許互相讀取數據。移動端的產品默認打開系統全局加密,電腦端往往不是這樣。移動端的用戶權限往往被強限制,不像電腦端,用戶甚至能通過命令行工具,繞過一些安全防護設置。除了以上三點,此外,普通用戶也不善于辨別釣魚鏈接。所以,下載電腦端App時,普通用戶更容易遭受釣魚攻擊,下載到錯誤的配套App軟件,從而造成丟幣。
《精通比特幣》的作者AndreasAntonopolous也曾建議大眾使用手機端錢包而不是電腦端錢包。
支持線下購買
大多數普通用戶并不擅長保護他們的線上隱私。線上隱私泄露會導致用戶遭受定向威脅攻擊甚至五美元扳手攻擊。如果我們把這一點也作為攻擊面之一來考慮的話,硬件錢包最好能夠支持用戶在線下渠道通過現金購買。
寫在最后
打造一款安全的硬件錢包并非易事。可以理解成這是一場矛和盾的對決。除了上述的9個硬件錢包改進點,另外還有2個點我們非常期待:
拋棄所有MCU芯片,使用一顆安全芯片控制所有硬件錢包的輸入和輸出,包括但不限于鍵盤,屏幕,攝像頭,讀卡器,藍牙,USB等等等等。因為回顧硬件錢包的攻擊歷史,惡性的攻擊事件全部是圍繞著MCU來進行的。全開源安全芯片。這將把安全芯片這個關鍵組件的透明度提升到一個前所未有的高度。很高興看到巨頭企業比如Google正在為此努力。感謝MattOdell和LazyNinja為此文提出的寶貴意見!
日前,全國政協委員、陜西省高級人民法院副院長鞏富文表示,他擬向今年全國兩會提交一份關于區塊鏈助推社會治理大有可為的提案.
1900/1/1 0:00:00尊敬的中幣用戶: 中幣將于香港時間2020年5月18日14:00正式開啟第九期投票上幣,投票成功的項目將獲得中幣平臺上幣資格.
1900/1/1 0:00:00摘要 2019年10月24日召開的局集體學習會議將區塊鏈定位為“核心技術自主創新的重要突破口”,而公鏈是區塊鏈發展的基石,其發展動向可以看作區塊鏈產業的風向標.
1900/1/1 0:00:00尊敬的ZT用戶: 因BCH節點更新,ZT現已暫停其充提業務,更新完成后將恢復正常。具體恢復時間請關注官網公告,由此給您帶來的不便敬請諒解.
1900/1/1 0:00:00鏈聞消息,據新華財經報道,5月17日,上海金融科技產業聯盟在上海成立。會上,人民銀行上海總部領導正式宣布啟動上海金融科技創新監管試點工作.
1900/1/1 0:00:00北京時間5月18日8點,反映加密貨幣市場整體走勢的ChaiNext100指數報846.28點,過去24小時上漲3.35%,成交額778.55億美元,成交較前24小時增加5.15%.
1900/1/1 0:00:00