逃出加密錢包偽安全:魚和熊掌如何兼得?(下)區塊鏈

                  達令智庫 2018-12-06 13:52
                  分享到:
                  導讀

                  一款真正安全的加密錢包應該如何完善?

                  上篇文章分析了軟件錢包和安卓硬件錢包對攻擊者的吸引力、以及在用戶資產安全性和良好體驗之間的平衡。本文緊接著上文繼續講解芯片硬件錢包的可攻擊性和可用性,揭開一款真正安全的加密錢包應該如何完善。

                  五、維度分析之芯片級硬件錢包

                  1.可攻擊性維度

                  攻擊芯片級硬件錢包的技術門檻高、經濟成本高、犯罪成本高、預期收益低,因此芯片級硬件錢包處于可攻擊性的第三個層次,即低可攻擊性。

                  正面攻擊芯片的技術門檻和經濟門檻都很高。在芯片級硬件錢包中,錢包種子被寫入無法用常規手段讀取的存儲區。非常規手段則一般是破壞性除去芯片封裝,然后用聚焦離子束連接某些電路,用微探針技術提取數據,或者用顯微鏡提取存儲區圖像再加以分析,等等。這種攻擊涉及到非常昂貴的設備以及大量的時間和經濟成本,而且不可避免會留下犯罪線索(例如盜取設備留下線索,租用設備或者委托芯片破解服務留下線索等)。

                  預期收益很低,一是由于每次只能攻擊一個設備,二是由于需要花費大量時間,失主可能早就把資產安全轉移到其它地址了。另一方面,用戶也可以啟用隱藏錢包功能(BIP39協議規定的功能)使用一個密碼將大部分資產放入另一個錢包地址,使得即便設備被破解也最多損失小部分資產。

                  目前還沒有已知的芯片級硬件錢包被如此攻擊的案例。但是為了給讀者一個概念,某些芯片破解公司聲稱能夠在兩周內破解大部分常見芯片。這個時間足夠讓失主從容恢復備份、轉移資產了。

                  從攻擊方的角度看,如果大費周章經歷過設備盜取、芯片破解后,可能仍然一無所獲,大概率也就放棄了攻擊的念頭。這就是低可攻擊性的意義。

                  另一個不容忽視的安全風險是被從側面攻擊。Trezor和Ledger Nano S都曾經爆出過安全漏洞。漏洞的根源在于軟件開發過程中的疏漏,已經很快通過固件升級的方式修復了。廣大用戶對此倒是不需要太擔心。不比安卓,專門的芯片級硬件錢包功能單一,比較容易進行有針對性的加固。

                  側面攻擊的一種特殊形態是所謂的“側信道攻擊”,這是一種密碼學手段。比特幣、以太坊以及大部分其它公鏈使用的簽名算法都是ECDSA,底層使用的橢圓曲線名為secp256r1,是一種魏爾斯特拉斯曲線。這種曲線在進行ECDSA運算(簽名)的時候,容易引起處理器的電流或者電磁輻射變化,從而可能被分析并提取私鑰。

                  Screen Shot 2018-12-04 at 5.25.27 PM_meitu_1.jpg

                  DPA示意圖,來自:Tiawna L. Cayton

                  “理論上,使用USB接口的產品有可能被DPA手段破解。”密深科技首席科學家郭偉基指出,“如果沒有專門的算法或者硬件設計,則簽名運算會引起USB接口的電壓波動,這個波動是可以被利用來恢復正在執行簽名運算的私鑰的。”

                  不過,利用電壓波動這種攻擊方式看上去技術門檻還是比較高的。那么對應電磁輻射泄漏的私鑰信息,有什么好的應對方法呢?

                  郭偉基指出,無非就是硬件上采用抗電磁分析的芯片,或者在軟件算法上堵上漏洞,軟件算法改進是根本解決辦法。郭偉基還補充道,總的來說,無論是攻擊還是防守,都需要越過一定的技術門檻,而密深科技已經越過這個門檻。

                  除了克服技術門檻,攻擊方還需要特別靈敏的信號采集設備,需要非常靠近正在工作中的設備,所以其它成本也是很高的。至于預期收益,則要看具體針對的是哪個產品。如果目標設備已經應用了對抗技術,攻擊就不會成功,也就沒有收益。

                  2.可用性維度

                  芯片級硬件錢包的安全性前面已經介紹了很多,那么可用性維度的另一部分,用戶體驗方面是怎么樣的狀況呢?這其實也要分開來看。

                  國內用戶普遍反映國外那些使用USB接口的產品并不好用,例如Trezor還需要翻墻才能使用。

                  另一方面,芯片方案通過固件簽名技術保證了系統完整性,較高的技術水平容許安全性和用戶體驗在更高的等級上進行平衡。這就給一些產品留下了兼顧安全性和用戶體驗的空間。

                  “我們的具體做法等條件成熟了就會披露。”郭偉基表示。

                  六、安全性設計之概率范式

                  回到前面講過的軟件錢包安全錯覺上來。為什么會產生這種錯覺呢?對此,密深科技首席科學家郭偉基解釋道,根本上這是一個思維范式問題:我們不能認為某個技術手段是100%有效的。例如,部分產品鼓吹其使用銀行卡芯片保護私鑰,但是銀行卡芯片本身也暴露過成功的中間人攻擊事件(法國,2011),以及銀行卡芯片的出廠測試電路也有可能被恢復用來提取芯片內部的數據。

                  圖片8.png

                  銀行卡芯片,來源:拍客網

                  從攻擊一方去展開,只需要使用單一技術手段去攻擊,成功率會比需要使用多種技術手段的要高,成本也要低一些。從防守的一方去展開,則復合使用多種技術手段有助于提高安全性。所以,比起將某個安全技術因素絕對化的思維范式,概率范式更能指導總體的安全設計。

                  所謂概率范式,即是并不認為任何單一技術能夠絕對保證安全,而總是有一定的安全失敗概率。例如,即便密碼學算法或者協議本身并沒有什么缺陷,工程師也可能在實現的時候引入缺陷。研究表明,83%的密碼學相關漏洞源自對密碼學的錯誤理解和錯誤實現;例如,65%的安卓應用在加密用戶數據的時候使用了不安全的AES-ECB加密模式。另外,我們今天認為安全的算法,可能以后也會出現針對性的攻擊手段。硬件設備的破解成本也有可能會下降。

                  精心復合使用多種安全技術能夠極大降低失敗概率,同時顯著提升攻擊方的成本。例如,假如單一技術能夠將失敗概率降低到千分之一,則有效復合使用兩種技術手段,可以將失敗概率降低到百萬分之一;三種則為十億分之一。而攻擊方在復合安全手段面前,則需要克服多種技術障礙,付出巨大成本。

                  2013年的時候Adobe發生過一起安全事故,3800萬用戶的數據被盜,包括登錄密碼。致命的是,Adobe使用AES-ECB模式加密用戶密碼。由于ECB模式,也就是電子密碼本模式總是將同樣的原文加密為同樣的密文,導致大量使用相同密碼的賬戶被黑客識別利用,以及大量使用相同前綴的密碼被識別利用(例如“password123”, “password456”在AES-ECB模式加密后具有相同的前綴。具體前綴取決于加密用的密碼)。這個案例說明,在復合使用的安全技術中,還不能有薄弱環節,不能認為已經有外層的防護了,所以這一級的防護就可以簡單一點。

                  反映在硬件錢包的安全設計上,即便是芯片級、并且已經具備“三有一無”要素了,仍然需要層層設防。

                  七、總結

                  總的來說,設計一款優質的加密錢包應該做到:

                  ? 通過高攻擊技術門檻排除掉大多數潛在攻擊者。

                  ? 通過高經濟成本、高犯罪成本、低預期收益讓少數能夠越過門檻的攻擊者不會產生攻擊欲望。

                  ? 通過采用先進技術打開安全性與用戶體驗的平衡空間,在更高的水平上兼顧安全性與用戶體驗。

                  ? 通過精心復合多種安全技術降低安全失敗概率。 


                  作者:密深科技&達令智庫

                  編輯:達令智庫 

                  攻擊 芯片 安全 技術 使用
                  分享到:

                  1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
                  2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
                  3.作者投稿可能會經TMT觀察網編輯修改或補充。