硬體錢包的開源並不代表升級,而是一次對安全的妥協!
頭等倉/Medium_Cobo官博/張詠晴編譯
2019-12-10 17:35

作為開源軟體的熱情倡導者,我們非常尊重那些將他們的工作,分享給全世界的先驅開發者,毫無疑問,我們身處加密貨幣領域要感謝區塊鏈技術的創辦人。正是因為中本聰和其他偉大的開拓者將他們的工作開源,我們才得以收穫Linux、比特幣和蓬勃發展的加密貨幣市場等令人驚嘆的創新,所帶來的收益。

但是,當涉及到使原始碼可用對硬體錢包的安全性是否有利時,我們進入了一個全新的討論。本文解釋了我們為什麼認為開放原始碼的本質,並不代表硬體錢包的升級,而是一次重大的安全性妥協。

心理安慰還是實際利益?

雖然我們很容易將比特幣作為原始碼提供安全性的一個主要實例,但是假設所有區塊鏈項目都應效仿,並成為原始碼是合理的。比特幣從其開源開發社群獲得的安全性,是其社群規模參與的直接結果。無論是原始碼還是挖礦能力,比特幣社群都參與了項目的維護和保護,涉及到很多的安全功能。然而,由於目前涉及硬體錢包安全性的開發人員相對較少,因此我們無法對共享原始碼帶來的好處做出任何假設。

除了大量增加檢查代碼的審閱者之外,傳統計算領域中原始碼開發的另一個好處是,任何人都可以自己下載、安裝、刻錄、除錯甚至刪除原始碼的某些方面。

這種程度的自治所帶來的安全性,依賴於特定技術的基礎。然而,即使有堅實的技術基礎,安全措施仍有被超越的潛力。那些在電腦領域工作的人應該很熟悉Ken Thompson Hack (KTH)是如何在C編譯器中創建後門的,它可以監視或控制世界上任何軟體程式。您必須使用二進制代碼編寫自己的編譯器,或者使用在安裝KTH之前已編譯的工具,才能克服這種安全隱憂。KTH證明,從原始碼編譯的任何系統總是容易受到攻擊。

像Ken Thompson這樣的專業人士告訴我們,除非您能夠自己編寫編譯器(只有極少數的開發人員能做到),否則您將不得不信任第三方。除了不得不編譯自己的編譯器之外,大多數硬體錢包用戶甚至都不會費力刻錄或除錯原始碼。對於這一類用戶來說,知道他們的硬體錢包是開源的,更多的是一種心理安慰,而不是實際上可以使他們的錢包的安全性得到顯著改善。

QR Code簽名輸出的「可審查性」

在傳統的計算領域,它有助於將開源軟體帶來的安全性視為對原始碼的一種「審查」。雖然這種情況還不適用於冷庫加密貨幣安全,但有什麼可以替代硬體錢包作為可靠的「審計」來源呢?

幸運的是,經過簽名的交易輸出,並不像其他類型的軟體輸出那樣複雜。如果提供原始碼不是審計硬體錢包的最安全選擇,我們可以考慮仔細檢查其交易簽名輸出。

人們購買硬體錢包,是因為他們知道儲存私鑰的最安全方法,是將其離線放入冷儲存器中。所有硬體錢包服務,都需要一種在離線儲存和線上終端之間進行通訊的方式。冷端(離線儲存)負責儲存私鑰和簽署交易,而熱端(線上終端)則需要從區塊鏈獲取數據,為冷庫端構建簽名交易並將簽名的交易廣播到區塊鏈

在傳輸簽名輸出時,大多數冷儲存硬體都使用數據線、藍牙甚至NFC。由於其數據傳輸的不透明性,這些方法使簽名輸出極難審核。冷庫硬體通訊的一種被忽略的方法是QR Code,這是一種「所見即所得」的解決方案。我們認為QR Code是在冷端和熱端之間傳輸數據的理想方法,因為QR Code輸出的數據是透明的。這使用戶可以輕鬆地確保傳輸到冷儲存設備的每個未簽名交易,都是有效的,並確保來自冷端的簽名輸出,不會以任何方式洩露私鑰或敏感資訊。

結論

我們認為開源對於增強硬體錢包的安全性沒有多大意義,只是開源可以使用戶能夠看到隨機數是由真隨機數生成器(TRNG)生成的,還是由偽隨機數生成器(PRNG)生成的。

本文為巴比特資訊授權刊登,原文標題為「觀點 | 硬件錢包的開源並不代表錢包升級,而是一次重大的安全妥協