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

?

基于區(qū)塊鏈的WSN 用戶認證和密鑰協(xié)商方案?

2020-12-23 11:50:30張曉薇李洪赭孫廣成李賽飛
計算機與數(shù)字工程 2020年11期
關(guān)鍵詞:關(guān)節(jié)點攻擊者抵抗

張曉薇 李洪赭 孫廣成 李賽飛

(西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院 成都 611756)

1 引言

物聯(lián)網(wǎng)作為一種物物互聯(lián)的網(wǎng)絡(luò),核心仍然是互聯(lián)網(wǎng),而作為物聯(lián)網(wǎng)感知層的無線傳感網(wǎng)絡(luò)也被集成到了互聯(lián)網(wǎng)中,網(wǎng)絡(luò)的互連使得遠程用戶可以通過終端設(shè)備訪問相關(guān)的感知信息。通常情況下,傳感器節(jié)點將收集到的傳感數(shù)據(jù)發(fā)送給網(wǎng)關(guān)節(jié)點,遠程用戶通過網(wǎng)關(guān)節(jié)點獲取相關(guān)數(shù)據(jù),但是隨著物聯(lián)網(wǎng)的快速發(fā)展,在很多關(guān)鍵領(lǐng)域,用戶更希望能直接從目標傳感器節(jié)點上獲取實時的數(shù)據(jù)[1]。在這種方式下,為了防止敏感的數(shù)據(jù)被惡意用戶竊取,甚至是威脅到整個傳感網(wǎng)絡(luò),在用戶被允許訪問感知數(shù)據(jù)之前,必須對其進行身份認證。

2009 年,Das[2]提出了一種基于密碼和智能卡的雙因素WSN 用戶身份認證方案。隨后,文獻[3~4]等,指出文獻[2]的方案不具備雙向認證和用戶匿名性,不能抵抗密碼猜測攻擊和內(nèi)部特權(quán)攻擊,并提出了大量改進方案。2011 年,Yeh 等[5]提出了一種基于橢圓曲線算法(ECC)的WSN 雙因素認證方案,以平衡安全性和效率,但該協(xié)議無法實現(xiàn)雙向認證。2016年,Park等[6]提出了基于ECC的三因素認證方案,增加了生物特征標識這一安全因素,隨后,Wang 等[7]發(fā)現(xiàn)文獻[6]的方案不具備用戶匿名性,不能抵抗竊取-驗證攻擊。最近,Li等[8]提出了一種可用于工業(yè)物聯(lián)網(wǎng)的WSN 用戶認證方案,無需使用智能卡。然而類似于文獻[2~8]中的方案都只針對單網(wǎng)關(guān)環(huán)境,但是隨著物聯(lián)網(wǎng)規(guī)模的不斷提升,單網(wǎng)關(guān)節(jié)點的傳感網(wǎng)絡(luò)顯然不再滿足要求。雖然也有一些研究者提出了基于多網(wǎng)關(guān)環(huán)境的認證方案,如Amin等[9]和Srinivas等[10],但是這些方案都需要可信的第三方或網(wǎng)關(guān)節(jié)點來存儲傳感器節(jié)點和用戶的注冊信息,而且認證過程中需要在多個網(wǎng)關(guān)之間進行信息傳遞,交互過程復(fù)雜,不適用于分布式的物聯(lián)網(wǎng)環(huán)境。

區(qū)塊鏈作為比特幣的底層技術(shù),近幾年在物聯(lián)網(wǎng)相關(guān)領(lǐng)域被廣泛的研究。文獻[11~12]提出的方案是將區(qū)塊鏈技術(shù)應(yīng)用于物聯(lián)網(wǎng)終端設(shè)備之間的身份認證。文獻[13]設(shè)計了一種基于區(qū)塊鏈的用戶身份認證架構(gòu),應(yīng)用于對網(wǎng)站或應(yīng)用程序等的訪問。但這些方法都不適合資源受限的無線傳感網(wǎng)絡(luò)。

