導(dǎo)讀:本文首先指出了在物聯(lián)網(wǎng)系統(tǒng)中部署區(qū)塊鏈拓撲存在的實際障礙。提出了一種基于區(qū)塊鏈的動態(tài)信任系統(tǒng),為物聯(lián)網(wǎng)網(wǎng)絡(luò)提供了一種動態(tài)的、可擴展的通信體系結(jié)構(gòu)。并以案例研究的方式進一步探討了安全問題,為今后的研究提供了方向。
1 引用
Qiu H., Qiu M., Memmi G., Ming Z., Liu M. (2018) A Dynamic Scalable Blockchain Based Communication Architecture for IoT. In: Qiu M. (eds) Smart Blockchain. SmartBlock 2018. Lecture Notes in Computer Science, vol 11373. Springer, Cham
2 摘要
近年來基于區(qū)塊鏈的加密貨幣技術(shù)的發(fā)展,使人們在日常生活中的許多應(yīng)用程序具有了較高的信任度和安全性。傳統(tǒng)的區(qū)塊鏈體系結(jié)構(gòu)可以為金融服務(wù)提供分布式的、可信的系統(tǒng),保證了系統(tǒng)的持久性、匿名性和可審核性。物聯(lián)網(wǎng)(IoT)作為下一個有前途的智能系統(tǒng),具有類似于區(qū)塊鏈的分散拓撲結(jié)構(gòu)。然而,在物聯(lián)網(wǎng)系統(tǒng)中部署區(qū)塊鏈在很多方面仍然是不現(xiàn)實的。本文首先指出了在物聯(lián)網(wǎng)系統(tǒng)中部署區(qū)塊鏈拓撲存在的實際障礙。提出了一種基于區(qū)塊鏈的動態(tài)信任系統(tǒng),為物聯(lián)網(wǎng)網(wǎng)絡(luò)提供了一種動態(tài)的、可擴展的通信體系結(jié)構(gòu)。并以案例研究的方式進一步探討了安全問題,為今后的研究提供了方向。
3 介紹
區(qū)塊鏈已經(jīng)成為構(gòu)建信用體系的重要技術(shù)。區(qū)塊鏈最初是在2008年作為一種名為比特幣的加密貨幣的技術(shù)基礎(chǔ)引入的,自那以后,被廣泛用于其他加密貨幣。作為各種加密貨幣的核心技術(shù),區(qū)塊鏈建立在一個分布式的數(shù)字賬本上,該賬本由對等網(wǎng)絡(luò)中的所有參與實體擁有。分布式是通過部署所有參與實體來驗證和確認新事務(wù)來實現(xiàn)的。一旦驗證、確認和記錄,事務(wù)數(shù)據(jù)就不能在不更改所有后續(xù)塊的情況下進行回溯性更改,這需要得到網(wǎng)絡(luò)大多數(shù)人的一致同意。在比特幣的實現(xiàn)中,所有有效的交易記錄都被哈希并編碼到Merkle tree中。然后將成批的有效事務(wù)形成塊。每個塊包含連接兩個相鄰塊的前一個塊的哈希結(jié)果鏈接的塊形成一個鏈,稱為區(qū)塊鏈。構(gòu)建區(qū)塊鏈的過程是在現(xiàn)有區(qū)塊鏈的基礎(chǔ)上不斷添加新的塊,即挖礦。挖礦的基本操作是解決一個數(shù)學(xué)難題(POW),這個難題很難解決,但是很容易驗證。為了解決這個難題,參與實體必須提供巨大的計算資源,這限制了可以挖掘的塊的數(shù)量。此外,該機制還可以進一步避免惡意挖掘塊。區(qū)塊鏈中常用的謎題通常是或證明賭注(PoS)。POW需要較高的計算資源,它被部署在比特幣協(xié)議中,用來查找具有特定哈希結(jié)果的特定值。POS將消耗計算資源和內(nèi)存資源。實體之間交換的所有消息都使用可更改的公鑰進行加密,從而避免了竊聽。
雖然區(qū)塊鏈可以用于許多著名的加密貨幣,如比特幣,但還有其他潛在的應(yīng)用程序可以將區(qū)塊鏈部署為基礎(chǔ)技術(shù)。由于構(gòu)建區(qū)塊鏈可以在沒有任何可信中介的情況下完成支付,因此開發(fā)了許多金融服務(wù),如數(shù)字資產(chǎn)、匯款和智能合同。事實上,區(qū)塊鏈正在成為設(shè)計下一代通信和交互系統(tǒng)(如物聯(lián)網(wǎng))最有前途的技術(shù)之一。
隨著智能設(shè)備的快速發(fā)展和無線網(wǎng)絡(luò)帶寬的不斷提高,物聯(lián)網(wǎng)的概念正在被廣泛接受和普及。如今,它代表著一個網(wǎng)絡(luò),在這個網(wǎng)絡(luò)中,智能事物與傳感器和天線相連。作為一個高度動態(tài)的網(wǎng)絡(luò),物聯(lián)網(wǎng)始終具有允許節(jié)點連接和離開網(wǎng)絡(luò)的可伸縮性。事實上,物聯(lián)網(wǎng)范式代表了一個連接設(shè)備和異構(gòu)網(wǎng)絡(luò)的集合,它也繼承了計算機網(wǎng)絡(luò)的傳統(tǒng)安全和隱私問題。然而,與傳統(tǒng)計算機不同的是,物聯(lián)網(wǎng)設(shè)備通常具有有限的資源,如有限的電源、計算能力和存儲空間。這就導(dǎo)致了傳統(tǒng)的基于區(qū)塊鏈的計算機網(wǎng)絡(luò)安全方案難以在物聯(lián)網(wǎng)網(wǎng)絡(luò)中實現(xiàn)。
物聯(lián)網(wǎng)網(wǎng)絡(luò)的一個問題是設(shè)備的身份管理。由于物聯(lián)網(wǎng)設(shè)備在連接生命周期、服務(wù)需求、信任等級等方面的連接屬性非常不同,因此很難分配一個能夠普遍識別事物的ID并維護該ID方案。事實上,區(qū)塊鏈架構(gòu)可以作為進一步構(gòu)建物聯(lián)網(wǎng)安全和隱私的基礎(chǔ)。最基本的設(shè)計可以是將每個物聯(lián)網(wǎng)節(jié)點部署為區(qū)塊鏈的參與實體,進一步為物聯(lián)網(wǎng)應(yīng)用構(gòu)建可信的數(shù)字賬本。本文首先指出了在物聯(lián)網(wǎng)中構(gòu)建區(qū)塊鏈的障礙。在此基礎(chǔ)上,提出了一種基于標記網(wǎng)絡(luò)拓撲結(jié)構(gòu)的物聯(lián)網(wǎng)ID管理系統(tǒng)設(shè)計方案,提出了一種基于區(qū)塊鏈協(xié)議的物聯(lián)網(wǎng)ID管理解決方案。提出了一種基于動態(tài)可伸縮區(qū)塊鏈的物聯(lián)網(wǎng)通信體系結(jié)構(gòu)。
3 研究背景
3.1 物聯(lián)網(wǎng)安全問題實例
如圖1所示,物聯(lián)網(wǎng)網(wǎng)絡(luò)是由許多不同硬件配置的異構(gòu)數(shù)字設(shè)備組成,這些設(shè)備都依賴于通信中間層進行連接。許多物聯(lián)網(wǎng)設(shè)備都配備了數(shù)據(jù)采集和傳輸?shù)膬蓚€基本要素。智能手機等一些設(shè)備也配備了強大的計算芯片,可以處理收集到的數(shù)據(jù)。
圖1 具有異構(gòu)設(shè)備和動態(tài)連接的物聯(lián)網(wǎng)網(wǎng)絡(luò)
正如前面所指出的,物聯(lián)網(wǎng)雖然繼承了傳統(tǒng)的計算機網(wǎng)絡(luò),同時也繼承了安全與隱私問題,但傳統(tǒng)的對策難以繼承。究其原因,不僅在于硬件配置完全不同的異構(gòu)設(shè)備,還在于物聯(lián)網(wǎng)概念中的動態(tài)通信。圖1中給出了一個例子,其中有具有靜態(tài)和動態(tài)鏈接的設(shè)備,也有總是脫機或經(jīng)常連接和離開網(wǎng)絡(luò)的設(shè)備。在這種情況下,攻擊者更容易操縱具有假id的受攻擊節(jié)點來加入通信環(huán)境。與傳統(tǒng)的動態(tài)網(wǎng)絡(luò)相比,物聯(lián)網(wǎng)中的id管理更加困難。中列出了對安全威脅的回顧。其中一個威脅是物聯(lián)網(wǎng)的認證和安全通信。如圖1所示,物聯(lián)網(wǎng)網(wǎng)絡(luò)中的任何設(shè)備在進行通信之前都必須經(jīng)過身份驗證。然而,在實際的實現(xiàn)中,由于硬件資源的限制,必須將安全機制的開銷降到最低,以考慮將進一步導(dǎo)致安全漏洞的效率問題。
3.2 可伸縮區(qū)塊鏈節(jié)點
如前面所述,區(qū)塊鏈的基礎(chǔ)是所有的交易記錄都在之前的塊中進行驗證和確認,避免了惡意和異常的操作。這種機制將要求區(qū)塊鏈網(wǎng)絡(luò)中的所有參與維護,更重要的是,存儲經(jīng)過驗證和確認的事務(wù)記錄。事實上,一旦一個新的實體加入?yún)^(qū)塊鏈網(wǎng)絡(luò),下載所有歷史塊是必要的。然而,這一特性成為在物聯(lián)網(wǎng)網(wǎng)絡(luò)中部署區(qū)塊鏈架構(gòu)的障礙。大多數(shù)設(shè)備的計算和存儲都受到限制,物聯(lián)網(wǎng)節(jié)點之間的連接鏈接總是動態(tài)的,這意味著維護或下載歷史塊都是不切實際的。
幸運的是,在比特幣協(xié)議中有一些針對區(qū)塊鏈節(jié)點的新設(shè)計,稱為全節(jié)點和輕量級節(jié)點。輕量級節(jié)點只下載塊頭來驗證事務(wù)的真實性,而不是驗證所有的歷史塊。然后,輕量級節(jié)點由完整的節(jié)點提供,以連接到區(qū)塊鏈網(wǎng)絡(luò),它們很容易維護和運行,不需要太多開銷。然而,輕量級節(jié)點的大規(guī)模部署可能會導(dǎo)致物聯(lián)網(wǎng)中的隱私問題。由于輕量級節(jié)點由完整節(jié)點提供服務(wù),惡意用戶持有完整節(jié)點會損害輕量級節(jié)點事務(wù)的隱私。此外,作為物聯(lián)網(wǎng)的動態(tài)連接,一旦一個完整的節(jié)點離開網(wǎng)絡(luò),相應(yīng)的輕量級節(jié)點將無法享受到區(qū)塊鏈網(wǎng)絡(luò)。一項工作提出了一種基于智能家居設(shè)置的物聯(lián)網(wǎng)架構(gòu)。本設(shè)計符合智能家居場景的拓撲結(jié)構(gòu),假設(shè)每個家庭都有個人電腦,可以看作是每個智能家居中物聯(lián)網(wǎng)子網(wǎng)絡(luò)的連接核心。
4 系統(tǒng)設(shè)計
首先,我們將所有物聯(lián)網(wǎng)設(shè)備視為區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點。然后為每個物聯(lián)網(wǎng)設(shè)備分配一個唯一的ID,該ID也將與區(qū)塊鏈錢包ID相關(guān)聯(lián)。通過這種設(shè)計,所有有效的ID都可以在物聯(lián)網(wǎng)網(wǎng)絡(luò)中輕松驗證,而虛假ID則很難建立。
為了避免現(xiàn)有區(qū)塊鏈拓撲結(jié)構(gòu)的計算量或存儲量過大,需要使用不同的物聯(lián)網(wǎng)設(shè)備配置定義不同的節(jié)點。在本文中,我們?yōu)槲锫?lián)網(wǎng)設(shè)備定義了三個區(qū)塊鏈標簽:輕量級節(jié)點、全節(jié)點和協(xié)調(diào)節(jié)點。然后根據(jù)連接壽命和硬件配置分配不同的標簽對所有設(shè)備進行分類。輕量級節(jié)點標簽對應(yīng)于計算能力低或連接壽命短的物聯(lián)網(wǎng)設(shè)備。全節(jié)點標簽要求物聯(lián)網(wǎng)設(shè)備始終保持與物聯(lián)網(wǎng)網(wǎng)絡(luò)的連接,具有足夠的計算能力和存儲空間。將協(xié)調(diào)節(jié)點標簽分配給連接壽命長、計算能力低的設(shè)備。
例如,圖2所示的監(jiān)控攝像頭是一個連接壽命長、硬件容量低的設(shè)備,它將被分配一個協(xié)調(diào)節(jié)點。然后,動態(tài)連接和離開這個物聯(lián)網(wǎng)網(wǎng)絡(luò)的設(shè)備被分配了輕量級節(jié)點標簽,允許它們參與這個區(qū)塊鏈系統(tǒng),而不需要全節(jié)點的開銷。將分散的區(qū)塊鏈拓撲結(jié)構(gòu)與身份驗證和記錄相結(jié)合,可以建立物聯(lián)網(wǎng)ID管理系統(tǒng)。該系統(tǒng)可以提高物聯(lián)網(wǎng)網(wǎng)絡(luò)的安全性,減少惡意行為。對于任何偽造身份的攻擊者來說,持續(xù)維護與物聯(lián)網(wǎng)網(wǎng)絡(luò)的連接將變得越來越困難,因為頻繁地偽造不同的身份變得越來越困難和昂貴。此外,考慮到物聯(lián)網(wǎng)設(shè)備硬件配置的困難,一方面可以實現(xiàn)實際的實現(xiàn),另一方面可以進一步構(gòu)建不同層次的信任系統(tǒng)來管理不同設(shè)備的連接。
圖2 帶有標簽設(shè)備和動態(tài)連接的物聯(lián)網(wǎng)網(wǎng)絡(luò)
5 簡要的案例研究
一旦一個新的傳感器節(jié)點想要加入這個區(qū)塊鏈網(wǎng)絡(luò),第一件事就是用它的標簽向協(xié)調(diào)節(jié)點發(fā)送一個請求。如果它是一個完整的節(jié)點,那么在它獲得訪問權(quán)限之前,需要進行高級安全驗證。如果它是一個輕量級節(jié)點,協(xié)調(diào)節(jié)點將分發(fā)一個完整的節(jié)點來為這個新來者服務(wù)。但是,在驗證真實id之前,新來者將無法獲得有效的id進行通信。一旦一個完整的節(jié)點離線,協(xié)調(diào)節(jié)點就會將新的完整節(jié)點分發(fā)給輕量級節(jié)點來維護連接。
在這部分中,我們假設(shè)物聯(lián)網(wǎng)網(wǎng)絡(luò)中存在惡意用戶的威脅模式,該用戶可能通過破解或偽造節(jié)點ID來操縱一個物聯(lián)網(wǎng)節(jié)點,從而試圖訪問物聯(lián)網(wǎng)網(wǎng)絡(luò)。對于第一種情況,攻擊者可能會破壞和控制網(wǎng)絡(luò)中的一個物聯(lián)網(wǎng)節(jié)點。許多惡意行為可能會被物聯(lián)網(wǎng)網(wǎng)絡(luò)中的其他節(jié)點報告。在這種情況下,受影響節(jié)點的ID將被標記并記錄在區(qū)塊鏈系統(tǒng)中的以下塊中。在接下來的時間段內(nèi),更高的安全驗證要求和更低的信任級別將相應(yīng)地進行修改。因此,攻擊者以后再對同一節(jié)點進行攻擊將更加困難。
在另一種情況下,攻擊者使用偽造的ID連接到物聯(lián)網(wǎng)網(wǎng)絡(luò),如果偽造的ID屬于仍處于活動狀態(tài)的物聯(lián)網(wǎng)節(jié)點,則控制器節(jié)點上的驗證過程將拒絕連接,從而將攻擊者拒之門外。即使攻擊者成功地連接到物聯(lián)網(wǎng)網(wǎng)絡(luò),該報告將使偽造的ID被標記為易受攻擊,并從該物聯(lián)網(wǎng)網(wǎng)絡(luò)中屏蔽。如果ID管理系統(tǒng)是有效的,攻擊者將不得不頻繁地更改偽造的ID來維護連接。因此,隨著偽造id成本的增加,將會達到更高的安全級別。
6 討論及下一步工作
使用基于區(qū)塊鏈的物聯(lián)網(wǎng)網(wǎng)絡(luò),我們可以記錄與該物聯(lián)網(wǎng)設(shè)備相關(guān)的所有事務(wù),并存儲在本地。這些信息對于安全目的非常有用。例如,一旦攻擊者想要偽造一個id來加入物聯(lián)網(wǎng)網(wǎng)絡(luò),必須首先分配標簽。如果攻擊者假裝是一個完整的節(jié)點,那么高級安全驗證將發(fā)現(xiàn)他或使攻擊非常昂貴?;蛘?,如果攻擊者只是想假裝成輕量級節(jié)點,這也很難,因為所有的歷史記錄都被記錄了,而且每次攻擊時攻擊者必須再次偽造所有內(nèi)容。然而,未來仍有許多工作要做,即為輕量級節(jié)點定義協(xié)調(diào)和交換協(xié)議。此外,其他情況,如不能信任完整節(jié)點,必須考慮?;趨^(qū)塊鏈拓撲的物聯(lián)網(wǎng)進一步的設(shè)計不僅要管理ID,還要保護物聯(lián)網(wǎng)網(wǎng)絡(luò)中交換的信息。例如,必須設(shè)計數(shù)據(jù)共享和驗證協(xié)議來進一步保證物聯(lián)網(wǎng)網(wǎng)絡(luò)的安全。由于物聯(lián)網(wǎng)設(shè)備的硬件配置差異很大,統(tǒng)一的簡單加密算法難以實現(xiàn),因此認證和驗證對關(guān)節(jié)點數(shù)據(jù)共享的安全性至關(guān)重要。輕量級加密方法也應(yīng)該作為一些特定用例的安全補充方法引入。此外,未來還需要做更多的工作來測試系統(tǒng)性能和在實際物聯(lián)網(wǎng)環(huán)境中部署這種架構(gòu)的實際可能性。
致謝
本文由南京大學(xué)軟件工程系2016本科生徐光耀翻譯轉(zhuǎn)述。