從技術安全和人為失誤這兩個維度探討硬件錢包安全性的9個提升點:全脫網、多簽名、安全芯片等。
撰文:劉力心,Cobo硬件業務線負責人
2019年底公布的統計數據顯示,相比于2018年,美國本土的比特幣擁有者增長了81%。目前全美有3650萬的數字貨幣持有者。越來越多的人擁有數字貨幣,這使得「安全存幣」這個話題變得尤為重要。
當我們談起安全存幣,一個繞不開的話題就是硬件錢包。硬件錢包的安全性大概可以分成兩塊:
技術安全。這一塊的安全,數字貨幣社區已經談論了很多年,包括如何防御中間人攻擊,物理攻擊,供應鏈攻擊等,主要集中討論如何從技術的角度防御這些攻擊手段。第二塊不能不討論的即使人為失誤。統計數據顯示,由于人為失誤,已經有至少400萬枚比特幣將永遠無法被使用。如果我們關注一下比特幣的發展史,我們會看到很多改進都是為了避免人為失誤。比如為了避免管理過過多私鑰,HD錢包被創造了出來;比如助記詞被創造出來,也是為了用戶在保存主私鑰的過程中避免發生人為失誤。這篇文章將會從技術安全和人為失誤這兩個維度討論硬件錢包安全性的9大提升點。
全脫網
硬件錢包起到的第一個作用,是讓你的私鑰實現「脫網」。如果你的私鑰實現了「脫網」,那黑客對硬件錢包進行遠程攻擊的可能性就被大大降低。但是這里「脫網」為什么要打引號,因為硬件錢包之間,「脫網」的程度是不一樣的。具體來說,大多數硬件錢包,在不使用的狀態下,是完全脫網的。但是一旦進入使用狀態,多數硬件錢包會通過USB線,或者藍牙,連接到一臺聯網的手機或者電腦。雖然連接時間非常有限,但是此時的「間接聯網」的狀態是非常危險的。
Bitwise向美SEC提交文件要求修改規則以適應比特幣現貨ETF:金色財經報道,Bitwise Asset Management于6月16日提交了一份文件,要求修改規則以適應其計劃中的比特幣現貨ETF。美國證券交易委員會(SEC)于2022年6月拒絕了Bitwise先前的比特幣現貨ETF申請。當時,美國證券交易委員會表示,Bitwise的ETF無法實現充分的監督共享,無法提供針對市場操縱的保護,也無法證明相關市場規模龐大。
然而,美國證券交易委員會表示,未來的申請可能會符合這些標準,而Bitwise試圖在其最新提交的文件中證明這一點。此外,在新提交的文件中,BitWise表示,SEC應在45至90天內批準、拒絕或圍繞其擬議的規則變更啟動其他程序。[2023/6/17 21:44:08]
所以,「脫網」其實是個相對的概念。「脫網」的關鍵是在于配套App與硬件錢包之間的通訊。目前通訊方式主要有四種——USB,藍牙,二維碼和TF卡。二維碼和TF卡是更好的方式,因為其建立的鏈接不是持續通訊連接,并且所有通訊數據透明可審查。從而將攻擊面減到了最小。
二維碼和TF卡通訊的另一個好處就是,讓硬件錢包跟第三方錢包的適配變得非常容易。因為兩邊只要遵循相同的數據格式即可,不用考慮USB和藍牙的適配性問題。這也讓硬件錢包可以單純扮演一個「簽名者」的角色。
安全芯片
數據:某巨鯨地址將價值473萬美元SSV轉入Binance:金色財經報道,據鏈上分析師余燼監測,曾于 552 天前從 Binance 提出 229,552 枚 SSV 的巨鯨,于 1 小時前將 20 萬枚 SSV(約 473 萬美元)轉入 Binance。余燼分析稱,552 天前該地址從 Binance 提出時,SSV 價格為 9.35 美元,如果該地址以 SSV 當前價格全部售出,將實現 286 萬美元的收益。目前,SSV 價格已由他剛轉入時的 24.9 美元下跌至 23.6 美元。[2023/5/6 14:47:17]
海外社區對硬件錢包是否應該使用安全芯片一直爭論不休。正方認為不用安全芯片無法抵御物理攻擊,反方認為安全芯片是個黑盒子,無法信任。但是,安全芯片其實并不完全是個黑盒子,安全芯片一定程度上來說也是可驗證的。
如何驗證安全芯片?
社區多年來似乎已經對安全芯片形成了一個共識——安全芯片是不可開源的。但其實這取決于硬件錢包廠商跟安全芯片廠商之間的談判能力。將安全芯片的芯片設計和底層代碼進行開源需要高昂的成本,但是將安全芯片的固件代碼開源,完全是可以辦到的。
安全芯片固件開源后,可以讓用戶驗證這些關鍵信息:
如何從隨機熵值生成助記詞,進而生成主私鑰所有私鑰和公鑰的派生私鑰簽名過程全部發生在安全芯片內私鑰一旦生成,永遠不離開安全芯片但依然有三個功能點用戶無法通過檢查代碼來驗證:
流入交易所的ETH數量創近一個月新低:金色財經報道,Glassnode數據顯示,流入交易所的ETH數量在過去的一小時(7日均值)為7,655.9枚,創近一個月新低。[2022/12/27 22:09:21]
真隨機數生成簽名算法比如ECDSA安全芯片如何防御物理攻擊但是這三個功能點,用戶都可以通過別的方式進行驗證。
真隨機數生成。用戶可以自己運行FIPS140-2來驗證其隨機性。Trezor曾經也做過相關測試。另外,我們后面的產品更新中,會允許用戶自行投擲骰子來生成隨機熵值,進而生成助記詞和私鑰,從而「繞過」了真隨機數的功能,用戶無需信任安全芯片的真隨機數生成器。簽名算法比如ECDSA,這一部分的驗證,需要依賴一定的專業知識,我們可以提供安全芯片的開發板給感興趣的研究人員進行驗證并公布相關結果。安全芯片對物理攻擊的防御,我們可以從硬件錢包的攻擊歷史來看,雖然無法得到「安全芯片可以抵御一切物理攻擊」的結論,但是相比通用MCU,安全芯片對物理攻擊的防御能力,是遠遠超出的。此外,研究人員也可以向我們申請安全芯片的開發板,用于驗證其對物理攻擊的防御能力。綜上所述,如果安全芯片實現固件開源,所有的關鍵操作和安全性都可以得到驗證或證明。
PSBT多簽
PartiallySignedBitcoinTransaction來自于BIP174,從BIP174的官方文檔我們可以看到PSBT主要有兩個使用場景:
紐約時報:推特提交進入支付業務領域的文件:金色財經報道,埃隆-馬斯克旗下推特可能會進入支付業務。根據紐約時報獲得的美國金融犯罪執法局(FinCEN)的文件,推特上周提交了注冊文件,為其處理支付業務鋪平道路,作為馬斯克完成收購后推特尋求轉型之舉。進行資金轉移、兌換貨幣或兌現支票的企業必須在FinCEN注冊,并向該機構報告可疑交易。FinCEN一位發言人表示不對具體企業發表評論。馬斯克正對推特進行徹底改革,上周裁掉了一半的員工,并增加了訂閱功能以提高收入。據悉馬斯克時常考慮將支付業務納入推特,曾表示計劃將推特轉變為一個“萬能應用”(everything app)。[2022/11/10 12:40:26]
混幣。混幣可以幫助用戶更好的保護自己的隱私,不輕易被線上分析實現追蹤。跨硬件錢包多簽。PSBT相當于是統一了不同硬件錢包,和觀察錢包之間「溝通語言」。從而實現了不同硬件錢包之間的跨硬件多簽。這樣可以有效避免某一款硬件錢包的「單點失敗」帶來的安全風險。對未來的硬件錢包來說,支持PSBT將成為必選項。DIY硬件錢包(BYOH-Buildyourownhardware)
DIY硬件錢包是很多極客玩家將對硬件錢包廠商的信任最小化的終極方式。
過往的硬件錢包允許用戶DIY的方式主要是,開放硬件電路設計以及所有代碼,從而方便用戶從零搭建一臺硬件錢包。但是這種說法會帶來兩個問題:
鴻博股份:與英偉達等共同合作成立北京AI創新賦能中心:8月14日消息,鴻博股份公告,公司與中恒文化、英偉達、英博數科就在北京市共同合作成立北京AI創新賦能中心,開展相關人工智能科技領域項目建設及運營服務事宜簽署了《合作協議》。(金十)[2022/8/14 12:25:01]
這樣的方式使得黑客能夠更低成本地造出一臺假的硬件錢包,然后銷售假錢包或者實施供應鏈攻擊,從而盜取用戶的數字資產。歷史上也確實發生過類似事件。這樣的方式對用戶的技術能力要求極高,用戶需要同時具有硬件和軟件的研發能力,才能完成DIY。一個更好的方案是銷售安全芯片開發板給用戶,這樣一是避免了黑客通過錢包造假攻擊用戶,二是只需要軟件開發的能力,用戶就可以用安全芯片開發板打造自己的硬件錢包。
以上四個提升點主要是從技術安全的角度進行闡述。海外市場最近大火的硬件錢包ColdCard在TF卡數據傳輸和PSBT支持這兩方面已經帶領硬件錢包行業往前邁進了一大步。
但遺憾的是,硬件錢包誕生的這些年來,硬件錢包廠商往往將大多數注意力放在了技術層面的安全。比如代碼的魯棒性,比如安全芯片的使用。整個行業對硬件錢包「用戶體驗」的關注非常少。但往往正是用戶體驗的短板,導致了人為失誤進而造成了丟幣。今天,硬件錢包已經不再是極客用戶才會使用的產品,普通用戶也開始使用硬件錢包,我們在設計硬件錢包時,也必須把人為失誤也納入考量,打造更好的用戶體驗,從而避免用戶丟幣。
在深入討論人為失誤之前,需要強調一下「人為失誤」是一個相對的概念,它往往無法同時適用于普通用戶和專業用戶。有一些針對「人為失誤」的產品改進,對專業用戶來說,可能會降低錢包產品的可定制性。舉個最簡單的例子來說,針對專業用戶的錢包,會允許用戶手動選擇UTXO,但是為了降低產品復雜度,避免普通用戶的人為失誤,手動選擇UTXO這樣的功能就應該被摒棄。下面詳細展開硬件錢包要如何改進才能降低人為失誤的概率從而避免丟幣。
觸摸大屏
相信使用過目前主流硬件錢包的用戶都體會過小按鈕和小屏幕的糟糕體驗。這種體驗上的短板放大了用戶發生人為失誤的可能性。我們從輸入密語這個點來看,因為小屏的顯示效果差,字符輸入的體驗也很差,所以現有的硬件錢包都是讓用戶只輸入一遍密語,這樣用戶一旦輸入錯誤,可能就會把幣轉到錯誤的地址上從而丟幣。有了大屏幕,輸入體驗更好了,展現信息更全之后,系統可以要求用戶輸入兩遍密語,兩遍輸入匹配,則進入隱藏錢包,輸入不匹配,系統報錯。從而避免了人為失誤。
此外,大觸屏也能避免一些攻擊面。比如。當你收幣的時候,可以直接向對方展示你的硬件錢包上的收幣地址二維碼。因為配套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為此文提出的寶貴意見!
據Cointelegraph消息,意大利政府現在正通過投資1500萬歐元(1620萬美元)開發基于區塊鏈的解決方案來反擊這些世界各地市場出售的“意大利制造”仿冒品.
1900/1/1 0:00:00ZG.TOP即將上線YTH,并開放YTH/USDT的交易市場,具體時間如下:1,YTH/USDT的市場交易:2020年05月20日15:00;公告 | Gate.io官方就CNNS事件做出說明.
1900/1/1 0:00:00親愛的BithumbGlobal用戶:BithumbGlobal將在創新板上線BIP數字資產服務.
1900/1/1 0:00:00據中國甘肅網報道,5月14日,“甘肅省5G/區塊鏈工作推進會”在蘭州舉行。省委副書記、省長唐仁健出席會議并見證多方項目簽約,副省長李沛興出席會議并講話,副省長程曉波主持會議.
1900/1/1 0:00:00在基金中,私募基金應該是最暴力,它的投資期限、標的物受限空間比較小,厲害的私募賺十幾倍問題不大。對于其他股票基金、債券基金、貨幣基金等等,翻1倍并不是很多.
1900/1/1 0:00:00在我這里,不會承諾你盈利多少,我能做的是幫你合理的把控倉位,利用支撐和阻力位下單,讓每一單有理可依,有跡可循。買賣點位不應該是隨意進場,請對自己的資金負責.
1900/1/1 0:00:00