因此,本文在上述研究的基礎(chǔ)上提出了一種基于區(qū)塊鏈的無線傳感網(wǎng)絡(luò)用戶身份認證和密鑰協(xié)商方案,采用ECC與生物特征標識和口令相結(jié)合的方式來兼顧安全性和效率,同時,區(qū)塊鏈技術(shù)的引入還能有效地解決傳統(tǒng)中心化認證方案引起的單點故障和數(shù)據(jù)被惡意篡改等問題,并簡化交互認證過程。

2 系統(tǒng)總體結(jié)構(gòu)

圖1 系統(tǒng)總體結(jié)構(gòu)圖

本文設(shè)計的認證方案系統(tǒng)架構(gòu)如圖1 所示,由無線傳感器網(wǎng)絡(luò)和區(qū)塊鏈網(wǎng)絡(luò)組成。無線傳感網(wǎng)絡(luò)作為物聯(lián)網(wǎng)的感知層,包含三種實體:網(wǎng)關(guān)節(jié)點、傳感器節(jié)點和用戶。傳感器節(jié)點負責監(jiān)測實時數(shù)據(jù)并轉(zhuǎn)發(fā)到最近的網(wǎng)關(guān)節(jié)點,而網(wǎng)關(guān)節(jié)點負責接收相關(guān)數(shù)據(jù)然后通過網(wǎng)絡(luò)傳輸給用戶。用戶也可以直接訪問傳感器節(jié)點,但必須先經(jīng)過網(wǎng)關(guān)節(jié)點和傳感器節(jié)點的身份認證。為了訪問所需的傳感器節(jié)點,用戶可以向系統(tǒng)中的任意一個網(wǎng)關(guān)節(jié)點發(fā)起認證請求。

區(qū)塊鏈網(wǎng)絡(luò)在本方案中充當物聯(lián)網(wǎng)的網(wǎng)絡(luò)層,由服務(wù)器、存儲設(shè)備、網(wǎng)關(guān)節(jié)點和用戶設(shè)備等構(gòu)成,服務(wù)器和存儲設(shè)備屬于記賬節(jié)點,通過共識機制將區(qū)塊鏈交易記錄在賬本中,保存和同步完整的區(qū)塊鏈賬本。網(wǎng)關(guān)節(jié)點和用戶設(shè)備屬于輕節(jié)點,它們通過注冊成為區(qū)塊鏈網(wǎng)絡(luò)的合法用戶,然后利用客戶端與區(qū)塊鏈網(wǎng)絡(luò)進行交互,不用保存及同步完整賬本。用戶設(shè)備上連接生物特征信息采集裝置,用來獲取生物特征模板。區(qū)塊鏈賬本中存儲的是所有網(wǎng)關(guān)節(jié)點、傳感器節(jié)點和用戶的身份公開信息,傳感器節(jié)點需要向就近的網(wǎng)關(guān)節(jié)點發(fā)起注冊請求,通過網(wǎng)關(guān)節(jié)點將公開信息寫入?yún)^(qū)塊鏈賬本。

3 認證方案設(shè)計

本文所提出的認證方案由注冊階段、認證階段和更新階段三部分組成。方案中所使用的相關(guān)符號如表1所示。

表1 方案相關(guān)符號說明

在系統(tǒng)的初始化階段,GWN 利用ECC 算法生成自身的私鑰/公鑰對{x、X},其中X=xP ,P 為GWN 在橢圓曲線上選取的基點,P 在系統(tǒng)中屬于公開信息。同時GWN 還選擇一個秘密值α 。GWN 作為區(qū)塊鏈網(wǎng)絡(luò)中的輕節(jié)點,可以向區(qū)塊鏈網(wǎng)絡(luò)發(fā)起注冊交易,將自己的公鑰X 寫入到區(qū)塊鏈賬本中。

3.1 注冊階段

注冊階段主要分為兩部分,即傳感器節(jié)點的注冊和用戶的注冊。

1)傳感器節(jié)點的注冊

(1)GWN 首先為SNj選擇唯一的身份標識SIDj,并 計 算 相 應(yīng) 的 密 鑰Kj=h(SIDj||α) ,然 后GWN 將(SIDj、Kj)通過安全信道發(fā)送給SNj;

