中文字幕无码日韩视频无码三区

一種無線體域網絡安全傳輸方法

文檔序號:7801253閱讀:208來源:國知局
一種無線體域網絡安全傳輸方法
【專利摘要】本發明公開了一種無線體域網絡安全傳輸方法,其包括以下階段:1、系統初始化:系統利用節點的時鐘進展頻率以及兩節點的時鐘偏移,交換兩相鄰節點及節點與Sink節點之間的時鐘進展頻率,形成兩種類型的成對密鑰;2、安全路由形成:當所有節點收到“OK”信息后,每個節點刪除原來AODV路由信息,采用改進的AODV協議形成安全路由和加密傳輸數據;3、數據加密傳輸:將數據包分為路由信息Data1和感知數據Data2兩部分,分別用兩種不同的成對密鑰加密,兩相鄰節點互相驗證Data1,Sink節點驗證Data2,然后進行傳輸。本方案支持“即插即用”且能夠保證BAN數據安全與隱私,適用于所有的BAN網絡。
【專利說明】一種無線體域網絡安全傳輸方法

【技術領域】
[0001]本發明涉及無線網絡加密傳輸領域,尤其是涉及一種無需事先預裝密鑰的無線體域網絡安全傳輸方法。

【背景技術】
[0002]無線體域網絡BAN (Body Area Network),是一種穿戴在被監護者身上監測人體生理和醫學數據的網絡,其傳感節點通過一跳或多跳的方式將感知的數據傳送到BAN的Sink節點,該節點可以進一步將數據傳送PC或PDA,對被監護者(老人、嬰幼兒、運動員、殘疾人以及慢性病者)提供生理數據實時監測,還廣泛應用于消費者電子、娛樂、運動、環境智能、畜牧、軍事或安全等領域。盡管BAN是WSN (無線傳感器網絡,Wireless Sensor Network)的分支,與WSN有很多相似性JMBAN在部署方式、節點類型與規模、流量類型、延遲、移動性等方面又不同于通用WSN,特別是WSN往往假定在無人值守的條件下運行,而BAN是運行在有人值守的環境中(被監護者本人、醫務人員或家人)。
[0003]由于BAN中傳感節點感知的被監護者相關的生理和醫學數據對醫學診斷和治療起著相當重要的作用,并且還涉及到被監護者個人隱私問題,因而數據安全和隱私是BAN網絡的一個關鍵問題,同時臨床應用的安全措施又希望“即插即用”的簡單操作。信息加密與節點認證是保證網絡安全通信的主要措施,密鑰Key管理又是保證信息保密性、完整性及阻止非法節點入侵的關鍵。在通用傳感網絡中,保證數據安全主要有預裝對稱密鑰和非對稱公鑰技術兩種,但這都不適用于BAN網絡。
[0004]預裝對稱密鑰技術:由于BAN節點規模較小(一般N小于50),每個節點預裝N_1個密鑰,就可以保證任意兩接點間數據加密傳輸,這表面看可行,但存在以下問題:
(1)每一個BAN必須預裝不同于其它BAN的N-1個密鑰,否則當兩個穿戴BAN的病人靠近時,兩個BAN的節點間可能形成成對密鑰導致錯誤的傳輸;
(2)由于BAN節點異類,可能來自不同的生產廠家,終端用戶(醫務人員或病人)給BAN中的每個節點分配N-1個密鑰是很困難的,他們在臨床中更希望“即插即用”(Plug-And-Play)的簡單操作,即BSN中任何形式的Key分布與管理過程都應最小化、自動化且對用戶透明;
(3)即使經過努力預裝了N-1個密鑰,但當BAN工作后發現密鑰泄露,在臨床中改變預裝的N-1個密鑰也是很困難的。
[0005]非對稱公鑰技術:該技術主要有以下問題:
(O能量和計算開銷不適合資源受限的傳感節點;
(2)對環境的依賴和操作復雜性限制了在臨床中的應用。
[0006]目前,在BAN中主要利用人體生理信息和無線信道屬性來產生對稱密鑰加密數據,在沒有事先共享密鑰的情況下,獲得了“即插即用”效果,但兩者都有不足之處:
1、利用人體生理信息由于BSN網絡是用于監測人的生理信息,而生理信息是不易模仿的。許多研究利用腦電圖(EEG)、光電血管容積圖(PPG)、心電圖(ECG)等生理信息,建立秘密信道對節點和信息進行認證。然而,這需要所有節點具備感知相同的某信號(EEG或ECG等)的能力,對節點硬件提出了新的要求;此外,在被監護者身上不同位置的傳感節點測量相同的生理信號,很難具備相同的準確性,也就是說密鑰恢復的準確性不能保證100%。
[0007]2、利用節點與無線信道的物理屬性
利用BAN/BSN網絡的信道特征和節點自身的物理屬性來產生對稱密鑰是一個比較新的方向,比較容易獲取的物理屬性主要有信號強度(Signal Strength),解決了利用人體生理信息帶來的密鑰恢復準確性不能保證100%的問題。然而,由于大多數無線傳感節點采用半雙工通信,RSS的測量不能在兩個方向同時進行,且兩節點間密鑰產生要經歷對無線信號進行采樣、量化、協調(Reconcile)、私隱放大(Privacy Amplificat1n)四個階段,這帶來了密鑰提取的低效率問題。
[0008]中華人民共和國國家知識產權局于2012年08月01日公開了申請公布號為CN102624530A的專利文獻,名稱是無線體域網的無證書遠程匿名認證方法,其通過公鑰/私鑰配合的方法實現數據的加密,存在準確性低和提取效率低的問題。


【發明內容】

[0009]本發明主要是解決現有技術所存在的無法兼顧即插即用特性和準確性、提取效率的技術問題,提供一種無需事先預裝密鑰,在不需要增加附加硬件的情況下,用傳感節點與Sink節點的成對密鑰加密數據及兩相鄰節點的成對密鑰加密路由信息的思想和方法,支持“即插即用”,使得保證BAN數據安全與隱私這一復雜的理論與技術問題變得具有可操作性和實用性的無線體域網絡安全傳輸方法。
[0010]本發明針對上述技術問題主要是通過下述技術方案得以解決的:一種無線體域網絡安全傳輸方法,包括以下階段:
(1)系統初始化:系統利用節點的時鐘進展頻率以及兩節點的時鐘偏移的動態性與唯一'I"生,在Sink節點標準時間控制下,交換兩相鄰節點及節點與Sink節點之間的時鐘進展頻率,形成兩種類型的成對密鑰;
(2)安全路由形成:當所有節點收到“0K”信息后,每個節點刪除原來AODV(Ad hocon-demand distance vector routing)路由信息,采用改進的AODV協議形成安全路由和加密傳輸數據;
(3)數據加密傳輸:將數據包分為路由信息Datal和感知數據Data2兩部分,分別用兩種不同的成對密鑰加密,兩相鄰節點互相驗證Datal,Sink節點驗證Data2,然后進行傳輸。
[0011]作為優選,如果CFx (?)表示節點z在真實時間?的時間,時鐘進展頻率CF/ (?)定義為:
CF/ (t) =dCFx(t) /dt (?>=0) (I)
Sink節點的時間作為真實時間,真實時間的時鐘進展頻率等于I ;
節點I與節點2的時鐘偏移6?⑴定義為CF/⑴和CF/⑴的差值:
CS12(t)= CF/ ⑴-CF/ ⑴ (2)
節點z的ID記為IDx ;
系統初始化具體操作為: (1)Sink節點以單跳方式向無線體域網絡中所有節點廣播兩個隨機間隔的標準時間戳
T1 和 T2 ;
(2)節點z收到T1和&后,用公式(I)計算出自己的時鐘進展頻率為:
CF/ {T2-TXCFx(J2)- CF人T;)、/ { T2-T1)
節點z保存CFx z [T2-T1),并將CFx z {T2-T;) HDx通過原始的AODV協議發送給Sink節點,當無線體域網絡工作時,節點Z用尤對感知的數據進行加密,Zr定義如下:
K=FiCF/ (T2-T1), IDx)(3)
這里F為密鑰生成函數,根據需要產生指定長度的密鑰,但密鑰必須滿足某些數學特征。例如,如果IDx長度為I字節,CF: [T2-T1)為4字節,產生64位的密鑰需根據IDx和CFx, [T2-T1)的值的不同,插入3字節滿足數學特征;比如可以用Hash函數來生成密鑰;
(3)節點z將CF/[T2-T1) HDx發送給Sink節點時,x的一跳范圍內的鄰居節點也會收到該信息并保存在自己存儲中;同樣,z作為鄰居節點也會收到其它節點的時鐘進展頻率和ID信息,這樣,BAN中兩節點完成了時鐘進展頻率交換;
(4)在節點z到Sink節點的路徑上,兩相鄰節點都有對方的時鐘進展頻率,其時鐘偏移與兩節點的ID產生的密鑰^? H是唯一的,用于加密路由信息,兩節點進行相互認證或^相同,定義如下:
Kmn=Ktw=FiCSmn [T2-T1),IDm, IDn)(4)
CSmn(T2-T1) =ABS(CF/ (T2-T1)- CF/ (T2-T1))
這里F為密鑰生成函數,與公式(3)相同,ABS為取絕對值;
(5)Sink節點收到所有節點的時鐘進展頻率和ID信息后,Sink節點與每一個節點z形成了一個成對密鑰尤,用于加密數據本身,兩相鄰節點》、η形成了成對密鑰Kmn或用于加密路由信息;當Sink節點以單跳方式廣播“0K”信息后,BAN進入安全路由形成和數據加密傳輸階段。
[0012]作為優選,當所有節點收到“0K”信息后,每個節點刪除原來AODV路由信息,采用改進的AODV協議形成安全路由和加密傳輸數據;改進的AODV協議消息是在原有消息基礎上增加一個時鐘進展頻率字段CF ;當節點z希望向Sink節點發送數據時,首先要發送RREQ(路由請求)消息形成到Sink節點的安全路由,然后再根據該路由傳送數據,數據源節點z請求形成到Sink節點的安全路由操作如下:
(1)節點Z產生一條RREQ消息,同原來AODV—樣填充里面各字段信息,增加的CF字段用節點Z的CFxz {Τ2-Τ;)填充,然后廣播給鄰居節點;
(2)當節點Z的鄰居節點》收到RREQ消息時,分三種情況操作如下:
A.如果RREQ消息中的CF字段為空,說明RREQ來自一個不信任節點,停止轉發該消息;
B.如果RREQ消息中的CF字段存在且節點中保存有節點z的CF值CF/[T2-T1),節點歷比較兩者的值是否相等,如果相等,節點?用自己的CF值CF/ [T2-T1)替換RREQ消息中節點Z的CF值,繼續轉發該RREQ ;否則,停止轉發;
C.如果RREQ消息中的CF字段存在且節點?中沒有保存節點z的CF值,節點?就向Sink節點請求節點z的CF值,如果Sink節點有節點z的CF值,就將CFx, [T2-T1)用Km加密后以單跳方式發送給節點節點?收到該消息并用^正確解密后,保存CF/ [T2-T1)在內存中,后續操作與B相同;
(3)當節點?的鄰居節點收到RREQ消息后,同步驟(2)類似的方式轉發RREQ消息;
(4)當Sink節點收到RREQ消息時,產生一條RREP(路由回應)消息,用Sink節點的CF值填充RREP的CF字段,然后單播傳回給Sink節點的鄰居節點;
(5)當Sink節點的鄰居節點收到RREP消息后,同步驟(2)類似傳回RREP消息;
(6)當數據源節點z收到RREP消息時,就形成了只有合法節點參與的安全路由。
[0013]作為優選,N1、N2和N3都為節點,假定NI到Sink的安全路由為Nl->N2->N3->Sink,源節點NI產生由標記Tag、Datal和Data2組成的數據包;Tag為消息類型,Datal包含源ID、目標ID和數據產生時間信息,Data2為NI實際感知的數據;在加密數據傳輸中,節點N1、N2、N3和Sink操作如下:
(1)Nl:將Data2用只有NI和Sink節點知道的成對密鑰加密得到萬(ZfeidJ1),Datal用只有節點NI和N2知道的成對密鑰J12加密為J12),然后將數據包單播傳送給N2 ;
(2)N2:先用仏解密出Datal,即K12)得到Datal,獲取路由信息后再用只有節點N2和N3知道的成對密鑰J23加密為,然后將數據包傳送給N3 ;E為加密操作,D為解密操作;
(3)N3:先用J23解密出Datal,即K2,)得到Datal,獲取路由信息后再用只有節點N3和Sink節點知道的成對密鑰Atl加密為萬(ZfeteU3tl),然后將數據包傳送給Sink節點;
(4)Sink:先用J3tl解密出Datal, D (β Watal,K,0), IQ得到Datal,獲取源節點信息后,用A解密出Data2,即K1)獲得真實數據Data2。
[0014]加解密可以使用常規的算法來處理,比如AES算法。
[0015]本發明帶來的實質性效果是,在保證安全性的前提下,滿足了即插即用的特性,不需要通過復雜的過程來設置密鑰,具備良好的密鑰恢復準確性,也不存在密鑰提取效率低的問題。

