方 琳 中國信息通信研究院安全研究所助理工程師
物聯(lián)網(wǎng)是繼計(jì)算機(jī)、互聯(lián)網(wǎng)與移動(dòng)通信網(wǎng)之后信息產(chǎn)業(yè)的第三次浪潮,被視為第四次工業(yè)革命的核心支撐。物聯(lián)網(wǎng)將全球海量的電子設(shè)備連接到互聯(lián)網(wǎng),將物理世界與數(shù)字世界由割裂轉(zhuǎn)變?yōu)槿诤?,?shí)現(xiàn)人和物,物和物之間的自動(dòng)化信息交互與處理,為工業(yè)、金融、醫(yī)療等各領(lǐng)域帶來巨大的發(fā)展和經(jīng)濟(jì)效益。預(yù)計(jì)到2025年,物聯(lián)網(wǎng)對(duì)全球經(jīng)濟(jì)影響將超過11萬億美元。
隨著物聯(lián)網(wǎng)如火如荼的發(fā)展,其暴露的安全問題也愈加明顯,近兩年攻擊事件頻發(fā)且規(guī)模巨大。2016年12月,M irai病毒在美國肆虐,病毒通過感染物聯(lián)網(wǎng)設(shè)備形成僵尸網(wǎng)絡(luò)并向域名解析服務(wù)器發(fā)起分布式拒絕服務(wù)(DDoS)攻擊,致使大半個(gè)美國網(wǎng)絡(luò)癱瘓。發(fā)生物聯(lián)網(wǎng)僵尸網(wǎng)絡(luò)攻擊的主要原因是傳統(tǒng)的網(wǎng)絡(luò)安全模型存在缺陷,由于缺乏可靠的認(rèn)證和共識(shí)機(jī)制,單點(diǎn)不信任在網(wǎng)絡(luò)中擴(kuò)散為多點(diǎn)不信任,從而形成僵尸網(wǎng)絡(luò)。此外,考慮到物聯(lián)網(wǎng)設(shè)備的終端能力不足、容量和計(jì)算能力受限等因素,傳統(tǒng)的加密技術(shù)難以在物聯(lián)網(wǎng)設(shè)備上開展應(yīng)用,導(dǎo)致物聯(lián)網(wǎng)在數(shù)據(jù)完整性尤其是防篡改方面特別脆弱。傳統(tǒng)網(wǎng)絡(luò)安全領(lǐng)域的防控措施在應(yīng)對(duì)物聯(lián)網(wǎng)的安全問題上已捉襟見肘,亟需新的物聯(lián)網(wǎng)安全防護(hù)技術(shù)來應(yīng)對(duì)日益嚴(yán)峻的物聯(lián)網(wǎng)安全問題。
區(qū)塊鏈技術(shù)作為近幾年的研究熱點(diǎn)之一,正快速從試驗(yàn)階段邁向企業(yè)應(yīng)用階段。著名咨詢公司Gartner在預(yù)測2018年對(duì)大部分企業(yè)公司影響顯著的10大戰(zhàn)略技術(shù)時(shí),將區(qū)塊鏈列為10大關(guān)鍵技術(shù)之一。區(qū)塊鏈技術(shù)與傳統(tǒng)中心式的管理和認(rèn)證方式不同,它融合了分布式架構(gòu)、P2P網(wǎng)絡(luò)協(xié)議、加密算法、數(shù)據(jù)驗(yàn)證、共識(shí)算法、身份認(rèn)證、智能合約等技術(shù),利用基于時(shí)間順序的區(qū)塊和鏈進(jìn)行數(shù)據(jù)存儲(chǔ),利用共識(shí)機(jī)制完成各節(jié)點(diǎn)之間數(shù)據(jù)的一致性,利用密碼學(xué)體制保證數(shù)據(jù)的存儲(chǔ)和傳輸安全,利用自動(dòng)化的腳本建立智能合約,實(shí)現(xiàn)交易的自動(dòng)判斷和處理,解決了中心化模式存在的安全性低、可靠性差、成本高等問題。
區(qū)塊鏈的基本工作過程如圖1所示,當(dāng)節(jié)點(diǎn)A向節(jié)點(diǎn)B轉(zhuǎn)賬時(shí),產(chǎn)生的交易信息會(huì)以區(qū)塊的形式以P2P的方式廣播到網(wǎng)絡(luò)中所有有效節(jié)點(diǎn),節(jié)點(diǎn)通過共識(shí)機(jī)制對(duì)該區(qū)塊進(jìn)行認(rèn)證,當(dāng)該區(qū)塊的正確性和有效性被認(rèn)可后,該區(qū)塊按順序被添加到網(wǎng)絡(luò)現(xiàn)有區(qū)塊鏈中,A向B的轉(zhuǎn)賬完成。由于區(qū)塊鏈中的信息得到了網(wǎng)絡(luò)中大部分節(jié)點(diǎn)的一致性認(rèn)同,因此該信息是無法擦除和篡改的,且所有節(jié)點(diǎn)都可以讀取和查詢交易信息。
區(qū)塊鏈由區(qū)塊通過鏈?zhǔn)浇Y(jié)構(gòu)形成,交易信息和區(qū)塊之間的關(guān)系都存儲(chǔ)在區(qū)塊中,每個(gè)區(qū)塊由區(qū)塊頭和區(qū)塊內(nèi)容組成。區(qū)塊中的信息由安全散列算法或哈希(Hash)密碼學(xué)技術(shù)計(jì)算得到,安全散列算法可以保證計(jì)算結(jié)果的唯一性和不可逆性。如對(duì)輸入進(jìn)行更改,則輸出的散列值會(huì)發(fā)生變化,從而可以驗(yàn)證數(shù)據(jù)的完整性。
區(qū)塊頭由除交易信息以外的區(qū)塊結(jié)構(gòu)信息組成。先前區(qū)塊的散列值記錄本區(qū)塊與前一區(qū)塊連接的Hash值,用于連接隨時(shí)間產(chǎn)生的區(qū)塊組成鏈?zhǔn)浇Y(jié)構(gòu)。時(shí)間戳信息記錄不同區(qū)塊創(chuàng)建的時(shí)間。默克爾樹(Merkle Tree)根節(jié)點(diǎn)的Hash值歸納本區(qū)塊所有交易信息,該值以樹型結(jié)構(gòu)層疊計(jì)算交易信息產(chǎn)生,隨著交易信息的變化而變化,通過最小量的信息內(nèi)容驗(yàn)證交易信息的完整性,從而保證區(qū)塊中的交易信息不被篡改。隨機(jī)數(shù)是用于通過工作量證明機(jī)制驗(yàn)證礦工是否獲得當(dāng)前區(qū)塊的記賬權(quán)。
區(qū)塊鏈形成中最重要的是節(jié)點(diǎn)之間的共識(shí)機(jī)制,用于保證分布式賬簿在缺乏集中節(jié)點(diǎn)管理的情況下節(jié)點(diǎn)之間對(duì)交易信息的認(rèn)證和記錄達(dá)成一致,防止節(jié)點(diǎn)之間獨(dú)立工作導(dǎo)致的區(qū)塊增長中斷和分叉。不同區(qū)塊鏈系統(tǒng)的節(jié)點(diǎn)共識(shí)機(jī)制不同,典型的區(qū)塊鏈共識(shí)協(xié)議包括比特幣采用的工作證明(PoW)和Peercoin采用的權(quán)益證明(PoS)等。
在共識(shí)機(jī)制中最先完成PoW的礦工對(duì)本次交易記錄創(chuàng)建區(qū)塊,并以源節(jié)點(diǎn)形式負(fù)責(zé)向網(wǎng)絡(luò)廣播新的區(qū)塊信息。鄰居節(jié)點(diǎn)收到區(qū)塊信息后,如果成功驗(yàn)證,則進(jìn)一步傳播到更遠(yuǎn)的鄰居節(jié)點(diǎn),直到整個(gè)網(wǎng)絡(luò)大部分節(jié)點(diǎn)都對(duì)本次交易記錄認(rèn)證通過,則當(dāng)前時(shí)間周期內(nèi)所有交易形成的區(qū)塊成功創(chuàng)建。區(qū)塊鏈分布式的共識(shí)機(jī)制通過節(jié)點(diǎn)之間的信任和利益的一致性,以多數(shù)正常節(jié)點(diǎn)抵抗少數(shù)惡意節(jié)點(diǎn)的攻擊,保證了每次生成區(qū)塊的有效性和數(shù)據(jù)的完整性。
圖1 區(qū)塊鏈工作過程示例
區(qū)塊鏈解決了在不可靠網(wǎng)絡(luò)上可靠的傳輸信息的難題,由于不依賴于中心節(jié)點(diǎn)的認(rèn)證和管理,因此防止了中心節(jié)點(diǎn)被攻擊造成的數(shù)據(jù)泄露和認(rèn)證失敗的風(fēng)險(xiǎn)。區(qū)塊鏈以其數(shù)學(xué)算法和數(shù)據(jù)結(jié)構(gòu),相比傳統(tǒng)網(wǎng)絡(luò)安全防護(hù)具有以下特點(diǎn):
(1)基于共識(shí)的節(jié)點(diǎn)信任
傳統(tǒng)網(wǎng)絡(luò)的用戶認(rèn)證采用中心認(rèn)證方式,整個(gè)系統(tǒng)的安全性完全依賴于集中部署的認(rèn)證中心和相應(yīng)的內(nèi)部管理人員身上。如果認(rèn)證中心被攻擊,則所有用戶的數(shù)據(jù)可能被竊取或者修改。而在區(qū)塊鏈節(jié)點(diǎn)共識(shí)機(jī)制下,無需第三方信任平臺(tái),寫入的數(shù)據(jù)需要網(wǎng)絡(luò)大部分節(jié)點(diǎn)的認(rèn)可才可以被記錄,因此攻擊者需要至少控制全網(wǎng)絡(luò)51%的節(jié)點(diǎn)才能夠偽造或者篡改數(shù)據(jù),這將大大增加攻擊的成本和難度。
針對(duì)云南省重點(diǎn)企業(yè)融資需求及市場形勢變化,分行加快投行業(yè)務(wù)輕資本化轉(zhuǎn)型,借助資本市場,助力云南省企業(yè)新增債券融資,多渠道、多方位加大力度支持云南省實(shí)體經(jīng)濟(jì)的發(fā)展。截至2018年9月末,恒豐銀行昆明分行已成功為云投集團(tuán)發(fā)行10億元定向債務(wù)融資工具、祥鵬航空5億元超短期融資券,同時(shí)憑借同業(yè)渠道,積極引入省外金融機(jī)構(gòu),促進(jìn)“引資入滇”,為云投集團(tuán)成功撮合發(fā)行32億元公司債券。
(2)數(shù)據(jù)的防篡改性
區(qū)塊鏈采用了帶有時(shí)間戳的鏈?zhǔn)絽^(qū)塊結(jié)構(gòu)存儲(chǔ)數(shù)據(jù),為數(shù)據(jù)的記錄增加了時(shí)間維度,具有可驗(yàn)證性和可追溯性。當(dāng)改變其中一個(gè)區(qū)塊中的任何一個(gè)信息,都會(huì)導(dǎo)致從該區(qū)塊往后所有區(qū)塊數(shù)據(jù)的內(nèi)容修改,從而極大地增加數(shù)據(jù)篡改的難度。另外,區(qū)塊存儲(chǔ)采用的散列值算法也保證了數(shù)據(jù)的完整性。
(3)抵抗分布式拒絕服務(wù)(DDoS)
區(qū)塊鏈的節(jié)點(diǎn)分散,每個(gè)節(jié)點(diǎn)都具備完整的區(qū)塊鏈信息,而且可以對(duì)其他節(jié)點(diǎn)的數(shù)據(jù)有效性進(jìn)行驗(yàn)證,因此針對(duì)區(qū)塊鏈的DDoS攻擊將會(huì)更難展開。即便攻擊者攻破某個(gè)節(jié)點(diǎn),剩余節(jié)點(diǎn)也可以正常維持整個(gè)區(qū)塊鏈系統(tǒng)。
圖2 區(qū)塊鏈應(yīng)用于物聯(lián)網(wǎng)示例
區(qū)塊鏈與物聯(lián)網(wǎng)都具有去中心化和分布式的特點(diǎn),區(qū)塊鏈的身份認(rèn)證、數(shù)據(jù)安全存儲(chǔ)等安全特性具有解決物聯(lián)網(wǎng)設(shè)備認(rèn)證、數(shù)據(jù)完整性等安全問題的潛力。區(qū)塊鏈應(yīng)用于增強(qiáng)物聯(lián)網(wǎng)安全上分為物聯(lián)網(wǎng)物理非可信域和區(qū)塊鏈域(見圖2)。物理非可信域包含不同類型海量的物聯(lián)網(wǎng)設(shè)備,設(shè)備將有物理世界具備的信息(如設(shè)備身份信息、位置信息、交易信息等)傳輸?shù)絽^(qū)塊鏈域,在區(qū)塊鏈系統(tǒng)中的網(wǎng)絡(luò)節(jié)點(diǎn)完成對(duì)信息的加密記錄和存儲(chǔ),保障物聯(lián)網(wǎng)域設(shè)備信息的真實(shí)性和完整性。
(1)區(qū)塊鏈用于物聯(lián)網(wǎng)設(shè)備認(rèn)證
區(qū)塊鏈技術(shù)可以采用非對(duì)稱加密算法和智能合約,利用P2P網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)對(duì)物聯(lián)網(wǎng)接入設(shè)備進(jìn)行鑒權(quán)。待接入物聯(lián)網(wǎng)設(shè)備需向物聯(lián)網(wǎng)平臺(tái)和網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)發(fā)送接入和鑒權(quán)請(qǐng)求,區(qū)塊鏈系統(tǒng)根據(jù)節(jié)點(diǎn)共識(shí)機(jī)制來對(duì)接入設(shè)備的身份標(biāo)識(shí)進(jìn)行認(rèn)證和管理,保證設(shè)備接入物聯(lián)網(wǎng)平臺(tái)的合法性。Filament公司已經(jīng)通過分布式部署Taps無線傳感器節(jié)點(diǎn),結(jié)合區(qū)塊鏈技術(shù)對(duì)物聯(lián)網(wǎng)設(shè)備的唯一身份標(biāo)識(shí)進(jìn)行認(rèn)證和管理。
(2)區(qū)塊鏈提供物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)保護(hù)
區(qū)塊鏈系統(tǒng)可以通過部署適當(dāng)?shù)尿?yàn)證節(jié)點(diǎn)對(duì)物聯(lián)網(wǎng)設(shè)備生成的數(shù)據(jù)按區(qū)塊存儲(chǔ),并把數(shù)據(jù)作為區(qū)塊鏈交易向整個(gè)網(wǎng)絡(luò)廣播等機(jī)制,從而保護(hù)區(qū)塊中物聯(lián)網(wǎng)數(shù)據(jù)的完整性。全球最大規(guī)模的區(qū)塊鏈公司Guardtime通過區(qū)塊鏈分布節(jié)點(diǎn)之間的協(xié)商來提升智慧醫(yī)療中數(shù)據(jù)的機(jī)密性和完整性,實(shí)現(xiàn)了愛沙尼亞100萬份用戶醫(yī)療數(shù)據(jù)的安全性保證。
(3)區(qū)塊鏈用于物聯(lián)網(wǎng)防DDoS攻擊
由于區(qū)塊鏈采用節(jié)點(diǎn)共識(shí)機(jī)制,當(dāng)小部分節(jié)點(diǎn)被攻擊者控制時(shí),剩余節(jié)點(diǎn)可以通過共識(shí)機(jī)制來區(qū)分惡意和正常節(jié)點(diǎn),例如在節(jié)點(diǎn)共識(shí)協(xié)議中加入周期性檢驗(yàn),節(jié)點(diǎn)周期性對(duì)本身的區(qū)塊鏈數(shù)據(jù)存儲(chǔ)情況在網(wǎng)絡(luò)中廣播,如果部分節(jié)點(diǎn)存在數(shù)據(jù)被篡改情況,則其他節(jié)點(diǎn)可標(biāo)識(shí)該節(jié)點(diǎn)不可靠,將其移除區(qū)塊鏈系統(tǒng),從而防止DDoS攻擊和大規(guī)模的僵尸網(wǎng)絡(luò)形成。
圖3 物聯(lián)網(wǎng)分層區(qū)塊鏈架構(gòu)示意
物聯(lián)網(wǎng)可以運(yùn)用區(qū)塊鏈技術(shù)的安全機(jī)制建立一套可信的加密系統(tǒng),從而提高網(wǎng)絡(luò)安全性能。然而,與一般區(qū)塊鏈技術(shù)應(yīng)用于金融領(lǐng)域等分布式記賬不同,一方面物聯(lián)網(wǎng)設(shè)備的通信極大地依賴于底層物理特性(如信道的帶寬和質(zhì)量),當(dāng)信道質(zhì)量較差時(shí),節(jié)點(diǎn)之間的通信會(huì)存在不對(duì)等,從而造成區(qū)塊無法認(rèn)證、計(jì)算資源浪費(fèi)等問題,破壞了區(qū)塊鏈系統(tǒng)的一致性;另一方面,由于物聯(lián)網(wǎng)設(shè)備數(shù)量巨大,而且攜帶數(shù)據(jù)較大,對(duì)區(qū)塊鏈的生成速率和區(qū)塊的容量要求很高。區(qū)塊鏈技術(shù)可以增強(qiáng)物聯(lián)網(wǎng)安全,但是物聯(lián)網(wǎng)中區(qū)塊鏈的應(yīng)用實(shí)際上是與區(qū)塊鏈的低區(qū)塊容量和完美信道傳播是違背的。因此,應(yīng)用區(qū)塊鏈增強(qiáng)物聯(lián)網(wǎng)安全具有一定的技術(shù)難題。
(1)數(shù)據(jù)通信的不可靠性
與互聯(lián)網(wǎng)中計(jì)算機(jī)節(jié)點(diǎn)不同,物聯(lián)網(wǎng)設(shè)備會(huì)受物理底層信息傳輸?shù)挠绊憽N锫?lián)網(wǎng)設(shè)備可以通過無線接入的方式進(jìn)行通信,例如分布式的無人機(jī)和車聯(lián)網(wǎng)通信。如果無線鏈路質(zhì)量較差,則節(jié)點(diǎn)的信息傳輸會(huì)不可靠,導(dǎo)致區(qū)塊鏈網(wǎng)絡(luò)拓?fù)浒l(fā)生變化,驗(yàn)證節(jié)點(diǎn)無法正常收到部分設(shè)備的信息,造成區(qū)塊鏈系統(tǒng)存儲(chǔ)數(shù)據(jù)的不完整。由于區(qū)塊是按時(shí)間順序存儲(chǔ)的,因此節(jié)點(diǎn)通信不可靠導(dǎo)致丟失的數(shù)據(jù)將無法再恢復(fù)。
(2)區(qū)塊記錄的不一致性
在物聯(lián)網(wǎng)中,由于設(shè)備的計(jì)算、通信能力和業(yè)務(wù)不同,產(chǎn)生的數(shù)據(jù)量存在地域性和設(shè)備性差異,這樣會(huì)導(dǎo)致節(jié)點(diǎn)對(duì)物聯(lián)網(wǎng)數(shù)據(jù)記錄和區(qū)塊的產(chǎn)生順序發(fā)生不同步,導(dǎo)致網(wǎng)絡(luò)節(jié)點(diǎn)出現(xiàn)不完整或者不一致的記錄,從而形成不一致的區(qū)塊鏈(分叉)。分層的區(qū)塊鏈架構(gòu)是解決上述不一致性問題的方法之一(見圖3)。上層主區(qū)塊鏈通過部署計(jì)算能力強(qiáng)容量大的節(jié)點(diǎn)對(duì)全網(wǎng)數(shù)據(jù)進(jìn)行驗(yàn)證和存儲(chǔ),下層子區(qū)塊鏈對(duì)部分物理區(qū)域或者部分設(shè)備的數(shù)據(jù)進(jìn)行分塊管理,且不同層的區(qū)塊鏈數(shù)據(jù)記錄速率可不同,從而降低了在大型網(wǎng)絡(luò)規(guī)模上保持一致性的壓力。
(3)區(qū)塊鏈系統(tǒng)的容量問題
比特幣區(qū)塊鏈中每10m in生成一次區(qū)塊,區(qū)塊大小不超過1MB,因此比特幣區(qū)塊鏈容量上限為每秒7個(gè)交易,這樣的容量是難以滿足海量物聯(lián)網(wǎng)設(shè)備及其大數(shù)據(jù)的需求。因此,如果要應(yīng)用區(qū)塊鏈實(shí)現(xiàn)物聯(lián)網(wǎng)的數(shù)據(jù)安全存儲(chǔ),需要增大區(qū)塊鏈系統(tǒng)的區(qū)塊大小和區(qū)塊生成速度。
區(qū)塊鏈與物聯(lián)網(wǎng)都具有去中心化和分布式的特征,區(qū)塊鏈技術(shù)具有可靠的信息交互、完整的數(shù)據(jù)存儲(chǔ)、可信的節(jié)點(diǎn)認(rèn)證等安全性特點(diǎn),將傳統(tǒng)網(wǎng)絡(luò)邊界式防護(hù)為全網(wǎng)絡(luò)節(jié)點(diǎn)參與的安全防護(hù)。在物聯(lián)網(wǎng)中,采用區(qū)塊鏈技術(shù)可以對(duì)大量的設(shè)備提供接入認(rèn)證、數(shù)據(jù)保護(hù)以及防DDoS攻擊,有效為物聯(lián)網(wǎng)設(shè)備提供隱私和匿名保護(hù),并且以靈活的數(shù)據(jù)交互和節(jié)點(diǎn)共識(shí)降低單點(diǎn)故障風(fēng)險(xiǎn),在抵抗僵尸網(wǎng)絡(luò)等惡意攻擊中具有巨大的潛力。但是,一方面由于物聯(lián)網(wǎng)設(shè)備的計(jì)算、存儲(chǔ)和通信能力差異性較大,會(huì)帶來區(qū)塊生成的不一致;另一方面,海量設(shè)備的接入會(huì)導(dǎo)致區(qū)塊鏈中存儲(chǔ)的用戶數(shù)據(jù)量劇增,對(duì)區(qū)塊鏈系統(tǒng)的數(shù)據(jù)處理和存儲(chǔ)能力帶來一定的挑戰(zhàn)。在未來應(yīng)用中,還需對(duì)區(qū)塊鏈系統(tǒng)做進(jìn)一步完善,以更有效地支持物聯(lián)網(wǎng)安全。
[1]Manyika J.The internet of things:mapping the value beyond thehype[R].Mc Kinsey global institute,2015..
[2]Zha X,NiW,Liu R P,etal.Secure data transmission and modelling in vehicular ad hoc networks[C].Globecom workshops,2015:1–6.
[3]劉永丹.基于區(qū)塊鏈的網(wǎng)絡(luò)空間安全技術(shù)[J].電子技術(shù)與軟件工程,2017(20):215-217.
[4]張龔,劉德.區(qū)塊鏈中的安全問題研究[J].數(shù)字技術(shù)與應(yīng)用,2017(8):199-200.
[5]Kshetri N.Can blockchain strengthen the in ternet of things?[J].Itprofessional,2017,19(4):68-72.