體域網中加強的傳感器安全附著和密鑰管理方法
2023-06-09 03:47:36 2
體域網中加強的傳感器安全附著和密鑰管理方法
【專利摘要】本發明公開了一種體域網中加強的傳感器安全附著和密鑰管理方法,基於包括傳感器節點、患者終端、醫護人員終端和密鑰生成中心的傳感器網絡實現,包括初始化步驟;傳感器安全附著步驟:包括患者終端和醫護人員終端相互認證步驟,患者終端和各傳感器節點之間認證步驟,各傳感器節點兩兩之間認證步驟;組密鑰生成步驟和組員管理步驟,在醫、患、傳感節點之間的構建三方雙向認證,保證了傳感節點的身體安全附著和醫療信息的完整收集反饋,能抵抗各類安全攻擊。同時採用不可逆哈希鏈、橢圓曲線加密等輕質算法,密鑰生成簡單,運算過程高效,減少了節點的計算開銷和通信開銷,延長節點的使用時間和壽命。
【專利說明】體域網中加強的傳感器安全附著和密鑰管理方法
【技術領域】
[0001]本發明屬於信息安全【技術領域】,尤其是涉及一種體域網中傳感器的附著認證和密鑰管理方法。
【背景技術】
[0002]體域網(又稱為生物醫療傳感網)的出現極大地推動了電子醫療系統的發展,改變和進化了醫護系統重要醫療數據的獲取,處理和通信的方式和技術。體域網可以被用於遠程連續地監視病人的健康狀況,以提供及時可靠的醫療服務;可以為住院治療提供全新的治療方法並保證其優越的醫護質量;還可以為軍事活動、體育運動、體感遊戲等提供重要體徵數據。和傳統的傳感網絡相比,體域網的不同之處在於它需要處理十分重要的生命體徵醫用數據。由於體域網中的無線傳播介質極易遭受各類安全攻擊,因此,體域網中醫用數據的保密性和完整性顯得尤為重要,也是必須要解決的挑戰性問題。
[0003]體域網中,傳感器的安全附著非常重要。因為在醫用數據通信前,醫護工作者必須要確認傳感器被正確安全地附著在預定的人體身上,從而保證醫護質量和防止外部惡意攻擊。另一方面高效的密鑰管理也非常重要。在形成的體域網中,醫、患、節點之間必須要具備高效的密鑰管理協議,從而保證安全可靠的通信和保密完整的數據。以前的很多方法,大多僅僅考慮傳感節點之間的密鑰管理而忽視了傳感節點的安全附著,從而大大降低了傳感器的實用性和安全性。最近Keoh等人和Li等人分別提出了一些既考慮了傳感器的安全附著又考慮了密鑰管理的方法。在這些現有方法中,傳感節點利用基於公鑰技術的認證方法獲得節點和醫護人員之間的認證,從而保證節點的安全附著。但是這些方法沒有考慮節點和病人之間的認證,因此很容易使惡意節點獲得重要的醫用數據。在Li等人的方法中,一種稱之為⑶P(group device pairing)的技術被應用到認證和組密鑰的構建,但是其計算開銷和通信開銷非常大,這對於能量和資源受限的醫用傳感節點是非常致命的。此外,上述兩種方法都忽略了節點之間的相互認證,因此使得節點的加入和刪除過程十分不安全。
【發明內容】
[0004]針對現有技術的缺陷,本發明公開了一種體域網中加強的傳感器安全附著和密鑰管理方法,保證醫療敏感信息的安全可靠傳輸。
[0005]為了達到上述目的,本發明提供如下技術方案:
[0006]基於包括傳感器節點、患者終端、醫護人員終端和密鑰生成中心的傳感器網絡實現,包括如下步驟:
[0007]( I)各傳感器節點、患者終端和醫護人員終端分別具有自己的ID,患者終端和醫護人員終端具有自己的密鑰,密鑰生成中心隨機生成私鑰,並計算公鑰後進行發布;
[0008](2)傳感器安全附著步驟,包括:
[0009](2.1)患者終端和醫護人員終端分別生成隨機數,並利用各自的密鑰和公鑰進行運算後,通過信息交換和計算進行相互認證;[0010] (2.2)患者終端根據傳感器節點數量生成相應的密鑰和隨機數,各個節點加載所述密鑰和隨機數,患者終端計算自己的哈希鏈和所有節點的哈希鏈後,向所有節點廣播節點哈希鏈,患者終端和各傳感器節點之間分別進行信息交換和認證,並建立共享密鑰;各傳感器節點兩兩之間進行信息交換和認證;
[0011](3)患者終端通過步驟(2.2)中從各節點接收到的信息,計算傳感節點的組密鑰,該組密鑰加密後被分發給各個節點;
[0012](4)組員管理步驟:
[0013](4.1)當有新節點加入時,各個節點認證新節點的合法性,並升級患者終端的哈希鏈,新節點與患者終端之間進行認證,並升級新的組密鑰;
[0014](4.2)當有節點離開時,需要升級新的組密鑰;
[0015](4.3)當節點的哈希鏈耗盡時,需要升級節點哈希鏈;
[0016](4.4)當患者終端的哈希鏈耗盡時,需要升級患者終端的哈希鏈。
[0017]所述的步驟(1)具體為:所有η個傳感器節點都有自己的ID,分別為叫,N2,…,NJ,已向KGC註冊的患者終端的ID是ID。,已向KGC註冊的醫護人員終端的ID是IDd,首先KGC選擇一個質數P並在整數集Zp上定義一個橢圓曲線Ep,隨機選擇一個整數s e Z;作為其私鑰,並計算匕,,=W作為其公鑰,其中0為4上點的集合的生成元,隨後KGC公開發布{p, Ep, q, PpuJ,其中P、q為質數,患者擁有自己的密鑰k。,醫護人員也擁有自己的密鑰kd。
[0018]所述的步驟(2.1)具體為:患者終端和醫護人員終端分別生成隨機數Ir。,rd},並計算{Se=k。.Ppub, Sd=kd.PpuJ。醫護人員終端收到信息S。之後,計算K=kd.Sc, Ad=h {K I I rd I I IDd}和Td=Ek {rd | | IDd};同樣地,患者終端收到信息Sd之後計算K=kc.Sd, Ac=h {K I I rc I IIDJ 和 Tc=Ek {rc | | IDj,之後,患者和醫護人員交換信息{A。,Tj和{Ad,Td},患者和醫護人員分別用K解密T。和Td,並驗證等式Ac=MK |rj IDj和Ad=h {K |rd| IDd}是否成立。
[0019]所述的步驟(2.2)具體為:患者終端首先生成η個密鑰%,k2,…,kn}和η個隨機數Ir1, r2,…,rn},並向每個節點Nx (x=l, 2,…,η)預載密鑰kx和隨機數rx,之後,患者終端計算自己的哈希鏈hz(kj Ir。)和所有節點Nx (x=l, 2,...,]!)的哈希鏈112(1^| rx),然後,患者終端向所有節點廣播信息hz(kx| |rx),其中z是一常數,hz(m)表示從m開始z次級聯哈希運算,最後,患者終端公布{p,Ep, q, PpuJ,所述患者終端和各傳感器節點之間分別進行信息交換和認證,並建立共享密鑰的過程包括如下步驟:
[0020](2.2.1)節點Ni生成一隨機數&並將其作為節點Ni的密鑰,然後節點Ni在橢圓曲線Ep上計算Afti.Ppub= (Xi, Yi),並計算Si=Ii (Xi I I Ift1 (ki | Ti)),之後節點Ni向患者終端發送消息機,Ai, SJ ;
[0021](2.2.2)患者終端生成一隨機數t。並計算A。=!:。.Ppub= (xc, YJ和Sc=h(xc IizIc r。)),之後患者終端向節點Ni發送消息{Nc,Ac,S。},其中,Xi和X。為點Ai和K的X軸坐標值,和t。不重複使用;
[0022](2.2.3)節點Ni收到信息{N。,A。,S。}之後,計算共享密鑰Kic=ti.Ac=ti.tc.Ppub= (xic, yic)和 Zi=Ii (Xic I IhZt1GiiI Iri)),之後,節點 Ni 將信息{Z^h—^kJ Ir,)}傳遞給患者終端;
[0023](2.2.4)患者終端收到信息{ZpdkiMri)}以及之前收到的信息{Ni,Ai, SJ 之後,驗證等式 h (h"-1 (ki 11 ri)) =hz_u (ki 11 ri),h (Xic 11 h"-1 (ki 11 ri)) =Zi 和h (Xi I I h"—1 (ki I ri)) =Si 是否成立,如果等式 h (hzti (ki I I r,)) =hz_u (k, | | r,),h (xic | | hz_H (ki I I r,)) =Zi和h (Xi I I h」-1 (ki I I r,)) =Si都成立,則患者可以確定節點Ni是可信的,隨後患者終端計算共享密鑰Kic;=t。.Ai=tc.ti.Ppub= (xic, yj ,緊接著,患者終端計算Z=h (xic I I h"-1 (k。I I rc)),並將信息{Z。,h"-1 (k。I I rc)}傳遞給節點 Ni ;如果等式 h (h2^1 ㈨1^))=^-(^1 Iri),h(XicI Ihztykil |ri))=Z#h(Xi| Ihz-u—Hkil Iri)) =Si有不成立的,則認證失敗,患者終端報警; [0024](2.2.5)節點 Ni 收到信息{Zc,(kc| rc)}之後,驗證等式 h(kc| |rc))=hz_v(kc rc), h (xic h^rl (kc | rc)) =Zc 和 h (xc | hz^rl (kc | rc)) =Sc 是否成立。如果以上等式都成立,則節點Ni驗證了患者的真實性;如果以上等式不成立,則認證失敗,節點Ni報警;
[0025]所述傳感器節點兩兩之間進行信息交換和認證的過程與患者終端和各傳感器節點之間分別進行信息交換和認證的過程相同。
[0026]所述步驟(3)中計算組密鑰的過程為He = 1(4+4+ +A ),該組密鑰&通過患者終端和節點Ni之間的共享密鑰Kic;加密後被分發給每個節點隊。
[0027]所述步驟(4.1)具體包括如下步驟:
[0028](4.1.1)針對新加入節點Nn+1,患者終端生成密鑰kn+1和隨機數rn+1,並預載kn+1, rn+1,hz_v(kc| I rc),hz_uQii I Iri) (i=l, 2,...,n)和參數{p, Ep, q, Ppub}到節點 Nn+1 ;
[0029](4.1.2)患者終端計算 hz(kn+1||rn+1)和 Zc=h(hz(kn+11 |rn+1) | |(kc | |rc)),並廣播Nn+1,hz(kn+1| |rn+1)和Z。,通知所有節點新節點已經加入,隨後,患者終端再廣播h2^1 (kc Ir。)用於驗證之前廣播的真實性;
[0030](4.1.3)每個節點收到 Nn+1, hz (kn+11 I rn+1),Zc 和 h"-1 (kc I r。)之後,驗證等式 h (h"-1 (k。I I rc)) =hz_v (k。I I rc)和 h (hz (kn+11 I rn+1) | | h"-1 (k。| | r。))=Z。是否成立,只要當等式都成立,每個節點才可確定新節點Nn+1是合法的,並將患者終端的哈希鏈升級為h"-1 (kc I I rc);
[0031](4.1.4)新節點Nn+1與患者終端之間進行認證,傳感節點之間的組密鑰升級為
^Gjiew = HCqjT tc'An+i。
[0032]所述步驟(4.2)具體為:當節點Ni離開時,升級新的組密鑰為;丨丨
[0033]所述步驟(4.3)具體包括如下步驟:
[0034](4.3.1)當節點Ni的哈希鏈耗盡時,首先生成一個請求信息R,然後計算Zi=h (RI I h2^1 (ki I I ?))並將{N」 R, ZJ傳遞給患者終端,與此同時,節點Ni廣播『η (ki I I Ti);
[0035](4.3.2)患者終端驗證等式 h OTu-1 Gii I |1^))=1^(1^| Iri)和h(R| IhZtHkiI IriD=Zi是否成立,僅當上述等式都成立時,患者終端信任節點Ni請求信息的真實性,之後,患者終端將節點Ni的隨機數增加1,即^i+l,並計算新的哈希鏈IizGii I Iri)和 Zc=h (hz (kj Iri) hz^rl (kc | rc)),然後向所有節點廣播(Ni, IizGii | Iri),Zj 告知變化,緊接著,患者終端再廣播(k。! Ir。);
[0036](4.3.3)當節點 Ni 收到{N」 hz (k, | | r,),Zc, h"-1 (kc I r。)}之後,驗證等式h (h"-1 (kc I I rc)) =hz_v (kc I I rc)和 h (hz (ki I I r,) | | h"—1 (kc I r。))=Z。是否成立,僅當等式都成立時,節點Ni確信升級信息是合法的;之後,節點Ni將隨機數增加1,即ri=ri+l,並將哈希鏈升級為hz(kj Iri);當其它節點收到IhzGciI I AhZc^hzT1 (k。I |r。)丨之後,也驗證等式hm |rc))=hz-v(kc| |rc)和 h(hz(ki| Iri) | Π| |rc))=Zc 是否成立,如果等式都成立,其它節點升級節點Ni的哈希鏈為hz (ki I Ti),升級患者終端的哈希鏈為IizT1 (kc I |r。)。
[0037]與現有技術相比,本發明具有如下優點和有益效果:
[0038]1.在醫、患、傳感節點之間的構建三方雙向認證,保證了傳感節點的身體安全附著和醫療信息的完整收集反饋。三方雙向認證能抵抗各類安全攻擊(主動攻擊和被動攻擊),並使本方法具備隱含密鑰認證、已知會話密鑰安全、前向安全、抵抗密鑰洩露偽裝攻擊及無密鑰控制等安全性質。其中醫患雙方的雙向認證,能夠抵抗惡意內部人員的攻擊;傳感節點和病患之間的雙向認證,能夠確保傳感節點被正確安全地附著在預定的人體身上,並讓護理人員能夠清晰的判斷是否安全附著;傳感節點之間的雙向認證,能夠確保為節點之間之後的安全通信建立組密鑰。
[0039]2.採用不可逆哈希鏈、橢圓曲線加密等輕質算法,密鑰生成簡單,運算過程高效,減少了節點的計算開銷和通信開銷,延長節點的使用時間和壽命。
[0040]3.組員變動時能夠迅速更新組密鑰,哈希鏈耗盡時能夠及時升級哈希鏈,組員管理靈活高效。
[0041]4.本發明能夠保證醫療敏感信息的安全可靠傳輸,使得生物醫療健康監測等應用極為安全便利,適於在網絡安全領域、通信領域、生物醫療領域等方面推廣和應用。
【專利附圖】
【附圖說明】
[0042]圖1為本發明提供的體域網中加強的傳感器安全附著和密鑰管理方法流程示意圖;
[0043]圖2為醫患雙方相互認證過程示意圖;
[0044]圖3為節點和患者手持終端之間的認證和密鑰建立過程示意圖;
[0045]圖4為組密鑰的構建示意圖;
[0046]圖5為新節點加入示意圖;
[0047]圖6為節點哈希鏈的升級示意圖;
[0048]圖7為本發明提供的方法與Li方法的性能對比圖表;
[0049]其中(1)n表示傳感節點數量;e表示模指數運算;h表示哈希運算;
[0050](2)p表示橢圓曲線上的點乘運算;
[0051]圖8為本發明提供的方法Keoh方法和Li方法的特性對比圖表;
[0052]其中⑴V表示滿足;(2)x表示不滿足。
【具體實施方式】
[0053]以下將結合具體實施例對本發明提供的技術方案進行詳細說明,應理解下述【具體實施方式】僅用於說明本發明而不用於限制本發明的範圍。
[0054]本發明首次本發明基於包括傳感器節點、患者手持終端(PC)、醫護人員終端(HWD)和密鑰生成中心(KGC)的傳感器網絡實現,傳感器節點附著在患者身體上,假設醫院為密鑰生成中心(KGC),並可向患者和醫護人員分發重要信息。具體地說,如圖1所示,本發明包括如下步驟:[0055](I)初始化步驟。
[0056]所有η個傳感器節點都有自己的ID,分別為叫,N2,…,Nj,已向KGC註冊的患者終端的ID是ID。,已向KGC註冊的醫護人員終端的ID是IDd。首先KGC選擇一個質數P並在整數集Zp上定義一個橢圓曲線Ep。其次,KGC隨機選擇一個整數s e Z;作為其私鑰,並計算作為其公鑰,其中P為Ep上點的集合的生成元。KGC的私鑰s需要周期性更新。最後,KijL麼'開發布{p, Ep, q, PpuJ ,但s不公開並保證s安全,其中P、q為質數。患者擁有自己的密鑰k。,同樣的,醫護人員也擁有自己的密鑰kd。
[0057](2)傳感器安全附著步驟。
[0058]本階段,首先醫患雙方相互認證,從而抵抗惡意的內部人員的攻擊(包括下班的醫生或者是出院的患者)。之後,傳感節點被安全正確地附著到認證的患者身上。具體步驟如下:
[0059](2.1)在數據通信之前,醫患雙方相互認證,如圖2所示。
[0060](2.1.1)患者和醫護人員分別生成隨機數{r。,rd},並計算{Se=k。*Ppub, Sd=kd *PpuJ。
[0061](2.1.2)醫護人員終端收到信息S。之後,計算K=kd.Se,Ad=h{K| |rd| IDd}和Td=Ek{rd| I IDd}。
[0062](2.1.3)同樣地,患者收到信息Sd之後計算K=kc.Sd, Ac=h {K | | rc | | IDj和Tc=EkIrcJ I ID。}。之後,患者和醫護人員交換信息{A。,!;}和{Ad,Td}。患者和醫護人員為了互相認證,分別用K解密T。和Td,並驗證等式Ac=Ii {K I I rc I IIDJ和Ad=h {K | | rd | | IDd}是否成立。具體地說,包括:
[0063](2.1.4)醫護人員端 解密得到IrcJ IlDcJ=DkITJ,從而獲取r。,IDc,並驗證Ac=h{K IrcJ IDJ 是否成立。
[0064](2.1.5)患者端解密得到{rd| | IDd} =Dk{Td},從而獲取rd, IDd,並驗證Ad=h{K| |rd| |lDd}是否成立。如果上述等式均成立,則醫患雙方相互驗證成功
[0065]醫患雙方的雙向認證,能夠抵抗惡意內部人員的攻擊,例如下班的醫生或者是出院的病人。因為,實際生活中下班的醫生或者是出院的病人很可能通過偵聽非法獲取密鑰,進而偽裝成合法的組員加入到之後的醫患通信當中,甚至篡改合法的醫患雙方的通信內容從而破壞密鑰認證。
[0066](2.2)醫患雙方相互認證之後,傳感節點必須能夠被安全正確地附著到認證的患者身上。認證的患者終端首先生成η個密鑰...,、}和η個隨機數Ir1, r2,…,rn},並向每個節點Nx (x=l, 2,…,η)預載密鑰kx和隨機數rx。之後,患者終端計算自己的哈希鏈hz(kc Ir。)和所有節點Nx (χ=1,2,...,η)的哈希鏈112(1^| |rx)。然後,患者終端向所有節點廣播信息112(1^| |rx)。其中z是一常數,hz(m)表示從m開始z次級聯哈希運算,例如:h2(m)=h (h (m)),h3 (m) =h2 (h (m)) =h (h2 (m)) =h (h (h (m)))。最後,患者終端公布{p, Ep, q, PpuJ。協議中,我們假設節點Nx的哈希鏈在每次成功認證之後都需要升級。當節點Nx通過I次認證後,其哈希鏈^(1^| |rx)將升級為hz'k」|rx)。我們假設節點Ni和患者手持終端都已經分別通過u次和V次認證,那麼廣播的關於節點Ni和患者手持終端的哈希鏈分別為hz_uGii I I r,)和IrvGU Ir。)。因此,節點Ni和患者手持終端之間的認證和密鑰的建立又可分為以下五個小步,如圖3所示:
[0067](2.2.1)節點Ni生成一隨機數\並將其作為節點Ni的密鑰,然後節點Ni在橢圓曲線Ep上計算Afti.Ppub= (Xi, Yi),並計算Si=Ii (Xi I I Ift1 (ki | Ti)),之後節點Ni向患者終端發送消息(Ni, Ai, SJ0
[0068](2.2.2)同理,患者終端生成一隨機數t。並計算A。=!:。.Ppub= (x。,y。)和Sc=h (x。I I h"—1 (k。I I rc)),之後患者終端向節點Ni發送消息{N。,Ac, S。}。其中,Xi和X。為點Ai和A。的X軸坐標值。另外,我們保證h和t。不重複使用。
[0069](2.2.3)節點Ni收到信息{N。,A。,S。}之後,計算共享密鑰Kic=ti.Ac=ti.tc.Ppub= (xic, yic)和 Zi=Ii (xic I inj Iri))。之後,節點 Ni 將信息tdkil IriM傳遞給患者終端。[0070](2.2.4)患者終端收到信息{ZpdkiMri)}以及之前收到的信息{Ni,Ai, SJ 之後,驗證等式 h (h"-1 (ki 11 ri)) =hz_u (ki 11 ri),h (Xic 11 h"-1 (ki 11 ri)) =Zi 和h (Xi I I hz-u—1 (ki I ri)) =Si 是否成立。如果等式 h Oft1 (ki I I r,)) Hki I I r,),h (xic | | hz言1 (ki I Ir,)) =Zi和h(Xi I IhZt1 (ki Iri)) =Si都成立,則患者可以確定節點Ni是可信的,隨後患者終端計算共享密鑰Kic;=t。.Ai=tc.ti.Ppub= (xic, yj ,緊接著,患者終端計算Z=h (xic I I h"-1 (k。I I rc)),並將信息{Z。,h"-1 (k。I I rc)}傳遞給節點 Ni。如果等式 h (h2^1 ㈨
Ti), h(xic Ihzt1GiiI Ti)) =Zi 和 1ι(χ」Ihzt1GiiI IriD=Si 有不成立的,則認證失敗,患者終端報警。
[0071](2.2.5)節點 Ni 收到信息{Z。,I1zT1GicJ rc)}之後,驗證等式 h 況…(k。| rc))=hz-v(kc rc), h (xic (kc | rc)) =Zc 和 h (xc | (kc | rc)) =Sc 是否成立。如果以上等式都成立,則節點Ni驗證了患者的真實性;如果以上等式不成立,則認證失敗,節點Ni報警。
[0072]最終,節點隊和患者終端分別升級他們的哈希鏈為InkiI IriHPtnkcJ Ir。)。
[0073]通過以上步驟,患者和節點Ni已相互認證並建立了共享密鑰Kie。該密鑰可用於加密和傳遞LED閃爍模式。如果所有節點的閃爍模式都相同,則醫護人員向患者終端表明認證成功。
[0074]節點之間也進行相互認證,每對節點間的相互認證過程和節點Ni與患者終端之間的認證過程相同。
[0075]3、密鑰管理階段。
[0076]在傳感器安全附著階段,患者終端已從傳感節點H -,NJ收到了 {AuA2,…,AnI。現在,患者終端計算傳感節點的組密鑰%? = 4.04ι+^?2+.._+兒),隨後,該組密鑰通過患者終端和節點Ni之間的共享密鑰Kic;加密為信息M後被分發給每個節點Ni。如圖4所示,組密鑰的分發基於對稱加密機制。當節點Ni收到信息M之後便可很容易通過Kic;解密M而得到組密鑰。
[0077]4、組員管理階段。
[0078]組員管理包括節點的加入、節點的離開、以及哈希鏈的升級。
[0079](4.1)節點加入的具體過程如圖5所示。如果有新的節點需要布置,則僅需要患者終端的哈希鏈升級即可。同樣,我們假設節點Ni和患者終端都已經分別通過u次和V次認證,新節點的加入過程分為如下幾個步驟:
[0080](4.1.1)假設新加入節點的ID為Nn+1,患者終端生成密鑰kn+1和隨機數^+1,並預載kn+1, rn+1, hz_v(kc| rc), hz-u(ki | Iri) (i=l, 2,..., n)和 ECC 參數{p, Ep, q, PpuJ 到節點 Nn+1。
[0081](4.1.2)患者終端計算 hz(kn+1||rn+1)和 Zc=h(hz(kn+11 |rn+1) | |(kc | |rc)),並廣播Nn+1,hz(kn+1| |rn+1)和Z。,通知所有節點新節點已經加入。隨後,患者終端再廣播h2^1 (kc Ir。)用於驗證之前廣播的真實性。
[0082](4.1.3)每個節點收到 Nn+1, hz (kn+11 I rn+1),Zc 和 h"-1 (kc I r。)之後,驗證等式h (h"-1 (kc I I rc)) =h" (kc I I rc)和 h (hz (kn+11 I rn+1) | | h"-1 (kc | | rc)) =Zc 是否成立。只有當等式都成立,每個節點才可確定新節點Nn+1是合法的,並將患者終端的哈希鏈升級為
h"-1 (kc I I rc)。
[0083](4.1.4)新節點Nn+1和患者終端之間的認證過程與傳感器安全附著階段的認證過程相同。傳感節點之間的組密鑰可以很容易地升級為= -^g+ tc-An+l。
[0084](4.2)節點的離開過程較為簡單。如果有節點離開,則組密鑰也需要升級。如果是節點Ni離開,那麼新的組密鑰為Xe,=KCl-t(:Altl
[0085](4.3)當節點Ni的哈希鏈耗盡的時候,它的哈希鏈需要升級。升級過程與新節點加入過程相似。具體過程,如圖6所示:
[0086](4.3.1)當節點Ni升級哈希鏈時,首先生成一個請求信息R,然後計算Z1=H (RI I h2^1 (ki I I r?))並將{Ni,R, ZJ傳遞給患者終端。與此同時,節點Ni廣播『η (kj I Ti) ο
[0087](4.3.2)患者終端驗證等式 h Off1 Gii IIri)和h(R| IhZtHkiI IriD=Zi是否成立,僅當上述等式都成立時,患者終端信任節點Ni請求信息的真實性。之後,患者終端將節點Ni的隨機數增加1,即ri=ri+l,並計算新的哈希鏈IizGii I Iri)和 Zc=h (hz (kj Iri) (kc | rc)),然後向所有節點廣播(Ni, IizGii | Iri),Zj 告知變化。緊接著,患者終端再廣播h"—1 (k。I I rc)。
[0088](4.3.3)、當節點 Ni 收到(Ni, hz (k, | | Ti), Zc, h^1 (kc rc)}之後,驗證等式hm |rc))=h"(kc| rc)和 h(hz(ki| Iri) | IhzIcI | rc)) =Zc 是否成立。僅當等式都成立時,節點Ni確信升級信息是合法的。之後,節點Ni將隨機數增加1,即ri=ri+l,並將哈希鏈升級為hlk」|ri)。同理,當其它節點收到IhzGiiI Iri) ,Zc^dkcJ Ir。)}之後,也驗證等式hm |rc))=hz-v(kc| |rc)和 h(hz(ki| Iri) | Π| | rc)) =Zc 是否成立。如果等式都成立,其它節點升級節點Ni的哈希鏈為hz (ki I Ti),升級患者終端的哈希鏈為IizT1 (kc I |r。)。
[0089](4.4)當患者終端的哈希鏈耗盡的時候,也需要哈希鏈升級,其升級過程與傳感節點的哈希鏈升級過程相同,因此不再贅述。
[0090]採用本發明提供的方法與Li等人的方法進行性能對比,如圖7所示,本方法的運行性能明顯優於Li等人的方法。圖8為本發明提供的方法與Keoh等人和Li等人的方法進行特性對比,從中可以看出,本方法涵蓋了醫患之間的雙向認證、傳感節點和患者之間的雙向認證和每對節點之間的雙向認證,實現了醫、患、節點之間的三方認證,保證傳感節點的身體安全附著和醫療信息的完整收集反饋,以適應能量和資源受限的身體監測傳感器,將不可逆哈希鏈、橢圓曲線加密技術應用於附著認證和密鑰管理的構建,減少了節點的計算開銷和通信開銷,延長節點的使用時間和壽命。
[0091]本發明方案所公開的技術手段不僅限於上述實施方式所公開的技術手段,還包括由以上技術特徵任意組合所組成的技術方案。應當指出,對於本【技術領域】的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發明的保護範圍。
【權利要求】
1.一種體域網中加強的傳感器的附著認證和密鑰管理方法,基於包括傳感器節點、附著有傳感器節點的患者終端、醫護人員終端和密鑰生成中心的傳感器網絡實現,其特徵在於,包括如下步驟: (I)各傳感器節點、患者終端和醫護人員終端分別具有自己的ID,患者終端和醫護人員終端具有自己的密鑰,密鑰生成中心隨機生成私鑰,並計算公鑰後進行發布; (2 )傳感器安全附著步驟,包括: (2.1)患者終端和醫護人員終端分別生成隨機數,並利用各自的密鑰和公鑰進行運算後,通過信息交換和計算進行相互認證; (2.2)患者終端根據傳感器節點數量生成相應的密鑰和隨機數,各個節點加載所述密鑰和隨機數,患者終端計算自己的哈希鏈和所有節點的哈希鏈後,向所有節點廣播節點哈希鏈,患者終端和各傳感器節點之間分別進行信息交換和認證,並建立共享密鑰;各傳感器節點兩兩之間進行信息交換和認證; (3)患者終端通過步驟(2.2)中從各節點接收到的信息,計算傳感器節點的組密鑰,該組密鑰加密後被分發給各個節點; (4)組員管理步驟: (4.1)當有新節點加入時,各個節點認證新節點的合法性,並升級患者終端的哈希鏈,新節點與患者終端之間進行認證,並升級新的組密鑰; (4.2)當有節點離開時,需要升級新的組密鑰; (4.3)當節點的哈希鏈耗盡 時,需要升級節點哈希鏈; (4.4)當患者終端的哈希鏈耗盡時,需要升級患者終端的哈希鏈。
2.根據權利要求1所述的體域網中加強的傳感器的附著認證和密鑰管理方法,其特徵在於,所述的步驟(1)具體為:所有η個傳感器節點都有自己的ID,分別為叫,N2,…,NJ,已向KGC註冊的患者終端的ID是ID。,已向KGC註冊的醫護人員終端的ID是IDd,首先KGC選擇一個質數P並在整數集Zp上定義一個橢圓曲線Ep,隨機選擇一個整數s e Z;作為其私鑰,並計算匕6 =W作為其公鑰,其中G為Ep上點的集合的生成元,隨後KGC公開發布{p, Ep, q, PpuJ,其中P、q為質數,患者擁有自己的密鑰k。,醫護人員也擁有自己的密鑰kd。
3.根據權利要求2所述的體域網中加強的傳感器的附著認證和密鑰管理方法,其特徵在於,所述的步驟(2.1)具體為:患者終端和醫護人員終端分別生成隨機數{r。,!^},並計算{Sc=kc.Ppub, Sd=kd.PpuJ ο 醫護人員終端收到信息 S。之後,計算 K=kd.Sc, Ad=h {K rd | IDd}和Td=EkIrd I IDd};同樣地,患者終端收到信息Sd之後計算K=k。.Sd,Ac=h{K rc IDj和Tc=EkIrcJ |ID。},之後,患者和醫護人員交換信息{A。,!;}和{Ad,Td},患者和醫護人員分別用K解密Tc和Td,並驗證等式Ac=h {K I I rc I IIDJ和Ad=h {K | | rd | | IDdI是否成立。
4.根據權利要求3所述的體域網中加強的傳感器的附著認證和密鑰管理方法,其特徵在於,所述的步驟(2.2)具體為:患者終端首先生成η個密鑰Ik2,…,kn}和η個隨機數Ir1, r2,…,rn},並向每個節點Nx (x=l, 2,…,η)預載密鑰kx和隨機數rx,之後,患者終端計算自己的哈希鏈112(1^| Ir。)和所有節點Nx (x=l, 2,「.,η)的哈希鏈112(1^| rx),然後,患者終端向所有節點廣播信息hz(kx| |rx),其中z是一常數,hz(m)表示從m開始z次級聯哈希運算,最後,患者終端公布{P,Ep, q, PpuJ,所述患者終端和各傳感器節點之間分別進行信息交換和認證,並建立共享密鑰的過程包括如下步驟:(2.2.1)節點Ni生成一隨機數\並將其作為節點Ni的密鑰,然後節點Ni在橢圓曲線Ep上計算Ai=I^.Ppub= (Xi, Yi),並計算Si=Ii (Xi I I Ift1 Qii | Ti)),之後節點Ni向患者終端發送消息(Ni, Ai, Sj ; (2.2.2)患者終端生成一隨機數t。並計算A。=!:。.Ppub= (X。,y。)和Sc=h(xc IizIc r。)),之後患者終端向節點Ni發送消息{Nc,Ac,S。},其中,Xi和X。為點Ai和K的X軸坐標值,和t。不重複使用;
(2.2.3)節點 Ni 收到信息{N。, Ac, Sj 之後,計算共享密鑰Kic^t1.Ac^ti *tc.Ppub= (xic, yic)和Zi=I1 (xic I I h2^1 (h I I ?)),之後,節點Ni將信息[Ii, h2^1 (K I I ?)}傳遞給患者終端; (2.2.4)患者終端收到信息仏,I1zIi I IriM以及之前收到的信息(NilAi, Sj之後,驗證等式 h OTu-1 (ki 11 ri)) =hz_u (ki 11 ?),h (Xic 11 h2^1 (ki 11?)) =Zi 和 h (Xi 11 h2^1 (ki 11 ?)) =Si是否成立,如果等式 h(hzti(ki| |ri))=hM(ki| |ri),h(Xie| |yt1(ki| |ri))=Zi 和h(xj lhZt^kil IriD=Si都成立,則患者可以確定節點Ni是可信的,隨後患者終端計算共享密鑰 Kic=tc.Ai=tc.ti.Ppub= (xic, yic),緊接著,患者終端計算 Zc=h (Xic | | (kc | rc)),並將信息 \zc, hz-v—1 (kc I I rc)}傳遞給節點 Ni ;如果等式 h QTu-1 (ki I I ri)) =Inki I I ri),h (xic I I hz_u1㈨I I r,)) =Zi和h (x, I I h—1㈨I I r,)) =Si有不成立的,則認證失敗,患者終端報警; (2.2.5)節點 Ni 收到信息rc)}之後,驗證等式 h (h"—1 (kc | | rc)) =hz_v (kcrc), h (xic I I (k。I |r。))=Zc 和 h (x。| | (k。| rc)) =Sc 是否成立。如果以上等式都成立,則節點Ni驗證了患者的真實性;如果以上等式不成立,則認證失敗,節點Ni報警; 所述傳感器節點兩兩之間進行信息交換和認證的過程與患者終端和各傳感器節點之間分別進行信息交換和認證的過程相同。
5.根據權利要求4所述的體域網中加強的傳感器的附著認證和密鑰管理方法,其特徵在於: 所述步驟(3)中計算組密鑰的過程為& = G⑷+傑+…+『),該組密鑰Λ通過患者終端和節點Ni之間的共享密鑰Kic;加密後被分發給每個節點隊。
6.根據權利要求5所述的體域網中加強的傳感器的附著認證和密鑰管理方法,其特徵在於,所述步驟(4.1)具體包括如下步驟: (4.1.1)針對新加入節點Nn+1,患者終端生成密鑰kn+1和隨機數rn+1,並預載kn+1, rn+1, hz_v(kJ I rc),hz_uQii I Iri) (i=l, 2,...,n)和參數{p, Ep, q, Ppub}到節點 Nn+1 ;
(4.1.2 )患者終端計算 hz (kn+11 I rn+1)和 Z=h (hz (kn+11 I rn+1) | | h"-1 (k。I rc)),並廣播Nn+1,hz(kn+1| |rn+1)和Z。,通知所有節點新節點已經加入,隨後,患者終端再廣播Ir。)用於驗證之前廣播的真實性; (4.1.3)每個節點收到 Nn+1, hz (kn+11 I rn+1),Zc 和 h"-1 (k。I I r。)之後,驗證等式hm |rc))=h"(kc| rc)和 h(hz(kn+1| |rn+1) | h^1 (kc rc))=Zc 是否成立,只有當等式都成立,每個節點才可確定新節點Nn+1是合法的,並將患者終端的哈希鏈升級為h"-1 (kc I I rc); (4.1.4)新節點Nn+1與患者終端之間進行認證,傳感器節點之間的組密鑰升級為
^c'A-n+l。
7.根據權利要求6所述的體域網中加強的傳感器的附著認證和密鑰管理方法,其特徵在於,所述步驟(4.2)具體為:當節點Ni離開時,升級新的組密鑰為Xe—_^ =夂(,.-U,。
8.根據權利要求7所述的體域網中加強的傳感器的附著認證和密鑰管理方法,其特徵在於,所述步驟(4.3)具體包括如下步驟: (4.3.1)當節點Ni的哈希鏈耗盡時,首先生成一個請求信息R,然後計算Zi=h(R| IizIi I Iri))並將{隊,R, ZJ傳遞給患者終端,與此同時,節點Ni廣播『η (ki I I Ti);
(4.3.2 )患者終端驗證等式 h Off1 (Iii Iri)) =hz_u (Iii I I η)和 h (R | | h2^1 ㈨ Iri)) =Zi是否成立,僅當上述等式成立時,患者終端信任節點Ni請求信息的真實性,之後,患者終端將節點Ni的隨機數增加I,即reri+l,並計算新的哈希鏈hz(ki I Iri)和Ze=hQizGiiI Iri) | |hz^1 (kc Ir。)),然後向所有節點廣播AhzQiiI Ti), ZJ告知變化,緊接著,患者終端再廣播h"-1 (kc I I rc); (4.3.3)當節點Ni收到{隊靡」Iri) ,ZcHc rc)}之後,驗證等式h (h"-1 (kc I I rc)) =hz_v (kc I I rc)和 h (hz (ki I I r,) | | h"—1 (kc I r。))=Z。是否成立,僅當等式都成立時,節點Ni確信升級信息是合法的;之後,節點Ni將隨機數增加1,即ri=ri+l,並將哈希鏈升級為hz(kj Iri);當其它節點收到IhzGciI I AhZc^hzT1 (k。I |r。)丨之後,也驗證等式hm |rc))=hz-v(kc| |rc)和 h(hz(ki| Iri) | Π| |rc))=Zc 是否成立,如果等式都成立,其它節點升級節點 Ni的哈希鏈為hz (ki I Ti),升級患者終端的哈希鏈為IizT1 (kc I |r。)。
【文檔編號】H04L9/00GK103618593SQ201310583065
【公開日】2014年3月5日 申請日期:2013年11月19日 優先權日:2013年11月19日
【發明者】沈劍, 鄭文英, 孫星明, 譚皓文 申請人:南京信息工程大學