(2)SNj生成隨機數(shù)rj,計算S1=h(SIDj||rj),S2=h(IDj||CLKj||FSSj),S=h(S1||S2) ,其中CLKj和FSSj分別表示SNj的CPU 時鐘頻率和空閑存儲空間。然后SNj通過安全信道發(fā)送(S、S2)給GWN ,并將(SIDj、Kj、rj)存儲在自身的存儲器中;

(3)GWN 通過客戶端將(SIDj、S、S2) 記錄到區(qū)塊鏈賬本中,并在本地刪除S2和S 。

2)用戶的注冊

(1)Ui在用戶設(shè)備客戶端輸入自主選擇的身份標識IDi和靜態(tài)口令PWi,并通過生物特征采集裝置獲得自身的生物特征信息模板Bi;

(2)Ui利用模糊提取技術(shù)[14]中的隨機密鑰生成函數(shù)Gen(),生成Bi所對應(yīng)的隨機密鑰Ri和公共參數(shù)Pi,再對Ri作哈希運算得到生物特征密鑰BPWi;

(3)Ui采 用ECC 算 法 生 成 私 鑰/公 鑰 對{y、Y};

(4)Ui計算Xi=h(IDi||PWi),Yi=h(IDi||BPWi),Ai=;

(5)Ui通過客戶端向區(qū)塊鏈網(wǎng)絡(luò)發(fā)起注冊交易,將(IDi、Y、Ai、Pi)記錄到區(qū)塊鏈賬本中。

3.2 認證階段

Ui在訪問SNj之前需要經(jīng)過GWN 和SNj的身份認證,同時Ui還需要對SNj的合法性進行認證,具體的認證過程如圖2所示。

1)Ui在用戶設(shè)備客戶端輸入IDi和PWi,使用生物特征采集裝置得到生物特征模板,并向區(qū)塊鏈網(wǎng)絡(luò)發(fā)起查詢交易,若交易失敗,說明Ui輸入的IDi錯誤,操作終止,否則將獲得IDi對應(yīng)的公開信息Pi和Ai,然后使用恢復(fù)函數(shù)Rep()得到隨機 密 鑰=Rep(,Pi) ,并 計 算BP=h() ,Xi=h(IDi||PWi) ,Yi=h(IDi||BPXi⊕Yi⊕Pi,驗證Ai′=Ai是否成立,若不成立則說明Ui輸入的PWi或Bi′有誤,操作終止。否則,Ui通過客戶端向區(qū)塊鏈網(wǎng)絡(luò)獲得GWN 的公開信息,計算M1=mP ,M2=mX ,DIDi=IDi⊕h() ,C1=SIDj⊕h(M1||M2) ,C2=h(IDi||M2)⊕Xi,Auth=h(SIDj||IDi||M1||M2||Yi),其中m 為Ui生成的隨機數(shù),Ui將發(fā)送給GWN 。

圖2 認證階段流程圖

2)GWN 收到Ui的請求消息后利用私鑰x ,計 算=xM1,=DIDi⊕h() 。隨 后,GWN 向區(qū)塊鏈網(wǎng)絡(luò)查詢所對應(yīng)的信息,若不存在,則GWN 終止會話。否則GWN 將獲取Ui的公開信息Y 、Pi和Ai,并計算=C1⊕h(),驗證=Auth是否成立,若成立則GWN 對Ui的身份驗證成功,否則終止會話。

3)GWN 生成隨機數(shù)rg,計算C3=h(),C4=C3⊕Y,C5=rg⊕h(Y||C3),C6=h(),然后GWN 將{M1、C4、C5、C6} 發(fā)送給SNj。

4)SNj收到來自GWN 的信息后計算C4,=C5⊕h(Kj||Y′),C7=h(SI),并驗證C6=C7是否成立,如果不成立,SNj將拒絕被訪問,否則SNj確信GWN 是合法的。

5)SNj生成隨機數(shù)n,計算M3=nP ,M4=,C8=h(SIDj||rj),C9=C8⊕M4,SK=h(M1||M3||nM1) ,C10=h(SK||C8||C9) ,SNj將認證回應(yīng)消息{M3、C9、C10} 發(fā)送給Ui。

