国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于聯(lián)盟鏈的物聯(lián)網(wǎng)跨域認證?

2021-11-09 02:46:08王心妍郭少勇邱雪松
軟件學報 2021年8期
關(guān)鍵詞:跨域校驗網(wǎng)關(guān)

魏 欣 ,王心妍 ,于 卓 ,郭少勇 ,邱雪松

1(網(wǎng)絡與交換技術(shù)國家重點實驗室(北京郵電大學),北京 100876)

2(國網(wǎng)河南省電力公司,河南 鄭州 450000)

3(北京中電普華信息技術(shù)有限公司,北京 100192)

隨著網(wǎng)絡技術(shù)的高速發(fā)展和低成本智能設備的大規(guī)模部署,物聯(lián)網(wǎng)取得了飛速的發(fā)展,對跨系統(tǒng)之間的信息交互提出了需求.傳統(tǒng)物聯(lián)網(wǎng)采用封閉建設模式,不同系統(tǒng)之間存在認證模式不同、證書形式不同等差異,從而造成了顯著的隔離,形成了多個信任域.由于同一信任域內(nèi)的資源已經(jīng)不能滿足用戶和設備的需求,高效簡潔的跨域訪問流程設計成為當下的研究重點.

傳統(tǒng)的跨域訪問流程分為兩類.

?一類采取實時授權(quán)的方式.在這種情況下,雙方信任域的認證CA交互授權(quán)提供短期跨域訪問憑證,這種方式交互復雜,時延較高.

?另一類采取長期授權(quán)的方式,一方CA將另一方CA提供的標準化信息作為登錄信息長期存儲.該類情況下,常有更新不及時導致的信息過期等問題.

以上跨域方式都難以適應物聯(lián)網(wǎng)的低時延高可信的需求,究其根本原因,在于CA之間無法快速達成信任.

區(qū)塊鏈作為一種近年來取得廣泛關(guān)注的分布式信任環(huán)境,可為多CA之間的合作提供標準化的可信任機制,進而實現(xiàn)不同信任域之間的快速認證.但區(qū)塊鏈因其公開透明的特性,在打通多CA之間信任的同時,也增加了隱私泄露的風險.本文針對該問題設計了隱私保護的認證方式,增強了跨域交互過程中的信息保護.

本文所做的貢獻如下:

1)本文設計了一種適用于物聯(lián)網(wǎng)跨域認證的架構(gòu).通過引入邊緣網(wǎng)關(guān),實現(xiàn)對物聯(lián)網(wǎng)設備的接入及管理,提高物聯(lián)網(wǎng)的管理效率,屏蔽底層異構(gòu)性問題.在物聯(lián)網(wǎng)的不同CA之間部署聯(lián)盟鏈,利用多CA共識簡化多信任域之間的認證流程,為物聯(lián)網(wǎng)構(gòu)建了可信的跨域信息交互環(huán)境.通過邊緣網(wǎng)關(guān)實現(xiàn)物的描述及接口上鏈,訪問者可通過調(diào)用智能合約對物進行操作,增強了物聯(lián)網(wǎng)的連通性.

2)本文針對區(qū)塊鏈引入的隱私問題,設計了一種隱私保護的跨域認證.首先,通過預處理設置全局參數(shù),完成全部CA的導入;而后,對邊緣網(wǎng)關(guān)及訪問者執(zhí)行接入認證.訪問者通過邊緣網(wǎng)關(guān)生成匿名身份,使用匿名身份完成校驗.收到訪問請求的邊緣網(wǎng)關(guān),可基于區(qū)塊鏈完成對身份的核驗.經(jīng)過證明,本文設計的跨域認證流程可提供安全高效且保護隱私的認證環(huán)境.

本文第1 節(jié)對基于區(qū)塊鏈的物聯(lián)網(wǎng)跨域交互方案進行總結(jié).第2 節(jié)介紹物、網(wǎng)關(guān)、CA、區(qū)塊鏈之間的整體架構(gòu).第3 節(jié)提供對系統(tǒng)的整體描述以及跨域訪問的流程設計.第4 節(jié)對本文設計的跨域認證流程進行正確性及安全性的證明.第5 節(jié)對提出的方法進行仿真實現(xiàn)并完成了評估.第6 節(jié)總結(jié)全文,并對未來值得關(guān)注的研究方向進行初步探討.

1 相關(guān)工作

區(qū)塊鏈是中本聰提出的一種分布式賬本技術(shù)[1],糅合了P2P 網(wǎng)絡、加密散列技術(shù)、數(shù)字簽名等技術(shù),可用于分布式環(huán)境下的數(shù)據(jù)可信讀寫.在區(qū)塊鏈環(huán)境下,互相不信任的節(jié)點可達成合作,并形成可信的數(shù)據(jù).通常來講,區(qū)塊鏈中的活動可以概括為:用戶通過一堆非對稱加密密鑰獲得身份,并以此簽署交易.網(wǎng)絡中的節(jié)點收集交易,并打包成區(qū)塊鏈接到前一個區(qū)塊.通過共識,網(wǎng)絡中所有節(jié)點維護著完全相同的交易歷史.智能合約是一種特殊的數(shù)據(jù),當被調(diào)用時,將在區(qū)塊鏈上自動且獨立地執(zhí)行對應的腳本.由于記錄在區(qū)塊鏈上的數(shù)據(jù)由全網(wǎng)共享,因此無法進行篡改,可確保數(shù)據(jù)的真實可信.由此,區(qū)塊鏈的可信在互聯(lián)網(wǎng)資源分配中逐漸引起了廣泛重視,如針對IP 及域名資源的分配及管理等[2,3].2014 年,麻省理工的Conner 團隊[4]提出了首個基于區(qū)塊鏈的身份認證系統(tǒng),通過區(qū)塊鏈對用戶的身份證書進行管理.考慮到隱私性問題,Axon 等人[5]通過節(jié)點權(quán)限分級的方式實現(xiàn)了隱私保護的身份認證系統(tǒng).

