1. 運(yùn)行環(huán)境的安全風(fēng)險(xiǎn)
加密數(shù)字貨幣錢包最核心的文件是存儲(chǔ)在終端設(shè)備上的私鑰/助記詞。如果終端設(shè)備存在安全漏洞,私鑰/助記詞將面臨極高的安全風(fēng)險(xiǎn)。因此,安全可靠的數(shù)字錢包應(yīng)該從設(shè)計(jì)之初就避免由運(yùn)行環(huán)境引起的私鑰/助記詞被盜的可能。終端設(shè)備的運(yùn)行環(huán)境安全問題主要包括病毒軟件、操作系統(tǒng)漏洞和硬件漏洞等。
2. 網(wǎng)絡(luò)傳輸?shù)陌踩L(fēng)險(xiǎn)
網(wǎng)絡(luò)傳輸?shù)陌踩L(fēng)險(xiǎn)體現(xiàn)在是否有對(duì)抗中間人攻擊的能力上。中間人攻擊是指攻擊者與通訊的兩端創(chuàng)建獨(dú)立的聯(lián)系,并以此交換信息,在通訊的兩端看來,他們正在通過一個(gè)私密的連接與對(duì)方直接對(duì)話,但整個(gè)會(huì)話實(shí)際上被攻擊者完全控制。安全的數(shù)字錢包需要能夠?qū)K端里所有數(shù)字證書的合法性進(jìn)行掃描,檢查網(wǎng)絡(luò)傳輸過程中的代理設(shè)置,并保障網(wǎng)絡(luò)通訊環(huán)境的安全性。在數(shù)字錢包開發(fā)中,使用雙向校驗(yàn)的方式進(jìn)行通訊驗(yàn)證也是重要評(píng)判標(biāo)準(zhǔn)之一。
3. 文件存儲(chǔ)方式的安全風(fēng)險(xiǎn)
對(duì)于數(shù)字錢包的私鑰/助記詞,終端設(shè)備的存儲(chǔ)方式也需要加以注意。私鑰/助記詞文件存放目錄的訪問權(quán)限、私鑰/助記詞的存儲(chǔ)形式和加密算法設(shè)計(jì)都需要精心設(shè)計(jì)。多款數(shù)字錢包在私鑰/助記詞的存儲(chǔ)上存在較大漏洞,例如明文存儲(chǔ)或者加密存儲(chǔ)但解密密鑰在代碼中固定寫死等。
4. 應(yīng)用自身的安全風(fēng)險(xiǎn)
數(shù)字錢包應(yīng)用自身的安全風(fēng)險(xiǎn)主要集中在安裝包的防篡改能力上。應(yīng)用安裝包是否具備抗篡改能力是核心技術(shù)能力之一。此外,應(yīng)用運(yùn)行過程中的內(nèi)存安全、反調(diào)試能力、私鑰/助記詞使用的生命周期管理、調(diào)試日志的安全性、開發(fā)流程的安全等方面也需要加強(qiáng)設(shè)計(jì)。
5. 數(shù)據(jù)備份的安全風(fēng)險(xiǎn)
如果移動(dòng)應(yīng)用能夠備份出來,就可以使用更加強(qiáng)大的計(jì)算機(jī)對(duì)私鑰/助記詞進(jìn)行暴力破解。如果應(yīng)用的androi:allowBackup屬性設(shè)置為允許備份,那么利用系統(tǒng)備份機(jī)制對(duì)應(yīng)用的數(shù)據(jù)文件進(jìn)行備份,就可以將加密數(shù)字貨幣的私鑰/助記詞備份到外部設(shè)備上,此時(shí)操作系統(tǒng)的安全邊界也將被突破。
對(duì)于廣大用戶來說,數(shù)字錢包的安全也意味著財(cái)富的安全。在選擇數(shù)字錢包時(shí)必須慎重對(duì)待,不可掉以輕心。