定義加密錢包安全性的“三有一無”要素區(qū)塊鏈
加密錢包的必要性近年來區(qū)塊鏈技術(shù)的迅速發(fā)展,使得加密資產(chǎn)逐漸走入大眾的視線。
一、加密錢包的必要性
近年來區(qū)塊鏈技術(shù)的迅速發(fā)展,使得加密資產(chǎn)逐漸走入大眾的視線。目前2000多億美元的加密資產(chǎn)市值,超過2000種的加密資產(chǎn),側(cè)面反映著全球加密資產(chǎn)規(guī)模正在高速增長。
英國一名早期挖礦者“丟失”7500枚比特幣,如今高達(dá)3億多人民幣。
2009年英國威爾士一名32歲的IT工作者詹姆士?豪威爾斯參與電腦挖比幣。2013年無意間扔掉了硬盤,其宣稱意外丟失的硬盤中存儲著7500枚比特幣私鑰,當(dāng)前市值高達(dá)3億多人民幣,至今尚未尋回。基于早期加密資產(chǎn)沒有適合的存儲方式,導(dǎo)致儲存在硬盤的私鑰也存在丟失的風(fēng)險(xiǎn)。
加密資產(chǎn)存儲成為加密資產(chǎn)投資者不可忽視的需求。
2018年9月份,人民網(wǎng)轉(zhuǎn)載一篇《加密資產(chǎn)交易平臺再現(xiàn)被盜,安全問題成隱患》文章。近年來,已經(jīng)發(fā)生了眾多的盜幣事件,主要集中在加密資產(chǎn)管理平臺被攻擊、智能合約漏洞、個(gè)人密鑰丟失或竊取等方面。如今個(gè)人密鑰如何保存成為加密資產(chǎn)投資者不可忽視的問題。如果準(zhǔn)備長期投資加密資產(chǎn),建議投資者將所持幣種存在軟件錢包中,金額較大的,則要準(zhǔn)備硬件錢包,即冷錢包,以防止交易平臺被盜竊而帶來損失。
加密資產(chǎn)的快速發(fā)展激發(fā)了對加密資產(chǎn)的安全存儲需求,加密錢包也應(yīng)運(yùn)而生。為了方便用戶記錄地址和私鑰,官方會同時(shí)發(fā)布全節(jié)點(diǎn)錢包;同時(shí)有些第三方公司為了進(jìn)一步提高用戶體驗(yàn),相繼開發(fā)了加密錢包軟件,它們并不同步所有的區(qū)塊數(shù)據(jù),因此稱其為輕錢包。這兩種數(shù)字錢包都屬于熱錢包。
冷錢包也稱為硬件錢包,由于私鑰不接觸網(wǎng)絡(luò),相對安全性較高。不過由于業(yè)務(wù)場景的快速迭代以及推廣需求,無論熱錢包還是冷錢包都會有一些安全隱患會被忽視。
二、軟件錢包的主要風(fēng)險(xiǎn)
軟件錢包可理解為下載的錢包APP,并可直接用于轉(zhuǎn)賬加密資產(chǎn)的軟件。一個(gè)加密錢包軟件的使用,包含了以下三點(diǎn)安全要素。
1. 網(wǎng)絡(luò)安全
從軟件啟動到進(jìn)行交易的一套完整的過程,其中涉及業(yè)務(wù)的過程中需要連接網(wǎng)絡(luò),安全數(shù)據(jù)等都存在一定的風(fēng)險(xiǎn)。
2. 軟件功能的核心數(shù)據(jù)安全
傳統(tǒng)軟件的功能如核心代碼未加密,軟件自身無校驗(yàn),中間人數(shù)據(jù)劫持等。
3. 業(yè)務(wù)場景安全
針對錢包軟件的獨(dú)有業(yè)務(wù)場景,如助記詞的不安全保存,交易密碼設(shè)置弱口令,貨幣價(jià)格走勢數(shù)據(jù)被替換等也將會給用戶在使用錢包的安全上造成很大的危害。
數(shù)據(jù)來源:360安全
由于軟件錢包自身安全性能的不完善,以及頻頻出現(xiàn)黑客攻擊事件。硬件錢包逐步成為了很多加密資產(chǎn)投資者青睞的資產(chǎn)保存產(chǎn)品。
三、硬件錢包的安全性要素
硬件錢包是一種實(shí)體設(shè)備,私鑰儲存在設(shè)備內(nèi)的受保護(hù)區(qū)域中。到目前為止硬件錢包還沒有發(fā)生過重大錢包漏洞或者大規(guī)模資產(chǎn)丟失事件。相對而言,硬件錢包安全系數(shù)比軟件錢包要高。對此,密深科技首席科學(xué)家郭偉基認(rèn)為,一款真正意義上安全的錢包主要包涵了三方面的安全性要素:網(wǎng)絡(luò)隔離,系統(tǒng)完整性保護(hù),錢包種子保密。
1.網(wǎng)絡(luò)隔離
即是給私鑰創(chuàng)建了一個(gè)隔離環(huán)境?,F(xiàn)有的手機(jī)和電腦與外界通過網(wǎng)絡(luò)連接,私鑰很容易遭到黑客從網(wǎng)絡(luò)發(fā)動的遠(yuǎn)程攻擊,這時(shí)候就需要硬件錢包專門保管私鑰或者錢包種子。
2.系統(tǒng)完整性保護(hù)
指的是硬件錢包系統(tǒng)能夠保護(hù)自身關(guān)鍵部件不受非法篡改。任何系統(tǒng)都存在被攻擊的可能性,在攻擊發(fā)生的時(shí)候,具備系統(tǒng)完整性保護(hù)能力的硬件錢包能夠發(fā)現(xiàn)攻擊并作出相應(yīng)的安全響應(yīng)。
目前針對系統(tǒng)完整性保護(hù)缺失的攻擊主要有供應(yīng)鏈攻擊和邪惡女傭攻擊。所謂供應(yīng)鏈攻擊,指的是硬件錢包在生產(chǎn)或者運(yùn)輸過程中被他人修改過,植入惡意軟件或者篡改系統(tǒng)邏輯。舉個(gè)例子,如果一款基于安卓系統(tǒng)的錢包使用了安卓提供的隨機(jī)數(shù)產(chǎn)生器,而該隨機(jī)數(shù)產(chǎn)生器被更換為黑客可以預(yù)測的偽隨機(jī)數(shù)產(chǎn)生器,那么該錢包產(chǎn)生的全部種子、私鑰都是黑客可以預(yù)測的。而黑客要完成收割,甚至都不需要受害人的錢包聯(lián)網(wǎng)。如果缺乏系統(tǒng)完整性保護(hù),不能發(fā)現(xiàn)此類攻擊,用戶的資金就有被完全收割的風(fēng)險(xiǎn)。
邪惡女傭攻擊,英文叫做Evil Maid Attack,主要指的是錢包設(shè)備可能短暫被他人控制。如果設(shè)備缺乏系統(tǒng)完整性保護(hù),那么這段時(shí)間就有可能被利用來植入惡意軟件,例如底層邏輯被替換掉,實(shí)際轉(zhuǎn)賬地址變?yōu)楹诳椭付ǖ牡刂?,或者在收到某些指令后顯示錢包種子的助記詞,等等。
3.錢包種子保密
網(wǎng)絡(luò)隔離和系統(tǒng)完整性保護(hù)提供的安全很重要,但仍然是不夠的。如果攻擊者拿到了物理設(shè)備,還要保證攻擊者無法從設(shè)備里提取錢包種子信息,而一般的軟件錢包或者類軟件錢包很難保障這一點(diǎn)。
這三個(gè)安全性能都是相對普遍適用的,不管什么樣的錢包系統(tǒng),都可以用這三條標(biāo)準(zhǔn)去衡量其安全性。軟件錢包由于其先天限制,很難滿足這些要求。相比之下,硬件錢包則具備比較好的應(yīng)用基礎(chǔ)。
四、硬件錢包的分類和安全性分析
硬件錢包的種類也是五花八門,并不是所有的硬件錢包都能很好地滿足全部三條標(biāo)準(zhǔn)。我們可以從硬件設(shè)備自身特點(diǎn)入手給硬件錢包做個(gè)分類并分析其安全性。
首先我們可以把硬件錢包分為安卓硬件錢包和芯片硬件錢包。安卓硬件錢包顧名思義,可以理解為一個(gè)安卓手機(jī),去掉不必要的部件,加以軟件改造后專門服務(wù)于錢包用途。芯片硬件錢包則是國外市場的主流產(chǎn)品,主要是在芯片系統(tǒng)上直接編程錢包核心邏輯,以把錢包種子保管在芯片內(nèi)部作為其安全特色。
1.安卓硬件錢包安全性分析
硬件錢包一般都能做到網(wǎng)絡(luò)隔離,但是安卓不具備系統(tǒng)完整性保護(hù),這就使得它很容易遭受供應(yīng)鏈攻擊以及邪惡女傭攻擊。另外,安卓系統(tǒng)本身如果沒有做安全性加固,也會出問題。
例如在今年七月的看雪安全峰會上,某款安卓硬件錢包就慘遭破解。該錢包硬件基于MTK方案,使用安卓6.0系統(tǒng)。MTK系統(tǒng)有一個(gè)已知的USB漏洞在該錢包中沒有修復(fù),安全研究人員就從USB接口攻入系統(tǒng),提升權(quán)限,修改系統(tǒng)部件,實(shí)際上等于破解了這款安卓硬件錢包,因?yàn)楹竺婺茏龅氖虑榫秃芏嗔耍喊梢孕薷碾S機(jī)數(shù)產(chǎn)生器,提取錢包種子文件并實(shí)行彩虹攻擊或者字典攻擊,修改底層轉(zhuǎn)賬地址等等。由于缺乏系統(tǒng)完整性保護(hù),這些修改很難被發(fā)現(xiàn),不知情的受害者繼續(xù)使用的話就會遭受損失。
另外,這款安卓硬件錢包的錢包種子保密性也成問題。安卓的文件系統(tǒng)其實(shí)是開放的,在技術(shù)人員手里,拆開設(shè)備,取得內(nèi)置存儲器就可以加載文件系統(tǒng),提取存儲錢包種子的文件。雖然這個(gè)文件一般會加密,但是很多用戶不會選擇復(fù)雜的密碼,可能就是4位或者6位數(shù)字,很容易在普通計(jì)算機(jī)上完成窮舉破解,這個(gè)弱點(diǎn)導(dǎo)致這款錢包無法抵抗邪惡女傭攻擊。
所以我們單單用之前的三條安全標(biāo)準(zhǔn)衡量的話,這款安卓硬件錢包僅僅做到了網(wǎng)絡(luò)隔離,但可以通過對安卓硬件錢包做一些修改,以增加其錢包的安全性。
這就是所謂的芯片安卓硬件錢包,即把專用芯片放進(jìn)安卓錢包設(shè)備里面,用于保管錢包種子,這樣提高了錢包種子的保密性,就算他人拿到設(shè)備也不能直接獲得種子。通過這種方式可以滿足錢包種子加密的安全標(biāo)準(zhǔn),但即系統(tǒng)完整性保護(hù)的標(biāo)準(zhǔn)則仍然沒有達(dá)到。這主要是由于安卓系統(tǒng)的先天不足,短期內(nèi)很難修正。
在這種情況下,芯片安卓硬件錢包的安全性就依賴于郭偉基提出的的“系統(tǒng)攻防假設(shè)”。假設(shè)錢包系統(tǒng)具備極強(qiáng)的抗攻擊性能,無法被攻擊或者破解。具體到安卓硬件錢包,就是說雖然欠缺系統(tǒng)完整性保護(hù),但是假設(shè)安全防護(hù)做得足夠好,攻擊者便無法篡改系統(tǒng)。
那么這個(gè)假設(shè)到底有多可靠呢?看個(gè)案例就明白了。
網(wǎng)絡(luò)安全大佬John McAfee發(fā)布了Bitfi硬件錢包。該錢包也是基于安卓系統(tǒng)。McAfee自信滿滿,認(rèn)為以自己的安全攻防實(shí)力,可保Bitfi無虞,“固若金湯”,并在2018年7月25日懸賞10萬美金“尋求”黑客攻擊。
結(jié)果不到一周,就被一位名叫OverSoft的荷蘭安全研究人員獲得Bitfi錢包的的根訪問權(quán)限;并被名為Saleem Rashid的15歲少年在錢包上玩上了《DOOM》游戲。后來又有安全專家成功發(fā)送簽名交易,等于是遭到了完全的破解。
以McAfee在安全江湖的地位,這基本上宣告了所有以系統(tǒng)攻防假設(shè)替代系統(tǒng)完整性保護(hù)的錢包系統(tǒng)的安全性缺陷。
2.芯片硬件錢包的安全性分析
芯片硬件錢包擁有獨(dú)立的SOC芯片,所有的硬件系統(tǒng)都在SOC芯片上運(yùn)作。外觀一般只有屏幕和簡單的按鈕。屏幕顯示的保證是展示數(shù)據(jù)是真實(shí)的,簡單按鈕確認(rèn)交易操作。
內(nèi)部系統(tǒng)中裝載了引導(dǎo)固件和業(yè)務(wù)固件。引導(dǎo)固件是基礎(chǔ)設(shè)計(jì),出廠時(shí)已經(jīng)定好,不能篡改,負(fù)責(zé)業(yè)務(wù)固件的完整性檢查以及升級;業(yè)務(wù)固件負(fù)責(zé)具體的業(yè)務(wù)邏輯,可以升級以支持更多幣種或者修復(fù)安全隱患,修改需要簽名確認(rèn)。
在其安全性分析當(dāng)中可以看到:
第一條,網(wǎng)絡(luò)隔離。這條一般都能滿足,問題不大。
第二條,系統(tǒng)完整性保護(hù)。這條通過對業(yè)務(wù)固件進(jìn)行數(shù)字簽名驗(yàn)證完成。引導(dǎo)固件可以檢查簽名以決定是否加載運(yùn)行業(yè)務(wù)固件,任何篡改都會被發(fā)現(xiàn)。
第三條,錢包種子保密。芯片硬件錢包一般把種子存放在芯片內(nèi)部的閃存區(qū)域,常規(guī)手段無法讀取。在使用的時(shí)候,私鑰可能會在內(nèi)存中短暫地出現(xiàn),但是用完一般都會立刻刪除并且用隨機(jī)數(shù)據(jù)覆蓋掉,這就提供了比較好的保密性?;谶@三條標(biāo)準(zhǔn),芯片硬件錢包相比軟件錢包和安卓硬件錢包都有更高的安全性。
總結(jié)來看,錢包系統(tǒng)的安全性可以歸結(jié)為“三有一無”,三有即必須具備網(wǎng)絡(luò)隔離、系統(tǒng)完整性保護(hù)、錢包種子保密這三條安全特性。一無,就是“無系統(tǒng)攻防假設(shè)”,特意指出錢包系統(tǒng)的安全性不能建立在系統(tǒng)攻防假設(shè)上,尤其不能以系統(tǒng)攻防假設(shè)替代系統(tǒng)完整性保護(hù)。
1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會明確標(biāo)注作者和來源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請轉(zhuǎn)載時(shí)務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。