【專利附圖】

【附圖說明】
[0016]圖1是本發明的一種通用BAN結構示意圖;
圖2是本發明的一種改進的AODV協議消息結構示意圖;
圖3是本發明的一種加密與傳輸過程示意圖。

【具體實施方式】
[0017]下面通過實施例,并結合附圖,對本發明的技術方案作進一步具體的說明。
[0018]實施例:本實施例的一種無需事先預裝密鑰的無線體域網絡BAN(Body ArearNetworks)安全傳輸方法,分為三個階段:
(O系統初始化:系統初始化需在安全環境下進行,利用節點的時鐘進展頻率(微秒級),兩節點的時鐘偏移Clock Skew的動態性與唯一'丨生,在Sink標準時間控制下,交換兩相鄰節點及節點與Sink之間的時鐘進展頻率,形成兩種類型的成對密鑰(Pairwise Key);
(2)安全路由形成:通過對著名的反應式協議AODV的改進,形成只有合法節點參與的安全路由;
(3)將數據包分為路由信息Datal和感知數據Data2兩部分,分別用兩種不同的成對密鑰加密,兩相鄰節點互相驗證Datal, Sink節點驗證Data2,這樣既提高了加密、解密的效率,又保證了數據安全與隱私。
[0019]一、系統模型 I網絡模型
本發明的通用BAN結構如圖1所示,圖中正方形節點為Sink節點(ID=0),假定:
(1)有#個傳感節點(S1,S2,……,SN}部署在被監護者身上(一般來說BANmArGO),每個節點有唯一 ID (大于O),節點互不相關(每個節點能獨立確定感知的數據),配有相同的無線通信接口,如ZigBee ;
(2)有I個Sink節點,其ID=0,收集所有傳感節點感知的數據,其本身是安全的,并且知道當前運行BAN中的節點ID和每個節點產生數據的頻率間隔;
(3)Sink節點由于有足夠的功率可以用一跳方式或多跳的方式向所有傳感節點傳送數據,傳感節點采用甚低功率的短距離傳輸(對人體有益),以多跳的方式向Sink節點傳送感知的數據,傳輸協議使用AODV ;
(4 ) BAN網絡已采取某種時間同步機制,但在PPM級是不同的,其同步本身是安全的;
(5)BAN初始化或添加新節點復位時,周圍沒有惡意節點(由醫務人員或監護人操作,在室內環境下是可以保證的),在通用WSN中,往往也進行這樣假設;
2攻擊模型
本發明主要考慮數據的機密性和完整性,攻擊模型假定為:
(1)在無線通信范圍內,攻擊者可以隨意偷聽BAN中各節點發出的數據,修改或延遲后能以各種功率向BAN中繼續傳播;
(2)攻擊者可以假冒其它合法節點,向BAN網絡發布偽造數據;
(3)攻擊者可以進行節點捕獲攻擊。
[0020]二、協議描述
I時鐘進展頻率與時鐘偏移
如果CFx(i)表示節點Z在真實時間t的時間,時鐘進展頻率(簡稱為CF)CF/ (?)定義為:
CF/ (t) =dCFx(t) /dt (?>=0) (I)
Sink節點的時間作為真實時間,真實時間的時鐘進展頻率等于I ;
節點I與節點2的時鐘偏移6?⑴定義為CF/⑴和CF/⑴的差值:
CS12(t)= CF/ ⑴-CF/ ⑴ (2)
節點X的ID記為IDx ;
通常,現代處理器數字時鐘具有下面兩個屬性:
1、任何時鐘的時鐘偏移在正常溫度下是穩定的;
2、每一個穩定的時鐘偏移可以認為是唯一的。
[0021]2系統初始化
在安全環境下,當BAN加電或復位(系統初始化)時,各節點清除已保存在存儲器中的原有時鐘進展頻率和路由信息,采用未改進的AODV傳送數據,操作如下: (1)Sink節點以單跳方式向無線體域網絡中所有節點廣播兩個隨機間隔的標準時間戳
T1 和 T2 ;
(2)節點z收到T1和&后,用公式(I)計算出自己的時鐘進展頻率為:
CF/ {T2-TXCFx(J2)- CF人T;)、/ { T2-T1)
節點z保存CFx z [T2-T1),并將CFx z {T2-T;) HDx通過原始的AODV協議發送給Sink節點,當無線體域網絡工作時,節點Z用尤對感知的數據進行加密,Zr定義如下:
K=FiCF/ (T2-T1), IDx)(3)
這里F為密鑰生成函數,根據需要產生指定長度的密鑰;
(3)節點z將CF/[T2-T1) HDx發送給Sink節點時,x的一跳范圍內的鄰居節點也會收到該信息并保存在自己存儲中;同樣,z作為鄰居節點也會收到其它節點的時鐘進展頻率和ID信息,這樣,BAN中兩節點完成了時鐘進展頻率交換;
(4)在節點z到Sink節點的路徑上,兩相鄰節點都有對方的時鐘進展頻率,其時鐘偏移與兩節點的ID產生的密鑰^? H是唯一的,用于加密路由信息,兩節點進行相互認證或^相同,定義如下:
Kmn=Ktw=FiCSmn [T2-T1),IDm, IDn)(4)
CSmn(T2-T1) =ABS(CF/ (T2-T1)- CF/ (T2-T1))
這里F為密鑰生成函數,與公式(3)相同,ABS為取絕對值;
(5)Sink節點收到所有節點的時鐘進展頻率和ID信息后,Sink節點與每一個節點z形成了一個成對密鑰尤,用于加密數據本身,兩相鄰節點》、η形成了成對密鑰Kmn或用于加密路由信息;當Sink節點以單跳方式廣播“0K”信息后,BAN進入安全路由形成和數據加密傳輸階段。
[0022]3安全路由形成
當所有節點收到“0K”信息后,每個節點刪除原來AODV路由信息,采用改進的AODV協議形成安全路由和加密傳輸數據。改進的AODV協議消息是在原有消息基礎上增加一個時鐘進展頻率字段CF,如圖2所示;形成路由的方法與原來AODV相似,但多了 CF驗證過程。當節點z希望向Sink節點發送數據時,首先要發送RREQ請求形成到Sink的安全路由,然后再根據該路由傳送數據,數據源節點Z請求形成到Sink的安全路由操作如下:
(1)節點Z產生一條RREQ消息,同原來AODV—樣填充里面各字段信息,增加的CF字段用節點Z的CFxz {Τ2-Τ;)填充,然后廣播給鄰居節點;
(2)當節點Z的鄰居節點》收到RREQ消息時,分三種情況操作如下:
A.如果RREQ消息中的CF字段為空,說明RREQ來自一個不信任節點,停止轉發該消息;
B.如果RREQ消息中的CF字段存在且節點中保存有節點z的CF值CF/(&-/;),節點?比較兩者的值是否相等,如果相等,節點?用自己的CF值CF/ [T2-T1)替換RREQ消息中節點Z的CF值,繼續轉發該RREQ ;否則,停止轉發(說明RREQ可能來自一個假冒節點);
C.如果RREQ消息中的CF字段存在且節點m中沒有保存節點z的CF值,這可能是由于人體運動或不同姿勢造成網絡拓撲結構發生變化的結果。節點》就向Sink節點請求節點z的CF值,如果Sink節點有節點z的CF值,就將CFx, [T2-T1)用Km加密后以單跳方式發送給節點ffi,節點?收到該消息并用Km正確解密后,保存CF: [T2-T1)在內存中,后續操作與B相同;
(3)當節點的鄰居節點收到RREQ消息后,同步驟(2)類似的方式轉發RREQ消息;
(4)當Sink節點收到RREQ消息時,產生一條RREP消息,用Sink節點的CF值(等于I)填充RREP的CF字段,然后單播傳回給Sink節點的鄰居節點;
(5)當Sink節點的鄰居節點收到RREP消息后,同步驟(2)類似傳回RREP消息;
(6)當數據源節點z收到RREP消息時,就形成了只有合法節點參與的安全路由。
[0023]4加密數據傳輸
當安全路由形成后,數據源節點就可以向Sink傳送數據了,其加密與傳輸過程如圖3所示。
[0024]在圖3中,N1、N2和N3都為節點,假定NI到Sink的安全路由為Nl->N2->N3_>Sink,源節點NI產生由標記Tag、Datal和Data2組成的數據包;Tag為消息類型,Datal包含源ID、目標ID和數據產生時間信息,Data2為NI實際感知的數據;在加密數據傳輸中,節點N1、N2、N3和Sink操作如下:
(1)Nl:將Data2用只有NI和Sink節點知道的成對密鑰&加密得到萬(ZfeidJ1),Datal用只有節點NI和N2知道的成對密鑰J12加密為J12),然后將數據包單播傳送給N2 ;
(2)N2:先用J12解密DatalK12)得到Datal,獲取路由信息后再用只有節點N2和N3知道的成對密鑰K2z %\\密為EQ)atal,K2?),然后將數據包傳送給N3 ;E為加密操作,D為解密操作;
(3)N3:先用J23解密出Datal,即K2,)得到Datal,獲取路由信息后再用只有節點N3和Sink節點知道的成對密鑰Κ?Λ加密Datal,即萬(ZfeialU,然后將數據包傳送給Sink節點;
(4)Sink:先用J3tl解密出Datal, D (β Watal,K,0), IQ得到Datal,獲取源節點信息后,用A解密出Data2,即&),木)獲得真實數據Data2。
[0025]5安全性分析
下面從密鑰動態性與準確性、被動與主動攻擊、節點捕獲、新節點加入和“即插即用”等方面分析我們發明的安全性:
(I)密鑰動態性與準確性:每次初始化產生的兩種密鑰是動態的,這是由于Sink節點廣播的標準時間間隔是隨機的,CF又隨環境溫度而變化,密鑰計算公式(3)、(4)又與節點ID (唯一的)捆綁,因而,兩種密鑰又是唯一的;
本發明不會帶來利用生理信息產生對稱密鑰恢復的準確性問題,也沒有從無線信道的物理屬性提取密鑰的低效率問題;這是因為CF由節點自己計算,不需要一個節點去測量另一節點的CF,在安全環境下兩相鄰節點完成CF值交換,沒有密鑰提取過程。
[0026](2)被動攻擊:偷聽節點可以無限接近BAN,偷聽BAN中各節點發出的數據;由于節點數據包分為兩個部分,分別用兩種不同的成對密鑰加密,安全路由上的合法節點只知道數據來自哪個節點,也不知道數據的內容;即使偷聽者知道了密鑰生成函數A也不知道偷聽的信息由哪個節點發出,也不知道哪個鄰居節點接收,偷聽者分析密鑰仏是很困難的,而尤又與z的ID緊密相關,因而很難得到真實的Data2。
[0027](3)主動攻擊對主動攻擊的三種主要表現方式進行分析:
重放:對攻擊者來說,只有重放過時數據才有意義。假定攻擊者冒充節點Z廣播過時的數據(不做任何修改,只是延遲轉發),只有z的鄰居節點i能正確解密Jri),獲取路由信息,轉發給i的鄰居節點,其它節點由于不能正確解密^而停止轉發;但BAN全網時間同步,在z節點可以用一個時間域值判斷該數據包是否過時,即使在域值時間內,數據傳到了 Sink節點,Sink節點也會將該數據同該節點的上一次數據比較而丟棄過時數據并報警;
假冒:假冒就是攻擊者假冒合法節點ID向Sink節點發送偽造數據。假定假冒節點功率足夠大,所有BAN/BSN中的合法節點都能收到假冒節點發出的消息。如果假冒節點是一個新節點,發送數據前要先形成安全路由,由于形成安全路由需要對節點進行認證,所有合法節點中(含Sink)沒有假冒節點的CF信息,不能建立路由信息,因而不能把偽造信息發送給Sink節點;如果假冒一個合法節點z發出偽造數據,攻擊者必須向z的鄰居節點i提供X的CF信息;攻擊者由于沒有該項數據而不能形成路由,因而不能將假冒合法節點向Sink傳輸數據。
[0028]篡改:篡改是修改數據后再重放,也就是攻擊者修改了 Data2 (Datal未修改),將合法節點Z的數據包再發送一次;與Z相鄰的合法節點都收到該偽造信息,但AODV行成的路由是單播傳輸的,不在Z到Sink路由上的節點不會理睬該偽造信息,在路由表上的z鄰居節點i (第一跳節點)用與合法節點z間的密鑰Jri解密,Zri)(中間節點不驗證Data2),未發現錯誤,數據能發送到Sink節點,但Sink節點不能用Zr解密,因而丟棄該數據并報警。
[0029](4)節點捕獲
假定節點被捕獲(丟失或其它途徑),合法節點離開被監護者一段時間后,變成惡意節點又回到原來的BAN中;這段時間攻擊者可以獲得合法節點里CF及其鄰居節點的CF,可以通過密鑰生成函數I計算出兩種成對密鑰,也就是BAN沒有任何秘密可言,攻擊模型也考慮到這種情況。由于BAN屬于有人值守網絡,節點異類且無冗余節點,出現節點丟失時,首先Sink在一定時間范圍內(節點產生數據的間隔)能夠感知某節點故障或丟失而報警;其次,即使發現節點捕獲攻擊(病人、醫務人員比較容易發現節點丟失或被替換),清除惡意接點后,只需在安全環境下重新加電復位,Sink廣播新的T1和T2,惡意節點再次進入BAN時,因為上次產生的CF信息已經不再使用,同樣不能進行被動和主動攻擊。
[0030](5)新節點加入與“即插即用”
當需要在原有BAN中加入新的傳感節點時,只需在安全環境下,安裝新節點到被監護者身上后,執行一次加電復位就行;從內部講就是重新進行系統初始化(密鑰產生)、安全路由形成、加密數據傳輸三個過程;從外部講加電復位本身就是一個按鈕操作,對醫務人員、家庭監護人等是可操作的,不需要特殊的專業知識,因而滿足“即插即用”。
[0031]本文中所描述的具體實施例僅僅是對本發明精神作舉例說明。本發明所屬【技術領域】的技術人員可以對所描述的具體實施例做各種各樣的修改或補充或采用類似的方式替代,但并不會偏離本發明的精神或者超越所附權利要求書所定義的范圍。
[0032]盡管本文較多地使用了節點、進展頻率、偏移等術語,但并不排除使用其它術語的可能性。使用這些術語僅僅是為了更方便地描述和解釋本發明的本質;把它們解釋成任何一種附加的限制都是與本發明精神相違背的。
【權利要求】
1.一種無線體域網絡安全傳輸方法,其特征在于,包括以下階段: (1)系統初始化:系統利用節點的時鐘進展頻率以及兩節點的時鐘偏移的動態性與唯一'丨生,在Sink節點標準時間控制下,交換兩相鄰節點及節點與Sink節點之間的時鐘進展頻率,形成兩種類型的成對密鑰; (2)安全路由形成:當所有節點收到“0K”信息后,每個節點刪除原來AODV路由信息,采用改進的AODV協議形成安全路由和加密傳輸數據; (3)數據加密傳輸:將數據包分為路由信息Datal和感知數據Data2兩部分,分別用兩種不同的成對密鑰加密,兩相鄰節點互相驗證Datal,Sink節點驗證Data2,然后進行傳輸。
2.根據權利要求1所述的一種無線體域網絡安全傳輸方法,其特征在于,如果CFrU)表示節點^在真實時間t的時間,時鐘進展頻率CF/ (?)定義為: CF/ (t) =dCFx(t) /dt (?>=0) (I) Sink節點的時間作為真實時間,真實時間的時鐘進展頻率等于I ; 節點I與節點2的時鐘偏移6?⑴定義為CF/⑴和CF/⑴的差值: CS12(t)= CF/ ⑴-CF/ ⑴ (2) 節點X的ID記為IDx ; 系統初始化具體操作為: (1)Sink節點以單跳方式向無線體域網絡中所有節點廣播兩個隨機間隔的標準時間戳T1 和 T2 ; (2)節點z收到T1和&后,用公式(I)計算出自己的時鐘進展頻率為:
CF/ (T2-T^{CFx{J2)~ CF人T;)、/ { T2-T1) 節點z保存CFx z [T2-T1),并將CFx z {T2-T;) HDx通過原始的AODV協議發送給Sink節點,當無線體域網絡工作時,節點Z用尤對感知的數據進行加密,Zr定義如下: K=FiCF/ (T2-T1), IDx)(3) 這里F為密鑰生成函數,根據需要產生指定長度的密鑰; (3)節點z將CF/[T2-T1) HDx發送給Sink節點時,x的一跳范圍內的鄰居節點也會收到該信息并保存在自己存儲中;同樣,z作為鄰居節點也會收到其它節點的時鐘進展頻率和ID信息,這樣,BAN中兩節點完成了時鐘進展頻率交換; (4)在節點z到Sink節點的路徑上,兩相鄰節點都有對方的時鐘進展頻率,其時鐘偏移與兩節點的ID產生的密鑰^? H是唯一的,用于加密路由信息,兩節點進行相互認證或^相同,定義如下:
Kmn=Ktw=FiCSmn [T2-T1),IDm, IDn)(4)
CSmn(T2-T1) =ABS(CF/ (T2-T1)- CF/ (T2-T1)) 這里F為密鑰生成函數,與公式(3)相同,ABS為取絕對值; (5)Sink節點收到所有節點的時鐘進展頻率和ID信息后,Sink節點與每一個節點z形成了一個成對密鑰尤,用于加密數據本身,兩相鄰節點》、η形成了成對密鑰Kmn或用于加密路由信息;當Sink節點以單跳方式廣播“0K”信息后,BAN進入安全路由形成和數據加密傳輸階段。
3.根據權利要求2所述的一種無線體域網絡安全傳輸方法,其特征在于,當所有節點收到“0K”信息后,每個節點刪除原來AODV路由信息,采用改進的AODV協議形成安全路由和加密傳輸數據;改進的AODV協議消息是在原有消息基礎上增加一個時鐘進展頻率字段CF ;當節點z希望向Sink節點發送數據時,首先要發送RREQ請求形成到Sink節點的安全路由,然后再根據該路由傳送數據,數據源節點Z請求形成到Sink節點的安全路由操作如下: (1)節點Z產生一條RREQ消息,同原來AODV—樣填充里面各字段信息,增加的CF字段用節點Z的CF/ {Τ2-Τ;)填充,然后廣播給鄰居節點; (2)當節點Z的鄰居節點》收到RREQ消息時,分三種情況操作如下: A.如果RREQ消息中的CF字段為空,說明RREQ來自一個不信任節點,停止轉發該消息; B.如果RREQ消息中的CF字段存在且節點中保存有節點z的CF值CF/(T2-T1),節點歷比較兩者的值是否相等,如果相等,節點?用自己的CF值CF/ [T2-T1)替換RREQ消息中節點Z的CF值,繼續轉發該RREQ ;否則,停止轉發; C.如果RREQ消息中的CF字段存在且節點?中沒有保存節點z的CF值,節點?就向Sink節點請求節點z的CF值,如果Sink節點有節點z的CF值,就將CFx, (T2-T1)用Km加密后以單跳方式發送給節點節點?收到該消息并用^正確解密后,保存CF/ [T2-T1)在內存中,后續操作與B相同; (3)當節點?的鄰居節點收到RREQ消息后,同步驟(2)類似的方式轉發RREQ消息; (4)當Sink節點收到RREQ消息時,產生一條RREP消息,用Sink節點的CF值填充RREP的CF字段,然后單播傳回給Sink節點的鄰居節點; (5)當Sink節點的鄰居節點收到RREP消息后,同步驟(2)類似傳回RREP消息; (6)當數據源節點z收到RREP消息時,就形成了只有合法節點參與的安全路由。
4.根據權利要求2或3所述的一種無線體域網絡安全傳輸方法,其特征在于,N1、N2和N3都為節點,假定NI到Sink的安全路由為Nl->N2->N3->Sink,源節點NI產生由標記Tag、Datal和Data2組成的數據包;Tag為消息類型,Datal包含源ID、目標ID和數據產生時間信息,Data2為NI實際感知的數據;在加密數據傳輸中,節點N1、N2、N3和Sink操作如下: (1)Nl:將Data2用只有NI和Sink節點知道的成對密鑰加密得到萬(ZfeidJ1),Datal用只有節點NI和N2知道的成對密鑰J12加密為J12),然后將數據包單播傳送給N2 ; (2)N2:先用仏解密出Datal,即K12)得到Datal,獲取路由信息后再用只有節點N2和N3知道的成對密鑰J23加密為,然后將數據包傳送給N3 ;E為加密操作,D為解密操作; (3)N3:先用J23解密出Datal,即K2,)得到Datal,獲取路由信息后再用只有節點N3和Sink節點知道的成對密鑰Atl加密為萬(ZfeteU3tl),然后將數據包傳送給Sink節點; (4)Sink:先用J3tl解密出Datal, D (β Watal,K,0), IQ得到Datal,獲取源節點信息后,用A解密出Data2,即K1)獲得真實數據Data2。
【文檔編號】H04W12/02GK104135727SQ201410148159
【公開日】2014年11月5日 申請日期:2014年4月15日 優先權日:2014年4月15日
【發明者】譚勁, 楊紅 申請人:中國計量學院
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1