專利名稱:一種傳感器網(wǎng)絡(luò)密鑰管理和節(jié)點(diǎn)鑒別方法
技術(shù)領(lǐng)域:
本發(fā)明屬網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,具體涉及一種傳感器網(wǎng)絡(luò)密鑰管理和節(jié)點(diǎn)鑒別方法。
背景技術(shù):
傳感器網(wǎng)絡(luò)是由大量體積小、價(jià)格便宜、電池供電、具有無線通信和監(jiān)測(cè)能力的傳感器節(jié)點(diǎn)組成。這些節(jié)點(diǎn)被稠密部署在監(jiān)測(cè)區(qū)域,以達(dá)到監(jiān)測(cè)物理世界的目的。無線傳感器網(wǎng)絡(luò)是信息技術(shù)中一個(gè)新的研究方向,在環(huán)境監(jiān)測(cè)、軍事、國(guó)土安全、交通管制、社區(qū)安防、森林防火、目標(biāo)定位等方面具有廣泛的應(yīng)用前景。 由于傳感器網(wǎng)絡(luò)通常被部署在無人照看、甚至敵方區(qū)域,致使節(jié)點(diǎn)間的通信易遭竊聽、篡改或重放,節(jié)點(diǎn)自身易遭捕獲、復(fù)制或偽造等攻擊,給網(wǎng)絡(luò)安全造成很大威脅,需要引入密鑰管理和節(jié)點(diǎn)鑒別等基礎(chǔ)性安全機(jī)制發(fā)現(xiàn)并抵抗上述安全威脅,保障節(jié)點(diǎn)間通信的安全以及對(duì)網(wǎng)內(nèi)節(jié)點(diǎn)身份合法性的有效驗(yàn)證。密鑰管理機(jī)制是傳感器網(wǎng)絡(luò)安全的基礎(chǔ)?,F(xiàn)有的方法分為3類全網(wǎng)共享一個(gè)密鑰、節(jié)點(diǎn)間均兩兩共享密鑰以及隨機(jī)的密鑰預(yù)分發(fā)。由于傳感器網(wǎng)絡(luò)節(jié)點(diǎn)易遭受捕獲攻擊,且節(jié)點(diǎn)存儲(chǔ)資源嚴(yán)格受限,而前兩種密鑰管理方法或者無法抵抗節(jié)點(diǎn)捕獲攻擊,或者要求大量的存儲(chǔ)開銷,所以均無法完全適用于傳感器網(wǎng)絡(luò)。隨機(jī)密鑰預(yù)分發(fā)的密鑰管理方法具有可擴(kuò)展性好、密鑰連通度高、抗毀性好等特性,是一種目前較為實(shí)用的方法。但在該方法中,同一個(gè)密鑰可能會(huì)被多次分發(fā)給不同的節(jié)點(diǎn),當(dāng)節(jié)點(diǎn)間基于這些密鑰進(jìn)行身份鑒別時(shí),節(jié)點(diǎn)只能驗(yàn)證對(duì)方的合法性,卻無法確認(rèn)對(duì)方的身份,即無法實(shí)現(xiàn)端到端的身份鑒別。同樣地,鑒別機(jī)制也是傳感器網(wǎng)絡(luò)安全的基礎(chǔ)。目前提出的傳感器網(wǎng)絡(luò)節(jié)點(diǎn)鑒別機(jī)制主要是輕量級(jí)的基于預(yù)共享密鑰的鑒別方式,所使用的預(yù)共享密鑰一般由網(wǎng)絡(luò)所采用的密鑰管理方法提供。當(dāng)網(wǎng)絡(luò)采用現(xiàn)有隨機(jī)密鑰預(yù)分發(fā)的方式時(shí),其所產(chǎn)生的密鑰無法為網(wǎng)絡(luò)節(jié)點(diǎn)提供端到端的鑒別服務(wù),在這種只能驗(yàn)證對(duì)方合法性,但無法確認(rèn)對(duì)方具體身份的情況下,傳感器網(wǎng)絡(luò)無法抵抗捕獲、復(fù)制或偽造等針對(duì)節(jié)點(diǎn)的攻擊,致使網(wǎng)絡(luò)存在很大的安全風(fēng)險(xiǎn)。
發(fā)明內(nèi)容
為解決背景技術(shù)中存在的上述技術(shù)問題,本發(fā)明提供了一種密鑰管理和節(jié)點(diǎn)鑒別方法,能夠?yàn)閭鞲衅骶W(wǎng)絡(luò)提供保密通信以及端到端的節(jié)點(diǎn)鑒別服務(wù)。 本發(fā)明的技術(shù)解決方案是本發(fā)明提供了一種傳感器網(wǎng)絡(luò)密鑰管理和節(jié)點(diǎn)鑒別方法,其特殊之處在于 1)密鑰預(yù)分發(fā)網(wǎng)絡(luò)部署前,部署服務(wù)器將用于建立節(jié)點(diǎn)間安全連接的通信密鑰預(yù)分發(fā)給所有節(jié)點(diǎn); 2)密鑰建立網(wǎng)絡(luò)部署后,節(jié)點(diǎn)間建立用于進(jìn)行安全連接的對(duì)密鑰,包括以下步驟 2. 1)共享密鑰的建立在存在共享密鑰的鄰居節(jié)點(diǎn)間建立對(duì)密鑰;
2. 2)路徑密鑰的建立在沒有共享密鑰但存在多跳安全連接的節(jié)點(diǎn)間建立對(duì)密鑰; 3)節(jié)點(diǎn)身份鑒別在節(jié)點(diǎn)間正式通信前,進(jìn)行身份鑒別以確定對(duì)方身份的合法性和有效性。
上述步驟1)的具體實(shí)現(xiàn)方式是 1. 1)網(wǎng)絡(luò)部署前,部署服務(wù)器進(jìn)行密鑰池初始化,生成密鑰池KP,該密鑰池KP包
含多個(gè)密鑰及其密鑰標(biāo)識(shí),密鑰池中的密鑰個(gè)數(shù)記為lKPl,并假設(shè)部署服務(wù)器安全; 1. 2)假定預(yù)設(shè)的網(wǎng)絡(luò)連通度為P。,網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)為n,每個(gè)節(jié)點(diǎn)均有對(duì)應(yīng)的標(biāo)識(shí)
ID,根據(jù)經(jīng)典隨機(jī)圖理論,計(jì)算節(jié)點(diǎn)的度d = (n-l)*(lnn-ln(-lnP。))/n ; 1. 3)根據(jù)節(jié)點(diǎn)的度d以及期望的網(wǎng)絡(luò)部署后節(jié)點(diǎn)的鄰居節(jié)點(diǎn)數(shù)n',計(jì)算相鄰節(jié)點(diǎn)
間兩兩預(yù)共享密鑰的概率P = d/n'; 1. 4)部署服務(wù)器為所有節(jié)點(diǎn)分配密鑰。 上述步驟1. 4)的具體實(shí)現(xiàn)方式是 1. 4. 1)對(duì)于節(jié)點(diǎn)Ni,部署服務(wù)器首先為&構(gòu)造ID列表,ID列表中包括N_ID字段、K_ID字段、K_STA字段、K_ATTR字段、K_ATTR_EX字段以及K_VAL字段;
其中 N_ID字段節(jié)點(diǎn)ID,表示與節(jié)點(diǎn)&共享密鑰的節(jié)點(diǎn)身份標(biāo)識(shí)值; K_ID字段密鑰ID,表示節(jié)點(diǎn)&與N_ID字段所標(biāo)識(shí)的節(jié)點(diǎn)之間共享密鑰的標(biāo)識(shí)
值; K_STA字段密鑰狀態(tài),表示K_ID字段所標(biāo)識(shí)的密鑰的狀態(tài),當(dāng)節(jié)點(diǎn)^與N_ID字段所標(biāo)識(shí)的節(jié)點(diǎn)已建立對(duì)密鑰時(shí),K_STA字段的值為已建立,否則為未建立,該字段的初值為未建立; K_ATTR字段密鑰屬性,當(dāng)K_STA字段中的值為已建立時(shí),該字段的取值有意義,表示K_ID字段所標(biāo)識(shí)的密鑰是共享密鑰還是路徑密鑰,該字段的缺省表示共享密鑰;
K_ATTR_EX字段密鑰屬性擴(kuò)展,當(dāng)K_ATTR字段表示的密鑰為路徑密鑰時(shí),該字段的值有意義,用于表示路徑密鑰是直連密鑰還是多跳相連密鑰,該字段的缺省表示密鑰為直連密鑰; K_VAL字段密鑰值,用于存儲(chǔ)K_ID字段標(biāo)識(shí)的密鑰值; 在&上建立ID列表后,部署服務(wù)器從剩余n-1個(gè)節(jié)點(diǎn)中隨機(jī)選擇n*p個(gè)節(jié)點(diǎn),分別將其節(jié)點(diǎn)ID插入到&的ID列表中;然后,部署服務(wù)器從密鑰池KP中為ID列表中的每一項(xiàng)不重復(fù)的選擇一個(gè)密鑰,并將這些密鑰標(biāo)識(shí)以及相應(yīng)的密鑰值分別插入&的ID列表中對(duì)應(yīng)的K_ID字段和K_VAL字段中,并從密鑰池KP中刪除這些密鑰及標(biāo)識(shí);最后,部署服務(wù)器生成t(t < n')個(gè)備用的密鑰ID,備用密鑰ID與部署服務(wù)器初始生成的密鑰池KP中的密鑰標(biāo)識(shí)ID均不重復(fù),也加載到Ni中;部署服務(wù)器記錄節(jié)點(diǎn)Ni的ID列表中的所有信息;此處的備用的密鑰ID后續(xù)用于標(biāo)識(shí)節(jié)點(diǎn)間獨(dú)立協(xié)商建立的、非KP中的對(duì)密鑰;
1. 4. 2)對(duì)于節(jié)點(diǎn)Nj,部署服務(wù)器在為節(jié)點(diǎn)&預(yù)分發(fā)密鑰后,開始為節(jié)點(diǎn)N」預(yù)分發(fā)密鑰首先,部署服務(wù)器從剩余n-l個(gè)節(jié)點(diǎn)中隨機(jī)選擇r^p個(gè)節(jié)點(diǎn),分別將其節(jié)點(diǎn)ID插入到Nj的ID列表中;然后,部署服務(wù)器從密鑰池KP中為Nj的ID列表中的每一項(xiàng)不重復(fù)的選擇一個(gè)密鑰,并將這些密鑰標(biāo)識(shí)以及相應(yīng)的密鑰值分別插入N,.的ID列表中對(duì)應(yīng)的K_ID字段和K_VAL字段中,并從密鑰池KP中刪除這些密鑰及標(biāo)識(shí),但當(dāng)為Nj隨機(jī)選擇的n*p個(gè)節(jié)點(diǎn) 中包括&時(shí),則不再為Nj與&重新分配密鑰,而是為其分配之前已為&分配的二者之間的 共享密鑰,并在Nj的ID列表中與&對(duì)應(yīng)的項(xiàng)的K_ID字段和K_VAL字段中分別插入該共享 密鑰的ID和密鑰值;部署服務(wù)器生成t (t < n')個(gè)與初始生成的密鑰池KP中的密鑰ID以 及&的備用密鑰ID不重復(fù)的密鑰ID,也加載到Nj中;部署服務(wù)器記錄節(jié)點(diǎn)Nj的ID列表中 的所有信息; 1. 4. 3)對(duì)于剩余節(jié)點(diǎn),部署服務(wù)器在為Nj分發(fā)密鑰后,為剩余所有節(jié)點(diǎn)依次分發(fā) 密鑰,分發(fā)方法與節(jié)點(diǎn)Nj相同;部署服務(wù)器記錄所有剩余節(jié)點(diǎn)的ID列表信息。
上述步驟2. 1)的具體實(shí)現(xiàn)方式是 2. 1. 1)網(wǎng)絡(luò)部署后,每個(gè)節(jié)點(diǎn)均向其鄰居節(jié)點(diǎn)廣播自己的身份標(biāo)識(shí)信息;
2. 1. 2)鄰居節(jié)點(diǎn)收到2. 1. 1)的廣播消息后,根據(jù)其中的身份標(biāo)識(shí)信息判斷是否 與該廣播節(jié)點(diǎn)共享密鑰,如果自己的ID列表中的N_ID字段中存在相同的ID,表明自己與該 節(jié)點(diǎn)共享密鑰,即對(duì)密鑰;該鄰居節(jié)點(diǎn)將對(duì)應(yīng)ID列表對(duì)應(yīng)項(xiàng)中的K_STA字段置為已建立,標(biāo) 識(shí)已與2. 1. 1)中的廣播節(jié)點(diǎn)建立對(duì)密鑰,即已建立直接安全連接。
上述步驟2. 2)的具體實(shí)現(xiàn)方式是 2.2. 1)當(dāng)源節(jié)點(diǎn)與目的節(jié)點(diǎn)間存在一條由兩兩間均存在共享密鑰的多個(gè)節(jié)點(diǎn)構(gòu) 成的安全路徑時(shí),源節(jié)點(diǎn)生成一個(gè)路徑密鑰PK并從備用的路徑密鑰ID中不重復(fù)的選擇一 個(gè)ID,通過與目的節(jié)點(diǎn)之間的安全路徑,將該路徑密鑰PK和對(duì)應(yīng)的密鑰ID以及自己的ID 和目的節(jié)點(diǎn)的ID通過安全路徑上節(jié)點(diǎn)的逐跳加解密傳輸發(fā)送給目的節(jié)點(diǎn);
2. 2. 2)目的節(jié)點(diǎn)收到源節(jié)點(diǎn)的密鑰消息并解密獲得路徑密鑰PK后,通過與源節(jié) 點(diǎn)之間的安全路徑向源節(jié)點(diǎn)發(fā)送密鑰建立成功消息,表明與源節(jié)點(diǎn)之間已建立安全連接; 此時(shí),源節(jié)點(diǎn)和目的節(jié)點(diǎn)分別將對(duì)方的身份標(biāo)識(shí)ID作為新條目插入到自己的ID列表中,并 將PK的ID以及PK的值插入對(duì)應(yīng)的K_ID字段和K_VAL字段中,并將對(duì)應(yīng)的K_STA字段置 為已建立,將K—ATTR字段置為路徑密鑰,如果源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間在建立路徑密鑰時(shí)的 路徑為單跳,即表明源節(jié)點(diǎn)和目的節(jié)點(diǎn)均在對(duì)方的直接通信范圍內(nèi),則將相應(yīng)的K_ATTR_EX 字段置為直連密鑰;否則,將相應(yīng)的K_ATTR_EX字段置為多跳相連密鑰。
上述步驟3)的具體實(shí)現(xiàn)方式是 3. 1)節(jié)點(diǎn)A向節(jié)點(diǎn)B發(fā)送消息ID」|K_IDAB| |NA請(qǐng)求開始與節(jié)點(diǎn)B進(jìn)行鑒別,其中, KJD^表示節(jié)點(diǎn)A與節(jié)點(diǎn)B的預(yù)共享密鑰的標(biāo)識(shí),NA是節(jié)點(diǎn)A產(chǎn)生的隨機(jī)數(shù),IDB表示節(jié)點(diǎn) B的身份標(biāo)識(shí); 3. 2)節(jié)點(diǎn)B收到節(jié)點(diǎn)A的鑒別請(qǐng)求后,首先判斷請(qǐng)求消息中的IDB是否與自己的 身份標(biāo)識(shí)ID相同,若不同,節(jié)點(diǎn)B丟棄該請(qǐng)求消息;若相同,節(jié)點(diǎn)B確定自己的ID列表中是 否保存了與K—ID^對(duì)應(yīng)的密鑰,若不存在,終止鑒別;若存在,則產(chǎn)生詢問Ne,并利用ID列表 中與K_IDAB對(duì)應(yīng)的K_VAL字段的值,即節(jié)點(diǎn)A與節(jié)點(diǎn)B的預(yù)共享密鑰PSU,根據(jù)IDA、 IDB、 NA、 NB計(jì)算薩旭I I SKAB = F (PSKAB, IDA | | IDB | | NA | NB),其中,MAKAB為節(jié)點(diǎn)A與節(jié)點(diǎn)B之間的 消息鑒別密鑰,SK^為節(jié)點(diǎn)A與節(jié)點(diǎn)B之間的會(huì)話密鑰;然后,利用MAK^產(chǎn)生消息鑒別碼 MAQ = H(薩ab, IDAI INAI INB),并構(gòu)造消息IDA | | NA | | NB | | MAQ發(fā)送給節(jié)點(diǎn)A ;其中,F(xiàn)表示密 鑰導(dǎo)出算法,H表示消息鑒別碼計(jì)算方法,這兩者為單向函數(shù); 3.3)節(jié)點(diǎn)A收到節(jié)點(diǎn)B的消息后,首先檢查消息中的詢問^是否與自己在第3. 1)步中發(fā)送的詢問^一致,若不一致,終止鑒別;若一致,節(jié)點(diǎn)A計(jì)算MAK^1 ISK^二F(PSK^ IDAI IIDBI INAI INB),并利用薩旭計(jì)算消息鑒別碼MAC2 = H (MAKAB, IDA | | NA | | NB),如果MAC2 = MAQ,則節(jié)點(diǎn)A對(duì)節(jié)點(diǎn)B鑒別成功,將SKAB保存,作為與節(jié)點(diǎn)B的會(huì)話密鑰,并計(jì)算MAC3 = H(MAK旭,IDB| INb),將IDb| |Nb| |MAC3發(fā)送給節(jié)點(diǎn)B ;其中,F(xiàn)表示密鑰導(dǎo)出算法,H表示消息 鑒別碼計(jì)算方法,這兩者為單向函數(shù); 3. 4)節(jié)點(diǎn)B收到節(jié)點(diǎn)A的消息后,檢查詢問NB是否與自己在第3. 2)步中發(fā)送給 節(jié)點(diǎn)A的詢問NB —致,若不一致,鑒別失??;若一致,節(jié)點(diǎn)B計(jì)算MAQ = H(MAKAB, IDB | |NB), 如果MAC4 = MAC3,則節(jié)點(diǎn)B對(duì)節(jié)點(diǎn)A鑒別成功,節(jié)點(diǎn)B將SK^保存為與節(jié)點(diǎn)A之間的會(huì)話 密鑰,并計(jì)算MACs = H(MAKAB,IDA| lNj,發(fā)送消息IDA| |NA| | MAC5給節(jié)點(diǎn)A ;其中,F(xiàn)表示密鑰 導(dǎo)出算法,H表示消息鑒別碼計(jì)算方法,這兩者為單向函數(shù)。 本發(fā)明的優(yōu)點(diǎn)是本發(fā)明通過將密鑰管理和節(jié)點(diǎn)鑒別機(jī)制相結(jié)合,在實(shí)現(xiàn)傳感器 網(wǎng)絡(luò)節(jié)點(diǎn)間保密通信的同時(shí)提供節(jié)點(diǎn)間端到端的身份鑒別服務(wù),能夠有效抵抗竊聽、篡改 和重放等針對(duì)網(wǎng)絡(luò)通信的攻擊,可實(shí)現(xiàn)節(jié)點(diǎn)間的保密通信,又具有增強(qiáng)節(jié)點(diǎn)抗捕獲、復(fù)制、 偽造等攻擊能力的特性,能夠?qū)崿F(xiàn)分布式的節(jié)點(diǎn)撤銷,為傳感器網(wǎng)絡(luò)提供了一種基礎(chǔ)性的 網(wǎng)絡(luò)安全解決方法。而且,本發(fā)明中所提出的密鑰管理和節(jié)點(diǎn)鑒別方法較現(xiàn)有方法的存儲(chǔ) 和計(jì)算開銷低,能夠有效節(jié)約傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的資源,延長(zhǎng)傳感器網(wǎng)絡(luò)的使用壽命。
圖1為本發(fā)明所提供的節(jié)點(diǎn)間身份鑒別的消息流程示意圖。
具體實(shí)施例方式
本發(fā)明提供了一種傳感器網(wǎng)絡(luò)密鑰管理和節(jié)點(diǎn)鑒別方法,該方法包括以下步驟
1)密鑰預(yù)分發(fā),網(wǎng)絡(luò)部署前,部署服務(wù)器將用于建立節(jié)點(diǎn)間安全連接的通信密鑰 預(yù)分發(fā)給所有節(jié)點(diǎn),其具體實(shí)現(xiàn)方式是 1. 1)網(wǎng)絡(luò)部署前,部署服務(wù)器進(jìn)行密鑰池初始化,生成密鑰池KP,該密鑰池KP包 含多個(gè)密鑰及其密鑰標(biāo)識(shí)。密鑰池中的密鑰個(gè)數(shù)記為|KP|, |KP|足夠大,并假設(shè)部署服務(wù) 器是安全的; 1. 2)假定預(yù)設(shè)的網(wǎng)絡(luò)連通度為P。,網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)為n,每個(gè)節(jié)點(diǎn)均有對(duì)應(yīng)的標(biāo)識(shí) ID。根據(jù)經(jīng)典隨機(jī)圖理論,計(jì)算節(jié)點(diǎn)的度d二 (n-l)*(lnn-ln(-lnP。))/n。為保證具有較好 的擴(kuò)展性,通常預(yù)設(shè)的網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)n要比實(shí)際的網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)略大; 1. 3)根據(jù)節(jié)點(diǎn)的度d以及期望的網(wǎng)絡(luò)部署后節(jié)點(diǎn)的鄰居節(jié)點(diǎn)數(shù)n',計(jì)算相鄰節(jié)點(diǎn) 間兩兩預(yù)共享密鑰的概率P = d/n'; 1. 4)為節(jié)點(diǎn)預(yù)分發(fā)密鑰,部署服務(wù)器為所有節(jié)點(diǎn)分配密鑰,具體實(shí)現(xiàn)方式是
1. 4. 1)對(duì)于節(jié)點(diǎn)Ni,部署服務(wù)器首先為&構(gòu)造ID列表,列表中包括N_ID字段、 K_ID字段、K_STA字段、K_ATTR字段和K_ATTR_EX字段;
N IDK IDK STAK ATTRK ATTR EXK VAL 其中
N_ID字段節(jié)點(diǎn)ID,表示與節(jié)點(diǎn)&共享密鑰的節(jié)點(diǎn)身份標(biāo)識(shí)值; K_ID字段密鑰ID,表示節(jié)點(diǎn)&與N_ID字段所標(biāo)識(shí)的節(jié)點(diǎn)之間共享密鑰的標(biāo)識(shí)
值; K_STA字段密鑰狀態(tài),表示K_ID字段所標(biāo)識(shí)的密鑰的狀態(tài)。當(dāng)節(jié)點(diǎn)^與N_ID字 段所標(biāo)識(shí)的節(jié)點(diǎn)已建立對(duì)密鑰時(shí),K—STA字段的值為"已建立",否則為"未建立"。該字段的 初值為"未建立"; K_ATTR字段密鑰屬性,當(dāng)K_STA字段中的值為"已建立"時(shí),該字段的取值有意 義,表示K—ID字段所標(biāo)識(shí)的密鑰是共享密鑰還是路徑密鑰。該字段的缺省表示共享密鑰;
K_ATTR_EX字段密鑰屬性擴(kuò)展,當(dāng)K_ATTR字段表示的密鑰為路徑密鑰時(shí),該字段 的值有意義,用于表示路徑密鑰是直連密鑰還是多跳相連密鑰。該字段的缺省表示密鑰為 直連密鑰; K_VAL字段密鑰值,用于存儲(chǔ)K_ID字段標(biāo)識(shí)的密鑰值。 在&上建立ID列表后,部署服務(wù)器從剩余n-1個(gè)節(jié)點(diǎn)中隨機(jī)選擇n*p個(gè)節(jié)點(diǎn),分 別將其節(jié)點(diǎn)ID插入到&的ID列表中;然后,部署服務(wù)器從密鑰池KP中為ID列表中的每 一項(xiàng)不重復(fù)的選擇一個(gè)密鑰,并將這些密鑰標(biāo)識(shí)以及相應(yīng)的密鑰值分別插入&的ID列表 中對(duì)應(yīng)的K_ID字段和K_VAL字段中,并從密鑰池KP中刪除這些密鑰及標(biāo)識(shí);最后,部署服 務(wù)器生成t(t < n')個(gè)備用的密鑰ID,這里的備用密鑰ID與部署服務(wù)器初始生成的密鑰 池KP中的密鑰ID不重復(fù),也加載到&中;部署服務(wù)器記錄節(jié)點(diǎn)&的ID列表中的所有信 息;此處的備用的密鑰ID后續(xù)用于標(biāo)識(shí)節(jié)點(diǎn)間獨(dú)立協(xié)商建立的、非KP中的對(duì)密鑰;
1. 4. 2)對(duì)于節(jié)點(diǎn)Nj,部署服務(wù)器在為節(jié)點(diǎn)&預(yù)分發(fā)密鑰后,開始為節(jié)點(diǎn)N」預(yù)分發(fā) 密鑰。首先,部署服務(wù)器從剩余n-1個(gè)節(jié)點(diǎn)中隨機(jī)選擇n*p個(gè)節(jié)點(diǎn),分別將其節(jié)點(diǎn)ID插入 到Nj的ID列表中;然后,部署服務(wù)器從密鑰池KP中為Nj的ID列表中的每一項(xiàng)不重復(fù)的選 擇一個(gè)密鑰,并將這些密鑰標(biāo)識(shí)以及相應(yīng)的密鑰值分別插入&的ID列表中對(duì)應(yīng)的K_ID字 段和K_VAL字段中,并從密鑰池KP中刪除這些密鑰及標(biāo)識(shí),但當(dāng)為Nj隨機(jī)選擇的n*p個(gè)節(jié) 點(diǎn)中包括K時(shí),則不再為Nj與&重新分配密鑰,而是為其分配之前已為&分配的二者之間 的共享密鑰,并在Nj的ID列表中與&對(duì)應(yīng)的項(xiàng)的K_ID字段和K_VAL字段中分別插入該共 享密鑰的ID和密鑰值;部署服務(wù)器生成t(t < n')個(gè)與初始生成的密鑰池KP中的密鑰ID 以及K的備用密鑰ID不重復(fù)的密鑰ID,也加載到&中;部署服務(wù)器記錄節(jié)點(diǎn)Nj的ID列表 中的所有信息; 1. 4. 3)對(duì)于剩余節(jié)點(diǎn),部署服務(wù)器在為Nj分發(fā)密鑰后,為剩余所有節(jié)點(diǎn)依次分發(fā) 密鑰,分發(fā)方法與節(jié)點(diǎn)Nj相同。同樣地,部署服務(wù)器記錄所有剩余節(jié)點(diǎn)的ID列表信息。
2)密鑰建立,網(wǎng)絡(luò)部署后,節(jié)點(diǎn)間建立用于進(jìn)行安全連接的對(duì)密鑰,具體實(shí)現(xiàn)方式 是 2. 1)共享密鑰的建立,在存在共享密鑰的鄰居節(jié)點(diǎn)間建立對(duì)密鑰的具體實(shí)現(xiàn)方式 是 2. 1. 1)網(wǎng)絡(luò)部署后,每個(gè)節(jié)點(diǎn)均向其鄰居節(jié)點(diǎn)廣播自己的身份標(biāo)識(shí)信息;
2. 1. 2)鄰居節(jié)點(diǎn)收到2. 1. 1)的廣播消息后,根據(jù)其中的身份標(biāo)識(shí)信息判斷是否 與該廣播節(jié)點(diǎn)共享密鑰,如果自己的ID列表中的N_ID字段中存在相同的ID,表明自己與該 節(jié)點(diǎn)共享密鑰,即對(duì)密鑰;該鄰居節(jié)點(diǎn)將對(duì)應(yīng)ID列表對(duì)應(yīng)項(xiàng)中的K—STA字段置為"已建立",標(biāo)識(shí)已與2. 1. 1)中的廣播節(jié)點(diǎn)建立對(duì)密鑰,即已建立直接安全連接。 2. 2)路徑密鑰的建立,在沒有共享密鑰但存在多跳安全連接的節(jié)點(diǎn)間建立對(duì)密鑰 的具體實(shí)現(xiàn)方式是 2.2. 1)當(dāng)源節(jié)點(diǎn)與目的節(jié)點(diǎn)間存在一條由兩兩間均存在共享密鑰的多個(gè)節(jié)點(diǎn)構(gòu) 成的安全路徑時(shí),對(duì)該安全路徑的確立方法本發(fā)明不做討論,源節(jié)點(diǎn)生成一個(gè)路徑密鑰PK 并從備用的路徑密鑰ID中不重復(fù)的選擇一個(gè)ID,通過與目的節(jié)點(diǎn)之間的安全路徑,將該路 徑密鑰PK和對(duì)應(yīng)的密鑰ID以及自己的ID和目的節(jié)點(diǎn)的ID通過安全路徑上節(jié)點(diǎn)的逐跳加 解密傳輸發(fā)送給目的節(jié)點(diǎn); 2. 2. 2)目的節(jié)點(diǎn)收到源節(jié)點(diǎn)的密鑰消息并解密獲得路徑密鑰PK后,通過與源節(jié) 點(diǎn)之間的安全路徑向源節(jié)點(diǎn)發(fā)送密鑰建立成功消息,表明與源節(jié)點(diǎn)之間已建立安全連接; 此時(shí),源節(jié)點(diǎn)和目的節(jié)點(diǎn)分別將對(duì)方的身份標(biāo)識(shí)ID作為新條目插入到自己的ID列表中,并 將PK的ID以及PK的值插入對(duì)應(yīng)的K_ID字段和K_VAL字段中,并將對(duì)應(yīng)的K_STA字段置 為"已建立",將K_ATTR字段置為"路徑密鑰",如果源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間在建立路徑密鑰 時(shí)的路徑為單跳,即表明雙方均在對(duì)方的直接通信范圍內(nèi),則將相應(yīng)的K_ATTR_EX字段置 為"直連密鑰";否則,將相應(yīng)的K_ATTR_EX字段置為"多跳相連密鑰"。
3)節(jié)點(diǎn)身份鑒別。在節(jié)點(diǎn)間正式通信前,需進(jìn)行身份鑒別以確定對(duì)方身份的合法 性和有效性。以節(jié)點(diǎn)A和節(jié)點(diǎn)B為例,節(jié)點(diǎn)鑒別的方式如下 3. 1)節(jié)點(diǎn)A向節(jié)點(diǎn)B發(fā)送消息IDB| |K_IDAB| |Na請(qǐng)求開始與節(jié)點(diǎn)B進(jìn)行鑒別。其 中,K_IDAB表示節(jié)點(diǎn)A與節(jié)點(diǎn)B的預(yù)共享密鑰的標(biāo)識(shí),NA是節(jié)點(diǎn)A產(chǎn)生的隨機(jī)數(shù),IDB表示 節(jié)點(diǎn)B的身份標(biāo)識(shí); 3. 2)節(jié)點(diǎn)B收到節(jié)點(diǎn)A的鑒別請(qǐng)求后,首先判斷請(qǐng)求消息中的IDB是否與自己的 身份標(biāo)識(shí)ID相同,若不同,節(jié)點(diǎn)B丟棄該請(qǐng)求消息;若相同,節(jié)點(diǎn)B確定自己的ID列表中是 否保存了與K—ID^對(duì)應(yīng)的密鑰,若不存在,終止鑒別;若存在,則產(chǎn)生詢問Ne,并利用ID列表 中與K_IDAB對(duì)應(yīng)的K_VAL字段的值,即節(jié)點(diǎn)A與節(jié)點(diǎn)B的預(yù)共享密鑰PSU,根據(jù)IDA、 IDB、 NA、 NB計(jì)算薩旭I I SKAB = F (PSKAB, IDA | | IDB | | NA | NB),其中,MAKAB為節(jié)點(diǎn)A與節(jié)點(diǎn)B之間的 消息鑒別密鑰,SKAB為節(jié)點(diǎn)A與節(jié)點(diǎn)B之間的會(huì)話密鑰。然后,利用MAU產(chǎn)生消息鑒別碼 MAQ = H (薩ab, IDAI INAI INB),并構(gòu)造消息IDA | | NA | | NB | | MAQ發(fā)送給節(jié)點(diǎn)A。上述F表示密 鑰導(dǎo)出算法,H表示消息鑒別碼計(jì)算方法,這兩者通常為單向函數(shù),下同;
3.3)節(jié)點(diǎn)A收到節(jié)點(diǎn)B的消息后,首先檢查消息中的詢問^是否與自己在第3. 1) 步中發(fā)送的詢問NA—致,若不一致,終止鑒別;若一致,節(jié)點(diǎn)A計(jì)算MAK^1 = F(PSKAB, IDAI IIDBI INAI INB),并利用MAKAB計(jì)算消息鑒別碼MAC2 = H(薩旭,曙| | NB),如果MAC2 = MAQ,則節(jié)點(diǎn)A對(duì)節(jié)點(diǎn)B鑒別成功,將SKAB保存,作為與節(jié)點(diǎn)B的會(huì)話密鑰,并計(jì)算MAC3 = H (薩旭,IDBI INB),將IDBI INBI IMAC3發(fā)送給節(jié)點(diǎn)B。 3. 4)節(jié)點(diǎn)B收到節(jié)點(diǎn)A的消息后,檢查詢問NB是否與自己在第3. 2)步中發(fā)送給 節(jié)點(diǎn)A的詢問NB —致,若不一致,鑒別失?。蝗粢恢?,節(jié)點(diǎn)B計(jì)算MAQ = H(MAKAB, IDB | |NB), 如果MAC4 = MAC3,則節(jié)點(diǎn)B對(duì)節(jié)點(diǎn)A鑒別成功,節(jié)點(diǎn)B將SK^保存為與節(jié)點(diǎn)A之間的會(huì)話 密鑰,并計(jì)算MACs = H(MAKAB, IDA| lNj,發(fā)送消息IDA| |NA| |區(qū)05給節(jié)點(diǎn)A。鑒別過程結(jié)束。
本發(fā)明基于隨機(jī)密鑰預(yù)分發(fā)和節(jié)點(diǎn)間均兩兩共享密鑰的傳感器網(wǎng)絡(luò)密鑰管理方 法,提出一種新的密鑰預(yù)分發(fā)和密鑰建立方法的執(zhí)行流程,用于提供傳感器網(wǎng)絡(luò)節(jié)點(diǎn)間的保密通信。并基于該方法產(chǎn)生的密鑰以及其與節(jié)點(diǎn)ID的綁定關(guān)系,實(shí)現(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)間 端到端的基于預(yù)共享密鑰的身份鑒別。
權(quán)利要求
一種傳感器網(wǎng)絡(luò)密鑰管理和節(jié)點(diǎn)鑒別方法,其特征在于該方法包括以下步驟1)密鑰預(yù)分發(fā)網(wǎng)絡(luò)部署前,部署服務(wù)器將用于建立節(jié)點(diǎn)間安全連接的通信密鑰預(yù)分發(fā)給所有節(jié)點(diǎn);2)密鑰建立網(wǎng)絡(luò)部署后,節(jié)點(diǎn)間建立用于進(jìn)行安全連接的對(duì)密鑰,包括以下步驟2.1)共享密鑰的建立在存在共享密鑰的鄰居節(jié)點(diǎn)間建立對(duì)密鑰;2.2)路徑密鑰的建立在沒有共享密鑰但存在多跳安全連接的節(jié)點(diǎn)間建立對(duì)密鑰;3)節(jié)點(diǎn)身份鑒別在節(jié)點(diǎn)間正式通信前,進(jìn)行身份鑒別以確定對(duì)方身份的合法性和有效性。
2. 根據(jù)權(quán)利要求1所述的傳感器網(wǎng)絡(luò)密鑰管理和節(jié)點(diǎn)鑒別方法,其特征在于所述步 驟1)的具體實(shí)現(xiàn)方式是·1. 1)網(wǎng)絡(luò)部署前,部署服務(wù)器進(jìn)行密鑰池初始化,生成密鑰池KP,該密鑰池KP包含多 個(gè)密鑰及其密鑰標(biāo)識(shí),密鑰池中的密鑰個(gè)數(shù)記為lKPl,并假設(shè)部署服務(wù)器安全;·1. 2)假定預(yù)設(shè)的網(wǎng)絡(luò)連通度為P。,網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)為n,每個(gè)節(jié)點(diǎn)均有對(duì)應(yīng)的標(biāo)識(shí)ID, 計(jì)算節(jié)點(diǎn)的度d = (n-l)*(lnn-ln(-lnP》)/n ;·1. 3)根據(jù)節(jié)點(diǎn)的度d以及期望的網(wǎng)絡(luò)部署后節(jié)點(diǎn)的鄰居節(jié)點(diǎn)數(shù)n',計(jì)算相鄰節(jié)點(diǎn)間兩 兩預(yù)共享密鑰的概率P = d/n';·1.4)部署服務(wù)器為所有節(jié)點(diǎn)分配密鑰。
3. 根據(jù)權(quán)利要求2所述的傳感器網(wǎng)絡(luò)密鑰管理和節(jié)點(diǎn)鑒別方法,其特征在于所述步 驟1. 4)的具體實(shí)現(xiàn)方式是·1. 4. 1)對(duì)于節(jié)點(diǎn)Ni,部署服務(wù)器首先為&構(gòu)造ID列表,ID列表中包括N_ID字段、1(_ ID字段、K_STA字段、K_ATTR字段、K_ATTR_EX字段以及K_VAL字段; 其中N_ID字段節(jié)點(diǎn)ID,表示與節(jié)點(diǎn)&共享密鑰的節(jié)點(diǎn)身份標(biāo)識(shí)值;K_ID字段密鑰ID,表示節(jié)點(diǎn)&與N_ID字段所標(biāo)識(shí)的節(jié)點(diǎn)之間共享密鑰的標(biāo)識(shí)值;K_STA字段密鑰狀態(tài),表示K_ID字段所標(biāo)識(shí)的密鑰的狀態(tài),當(dāng)節(jié)點(diǎn)&與N_ID字段所標(biāo)識(shí)的節(jié)點(diǎn)已建立對(duì)密鑰時(shí),K_STA字段的值為已建立,否則為未建立,該字段的初值為未建立;K_ATTR字段密鑰屬性,當(dāng)K_STA字段中的值為已建立時(shí),該字段的取值有意義,表示 K_ID字段所標(biāo)識(shí)的密鑰是共享密鑰還是路徑密鑰,該字段的缺省表示共享密鑰;K_ATTR_EX字段密鑰屬性擴(kuò)展,當(dāng)K_ATTR字段表示的密鑰為路徑密鑰時(shí),該字段的值 有意義,用于表示路徑密鑰是直連密鑰還是多跳相連密鑰,該字段的缺省表示密鑰為直連 密鑰;K_VAL字段密鑰值,用于存儲(chǔ)K_ID字段標(biāo)識(shí)的密鑰值;在&上建立ID列表后,部署服務(wù)器從剩余n-1個(gè)節(jié)點(diǎn)中隨機(jī)選擇n*p個(gè)節(jié)點(diǎn),分別將 其節(jié)點(diǎn)ID插入到&的ID列表中;然后,部署服務(wù)器從密鑰池KP中為ID列表中的每一項(xiàng) 不重復(fù)的選擇一個(gè)密鑰,并將這些密鑰標(biāo)識(shí)以及相應(yīng)的密鑰值分別插入&的ID列表中對(duì) 應(yīng)的K_ID字段和K_VAL字段中,并從密鑰池KP中刪除這些密鑰及標(biāo)識(shí);最后,部署服務(wù)器 生成t(t < n')個(gè)備用的密鑰ID,備用密鑰ID與部署服務(wù)器初始生成的密鑰池KP中的密 鑰ID不重復(fù),也加載到&中;部署服務(wù)器記錄節(jié)點(diǎn)&的ID列表中的所有信息;`1. 4. 2)對(duì)于節(jié)點(diǎn)Nj,部署服務(wù)器在為節(jié)點(diǎn)Ni預(yù)分發(fā)密鑰后,開始為節(jié)點(diǎn)Nj預(yù)分發(fā)密鑰 首先,部署服務(wù)器從剩余n-1個(gè)節(jié)點(diǎn)中隨機(jī)選擇n*p個(gè)節(jié)點(diǎn),分別將其節(jié)點(diǎn)ID插入到Nj的 ID列表中;然后,部署服務(wù)器從密鑰池KP中為Nj的ID列表中的每一項(xiàng)不重復(fù)的選擇一個(gè) 密鑰,并將這些密鑰標(biāo)識(shí)以及相應(yīng)的密鑰值分別插入Nj的ID列表中對(duì)應(yīng)的K_ID字段和K_ VAL字段中,并從密鑰池KP中刪除這些密鑰及標(biāo)識(shí),但當(dāng)為Nj隨機(jī)選擇的n*p個(gè)節(jié)點(diǎn)中包 括&時(shí),則不再為Nj與&重新分配密鑰,而是為其分配之前已為&分配的二者之間的共享 密鑰,并在Nj的ID列表中與&對(duì)應(yīng)的項(xiàng)的K_ID字段和K_VAL字段中分別插入該共享密鑰 的ID和密鑰值;部署服務(wù)器生成t (t < n')個(gè)與初始生成的密鑰池KP中的密鑰ID以及 K的備用密鑰ID不重復(fù)的密鑰ID,也加載到Nj中;部署服務(wù)器記錄節(jié)點(diǎn)Nj的ID列表中的 所有信息;`1. 4. 3)對(duì)于剩余節(jié)點(diǎn),部署服務(wù)器在為Nj分發(fā)密鑰后,為剩余所有節(jié)點(diǎn)依次分發(fā)密鑰, 分發(fā)方法與節(jié)點(diǎn)Nj相同;部署服務(wù)器記錄所有剩余節(jié)點(diǎn)的ID列表信息。
4. 根據(jù)權(quán)利要求3所述的傳感器網(wǎng)絡(luò)密鑰管理和節(jié)點(diǎn)鑒別方法,其特征在于所述步 驟2. 1)的具體實(shí)現(xiàn)方式是``2. 1. 1)網(wǎng)絡(luò)部署后,每個(gè)節(jié)點(diǎn)均向其鄰居節(jié)點(diǎn)廣播自己的身份標(biāo)識(shí)信息;`2. 1. 2)鄰居節(jié)點(diǎn)收到2. 1. 1)的廣播消息后,根據(jù)其中的身份標(biāo)識(shí)信息判斷是否與該 廣播節(jié)點(diǎn)共享密鑰,如果自己的ID列表中的NJD字段中存在相同的ID,表明自己與該節(jié)點(diǎn) 共享密鑰,即對(duì)密鑰;該鄰居節(jié)點(diǎn)將對(duì)應(yīng)ID列表對(duì)應(yīng)項(xiàng)中的K—STA字段置為已建立,標(biāo)識(shí)已 與2. 1. 1)中的廣播節(jié)點(diǎn)建立對(duì)密鑰。
5. 根據(jù)權(quán)利要求4所述的傳感器網(wǎng)絡(luò)密鑰管理和節(jié)點(diǎn)鑒別方法,其特征在于所述步 驟2. 2)的具體實(shí)現(xiàn)方式是`2.2. 1)當(dāng)源節(jié)點(diǎn)與目的節(jié)點(diǎn)間存在一條由兩兩間均存在共享密鑰的多個(gè)節(jié)點(diǎn)構(gòu)成的 安全路徑時(shí),源節(jié)點(diǎn)生成一個(gè)路徑密鑰PK并從備用的路徑密鑰ID中不重復(fù)的選擇一個(gè)ID, 通過與目的節(jié)點(diǎn)之間的安全路徑,將該路徑密鑰PK和對(duì)應(yīng)的密鑰ID以及自己的ID和目的 節(jié)點(diǎn)的ID通過安全路徑上節(jié)點(diǎn)的逐跳加解密傳輸發(fā)送給目的節(jié)點(diǎn);`2. 2. 2)目的節(jié)點(diǎn)收到源節(jié)點(diǎn)的密鑰消息并解密獲得路徑密鑰PK后,通過與源節(jié)點(diǎn)之 間的安全路徑向源節(jié)點(diǎn)發(fā)送密鑰建立成功消息,表明與源節(jié)點(diǎn)之間已建立安全連接;此時(shí), 源節(jié)點(diǎn)和目的節(jié)點(diǎn)分別將對(duì)方的身份標(biāo)識(shí)ID作為新條目插入到自己的ID列表中,并將PK 的ID以及PK的值插入對(duì)應(yīng)的K_ID字段和K_VAL字段中,并將對(duì)應(yīng)的K_STA字段置為已建 立,將K_ATTR字段置為路徑密鑰,如果源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間在建立路徑密鑰時(shí)的路徑為 單跳,表明源節(jié)點(diǎn)和目的節(jié)點(diǎn)均在對(duì)方的直接通信范圍內(nèi),則將相應(yīng)的K_ATTR_EX字段置 為直連密鑰;否則,將相應(yīng)的K_ATTR_EX字段置為多跳相連密鑰。
6. 根據(jù)權(quán)利要去5所述的傳感器網(wǎng)絡(luò)密鑰管理和節(jié)點(diǎn)鑒別方法,其特征在于所述步 驟3)的具體實(shí)現(xiàn)方式是`3. 1)節(jié)點(diǎn)A向節(jié)點(diǎn)B發(fā)送消息IDB| |K_IDAB| |NA請(qǐng)求開始與節(jié)點(diǎn)B進(jìn)行鑒別,其中,K_ ID^表示節(jié)點(diǎn)A與節(jié)點(diǎn)B的預(yù)共享密鑰的標(biāo)識(shí),NA是節(jié)點(diǎn)A產(chǎn)生的隨機(jī)數(shù),IDB表示節(jié)點(diǎn)B 的身份標(biāo)識(shí);`3. 2)節(jié)點(diǎn)B收到節(jié)點(diǎn)A的鑒別請(qǐng)求后,首先判斷請(qǐng)求消息中的IDB是否與自己的身份 標(biāo)識(shí)ID相同,若不同,節(jié)點(diǎn)B丟棄該請(qǐng)求消息;若相同,節(jié)點(diǎn)B確定自己的ID列表中是否保存了與K—ID^對(duì)應(yīng)的密鑰,若不存在,終止鑒別;若存在,則產(chǎn)生詢問Ne,并利用ID列表中與 KJDab對(duì)應(yīng)的K_VAL字段的值,即節(jié)點(diǎn)A與節(jié)點(diǎn)B的預(yù)共享密鑰PSK^,根據(jù)IDA、 IDB、 NA、 NB 計(jì)算薩旭I I SK旭=F (PSK旭,IDAI IIDBI INA | NB),其中,MAKAB為節(jié)點(diǎn)A與節(jié)點(diǎn)B之間的消息鑒 別密鑰,SKAB為節(jié)點(diǎn)A與節(jié)點(diǎn)B之間的會(huì)話密鑰;然后,利用MAU產(chǎn)生消息鑒別碼MAQ = H(MAK旭,IDA| |NA| lNB),并構(gòu)造消息IDA| |NA| |Nb| l區(qū)Q發(fā)送給節(jié)點(diǎn)A ;其中,F(xiàn)表示密鑰導(dǎo)出 算法,H表示消息鑒別碼計(jì)算方法,這兩者為單向函數(shù);[3. 3)節(jié)點(diǎn)A收到節(jié)點(diǎn)B的消息后,首先檢查消息中的詢問NA是否與自己在第3. 1)步 中發(fā)送的詢問NA —致,若不一致,終止鑒別;若一致,節(jié)點(diǎn)A計(jì)算MAKAB| I SKAB = F(PSKAB, IDAI IIDBI INAI INB),并利用薩旭計(jì)算消息鑒別碼MAC2 = H (MAKAB, IDA | | NA | | NB),如果MAC2 = MAQ,則節(jié)點(diǎn)A對(duì)節(jié)點(diǎn)B鑒別成功,將SKAB保存,作為與節(jié)點(diǎn)B的會(huì)話密鑰,并計(jì)算MAC3 = H(MAK旭,IDB| INb),將IDb| |Nb| |MAC3發(fā)送給節(jié)點(diǎn)B ;其中,F(xiàn)表示密鑰導(dǎo)出算法,H表示消息 鑒別碼計(jì)算方法,這兩者為單向函數(shù);[3. 4)節(jié)點(diǎn)B收到節(jié)點(diǎn)A的消息后,檢查詢問NB是否與自己在第3. 2)步中發(fā)送給節(jié)點(diǎn) A的詢問NB —致,若不一致,鑒別失??;若一致,節(jié)點(diǎn)B計(jì)算MAC4 = H(MAK旭,IDB | | NB),如果 MAC4 = MAC3,則節(jié)點(diǎn)B對(duì)節(jié)點(diǎn)A鑒別成功,節(jié)點(diǎn)B將保存為與節(jié)點(diǎn)A之間的會(huì)話密鑰, 并計(jì)算MAC5 = H (薩ab, IDAI INA),發(fā)送消息IDAI INA | | MAC5給節(jié)點(diǎn)A ;其中,F(xiàn)表示密鑰導(dǎo)出 算法,H表示消息鑒別碼計(jì)算方法,這兩者為單向函數(shù)。
全文摘要
本發(fā)明涉及一種傳感器網(wǎng)絡(luò)密鑰管理和節(jié)點(diǎn)鑒別方法。該方法包括以下步驟1)密鑰預(yù)分發(fā)網(wǎng)絡(luò)部署前,部署服務(wù)器將用于建立節(jié)點(diǎn)間安全連接的通信密鑰預(yù)分發(fā)給所有節(jié)點(diǎn);2)密鑰建立網(wǎng)絡(luò)部署后,節(jié)點(diǎn)間建立用于進(jìn)行安全連接的對(duì)密鑰,包括以下步驟2.1)共享密鑰的建立在存在共享密鑰的鄰居節(jié)點(diǎn)間建立對(duì)密鑰;2.2)路徑密鑰的建立在沒有共享密鑰但存在多跳安全連接的節(jié)點(diǎn)間建立對(duì)密鑰;3)節(jié)點(diǎn)身份鑒別在節(jié)點(diǎn)間正式通信前,進(jìn)行身份鑒別以確定對(duì)方身份的合法性和有效性。本發(fā)明能夠有效抵抗竊聽、篡改和重放等針對(duì)網(wǎng)絡(luò)通信的攻擊,可實(shí)現(xiàn)節(jié)點(diǎn)間的保密通信,能夠有效節(jié)約傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的資源,延長(zhǎng)傳感器網(wǎng)絡(luò)的使用壽命。
文檔編號(hào)H04W12/06GK101699891SQ20091021862
公開日2010年4月28日 申請(qǐng)日期2009年10月21日 優(yōu)先權(quán)日2009年10月21日
發(fā)明者曹軍, 杜志強(qiáng), 鐵滿霞, 黃振海 申請(qǐng)人:西安西電捷通無線網(wǎng)絡(luò)通信有限公司