WSNs中基于三因素節點評估的安全認證方案
摘要:為了減少傳感器節點的資源利用并提高網絡的安全性,提出了一種基于信任度的認證方案。該方案在計算節點信任度時引入時間片、安全行動系數和交互頻度來計算節點信任度,這樣使得自私節點很難偽裝成正常節點,信任度與當前節點行為緊密相關,并防止節點通過很少的交易次數來達到較高的信任度,再利用信任度來判斷一個節點是否可信,有效地提高了應用的安全性,對惡意節點的攻擊起到一定的阻礙作用。然后設計了身份標識、密碼、智能卡相結合的認證方案,并且用戶在與傳感器節點認證之前,網關查詢網絡中節點的信任度,從而找到可信的節點與用戶進行認證,實現可信的傳感器節點、網關節點和用戶三者之間的交互認證,并且用戶能方便地更改密碼。安全性分析、性能分析及仿真實驗的結果表明,與已提出的認證方案相比,該方案能夠抵制重放攻擊、內部攻擊、偽裝攻擊等,同時計算花費少,適合于對安全性和性能有要求的無線傳感器網絡。
本文引用地址:http://www.104case.com/article/276364.htm引言
隨著近年來通信技術的進步,無線傳感器網絡已成為研究熱點。這種網絡由大量微小的傳感器節點組成,可用來監控溫度、濕度、壓力等因素,現被廣泛應用于軍事、環境監控、醫療監護等領域中。然而,隨著無線傳感器網絡滲入的領域越來越多,安全問題就顯得越來越突出,認證技術成為了無線傳感器網絡安全領域的研究重點 。傳統的認證方案沒有考慮三者之間的交互認證以及對傳感器節點是否可信的驗證,一般只進行用戶、網關節點和傳感器節點之間的單向認證,但是隨著攻擊者攻擊方式的多樣化,傳感器節點很容易受到攻擊而妥協,從而對整個認證過程造成威脅。因此,如何實現在認證的過程中加入節點信任度以及交互認證很有前景。本論文針對傳感器節點容易妥協的特點,提出一種加入輕量級的節點信任度評估和交互認證的認證方案。此認證方案改進了認證過程,從而極大地提高了認證過程的安全性,并且也避免了使用復雜算法所帶來的計算消耗,從而有效地提高了無線傳感器網絡的生命周期。
論文結構組織如下:第一章將討論相關工作。第二章將詳細介紹所提出的方案。第三章將具體地對所提出的方案進行安全性和性能分析。第四章將對所進行的研究進行總結。
1 相關工作
從安全通信的角度來說,認證是一個很重要的研究主題。在2004年,Watro等在[2中提出一種用戶認證方案,即TinyPK,它把RSA和Diffie-Hellman算法結合起來使用。然而當攻擊者偽裝成傳感器節點和用戶進行會話時這個方案存在安全隱患。當攻擊者截獲了用戶的公鑰時,可以把自己的會話密鑰進行加密發送給用戶,而用戶卻沒有察覺,從而使得用戶使用攻擊者的會話密鑰與攻擊者進行通信。在2006年,Wong等在[3]提出了一種無線傳感器網絡的動態用戶認證方案,這個方案使用了異或操作和單向哈希函數,這很好地節省了計算的復雜度并減少了計算負載。然而Das在[4]中指出Wong等所提出的方案對偽裝攻擊和重放攻擊很難防范,并提出一種改進的方案,即無線傳感器網絡的二因素用戶認證方案。
本文所提出的方案將使用一個輕量級的節點信任度計算方法,充分利用節點間的交互,并且在認證過程中,充分實現用戶、網關節點和傳感器節點三者之間的交互認證,盡量避免上述的攻擊,此外在用戶發現威脅時可以及時更新密碼。
2 無線傳感器網絡基于三因素節點評估的安全認證
這一節將具體介紹所提出的無線傳感器網絡基于節點信任度的安全認證。首先,介紹一下計算節點信任度的方法,然后再具體介紹認證的全過程,該過程分為5個階段,隨后將一一介紹。
2.1 基于三因素節點信任度評估與決策
節點信任度用來指代一個節點對另一個節點的特定行為的主觀信任程度。直接信任度是一個節點不需要通過第三方直接對另一個結點評估得到的信任度,而間接信任度是一個節點通過第三方節點來對另一個節點得出的信任度,而這個第三方節點通常是兩個節點的公共鄰居[8]。綜合信任度是由直接信任度和間接信任度通過結合得到的。在計算節點信任度的過程中,把時間分為多個時間片,每個時間片的的大小為t1,總時間為T(T=n*t1),使用時間片是為了防止自私節點偽裝成正常節點。
IDTij(t)表示t時刻節點i對節點j評估所得出的直接信任度,Pij(t)表示到t時刻節點i所觀察到的節點 j所做出的積極事情的個數,Nij(t)是到t時刻節點i所觀察到的節點 j所做出的消極事情的個數。a表示安全行動系數,如果一個應用越安全,該系數就越高,它主要用來對節點最近行為進行反映。Fij(t)用來衡量節點i和節點j到t時刻為止交互的頻繁程度,一個節點只有獲得多次好評才達到很高的信任度從而防止惡意節點通過很少的交互次數達到很高的信任值,通常用表示,b是到t時刻兩個節點交互的次數[9]。直接信任度計算公式如下:
(1)
IDTij(t)表示t時刻節點i對節點j進行評估所得到的間接信任度,假設是節點i,j所共同的鄰居節點。首先計算到t時刻節點i對鄰居節點所評估的直接信任度之和DT如下:
(2)
之后,可以通過DT求間接信任度IDTij,公式如下:
(3)
ω(kx)是節點kx的推薦可信度,可以用來刻畫推薦節點所提供信息的準確性和真實性。
節點j的綜合信任度Tω(t)公式如下:
(4)
βDT和βIDT分別是直接信任度和間接信任度的權值,,并且滿足βIDT+βDT =1,P是現在時間片的序號[10]。
接下來需要設定系統信任的閾值。在初始時候,設定閾值為0.5。若節點的綜合信任度小于系統信任的閾值,則認為該節點不可信,不可與之交互;否則認為該節點可信,可與之交互。之后,把先前所接受的信任度值的平均值作為當前閾值,周期性地進行比較。每個節點都會保存一份鄰近節點的信任度表,并且每t1更新一次。
接下來將介紹所提出的基于三因素節點信任度評估的認證,在介紹之前,先介紹一下后面將會用到的標記的象征,如表1 。它分為5個階段:注冊階段,登錄階段,認證階段,交互階段,密碼修改階段,而信任模型主要用于可信傳感器節點的選擇,并用于認證階段。
2.2 注冊階段
在這一階段,用戶Ui提交其IDi和PW通過一個安全的通道傳給網關節點,然后網關節點通過計算給用戶一張智能卡[11]。這個過程如下:
(1)UiGW:{IDi,PW}。PW=h(PW
B),B是用戶隨機產生的一個大數。
(2)GW收到注冊請求后,產生一個隨機數x,計算Ni=h(PW||IDi) h(x)。
(3)GWUi:把{h(.),Ni,x,IDi,PW}存進用戶智能卡,把智能卡傳輸給用戶用于身份認證。
(4)當用戶收到智能卡后,把B加入得{h(.),Ni,x,IDi,PW,B}。
評論