魏 雙,吳 旭,張 震
(廣西大學 計算機與電子信息學院,南寧 530004)
工業(yè)物聯(lián)網(wǎng)(industrial internet of things,IIoT)是實施中國制造2025戰(zhàn)略的關鍵技術之一[1].IIoT將工業(yè)物聯(lián)網(wǎng)設備(傳感器、控制器或執(zhí)行器等)、移動通信、智能分析等技術融入工業(yè)生產(chǎn)過程,降低管理成本,提高制造產(chǎn)品質(zhì)量.隨著制造過程越來越復雜,很難在一個獨立管理域制造完整的產(chǎn)品,整個制造過程由多個管理域協(xié)作完成已經(jīng)成為一種趨勢.本文定義域為一個自治和獨立的組織(如:一個工廠).在這種多域合作的場景中,來自不同域的設備需要協(xié)作交互,實現(xiàn)生產(chǎn)過程中的數(shù)據(jù)共享和交換.
現(xiàn)有的網(wǎng)絡基礎設施能輕松連接不同域的IIoT設備,但在缺乏信任的情況下,不同域的設備直接通信和協(xié)作會導致生產(chǎn)數(shù)據(jù)泄露,甚至破壞生產(chǎn)過程.因此,在不同管理域的設備之間建立信任十分重要.
在現(xiàn)有的研究工作中,建立信任方法分為兩類.第1類是基于密碼技術[2-5]的身份認證,該類機制通常通過身份認證過程來抵御外部攻擊、保護隱私和建立信任.Shen等人[2]提出基于區(qū)塊鏈的工業(yè)物聯(lián)網(wǎng)跨域認證機制,采用身份簽名方法進行身份驗證,若身份合法,則認為該設備是可信的.此外,作者為保護IIoT設備的身份隱私,采用假名技術,使得被認證的設備保持匿名.Hakeem等人[3]為車聯(lián)網(wǎng)提出一種輕量級的認證和隱私保護方法,使用生物識別和防篡改兩大安全硬件設備驗證程序和安全保存密鑰,使用哈希鏈密鑰對每條傳輸?shù)南⑦M行簽名和驗證,提高安全級別.第2類是信任管理[6-8],利用設備過去的行為、其它設備的推薦或其它因素來評估設備的信任值.Boudagdigue等人[6]提出適用于工業(yè)環(huán)境的動態(tài)信任管理模型,作者從合作、直接信任和間接信任3個方面評估設備的信任值,信任值越高的設備越可靠.Khan等人[7]為工業(yè)物聯(lián)網(wǎng)提出基于中性加權乘積法的信任模型.應用程序基于空間知識、時間經(jīng)驗和行為模式評估IIoT設備的信任值.實驗結果表明,該方法能夠準確地檢測出IIoT設備的錯誤行為.
然而,這些研究工作僅針對身份認證和信任管理中的一個領域展開研究,直接應用到IIoT跨域合作場景存在以下限制:1)采用匿名身份認證技術可以識別已授權的IIoT設備和防止泄露身份隱私.但無法動態(tài)衡量匿名設備的可信度,一些具有合法匿名身份的IIoT設備依然可以發(fā)起攻擊,破壞生產(chǎn)過程和泄露生產(chǎn)數(shù)據(jù).2)采用信任管理技術可以動態(tài)衡量IIoT設備的可信度,并且及時識別出惡意設備.然而,大部分信任管理研究工作只關注信任評估方法的改進,忽略對用戶身份的認證及身份隱私的保護.在工業(yè)物聯(lián)網(wǎng)中,一個IIoT設備可能涉及多個任務,設備身份會泄露設備的隱私[2].例如:攻擊者通過攔截來自設備發(fā)送的消息包,從中知道設備訪問了哪種類型的服務或者與誰通信.
此外,一個合理的管理架構有助于提高管理效率和保證管理機制的安全性.Abdel等人[9]和Din等人[10]分別提出密鑰生成協(xié)議和輕量級的信任管理機制,它們需要依靠管理器和信任代理等可信的第三方,存在單點故障問題.Altaf等人[11]提出了一個分布式信任管理模型來過濾IIoT網(wǎng)絡中的惡意節(jié)點,每個節(jié)點根據(jù)上下文相似節(jié)點的推薦信任計算服務節(jié)點的信任值.然而,每個節(jié)點的信任數(shù)據(jù)視圖不一致,且推薦信任可能不可靠.區(qū)塊鏈由于具有去中心化、不可篡改和可追溯性的特點[12],被許多作者用來解決IIoT中信任管理和身份認證的挑戰(zhàn).Li等人[13]和Wu等人[14]分別引入?yún)^(qū)塊鏈來安全地共享簽名所需要的加密材料和信任數(shù)據(jù).在他們的方法中,任何認證信息和信任信息的更新都可以被跟蹤,并且除非得到大多數(shù)人的批準,否則無法生效.然而,IIoT設備的計算和存儲能力有限.當IIoT設備直接與區(qū)塊鏈集成時,會出現(xiàn)許多性能問題.例如,區(qū)塊鏈要求每個參與者必須存儲區(qū)塊鏈賬本,以保證一致性.隨著賬本容量的增加,存儲開銷也會增加.Wu等人[15]提到區(qū)塊鏈和邊緣計算的融合可以實現(xiàn)IIoT中安全、可擴展的關鍵基礎設施.Kouicem等人[16]和Guo等人[17]利用邊緣計算技術增強區(qū)塊鏈節(jié)點的計算和存儲能力.然而,這兩種方法都是單鏈結構,它們存在以下限制:首先,區(qū)塊大小被限制為一定的大小[2],并且單鏈串行處理事務,這些特性會導致低吞吐量.其次,由于不同域內(nèi)設備的信任管理和認證機制存在異構性,即設備的認證和信任信息不同,單鏈架構導致多個域的信任數(shù)據(jù)和身份信息混亂.
針對上述挑戰(zhàn),本文提出主從鏈架構實現(xiàn)可擴展的跨域信任認證機制(MSBCTA).每個域部署一條只存儲本域交易的從鏈,這減少了IIoT設備保存區(qū)塊鏈賬本的存儲開銷.多個鏈可以并行、獨立地處理交易,提高了交易吞吐量.主鏈由所有域的邊緣設備維護,共享所有設備的信任票據(jù).不同域的IIoT設備通過信任票據(jù)實現(xiàn)匿名身份認證和信任管理.本文主要貢獻:
1)設計一種邊緣計算集成的主從鏈框架,以提供靈活且可擴展的跨域信任認證機制,多條區(qū)塊鏈可以并行、獨立處理事務,提高了交易吞吐量和降低共識過程中的通信開銷.
2)提出一個隱私增強的跨域信任認證機制,采用信任票據(jù)巧妙地組合身份認證和信任管理方法,既實現(xiàn)IIoT設備跨域匿名認證,保護設備身份隱私,又能動態(tài)地評估設備的可信度.
3)為降低跨域認證過程中的計算開銷,基于單向哈希鏈實現(xiàn)匿名身份認證和密鑰協(xié)商方法.
4)為解決不同域信任評估方法異構性問題,提出基于模糊邏輯推理的可信度等級評估算法.
本節(jié)介紹了MSBCTA機制的架構和安全模型.
目前大多數(shù)區(qū)塊鏈應用都是單鏈架構,每個節(jié)點保存完整的區(qū)塊鏈賬本,并執(zhí)行重復的計算任務以達成共識.在大規(guī)模的IIoT多域場景中,設備頻繁的交互產(chǎn)生大量的交易,然而單鏈串行處理交易會導致低吞吐量.另外,每個域的信任管理和認證策略不同,單鏈架構很難支持不同的信任管理和認證需求.為此,本文設計了主從鏈架構.如圖1所示,主從鏈架構分為兩層,上層為主鏈,下層為多條從鏈.從鏈隔離不同域的信任和身份信息,主鏈共享特定信息,其組成部分如下:
圖1 架構Fig.1 Architecture
1)IIoT域:每個域包含IIoT設備、從鏈和邊緣設備.IIoT域表示為Do={Do1,Do2,…,Dop}.
2)IIoT設備:每個IIoT設備可以是服務的請求者或提供者.IIoT設備表示為d={d1,d2,…,dn}.
3)邊緣設備:具有較強計算和存儲能力的設備(如網(wǎng)關、基站等[15]),被部署在每個IIoT域中.不同域的邊緣設備可以相互通信,并負責維護主鏈.邊緣設備被表示為Eg={Eg1,Eg2,…,Egm}.邊緣設備需要保存兩種區(qū)塊鏈賬本:本地域內(nèi)的從鏈和主鏈.本文假設大部分邊緣設備是誠實的.
4)從鏈:每個IIoT域都有一條從鏈,存儲域內(nèi)設備的身份和信任信息.這些從鏈并行工作以提高事務吞吐量.此外,智能合約TTM(信任票據(jù)生成)被部署到所有域的從鏈中,用于生成IIoT設備的信任票據(jù).
5)主鏈:主鏈由邊緣設備維護,存儲所有IIoT設備的信任票據(jù).不同域的設備可以通過主鏈獲取其他設備的信任票據(jù).
MSBCTA機制的安全性需要滿足跨域相互認證、匿名性、消息完整性和機密性、設備可信性、抗中間人攻擊.
1)跨域相互認證:位于不同域的IIoT設備能在沒有第三方可信機構的情況下,進行相互認證,防止外部惡意設備發(fā)起諸如分布式拒絕服務(DDOS)的外部攻擊.
2)匿名性:盡管不同域中的IIoT設備可以跨域合作,但這些設備很可能不愿向其它設備公開身份,因為它們不在同一個域中,需要最大限度保護身份隱私,身份信息可能會影響制造過程,因此,IIoT設備跨域交互需要保證身份的匿名性.
3)消息完整性和機密性:IIoT設備進行跨域信任認證后,進行協(xié)作和分享生產(chǎn)數(shù)據(jù).消息內(nèi)容通過Internet網(wǎng)絡等不安全通道傳輸,導致消息內(nèi)容被攻擊者竊聽和篡改.因此,MSBCTA機制需要保證消息完整性和機密性.
4)設備可信性:IIoT設備進行跨域協(xié)作,除了確保設備身份合法,還需要準確評估設備的信任值,確保協(xié)作設備的可信性,防止一些身份合法的IIoT設備發(fā)起諸如惡意服務行為的內(nèi)部攻擊.
5)抗中間人攻擊:攻擊者攔截IIoT設備之間的通信,并偽裝成通信雙方.不同域的IIoT設備協(xié)作和通信,分享生產(chǎn)數(shù)據(jù).若遭遇中間人攻擊,導致生產(chǎn)數(shù)據(jù)的泄露或被篡改,影響制造過程.
域內(nèi)信任評估機制已有很多研究工作,本文只關注跨域信任的建立.具有合法身份的IIoT設備可能提供虛假信息,破壞制造過程,因此,在不同域的設備之間建立動態(tài)的信任非常重要.MSBCTA使用信任票據(jù)建立跨域信任,其中信任票據(jù)由智能合約TTM生成,TTM包含兩個函數(shù):可信度等級評估GtCl(·)和票據(jù)生成GtTTick(·).如算法1所示,GtCl(·)用于評估IIoT設備的可信度等級.考慮到不同域的信任管理機制存在異構性,本文使用模糊邏輯推理方法在不同域IIoT設備間建立統(tǒng)一的信任描述.所有IIoT設備的可信度被分為{High,Medium,Low}3個等級.
1) 信譽:從從鏈中提取IIoT設備di的信譽信息RIi(t),根據(jù)域內(nèi)信譽評估方法F(x)計算設備di在t時的信譽值Ri(t),如公式(1)所示:
Ri(t)=F(RIi)
(1)
MSBCTA在實際應用時能適應不同的信譽評估算法,即F(x)為不同域內(nèi)信任評估算法,如Boudagdigue等人[6],Khan等人[7],張帆等人[18]等.本文使用經(jīng)典的Beta信譽計算方法[19].假設設備di與其它IIoT設備(表示為:Cr={Cr1,Cr2,…,Crn})協(xié)作交互.Cr中的設備在每一次協(xié)作交互后根據(jù)設備di真實的表現(xiàn)(服務質(zhì)量,如:響應時間)給出一個反饋Fb(Good 或 Bad),該反饋由反饋者的私鑰進行簽名并且以交易的形式存儲在本地從鏈中,公式(1)中的RIi(t)代表與設備di相關的反饋信息.因此,設備di的信譽值Ri(t)如公式(2)所示:
(2)
(3)
其中,RCrj→i(t)是Crj對di的信任值,αCrj→i和βCrj→i分別是FbCrj→i=good和FbCrj→i=bad的累積數(shù)量,αCrj→i和βCrj→i初始化為0.信譽的取值范圍為0-1.
2) 共識貢獻度:為了激勵IIoT設備積極參與從鏈的共識過程,共識貢獻度被認為是可信度水平評估的一個因素,設備di的共識貢獻度Ci(t)如公式(4)所示:
(4)
(5)
(6)
(7)
信譽和共識貢獻度模糊集合分別是{RH,RM,RL}和{CMore,CMedium,CLess}.使用梯度隸屬函數(shù)[20]將清晰的Ri和Ci映射到模糊集中.
模糊邏輯推理輸出變量為綜合信譽值CRi,同樣也采用梯度隸屬函數(shù),其模糊集為{High-Trust,Medium-Trust,Low-Trust},表1為模糊推理規(guī)則.
表1 模糊推理規(guī)則Table 1 Fuzzy inference rule
使用Middle of Maximum(MoM)[21]去模糊化方法得到綜合信譽值CRi.根據(jù)CRi,IIoT設備被分類為{High,Medium,Low},可信度等級CL計算如公式(8)所示:
(8)
算法1.可信度等級評估GtCl(·).
輸入:IIoT設備di,從鏈賬本SCL,域內(nèi)信譽評估方法F(x),時間段ΔT,參數(shù)?,r,thrp,thrv;歷史共識貢獻度C(t-ΔT).
輸出:di的可信度等級CLdi.
2.Ri(t)=F(RIi);//使用公式(2)和公式(3)計算信譽值
5.Ri(t)→{RH,RM,RL}//信譽模糊化
6.Ci(t)→{CMore,CMedium,CLess};//共識貢獻度模糊化
7.應用表1 模糊推理規(guī)則;
8.CRi←MOM(·);//使用MOM去模糊化
9.ifCRi≥0.75 then
10.CLdi=′High′;
11.else ifCRi≥0.45 andCRi<0.75 then
12.CLdi=′Medium′;
13.else
14.CLdi=′Low′
15.end if
本節(jié)將詳細描述MSBCTA機制具體過程.
3.1.1 系統(tǒng)參數(shù)
由于域內(nèi)的身份認證機制已有大量的研究工作,本文只關注跨域身份認證.在系統(tǒng)初始化階段,所有設備都進行域內(nèi)身份注冊,并將身份信息存儲到每個域的從鏈中.每個IIoT設備和邊緣設備都具有一個永久密鑰對(PK,SK)和真實身份Id.注冊完成后,系統(tǒng)告知所有IIoT設備用于跨域身份認證所需要系統(tǒng)參數(shù),這些系統(tǒng)參數(shù)所有設備都會接收和認可.系統(tǒng)參數(shù)如下:
2)h(·)是密碼哈希函數(shù),該函數(shù)能將任何長度的字符串映射到固定長度的字符串.
3)H(·)是單向哈希函數(shù),集合{0,1,…,q-1}映射到自身,H(·)可能來源于h(·).
3.1.2 單向哈希鏈
單向哈希鏈是根據(jù)給定的種子和單向哈希函數(shù),對該種子連續(xù)應用哈希函數(shù)生成稱為哈希鏈的哈希值集合[22].哈希鏈的特點是在計算上不可能反轉.此外,哈希運算計算量少,通過哈希鏈進行認證,能避免傳統(tǒng)公鑰密碼體制復雜的加密和解密計算.本文使用單向哈希鏈為IIoT設備生成多對臨時公鑰,并進行身份認證和密鑰協(xié)商.
IIoT設備di選擇一個種子s和一個編號Nu,其中s∈{0,1,…,q-1},重復使用單向哈希函數(shù)H(·)對種子s進行哈希運算,生成Nu個哈希值形成哈希鏈,如公式(9)所示:
HNu(s)←HNu-1(s)…←Hk(s)…←H1(s)←s
(9)
其中HNu(s)是哈希鏈的頂端,通過對Hk(s)進行哈希運算得到Hk+1(s),即Hk+1(s)=H(Hk(s)).但Hk(s)無法反向計算得到Hk-1(s).最后,設備di根據(jù)哈希鏈計算檢查值Ψdi,該檢查值后續(xù)存入信任票據(jù)中.
(10)
此外,設備di可以根據(jù)哈希鏈生成Nu個不同的臨時公鑰,其中第k個臨時公鑰如公式(11)所示.為降低計算開銷,設備di在每一次跨域認證前只需生成一個臨時公鑰.
(11)
3.1.3 假名身份生成
本文采用假名方法[23]保護IIoT設備的身份隱私,設備di隨機生成一個數(shù)字rdi,并計算假名Piddi=h(Iddi‖rdi),其中Iddi是設備di的真實身份,存儲在所屬域的從鏈賬本中.為了保證IIoT設備身份不被追蹤,通常假名有效期較短.
IIoT設備di生成假名Piddi、單向哈希鏈、檢查值Ψdi后,發(fā)送信任票據(jù)生成請求Rq給周圍的邊緣設備,該請求內(nèi)容包括Piddi和Ψdi.邊緣設備觸發(fā)TTM智能合約為設備di生成信任票據(jù),首先調(diào)用GtCl(·)函數(shù)評估di可信度等級,再調(diào)用GtTTick(·)函數(shù)為IIoT設備di生成信任票據(jù)TTickdi.算法2展示GtTTick(·)函數(shù).圖2為一個信任票據(jù)示意圖,其中包括票據(jù)編號、假名、檢查值、可信度等級、時間戳、有效期.時間戳Tspdi是信任票據(jù)生成時的時間戳,有效期tdi為信任票據(jù)的有效時長.
圖2 信任票據(jù)Fig.2 Trust ticket
算法2.票據(jù)生成函數(shù)GtTTick(·).
輸入:IIoT設備di,假名Piddi,檢查值Ψdi,有效期ΔT;
輸出:di的信任票據(jù)TTickdi.
1.Tspdi=GetTimestamp(); //獲取當前時間戳
2.CLdi←GtCl(·);//算法1計算可信度等級
3.Ndi=join(Tsp,rand);//join連接函數(shù),為一個序號
4.tdi←(Tsp,Tsp+ΔT);//有效期
5.TTickdi←(Ndi,Piddi,Ψdi,CLdi,tdi)
IIoT域內(nèi)所有成員通過實用拜占庭容錯算法PBFT共識過程[24]驗證信任票據(jù),并將其存儲到從鏈賬本中.為了能讓信任票據(jù)在不同域中共享,信任票據(jù)被存儲到主鏈中.IIoT域中所有邊緣設備將本域IIoT設備最新信任票據(jù)發(fā)送到主鏈網(wǎng)絡,主鏈所有節(jié)點通過PBFT共識過程對信任票據(jù)進行驗證,并存儲到主鏈賬本中.傳統(tǒng)的PBFT共識協(xié)議是C/S模式,為了更加適用于本文所提出的主從鏈架構,本文將PBFT共識協(xié)議改為P2P模式.改進的共識過程主要包括主節(jié)點選擇、區(qū)塊打包、共識協(xié)商過程.
1)主節(jié)點選擇和區(qū)塊打包
假設有n個區(qū)塊鏈節(jié)點,編號為0到n-1.每個節(jié)點都有相同的共識狀態(tài),稱為視圖[24].采用PBFT輪換機制選擇主節(jié)點,假設當前視圖為vnew,則該輪共識主節(jié)點為lnew=vnew%n,主節(jié)點lnew將未上鏈的交易打包成一個區(qū)塊b.
2)共識協(xié)商過程
如圖3所示 ,該過程分為預準備、準備、提交3個階段.
圖3 共識過程Fig.3 Consensus process
預準備階段:主節(jié)點lnew發(fā)預準備消息<
準備階段:當區(qū)塊鏈節(jié)點收到超過(2/3)*n來自其它節(jié)點一致的準備消息,則廣播確認消息<
確認階段:當區(qū)塊鏈節(jié)點收到超過(2/3)*n來自其它節(jié)點一致的確認消息,則說明區(qū)塊b通過共識驗證,并將區(qū)塊添加到鏈中,共識過程結束.
為了保證信任票據(jù)的時效性,本文采用時間驅動更新方法.每隔ΔT時間,IIoT設備向域內(nèi)邊緣設備發(fā)送信任票據(jù)更新請求,邊緣設備調(diào)用智能合約TTM為該設備生成新的信任票據(jù).
不同域的IIoT設備通過信任票據(jù)實現(xiàn)跨域信任認證,并通過密鑰協(xié)商生成對稱密鑰,為后續(xù)合作建立安全的通信通道.以域Do1的IIoT設備di與Do2的IIoT設備dj跨域協(xié)作為例.圖4展示信任認證和密鑰協(xié)商過程,主要階段如下:
圖4 信任認證和密鑰協(xié)商的過程Fig.4 Process of trust authentication and key negotiation
1)請求階段
2)信任票據(jù)查詢階段
dj收到di發(fā)送的消息,需要獲得di的信任票據(jù),以此來確認di的身份和可信度.dj查詢di信任票據(jù)TTickdi過程如下:
①dj向域Do2內(nèi)所有的邊緣設備發(fā)起一個查詢請求,查詢設備di的信任票據(jù).假設域Do2有m個邊緣設備.
②域Do2內(nèi)的邊緣設備從主鏈賬本中查找設備di的信任票據(jù)TTickdi.邊緣設備使用自己的私鑰對查詢結果TTickdi簽名,并將簽名和查詢結果發(fā)送給設備dj.
3)身份驗證和信任建立階段
在信任票據(jù)查詢階段,設備dj獲得設備di的信任票據(jù)TTickdi.從信任票據(jù)中可以獲得設備的假名Piddi、檢查值Ψdi,可信度等級CLdi、信任票據(jù)有效期tdi.dj首先判斷信任票據(jù)是否過期,若已過期,則發(fā)送拒絕消息給di.否則,dj計算:
(12)
4)對稱密鑰生成階段
本節(jié)對MSBCTA機制進行安全性分析,并于文獻[2],[4],[5],[23]所提出的方法進行對比,如表2所示.
表2 安全屬性對比Table 2 Comparison of security attributes
1)跨域相互認證:MSBCTA機制能保證IIoT設備跨域相互認證.如3.4節(jié)所述,IIoT設備通過主鏈獲得其他域IIoT設備的信任票據(jù),從中獲取檢查值Ψ,通過計算和判斷Ψ=h(Ψ*)是否成立,來驗證消息發(fā)送者的身份.其次,建立會話密鑰后,IIoT設備通過會話密鑰進行通信和互相認證.通過設備的相互認證,IIoT設備可以準確判斷協(xié)作設備身份的合法性,從而抵御外部惡意設備的攻擊.
2)匿名性:為滿足IIoT設備身份隱私保護要求,每一次跨域協(xié)作,IIoT設備都隱藏真實的身份屬性,通過假名和其他域的設備進行協(xié)作交互,攻擊者Λ無法獲取真實身份Iddi.此外,每次生成新的信任票據(jù),都會產(chǎn)生新的假名,攻擊者Λ很難跟蹤IIoT設備.
3)消息完整性和機密性:在MSBCTA機制中,來自不同的IIoT設備進行信任認證和密鑰協(xié)商后生成會話密鑰SK,后續(xù)的通信都使用SK進行端到端的加密和解密.因此攻擊者Λ想獲取或篡改消息內(nèi)容,只能獲得SK.然而SK由IIoT設備自身安全的保存,攻擊者無法獲得.因此,MSBCTA機制保證了消息完整性和機密性.
4)設備可信性:本文提出跨域信任評估方法,評估每一個IIoT設備的可信度等級.并且存放在信任票據(jù)中.IIoT設備從信任票據(jù)中獲得其他域IIoT設備的可信度等級,通過可信度等級判斷IIoT設備是否可信,并拒絕沒有達到自身可信度等級要求的IIoT設備.一些IIOT設備具備合理身份,但依然可以發(fā)起惡意攻擊,比如:低質(zhì)量的服務、發(fā)送大量冗余信息、拒絕服務DOS攻擊等,MSBCTA機制動態(tài)評估每一個IIoT設備的可信度,以此識別內(nèi)部惡意設備,抵御部分內(nèi)部攻擊.
MSBCTA機制滿足以上5項安全屬性,然而文獻[2]和文獻[4]只關注跨域身份認證機制的研究,忽略設備的可信性,文獻[5]在跨域認證機制的基礎上,增加一個問責機制,能動態(tài)懲罰行為不當?shù)挠脩?但作者沒有考慮用戶匿名性.文獻[23]所提出的機制僅適用于域內(nèi)相互認證,其次作者也忽略了設備可信性.
本節(jié)將從計算開銷、可信度評估準確性、吞吐量、通信開銷4個方面對MSBCTA機制進行性能評估.
MSBCTA機制采用單向哈希鏈實現(xiàn)身份認證和密鑰協(xié)商,具有低計算開銷的優(yōu)點.本節(jié)首先分別評估MSBCTA機制中檢查值Ψ、公鑰集的計算開銷,再與BASA機制[2]、Zhang等人[4]所提出的機制(命名為MFA)進行對比.該模擬實驗在處理器內(nèi)存16G 的Intel(R)Core(TM)i7-8565U和Windows10組成的硬件平臺進行,實驗參數(shù)設置如表3所示.
表3 參數(shù)設置Table 3 Parameter settings
生成檢查值主要包括一次冪運算和多次乘法運算.圖5(a)顯示檢查值Ψ的計算開銷.Nu為哈希鏈的長度.檢查值Ψ的計算開銷與Nu成正比.當Nu=600時,檢查值的計算開銷約為12.4ms.圖5(b)顯示生成多對公鑰(公鑰集)的計算開銷.如3.1節(jié)所述,IIoT設備可以根據(jù)哈希鏈生成多對公鑰,Nu是哈希鏈的長度,也是公鑰的個數(shù).從圖5(b)的實驗結果可以看出,公鑰集計算開銷隨著Nu的增加而增加,生成600對公鑰大約需要5.9s,遠大于Ψ的計算開銷,這主要因為生成公鑰集進行多次冪運算.
圖5 計算開銷的評估結果Fig.5 Evaluation results of computation costs
本節(jié)比較MSBCTA機制、BASA機制[2]和MFA機制[4]的計算開銷.在實驗過程中,設置MSBCTA機制Nu為100,忽略一些開銷太小的計算(如:可信度等級計算開銷、整數(shù)加減乘除等).MSBCTA機制在認證和密鑰協(xié)商過程主要包括4次冪運算和多次哈希運算.BASA機制[2]中,IIoT設備的主要計算開銷包括3次標量乘法、1次冪運算及多次哈希運算.在MFA機制[4]中,IIoT設備的主要計算開銷包括6次標量乘法、2次冪運算及多次哈希運算.圖5(c)顯示不同機制IIoT設備在認證和密鑰協(xié)商階段的計算開銷.從實驗結果可以看出3種機制的計算開銷隨著IIoT設備數(shù)量的增多而增大,其中MFA機制的計算開銷明顯高于MSBCTA與BASA機制,這主要是因為MFA機制需要進行多次標量乘法運算.MSBCTA與BASA機制的IIoT設備計算開銷非常接近,這是因為BASA機制將認證過程中雙線性對和多次標量乘法等繁重的計算分配給可信的第三方服務器(如:密鑰生成中心).然而,本文的MSBCTA機制認證和密碼協(xié)商主要計算開銷由認證雙方完成,且IIoT設備的計算開銷依然很低.因此,基于單向哈希鏈的MSBCTA機制有效降低了認證和密鑰協(xié)商過程中的計算開銷.
為了驗證所提出的跨域信任評估方法的效果,本節(jié)通過實驗分析可信度評估準確性.在實驗過程中,采用本文第2節(jié)描述的Beta信譽計算方法作為域內(nèi)信譽評估方法F(x).圖6給出一個誠實節(jié)點和兩個惡意節(jié)點的可信度等級評估結果.其中誠實節(jié)點在實驗中一直提供好的服務,真實可信度等級恒定為High.第1個惡意節(jié)點總是提供壞的服務,它的真實可信度等級恒定為Low.第2個惡意執(zhí)行機會主義服務攻擊,該節(jié)點機會性地提供良好的服務,提高其可信度等級,然而,當它具有較高的可信度等級時,可能會提供較差的服務.它的真實可信度等級在模擬過程中由High降低到Low.
圖6 惡意節(jié)點和誠實節(jié)點的可信度等級評估結果Fig.6 Results of credibility level evaluation for Honest or malicious node
圖6(a)為誠實節(jié)點可信度等級評估結果.從圖中可以看出,該誠實節(jié)點的可信度等級隨著時間單元的增加而增加,最終與真實可信度等級High保持一致.
圖6(b)為第1個惡意節(jié)點可信度等級評估結果,該惡意節(jié)點一直提供壞的服務.隨著時間單元的增加,該惡意節(jié)點的可信度等級從最初的Medium快速下降到真實可信度等級Low.由此可以推斷本文方法能快速識別惡意設備.
圖6(c)為第2個進行機會性服務攻擊的惡意節(jié)點可信度等級評估結果.當該惡意節(jié)點的真實可信度等級從High轉變?yōu)長ow時,本方法的評估結果也隨之下降,可信度等級評估結果從High降低到Medium,最后收斂于新的真實可信度等級Low.
通過以上實驗結果表明,MSBCTA機制能夠準確地評估每個節(jié)點的可信度等級.
為了衡量主從鏈的性能,本節(jié)評估主從鏈和單鏈架構的交易吞吐量.吞吐量TPS度量系統(tǒng)在單位時間內(nèi)處理請求或交易的能力.
TPS=Sumtransactions/Δt
(13)
其中,是時間段Δt存儲到區(qū)塊鏈中的交易總數(shù),實驗過程中考慮域內(nèi)設備交互、域內(nèi)身份認證、信任票據(jù)產(chǎn)生3種交易.該實驗在5臺配置了ubuntu 18.04系統(tǒng)的計算機上進行,采用Hyperledger fabric 1.4.4平臺搭建主從鏈環(huán)境,并在Hyperledger fabric 1.4.4源碼基礎上添加改進的PBFT共識協(xié)議,智能合約(鏈碼)采用go 1.11.5開發(fā),Docker版本為20.10.7.Hyperledger fabric通道是兩個或多個特定網(wǎng)絡成員之間通信的私有“子網(wǎng)”,用于進行私人和機密的交易,一個節(jié)點可以屬于多個通道,并維護多個賬本.因此,本實驗借助通道技術搭建主從鏈.考慮與Shen等人[2]相同的實驗規(guī)模,如表3所示,每個域包含50個IIoT設備和5個邊緣設備,每一條從鏈節(jié)點總數(shù)為55,單鏈架構的區(qū)塊鏈節(jié)點總數(shù)為域的個數(shù)×55.一共設計了4組實驗,其中域的數(shù)量分別為2、3、4和5.每一組實驗進行10次,實驗結果如圖7所示.
圖7 單鏈和主從鏈的吞吐量Fig.7 Throughput of single chain and master-slave chain
從圖7可以看出,當域的個數(shù)大于1時,主從鏈的吞吐量總高于單鏈.隨著域數(shù)量的增加,單鏈的吞吐量線性下降,然而主從鏈的吞吐量線性增加.當域的個數(shù)為5時,單鏈的平均吞吐量約為59,而主從鏈的平均吞吐量約為169,相當于單鏈的2.86倍.這主要是因為不同域中的從鏈節(jié)點規(guī)模比單鏈少,提高了共識效率,且多條從鏈可以并行地處理本域內(nèi)交易和執(zhí)行共識過程.
因此,通過上述實驗結果表明,主從鏈比單鏈更具有可擴展性,基于主從鏈的MSBCTA方案適用于大規(guī)模IIoT多域場景.
為了更好體現(xiàn)主從鏈的優(yōu)勢,本節(jié)比較主從鏈和單鏈在共識過程中的通信開銷.引入通信次數(shù)指標來衡量兩種架構在共識過程中的通信開銷.假設存在p個域,每個域中IIoT設備和邊緣設備個數(shù)分別為n和m,則每一條從鏈節(jié)點總數(shù)為m+n,主鏈節(jié)點總數(shù)為mp,單鏈節(jié)點總數(shù)為(m+n)p.主從鏈中主鏈和所有從鏈達成一次共識的通信次數(shù)為Cmsb,單鏈的達成一次共識的通信次數(shù)為Csb,根據(jù)圖3顯示的共識過程,Cmsb和Csb計算如公式(14)和公式(17)所示:
Cmsb=Cm+p*Cs
(14)
Cm=2mp(mp-1)
(15)
Cs=2(m+n)(m+n-1)
(16)
Csb=2p(m+n)(p(m+n)-1)
(17)
其中Cm和Cs分別是主鏈和一條從鏈的通信次數(shù).為更清楚比較兩種架構的通信次數(shù)大小,本文根據(jù)公式(14)~公式(17)繪制圖8,展示兩種架構在不同p,m,n取值下的通信次數(shù).兩種架構的通信次數(shù)隨著p,m,n值的增加而增長,但主從鏈的通信次數(shù)始終低于單鏈的通信次數(shù).當p=15,m=10,n=150時,Cmsb=807900,Csb=11515200.可看出單鏈的通信次數(shù)Csb大約是主從鏈的通信次數(shù)Cmsb的14倍.因此,主從鏈架構降低了共識過程中的通信開銷,比單鏈更適合規(guī)模IIoT多域場景.
圖8 共識過程中通信次數(shù)比較Fig.8 Comparison of communication times in the consensus process
本文提出一種主從鏈架構,實現(xiàn)大規(guī)模IIoT多域場景下可擴展的信任認證機制.不同域的從鏈并行處理域內(nèi)事務,并為本地設備生成信任票據(jù).主鏈共享來自不同域的所有IIoT設備的信任票據(jù).IIoT設備可以在不知道對方真實身份的情況下,通過信任票據(jù)進行身份認證、密鑰協(xié)商以及可信度評估,從而保護IIoT設備的隱私.安全性分析證明了MSBCTA認證機制具有較高的安全性.性能評估表明,MSBCTA機制在認證過程中具有較低的計算開銷,能準確評估IIoT設備的可信度等級,所采用主從鏈架構提高了交易吞吐量和降低共識過程中的通信開銷,具有可擴展性.