當前位置:
首頁 > 最新 > 硬體錢包也不一定安全,幾款硬體錢包對比分析

硬體錢包也不一定安全,幾款硬體錢包對比分析

作者簡介:蘇勇,前 IterCast 創始人,連續創業者。項目涵蓋在線教育、商業 Wi-Fi、ASO、iOS App、基於深度學習的精準圖像識別。現專註區塊鏈及相關領域。

先來一句話結論:Ledger Nano S 目前綜合安全性最高。

不管是比特幣、以太幣,還是各種各樣 ICO 的 token,我們都需要一個錢包來保存數字貨幣,而錢包實際上保存的就是一個密鑰對(一個公鑰一個私鑰)。 誰擁有了這個密鑰,誰有擁有這些資產,以及支配能力。並且一旦密鑰丟失,那麼這些資產也就永久性的丟失了。

所以我們需要一個極為安全的方式來保存我們的秘鑰。常見的方式有兩種:軟體錢包;硬體錢包

我們常用的 imtoken、MyToken、Coinbase 等等都屬於安裝在手機上的軟體錢包,metamask 等瀏覽器插件形式的則是在桌面端常用的,這些都屬於軟體錢包。那麼就有一個問題了,如果 app 刪除,或者手機丟失了,那麼密鑰也就丟失了,我們的幣也就沒了。所以一般都會提供一組用於恢復的助記詞。只要記得這些詞,也可以恢復密鑰。另一個問題就安全性,如果你的手機或者電腦被黑客攻擊了,那麼黑客就可以訪問你錢包里的密鑰,就像我們前面說的,有了密鑰,也就擁有了你的資產,以及支配能力。這就是軟體錢包的風險。

於是,就誕生了硬體錢包。

硬體錢包實際上是將密鑰保存在了硬體晶元當中,與大家使用的網銀U盾一樣,用一個硬體設備保存核心數據(比如密鑰),這樣,即使所使用的電腦或者手機被黑了,那麼黑客也訪問不到你的密鑰,就保證了資產的安全性。

那麼,真的是這樣嗎?

我們這裡就對幾款常見的硬體錢包做一下安全性分析,看看到底硬體錢包安不安全。