考慮到物聯(lián)網(wǎng)與互聯(lián)網(wǎng)的相似性,同樣具備著大量互不信任的節(jié)點高效達成信任的需求,引入?yún)^(qū)塊鏈以解決物聯(lián)網(wǎng)的可信問題成為一大研究方向.Christidis 等人[6]分析了區(qū)塊鏈在物聯(lián)網(wǎng)中的適用性,指出區(qū)塊鏈可以為物聯(lián)網(wǎng)提供可信任、可審計的環(huán)境,智能合約可以整合工作流,節(jié)約成本及時間.Kshetri 等人[7]指出,區(qū)塊鏈的分布式處理及可信審計特性,為物聯(lián)網(wǎng)的身份管理及接入控制帶來了巨大便利,可以提高物聯(lián)網(wǎng)的安全性.Tseng 等人[8]指出,區(qū)塊鏈部署于物聯(lián)網(wǎng)中,存在異構(gòu)性、可擴展性、可監(jiān)管性等風險挑戰(zhàn).

在分析區(qū)塊鏈如何用于物聯(lián)網(wǎng)的同時,大量基于區(qū)塊鏈的物聯(lián)網(wǎng)架構(gòu)設計涌現(xiàn).Huh 等人[9]及Alphand 等人[10]利用區(qū)塊鏈對物聯(lián)網(wǎng)身份進行管理、授權(quán),從而驅(qū)動物與物之間的數(shù)據(jù)共享.Sharma PK 等人[11]指出,中心化的云架構(gòu)無法實時對海量數(shù)據(jù)進行處理,難以用于未來的物聯(lián)網(wǎng);而區(qū)塊鏈可以推進分布式可信運行,進而為霧計算提供支撐.Novo 等人[12]提出由管理網(wǎng)關(guān)將WSN 網(wǎng)絡匯聚到區(qū)塊鏈,管理節(jié)點定義智能合約并實現(xiàn)共識.在該設計中,管理網(wǎng)關(guān)用于突破物聯(lián)網(wǎng)設備的限制,實現(xiàn)接口轉(zhuǎn)換,完成物與智能合約的交互.宋文斌[13]、賀毅[14]、梅晨[15]等人在各自的學位論文中設計并實現(xiàn)了基于區(qū)塊鏈的物聯(lián)網(wǎng)身份認證支撐系統(tǒng).但以上設計并未考慮到針對物聯(lián)網(wǎng)中的多信任域造成的連通性問題.

萬雨薇[16]對物聯(lián)網(wǎng)下的跨域認證做了細致的流程分析及設計.Wang 等人[17]設計了跨域場景下的區(qū)塊鏈擴展方案及認證流程.針對基于區(qū)塊鏈的跨異構(gòu)域認證,周致成等人[18]與馬曉婷等人[19]提出了鏈模型、證書格式,實現(xiàn)了跨異構(gòu)域的認證.Lei 等人[20]針對車聯(lián)網(wǎng)中移動性帶來的認證域變化,提出了基于區(qū)塊鏈的動態(tài)密鑰管理方法.但以上方法采用直接將設備信息公開到區(qū)塊鏈,缺乏對隱私的保護機制.Thomas 等人[21]提出了基于聯(lián)盟鏈的匿名身份及訪問控制,但該設計中對于每次跨域請求均上鏈,帶來了巨大的訪問開銷,難以滿足物聯(lián)網(wǎng)的實時性需求.Ma 等人[22]構(gòu)建了基于多鏈的密鑰管理框架,在物聯(lián)網(wǎng)設備注冊時,即將權(quán)限控制策略發(fā)布上鏈,實現(xiàn)對內(nèi)容的權(quán)限訪問,通過主鏈協(xié)調(diào)跨域的訪問請求.Cha 等人[23]針對藍牙低功耗設備設計了網(wǎng)關(guān)的工作流程,并設計了隱私保護設定,當且僅當用戶與發(fā)布到鏈上的設置吻合時可以對設備進行訪問,該設計對身份信息不作保護.Yao 等人[24]通過引入第三方來構(gòu)建區(qū)塊鏈,并針對車聯(lián)網(wǎng)場景研究了面向車聯(lián)網(wǎng)的跨域隱私認證方法,但未能說明第三方提供認證服務的動機.

在以上工作的基礎(chǔ)上,本文設計了適用于物聯(lián)網(wǎng)的區(qū)塊鏈部署架構(gòu),引入原有物聯(lián)網(wǎng)CA作為區(qū)塊鏈共識節(jié)點,邊緣網(wǎng)關(guān)作為區(qū)塊鏈客戶端,為人和物提供服務.在交互過程中,通過邊緣網(wǎng)關(guān)完成身份匿名情況下的校驗,減少跨域認證過程中不必要的隱私泄露.

本文設計的架構(gòu)較傳統(tǒng)架構(gòu)有以下優(yōu)勢.

1)整合了多CA的認證資源,為更豐富的物聯(lián)網(wǎng)服務提供了可能性.相比較傳統(tǒng)CA之間互通困難造成的信任孤島,本文設計的結(jié)構(gòu)打通了認證域之間的隔離,促使不同的物聯(lián)網(wǎng)之間打通隔離;

2)縮短了不同CA的跨域流程,為現(xiàn)有的物聯(lián)網(wǎng)服務提高了效率.傳統(tǒng)CA之間互相多次重定向并簽密,延長了跨域認證所需的時間;本文設計的結(jié)構(gòu)通過智能合約加速了跨域之間的認證,提高了效率.

