圖1 區(qū)塊鏈2.0 技術(shù)架構(gòu)

金融業(yè)區(qū)塊鏈技術(shù)應(yīng)用面臨的安全威脅和應(yīng)對策略

1. 數(shù)據(jù)安全

區(qū)塊鏈中的數(shù)據(jù):區(qū)塊鏈?zhǔn)且粋€(gè)公開的鏈?zhǔn)劫~本,其中存儲(chǔ)的數(shù)據(jù)向網(wǎng)絡(luò)中所有用戶公開。而在金融業(yè)務(wù)場景中,業(yè)務(wù)規(guī)則和監(jiān)管機(jī)構(gòu)要求保護(hù)相關(guān)數(shù)據(jù)的隱私性、完整性等。在存儲(chǔ)、傳輸相應(yīng)數(shù)據(jù)時(shí),應(yīng)該使用哈希函數(shù)、同態(tài)加密、數(shù)字簽名等技術(shù)保護(hù)數(shù)據(jù)。

用戶私鑰:在區(qū)塊鏈中,用戶的資金安全完全依賴于私鑰的安全,無論是私鑰泄漏還是丟失,都將給用戶帶來財(cái)產(chǎn)損失。為了保護(hù)用戶的賬戶與資金安全,應(yīng)該對私鑰文件進(jìn)行加密存儲(chǔ)。同時(shí),應(yīng)該使用“秘密共享協(xié)議”等方法安全地備份私鑰文件。

密碼算法安全:保護(hù)區(qū)塊鏈數(shù)據(jù)安全的前提是密碼算法的安全。在設(shè)計(jì)應(yīng)用時(shí),應(yīng)該選擇安全性更高的密碼算法;應(yīng)用投入使用后還要及時(shí)替換掉不再安全的密碼算法。

2. 網(wǎng)絡(luò)層訪問控制

公有鏈允許節(jié)點(diǎn)自由進(jìn)出網(wǎng)絡(luò),且區(qū)塊鏈的網(wǎng)絡(luò)層沒有登記用戶身份。金融行業(yè)的風(fēng)險(xiǎn)和安全性相對更高,未登記身份的節(jié)點(diǎn)自由進(jìn)出網(wǎng)絡(luò)為系統(tǒng)安全帶來很多不可控性。區(qū)塊鏈技術(shù)在金融行業(yè)應(yīng)用時(shí),應(yīng)結(jié)合業(yè)務(wù)需求,分析是否有必要使用公有鏈,并登記網(wǎng)絡(luò)中節(jié)點(diǎn)的身份。對于聯(lián)盟鏈和私有鏈,建議采用專線來接入?yún)^(qū)塊鏈網(wǎng)絡(luò)。此外,還應(yīng)采用VPN 專網(wǎng)、防火墻、物理隔離等技術(shù)對節(jié)點(diǎn),特別是礦工節(jié)點(diǎn)的物理網(wǎng)絡(luò)和主機(jī)進(jìn)行保護(hù)。

3. 共識層安全

共識協(xié)議應(yīng)具備的基本屬性:區(qū)塊鏈?zhǔn)褂梅植际焦沧R協(xié)議(見圖1)來防止單點(diǎn)故障等問題,有效防范了雙重花費(fèi)、礦工惡意封鎖某個(gè)用戶的交易等攻擊。但這都建立在區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)的權(quán)利分布均勻、不存在51% 攻擊的前提下。很大程度上取決于區(qū)塊鏈的一致性不被破壞。因此,設(shè)計(jì)合適的共識算法對于區(qū)塊鏈應(yīng)用的安全性至關(guān)重要。

一般來說,要求共識算法具有以下幾個(gè)基本屬性。公平性:無論是算力高的大礦工還是算力低的小礦工都有幾率挖到礦,且?guī)茁逝c之前的挖礦結(jié)果無關(guān)??焖衮?yàn)證:確保挖礦難題驗(yàn)證簡單、快速、開銷小。保證遍歷所有可能的nonce 值是解決難題最快方案。難度可調(diào)整:挖礦的難度可以調(diào)整,以保證挖礦速度平穩(wěn)。

此外,還應(yīng)該使用資產(chǎn)抵押、法律和監(jiān)管的形式對礦工節(jié)點(diǎn)進(jìn)行聯(lián)合管控。對于不誠實(shí)、有不當(dāng)行為的礦工節(jié)點(diǎn)進(jìn)行懲罰。

軟分叉和硬分叉:分叉是指對區(qū)塊鏈的規(guī)則做一些改變。由于軟件更新,不同節(jié)點(diǎn)上運(yùn)行的軟件版本不同,導(dǎo)致其執(zhí)行規(guī)則不同,從而導(dǎo)致分叉(軟分叉和硬分叉)。軟分叉是讓原來可以被接受的交易或區(qū)塊不可以被接受,例如:比特幣中使用的P2PKH 腳本。與之相反,硬分叉是使原來不可以被接受的規(guī)則可以被接受,例如:增加區(qū)塊大小。這兩種分叉作用在區(qū)塊鏈中時(shí),軟分叉可以很好地被老版本軟件的節(jié)點(diǎn)兼容,并促進(jìn)其更新軟件,但硬分叉會(huì)受到排斥。圖2 是有60% 算力占比的節(jié)點(diǎn)更新軟件時(shí),硬分叉和軟分叉對新規(guī)則和舊規(guī)則支持情況。在更新區(qū)塊鏈應(yīng)用時(shí),應(yīng)該盡可能使用軟分叉完成,避免硬分叉。

