您是否正在考虑使用旧电脑或智能手机作为冷钱包,而不是硬件钱包?研究表明,離線計算機和智能手機都存在漏洞,黑客可以利用這些漏洞獲取您的私鑰。因此您需要重新考慮一下是否需要购买硬件钱包。本文將解釋為什麼其他設備無法代替專業的硬件錢包。
將私鑰存儲在離線設備上,尤其是存儲在一台離線的計算機上,这种冷儲存解決方案已經存在了很長時間。Mordechai Guri 博士在他的報告 *Beatcoin: Leaking Private Keys from Air-Gapped Cryptocurrency Wallets *中詳細的闡述了這種冷儲存解決辦法是多麼的不安全。他的研究結果概述了如何通過三個步驟從一台離線計算機上獲取私鑰:
病毒一旦滲透到離線計算機中,那麼實現第2步或第3步的方法會特別多。Guri 博士在研究中還發現,由於計算機是由很多零部件組成,可以通過病毒入侵實現單獨控制計算機某個模塊的功能。其中一些还包括一些出人意料的發現:
Guri 博士的團隊展示了這些輸出界質(光、聲音和無線電信號)如何被附近的設備所接收並最終泄露私鑰。
從Guri 博士的研究中可以試想一下在離線計算機上安裝惡意軟件到底有多容易?對於剛接觸這個行業的人來說,病毒似乎不太可能傳播到設備上。但是,市面上幾乎所有冷錢包都需要某種方式來連結到互聯網上進行交易或進行其他操作。而對於離線計算機而言,通常用 USB 進行數據傳輸,而通過 USB 進行數據傳輸安全性無法保障。
舉一個實際例子大家就能意識到躲在暗處的攻擊者的攻擊手段有多麼隱蔽和難以防範——2008 年,位於中東某地的美國軍事基地內,攻擊者將一個安裝有病毒軟件(Agent.BTZ)的 U 盤故意“遺失”在基地停車場內。 U 盤被美國國防部工作人員拾到,並連接到了美國國防部的內部網絡中。之後,在毫無察覺的情況下,病毒入侵了整個美國國防部的內部安全網絡。五角大樓的 IT 安全人員花了整整 14 個月才清除了病毒的所有殘餘。
而大家用 U 盤將轉賬地址傳輸進離線電腦,並將簽名完畢的信息從離線電腦拷貝出電腦,這些都是黑客植入病毒的絕佳時機。
對於第三方操作系統或軟件錢包的用戶來說,離線計算機的危險不止於此。再舉一個更加“不可能發生”的例子。 2016 年,黑客替換了 Linux Mint 官方的下載鏡像,並在其中安插了後門程序。所以,在官網下載的操作系統或者錢包應用,同樣存在一定的風險。
“離線電腦”其實並不是真正“離線”,那離線的手機呢?手機沒有風扇,也沒有機械硬盤,手機就能做到真正的“安全”嗎?
我們先來看 Android 手機。 Android 手機的安全性主要依賴 TrustZone(私鑰正是保存在 TrustZone 中,甚至有些無良廠商並沒有將私鑰存儲到 TrustZone 中)。通過旁路攻擊的展示,可以看到 TrustZone 非常脆弱。如果攻擊者獲得了這台離線 Android 設備的物理訪問權限, 他們就可以實施可行的方法竊取私鑰。 就算 Android 廠商及時發現了零日攻擊,他仍需要讓用戶下載補丁,但往往攻擊者會禁止設備這樣做。
iPhone 有一個叫做 Secure Enclave 的安全區,可以理解成是嵌在主芯片內的一顆加密芯片。顧名思義,iPhone 率先在智能手機上使用了安全芯片。理論上來說,Secure Enclave 能實現加密芯片的幾乎所有功能和物理特性,包括加密芯片最關鍵的功能——物理生成真隨機數(True-Random-Number-Generator,簡稱 TRNG)。
儘管 Secure Enclave 能夠做到這一點,但它對加密貨幣並沒有幫助,因為蘋果公司掌管著私鑰,並且不會向任何地方開放使用。最關鍵的是 Secure Enclave 只支持加密曲線 Secp256r1,而比特幣的加密曲線用的是 Secp256k1 ,一個字母,差之毫釐,謬以千里。這個就導致了你用 iPhone 做冷錢包的時候,簽名一筆比特幣交易,簽名是發生在 iOS 應用層而不是 Secure Enclave 裡面。這就是極大的風險敞口,非常容易受旁道攻擊。就算蘋果公司支持了 secp256k1,也沒有可以幫助提取私鑰或者恢復種子的 API 接口。
因為Secure Enclave 設計之初,是為了保證 iPhone 的安全性,所以他有一些很特殊的安全機制,比如——物理生成的真隨機數(True-Random-Number-Generator,簡稱 TRNG)是不能讀取的。也就是說,用戶無法備份他的主私鑰,如果 iPhone 壞了,數字資產會全部遺失。同時,Secure Enclave 也不支持第三方 App 的讀寫操作。所以,你也無法把你的私鑰導入 Secure Enclave 保存。
iPhone 雖然有了 Secure Enclave,攻擊面比計算機小,而且不使用 USB 進行數據傳輸,但其實 Secure Enclave 並沒有參與到數字貨幣的隨機數生成,私鑰存儲,私鑰簽名這些關鍵操作中。不管你用哪一款冷錢包 App,隨機數還是算法生成的偽隨機數,私鑰還是存在系統層,私鑰簽名還是在系統層內發生。另外,即使蘋果公司增加了對 secp256k1 的支持,如果 iPhone 發生任何事情,你也無法備份你的錢包。雖然蘋果公司也發布了 CryptoKit ,但其實它只是一個密碼學組件。不是一個數字貨幣組件。這裡Crypto 代表的是 Cryptographic(密碼學),不是 Cryptocurrency(數字貨幣)。
硬件錢包是一款很簡單的設備,它可以大大減少受到各種攻擊的威脅。雖然離線智能手機比離線計算機看起來更加安全,但是不要被這種表面的安全感所迷惑。如果您希望可以保護您的數字貨幣資產,您最好購買一臺包含安全芯片的硬件錢包。要想了解更多關於進一步降低攻擊可能性的信息,請繼續閱讀《 Keystone 如何保證二維碼傳輸是公開透明的》。