2 系統(tǒng)設計

本文設計的物聯(lián)網(wǎng)跨域認證總體架構(gòu)與傳統(tǒng)架構(gòu)對比如圖1 所示.

Fig.1 IoT architecture圖1 物聯(lián)網(wǎng)架構(gòu)

在傳統(tǒng)架構(gòu)中,物聯(lián)網(wǎng)不同場景設備通過網(wǎng)絡匯聚到各自位于云端的服務器,云服務器為所在信任域的設備提供信任背書,并對外提供接口提供服務.當需要調(diào)用其余信任域的設備以實現(xiàn)物聯(lián)網(wǎng)服務時,云服務器之間將展開密切的‘請求-校驗-重定向-認證-背書-校驗’合作過程,以確保各方信任域內(nèi)的設備的可信.但是,由于服務通過云服務器提供的接口實現(xiàn)調(diào)用,在設備到云服務器之間可能發(fā)生其余云服務器無法察覺的不可信行為.此外,在跨域的合作中,多個服務器為了確保彼此可信的合作,將帶來大量的通信開銷及時延.因此,傳統(tǒng)架構(gòu)難以滿足物聯(lián)網(wǎng)的高效及可信需求.

本文設計的架構(gòu)如圖1,在傳統(tǒng)基礎(chǔ)上,做了以下改造.

1)在云服務器與物聯(lián)網(wǎng)設備之間增加邊緣層,引入邊緣網(wǎng)關(guān)對設備進行匯聚處理并屏蔽隱私信息,與設備進行最直接的交互.由于跨域認證的計算在邊緣執(zhí)行,對云服務器的依賴性降低,從而降低了認證所需的時延,并減少了對云服務器造成的壓力.通過在接入時對設備進行匿名化處理等操作,設備關(guān)鍵信息僅暴露給邊緣網(wǎng)關(guān),降低了隱私泄露風險.

2)引入聯(lián)盟鏈技術(shù),實現(xiàn)云服務器之間的認證信息透明可信共享.云服務器可為自身信任域的設備及網(wǎng)關(guān)提供注冊、更新及注銷等服務.通過查詢區(qū)塊鏈,可獲取設備及網(wǎng)關(guān)的信息,進而提高跨域認證的效率及可信,從而支撐物聯(lián)網(wǎng)的各項服務.

對于本架構(gòu)的詳細解釋如下.

設備指代是物聯(lián)網(wǎng)中的各類設備,是物聯(lián)網(wǎng)中業(yè)務的實際執(zhí)行者,具有迥異的通信接口和隱私保護需求.打通物聯(lián)網(wǎng)首先需要屏蔽其接口底層的異構(gòu)特性實現(xiàn)管控,同時對其隱私進行保護.本文關(guān)注的重點在于設備的身份隱私及行為隱私,即通過匿名化處理避免顯式的身份信息暴露上鏈;同時,通過更新設備身份信息避免對設備行為的持續(xù)追溯分析.

邊緣層部署網(wǎng)關(guān)對設備進行匯聚,屏蔽底層異構(gòu)特性.根據(jù)Byungseok 等人[25]提出的IoT 網(wǎng)關(guān)概念,IoT 網(wǎng)關(guān)支持各種設備之間的多種通信協(xié)議和數(shù)據(jù)類型,可以實現(xiàn)各種設備之間通信的數(shù)據(jù)格式轉(zhuǎn)換,并以統(tǒng)一的數(shù)據(jù)格式上傳.同時,可將收到的獲取或控制命令映射為生成滿足特定設備通信協(xié)議的消息.網(wǎng)關(guān)僅作為邏輯概念,可部署于某些能力較強的設備上.

區(qū)塊鏈層由傳統(tǒng)架構(gòu)中的云服務器組成聯(lián)盟鏈.作為CA角色,為自身可操控的設備身份及能力提供信任背書,作為區(qū)塊鏈完整節(jié)點,對發(fā)布到鏈上的信息進行共識,提供認證信息的實時共享,從而避免不同CA之間反復重定向帶來的流程冗余及失效等問題.區(qū)塊鏈提供基礎(chǔ)的查詢及寫入功能,節(jié)點之間通過協(xié)商發(fā)布智能合約,并通過調(diào)用合約實現(xiàn)復雜功能.

在本文的設計中,邊緣網(wǎng)關(guān)對設備進行接入后,根據(jù)隱私需求對設備進行匿名化處理,真實身份與匿名身份的映射關(guān)系僅保存在本地;將匿名身份及公鑰簽名后通過智能合約發(fā)布到區(qū)塊鏈完成注冊,從而避免了設備的真實身份泄露.云服務器之間達成共識后,設備的信息可通過智能合約進行查詢及同步.在服務過程中,當網(wǎng)關(guān)收到跨域的調(diào)用請求后,查詢區(qū)塊鏈對請求進行校驗,校驗通過后,執(zhí)行相應操作并返回結(jié)果.為避免設備的狀態(tài)及偏好被分析,網(wǎng)關(guān)可隨時更新設備的公私鑰對,以新的身份參與跨域交互.詳細流程將在下一節(jié)展開介紹.

3 跨域認證機制

本節(jié)首先對系統(tǒng)的運行流程進行設計,包括聯(lián)盟鏈及網(wǎng)關(guān)的初始化、設備的寫入、跨域的訪問過程等.而后對流程中涉及到的交互協(xié)議進行設計,包括網(wǎng)關(guān)寫入到聯(lián)盟鏈的物信息注冊、更新、注銷;網(wǎng)關(guān)從聯(lián)盟鏈讀取的信息查詢;網(wǎng)關(guān)與網(wǎng)關(guān)之間的跨域訪問請求.

