999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向物聯網的基于智能合約的認證和授權方案

2020-01-14 06:03:46沈海波
計算機應用與軟件 2020年1期
關鍵詞:智能用戶策略

沈海波 陳 強 黃 海

(廣東第二師范學院計算機科學系 廣東 廣州 510303)

0 引 言

物聯網包含大量的設備,這些設備收集、處理環境數據,提供各種資源(如數據、服務、存儲空間、計算單元等)服務。由于:(1) 大多數IoT設備的資源受限性(存儲空間、電池容量、計算能力等都有限),難以實現計算量較大的安全算法;(2) IoT設備通常以無線方式互聯,使得它們更易于遭到各種各校的攻擊,如身份洪泛、消息竊聽、消息篡改等;(3) IoT設備通常是異構的,并且可能具有較強的移動性;因此需要好的認證和授權機制來保證只有被認證和授權的用戶才能訪問請求的資源。為了適應IoT環境的特性,認證和授權機制應該具有如下主要特性[1-2]:(1) 去中心化。IoT網絡通常采用P2P (Peer-to-Peer)架構,不應采用中心化的認證和授權架構,而應使用去中心化的分布式的認證和授權架構。(2) 富有彈性和規模性。IoT設備易于加入和退出;隨著區塊鏈交易的增加,需要解決區塊鏈的存儲空間問題。(3) 防數據篡改。能阻止IoT設備收集的數據在存儲和傳遞過程中被篡改。(4) 輕載性。由于IoT設備的資源受限性,要求信息傳遞和信道安全機制必須是輕載的。但大多數傳統的IoT認證和授權系統通常采用中心化的客戶端(IoT設備)-服務器模式,用戶或IoT設備需要通過服務器(可信第三方)與IoT設備交互,來自大量IoT設備的請求可能造成服務器擁塞,易于造成單點失效,而且也難以解決規模性問題;另外,很多中心化的IoT平臺也沒有提供消息源和目的地的認證機制,易于造成洪泛攻擊。區塊鏈(BlockChain)和智能合約技術給解決上述問題帶來了希望[3-4]。

區塊鏈是一種分布式的不可篡改的交易存儲數據庫(帳本),每個網絡節點維護著交易帳本的副本以防止單點失效;它不需要中心化的機構,消除了對可信第三方驗證的需求[5]。智能合約(Smart Contract,SC)的引入,使區塊鏈進化成為了一個能夠開發分布式的、可信應用的平臺,特別適用于IoT這種P2P分布式網絡[6]。但由于IoT設備的資源受限性,內存空間和處理能力等都有限,不能存儲大量的區塊鏈信息和進行區塊鏈運算,需要在IoT設備與區塊鏈之間引進一個中介——網關(Gateway),作為IoT設備的代理,使得IoT設備能與區塊鏈網絡進行交互[7-8]。許多研究者也對如何將區塊鏈和智能合約技術應用于IoT環境的認證和訪問控制中進行了探究[9-13]。文獻[8]提出利用中介網關的思想,但認證過程沒有采用智能合約來實現;文獻[9]主要利用三個區塊鏈來存儲相關信息,使用共享密鑰而不是智能合約來實現認證,沒有充分利用區塊鏈的計算能力;文獻[10]提出了利用多種智能合約來解決IoT環境的訪問控制和授權問題,但沒有討論認證問題;文獻[11]提出利用中介網關和智能合約來實現IoT訪問控制,并采用基于數字證書的認證機制,但其網關只作為瘦客戶端,不屬于區塊鏈網絡,只起信息傳遞和格式轉換作用;文獻[12]提出利用中介網關產生共享密鑰的方式來實現IoT設備與網關之間的相互認證,但若網關是惡意的,則不能保證IoT訪問控制系統的安全;文獻[13]提出了一種利用智能合約解決IoT設備擁有者與其擁有的IoT設備之間認證問題的方案,并沒有采用網關結構。

本文根據IoT和Ethereum(以太坊)區塊鏈[14]的特點,綜合上述研究思想,通過引入IoT網關作為IoT設備的中心管理節點和公有區塊鏈的全能節點,采用中心化與去中心化相結合、私有區塊鏈和公有區塊鏈相結合、本地局部存儲和外部公共存儲相結合的方法,并充分利用智能合約的計算能力,提出了一個面向IoT的認證和授權方案。該方案提供了利用Ethereum區塊鏈和智能合約來實現IoT設備和IoT網關的多種相互認證方式,并實現用戶對IoT設備中資源及存儲在數據庫中數據的授權訪問,具有去中心化、分布式特點,滿足了規模性和安全性等要求。

