張金花,李曉偉,曾 新,趙榆琴,段 燃,楊鄧奇
大理大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院 大理 中國(guó) 671000
隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,物聯(lián)網(wǎng)應(yīng)用也逐漸廣泛。大量的終端設(shè)備接入網(wǎng)絡(luò)中將產(chǎn)生海量級(jí)的數(shù)據(jù),這為云中心及時(shí)有效地處理數(shù)據(jù)帶來(lái)了更大的挑戰(zhàn)。邊緣計(jì)算是指在網(wǎng)絡(luò)邊緣執(zhí)行計(jì)算的一種新型計(jì)算模型。網(wǎng)絡(luò)邊緣是指從數(shù)據(jù)源到云計(jì)算中心路徑之間的任意計(jì)算和網(wǎng)絡(luò)資源[1]。邊緣計(jì)算技術(shù)的引入減輕了云中心的網(wǎng)絡(luò)負(fù)擔(dān),但同時(shí)也引起了一些安全問(wèn)題。邊緣計(jì)算環(huán)境下的終端數(shù)量較多,層次復(fù)雜,多種安全域并存,安全性要求更高。身份認(rèn)證是設(shè)備接入網(wǎng)絡(luò)的第一步也是網(wǎng)絡(luò)安全的第一道屏障。傳統(tǒng)的物聯(lián)網(wǎng)身份認(rèn)證協(xié)議大多數(shù)都是基于云中心-終端設(shè)備的網(wǎng)絡(luò)架構(gòu),而邊緣計(jì)算環(huán)境下網(wǎng)絡(luò)架構(gòu)有所改變,如圖1 所示。在邊緣計(jì)算環(huán)境中設(shè)備計(jì)算及通信主要在設(shè)備邊緣完成,原有的網(wǎng)絡(luò)認(rèn)證模式已不再適用。同時(shí),邊緣計(jì)算環(huán)境中往往涉及多個(gè)域,多個(gè)域間設(shè)備安全通信需要跨域間身份認(rèn)證與密鑰協(xié)商。物聯(lián)網(wǎng)單域間身份認(rèn)證與密鑰協(xié)商方案已經(jīng)有比較成熟的研究成果[2-6]。但輕量級(jí)的邊緣計(jì)算環(huán)境下跨域間認(rèn)證與密鑰協(xié)商方案仍有待研究。
現(xiàn)有的物聯(lián)網(wǎng)身份認(rèn)證主要是基于公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure,PKI)認(rèn)證技術(shù)。PKI 技術(shù)依靠數(shù)字證書(shū)進(jìn)行身份認(rèn)證,依靠加密技術(shù)保證信息不被泄漏,以保證信息的完整性、保密性和抗抵賴性。PKI 解決了互聯(lián)網(wǎng)絡(luò)中的公鑰分發(fā)問(wèn)題,是互聯(lián)網(wǎng)的信任基礎(chǔ),也是目前保障網(wǎng)絡(luò)安全較好的認(rèn)證體系[7]?;赑KI 體系的物聯(lián)網(wǎng)跨域認(rèn)證已有學(xué)者做了如下研究:文獻(xiàn)[8]提出一種適用于“云-邊-端”一體化物聯(lián)網(wǎng)認(rèn)證架構(gòu)下基于PKI 和國(guó)密SM9 標(biāo)識(shí)的認(rèn)證體系。在邊緣計(jì)算環(huán)境中,物聯(lián)網(wǎng)終端設(shè)備直接在網(wǎng)絡(luò)邊緣進(jìn)行跨域認(rèn)證,實(shí)現(xiàn)了高效的跨域認(rèn)證和位置隱私保護(hù)。對(duì)于低性能的物聯(lián)網(wǎng)終端設(shè)備,降低了復(fù)雜度并且提高了終端跨域認(rèn)證的效率。文獻(xiàn)[9]結(jié)合PKI 和基于身份的簽名(Identity-based signature,IBS)認(rèn)證體系的優(yōu)點(diǎn)提出一種基于證書(shū)的簽名方案,避免了PKI 證書(shū)管理的復(fù)雜性和IBS 中密鑰托管和分發(fā)的問(wèn)題,實(shí)現(xiàn)了安全高效和匿名的物聯(lián)網(wǎng)移動(dòng)設(shè)備跨域認(rèn)證。文獻(xiàn)[10]提出了基于身份的密碼體制和無(wú)證書(shū)加密體制相結(jié)合的認(rèn)證方法,并優(yōu)化了跨域環(huán)境下的簽密算法,提出基于不同系統(tǒng)參數(shù)的跨域簽密方案。該方案能滿足臨時(shí)密鑰的安全需求,可應(yīng)用在跨域網(wǎng)絡(luò)中提升計(jì)算效率降低成本,實(shí)現(xiàn)了物聯(lián)網(wǎng)環(huán)境下的跨域認(rèn)證。
基于PKI 技術(shù)的認(rèn)證方案雖然能實(shí)現(xiàn)跨域認(rèn)證但需要復(fù)雜的證書(shū)管理體系,對(duì)于物聯(lián)網(wǎng)終端設(shè)備分布廣、數(shù)量多并且涉及多個(gè)通信域等特性,PKI 技術(shù)已經(jīng)不能很好的解決物聯(lián)網(wǎng)設(shè)備身份認(rèn)證問(wèn)題。區(qū)塊鏈技術(shù)的產(chǎn)生推動(dòng)了數(shù)字證書(shū)的發(fā)展,區(qū)塊鏈與物聯(lián)網(wǎng)技術(shù)的結(jié)合也是未來(lái)的發(fā)展趨勢(shì)。區(qū)塊鏈中的數(shù)據(jù)區(qū)塊是以時(shí)間順序?yàn)樾蛄?、通過(guò)鏈?zhǔn)浇Y(jié)構(gòu)鏈接形成的數(shù)據(jù)結(jié)構(gòu),每個(gè)區(qū)塊通過(guò)存儲(chǔ)前一個(gè)區(qū)塊的哈希值來(lái)確保區(qū)塊鏈的可追溯性[11]。區(qū)塊鏈技術(shù)具有分布式數(shù)據(jù)存儲(chǔ)、點(diǎn)對(duì)點(diǎn)傳輸、共識(shí)機(jī)制、加密算法四大特性。區(qū)塊鏈解決的就是非安全環(huán)境中的可信問(wèn)題、數(shù)據(jù)安全問(wèn)題、身份權(quán)限問(wèn)題和隱私保護(hù)問(wèn)題[12]。區(qū)塊鏈的基本結(jié)構(gòu)如圖2 所示。區(qū)塊標(biāo)識(shí)能對(duì)區(qū)塊進(jìn)行識(shí)別,區(qū)塊體中包含某一時(shí)間段的所有交易數(shù)量,經(jīng)過(guò)哈希運(yùn)算最后生成Merkle根哈希,區(qū)塊之間通過(guò)前一區(qū)塊的哈希值相互連接形成了按時(shí)間序列鏈接的區(qū)塊鏈?;趨^(qū)塊鏈的物聯(lián)網(wǎng)終端設(shè)備跨域認(rèn)證方案目前研究較少。結(jié)合區(qū)塊鏈技術(shù)的跨域認(rèn)證方案有如下研究:文獻(xiàn)[13]在不改變PKI 認(rèn)證模型的基礎(chǔ)上結(jié)合區(qū)塊鏈技術(shù)提出了一種聯(lián)盟鏈信任模型,實(shí)現(xiàn)雙向?qū)嶓w跨域認(rèn)證,并提供快速重認(rèn)證。通過(guò)Hash 算法驗(yàn)證證書(shū),減少了公鑰簽名與驗(yàn)證的次數(shù),提高了跨域認(rèn)證的效率。文獻(xiàn)[14]提出了一種基于區(qū)塊鏈的物聯(lián)網(wǎng)分布式身份認(rèn)證架構(gòu),對(duì)傳統(tǒng)的區(qū)塊數(shù)據(jù)結(jié)構(gòu)進(jìn)行擴(kuò)充,引入默克爾帕特里樹(shù)(Merkle Patricia tree,MPT)存儲(chǔ)物聯(lián)網(wǎng)設(shè)備及其數(shù)字證書(shū)以保證信息的可靠性,提高了認(rèn)證效率和安全性。文獻(xiàn)[15]利用模糊提取技術(shù)并結(jié)合區(qū)塊鏈的智能合約,提出一種基于生物特征和口令雙因子的跨域認(rèn)證方案。在實(shí)現(xiàn)跨域認(rèn)證的同時(shí),也避免了生物特征信息泄露保證其安全性。文獻(xiàn)[16]設(shè)計(jì)了一種基于區(qū)塊鏈的智能合約去中心化身份管理與認(rèn)證模型,利用智能合約實(shí)現(xiàn)對(duì)用戶身份信息的發(fā)布、認(rèn)證和撤銷,實(shí)現(xiàn)不同場(chǎng)景中的交叉認(rèn)證。
以上物聯(lián)網(wǎng)認(rèn)證方案中,跨域認(rèn)證的方案一類是基于PKI和IBS的認(rèn)證體制,主要是中心化的認(rèn)證方式,這種認(rèn)證方式一旦中心服務(wù)器受到攻擊就會(huì)威脅到整個(gè)系統(tǒng)安全。另一類是利用區(qū)塊鏈技術(shù)去中心化和不可篡改的特性設(shè)計(jì)分布式環(huán)境下的物聯(lián)網(wǎng)認(rèn)證方案,這種方案設(shè)計(jì)相比傳統(tǒng)中心化的認(rèn)證方式實(shí)現(xiàn)了更安全和高效的認(rèn)證效率。由于物聯(lián)網(wǎng)環(huán)境中的異構(gòu)性以及存在多種不同的安全域,其中低性能的終端設(shè)備計(jì)算能力有限,在一些要求低延遲、實(shí)時(shí)性的物聯(lián)網(wǎng)場(chǎng)景中,基于傳統(tǒng)中心化的認(rèn)證方式難以實(shí)現(xiàn)跨域認(rèn)證和通信。本文主要解決現(xiàn)有物聯(lián)網(wǎng)環(huán)境中存在的低性能終端設(shè)備跨域認(rèn)證問(wèn)題,利用區(qū)塊鏈技術(shù)特點(diǎn)更好地解決跨域認(rèn)證中存在的安全性問(wèn)題。在“邊緣設(shè)備-終端設(shè)備”網(wǎng)絡(luò)架構(gòu)下設(shè)計(jì)區(qū)塊鏈的聯(lián)盟鏈信任模型,將終端設(shè)備的數(shù)字證書(shū)記錄在區(qū)塊鏈上減少了認(rèn)證開(kāi)銷,并且提高了認(rèn)證的可靠性。本文基于以上認(rèn)證方案設(shè)計(jì)邊緣計(jì)算環(huán)境下物聯(lián)網(wǎng)終端設(shè)備同域和跨域認(rèn)證與密鑰協(xié)商協(xié)議,保證終端設(shè)備間通信的安全性。
2.1.1 系統(tǒng)架構(gòu)
基于區(qū)塊鏈的物聯(lián)網(wǎng)終端認(rèn)證架構(gòu)如圖3 所示,主要由物聯(lián)網(wǎng)終端設(shè)備(Devices,D)、邊緣認(rèn)證服務(wù)器(Edge Servers,ES)、區(qū)塊鏈認(rèn)證中心(Blockch-ain Certificate Authority,BCCA)構(gòu)成。根據(jù)區(qū)塊鏈的共識(shí)機(jī)制選出每個(gè)域內(nèi)高性能的邊緣認(rèn)證服務(wù)器ES,將ES 和BCCA 作為聯(lián)盟鏈內(nèi)的節(jié)點(diǎn)并且相互之間是可信的。BCCA 主要負(fù)責(zé)證書(shū)的頒發(fā),將證書(shū)的哈希值和狀態(tài)信息都存儲(chǔ)區(qū)塊鏈上。對(duì)終端設(shè)備擁有的證書(shū)哈希值與區(qū)塊鏈上的證書(shū)哈希值進(jìn)行比較以實(shí)現(xiàn)物聯(lián)網(wǎng)終端設(shè)備身份認(rèn)證,減少了數(shù)字證書(shū)的簽名與驗(yàn)證過(guò)程。由于區(qū)塊鏈不可篡改以及可追溯的特性,本文提出的方案能夠提高物聯(lián)網(wǎng)終端設(shè)備身份認(rèn)證的效率和安全性。
2.1.2 區(qū)塊鏈共識(shí)機(jī)制
本文基于聯(lián)盟鏈的特性設(shè)計(jì)了物聯(lián)網(wǎng)設(shè)備跨域認(rèn)證架構(gòu),如何保證聯(lián)盟鏈內(nèi)的節(jié)點(diǎn)記賬達(dá)成一致,是區(qū)塊鏈研究的重點(diǎn)。本文選擇適用于聯(lián)盟鏈的委托權(quán)益證明(Delegated Proof of Stake,DPoS)的共識(shí)機(jī)制,根據(jù)DPoS 的工作機(jī)制將聯(lián)盟鏈內(nèi)的節(jié)點(diǎn)劃分為3 類:
1) 股民:包括全體節(jié)點(diǎn);
2) 股東代表:節(jié)點(diǎn)投票選出若干名代表記賬;
3) 候選人:競(jìng)爭(zhēng)股東代表的節(jié)點(diǎn)。
在DPoS 的工作機(jī)制中全體節(jié)點(diǎn)都可以作為候選人競(jìng)爭(zhēng)股東代表,由股民根據(jù)占股比例進(jìn)行投票選舉,獲得票數(shù)最多的若干名候選人成為股東代表,股東代表的人數(shù)由系統(tǒng)決定。股東代表負(fù)責(zé)記賬,落選的候選人成為股民,除股東代表外的其余節(jié)點(diǎn)同步賬本實(shí)現(xiàn)聯(lián)盟鏈內(nèi)的共識(shí)。
本節(jié)基于區(qū)塊鏈的物聯(lián)網(wǎng)認(rèn)證架構(gòu)進(jìn)行方案設(shè)計(jì),認(rèn)證方案分為終端設(shè)備身份注冊(cè)、設(shè)計(jì)同域和跨域認(rèn)證與密鑰協(xié)商協(xié)議三個(gè)階段,同域和跨域認(rèn)證的終端設(shè)備身份注冊(cè)階段相同。物聯(lián)網(wǎng)終端設(shè)備認(rèn)證與密鑰協(xié)商協(xié)議的符號(hào)說(shuō)明如表1 所示。
表1 物聯(lián)網(wǎng)跨域認(rèn)證協(xié)議符號(hào)說(shuō)明Table 1 Symbol description of IoT cross-domain authentication protocol
2.2.1 終端設(shè)備身份注冊(cè)
本方案的身份注冊(cè)是指終端設(shè)備Di通過(guò)邊緣認(rèn)證服務(wù)器ES 進(jìn)行注冊(cè),身份注冊(cè)流程圖如圖4 所示。具體步驟如下:
1) 設(shè)備Di向ES 發(fā)送注冊(cè)請(qǐng)求。
2) ES 接收到Di的注冊(cè)請(qǐng)求,用私鑰解密驗(yàn)證是否為合法用戶,若驗(yàn)證通過(guò),則注冊(cè)成功;反之,返回注冊(cè)失敗。
3) ES 向BCCA 發(fā)送申請(qǐng)證書(shū)請(qǐng)求。
4) BCCA 通過(guò)驗(yàn)證隨機(jī)數(shù)及簽名的有效性,若驗(yàn)證通過(guò)則生成數(shù)字證書(shū),T 表示證書(shū)的有效期,并將數(shù)字證書(shū)的哈希值hI=H(Certi)寫(xiě)入?yún)^(qū)塊鏈。
5) BCCA 將生成的證書(shū)哈希值返回給Di。
2.2.2 同域認(rèn)證與密鑰協(xié)商
隨著物聯(lián)網(wǎng)設(shè)備的增加,云中心的網(wǎng)絡(luò)負(fù)擔(dān)也隨之增加。邊緣計(jì)算技術(shù)的出現(xiàn)為終端設(shè)備的身份認(rèn)證提供了更方便和高效的認(rèn)證方式,終端不再需要向云中心申請(qǐng)認(rèn)證,而是在網(wǎng)絡(luò)邊緣進(jìn)行本地化的認(rèn)證。以A 域?yàn)槔O(shè)計(jì)同域認(rèn)證與密鑰協(xié)商協(xié)議。同域認(rèn)證與密鑰協(xié)商流程圖如圖5 所示,具體步驟如下:
1) 設(shè)備DA向本域邊緣認(rèn)證服務(wù)器ESA發(fā)送認(rèn)證請(qǐng)求,為終端設(shè)備存儲(chǔ)的數(shù)字證書(shū)哈希值。
2) ESA收到請(qǐng)求消息后用私鑰解密,驗(yàn)證身份信息。若驗(yàn)證通過(guò)則為已經(jīng)注冊(cè)過(guò)的設(shè)備,繼續(xù)執(zhí)行下一步;反之,重新發(fā)送接入認(rèn)證請(qǐng)求。
3) ESA向區(qū)塊鏈發(fā)送請(qǐng)求DA數(shù)字證書(shū)哈希值的消息。
4) 區(qū)塊鏈節(jié)點(diǎn)收到消息后查看N2是否有效,若有效將DA的證書(shū)哈希值h1發(fā)送給ESA。
5) ESA收到消息后將區(qū)塊鏈上存儲(chǔ)的數(shù)字證書(shū)哈希值與終端設(shè)備發(fā)送的數(shù)字證書(shū)哈希值比較是否一致,若結(jié)果相同則認(rèn)證成功;反之,認(rèn)證失敗。
6) ESA向DA發(fā)送認(rèn)證成功的消息。
7) DA收到消息后用私鑰解密得到隨機(jī)數(shù)N3,DA向ESA發(fā)送密鑰協(xié)商的消息,KS1=H (IDA,N3,N4)即會(huì)話密鑰。
8) ESA收到消息后用私鑰解密得到回話密鑰KS1。
2.2.3 跨域認(rèn)證與密鑰協(xié)商
以A、B 兩個(gè)域?yàn)槔M(jìn)行終端設(shè)備的跨域間通信,假設(shè)A 域設(shè)備DA漫游到B 域,通過(guò)ESB對(duì)ESA的認(rèn)證間接實(shí)現(xiàn)ESB對(duì)DA的認(rèn)證,從而實(shí)現(xiàn)DA的跨域認(rèn)證。跨域認(rèn)證與密鑰協(xié)商流程圖如圖6 所示,具體步驟如下:
1) 終端設(shè)備DA向邊緣認(rèn)證服務(wù)器ESB發(fā)送訪問(wèn)請(qǐng)求。
2) ESB收到訪問(wèn)請(qǐng)求后向A 域邊緣認(rèn)證服務(wù)器ESA發(fā)送請(qǐng)求認(rèn)證DA的消息。
3) ESA收到請(qǐng)求消息后向ESB發(fā)送關(guān)于DA的認(rèn)證信息。
4) ESB收到消息后通過(guò)查看N5是否有效,若有效則ESB向區(qū)塊鏈發(fā)送請(qǐng)求DA數(shù)字證書(shū)哈希值的消息。
5) 區(qū)塊鏈節(jié)點(diǎn)收到消息后查看N6是否有效,若有效將DA的數(shù)字證書(shū)哈希值h1發(fā)送給ESB。
6) ESB收到消息后將區(qū)塊鏈上存儲(chǔ)的數(shù)字證書(shū)哈希值與終端設(shè)備發(fā)送的數(shù)字證書(shū)哈希值比較是否一致,若結(jié)果相同則認(rèn)證成功;反之,認(rèn)證失敗。
7) 設(shè)備DA通過(guò)了認(rèn)證服務(wù)器ESB的認(rèn)證后,可以進(jìn)行跨域通信。DA若要與B 域終端設(shè)備DB之間安全通信需要進(jìn)行密鑰協(xié)商。DA產(chǎn)生一個(gè)私有的隨機(jī)數(shù)a,計(jì)算ga并將發(fā)送給DB。
8) DB收到消息后驗(yàn)證簽名并得到ga,同時(shí)DB產(chǎn)生一個(gè)私有的隨機(jī)數(shù)b,計(jì)算gb并將發(fā)送給DA。
9) DA收到消息后驗(yàn)證簽名并得到gb,DA通過(guò)計(jì)算KS2=(gb)a得到會(huì)話密鑰為KS2。
10) DB通過(guò)計(jì)算KS2=(ga)b得到的會(huì)話密鑰與DB的相同。
本文提出的物聯(lián)網(wǎng)終端設(shè)備認(rèn)證與密鑰協(xié)商協(xié)議是基于PKI 的認(rèn)證體系并結(jié)合區(qū)塊鏈技術(shù)實(shí)現(xiàn),區(qū)塊鏈認(rèn)證中心BCCA 將生成的數(shù)字證書(shū)哈希值H(Certi)存儲(chǔ)在區(qū)塊鏈上作為認(rèn)證憑證。由哈希函數(shù)的單向性可知,假如有攻擊者獲取了哈希值也無(wú)法解密得到數(shù)字證書(shū),保證了數(shù)字證書(shū)的安全性。由于區(qū)塊鏈不易篡改的特性,實(shí)現(xiàn)了物聯(lián)網(wǎng)終端設(shè)備同域與跨域認(rèn)證憑證的安全性。在同域認(rèn)證過(guò)程中,基于公鑰加密算法互相發(fā)送消息,只有擁有私鑰的設(shè)備才能解密,保護(hù)了設(shè)備的身份信息不被泄露,實(shí)現(xiàn)了安全的認(rèn)證與密鑰協(xié)商協(xié)議過(guò)程。在跨域認(rèn)證過(guò)程中,DA向B 域請(qǐng)求跨域認(rèn)證是通過(guò)ESA向ESB發(fā)送終端設(shè)備DA的相關(guān)認(rèn)證信息,再由ESB通過(guò)區(qū)塊鏈驗(yàn)證DA的認(rèn)證憑證。ESA和ESB都是聯(lián)盟鏈內(nèi)的節(jié)點(diǎn),通過(guò)聯(lián)盟鏈的DPoS共識(shí)機(jī)制選取節(jié)點(diǎn),只有通過(guò)共識(shí)機(jī)制驗(yàn)證的節(jié)點(diǎn)才能加入到聯(lián)盟鏈內(nèi),因此聯(lián)盟鏈內(nèi)節(jié)點(diǎn)是可信的。從而保證了終端設(shè)備信息的安全性,減少了使用公鑰加解密算法的運(yùn)算次數(shù),實(shí)現(xiàn)了終端設(shè)備更高效和安全的跨域認(rèn)證。
本文在跨域認(rèn)證過(guò)程中建立了安全通信的會(huì)話密鑰,分別為同域認(rèn)證的物聯(lián)網(wǎng)終端設(shè)備Di和邊緣認(rèn)證服務(wù)器ESi以及跨域認(rèn)證中兩個(gè)終端設(shè)備DA與DB之間的密鑰協(xié)商。在同域認(rèn)證密鑰協(xié)商過(guò)程中Di和ESi分別選取隨機(jī)數(shù)通過(guò)公鑰加密算法發(fā)送給對(duì)方,再進(jìn)行Hash 處理H (IDA,N3,N4),其他設(shè)備沒(méi)有對(duì)應(yīng)的私鑰無(wú)法解密獲取會(huì)話密鑰,假如有攻擊者能監(jiān)聽(tīng)到會(huì)話密鑰也無(wú)法解密。在跨域認(rèn)證密鑰協(xié)商過(guò)程中兩個(gè)終端設(shè)備的會(huì)話密鑰設(shè)計(jì)基于DH密鑰協(xié)商協(xié)議。Canetti 和Krawczyk 提出了基于簽名的認(rèn)證器[17],本文中的密鑰協(xié)商過(guò)程為A,B 雙方分別發(fā)送數(shù)字簽名,該過(guò)程可以視為將原始的DH 密鑰協(xié)商協(xié)議經(jīng)過(guò)認(rèn)證器對(duì)消息認(rèn)證,由文獻(xiàn)[17]的證明可以得出該密鑰協(xié)商過(guò)程是安全的。
在整個(gè)認(rèn)證的過(guò)程中,發(fā)送請(qǐng)求消息時(shí)會(huì)加入隨機(jī)數(shù),接收方通過(guò)查看隨機(jī)數(shù)的有效性來(lái)確認(rèn)消息的準(zhǔn)確性。在認(rèn)證過(guò)程中,邊緣認(rèn)證服務(wù)器ESi向區(qū)塊鏈節(jié)點(diǎn)請(qǐng)求數(shù)字證書(shū)哈希值時(shí)加入隨機(jī)數(shù)Rep=(IDA,PA,N2),區(qū)塊鏈節(jié)點(diǎn)通過(guò)驗(yàn)證隨機(jī)數(shù)的有效性來(lái)判斷消息的真實(shí)性。假如有攻擊者截取了消息再重新發(fā)送,但由于隨機(jī)數(shù)的時(shí)效性將會(huì)導(dǎo)致失敗,所以能夠抵抗重放攻擊。
本文在兩個(gè)跨域的終端設(shè)備密鑰協(xié)商過(guò)程中考慮到會(huì)話密鑰的前向安全性,利用DH密鑰協(xié)商協(xié)議進(jìn)行會(huì)話密鑰協(xié)商。假如攻擊者獲取了當(dāng)前的會(huì)話密鑰KS=(gb)a,其中a 和b 是通信雙方隨機(jī)選取的秘密值,均為通信雙方私有。攻擊者在不知道a 和b的情況下,由離散對(duì)數(shù)困難問(wèn)題可知很難求出會(huì)話密鑰KS,在此之前雙方通信的會(huì)話密鑰也很難得到?;谝陨蠒?huì)話密鑰協(xié)商過(guò)程,能夠保證終端設(shè)備跨域通信的安全性。
本文提出一種邊緣計(jì)算環(huán)境下基于區(qū)塊鏈的物聯(lián)網(wǎng)終端設(shè)備認(rèn)證與密鑰協(xié)商協(xié)議,本節(jié)對(duì)比文獻(xiàn)[9]和文獻(xiàn)[14]的計(jì)算開(kāi)銷進(jìn)行性能分析。不同方案的計(jì)算開(kāi)銷對(duì)比如表2 所示,表中數(shù)字的單位為每種算法的運(yùn)算次數(shù)。
表2 計(jì)算開(kāi)銷對(duì)比Table 2 Calculation cost comparison
與文獻(xiàn)[9]對(duì)比本文方案使用較少的指數(shù)運(yùn)算,文獻(xiàn)[9]中物聯(lián)網(wǎng)設(shè)備的跨域認(rèn)證是基于傳統(tǒng)的中心化認(rèn)證方式,一旦中心受到攻擊,會(huì)對(duì)整個(gè)認(rèn)證過(guò)程造成威脅。與文獻(xiàn)[14]對(duì)比本文方案使用較少的數(shù)字簽名與驗(yàn)證算法,而且沒(méi)有復(fù)雜的雙線性對(duì)運(yùn)算,在一定程度上減少了計(jì)算開(kāi)銷。相比文獻(xiàn)[14]本文方案更適合低性能的物聯(lián)網(wǎng)終端設(shè)備跨域認(rèn)證。對(duì)比以上兩種方案,本文方案有較少的計(jì)算開(kāi)銷。為了進(jìn)一步分析算法的計(jì)算開(kāi)銷,本文對(duì)密碼學(xué)算法的運(yùn)行時(shí)間進(jìn)行測(cè)試。實(shí)驗(yàn)環(huán)境為:英特爾i7 處理器,3GHz 主頻,8GB 內(nèi)存。其中TS表示一次數(shù)字簽名與驗(yàn)證的運(yùn)行時(shí)間,TPK表示一次公鑰加解密的運(yùn)行時(shí)間,Th表示一次哈希算法的運(yùn)行時(shí)間,Ti表示一次指數(shù)運(yùn)算的運(yùn)行時(shí)間,TE表示一次雙線性對(duì)運(yùn)算的運(yùn)行時(shí)間。經(jīng)過(guò)多次運(yùn)行取平均值得到結(jié)果如下:TS、TPK、Th、Ti和TE的運(yùn)行時(shí)間分別為2.005ms、3.830ms、0.001ms、6.324ms 和11.450ms。為方便對(duì)比,本文選擇的數(shù)字簽名算法為ElGamal 數(shù)字簽名算法,加密算法選擇的是ElGamal加密算法。本文方案與文獻(xiàn)[9]和[14]計(jì)算耗時(shí)對(duì)比如圖7 所示。從圖7 中可以看出本文總的計(jì)算消耗僅為46.633ms,少于其他兩種方案,更適用于低性能的物聯(lián)網(wǎng)設(shè)備。
針對(duì)目前存在的物聯(lián)網(wǎng)終端設(shè)備認(rèn)證復(fù)雜和低效率的問(wèn)題,本文利用邊緣計(jì)算技術(shù)設(shè)計(jì)了基于區(qū)塊鏈的跨域間物聯(lián)網(wǎng)終端設(shè)備認(rèn)證架構(gòu)。通過(guò)邊緣設(shè)備而非云中心對(duì)終端設(shè)備進(jìn)行認(rèn)證,將終端設(shè)備的認(rèn)證進(jìn)行本地化處理,減輕了云中心的網(wǎng)絡(luò)負(fù)擔(dān),同時(shí)也提高了認(rèn)證效率。并且對(duì)認(rèn)證與密鑰協(xié)商協(xié)議應(yīng)有的安全屬性進(jìn)行了分析。同已有的物聯(lián)網(wǎng)終端設(shè)備認(rèn)證方案相比,在滿足認(rèn)證與密鑰協(xié)商安全性的基礎(chǔ)上,本文方案具有較少的計(jì)算開(kāi)銷,更適合低性能的物聯(lián)網(wǎng)終端設(shè)備認(rèn)證與密鑰協(xié)商。