3.1 機制描述

本文設計的跨域認證流程與傳統(tǒng)流程相比對比如圖2 所示,紅線框出的部分即為認證階段.為了方便描述,本文將區(qū)塊鏈的節(jié)點配置作為聯(lián)盟鏈初始化部分,網(wǎng)關(guān)配置作為網(wǎng)關(guān)初始化部分;注冊部分將設備接入到網(wǎng)關(guān)并發(fā)布上鏈,認證部分完成設備的跨域交互.

Fig.2 Comparsion between our process and traditional process圖2 本文流程與傳統(tǒng)流程的對比

1.聯(lián)盟鏈初始化

在構(gòu)建基于聯(lián)盟鏈的服務之前,首先對聯(lián)盟鏈進行配置.不同于公有鏈,聯(lián)盟鏈中存在至少一個管理節(jié)點為參與共識的云服務器發(fā)放證書并配置網(wǎng)絡,但管理節(jié)點本身不參與鏈上的業(yè)務.完成配置后,參與共識的各云服務器的身份信息及對應權(quán)限、采用的共識算法、區(qū)塊大小等將寫入創(chuàng)世區(qū)塊,同步到每一個云服務器.此時,云服務器可作為CA對外提供認證服務.由于聯(lián)盟鏈的多中心特性,單個CA癱瘓后,其余CA仍可完成共識,提供服務.此外,創(chuàng)世區(qū)塊中公布的是共識節(jié)點的初始集群,系統(tǒng)的使用過程中,節(jié)點可按照創(chuàng)世區(qū)塊中配置的策略加入或退出集群,更新將在鏈上留下記錄.如CA退出,其之前簽發(fā)的網(wǎng)關(guān)及設備仍在鏈上可查,不影響繼續(xù)使用,但更新需要重新注冊.如部分CA根據(jù)自身的風險感知,認為某CA為大量惡意節(jié)點頒發(fā)了證書或不再具備提供驗證服務的能力,則采用對“該節(jié)點不可信任”達成共識的形式,迫使其退出.與CA主動退出集群的區(qū)別在于,該情況需對該CA自不可信起發(fā)布的全部證書做過期處理.在聯(lián)盟鏈上發(fā)生的業(yè)務將打包成塊鏈接到前一個區(qū)塊,最終可追溯到創(chuàng)世區(qū)塊.

具體流程如下.

1)多個CA協(xié)商生成大素數(shù)q,并利用q生成橢圓曲線群G及生成元P.

2)定義哈希函數(shù)如下:

其中,H0根據(jù)二進制序列和橢圓曲線上的兩個點生成一個不大于q的素數(shù).其余類似.

4)公布q,P,G.類似地,其余CA按照相同方法生成各自的密鑰對.以4 個節(jié)點為例,其余3 個節(jié)點的公鑰為PK2,PK3,PK4.

5)公布系統(tǒng)參數(shù)及各CA的公鑰列表到創(chuàng)世區(qū)塊,同時部署合約支持對CA公鑰列表進行查詢.后續(xù)CA的加入,按照創(chuàng)世區(qū)塊中指定的原則完成:如開放有加入接口,則新的CA調(diào)用注冊獲取到身份及權(quán)限對應證書后,將現(xiàn)有區(qū)塊鏈同步到本地,參與到后續(xù)的認證服務;如未開放接口,則需要管理節(jié)點實現(xiàn)對新CA的添加及部署.

2.網(wǎng)關(guān)初始化

網(wǎng)關(guān)注冊的過程如下.

1)網(wǎng)關(guān)i選擇一個不大于q的整數(shù)作為自己的私鑰,并計算出,向某位可驗證該網(wǎng)關(guān)身份的CA(以CA1 為例)發(fā)送其身份與公鑰,并利用CA1 的公鑰對其進行加密

在這一步的操作中,網(wǎng)關(guān)向CA提交了僅該CA可見的身份,請求驗證.

2)CA1 收到消息后,對其進行解密,并校驗網(wǎng)關(guān)的身份.校驗通過后選擇不大于q的整數(shù)di,并計算:

3.設備注冊到網(wǎng)關(guān)

由于部分啞設備不具備遠距離通信及自主密鑰的管理,網(wǎng)關(guān)協(xié)助CA對設備身份進行管理.鑒于設備與用戶的行為直接相關(guān),隱私敏感,本文分析如下.

1)網(wǎng)關(guān)用于擴展設備的安全及通信能力,與設備直接連接,獲取到的是設備的明文信息.

2)設備的身份及行為與用戶密切相關(guān),有必要對鏈上其余CA及網(wǎng)關(guān)保密.

3)設備本身具有移動性,應確保即使其更換所屬網(wǎng)關(guān),仍可繼續(xù)使用.

在此基礎(chǔ)上,本文為設備設計流程如下.

1)網(wǎng)關(guān)與設備建立連接,獲取到設備的能力fj={method:type},并配置設備的權(quán)限管理策略PRTj.

2)網(wǎng)關(guān)對設備實施匿名化:生成隨機數(shù)w后計算pidj=hash(w+idj),在本地建立身份映射.

3)生成設備j的本地密鑰對并用網(wǎng)關(guān)的域內(nèi)私鑰簽名,完成域內(nèi)注冊.此時,該網(wǎng)關(guān)域內(nèi)的設備可對該新注冊的設備進行訪問.

4)網(wǎng)關(guān)向自己所屬的CA發(fā)出注冊請求,該請求中包含有設備的匿名身份、功能列表、權(quán)限.