6)Ui收到SNj的消息后通過客戶端向區(qū)塊鏈網(wǎng)絡(luò)獲取SIDj所對應(yīng)的公開信息S2和S ,若信息不存在,則Ui終止會話,否則,Ui計算=yM3,=C9⊕,SK′=h() ,C11=h(SK′||),S′=h(S2||),驗證C11=C10和S′=S 是否成立,若兩項均成立,Ui成功驗證SNj是合法節(jié)點,否則終止會話。Ui存儲與SNj之間的會話密鑰SK′。

3.3 更新階段

在本方案中,網(wǎng)關(guān)節(jié)點和用戶的私密信息與公開信息都可以進行更新。由于區(qū)塊鏈確認信息的延后性,當需要進行信息更新時,輕節(jié)點需要提前將新的公開信息提交到區(qū)塊鏈網(wǎng)絡(luò)中[15]。具體的更新過程如下:

1)GWN 的信息更新

GWN 重新生成新的私鑰/公鑰對{x*、X*},通過客戶端向區(qū)塊鏈網(wǎng)絡(luò)發(fā)起更新數(shù)據(jù)交易,記賬節(jié)點首先驗證被更改的節(jié)點與提交交易節(jié)點的身份信息是否一致,若不一致則交易失敗,否則經(jīng)過記賬節(jié)點的驗證和共識機制完成后,將GWN 新的公鑰記錄到區(qū)塊鏈賬本中。

2)Ui的信息更新

Ui的信息更新過程不需要GWN 的參與。由于個人的生物特征信息唯一且不能更改,本方案可以更改的Ui信息包括Ui的靜態(tài)口令、私鑰/公鑰對以及Ui的公開身份信息Ai。具體的更新過程如下:

(1)Ui在客戶端輸入IDi、PWi和,并向區(qū)塊鏈網(wǎng)絡(luò)查詢得到IDi對應(yīng)的公開信息Pi和Ai,然后計算=Rep(,Pi) ,=h() ,Xi=h(IDi||PWi) ,Yi=h(IDi||BP) ,=Xi⊕Yi⊕Pi,驗證是否成立,若不成立則說明用戶的身份信息有誤,更新過程終止,否則Ui在客戶端輸入新的靜態(tài)口令;

(2)Ui生成新的私鑰/公鑰對{y*、Y*};

(3)Ui計算=h(IDi||P=h(IDi||BP;

(4)Ui通過客戶端向區(qū)塊鏈網(wǎng)絡(luò)發(fā)布一條更新數(shù)據(jù)交易,將()記錄到區(qū)塊鏈賬本中。

4 方案分析

4.1 安全性分析

本文參考無線傳感網(wǎng)絡(luò)用戶認證的通用安全需求[1,7,16],采用非形式化的方式分析了方案的安全性,具體內(nèi)容如下。

1)抵抗重放攻擊

本方案中GWN 、Ui和SNj在每一次的會話過程中都會產(chǎn)生隨機數(shù)rg、m 和n,使得三者之間每一次的會話內(nèi)容都不同,從而有效地抵抗了重放攻擊。

2)抵抗內(nèi)部特權(quán)攻擊

本方案中Ui并沒有向GWN 注冊,而是向區(qū)塊鏈網(wǎng)絡(luò)注冊成為輕節(jié)點,并將自身的公開信息存入賬本中。GWN 可以通過客戶端向區(qū)塊鏈網(wǎng)絡(luò)獲取Ui的公開信息(Y、Ai、Pi) ,Ai由IDi、PWi、BPWi以及Pi經(jīng)過一系列的單項哈希、級聯(lián)以及異或運算得到,攻擊者無法單純通過Ui的公開信息獲得任何有用的信息。因此本方案可以抵抗內(nèi)部特權(quán)攻擊。

3)抵抗傳感器節(jié)點的捕獲攻擊