22圖2 軟分叉和硬分叉示意圖

4.激勵(lì)層安全

目前已提出的大多數(shù)數(shù)字貨幣系統(tǒng)都是去中心化的,它允許節(jié)點(diǎn)自行記錄數(shù)據(jù)、發(fā)行貨幣。區(qū)塊鏈中的節(jié)點(diǎn)都是匿名的,用戶在使用系統(tǒng)時(shí),并不需要注冊自己的真實(shí)身份。這樣的機(jī)制為設(shè)計(jì)法定數(shù)字貨幣帶來了一定的威脅。

壞賬。如果一個(gè)法定數(shù)字貨幣系統(tǒng)是匿名的,且支持借貸業(yè)務(wù),則該系統(tǒng)無法有效地對壞賬進(jìn)行管控。由于系統(tǒng)并沒有登記用戶的真實(shí)身份,用戶完全可以在花完借貸的款項(xiàng)后拋棄當(dāng)前賬戶,重新注冊一個(gè)新賬戶。如此一來,借款人或銀行將無法收回應(yīng)收款項(xiàng)。

洗錢。由于系統(tǒng)的參與節(jié)點(diǎn)都是匿名的,系統(tǒng)不知道資金流向賬戶的真實(shí)身份。系統(tǒng)的去中心化導(dǎo)致在洗錢事件發(fā)生后,系統(tǒng)不能像傳統(tǒng)銀行一樣凍結(jié)賬戶。

貨幣發(fā)行不可控。出于國家安全考慮,法定貨幣的發(fā)行應(yīng)該由國家發(fā)行。而區(qū)塊鏈的去中心化、礦工節(jié)點(diǎn)的自由進(jìn)出導(dǎo)致貨幣發(fā)行不可控。因此,在設(shè)計(jì)法定數(shù)字貨幣時(shí),需要重新設(shè)計(jì)貨幣的發(fā)行機(jī)制,使貨幣發(fā)行中心化,結(jié)合匿名認(rèn)證等技術(shù),使系統(tǒng)中的資金流向可控。

5.智能合約層安全

區(qū)塊鏈2.0 版本中引入智能合約層,提出區(qū)塊鏈即服務(wù)(BaaS)的概念。智能合約層提供了自動(dòng)化腳本代碼組成的智能合約來開發(fā)應(yīng)用、操作數(shù)據(jù)。

智能合約本質(zhì)上而言仍然是編程語言,如果它是圖靈完備的,支持循環(huán)指令,攻擊者就可能構(gòu)造帶有死循環(huán)代碼的交易對網(wǎng)絡(luò)中的礦工發(fā)起DoS 攻擊。

在區(qū)塊鏈中設(shè)計(jì)驗(yàn)證腳本或智能合約時(shí),應(yīng)預(yù)防死循環(huán)導(dǎo)致的DoS 攻擊。可以在設(shè)計(jì)腳本語言時(shí)禁止使用循環(huán)指令,也可以要求程序的創(chuàng)建人為程序執(zhí)行按照執(zhí)行步數(shù)支付費(fèi)用,并設(shè)置費(fèi)用限額。超過限額后,停止執(zhí)行且不歸還費(fèi)用。其次,做好充分的容錯(cuò)機(jī)制,通過系統(tǒng)化手段,結(jié)合運(yùn)行環(huán)境隔離等機(jī)制,確保代碼在有限時(shí)間內(nèi)按預(yù)期執(zhí)行。

6.其他

除了前面提到的防范措施外,還要有相應(yīng)的風(fēng)險(xiǎn)控制手段,對系統(tǒng)的數(shù)據(jù)訪問、交易頻度以及記錄到區(qū)塊中的交易進(jìn)行監(jiān)控和檢測,對可疑操作和不當(dāng)行為進(jìn)行告警、合成和記錄,并評估損失,進(jìn)行補(bǔ)救,防止再次出現(xiàn)。

此外,為了提高開發(fā)效率和安全性,還可以將一些重要模塊(例如:私鑰的存儲(chǔ)與保護(hù)、共識協(xié)議等)剝離出來,開發(fā)統(tǒng)一的安全組件、接口,以解決開發(fā)人員安全意識不足的問題。

小結(jié)

區(qū)塊鏈技術(shù)為金融行業(yè)的業(yè)務(wù)和機(jī)構(gòu)運(yùn)作方式帶來新的轉(zhuǎn)變機(jī)遇的同時(shí),也帶來了新的安全挑戰(zhàn)。民生銀行將以支持業(yè)務(wù)和技術(shù)創(chuàng)新為目標(biāo),繼續(xù)深入研究區(qū)塊鏈的應(yīng)用安全,在應(yīng)用區(qū)塊鏈為業(yè)務(wù)帶來轉(zhuǎn)變的基礎(chǔ)上,保證業(yè)務(wù)系統(tǒng)的安全性。

(本文作者系中國民生銀行信息科技部總經(jīng)理助理呂曉強(qiáng);中國民生銀行信息科技部張磊、黃吉鯤)

 

分享到

zhoub

相關(guān)推薦