5)CA校驗了網(wǎng)關(guān)的簽名后,為設備生成.得到網(wǎng)關(guān)的確認消息及設備信息后,使用設備注冊合約,將設備信息如功能描述、設備公鑰、密鑰版本、密鑰有效期等發(fā)布上鏈.

6)網(wǎng)關(guān)注銷后,由于設備信息仍可在鏈上查到,仍可通過校驗.但由于更新設備信息需要該網(wǎng)關(guān)簽名,因此,如果之前注冊設備時使用的網(wǎng)關(guān)注銷而需要更新權(quán)限規(guī)則或功能列表等信息,需重新注冊到其他網(wǎng)關(guān).

7)設備如需更新,網(wǎng)關(guān)可對更新信息進行簽名并發(fā)布上鏈.注銷是一種特殊的更新:將該設備狀態(tài)更新為不可用.為了避免設備行為被持續(xù)的分析挖掘,可通過對設備進行重新注冊后注銷原ID 進行隱蔽.

4.跨域通信

考慮以下兩種情況.

1)設備自身即具備與外部通信的能力,向非自身所在域的網(wǎng)關(guān)請求調(diào)用其他設備.

2)通過網(wǎng)關(guān)向其余網(wǎng)關(guān)請求對應設備的服務.

對于第1)種情形,當gwm域的設備pidj訪問gwi的資源時,執(zhí)行如下操作:

1)設備利用自己的域內(nèi)私鑰及跨域私鑰并結(jié)合隨機數(shù)完成簽名并加密,而后利用網(wǎng)關(guān)gwi的公鑰對隨機數(shù)進行加密.由j隨機選取兩個不大于q的整數(shù)r1,r2,計算:

2)網(wǎng)關(guān)收到后,首先利用自身身份解密,獲取到設備的簽名及身份.而后對設備的身份展開校驗.

解密過程:

根據(jù)R′恢復原始信息、設備身份pidj及s:

計算哈希值以完成校驗:

第2)種情形與第1)種類似,但以網(wǎng)關(guān)的身份對設備進行調(diào)用.此時,C=H2(R)⊕s.驗證網(wǎng)關(guān)身份后,根據(jù)訪問控制策略決定是否執(zhí)行來自該網(wǎng)關(guān)的指令.

假定m域的設備pidj訪問n域內(nèi)的pidi,跨域訪問流程如下.

3.2 消息協(xié)議設計

設備接入到網(wǎng)關(guān)的底層通信協(xié)議,根據(jù)設備的不同有所不同;但寫入到網(wǎng)關(guān)的上層數(shù)據(jù)格式可統(tǒng)一如下:

設備的信息按照json 格式列出如下.

其中:當設備密鑰由設備自身生成時,填寫加密后的私鑰;由網(wǎng)關(guān)生成,則直接填充密鑰.

權(quán)限許可類型分為3 類:public,protected,private.對于public 設備,可直接發(fā)起調(diào)用;protected 需獲取到本地網(wǎng)關(guān)的許可;private 情形下,需獲取到設備自身的許可.privacy 部分填充密鑰更新的頻率.此字段為空時,說明無需更換.

網(wǎng)關(guān)與CA及聯(lián)盟鏈之間的交互主要包括以下幾項:設備的注冊、更新、以及查詢.

網(wǎng)關(guān)向CA發(fā)起的請求格式如下.

查詢請求的description 字段為空,合約為其返回對應設備的信息.注冊請求需提供設備描述及權(quán)限許可等屬性信息.更新請求的description 字段只包括需要更新的信息.

網(wǎng)關(guān)向網(wǎng)關(guān)發(fā)出的跨域認證請求如下.

此時收到請求的網(wǎng)關(guān)校驗權(quán)限允許之后,執(zhí)行conmandtype 中的函數(shù).

4 認證機制分析

4.1 正確性證明

在第3.1 節(jié)的機制設計中,提出了認證時使用的數(shù)據(jù),被請求的網(wǎng)關(guān)校驗通過后證明該請求來自于合法的網(wǎng)關(guān)或設備.其中,為證明校驗的正確性,證明如下.

根據(jù)設計的協(xié)議,需要證明以下兩處.

?R′=R.即:網(wǎng)關(guān)根據(jù)自身密鑰恢復出的數(shù)據(jù)確為加密前的原始數(shù)據(jù);

?h′=h.即:在數(shù)據(jù)未經(jīng)過篡改的情況下,恢復出的哈希值h′與原數(shù)據(jù)的哈希相同.

對設備與網(wǎng)關(guān)的R與h計算及校驗過程類似,以對設備的校驗為例進行證明.

4.2 安全性證明

針對網(wǎng)關(guān)的安全性分析:在本文設計的架構(gòu)中,設備的隱私保護與跨域訪問校驗均通過網(wǎng)關(guān)完成,因此系統(tǒng)整體安全依賴于網(wǎng)關(guān).網(wǎng)關(guān)的職能在于對單個物理域或信任域內(nèi)的設備進行統(tǒng)一的匯聚及管理,可部署于用戶的個人終端或小型服務器.考慮到用戶通過網(wǎng)關(guān)對設備進行直接操控,攻擊者如攻擊網(wǎng)關(guān)繞過本系統(tǒng)架構(gòu)直接獲取權(quán)限,可認為該網(wǎng)關(guān)已被攻破,注銷該網(wǎng)關(guān)即可.

以下為常見攻擊的分析.

?拒絕服務攻擊:本文設計的架構(gòu)中,利用多CA構(gòu)建基于區(qū)塊鏈的認證服務機制.攻擊單個CA之后,仍可在其余CA維護的區(qū)塊鏈上查詢到正確的網(wǎng)關(guān)及設備信息,抗DDoS 攻擊能力顯著增強.

