什麼才是安全的硬體錢包?

買賣虛擬貨幣
隨著區塊鏈的火爆,市場上的硬體錢包琳琅滿目,我們應該如何選擇呢?
知道創宇區塊鏈安全實驗室就這個問題進行深入探討,解答什麼才是安全的硬體錢包。

                                                         


安全晶片


硬體錢包主要功能是生成、儲存私鑰,同時還能對使用者的交易進行簽名驗證,而完成這一切的核心,便是錢包安全晶片。

錢包安全晶片儲存了我們的私鑰,當需要對交易進行簽名時,透過呼叫晶片介面(一般採用 i2c 或 spi 通訊),把需要簽名的資料傳輸給安全晶片,安全晶片返回簽名後的資料,實現了在不對外暴露私鑰的情況下,完成交易簽名,從而保證了私鑰安全(這裡只是簡要描述簽名流程,實際情況會有多次的鑑權驗證等操作)。

所以錢包晶片的安全等級(儲存的私鑰不能被非法提取),直接決定了整個硬體錢包的安全係數。

對於安全晶片的安全等級評測,國際上公認的標準是 cc(common criteria)標準,cc標準對安全保障等級(evaluation assurance level,簡稱 eal ), 規定了七個級別(eal1 - eal7):



從上述定義可以看出,安全晶片至少要滿足 eal5 等級標準,才是一個合格的錢包安全晶片。換一個通俗(不嚴謹)的說法:ela5 及以上安全晶片,可以保證晶片中的資料、金鑰、程式碼,外部無法破解讀取,可以安全儲存我們的私鑰!

如果硬體錢包的安全晶片,沒有進行 eal 認證,那麼不管宣稱的多麼安全,都是值得懷疑的!


私鑰生成


安全晶片可以保證我們的私鑰儲存安全、簽名驗證安全,但如果我們的私鑰本身不安全,那麼為私鑰所設計的一切安全保護,都是空中樓閣。

私鑰是一串256位的隨機數,而硬體錢包一般遵循 bip32、bip39、bip44 協議,透過隨機數,生成我們的助記詞和私鑰種子,如果硬體錢包產生的隨機數不夠隨機(假隨機數),那生成的私鑰就有可能被他人推算出來。

設計真隨機數生成器 (trng),是一項非常複雜的工作。為了確保隨機數質量,需要以可驗證和經過嚴謹統計的方式證實 trng 的真隨機性。國際上一般採用美國國家標準與技術研究院 ( national institute of standards and technology,nist )制定的 nist sp 800-90a/b/c 標準(“c”仍處於草案階段)或德國標準機構( bundesamtfürsicherheitin der informationstechnik, bsi )制定的 ais 20-31 標準:



如果硬體錢包,沒有采用符合標準的隨機數生成器,那錢包本身生成的私鑰就不安全,隨時都有被推算破解的可能。


公開透明


硬體錢包即使使用了高安全等級晶片、真隨機數,也有可能因為其他問題(如不正確使用安全晶片),導致整個錢包的安全問題。所以一個真正安全的硬體錢包,還應該做到公開透明。讓大家知道錢包是如何生成私鑰,如何安全的儲存私鑰,如何安全的進行晶片通訊和交易簽名,只有經得起各方審查的硬體錢包,才是真正安全的硬體錢包。



知道創宇唯一指定存證平臺:www.attest.im

聯絡我們[email protected]




知道創宇區塊鏈安全實驗室導航


微信公眾號

@創宇區塊鏈安全實驗室


微博

@知道創宇區塊鏈實驗室

https://weibo.com/blockchainlab


知乎

@知道創宇區塊鏈安全實驗室

https://www.zhihu.com/org/zhi-dao-chuang-yu-qu-kuai-lian-an-quan-shi-yan-shi


twitter

@ks_blockchain

https://twitter.com/ks_blockchain



免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读