1 基于區塊鏈和智能合約的系統架構

我們提出的面向IoT的基于以太坊區塊鏈和智能合約的訪問控制架構如圖1所示。

圖1 訪問控制系統架構

架構中共包括如下不同的主要核心構件:Private IoT Network(專有IoT網絡)、Public IoT Network(公有IoT網絡)、Local Blockchain (局部區塊鏈)、Public Blockchain (公有區塊鏈)、Smart Gateway(智能網關)、Smart Contracts(智能合約)、Local Storage(局部存儲設備)、Public Storage(公有存儲設備)、User Device(用戶設備)。網絡中的網關、公有存儲設備、用戶設備等主要節點都有自己的一對密鑰(公鑰和私鑰)以及由公鑰產生的以太坊地址。各構件的主要功能說明如下:

(1) Private IoT Network。專有IoT網絡可以是智能家居、智能建筑等網絡管理域。每個專有IoT網絡包括由資源擁有者控制的大量IoT Device、一個Smart Gateway、一個Local Blockchain和一個Local Storage。資源擁有者(Resource Owner, RO)負責這些設備的管理(如設備配置和注冊、設備資源訪問策略制定)和局部區塊鏈中智能合約的開發和注冊。Local Blockchain是一個私有區塊鏈,用于存儲專有網絡中各構件之間的交易信息,其中保存有一組Smart Contracts,用于控制該網絡內IoT Device的認證、資源訪問授權決策等。Local Storage是一個存儲設備,用于在Smart Gateway本地局部存儲IoT Device收集的數據。IoT Device一方面通過Gateway向Local Storage發送收集的數據,另一方面可接收Gateway傳遞的命令或消息。每個設備都有一對密鑰:公鑰和私鑰。這些IoT Device本身并不屬于區塊鏈網絡,只是借助網關與區塊鏈網絡連接。

(2) Public IoT Network。公有IoT網絡是指專有IoT網絡之外的網絡,主要包括User Device(用戶設備,如智能手機、平板電腦等,代理用戶與區塊鏈交互)和公有存儲設備(Public Storage)。Public Storage通常是云存儲設備,用于存儲Public Blockchain產生的信息和Private IoT Network中IoT Device收集的數據。它的引入一方面可解決局部區塊鏈的存儲空間問題,另一方面也可提高數據的安全性(當一方數據損壞時,可用另一方恢復),還可將數據與第三方服務提供商共享,以便提供其他方面的服務。

(3) Smart Contracts。智能合約是一個擁有相關代碼(包括可實現某些具體功能的多個函數)和數據的特殊Ethereum帳戶,運行在區塊鏈之上,可不借助可信第三方而實現彼此不信任的雙方之間的協議。一個智能合約被創建并注冊后,就有了Ethereum地址;通過向智能合約的地址發送區塊鏈交易,可觸發智能合約的執行,從而實現設計的相關功能。一個智能合約類似于一個類,包括狀態變量、函數、函數修改器、事件、結構。智能合約也可調用另外的智能合約。我們的Local Blockchain和Public Blockchain都有一組智能合約,用于完成設計的相關功能。Ethereum區塊鏈中,需要使用圖靈完備的專用語言Solidity[15]來開發智能合約;Solidity代碼必須轉換成EVM(Ethereum Virtual Machine)能夠執行的二進制代碼。

(4) Smart Gateway。智能網關在我們的架構中起著至關重要的作用,是一個資源豐富的設備。一方面,在Private IoT Network內,智能網關負責管理該網絡中的所有IoT設備及其之間的交易,如負責設備的注冊認證、負責Local Blockchain和Local Storage的管理、負責驗證設備之間的交易并將它們鏈接到Local Blockchain中。另一方面,智能網關還是公共區塊鏈網絡中的全能節點(相當于礦工),是由智能網關、Public Network節點組成的P2P(Peer-to-Peer)網絡的一個peer,負責公共區塊鏈網絡中交易的驗證并鏈接到Public Blockchain 中,保存有公共區塊鏈的副本;同時,還負責Private IoT Network和Public IoT Network兩種網絡之間的通信。

(5) Public Blockchain。Public Blockchain用于存儲Private IoT Network節點與Public IoT Network節點之間的通信,如Public Storage節點產生的交易和User Device產生的訪問交易。其中也保存有一組相關的Smart Contracts,用于完成指定的功能。

2 基于智能合約的認證和授權過程

2.1 設備注冊與認證過程