?偽造攻擊:本處討論對設備的偽造和對網(wǎng)關(guān)的偽造.為了通過偽造攻擊,攻擊者需要偽造一個能夠通過認證的請求信息δ.對于偽造設備,其無法獲得,因此無法生成s,進而無法生成C,無法通過校驗;同理,對于偽造網(wǎng)關(guān),無法獲得,同樣無法通過校驗.由于無法獲得密鑰,即使盜取設備或網(wǎng)關(guān),也無法實施智能卡丟失攻擊.

?內(nèi)部攻擊:由于網(wǎng)關(guān)提交到區(qū)塊鏈的身份以及跨域交互所需的身份僅為設備的公鑰PKT1,PKT2,僅能證明設備合法,無從確認設備的真實身份pid,無法形成內(nèi)部攻擊.僅有直接與設備連接的本地網(wǎng)關(guān)可完成設備公鑰到設備身份的映射.此外,設備可要求網(wǎng)關(guān)對設備的密鑰進行更新,以避免被追蹤.

?重放攻擊:發(fā)布到鏈上的信息帶有時間戳,網(wǎng)關(guān)之間的交互協(xié)議均帶有時間戳,保證消息新鮮.此外,隨機數(shù)部分保證每次發(fā)布的消息均不同.

?中間人攻擊:由于中間人無法實施偽造攻擊將自己偽裝為用戶或網(wǎng)關(guān),也無法實施服務欺騙攻擊提供服務,因而無法實施中間人攻擊竊取信息.

4.3 隱私分析

本文針對的隱私保護在于CA之間數(shù)據(jù)共享造成的跨云服務器之間的數(shù)據(jù)共享,考慮到物聯(lián)網(wǎng)直面用戶的特性,主要隱私涵蓋以下兩處:設備的身份與設備的行為.

?設備的身份隱私:設備的真實身份在網(wǎng)關(guān)處做了匿名化的處理,防止透露個人信息.如網(wǎng)關(guān)i操控的設備中涵蓋了一盞燈,在屏蔽其真實ID 信息進行歸一化處理之后,無法從中推測燈的型號等信息,其余網(wǎng)關(guān)或設備僅知道在獲取相應權(quán)限之后可對其進行狀態(tài)查詢及開關(guān)操作,不存在文獻[10?14]中身份明文上鏈帶來的隱私問題.

?設備的行為隱私:行為泄露來源于兩方面,由于設備僅有必要的描述信息發(fā)布在鏈上,因此規(guī)避了文獻[15]中每次訪問請求均上鏈導致的行為泄露.在交互過程中,全程采用密文傳輸,交互行為僅雙方網(wǎng)關(guān)知曉,避免了明文調(diào)用帶來的危險.

4.4 開銷分析

本文與文獻[18,19]的方案進行對比.在該兩種方案中,CA多方完成校驗之后,將簽署本輪訪問的憑證上鏈,憑證內(nèi)容為在某有效期內(nèi),允許外域的某身份訪問本域.此處針對從A域的身份i發(fā)起請求至獲取到本次訪問所需憑證的計算及通信進行比對見表1 和表2.其中,其他計算指代本文在第3.1 節(jié)中構(gòu)造的加解密計算.

Table 1 Communication consumption表1 通信開銷

Table 2 Computing consumption表2 計算開銷

根據(jù)表1 的通信開銷對比,本文設計的方案在CA之間、網(wǎng)關(guān)之間、網(wǎng)關(guān)到區(qū)塊鏈之間的通信次數(shù)都顯著低于文獻[18,19]提出的方案,在通信開銷上具有顯著優(yōu)勢.

表2 的計算開銷顯示:由于通信次數(shù)少,本文的公私鑰加解密次數(shù)較文獻[19]顯著偏少,但高于文獻[18];而執(zhí)行哈希運算次數(shù)顯著高于文獻[18,19].此外,本方案中涉及到的計算均在網(wǎng)關(guān)展開,認證過程不占用CA資源.

詳細的計算開銷及通信開銷將在第5.2 節(jié)認證階段的實驗中展開比對.

5 實驗設計及分析

在本文中,考慮到網(wǎng)關(guān)與設備距離極近,不考慮網(wǎng)關(guān)到設備之間的傳輸時延.同時,假定網(wǎng)關(guān)-網(wǎng)關(guān)之間、網(wǎng)關(guān)-CA之間的傳輸時延均為T.

聯(lián)盟鏈實驗環(huán)境為部署于金山云上的1 核2G 服務器,Ubuntu 16.04 系統(tǒng).聯(lián)盟鏈采用Hyperledger Fabric 1.4.0,并利用docker 容器部署聯(lián)盟鏈節(jié)點,智能合約采用JavaScript 進行編寫.網(wǎng)關(guān)及CA實驗環(huán)境為Windows10系統(tǒng),CPU 主頻1.6GHz,內(nèi)存4GB.跨域認證流程采用Python3.8 模擬實現(xiàn),實驗數(shù)據(jù)均為運行50 次的平均值.

5.1 注冊階段

在本文中,定義注冊所需的時間為設備請求到設備信息可在鏈上查詢到的時間,分為4 部分:t1為網(wǎng)關(guān)為設備生成密鑰的時間,t2為網(wǎng)關(guān)調(diào)用合約的時間,t3為CA之間達成共識的時間,t4為網(wǎng)關(guān)查詢到合約所需的時間.其中,t1不考慮網(wǎng)關(guān)到設備之間的傳輸時延,t4僅考慮網(wǎng)關(guān)到CA之間的傳輸時延.

由于t1階段與傳統(tǒng)流程無差別以及傳統(tǒng)流程同樣需要寫入及查詢的時間,因此,本節(jié)的實驗模擬僅考慮采用本架構(gòu)后增加的時延t2+t3+t4,即:從請求發(fā)布到鏈,到共識結(jié)束.