假設(shè)攻擊者已經(jīng)捕獲了SNj,并獲得了存儲在SNj中的私密信息(SIDj、Kj、rj),但是攻擊者無法通過Kj=h(SIDj||α)計算出α ,也就無法得知其他傳感器節(jié)點與GWN 之間的密鑰。此外,由于SNj與Ui之間的會話密鑰包含兩者生成的隨機數(shù),使得Ui與所有傳感器節(jié)點間的會話密鑰都是不同的。因此,即使攻擊者捕獲了SNj,也不會泄露其他節(jié)點的信息,所以本方案可以抵抗傳感器節(jié)點捕獲攻擊。

4)抵抗假冒攻擊

攻擊者如果想要冒充Ui,它需要偽造出有效的認證請求消息,然而即使攻擊者截獲了這些信息,但不知道GWN 的私鑰則無法計算出M2和IDi,并且在C2、Auth、Ai中,PWi和BPWi均與IDi進行了單項哈希運算,攻擊者也無法計算出PWi和BPWi。 Ai是存儲在區(qū)塊鏈帳本中不可篡改的數(shù)據(jù),一旦請求消息與Ai不匹配,會很容易GWN 被驗證出來。因此本方案能夠抵抗用戶假冒攻擊。

如果攻擊者想要偽裝成GWN 去欺騙Ui和SNj,那么它必須要知道x 和α ,但是它們只有GWN 知曉,因此本方案也可以抵抗網(wǎng)關(guān)假冒攻擊。

5)具備匿名性和不可追蹤性

在本方案中,IDi隱藏在DIDi中,攻擊者如果想要從DIDi中恢復(fù)出IDi,則必須要知道x,然后計 算,) ,但x 為GWN 的私鑰,因此攻擊者無法獲得IDi。由此可見,本方案具有用戶匿名性。同時SIDj也隱藏在C1中,GWN 通過計算) 得 到,因為攻擊者無法計算出,所以本方案還具有傳感器節(jié)點匿名性。

由于Ui發(fā)送給GWN 的認證請求消息與m 有關(guān),因此,Ui每一次的請求消息都不同,這使得攻擊者不能通過竊聽Ui的請求消息來對特定的Ui進行追蹤,所以本方案具有不可追蹤性。

6)抵抗身份標識和口令猜測攻擊

假設(shè)Ui選擇的IDi和PWi的復(fù)雜度不高,攻擊者猜測出了一對數(shù)據(jù)和PWi′ ,則需要對此進行驗證。如果攻擊者通過某種方法獲取了Ui的認證請求消息和Ai,但是想要驗證和,必須知道M2和BPWi,通過抵抗用戶假冒攻擊的分析可知,攻擊者無法得知這些信息,因此,本方案可以抵抗身份標識和口令猜測攻擊。

7)抵抗前向安全攻擊

本方案中Ui和SNj協(xié)商的會話密鑰為在每次會話中都不同,即使Ui、GWN 和SNj的秘密信息被攻擊者竊取,從而得到M1和M3,但是如果要計算nM1和mM3,則相當于解決非常棘手的橢圓曲線離散對數(shù)問題。因此我們的方案可以抵抗前向安全攻擊。

4.2 安全性比較

我們將本文方案與文獻[6~7,9~10]方案的安全性進行了比較,對比結(jié)果如表2 所示。從表2 我們可以看出文獻[6]和文獻[9]方案無法抵抗假冒攻擊,文獻[6,9~10]方案都不具備用戶匿名性和不可追蹤性,同時文獻[9~10]方案也無法抵抗前向安全攻擊和存在智能卡丟失問題,而且前者還無法抵抗猜測攻擊,后者則不能抵抗節(jié)點捕獲攻擊。此外,文獻[6~7,9~10]方案均存在時間同步問題。由此可見,本方案的安全性是最高的。

表2 安全性比較

4.3 性能分析

