# 離線电脑或智能手機 VS 硬件錢包：有什麼區別？

By [Keystone 硬件錢包](https://paragraph.com/@keystonecn) · 2022-05-22

---

您是否正在考虑使用旧电脑或智能手机作为冷钱包，而不是硬件钱包？研究表明，離線計算機和智能手機都存在漏洞，黑客可以利用這些漏洞獲取您的私鑰。因此您需要重新考慮一下是否需要购买硬件钱包。本文將解釋為什麼其他設備無法代替專業的硬件錢包。

選擇離線計算機作為冷錢包
============

將私鑰存儲在離線設備上，尤其是存儲在一台離線的計算機上，这种冷儲存解決方案已經存在了很長時間。Mordechai Guri 博士在他的報告 \*[Beatcoin: Leaking Private Keys from Air-Gapped Cryptocurrency Wallets](https://arxiv.org/pdf/1804.08714.pdf) \*中詳細的闡述了這種冷儲存解決辦法是多麼的不安全。他的研究結果概述了如何通過三個步驟從一台離線計算機上獲取私鑰：

1.  病毒滲透（Infiltration）：一般是通過 U 盤將病毒程序傳輸到離線電腦中。
    
2.  發送指令（Command & Control）：攻擊者通過特殊手段，將指令發到存儲了機密信息的離線設備中。
    
3.  竊取信息（Exfiltration）：攻擊者從存儲了離線設備中竊取機密信息。
    

病毒一旦滲透到離線計算機中，那麼實現第2步或第3步的方法會特別多。Guri 博士在研究中還發現，由於計算機是由很多零部件組成，可以通過病毒入侵實現單獨控制計算機某個模塊的功能。其中一些还包括一些出人意料的發現：

*   病毒控制[電腦的風扇](https://www.youtube.com/watch?v=v2_sZIfZkDQ)，讓風扇的聲音向外傳輸信息。 
    
*   病毒控制機械硬盤的[驅動器的噪音](https://www.youtube.com/watch?v=H7lQXmSLiP8)，向外傳輸信息。
    
*   病毒將計算機上的信息通過[電磁信號](https://www.youtube.com/watch?v=2OzTWiGl1rM)的形式向外傳輸。 
    
*   最恐怖的是，病毒可以利用[超聲波](https://www.youtube.com/watch?v=ddmHOvT866o)，將離線電腦或者離線樹莓派上面的私鑰信息向外傳輸。
    

  

Guri 博士的團隊展示了這些輸出界質（光、聲音和無線電信號）如何被附近的設備所接收並最終泄露私鑰。

![                  私鑰可以通過隱蔽通道（例如超聲波）從離線計算機中泄漏。](https://storage.googleapis.com/papyrus_images/94ab9e68ec1bbd08fbb6176505e8800054dddd8718277c4dbbeb82d0fc8aa1d6.jpg)

                  私鑰可以通過隱蔽通道（例如超聲波）從離線計算機中泄漏。

從Guri 博士的研究中可以試想一下在離線計算機上安裝惡意軟件到底有多容易？對於剛接觸這個行業的人來說，病毒似乎不太可能傳播到設備上。但是，市面上幾乎所有冷錢包都需要某種方式來連結到互聯網上進行交易或進行其他操作。而對於離線計算機而言，通常用 USB 進行數據傳輸，而通過 USB 進行數據傳輸安全性無法保障。

舉一個實際例子大家就能意識到躲在暗處的攻擊者的攻擊手段有多麼隱蔽和難以防範——2008 年，位於中東某地的美國軍事基地內，攻擊者將一個安裝有病毒軟件（[Agent.BTZ](https://en.wikipedia.org/wiki/Agent.BTZ)）的 U 盤故意“遺失”在基地停車場內。 U 盤被美國國防部工作人員拾到，並連接到了美國國防部的內部網絡中。之後，在毫無察覺的情況下，病毒入侵了整個美國國防部的內部安全網絡。五角大樓的 IT 安全人員花了整整 14 個月才清除了病毒的所有殘餘。

而大家用 U 盤將轉賬地址傳輸進離線電腦，並將簽名完畢的信息從離線電腦拷貝出電腦，這些都是黑客植入病毒的絕佳時機。

對於第三方操作系統或軟件錢包的用戶來說，離線計算機的危險不止於此。再舉一個更加“不可能發生”的例子。 2016 年，[黑客替換了 Linux Mint 官方的下載鏡像](https://blog.linuxmint.com/?p=2994)，並在其中安插了後門程序。所以，在官網下載的操作系統或者錢包應用，同樣存在一定的風險。

Android 設備作為冷端錢包
================

“離線電腦”其實並不是真正“離線”，那離線的手機呢？手機沒有風扇，也沒有機械硬盤，手機就能做到真正的“安全”嗎？

我們先來看 Android 手機。 Android 手機的安全性主要依賴 TrustZone（私鑰正是保存在 TrustZone 中，甚至有些無良廠商並沒有將私鑰存儲到  TrustZone 中）。通過[旁路攻擊](https://duo.com/decipher/new-side-channel-attack-extracts-private-keys-from-some-qualcomm-chips)的展示，可以看到 TrustZone 非常脆弱。如果攻擊者獲得了這台離線 Android 設備的物理訪問權限， 他們就可以實施可行的方法竊取私鑰。 就算 Android 廠商及時發現了[零日攻擊](https://www.kaspersky.com/resource-center/definitions/zero-day-exploit)，他仍需要讓用戶下載補丁，但往往攻擊者會禁止設備這樣做。

選擇 iPhone 作為冷錢包
===============

iPhone 有一個叫做 Secure Enclave 的安全區，可以理解成是嵌在主芯片內的一顆加密芯片。顧名思義，iPhone 率先在智能手機上使用了安全芯片。理論上來說，Secure Enclave 能實現加密芯片的幾乎所有功能和物理特性，包括加密芯片最關鍵的功能——物理生成真隨機數（[True-Random-Number-Generator](https://www.random.org/)，簡稱 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 如何保證二維碼傳輸是公開透明的](https://blog.keyst.one/ever-wondered-what-your-hardware-wallet-inputs-and-outputs-9b33b4cedafd)》。

---

*Originally published on [Keystone 硬件錢包](https://paragraph.com/@keystonecn/vs)*