所有IoT Devices,特別是新的IoT Device,必須注冊到某一個Private IoT Network。在傳遞數據之前,必須認證到該網絡中的Smart Gateway,以便它們之間能安全傳遞信息??紤]到IoT Device的異構性,我們的系統不要求采取統一的認證方式,而是可采用符合設備特性的任何認證方式,認證過程由認證智能合約(Authentication Smart Contract,ASC)來完成。

2.1.1設備注冊

IoT Device首先向其所在的Smart Gateway發送交易Tx=(m,Sig(m,D.sk)),其中Sig(m,D.sk)表示用設備D的私鑰D.sk對交易消息m的簽名,m的內容為m=(IDx,IDD,EGW.pk(PK,D.pk,DownPort,UpPort))。IDx是交易的序列號;IDD表示設備D的標識符;PK表示是采用公鑰認證的方式,除此外,設備認證方式還可以是共享密鑰認證方式PSK、一次性認證方式OTP、公鑰證書認證方式PKC等;D.pk是D的公鑰,表示對應認證方法PK的認證參數,每種認證方式都有其對應的認證參數;DownPort和UpPort分別是D接收消息和上傳數據的端口號。為保證機密性,相關信息用Smart Gateway的公鑰GW.pk進行加密得到EGW.pk(PK,D.pk,DownPort,UpPort)。

專用網絡中的Smart Gateway對上述交易進行驗證后,將交易信息添加到設備D的區塊中,并將該區塊追加到此網絡的Local Blockchain中。

2.1.2設備認證

IoT Device為了認證到其所在的Smart Gateway并建立安全通信,需要向Smart Gateway發送一個會話建立請求SERep,內容包括:

SERep:(IDD,Hmac(PK,D.pk,Nonce),Nonce)

其中PK是注冊時用的認證方式、D.pk是對應認證方式認證參數,Nonce是隨機數,用于防止重放攻擊。Smart Gateway收到請求后,調用認證智能合約ASC來進行認證,最后向IoT Device返回認證結果。ASC的主要功能是:從Local Blockchain中根據IDD抽取設備的相關參數,計算(PK,D.pk,Nonce)的Hmac值,并與請求中的Hmac值進行比對。若兩個值相等,則認證通過,返回OK消息;否則,返回NOK消息。

2.2 局部區塊鏈中的訪問授權過程

為了實現對IoT Device中資源(如溫度等數據)或Local Storage中數據的授權訪問,我們設計了一組訪問控制合約(Access Control Contract,ACC),使得資源擁有者可實現對資源訪問策略的創建、管理(策略更新、刪除)以及資源訪問授權決策。每個ACC實現某一個用戶對某個設備(即一個主體-客體對)的訪問請求的授權決策,它通過檢查預先定義的訪問策略,判斷用戶的訪問請求是否被許可。訪問策略可用訪問控制列表機制實現,訪問策略列表由ACC維護與使用。ACC提供如下函數來實現策略管理和訪問控制授權決策:

? AddPolicy():創建新的訪問策略,接收新訪問策略的信息并將信息添加到策略列表;

? UpdatePolicy():更新訪問策略,接收需要更新的策略的信息,并更新該策略;

? DeletePolicy():刪除訪問策略,接收需要刪除的策略的信息,并從策略列表中刪除該策略;

? AccessControl():授權決策函數,接收訪問授權請求信息,根據預先定義的訪問策略進行授權決策,并返回決策結果。

利用上述的訪問控制合約ACC,實現用戶對某Private IoT Network內某設備中資源訪問的授權決策的過程,如圖2所示,這是一個授權成功的例子。

圖2 用戶成功訪問設備資源過程

圖2中用戶利用設備首先向Smart Gateway發送一個訪問請求交易Taccess;利用此交易中的信息,Smart Gateway向局部區塊鏈中的智能合約發送授權請求交易Tgetpermission,調用函數AccessControl()進行授權決策。

2.3 公有區塊鏈中的訪問授權過程

當用戶請求訪問Public Storage中的數據時,則需要Public Blockchain來進行授權決策了。類似于Local Blockchain,Public Blockchain中也設計了一組訪問控制合約ACC,用于對Public Storage中的數據的訪問策略的注冊、管理(策略更新、刪除)以及訪問授權決策。Local Storage和Public Storage中的數據,我們用唯一的帳本,保存所有設備產生的數據,其中每一個數據塊中以塊帳本(Block Ledger)的方式保存同一個設備產生的所有數據,這種數據存儲方式及訪問授權過程如圖3所示。

圖3 用戶成功訪問公共存儲數據過程

