物聯(lián)網(wǎng)設(shè)備會生成大量數(shù)據(jù),必須進(jìn)行存儲和處理。對IoT數(shù)據(jù)的每個CRUD(創(chuàng)建,讀取,更新或刪除)操作都可以在區(qū)塊鏈塊中注冊為事務(wù)記錄。因此,可以檢測對存儲的IoT數(shù)據(jù)的未授權(quán)操作。
在制造設(shè)備時,可以將IoT設(shè)備的身份憑證注冊為區(qū)塊鏈塊中的交易記錄,并在以后使用該設(shè)備時將其檢索。物聯(lián)網(wǎng)設(shè)備的訪問規(guī)則可以由智能合約指定和實施。因此,也可以檢測對存儲的IoT數(shù)據(jù)的未授權(quán)操作。
當(dāng)區(qū)塊鏈保證數(shù)據(jù)真實性并防止未經(jīng)授權(quán)的訪問時,不需要集中授權(quán),例如云存儲提供商來保護(hù)物聯(lián)網(wǎng)數(shù)據(jù),這些數(shù)據(jù)可以安全地存儲在不同的網(wǎng)絡(luò)節(jié)點中。物聯(lián)網(wǎng)設(shè)備的部署歷史記錄可以作為交易記錄存儲在區(qū)塊鏈中。在生成物聯(lián)網(wǎng)設(shè)備,交付給所有者,安裝,更新并交付給另一個所有者等時,交易記錄可以存儲在區(qū)塊鏈塊中。
區(qū)塊鏈還可以在物聯(lián)網(wǎng)設(shè)備之間啟用安全消息傳遞。物聯(lián)網(wǎng)設(shè)備之間的消息交換可以被視為類似于比特幣網(wǎng)絡(luò)中的金融交易。物聯(lián)網(wǎng)設(shè)備之間的消息交換可以通過智能合約啟用,這可以實現(xiàn)雙方之間的協(xié)議。
區(qū)塊鏈的基本功能是維護(hù)網(wǎng)絡(luò)中所有事務(wù)的適當(dāng)分散的可信分類帳。此功能可以實現(xiàn)物聯(lián)網(wǎng)系統(tǒng)的許多符合性和法規(guī)要求,例如,在GDPR中。(Banafa,2016; Conoscenti等,2016)
區(qū)塊鏈的去中心化和自主功能使其成為物聯(lián)網(wǎng)安全解決方案中幾乎理想的組件。使用區(qū)塊鏈可以實現(xiàn)物聯(lián)網(wǎng)安全級別,否則很難或甚至無法實現(xiàn)。我們介紹一些最近提出的基于區(qū)塊鏈技術(shù)的物聯(lián)網(wǎng)安全解決方案。
案例:物聯(lián)網(wǎng)設(shè)備的安全管理
物聯(lián)網(wǎng)設(shè)備的管理包括配置設(shè)置和操作模式的控制以及確保不間斷的操作?;趨^(qū)塊鏈的配置設(shè)置和操作模式控制可以防止未經(jīng)授權(quán)的訪問嘗試,還可以防止拒絕服務(wù)攻擊。
Huh等人(2017)提出了使用以太坊作為區(qū)塊鏈平臺的物聯(lián)網(wǎng)設(shè)備的控制和配置。用于IoT設(shè)備的識別憑證可以通過公鑰密碼術(shù)中的唯一密鑰對(即,私鑰和公鑰)來實現(xiàn)。私鑰存儲在IoT設(shè)備中,而公鑰被注冊為以太坊塊中的交易記錄。然后可以通過其公鑰在以太網(wǎng)上尋址物聯(lián)網(wǎng)設(shè)備。
以太坊被選為區(qū)塊鏈平臺,因為它的智能合約可以在區(qū)塊鏈上執(zhí)行程序。因此,物聯(lián)網(wǎng)設(shè)備行為可以在智能合約中編程。為了證明所提出的概念,在由三個物聯(lián)網(wǎng)設(shè)備組成的系統(tǒng)上進(jìn)行了模擬:電表,LED燈泡和空調(diào)。
如果儀表測量超過150kW,則需要空調(diào)和燈泡切換到節(jié)能模式的策略由智能手機(jī)設(shè)置。對于儀表,智能合約被編程為將測量值和身份憑證(即其公鑰和簽名)發(fā)送到以太坊。還為空調(diào)和燈泡編制了智能合約。這些合同使用以太坊的相關(guān)身份憑證檢索測量值。身份憑證驗證了檢索到的測量值是儀表值,并且當(dāng)超過檢索值的150kW的閾值時發(fā)生到節(jié)能模式的轉(zhuǎn)換。
物聯(lián)網(wǎng)設(shè)備供應(yīng)商遠(yuǎn)程更新交付設(shè)備的固件,以便安裝新功能并修補已發(fā)現(xiàn)的漏洞。這些更新通常基于來自存儲庫服務(wù)器的客戶端請求來下載,該存儲庫服務(wù)器包含由公鑰基礎(chǔ)結(jié)構(gòu)(PKI)簽名的消息摘要保護(hù)的預(yù)編譯固件二進(jìn)制文件。簽名的消息摘要和公共簽名密鑰附加到下載的固件文件。僅當(dāng)使用下載的公鑰進(jìn)行安全檢查成功時,才會啟動IoT設(shè)備上的固件更新。但是,如果數(shù)百萬IoT設(shè)備同時請求更新,則此客戶端 - 服務(wù)器固件更新協(xié)議會產(chǎn)生過多的網(wǎng)絡(luò)流量。
已經(jīng)提出利用區(qū)塊鏈的解決方案用于IoT設(shè)備中的安全固件更新,其中到服務(wù)器的全局網(wǎng)絡(luò)流量主要由區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間的本地對等通信代替(Lee和Lee,2016)。在此解決方案中,IoT設(shè)備制造商將已發(fā)布固件版本的哈希值存儲在可供所有交付的IoT設(shè)備訪問的區(qū)塊鏈中。
Christidis和Devetsikiotis(2016)建議使用預(yù)先安裝的智能合約,如果新的固件版本可用,則在預(yù)設(shè)的時間間隔后重復(fù)檢查條件,則物聯(lián)網(wǎng)設(shè)備可以自動查找新的固件版本。物聯(lián)網(wǎng)設(shè)備可以從區(qū)塊鏈中檢索已發(fā)布固件的哈希值,并使用它從分布式對等文件系統(tǒng)安全下載新的固件版本,該系統(tǒng)由制造商的節(jié)點和安裝了固件版本的物聯(lián)網(wǎng)設(shè)備組成。存儲在區(qū)塊鏈上的固件哈希也可用于驗證安裝在IoT設(shè)備上的固件是否未被篡改。
在上述解決方案中,由同一供應(yīng)商提供的所有IoT設(shè)備都是正常的區(qū)塊鏈節(jié)點。其他區(qū)塊鏈節(jié)點是驗證節(jié)點,其由固件供應(yīng)商通過安全網(wǎng)絡(luò)連接來操作以維護(hù)更新的固件和固件元數(shù)據(jù)。
IoT設(shè)備向區(qū)塊鏈節(jié)點廣播固件更新請求。如果首先從驗證節(jié)點收到響應(yīng),并且IoT設(shè)備上的固件是最新的,則驗證固件。否則,從響應(yīng)驗證節(jié)點下載最新固件。如果首先從具有與請求固件更新的IoT設(shè)備相同的固件版本的正常區(qū)塊鏈節(jié)點接收響應(yīng),則通過輕量級PoW挖掘過程驗證固件版本,其中六個驗證日志響應(yīng)就足夠了。否則,最新的固件將從驗證節(jié)點下載到物聯(lián)網(wǎng)設(shè)備 - 一個正常的區(qū)塊鏈節(jié)點 - 其固件版本較舊。每個區(qū)塊鏈塊由標(biāo)題和驗證字段組成,驗證字段包括驗證計數(shù)器,所有存儲事務(wù)的哈希值,驗證日志,區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的名稱,當(dāng)前固件版本以及固件文件的哈希值。驗證日志包含表示請求固件更新的網(wǎng)絡(luò)節(jié)點的驗證時間和ID的時間戳,以及響應(yīng)此類請求的網(wǎng)絡(luò)節(jié)點的ID。