本文方案與文獻[6~7,9~10]方案的時間和通信開銷對比結(jié)果如表3 所示。其中TH、TE、TS和TB分別表示單項哈希、對稱加密/解密、橢圓曲線上標量乘法以及從區(qū)塊鏈賬本中獲取數(shù)據(jù)的時間。由于異或和級聯(lián)操作的時間開銷與單項哈希相比可以忽略不計[17],因此我們在進行分析時沒有考慮這兩種操作的時間成本。為了方便計算不同方案的通信開銷,我們假設(shè)GWN 、Ui和SNj的身份標識、Ui的靜態(tài)口令、隨機數(shù)、時間戳以及單項哈希的輸出均為160bits,對稱加密/解密的輸出為128bits,橢圓曲線上標量乘法的輸出為320bits。表3 中的case1 和case2 分別表示Ui和SNj在相同和不同網(wǎng)關(guān)節(jié)點下的情況。從表3 可以看出,本文方案比文獻[6,9~10]方案的時間開銷大,與文獻[7]方案的時間開銷相比多了4TB,少了6TH。TB與共識時間有關(guān),如果將賬本中的關(guān)鍵數(shù)據(jù)在本地備份,將會大大減小TB,使得本文方案與文獻[7]方案的時間開銷大致接近。但是本文方案可以應(yīng)用于多網(wǎng)關(guān)的物聯(lián)網(wǎng)環(huán)境,然而文獻[6]和文獻[7]方案只適用于單網(wǎng)關(guān)環(huán)境。此外,本方案的通信次數(shù)和通信開銷與其他方案相比是最小的,并且由表2已知本方案的安全性是最高的,因此在減少通信次數(shù)和通信開銷的情況下又能得到最高的安全性,即使時間開銷相對大一些也是值得的。

表3 時間和通信開銷比較

5 結(jié)語

本文提出了一種基于區(qū)塊鏈技術(shù)的無線傳感網(wǎng)絡(luò)用戶安全認證和密鑰協(xié)商方案,為了防止模糊提取技術(shù)中的公開信息和節(jié)點的注冊信息被篡改,將這些信息存儲在了不可篡改的區(qū)塊鏈帳本中。同時,區(qū)塊鏈的分布式、去中心化的特性,還可以有效地解決傳統(tǒng)方案中對可信第三方的依賴以及認證過程中需要多個網(wǎng)關(guān)進行信息傳遞,交互過程復(fù)雜的問題。在本方案中,用戶無需跟任何網(wǎng)關(guān)節(jié)點發(fā)起注冊,而是直接注冊成為區(qū)塊鏈網(wǎng)絡(luò)的合法用戶,也就不存在傳統(tǒng)方案中需要分開討論用戶和傳感器節(jié)點是否在同一網(wǎng)關(guān)下的問題。本文通過非形式化的方式對方案的安全性進行了分析,并與文獻中相關(guān)方案進行了對比,發(fā)現(xiàn)本文提出的方案雖然時間開銷相對大一些,但是安全性最高,而且通信次數(shù)和通信開銷最少。

猜你喜歡
關(guān)節(jié)點攻擊者抵抗
基于微分博弈的追逃問題最優(yōu)策略設(shè)計
鍛煉肌肉或有助于抵抗慢性炎癥
中老年保健(2021年5期)2021-08-24 07:06:20
基于深度學(xué)習(xí)和視覺檢測的地鐵違規(guī)行為預(yù)警系統(tǒng)研究與應(yīng)用
做好防護 抵抗新冠病毒
關(guān)節(jié)點連接歷史圖與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合的雙人交互動作識別
iNOS調(diào)節(jié)Rab8參與肥胖誘導(dǎo)的胰島素抵抗
正面迎接批判
愛你(2018年16期)2018-06-21 03:28:44
搞好新形勢下軍營美術(shù)活動需把握的關(guān)節(jié)點
有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
淮滨县| 乌拉特后旗| 平原县| 永靖县| 萨嘎县| 鄄城县| 太原市| 惠水县| 常熟市| 商南县| 三门峡市| 浦东新区| 西充县| 馆陶县| 台州市| 信丰县| 济宁市| 西乡县| 乌兰察布市| 宁都县| 咸丰县| 光山县| 玉林市| 宜都市| 南昌市| 宜城市| 肇源县| 孟村| 临桂县| 顺昌县| 江城| 上林县| 南开区| 胶州市| 二手房| 依兰县| 荔波县| 南郑县| 陆良县| 尖扎县| 陵川县|