正如圖3所示,塊帳本(Block Ledger)中SD表示用產生數據的設備Device1的私鑰對數據Date1和其產生時間Time簽名后內容;SGW表示對上述簽名內容再次用網關Gateway A簽名后的內容,主要用于驗證數據的真實性和完整性;HashHeader是該塊塊頭的Hash;HashPrev是前一個塊的Hash。圖3所示的主要過程是:用戶設備向Public Storage發送請求指定數據的交易,Public Storage向公共區塊鏈網絡廣播驗證該請求的授權交易,公共區塊鏈網絡各Gateway節點檢查該數據是否由其管理的設備產生的。如果是,則由該Gateway(圖示為Gateway A,因為Data1是由其管理的設備Device1產生)調用訪問控制智能合約,對訪問請求進行授權決策(即進行策略檢查),并將授權決策結果返回給Public Storage,本例是授權成功。如果許可訪問,Public Storage則給予用戶數據,否則,拒絕用戶請求。

3 結 語

物聯網技術及其應用正受到研究機構、政府、企業的更大關注,但影響物聯網廣泛應用和深入發展的關鍵正是其安全和隱私問題,為此本文提出了一種面向物聯網的基于區塊鏈智能合約和中介網關的訪問控制架構,其中網關起著重要的作用,用來管理資源受限的IoT設備信息的訪問和控制這些設備的通信,并將它們聯接到區塊鏈網絡中。由于采用了中心化與去中心化相結合、私有區塊鏈和公有區塊相結合、本地局部存儲和外部公共相結合的方法,并充分利用了智能合約的計算能力,因此該架構具有去中心化、分布式特點,滿足了認證和授權等安全性要求。特別是根據IoT設備的特點,采用了自適應的認證方式,使得設備易于加入IoT網絡,滿足了IoT規模性的要求。未來將針對智能家居等應用環境實例,進行概念模型驗證,驗證架構的效率。

猜你喜歡
智能用戶策略
例談未知角三角函數值的求解策略
我說你做講策略
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
高中數學復習的具體策略
數學大世界(2018年1期)2018-04-12 05:39:14
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
主站蜘蛛池模板: 国产成人精品18| 激情综合网址| 中文字幕久久亚洲一区| 三区在线视频| 色综合天天综合| 青青青国产视频| 40岁成熟女人牲交片免费| 国产自在线播放| 国产精品久久自在自线观看| 一级爱做片免费观看久久| 日韩免费中文字幕| 伊人福利视频| 黄色网页在线观看| 日本人妻一区二区三区不卡影院| 国产综合色在线视频播放线视| 婷婷色丁香综合激情| 精品伊人久久久久7777人| 尤物视频一区| 国产成人亚洲综合A∨在线播放| 无码免费的亚洲视频| 亚洲侵犯无码网址在线观看| 国产女人喷水视频| 欧美综合成人| 波多野结衣一区二区三区88| 六月婷婷精品视频在线观看| 91九色最新地址| 玖玖精品在线| 精品视频91| 手机在线免费毛片| 99re在线免费视频| 国产成人调教在线视频| 国产97视频在线| 真人高潮娇喘嗯啊在线观看 | 精品国产自在在线在线观看| 丝袜美女被出水视频一区| 精品久久综合1区2区3区激情| 91成人在线观看| 国产成人精品亚洲日本对白优播| 无码人妻免费| 亚洲精品欧美日韩在线| 一级毛片网| 国产无吗一区二区三区在线欢| 国产精品自在自线免费观看| 免费精品一区二区h| 伊人91在线| 欧美精品在线观看视频| 麻豆精品在线播放| 国产欧美日韩免费| 日韩东京热无码人妻| 日韩成人高清无码| 亚洲日本韩在线观看| 欧美日韩中文字幕在线| a毛片在线| 小说 亚洲 无码 精品| 国产精品免费露脸视频| 91无码人妻精品一区| 91免费观看视频| 国产丰满成熟女性性满足视频| 欧美另类精品一区二区三区| 三上悠亚精品二区在线观看| 天堂亚洲网| 9丨情侣偷在线精品国产| 91福利在线看| 日韩专区欧美| 亚洲视屏在线观看| 国产欧美亚洲精品第3页在线| 欧美视频在线播放观看免费福利资源| 亚洲国产黄色| 凹凸国产熟女精品视频| 国产精品爽爽va在线无码观看| 国产在线观看一区二区三区| 免费观看无遮挡www的小视频| 午夜福利亚洲精品| 天天综合天天综合| 亚洲第一中文字幕| 亚洲精品福利视频| 国产波多野结衣中文在线播放| 欧美天天干| 亚洲成在线观看 | 亚洲黄网在线| 国产办公室秘书无码精品| 找国产毛片看|