目前我們只能通過淘寶等非官方渠道(眾所周知的原因,當然有所謂官方授權店)買到硬體錢包。目前比較流行的,產品化完善的硬體錢包有這麼幾種:Ledger系列(以 Ledger Nano S 為主)、Trezor、KeepKey。當然還有幾個長得很像手機,似乎是國內廠商製造的,就不在本次分析之列了(因為至少筆者認為,硬體錢包應該是極簡化的設計,任何多餘功能都會導致新的安全隱患以及不穩定因素,很像想像一個基於安卓的擁有類似手機功能的錢包的穩定性以及安全性,畢竟可能要壓箱底屯著。別忘了幣圈那句話:拿住,我們能贏!

言歸正題。對於一個硬體錢包的安全性,我們要從這幾個方面來分析:

密鑰保存方式

操作流程隱患

系統安全性

丟失恢復方式

第一:密鑰保存方式

之前我們提到了,硬體錢包最重要的作用是儘可能安全的保存我們的密鑰。那麼我們來看下這三款錢包是如何保存密鑰信息的。首先,先看三款錢包的高清無碼拆解圖:

1. Ledger Nano S

2. Trezor

3. KeepKey

可以看到三款錢包都是帶有一個簡單的LCD屏幕,幾個硬體按鈕。這點上沒什麼區別,但是從使用的晶元上來看,區別就比較大了

Trezor 和 KeepKey 的架構比較類似,都是使用了一個ARM 32位處理器,沒有使用專門的安全晶元,而 Ledger Nano S 則多了一個專用的安全加密晶元。就是下圖中箭頭所指ST31H320這個:

ST31H32晶元資料參看 :

http://www.st.com/zh/secure-mcus/st31h320.html

那麼在密鑰存儲方面,差距立馬就拉開了。 這些硬體錢包的系統程序是跑在 ARM 處理器上的,這種處理器由於運行了系統軟體,並且對接了對外的各種介面,負責與錢包程序通訊等等,還可以通過插入電腦進行系統升級,這就大大的增加了被攻擊的可能性。系統軟體、用戶信息和密鑰都保存在這個處理器的存儲當中,這樣,只要系統被攻破,那麼這些信息就唾手可得。並且對 ARM 處理器的攻擊方法是非常多的,畢竟這種晶元被用在了很多地方。

而 Ledger 則將系統程序和密鑰存儲分離密鑰等加密信息保存在了單獨的那顆安全晶元上面,私鑰是不可被直接讀取的,這樣即使插入了中了病毒木馬的電腦中,即使 Ledger 本身的系統被攻破,也很難拿到密鑰信息。

有點類似蘋果 iPhone 用來保存指紋數據的專用安全晶元,就是為了方式系統被攻破或者設備丟失導致指紋信息泄露。

所以第一個也是最重要的部分:密鑰數據保存,Ledger Nano S 完勝!

第二:操作流程隱患

這裡主要涉及的是硬體錢包的使用流程。其實這幾款錢包的使用流程都差不多,目前發現可能在流程中有隱患的是 Ledger Nano S。

這貨雖然內置了安全加密晶元,硬體方面誠意滿滿,但是在操作流程上卻疏忽了,或者說認為這不是一個問題,就是在轉賬確認的時候,沒有顯示完整的轉賬地址……

大家都知道,BTC 也好 ETH 也好,錢包地址都是一長串的數字+英文。如下面這個:

0x8fc324215F70547cAeE6330715fAA538f5Cd41cc

我們在轉賬的時候需要輸入並確認目標地址是否正確,但是,Ledger Nano S 在顯示目標地址的時候,卻省去了中間部分…只顯示8位( 前4位和後4位),當然可以想像到設計人員可能是認為這麼長的地址遇到這8位相同的是幾乎不可能的, 再加上屏幕有限,就乾脆只顯示8位吧。

但是!大家都知道錢包地址是可以近乎無限的生成的, 那麼想要找到一個這8位相同的地址並不是不可能,並且還有網站提供這樣的服務:vante.me,當然這裡要澄清一下,這個網站本身設計目的是為了生成如包含你名字的個性地址的,並且是收費的。

所以 Ledger Nano S 在這裡就有了一個其他錢包沒有的隱患。(聽說 Ledger 官方要在後續固件升級中顯示完整地址了,應該是意識到了這個問題)。不過這個隱患的前提是首先 Ledger Nano S 的系統已經被攻破或者電腦端已經被攻破,才能做到顯示另一個地址。

另一個隱患是大家都有的,當然目前也沒有什麼好的解決辦法,就是防偷窺,就像 ATM 取款一樣,硬體錢包輸入 PIN 碼(類似手機鎖屏密碼,用來解鎖)的時候,不要讓別人看到,可以的話就像這樣:

公共場合注意姿勢,不要被當成變態就行…….

第三:系統安全性

這裡的系統安全性是指錢包系統本身被攻破的可能性,我們介紹的這幾款錢包使用的是嵌入式 ARM 架構,用的都是定製的嵌入式系統,並且都提供了 DFU 的固件升級功能(類似手機系統升級)。通過插入電腦,運行相關軟體就可以升級固件,那麼這裡就有了潛在的安全隱患了,如果電腦被攻擊,就可以讀取現有存儲的數據,或者刷入被修改過的固件,這樣就能在錢包中運行黑客的程序,這裡之前提到的 Ledger Nano S 的安全加密晶元就發揮了優勢,即使系統被替換或者系統數據被讀取,密鑰還是會被這個安全加密晶元保護,雖然也有辦法進行攻擊,但是難度被大大提高。

第四:丟失恢復方案

即使是硬體錢包,我們可以藏到床底下、箱子底下、保險柜里、襪子里、被子里等等各種地方,也不敢保證不會丟失,說不定哪天老媽打掃房間的時候就給你收拾了(咳咳,當然都這麼保存了應該怎麼也都資產過千萬,跟老媽住一起肯定是因為孝順啦…)。並且,硬體錢包雖然穩定但也是會壞的,尤其電子設備老不用,存放環境又不好,肯定會壞,那麼丟失損壞了如何恢復呢?

基本現在不管是軟錢包還是硬錢包,都是通過生成錢包密鑰時候的助記詞來完成恢復的。錢包初始化的時候會生成24個單詞作為助記詞,一旦損壞或丟失,只要還有助記詞,就能恢復。

那麼,助記詞的保存就是另一個安全隱患了, 誰拿到了這些助記詞,以及順序,就能恢複錢包了。

一般來說都是讓你記到紙上或者別的能永久保存的地方然後藏好,但是,壞人辣么多,這也不安全啊,所以個人建議幾個保存助記詞的方法:

記錄助記詞那張紙放到一個極為安全的地方

記錄到紙上的時候,按照一定規則打亂順序,自己記住規則,這樣別人拿走了不知道正確順序也沒辦法,按照規則記憶也比較簡單。

花幾天時間背過這些助記詞,隔段時間再複習下,保證絕對能記住之後,找個沒人的地方銷毀這張紙。

找一本世界名著,在裡面找到對應的單詞,然後記錄下位置,這樣別人不知道是哪本書,也就不知道這些位置所代表的詞了。

當然,方法還有很多,大家可以集思廣益。

綜上所述,Ledger Nano S 的安全性綜合下來是最高的, Trezor 和 KeepKey 安全性類似。所以筆者自己用的也是 Ledger Nano S。希望更多的、更安全的硬體錢包誕生。

最後,還有一個非常容易被忽視的安全隱患,就是防止買到的硬體錢包是假的,或者中途被人設置過,最簡單的識別方式,就是第一:軟體驅動一定用官方下載的,這樣可以基本保證硬體被識別的話就不是假硬體(注意不是絕對保證)。第二:現在有人賣設置過的硬體錢包,特點是助記詞已經列印好放到包裝里了,這樣的話就千萬不要用,先恢復出廠設置或者直接重買一個。因為助記詞是每次初始化的時候生成的,不可能預先生成好。

比如下圖就是網上曝光的列印好的助記詞卡片:

注意,重要事情說三遍,正常情況下是不可能有預先生成好的助記詞的!!!

好了,本期簡單的對幾個硬體錢包進行了安全分析,希望能夠對大家有所幫助,另外還有幾款相對小眾一些的如:OpenDime、Digital BitBox 等,我們放到後面再分析。

各位看官喜歡了別忘記訂閱

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 手游每日推 的精彩文章:

TAG:手游每日推 |