對于t2階段,對注冊及更新信息進行打包發(fā)布上鏈.測試結(jié)果表明,對于每個注冊請求,網(wǎng)關(guān)對數(shù)據(jù)進行打包并提交交易的時間約為2 060ms,記作tS,并隨著注冊請求個數(shù)呈現(xiàn)線性增長.假設網(wǎng)關(guān)以固定的時間間隔T進行信息發(fā)布,注冊及更新信息分布服從參數(shù)為λ泊松分布,則每個周期內(nèi)產(chǎn)生的注冊請求個數(shù)為λT.

假設網(wǎng)關(guān)收集注冊請求的時段為[t,t+T],某個設備的請求在t+t0到來,且λt0?ts

考慮到每個收集間隔至少應能打包一份請求,因此存在T0≥ts.由此可知,t2的期望值約為3090ms.

對于t3+t4階段,即數(shù)據(jù)提交上鏈到結(jié)束共識的時間,本文分別對4,6,8 個CA的情形進行模擬,取平均值見表3.實驗結(jié)果表明,本文設計的模式下,注冊從提交到生效僅增加約3.17s 的時延.考慮到注冊環(huán)節(jié)對時延的要求不高,且隨著CA性能提升,該階段的時延可以迅速下降,本文設計的模式仍然具備實用性.

Table 3 Consensus delay表3 共識時延

5.2 認證階段

本節(jié)對本文及文獻[18,19]所設計的跨域認證方案在不同橢圓曲線下進行了模擬.文獻[18]設計的方案中,將各信任域的認證服務器作為區(qū)塊鏈節(jié)點,域間跨域認證通過查詢驗證對方域的根CA證書服務發(fā)布在鏈上的無簽名證書實現(xiàn).但文獻[18]的設計中大量采用明文通信,隱私泄露風險極大.文獻[19]的設計中,基于SM9 國密算法改進了證書的設計,每次完成認證后將本次認證密鑰寫入?yún)^(qū)塊鏈,證書有效期超出之前均可憑借該證書訪問.文獻[19]的設計意味鏈上存儲的是實體之間的交互許可.考慮到區(qū)塊鏈可增可查不可刪改的特性,隨著用戶的增長,將帶來巨大的查詢壓力.本文在文獻[18]的設計理念基礎(chǔ)之上增加了簽名校驗及加解密計算,在高效同時提高了安全性.實驗結(jié)果證明,本文方案的時延損耗在常用的橢圓加密曲線下具有優(yōu)勢.

如圖3 所示,在每種加密曲線中,文獻[19]均帶來最高的時延,文獻[18]產(chǎn)生的時延最小,本文設計產(chǎn)生的時延接近于文獻[18].隨著采用的加密曲線更加復雜,三者之間差距更加明顯.

Fig.3 Time delay comparsions among our method and traditional method圖3 本文時延與傳統(tǒng)時延對比

考慮到CA及區(qū)塊鏈部署于云服務器上,計算性能較強,而網(wǎng)關(guān)及設備能力計算能力較弱,按照第4.4 節(jié)的計算開銷分析再次展開詳細分析.鑒于不同加密曲線下呈現(xiàn)出相同的趨勢,以NIST384p 為例對用戶側(cè)的網(wǎng)關(guān)及設備、服務器側(cè)的CA及區(qū)塊鏈計算時延進行分析.

如圖4 所示,文獻[18,19]的方案中,大部分計算在服務器端完成,通過提高服務器端性能可大幅降低計算時延遲;但由于大量計算部署在服務器端,給網(wǎng)絡帶來了較大的通信開銷.

Fig.4 Time delay of different sides in different ways圖4 不同方法下不同側(cè)的時延

結(jié)合第4.4 節(jié)中表1 的通信開銷分析,以NIST384p 為例,其身份信息為48 字節(jié),簽名長度為104 字節(jié).參照文獻[18]的設定,消息平均長度為24 字節(jié).按照文獻[19]的假設,證書長度為定長16 字節(jié),隨機數(shù)長度為24 字節(jié).則各端通信量分別分析如下:

圖5 計算各端發(fā)出的數(shù)據(jù)量,據(jù)圖可觀察到以下現(xiàn)象.

1)文獻[19]的CA或區(qū)塊鏈發(fā)出的數(shù)據(jù)量最多,本文最少.原因在于,文獻[18]和文獻[19]均需要反復從CA或鏈上獲取到證書信息,而本文僅查詢一次網(wǎng)關(guān)或設備的信息.

2)本地網(wǎng)關(guān)發(fā)出的數(shù)據(jù)三者接近,文獻[19]略高于本文,文獻[18]最低.因此,在請求時未造成網(wǎng)關(guān)的額外負擔.

3)對于目標網(wǎng)關(guān),文獻[19]發(fā)出的數(shù)據(jù)量最多,文獻[18]次之,本文最少.原因在于,本文的目標網(wǎng)關(guān)確認訪問者的身份后,在本地決策是否授權(quán);此外,網(wǎng)關(guān)之間直接通信,減少了通過CA進行中轉(zhuǎn)及轉(zhuǎn)換的環(huán)節(jié).由此可知,收到請求的網(wǎng)關(guān)同樣未給網(wǎng)絡帶來額外壓力.

Fig.5 Outgoing data of different sides in different ways圖5 不同方法下不同側(cè)發(fā)出的數(shù)據(jù)量

圖6 計算各端收到的數(shù)據(jù)量,據(jù)圖可觀察到以下現(xiàn)象.

