陳亞茹
(河南工業(yè)貿(mào)易職業(yè)學(xué)院信息工程系 鄭州 450012)
(642200814@qq.com)
繼計(jì)算機(jī)、互聯(lián)網(wǎng)之后物聯(lián)網(wǎng)(Internet of things, IoT)[1]應(yīng)用呈現(xiàn)出指數(shù)增長(zhǎng)的趨勢(shì),被認(rèn)為第3次世界信息的浪潮.物聯(lián)網(wǎng)利用無(wú)線傳感器采集各類實(shí)體的信息,建立實(shí)體與網(wǎng)絡(luò)的連接,實(shí)現(xiàn)智慧城市、智能交通、大數(shù)據(jù)監(jiān)管.在不久的將來(lái)物聯(lián)網(wǎng)將應(yīng)用到生活的各個(gè)領(lǐng)域,在科技與時(shí)代發(fā)展中扮演重要的角色.隨著大量移動(dòng)終端接入網(wǎng)絡(luò)進(jìn)行信息交換和通信的過程中物聯(lián)網(wǎng)暴露出身份認(rèn)證、數(shù)據(jù)傳輸?shù)劝踩珕栴}.目前物聯(lián)網(wǎng)的安全威脅主要來(lái)自于應(yīng)用層、網(wǎng)絡(luò)層及感知層安全,圖1為物聯(lián)網(wǎng)的主要安全威脅:
圖1 物聯(lián)網(wǎng)的主要安全威脅
針對(duì)物聯(lián)網(wǎng)的安全問題,業(yè)界提出了很多方案[2-4].文獻(xiàn)[2]提出了一種基于公開基礎(chǔ)密鑰設(shè)施(public key infrastructure, PKI)身份認(rèn)證方案,物聯(lián)網(wǎng)設(shè)備之間通過各自的合法身份建立信任關(guān)系,進(jìn)行數(shù)據(jù)通信,實(shí)現(xiàn)數(shù)據(jù)安全.文獻(xiàn)[3]提出基于身份的加密(identity based encryption, IBE)認(rèn)證方案, 物聯(lián)網(wǎng)設(shè)備之間通信通過共享對(duì)稱密鑰進(jìn)行信息加密,實(shí)現(xiàn)網(wǎng)絡(luò)層的安全.雖然這些方案在一定程度上解決了物聯(lián)網(wǎng)的安全威脅,但是其大多基于中心化體系進(jìn)行數(shù)據(jù)安全保護(hù).目前的中心化體系認(rèn)證已經(jīng)不適應(yīng)設(shè)備繁多、復(fù)雜的異構(gòu)網(wǎng)絡(luò)環(huán)境以及存在單點(diǎn)故障問題,一旦出現(xiàn)單點(diǎn)故障就會(huì)造成信息泄露的問題.針對(duì)采用中心化認(rèn)證方案存在的問題,文獻(xiàn)[4]提出基于對(duì)稱密鑰的方案,采用去中心化認(rèn)證方式,雖然在一定程度上解決單點(diǎn)故障問題,但是存在密鑰分發(fā)、泄露等問題.
從以上提出的方案來(lái)看,無(wú)論是采用對(duì)稱密鑰還是非對(duì)稱密鑰的方案都存在缺陷,目前的方案無(wú)法適用復(fù)雜的異構(gòu)網(wǎng)絡(luò).區(qū)塊鏈利用鏈?zhǔn)竭M(jìn)行數(shù)據(jù)的存儲(chǔ)與更新,具有去中心化、數(shù)據(jù)防偽造等特征[5],為物聯(lián)網(wǎng)安全提供一種解決思路[6].
針對(duì)目前物聯(lián)網(wǎng)存在身份單向認(rèn)證、數(shù)據(jù)傳輸、單點(diǎn)故障等問題,本文以區(qū)塊鏈為基礎(chǔ),結(jié)合橢圓曲線數(shù)字簽名(ECDSA)[7]提出了一種物聯(lián)網(wǎng)拓?fù)淠P?
隨著移動(dòng)設(shè)備接入到網(wǎng)絡(luò)數(shù)量的增加,物聯(lián)網(wǎng)出現(xiàn)很多問題.針對(duì)目前物聯(lián)網(wǎng)存在的問題,從以下3個(gè)機(jī)制進(jìn)行分析:
1) 認(rèn)證與訪問控制.
與互聯(lián)網(wǎng)的認(rèn)證、訪問控制相似,物聯(lián)網(wǎng)也有嚴(yán)格的認(rèn)證與訪問控制.物聯(lián)網(wǎng)認(rèn)證主要有身份認(rèn)證和消息認(rèn)證2種方式[8]:身份認(rèn)證通過密鑰加密來(lái)保證;消息認(rèn)證是保證信息安全和完整的一種認(rèn)證方式.物聯(lián)網(wǎng)的認(rèn)證是指通信雙方確定通信的一個(gè)消息認(rèn)證碼,發(fā)送方根據(jù)返回消息認(rèn)證碼確定接收方接收信息的狀態(tài).但在通信過程中由于消息認(rèn)證碼是靜態(tài)數(shù)據(jù),非法用戶可以通過窮舉、DDOS攻擊等方式竊取消息認(rèn)證碼,然后進(jìn)行偽造攻擊導(dǎo)致物聯(lián)網(wǎng)中信息泄露等安全問題.訪問控制是指按照授權(quán)策略方式對(duì)資源進(jìn)行訪問,減少非法用戶的訪問.為了保證物聯(lián)網(wǎng)的安全,出現(xiàn)各種身份識(shí)別技術(shù),如指紋、數(shù)字簽名等,但是都存在一些安全問題.
2) 數(shù)據(jù)安全.
加密是保護(hù)數(shù)據(jù)的安全常見的一種手段,如對(duì)稱密鑰和非對(duì)稱密鑰等加密方法.對(duì)傳輸數(shù)據(jù)進(jìn)行加密的前提是具備一個(gè)健壯的密鑰管理方案,該方案必須適應(yīng)節(jié)點(diǎn)資源有限的特點(diǎn).物聯(lián)網(wǎng)中數(shù)據(jù)庫(kù)系統(tǒng)是流式數(shù)據(jù),流式數(shù)據(jù)加密困難,一旦數(shù)據(jù)被攻擊,所有數(shù)據(jù)都會(huì)被竊取,因此物聯(lián)網(wǎng)中海量數(shù)據(jù)面臨巨大的挑戰(zhàn).采用云存儲(chǔ)是常見的解決方法,但是云存儲(chǔ)數(shù)據(jù)在使用時(shí)需要反復(fù)傳輸,導(dǎo)致云服務(wù)器負(fù)擔(dān)極大,安全得不到保證.物聯(lián)網(wǎng)在無(wú)線傳輸過程中要考慮數(shù)據(jù)的安全和隱私,防止數(shù)據(jù)被非法用戶竊取.
3) 建構(gòu)安全網(wǎng)絡(luò)架構(gòu).
由于技術(shù)的不完善,目前物聯(lián)網(wǎng)中網(wǎng)絡(luò)層節(jié)點(diǎn)之間沒有統(tǒng)一的架構(gòu)協(xié)議,不統(tǒng)一的架構(gòu)協(xié)議給非法用戶留了很多安全漏洞.因此應(yīng)結(jié)合節(jié)點(diǎn)的特性和物聯(lián)網(wǎng)模型建立統(tǒng)一網(wǎng)絡(luò)層的協(xié)議,以保證物聯(lián)網(wǎng)的安全.
大量的移動(dòng)設(shè)備連接到物聯(lián)網(wǎng)中共享數(shù)據(jù)時(shí),在點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)下出現(xiàn)網(wǎng)絡(luò)延遲的情況,很難保證數(shù)據(jù)的安全.當(dāng)節(jié)點(diǎn)數(shù)量過多時(shí)節(jié)點(diǎn)處理事務(wù)的先后順序不一致,因此需要一種方法對(duì)發(fā)生事務(wù)的先后順序進(jìn)行識(shí)別.區(qū)塊鏈具有識(shí)別機(jī)制,可以保證物聯(lián)網(wǎng)之間傳遞的數(shù)據(jù)得到安全保證.區(qū)塊鏈具有以下5個(gè)特點(diǎn):
1) 去中心化.
去中心化是區(qū)塊鏈的典型特點(diǎn),用來(lái)保證網(wǎng)絡(luò)安全.區(qū)塊鏈中數(shù)據(jù)的傳輸、存儲(chǔ)都由眾多節(jié)點(diǎn)構(gòu)成的一種點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),不需要中心化節(jié)點(diǎn)的管理,形成去中心化、可信任的結(jié)構(gòu),如圖2所示.當(dāng)節(jié)點(diǎn)收到另一個(gè)節(jié)點(diǎn)傳輸?shù)臄?shù)據(jù)時(shí),該節(jié)點(diǎn)需要驗(yàn)證另一個(gè)節(jié)點(diǎn)的身份信息,身份驗(yàn)證成功后,把接收到的數(shù)據(jù)共享到整個(gè)網(wǎng)絡(luò).利用區(qū)塊鏈去中心化的特點(diǎn)可以改善目前物聯(lián)網(wǎng)結(jié)構(gòu)中心化的現(xiàn)狀,解決異構(gòu)網(wǎng)絡(luò)中對(duì)中心結(jié)構(gòu)的依賴現(xiàn)狀.
圖2 去中心化網(wǎng)絡(luò)
2) 安全可信.
區(qū)塊鏈采用非對(duì)稱密碼體制進(jìn)行數(shù)據(jù)加密,每個(gè)節(jié)點(diǎn)通過哈希值處理事務(wù)的先后順序,以及利用分布式系統(tǒng)中共識(shí)算法進(jìn)行抗偽造攻擊,提高了區(qū)塊鏈數(shù)據(jù)的安全性.如果非法用戶想篡改數(shù)據(jù)需要修改所有區(qū)塊中的數(shù)據(jù),目前的技術(shù)是不可能實(shí)現(xiàn)的,因此區(qū)塊鏈中安全可靠的特點(diǎn)用在物聯(lián)網(wǎng)中使用戶的交易更加透明.
3) 可追溯性.
區(qū)塊鏈中區(qū)塊包含時(shí)間戳,時(shí)間戳是標(biāo)記區(qū)塊產(chǎn)生的時(shí)間和標(biāo)記每筆交易,為數(shù)據(jù)增加了時(shí)間維度.時(shí)間戳不僅能保留原始數(shù)據(jù),而且降低了交易追溯的成本.當(dāng)區(qū)塊建立后新產(chǎn)生的交易數(shù)據(jù)記錄到當(dāng)前的數(shù)據(jù)塊中,當(dāng)前區(qū)塊數(shù)據(jù)通過算法生成一個(gè)哈希值,記錄到當(dāng)前父區(qū)塊哈希值屬性中,由于類推形成區(qū)塊鏈,這個(gè)過程是不可逆的.區(qū)塊鏈實(shí)現(xiàn)了信息的不可篡改和抗偽造攻擊,保證了物聯(lián)網(wǎng)中信息傳輸?shù)陌踩?
4) 開放性.
區(qū)塊鏈提供了腳本代碼,支持用戶根據(jù)自身需求開發(fā)去中心化應(yīng)用.區(qū)塊鏈系統(tǒng)中絕大多數(shù)數(shù)據(jù)是開放的,支持通過接口進(jìn)行訪問,只有小部分?jǐn)?shù)據(jù)處于保密狀態(tài).
5) 智能合約.
智能合約的概念由Szabo[11]提出,定義為一套數(shù)字形式的承諾.設(shè)計(jì)的目的是無(wú)需第三方條件下通過內(nèi)嵌數(shù)字形式的物理實(shí)體來(lái)創(chuàng)建多種靈活的智能資產(chǎn),通常被認(rèn)為一個(gè)自動(dòng)擔(dān)保程序[9-10].受限于當(dāng)時(shí)硬件條件,智能合約被當(dāng)成一個(gè)理論,區(qū)塊鏈的出現(xiàn)為智能合約注入了新的活力.區(qū)塊鏈技術(shù)使智能合約強(qiáng)化了物聯(lián)網(wǎng)中用戶之間的互信機(jī)制,實(shí)現(xiàn)了物聯(lián)網(wǎng)的去信任化.
本文提出的方案基于橢圓曲線數(shù)字簽名(ECDSA)和區(qū)塊鏈技術(shù).其中橢圓曲線數(shù)字簽名保證節(jié)點(diǎn)之間數(shù)據(jù)傳輸?shù)陌踩院筒豢煞裾J(rèn)性;區(qū)塊鏈提供一個(gè)安全和值得信賴的方式使用一個(gè)分布式共享信息模型,實(shí)現(xiàn)透明、安全、隱私、可審核性、訪問身份驗(yàn)證、數(shù)據(jù)不變性等,物聯(lián)網(wǎng)系統(tǒng)大多部署在不可信網(wǎng)絡(luò)中,因此可以利用區(qū)塊鏈技術(shù)作為安全、可審計(jì)的數(shù)據(jù)日志.體系結(jié)構(gòu)如圖3所示:
圖3 區(qū)塊鏈物聯(lián)網(wǎng)體系結(jié)構(gòu)
感知層采集的信息和底層區(qū)塊鏈進(jìn)行鏈上存儲(chǔ),其中信息通過橢圓曲線數(shù)字簽名進(jìn)行信息認(rèn)證,以點(diǎn)對(duì)點(diǎn)的方式進(jìn)行信息傳遞,實(shí)現(xiàn)數(shù)據(jù)的可追溯性和不可抵賴性.
合約層與底層區(qū)塊鏈代替了傳統(tǒng)的物聯(lián)網(wǎng)的平臺(tái)層與網(wǎng)絡(luò)層.合約層通過各種加密算法、共識(shí)機(jī)制、智能合約、開發(fā)的代碼編寫滿足用戶需求的各種交易操作.
物聯(lián)網(wǎng)中存在信息分散、應(yīng)用層安全缺失、體系結(jié)構(gòu)不規(guī)范等問題,利用區(qū)塊鏈技術(shù)解決異構(gòu)網(wǎng)絡(luò)的安全、資源需求等問題.本文提出的區(qū)塊鏈物聯(lián)網(wǎng)體系結(jié)構(gòu)具備以下4點(diǎn)優(yōu)勢(shì):
1) 提高數(shù)據(jù)傳輸安全.
針對(duì)傳統(tǒng)物聯(lián)網(wǎng)認(rèn)證過程中存在的偽造攻擊問題,橢圓曲線數(shù)字簽名采用雙向認(rèn)證方式保證了接入設(shè)備與物聯(lián)網(wǎng)之間信息交互的完整性與不可抵賴性,有效解決抗偽造攻擊問題.
2) 降低數(shù)據(jù)傳輸成本.
區(qū)塊鏈技術(shù)采用分布式連接方式形成一個(gè)P2P傳輸網(wǎng)絡(luò),通過合理利用資源和點(diǎn)對(duì)點(diǎn)方式對(duì)物聯(lián)網(wǎng)的組網(wǎng)架構(gòu)實(shí)現(xiàn)優(yōu)化,節(jié)約了傳輸流量和物聯(lián)網(wǎng)硬件升級(jí)的費(fèi)用.
3) 降低管理運(yùn)營(yíng)成本.
利用區(qū)塊鏈中智能合約編寫代碼實(shí)現(xiàn)物聯(lián)網(wǎng)信息傳遞、加工的智能化自動(dòng)操作,不僅節(jié)約了中心服務(wù)器的運(yùn)行與維護(hù)成本,而且實(shí)現(xiàn)海量終端的低成本連接,降低了管理運(yùn)行成本.
4) 隱私保護(hù).
區(qū)塊鏈技術(shù)的應(yīng)用使得物聯(lián)網(wǎng)實(shí)現(xiàn)了去中心化運(yùn)行,中心服務(wù)器不存儲(chǔ)所有交互數(shù)據(jù),避免了信息泄露的風(fēng)險(xiǎn),解決了信息安全與用戶隱私保護(hù)問題.與此同時(shí),通過ECDSA等加密算法進(jìn)一步保護(hù)了用戶的隱私,抗偽造、DDOS攻擊等.
區(qū)塊鏈作為一種新型的技術(shù)和管理模式,為物聯(lián)網(wǎng)安全注入了全新的理念,區(qū)塊鏈的去中心化、安全可信、可追溯性、智能合約等都具有安全監(jiān)管的功能.本文把區(qū)塊鏈技術(shù)應(yīng)用到物聯(lián)網(wǎng)中,提出了基于區(qū)塊鏈技術(shù)的物聯(lián)網(wǎng)模型,解決了傳統(tǒng)物聯(lián)網(wǎng)中單點(diǎn)負(fù)載、成本昂貴及數(shù)據(jù)隱私等問題,為企業(yè)安全提供參考.