1)文獻[19]的CA或區(qū)塊鏈收到的數(shù)據(jù)量最多,本文其次,文獻[18]最少.這一點符合常識:認證過程主要從服務器請求判斷憑證而非上傳新的數(shù)據(jù).文獻[19]中不同CA互相確認身份的流程較為復雜,因此交互數(shù)據(jù)量較大.文獻[18]由于認證包含的信息簡單且交互次數(shù)較少,數(shù)據(jù)量最少.本文在簡化認證流程的基礎(chǔ)上增加了用于確保信息安全的操作,數(shù)據(jù)量略高于文獻[18].

2)對于本地網(wǎng)關(guān),文獻[19]收到的數(shù)據(jù)量最多,文獻[18]次之,而本文發(fā)出請求并簽名后僅等待對方提供服務不再確認,因此本地網(wǎng)關(guān)的認證過程不再收到消息.而對于目標網(wǎng)關(guān),文獻[18]收到的數(shù)據(jù)量最多與本文收到的數(shù)據(jù)量持平,文獻[19]最少.

3)對于目標網(wǎng)關(guān),本文與文獻[18]收到的數(shù)據(jù)量持平,而文獻[19]最少.文獻[18]及本文均需攜帶認證信息訪問目標網(wǎng)關(guān),而文獻[19]僅需獲取用戶身份,決定通過校驗后將證書寫入?yún)^(qū)塊鏈.

Fig.6 Incoming data of different sides in different ways圖6 不同方法下各端收到的數(shù)據(jù)量

總體的通信量對比如圖7.可以看到,由于簽名和加解密的環(huán)節(jié)極少,更換加密曲線對文獻[18]幾乎不造成影響;反之,由于簽名和加解密環(huán)節(jié)較多,文獻[19]的開銷隨著加密曲線的復雜迅速上升.本文由于網(wǎng)關(guān)之間直接進行信息交換,僅調(diào)用一次區(qū)塊鏈進行查詢,因此步驟簡潔,開銷較少.

Fig.7 Data volume in different curves圖7 不同加密曲線下總數(shù)據(jù)量

根據(jù)以上的仿真結(jié)果及分析,本文設計的認證方法在時延和通信量上均具有較好的性能.

6 結(jié) 語

本文針對物聯(lián)網(wǎng)建設封閉導致的認證復雜,提出了基于區(qū)塊鏈構(gòu)建多CA合作認證的思想,進而提出了基于聯(lián)盟鏈的跨域物聯(lián)網(wǎng)信任.其核心內(nèi)容是:部署邊緣網(wǎng)關(guān)對兼容物聯(lián)網(wǎng)的多種接入?yún)f(xié)議,同時利用多CA實現(xiàn)網(wǎng)關(guān)可信接入、設備可信校驗,從而大幅度縮減傳統(tǒng)認證模式導致的互操作困難、認證流程復雜、認證系統(tǒng)冗余建設等問題.在提出系統(tǒng)架構(gòu)、部署方式、運行流程的基礎(chǔ)上,設計適用于物聯(lián)網(wǎng)的跨域認證協(xié)議,并對其進行了正確性、安全性及開銷的分析.

但區(qū)塊鏈應用于物聯(lián)網(wǎng)中仍存在大量的風險及挑戰(zhàn):首先,多中心備份的服務方式在促進可信合作的同時,作為完整節(jié)點參與到區(qū)塊鏈,需對鏈上全部信息進行存儲,成本顯著上升;其次,區(qū)塊鏈本身增量不可刪除的特性,也導致其數(shù)據(jù)不斷增長,規(guī)?;瘜嵤┲?查詢效率難以保證;此外,在匿名化保證隱私和身份可認證確??尚胖g存在微妙的平衡,在實際部署中更要參考相關(guān)法律法規(guī)的指導;物聯(lián)網(wǎng)的環(huán)境錯綜復雜,完整節(jié)點難以到達‘最后一公里’確保數(shù)據(jù)可信發(fā)布,而設備常以微弱的計算及安全性能暴露在大量攻擊下,難以保證上鏈的數(shù)據(jù)確實可信.下一步工作將針對網(wǎng)關(guān)及設備的信任評估及權(quán)限控制進行展開,進一步提高網(wǎng)絡的安全性.

猜你喜歡
跨域校驗網(wǎng)關(guān)
跨域異構(gòu)體系對抗聯(lián)合仿真試驗平臺
基于多標簽協(xié)同學習的跨域行人重識別
為群眾辦實事,嶗山區(qū)打出“跨域通辦”組合拳
讀報參考(2022年1期)2022-04-25 00:01:16
G-SRv6 Policy在跨域端到端組網(wǎng)中的應用
科學家(2021年24期)2021-04-25 13:25:34
基于改進RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設計
爐溫均勻性校驗在鑄鍛企業(yè)的應用
LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
移動通信(2015年18期)2015-08-24 07:45:08
應對氣候變化需要打通“網(wǎng)關(guān)”
太陽能(2015年7期)2015-04-12 06:49:50
大型電動機高阻抗差動保護穩(wěn)定校驗研究
電測與儀表(2015年1期)2015-04-09 12:03:02
基于加窗插值FFT的PMU校驗方法
辛集市| 泸水县| 东宁县| 镶黄旗| 璧山县| 东安县| 榆社县| 揭阳市| 辽中县| 宿迁市| 贵溪市| 新化县| 桐梓县| 玉龙| 阿尔山市| 宿迁市| 铅山县| 分宜县| 伊金霍洛旗| 抚州市| 托克托县| 文化| 康定县| 兰西县| 屯留县| 千阳县| 邹城市| 武强县| 宝鸡市| 招远市| 花莲市| 醴陵市| 玛多县| 宁阳县| 沐川县| 方正县| 阳新县| 洛浦县| 宜兰市| 公主岭市| 汪清县|