專利名稱:網(wǎng)絡(luò)節(jié)點(diǎn)間的數(shù)據(jù)傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種在網(wǎng)絡(luò)中的網(wǎng)絡(luò)節(jié)點(diǎn)之間傳輸數(shù)據(jù)的方法,特別是以加密保護(hù)的方式在無線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點(diǎn)間傳輸數(shù)據(jù)的方法。
背景技術(shù):
無線傳感器網(wǎng)絡(luò)或無線傳感器-執(zhí)行器網(wǎng)絡(luò)WSN(Wireless Sensor Network)用途廣泛。無線傳感器網(wǎng)絡(luò)例如可以用來對(duì)生產(chǎn)設(shè)備和化學(xué)過程實(shí)施監(jiān)測和控制,以及對(duì)管 線實(shí)施監(jiān)測。無線傳感器網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)通過無線接口進(jìn)行無線通信。按照某種數(shù)據(jù) 傳輸協(xié)議進(jìn)行數(shù)據(jù)傳輸。802. 15.4、Zig Bee、無線HART和藍(lán)牙等都是目前已有的通過無線 接口傳輸數(shù)據(jù)的數(shù)據(jù)傳輸協(xié)議。借助消息在各傳感器節(jié)點(diǎn)之間交換測量值及控制指令。為了防止未經(jīng)授權(quán)的第三方篡改無線傳輸?shù)南ⅲ枰獙?duì)網(wǎng)絡(luò)節(jié)點(diǎn)間交換的數(shù)據(jù) 進(jìn)行加密保護(hù)。但是,無線傳感器網(wǎng)絡(luò)中各網(wǎng)絡(luò)節(jié)點(diǎn)的存儲(chǔ)空間和計(jì)算能力有限,特別是在 采用電池供電的情況下,這些節(jié)點(diǎn)的能量供應(yīng)有限,因此,需要一種有效的安全方案來解決 這個(gè)問題。傳統(tǒng)方法通過用密鑰為被傳輸數(shù)據(jù)加密來保證其安全。但是,簡單的K型加密法 不完全安全,因?yàn)榈谌接锌赡芾盟^的“重放攻擊”來重放(wiedereinspiegeln)消 息。傳統(tǒng)網(wǎng)絡(luò)為此而采用所謂的NONCE值。NONCE值是一次性值,或者說只使用一次的值。 NONCE值用來識(shí)別重放的消息(重放攻擊)。在此情況下,發(fā)送節(jié)點(diǎn)(例如傳感器節(jié)點(diǎn))將 借助密鑰K和NONCE值的函數(shù)來為數(shù)據(jù)(例如測量數(shù)據(jù))加密。這種NONCE值又稱“初始 化向量”。由發(fā)送節(jié)點(diǎn)向網(wǎng)絡(luò)內(nèi)部的接收節(jié)點(diǎn)發(fā)送消息或幀F(xiàn)。每個(gè)NONCE值和每個(gè)密鑰只 結(jié)合使用一次。因此,為了有效防止消息被重放或者避免受到重放攻擊,接收節(jié)點(diǎn)會(huì)對(duì)接收 到的消息中所使用的NONCE值的一次性進(jìn)行檢驗(yàn)。通常,802. 15. 4或WLAN等協(xié)議為了保護(hù) 數(shù)據(jù)幀而使用的加密方法還進(jìn)一步要求每個(gè)NONCE值或初始化向量和每個(gè)密鑰只能結(jié)合 使用一次。否則就會(huì)削弱加密保護(hù)的保護(hù)效果。因此,最遲在NONCE值的取值范圍用盡之 前必須生成新的密鑰K'(密鑰更新)。但是,采用NONCE值來防止重放攻擊時(shí),需要在接收端也就是接收節(jié)點(diǎn)上存儲(chǔ)有 關(guān)已用NONCE值的狀態(tài)信息。網(wǎng)絡(luò)可能由多個(gè)節(jié)點(diǎn)構(gòu)成,為了將來從其他節(jié)點(diǎn)接收消息或 幀,每個(gè)節(jié)點(diǎn)都必須將該網(wǎng)絡(luò)中每個(gè)其他節(jié)點(diǎn)所使用過的NONCE值的狀態(tài)信息予以存儲(chǔ), 這就需要占用大量存儲(chǔ)空間來存儲(chǔ)狀態(tài)信息,從而使各節(jié)點(diǎn)產(chǎn)生很大的資源負(fù)荷。特別是 在網(wǎng)絡(luò)中的不同節(jié)點(diǎn)間存在大量端到端安全關(guān)聯(lián)的情況下,每個(gè)節(jié)點(diǎn)都需要大量存儲(chǔ)空 間,因?yàn)樵摴?jié)點(diǎn)必須為每個(gè)端到端安全關(guān)聯(lián)各存儲(chǔ)一個(gè)NONCE值。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的是提供一種以加密保護(hù)的方式在網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點(diǎn)之間傳 輸數(shù)據(jù)的方法,其中,NONCE值的狀態(tài)信息需要占用的存儲(chǔ)空間很少。本發(fā)明用來達(dá)成上述目的的解決方案是一種具有如根據(jù)權(quán)利要求1所述特征的以加密保護(hù)的方式在網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點(diǎn)之間傳輸數(shù)據(jù)的方法。本發(fā)明提供一種以加密保護(hù)的方式在網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點(diǎn)之間傳輸數(shù)據(jù)的方法,其 中,實(shí)施下列步驟以便在消息中傳輸所述數(shù)據(jù)a)根據(jù)計(jì)數(shù)值和定值生成NONCE值,所述計(jì)數(shù)值在傳輸消息時(shí)被更新,所述定值 供所述網(wǎng)絡(luò)的各網(wǎng)絡(luò)節(jié)點(diǎn)共享;以及b)借助密鑰和所述生成NONCE值對(duì)在所述消息中傳輸?shù)臄?shù)據(jù)進(jìn)行加密和解密。根據(jù)本發(fā)明方法的一種實(shí)施方式,由一中央管理網(wǎng)絡(luò)節(jié)點(diǎn)為所述網(wǎng)絡(luò)的其余網(wǎng)絡(luò) 節(jié)點(diǎn)提供所述網(wǎng)絡(luò)中所使用的共享定值。這種實(shí)施方式的優(yōu)點(diǎn)在于,所述網(wǎng)絡(luò)中共同使用的定值非常便于管理,必要時(shí)還 可予以更換來提高網(wǎng)絡(luò)的防篡改安全度。無論網(wǎng)絡(luò)節(jié)點(diǎn)有多少,所述網(wǎng)絡(luò)共享定值在一個(gè) 網(wǎng)絡(luò)節(jié)點(diǎn)上只需存儲(chǔ)一次。此外,即使在供電中斷或更換電池的情況下也不需要長期存儲(chǔ) 計(jì)數(shù)值,這樣可避免該網(wǎng)絡(luò)節(jié)點(diǎn)多次使用同一個(gè)NONCE值,因?yàn)榫W(wǎng)絡(luò)節(jié)點(diǎn)恢復(fù)供電或重新 工作后就可為其分配網(wǎng)絡(luò)中正在使用的定值。根據(jù)本發(fā)明方法的一種實(shí)施方式,所述NONCE值此外還根據(jù)將所述消息傳輸給所 述網(wǎng)絡(luò)的接收網(wǎng)絡(luò)節(jié)點(diǎn)的發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)的發(fā)送節(jié)點(diǎn)地址而生成。由此可進(jìn)一步提高防重放攻擊安全度。根據(jù)本發(fā)明方法的一種實(shí)施方式,所述中央管理網(wǎng)絡(luò)節(jié)點(diǎn)通過向所述網(wǎng)絡(luò)的網(wǎng)絡(luò) 節(jié)點(diǎn)發(fā)送廣播消息或單播消息來傳輸所述共享定值。這就可以簡單快捷的方式更新所述網(wǎng)絡(luò)共享定值。根據(jù)本發(fā)明方法的另一實(shí)施方式,所述共享定值可由所述中央管理網(wǎng)絡(luò)節(jié)點(diǎn)重新 配置。根據(jù)一種可行的實(shí)施方式,這種對(duì)共享定值的重新配置以固定的時(shí)間間隔定期進(jìn) 行。根據(jù)一種替代實(shí)施方式,當(dāng)被傳輸數(shù)據(jù)量超過預(yù)定數(shù)據(jù)量后,對(duì)用來生成NONCE 值的所述共享定值進(jìn)行重新配置。根據(jù)本發(fā)明方法的另一實(shí)施方式,當(dāng)被傳輸消息的數(shù)量超過預(yù)定數(shù)量后,對(duì)所述 共享定值進(jìn)行重新配置。根據(jù)本發(fā)明方法的另一實(shí)施方式,當(dāng)所述網(wǎng)絡(luò)中的任一網(wǎng)絡(luò)節(jié)點(diǎn)達(dá)到預(yù)定計(jì)數(shù)值 后,對(duì)所述共享定值進(jìn)行重新配置。根據(jù)本發(fā)明方法的另一實(shí)施方式,發(fā)生預(yù)定事件時(shí)對(duì)所述共享定值進(jìn)行重新配置。根據(jù)本發(fā)明方法的另一實(shí)施方式,所述預(yù)定事件指所述網(wǎng)絡(luò)中增設(shè)一個(gè)網(wǎng)絡(luò)節(jié) 點(diǎn),例如,某一網(wǎng)絡(luò)節(jié)點(diǎn)在連接供電電壓后開始與所述網(wǎng)絡(luò)通信。根據(jù)本發(fā)明方法的另一實(shí)施方式,當(dāng)符合預(yù)定條件的數(shù)據(jù)被傳輸時(shí),對(duì)所述共享 定值進(jìn)行重新配置。本發(fā)明通過以上各種實(shí)施方式來重新配置共享定值,由此,本發(fā)明以加密保護(hù)的 方式在網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點(diǎn)之間傳輸數(shù)據(jù)的方法可靈活應(yīng)用于各種領(lǐng)域并滿足各種安全需要。根據(jù)本發(fā)明方法的另一實(shí)施方式,通過將所述發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)的發(fā)送節(jié)點(diǎn)地址、所 用共享定值和所述發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)的內(nèi)部計(jì)數(shù)器所產(chǎn)生的計(jì)數(shù)值予以連接或者串聯(lián)來生成所述NONCE值。這種實(shí)施方式的優(yōu)點(diǎn)在于,采用相對(duì)簡單的電路設(shè)計(jì)且消耗少量電能或能量就能 生成NONCE值。根據(jù)本發(fā)明方法的另一實(shí)施方式,通過在串聯(lián)所述發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)的發(fā)送節(jié)點(diǎn)地 址、所述共享定值和所述發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)的內(nèi)部計(jì)數(shù)器所產(chǎn)生的計(jì)數(shù)值時(shí)應(yīng)用哈希函數(shù)來生 成所述NONCE值。這種實(shí)施方式的優(yōu)點(diǎn)在于,第三方即使在監(jiān)聽被傳輸消息的過程中也不能識(shí)別出 發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)當(dāng)前所用的NONCE值,借此可提高防篡改安全度。根據(jù)本發(fā)明方法的另一實(shí)施方式,通過CCM算法來對(duì)在所述消息中傳輸?shù)臄?shù)據(jù)進(jìn) 行加密及解密。根據(jù)所述方法的一種可行實(shí)施方式,所述被傳輸消息具有頭數(shù)據(jù)和有效數(shù)據(jù),所 述頭數(shù)據(jù)中包含有發(fā)送節(jié)點(diǎn)地址、接收節(jié)點(diǎn)地址和所述發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)的當(dāng)前計(jì)數(shù)值,所述 有效數(shù)據(jù)中包含有加密的數(shù)據(jù)。根據(jù)本發(fā)明方法的另一實(shí)施方式,所述接收網(wǎng)絡(luò)節(jié)點(diǎn)將在所述消息中傳輸過來 的所述發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)的計(jì)數(shù)值與所述接收網(wǎng)絡(luò)節(jié)點(diǎn)的內(nèi)部計(jì)數(shù)器根據(jù)在所述消息中傳輸 過來的發(fā)送節(jié)點(diǎn)地址而選定的計(jì)數(shù)值進(jìn)行比較,如果傳輸過來的計(jì)數(shù)值比選定的計(jì)數(shù)值更 新,所述接收網(wǎng)絡(luò)節(jié)點(diǎn)就根據(jù)傳輸過來的計(jì)數(shù)值、所述共享定值和傳輸過來的發(fā)送節(jié)點(diǎn)地 址生成一接收端NONCE值,其中,利用接收端生成的所述NONCE值和所述接收網(wǎng)絡(luò)節(jié)點(diǎn)中所 存儲(chǔ)的密鑰來對(duì)以加密方式在所述消息中傳輸?shù)臄?shù)據(jù)進(jìn)行解密。根據(jù)本發(fā)明方法的另一實(shí)施方式,所述發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)通過無線接口將所述消息傳 輸給所述接收網(wǎng)絡(luò)節(jié)點(diǎn)。本發(fā)明還提供一種由多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)構(gòu)成的網(wǎng)絡(luò),這些網(wǎng)絡(luò)節(jié)點(diǎn)彼此間以消息形式 傳輸數(shù)據(jù),其中,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)均具有a)用于根據(jù)計(jì)數(shù)值和定值生成NONCE值的單元,所述計(jì)數(shù)值在發(fā)送消息時(shí)被更 新,所述定值供所述網(wǎng)絡(luò)的各網(wǎng)絡(luò)節(jié)點(diǎn)共同使用;以及b)用于借助密鑰和所述生成NONCE值為在所述消息中傳輸?shù)臄?shù)據(jù)進(jìn)行加密和解 密的單元。根據(jù)本發(fā)明網(wǎng)絡(luò)的一種實(shí)施方式,所述網(wǎng)絡(luò)具有一個(gè)為所述網(wǎng)絡(luò)的其余網(wǎng)絡(luò)節(jié)點(diǎn) 提供所述共享定值的中央管理網(wǎng)絡(luò)節(jié)點(diǎn)。根據(jù)本發(fā)明網(wǎng)絡(luò)的一種實(shí)施方式,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)各具有至少一個(gè)傳感器。本發(fā)明還提供一種包括多個(gè)程序指令的計(jì)算機(jī)程序,所述程序指令用于實(shí)施所述 以加密保護(hù)的方式在網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點(diǎn)之間傳輸數(shù)據(jù)的方法,其中,實(shí)施下列步驟以便在消 息中傳輸所述數(shù)據(jù)a)根據(jù)計(jì)數(shù)值和定值生成NONCE值,所述計(jì)數(shù)值在發(fā)送消息時(shí)被更新,所述定值 供所述網(wǎng)絡(luò)的各網(wǎng)絡(luò)節(jié)點(diǎn)共同使用;以及b)借助密鑰和所述生成NONCE值為在所述消息中傳輸?shù)臄?shù)據(jù)進(jìn)行加密和解密。本發(fā)明還提供一種存儲(chǔ)有上述計(jì)算機(jī)程序的數(shù)據(jù)載體。
下面借助附圖對(duì)本發(fā)明以加密保護(hù)的方式在網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點(diǎn)之間傳輸數(shù)據(jù)的方 法及本發(fā)明網(wǎng)絡(luò)的優(yōu)選實(shí)施方式進(jìn)行說明,以便闡述本發(fā)明的特征所在,其中圖1為本發(fā)明以加密保護(hù)的方式傳輸數(shù)據(jù)的方法的實(shí)施例的簡易流程圖;圖2為在本發(fā)明網(wǎng)絡(luò)的發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)之間傳輸消息的簡明框圖;圖3為本發(fā)明方法所傳輸?shù)南⒌囊环N可能的數(shù)據(jù)格式;圖4為本發(fā)明網(wǎng)絡(luò)中所包含的一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)施例的框圖,用以說明數(shù)據(jù)的加 密過程;圖5為本發(fā)明網(wǎng)絡(luò)中所包含的一個(gè)接收節(jié)點(diǎn)的實(shí)施例的框圖,用以說明消息的解 密過程;圖6為本發(fā)明網(wǎng)絡(luò)的一個(gè)實(shí)施例,其中,按照本發(fā)明方法在網(wǎng)絡(luò)節(jié)點(diǎn)之間傳輸消息;圖7A、圖7B為本發(fā)明方法通過中央管理網(wǎng)絡(luò)節(jié)點(diǎn)提供共享定值的不同方案;圖8為本發(fā)明網(wǎng)絡(luò)的一個(gè)實(shí)施例;圖9為本發(fā)明網(wǎng)絡(luò)的另一實(shí)施例;以及圖10為本發(fā)明網(wǎng)絡(luò)的又一實(shí)施例。
具體實(shí)施例方式如圖1所示,本發(fā)明以加密保護(hù)的方式在網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點(diǎn)之間傳輸數(shù)據(jù)的方法主 要包括兩個(gè)步驟。在第一步驟Sl中生成一個(gè)NONCE值N。這個(gè)NONCE值是根據(jù)計(jì)數(shù)值CTR和定值 EANCV (ExternalIy Assigned Nonce Contribution Value,“外部分配的現(xiàn)時(shí)貢獻(xiàn)值”)而 生成,所述計(jì)數(shù)值CTR在傳輸消息或幀F(xiàn)時(shí)被更新。這個(gè)在網(wǎng)絡(luò)中使用的共享定值EANCV供 本發(fā)明網(wǎng)絡(luò)的各網(wǎng)絡(luò)節(jié)點(diǎn)共同使用。根據(jù)一種可行實(shí)施方式,由一個(gè)中央管理網(wǎng)絡(luò)節(jié)點(diǎn)利 用廣播消息或單播消息為所述網(wǎng)絡(luò)的其余網(wǎng)絡(luò)節(jié)點(diǎn)提供在網(wǎng)絡(luò)中使用的共享定值EANCV。 根據(jù)一種可行實(shí)施方式,所述管理網(wǎng)絡(luò)節(jié)點(diǎn)利用廣播消息向所述網(wǎng)絡(luò)的其余所有網(wǎng)絡(luò)節(jié)點(diǎn) 發(fā)送定值EANCV。根據(jù)一種替代實(shí)施方式,所述管理網(wǎng)絡(luò)節(jié)點(diǎn)利用單播消息向每個(gè)網(wǎng)絡(luò)節(jié) 點(diǎn)分別發(fā)送定值EANCV。根據(jù)另一實(shí)施方式,除計(jì)數(shù)值CTR和定值EANCV外,所述NONCE值 N還根據(jù)發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)的發(fā)送節(jié)點(diǎn)地址SA生成,該發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)將消息F傳輸給所述網(wǎng)絡(luò) 的另一接收網(wǎng)絡(luò)節(jié)點(diǎn)。在步驟Sl生成NONCE值后,步驟S2分別借助密鑰K和生成NONCE值N來對(duì)消息 F中所傳輸?shù)臄?shù)據(jù)進(jìn)行加密或解密。如果某個(gè)發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)打算將數(shù)據(jù)以加密保護(hù)的方式 傳輸給某個(gè)接收網(wǎng)絡(luò)節(jié)點(diǎn),就需要借助密鑰K及在發(fā)送端生成的NONCE值N來對(duì)數(shù)據(jù)進(jìn)行 加密。接收到消息F后,接收節(jié)點(diǎn)借助相應(yīng)的密鑰K和NONCE值對(duì)該信息F進(jìn)行解密。圖2展示的是在本發(fā)明的網(wǎng)絡(luò)1內(nèi),網(wǎng)絡(luò)1的發(fā)送節(jié)點(diǎn)2-1向接收節(jié)點(diǎn)2-2傳輸 消息或幀F(xiàn)的示意圖。網(wǎng)絡(luò)1可以由多個(gè)互相交換幀F(xiàn)的網(wǎng)絡(luò)節(jié)點(diǎn)2構(gòu)成。所述網(wǎng)絡(luò)的網(wǎng) 絡(luò)節(jié)點(diǎn)2之間以直接的方式或者間接通過該網(wǎng)絡(luò)其他網(wǎng)絡(luò)節(jié)點(diǎn)來傳輸幀或消息F。網(wǎng)絡(luò)節(jié) 點(diǎn)2可以是包含一或多個(gè)傳感器的網(wǎng)絡(luò)節(jié)點(diǎn)。這些傳感器網(wǎng)絡(luò)節(jié)點(diǎn)將傳感器所檢測到的測 量數(shù)據(jù)以消息F或幀的形式傳輸給其他網(wǎng)絡(luò)節(jié)點(diǎn),以便對(duì)這些數(shù)據(jù)進(jìn)行分析。傳感器可以是包括溫度傳感器在內(nèi)的任何一種傳感器。根據(jù)本發(fā)明方法的一種優(yōu)選實(shí)施方式,以消息、 數(shù)據(jù)包或幀F(xiàn)的形式傳輸測量數(shù)據(jù)。圖3展示的是本發(fā)明方法可以采用的一種數(shù)據(jù)格式。幀F(xiàn)具有頭數(shù)據(jù)或管理數(shù)據(jù) HDR0這些頭數(shù)據(jù)HDR中包含了有關(guān)幀F(xiàn)的信息,特別是有關(guān)發(fā)送節(jié)點(diǎn)或接收節(jié)點(diǎn)的身份的 信息。如圖3所示,頭數(shù)據(jù)HDR中主要包含了發(fā)送節(jié)點(diǎn)地址SA、接收節(jié)點(diǎn)地址EA以及其他 的管理數(shù)據(jù)。發(fā)送地址SA和接收地址EA可以是MAC地址。本發(fā)明方法中的頭數(shù)據(jù)HDR還包含一個(gè)計(jì)數(shù)值CTR,該計(jì)數(shù)值例如由發(fā)送節(jié)點(diǎn)2-1 中的內(nèi)部計(jì)數(shù)器生成。當(dāng)一個(gè)消息F從該發(fā)送節(jié)點(diǎn)2-1向接收節(jié)點(diǎn)2-2發(fā)送時(shí),這個(gè)計(jì)數(shù) 值CTR被更新,其中,這種更新一般體現(xiàn)為計(jì)數(shù)值CTR的增長。在數(shù)據(jù)包或幀F(xiàn)中,緊接著 頭數(shù)據(jù)HDR的是有效數(shù)據(jù)或有效載荷數(shù)據(jù)(payload data)。這些有效數(shù)據(jù)例如是來自發(fā)送 節(jié)點(diǎn)2-1的一或多個(gè)傳感器的加密數(shù)據(jù)。舉例而言,發(fā)送節(jié)點(diǎn)2-1的數(shù)據(jù)或測量數(shù)據(jù)給出 了發(fā)送節(jié)點(diǎn)2-1的位置或坐標(biāo)以及該位置上的基本溫度狀況。但是,這些加密數(shù)據(jù)中也可 以包含控制數(shù)據(jù)或控制指令數(shù)據(jù)。圖3所示的幀F(xiàn)的有效數(shù)據(jù)已用密鑰K和NONCE值N予 以加密。此外,消息或幀F(xiàn)中還可包含校驗(yàn)和CKS。這個(gè)校驗(yàn)和可具有數(shù)字簽名或消息認(rèn)證 碼(Message Authentication Code,消息驗(yàn)證碼)。如圖3所示,幀F(xiàn)的頭數(shù)據(jù)HDR中除了發(fā)送節(jié)點(diǎn)2_1的發(fā)送地址SA或發(fā)送ID外, 還包含接收節(jié)點(diǎn)的接收地址EA或帶有更新后的計(jì)數(shù)值(CTR)的接收ID,視情況還包含管理 數(shù)據(jù),例如幀的類型(Type)、數(shù)據(jù)字段的長度或數(shù)據(jù)包內(nèi)有效數(shù)據(jù)的量(length)及其他標(biāo) 記。幀的類型或消息的類型例如可以指示它是否為數(shù)據(jù)幀、控制指令或者確認(rèn)指令。在頭 數(shù)據(jù)HDR中例如可包含已激活某一安全機(jī)制(Security Enable)或者采用哪種協(xié)議版本這 樣的信息。根據(jù)本發(fā)明方法的一種可行實(shí)施方式,通過一種如802. 15. 4-2006所規(guī)定的CCM 算法來對(duì)消息F中所傳輸?shù)臄?shù)據(jù)進(jìn)行加密。這種加密法能夠?qū)崿F(xiàn)機(jī)密性、完整性或二者兼 顧。圖3所示的幀F(xiàn)或在網(wǎng)絡(luò)1的節(jié)點(diǎn)2之間進(jìn)行交換的消息F可以采用無線或有線 傳輸。網(wǎng)絡(luò)節(jié)點(diǎn)2之間的無線通信在很多工業(yè)應(yīng)用領(lǐng)域可以帶來諸多優(yōu)點(diǎn)。例如,安裝成 本低,網(wǎng)絡(luò)節(jié)點(diǎn)2安裝靈活,可避免電纜或滑動(dòng)觸點(diǎn)受到機(jī)械磨損,網(wǎng)絡(luò)1易于擴(kuò)展。通過 本發(fā)明的方法可以加密保護(hù)的方式在上述無線網(wǎng)絡(luò)1的網(wǎng)絡(luò)節(jié)點(diǎn)2之間傳輸數(shù)據(jù),其中,同 時(shí)能有效防止消息被重放或者避免受到重放攻擊。圖4展示的是本發(fā)明網(wǎng)絡(luò)1內(nèi)的一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)2的框圖。圖4所示的框圖展示了 在發(fā)送節(jié)點(diǎn)2-1中生成NONCE值N的過程以及利用密鑰K和生成NONCE值N來為數(shù)據(jù)加密 的過程。圖4所示的發(fā)送節(jié)點(diǎn)2-1包含兩個(gè)傳感器3A、3B,它們通過輸入/輸出單元4將 測量數(shù)據(jù)提供給加密裝置5。本發(fā)明網(wǎng)絡(luò)1的傳感器節(jié)點(diǎn)2可具有一個(gè)傳感器3或任意數(shù) 量的不同傳感器3。作為替代實(shí)施方式,網(wǎng)絡(luò)節(jié)點(diǎn)2不具有任何傳感器,而是將(例如)讀 取自某一存儲(chǔ)器的數(shù)據(jù)加密后以消息F的形式傳輸給另一網(wǎng)絡(luò)節(jié)點(diǎn)2。圖4所示的加密裝 置5可以是執(zhí)行加密算法的處理器CPU。該加密算法例如為CCM算法。特定而言可以采用 AES算法或DES算法作為其中的基本分組密碼。借助從存儲(chǔ)器6中讀取的密鑰K并根據(jù)生 成NONCE值N為輸入/輸出單元4所輸出的例如來自于傳感器3的數(shù)據(jù)加密。存儲(chǔ)器6可 以是非易失性快閃存儲(chǔ)器。由單元7生成或產(chǎn)生加密所需的NONCE值N。這個(gè)電路或單元7根據(jù)計(jì)數(shù)值CTR和定值EANCV生成NONCE值N。根據(jù)一種可行實(shí)施方式,單元7此外還根據(jù)發(fā)送節(jié)點(diǎn)2_1的 發(fā)送地址SA來生成NONCE值N。如圖4所示,發(fā)送節(jié)點(diǎn)2_1包含一個(gè)用于生成計(jì)數(shù)值CTR 的內(nèi)部計(jì)數(shù)器8,其中,在傳送或者發(fā)送一消息F時(shí)更新該計(jì)數(shù)值。這種更新例如體現(xiàn)為計(jì) 數(shù)值CTR的增長。根據(jù)一種替代實(shí)施方式,也可以通過減小計(jì)數(shù)值CTR來對(duì)其進(jìn)行更新。根 據(jù)另一實(shí)施方式,也可以按照某種預(yù)定的計(jì)算規(guī)則(例如用于計(jì)算偽隨機(jī)數(shù)字序列的計(jì)算 規(guī)則)來計(jì)算數(shù)字次序,由此來更新計(jì)數(shù)值CTR。如圖4所示,發(fā)送節(jié)點(diǎn)2-1的發(fā)送地址SA 以及共享定值EANCV都可以從存儲(chǔ)器9中讀取。存儲(chǔ)器9可以是RAM存儲(chǔ)器。根據(jù)一種實(shí) 施方式,單元7根據(jù)計(jì)數(shù)值CTR和定值EANCV來生成NONCE值N。根據(jù)一種替代實(shí)施方式, 此外還根據(jù)從存儲(chǔ)器9中讀取的發(fā)送節(jié)點(diǎn)2-1的發(fā)送節(jié)點(diǎn)地址SA來生成該NONCE值N。根據(jù)本發(fā)明方法的一種可行實(shí)施方式,單元7通過對(duì)發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)2-1的發(fā)送節(jié) 點(diǎn)地址SA、共享定值EANCV及發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)2-1中內(nèi)部計(jì)數(shù)器8所產(chǎn)生的計(jì)數(shù)值CTR進(jìn)行 串聯(lián)或連接來生成NONCE值N。采用這種實(shí)施方式時(shí),相應(yīng)的位串被串聯(lián)起來或者彼此相連。N: = SAIEANCVI CTR根據(jù)一種替代實(shí)施方式,單元7借助哈希函數(shù)(例如MD5或SHAl、SHA-256)生成 NONCE值N。將該哈希函數(shù)應(yīng)用于發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)2-1的發(fā)送節(jié)點(diǎn)地址SA、共享定值EANCV及 計(jì)數(shù)值CTR的串聯(lián)。N = HASH (SA | EANCV | CTR)根據(jù)其他實(shí)施方式,也可以任何一種其他順序來串聯(lián)發(fā)送節(jié)點(diǎn)地址SA、定值 EANCV和計(jì)數(shù)值CTR。例如以如下方式來生成所述NONCE值Ν = SA| CTR IEANCV 或者 N:= EANCVl SA| CTR 等等。單元7可以是硬連線電路,以便將電路復(fù)雜程度降至最低。根據(jù)一種替代實(shí)施方 式,單元7通過執(zhí)行一個(gè)用于生成NONCE值N的程序來生成上述NONCE值N,其中,根據(jù)一 種可行實(shí)施方式,這種NONCE值生成程序是可配置的。將生成NONCE值N提供給加密單元 5。加密單元5本身可以是硬連線電路或者由一個(gè)微處理器構(gòu)成。根據(jù)一種可行實(shí)施方式, NONCE值N的生成和數(shù)據(jù)加密由同一個(gè)微處理器在執(zhí)行相應(yīng)程序時(shí)完成。加密單元5借助 密鑰K和單元7所生成的NONCE值N為數(shù)據(jù)(例如傳感器的測量數(shù)據(jù))加密。可以采用對(duì) 稱或不對(duì)稱加密。隨后將加密數(shù)據(jù)作為有效數(shù)據(jù)打包成如圖3所示的幀F(xiàn)或數(shù)據(jù)包。節(jié)點(diǎn) 2-1的無線模塊10通過發(fā)射/接收天線11將這個(gè)幀F(xiàn)發(fā)送出去。如圖4所示,節(jié)點(diǎn)2-1由 供電單元12供電。根據(jù)一種優(yōu)選實(shí)施方式,網(wǎng)絡(luò)1的節(jié)點(diǎn)2具有獨(dú)立的供電或供能系統(tǒng), 例如電池、蓄電池或太陽能電池。根據(jù)本發(fā)明方法的一種優(yōu)選實(shí)施方式,存儲(chǔ)在存儲(chǔ)器9中的網(wǎng)絡(luò)共享定值EANCV 可由中央管理節(jié)點(diǎn)進(jìn)行重新配置。當(dāng)圖4所示的節(jié)點(diǎn)2-1通過發(fā)射/接收天線11接收到 一條發(fā)送給該節(jié)點(diǎn)的單播消息或廣播消息時(shí),無線模塊10會(huì)將管理網(wǎng)絡(luò)節(jié)點(diǎn)接收到的網(wǎng) 絡(luò)共享定值EANCV寫入存儲(chǔ)器9。隨后,發(fā)送節(jié)點(diǎn)2-1就能利用該網(wǎng)絡(luò)的最新定值EANCV來 進(jìn)行加密。其中,定值EANCV會(huì)在網(wǎng)絡(luò)1的所有傳感器節(jié)點(diǎn)2上得到重新配置,亦即,網(wǎng)絡(luò)1 的每個(gè)傳感器節(jié)點(diǎn)2所接收、存儲(chǔ)和使用的都是新的網(wǎng)絡(luò)共享定值EANCV。根據(jù)一種可行實(shí)施方式,以固定的時(shí)間間隔也就是定期對(duì)網(wǎng)絡(luò)共享定值EANCV進(jìn)行重新配置,例如每天或每月進(jìn)行一次。根據(jù)一種替代實(shí)施方式,如果網(wǎng)絡(luò)1中傳輸數(shù)據(jù)量超過預(yù)定的數(shù)據(jù)量閾值,就對(duì) 共享定值EANCV進(jìn)行重新配置,其中該預(yù)定的數(shù)據(jù)量閾值可以調(diào)整。根據(jù)一種替代實(shí)施方式,如果網(wǎng)絡(luò)1內(nèi)所傳輸?shù)南的數(shù)量超過預(yù)定數(shù)量,就由 所述管理節(jié)點(diǎn)對(duì)共享定值EANCV進(jìn)行重新配置。根據(jù)另一可行實(shí)施方式,如果網(wǎng)絡(luò)1內(nèi)一個(gè)節(jié)點(diǎn)2上所傳輸?shù)南的數(shù)量超過 預(yù)定數(shù)量,就對(duì)網(wǎng)絡(luò)共享定值EANCV進(jìn)行重新配置。根據(jù)本發(fā)明方法的另一實(shí)施方式,如果網(wǎng)絡(luò)1內(nèi)的計(jì)數(shù)器達(dá)到預(yù)定的計(jì)數(shù)值,就 對(duì)共享定值EANCV進(jìn)行重新配置。舉例而言,當(dāng)傳感器節(jié)點(diǎn)2的內(nèi)部計(jì)數(shù)器或用作管理網(wǎng) 絡(luò)節(jié)點(diǎn)的網(wǎng)關(guān)的內(nèi)部計(jì)數(shù)器達(dá)到預(yù)定的計(jì)數(shù)值CTR時(shí),對(duì)定值EANCV進(jìn)行重新配置。根據(jù) 一種可行實(shí)施方式,可根據(jù)具體應(yīng)用來相應(yīng)調(diào)節(jié)所述閾值。根據(jù)本發(fā)明方法的另一實(shí)施方式,發(fā)生預(yù)設(shè)事件時(shí)對(duì)共享定值EANCV進(jìn)行重新配 置。例如,當(dāng)網(wǎng)絡(luò)1識(shí)別到某種特定情況(如安全警報(bào))時(shí),可以自動(dòng)啟動(dòng)對(duì)共享定值EANCV 的重新配置。這樣就無法重放早前的NONCE值或者錯(cuò)誤地顯示網(wǎng)絡(luò)1的無錯(cuò)狀態(tài)或特殊狀 態(tài)。根據(jù)本發(fā)明方法的另一實(shí)施方式,如果以加密方式傳輸?shù)臄?shù)據(jù)符合某一預(yù)定條 件,就對(duì)定值EANCV進(jìn)行重新配置。例如,一旦在傳感器網(wǎng)絡(luò)1中檢測到超過5開的溫度變 化就可進(jìn)行重新配置。通過這種方式,攻擊者就無法重放那些溫差超過5開的早前測量值。 也就是說,因攻擊者重放測量消息而引起的最大測量誤差得到了限制。根據(jù)一種可行實(shí)施方式,網(wǎng)絡(luò)1的中央管理節(jié)點(diǎn)將當(dāng)前的或者重新配置后的 EANCV值分配給網(wǎng)絡(luò)1的節(jié)點(diǎn)2。這一點(diǎn)可以通過廣播消息而實(shí)現(xiàn)。作為替代方案,也可通 過單播消息將重新配置后的定值EANCV分別通知給網(wǎng)絡(luò)節(jié)點(diǎn)2。根據(jù)一種替代實(shí)施方式,各網(wǎng)絡(luò)節(jié)點(diǎn)的共享定值EANCV可以定期自動(dòng)增長或者說 增加1。例如,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)2可以在每天深夜1點(diǎn)增長其EANCV。根據(jù)另一實(shí)施方式,可 以根據(jù)網(wǎng)絡(luò)1的其他節(jié)點(diǎn)2所發(fā)送的消息F中所使用的EANCV值得知,另一節(jié)點(diǎn)2已經(jīng)換 成更新后的EANCV值。在此情況下,發(fā)現(xiàn)發(fā)送節(jié)點(diǎn)2-1已更改EANCV值的接收節(jié)點(diǎn)2_2就 可將其EANCV值也設(shè)置成這個(gè)新的值。根據(jù)另一實(shí)施方案,所述EANCV值構(gòu)成一個(gè)所謂的哈希鏈。其中,更新后的EANCV 值與更新前的EANCV值通過哈希函數(shù)(例如MD5、SHAU SHA-256)連接起來Hash (EANCV-新)=EANCV-舊。由于密碼哈希函數(shù)不可逆,因而也就無法根據(jù)早前的舊EANCV值來測定它。如果 新的EANCV值是已知的,就可通過計(jì)算該EANCV值的哈希值來檢驗(yàn)這個(gè)新的EANCV值正確 與否。通過這種方式就可防止新哈希值向網(wǎng)絡(luò)節(jié)點(diǎn)2的傳輸被篡改。根據(jù)本發(fā)明方法的另一實(shí)施方式,輸入更新后的新EANCV值之后,將此前的EANCV 值存儲(chǔ)一段時(shí)間并繼續(xù)加以使用。這樣就可在一段重疊時(shí)間內(nèi)用這兩個(gè)EANCV值進(jìn)行通 信。通過這種方式還可與尚未具有更新后的EANCV值的網(wǎng)絡(luò)節(jié)點(diǎn)2交換消息。在這段重疊 時(shí)間或過渡時(shí)間內(nèi),接收節(jié)點(diǎn)2-2可利用兩個(gè)EANCV值來確認(rèn)哪一個(gè)EANCV值能夠成功解 密。但這種實(shí)施方式需要執(zhí)行兩個(gè)解密過程,計(jì)算量相對(duì)較大。根據(jù)一種替代實(shí)施方式,在所傳輸?shù)南的頭數(shù)據(jù)HDR的位或標(biāo)記中指出,可用來解密的是此前的EANCV值還是更新后的EANCV值。通過這種方式可對(duì)應(yīng)該使用哪個(gè)EANCV 值來解密進(jìn)行明確指示。當(dāng)網(wǎng)絡(luò)中使用的共享定值EANCV更新或者重新配置后,這個(gè)指示 標(biāo)記就會(huì)改變。圖5以框圖的形式展示了本發(fā)明網(wǎng)絡(luò)1的接收節(jié)點(diǎn)2-2內(nèi)的解密過程。根據(jù)本發(fā)明網(wǎng)絡(luò)1的一種優(yōu)選實(shí)施方式,網(wǎng)絡(luò)1內(nèi)的每個(gè)節(jié)點(diǎn)2都既可用作如圖 4所示的發(fā)送節(jié)點(diǎn)2-1,也可用作如圖5所示的接收節(jié)點(diǎn)2-2。在圖5所示的實(shí)施方式中,接收節(jié)點(diǎn)2-2所包含的解密單元(decrypt)由與圖4 所示的加密單元相同的單元構(gòu)成,例如CPU或處理器。此外,接收端用于生成NONCE值N' 的單元7與發(fā)送端上用于生成NONCE值N的單元相同。在圖5所示的實(shí)施例中,接收節(jié)點(diǎn) 2-2通過無線接口接收(例如)以圖3所示的數(shù)據(jù)格式傳輸過來的幀F(xiàn)或消息F。單元13 將傳輸過來的計(jì)數(shù)值CTR和發(fā)送節(jié)點(diǎn)2-1的發(fā)送地址SA從接收到的幀F(xiàn)的頭數(shù)據(jù)HDR中 提取出來。根據(jù)傳輸過來的發(fā)送節(jié)點(diǎn)地址SA-SK在接收節(jié)點(diǎn)2-2內(nèi)選擇或?qū)ぶ穬?nèi)部計(jì)數(shù)器 14。內(nèi)部計(jì)數(shù)器14提供一個(gè)計(jì)數(shù)值CTR'。在圖5所示的實(shí)施方式中,比較單元15將選定 的計(jì)數(shù)值CTR'與在消息或幀F(xiàn)中傳輸過來的計(jì)數(shù)值CTR進(jìn)行比較。如果傳輸過來的計(jì)數(shù) 值CTR比選定的計(jì)數(shù)值CTR'更新,比較單元15就產(chǎn)生一個(gè)使能信號(hào),以便單元7生成接收 端的NONCE值N'。在接收節(jié)點(diǎn)2-2中生成NONCE值N'的方式與在發(fā)送節(jié)點(diǎn)2_1內(nèi)生成 NONCE值N的方式相同,可以參考圖4。將接收端生成的NONCE值N'傳輸給解碼單元5或 CPU,該解碼單元或CPU借助密鑰K和接收端所生成的NONCE值N'來對(duì)消息F中包含的數(shù) 據(jù)進(jìn)行解密。解密后的數(shù)據(jù)例如可由所述接收節(jié)點(diǎn)內(nèi)的數(shù)據(jù)處理單元16進(jìn)行處理或分析。 根據(jù)一種可行實(shí)施方式,執(zhí)行解碼算法或解密算法的解碼單元5、用于生成NONCE值N'的 單元7以及數(shù)據(jù)處理單元16共同構(gòu)成一個(gè)形式例如為微處理器的單元。根據(jù)一種替代實(shí) 施方式,解密單元5是專門為此目的設(shè)置的硬連線電路。根據(jù)本發(fā)明方法的一種優(yōu)選實(shí)施方式,發(fā)送端或接收端所生成的NONCE值只與同 一個(gè)密鑰K結(jié)合使用一次。其中,可以在NONCE值的取值范圍用盡時(shí)更換密鑰K。發(fā)送節(jié)點(diǎn) 2-1通過產(chǎn)生或生成NONCE值來對(duì)待傳輸?shù)膸驍?shù)據(jù)包實(shí)施加密保護(hù)。在此情況下,接收節(jié) 點(diǎn)2-2通過對(duì)數(shù)據(jù)包或接收到的幀中的信息進(jìn)行了解并視情況通過所存儲(chǔ)的狀態(tài)信息(例 如計(jì)數(shù)值)而具有同樣的NONCE值。發(fā)送節(jié)點(diǎn)2-1可以不同的方式確保NONCE值N是最新 的,接收節(jié)點(diǎn)2-2則能夠以不同的方式對(duì)此加以檢驗(yàn)。在圖5所示的實(shí)施例中,采用計(jì)數(shù)值 CTR來確保NONCE值N是最新的。為了能夠?qū)ONCE值的是否為最新的進(jìn)行檢驗(yàn),接收節(jié) 點(diǎn)2-2存儲(chǔ)關(guān)于最后一次接收到的計(jì)數(shù)值的信息,以后就只接受那些比該計(jì)數(shù)值更新的計(jì) 數(shù)值。發(fā)送節(jié)點(diǎn)2-1或接收節(jié)點(diǎn)2-2的單元7在產(chǎn)生或生成NONCE值的過程中可以采用 不同的參數(shù)。根據(jù)一種可行實(shí)施方式,這些參數(shù)除了計(jì)數(shù)值或節(jié)點(diǎn)地址外還可包括優(yōu)先字 段??梢圆捎脤?duì)所傳輸?shù)膸現(xiàn)的數(shù)目進(jìn)行計(jì)數(shù)的幀計(jì)數(shù)器來生成計(jì)數(shù)值。本發(fā)明以加密保護(hù)的方式在網(wǎng)絡(luò)1的網(wǎng)絡(luò)節(jié)點(diǎn)2之間傳輸數(shù)據(jù)的方法也特別適用 于那些不具有同步鐘面時(shí)刻的網(wǎng)絡(luò)1。舉例而言,本發(fā)明的方法特別適用于無線傳感器網(wǎng)絡(luò) WSN,也就是由傳感器節(jié)點(diǎn)所構(gòu)成的網(wǎng)絡(luò),這些傳感器節(jié)點(diǎn)不具有同步鐘面時(shí)刻信息。用于檢驗(yàn)NONCE值N是否最新的計(jì)數(shù)值CTR優(yōu)選選用較大的位寬,例如32位、48 位或64位。其原因在于,計(jì)數(shù)值越寬或者說計(jì)數(shù)值取值范圍越廣,測定密鑰K和重新配置密鑰K的必要性就越小。但計(jì)數(shù)值CTR也可選用較小的位寬,例如4位、8位或16位。這樣 做的優(yōu)點(diǎn)是,存儲(chǔ)及傳輸計(jì)數(shù)值CTR時(shí)只需占用少量的位。借助密鑰K和生成NONCE值N來加密數(shù)據(jù)時(shí)可以采用不同的加密算法。舉例而言, 可以借助AES算法或DES算法來為數(shù)據(jù)提供加密保護(hù),以免幀F(xiàn)受到篡改。優(yōu)選在CCM模 式下使用這些算法。用于生成NONCE值N的定值EANCV優(yōu)選適用于整個(gè)網(wǎng)絡(luò)。亦即,網(wǎng)絡(luò)1的所有網(wǎng) 絡(luò)節(jié)點(diǎn)使用同一個(gè)EANCV值來進(jìn)行加密和解密。根據(jù)另一實(shí)施方案,將定值EANCV分配給 一組節(jié)點(diǎn)或一部分網(wǎng)絡(luò)節(jié)點(diǎn)2,以便它們相互通信。用來加密數(shù)據(jù)的密鑰K可以是任何一種密鑰。所述密鑰可以是網(wǎng)絡(luò)1的所有網(wǎng)絡(luò) 節(jié)點(diǎn)2都了解的網(wǎng)絡(luò)密鑰(network key)。根據(jù)一種替代實(shí)施方式,所用的密鑰是網(wǎng)絡(luò)1中 兩個(gè)直接相鄰的網(wǎng)絡(luò)節(jié)點(diǎn)所了解的鏈路密鑰(Iinkkey)。根據(jù)另一實(shí)施方式,密鑰K可以是 位于通信鏈路的終點(diǎn)或端節(jié)點(diǎn)上的兩個(gè)傳感器節(jié)點(diǎn)或者一個(gè)傳感器節(jié)點(diǎn)和一個(gè)網(wǎng)關(guān)節(jié)點(diǎn) 所了解的端到端密鑰(end-to-end key)。根據(jù)其他實(shí)施方案,密鑰K是廣播密鑰或組播密 鑰??梢酝ㄟ^將不同參數(shù)的位串與定值EANCV予以串聯(lián)來生成應(yīng)用于加密的NONCE值,例 如將定值EANCV與計(jì)數(shù)值CTR和發(fā)送節(jié)點(diǎn)地址SA予以串聯(lián)。根據(jù)一種可行實(shí)施方式,所述 生成NONCE值N具有可變位寬。如果EANCV值的長度或位寬過大,例如使用任意長度的文 本字符串時(shí),就可借助哈希函數(shù)來計(jì)算具有預(yù)定長度的NONCE值。根據(jù)一種優(yōu)選實(shí)施方式,由中央管理節(jié)點(diǎn)將網(wǎng)絡(luò)或分網(wǎng)絡(luò)中最新的定值EANCV 分配給網(wǎng)絡(luò)1的網(wǎng)絡(luò)節(jié)點(diǎn)2,其中,該管理節(jié)點(diǎn)例如是網(wǎng)關(guān)、網(wǎng)絡(luò)管理服務(wù)器(network manager server)或安全月艮務(wù)器(security server, security manager)。該管理節(jié)點(diǎn)將上 述EANCV值分配給網(wǎng)絡(luò)1的各節(jié)點(diǎn)2時(shí)同樣采用加密保護(hù)的方式。本發(fā)明的方法可以防止所謂的“重放攻擊”。本發(fā)明的傳輸方法能夠檢測到被第三 方監(jiān)聽和播放過的幀F(xiàn)。接收節(jié)點(diǎn)2-2不會(huì)接收不是用當(dāng)前EANCV值生成的幀F(xiàn)。此外,一 同傳輸過來的計(jì)數(shù)值CTR也可用來防止重放攻擊。其中,接收節(jié)點(diǎn)存儲(chǔ)與計(jì)數(shù)值CTR相關(guān) 的信息數(shù)據(jù),該計(jì)數(shù)值CTR為該接收節(jié)點(diǎn)最后一次接收的來自發(fā)送節(jié)點(diǎn)2-1的計(jì)數(shù)值CTR。 本發(fā)明方法從相對(duì)較小的取值范圍中獲取計(jì)數(shù)值CTR,例如該取值范圍例如包括4位、8位 或16位,因?yàn)橛?jì)數(shù)值CTR只要明確對(duì)應(yīng)于每個(gè)定值EANCV就可以了。在圖6所示的示范性網(wǎng)絡(luò)中,6個(gè)傳感器節(jié)點(diǎn)2可以通過無線接口與網(wǎng)關(guān)節(jié)點(diǎn)2-0 通信。在圖6所示的實(shí)施例中,網(wǎng)關(guān)節(jié)點(diǎn)2-0為其余網(wǎng)絡(luò)節(jié)點(diǎn)2-1至2-6提供一個(gè)網(wǎng)絡(luò)共享 定值EANCV。傳感器節(jié)點(diǎn)2-1、2-3、2-4、2-5、2-6各具有至少一個(gè)用于檢測測量數(shù)據(jù)(例如 環(huán)境溫度)的傳感器。這些測量數(shù)據(jù)被加密并以幀F(xiàn)的形式傳輸出去,以便進(jìn)行測量數(shù)據(jù) 分析。所述EANCV值優(yōu)選由中央管理節(jié)點(diǎn)(即無線傳感器網(wǎng)絡(luò)1的網(wǎng)關(guān)節(jié)點(diǎn)2-0)發(fā)送給 其余節(jié)點(diǎn)2-1至2-6,這些節(jié)點(diǎn)存儲(chǔ)該EANCV值以供進(jìn)一步使用。以防篡改方式發(fā)送EANCV 值。這一點(diǎn)可以通過在中央網(wǎng)關(guān)2-0和傳感器節(jié)點(diǎn)2-1至2-6之間被保護(hù)的傳輸實(shí)現(xiàn)。作 為替代方案,上述連接構(gòu)成一個(gè)哈希鏈,其中,更新后的EANCV的哈希值由此前的EANCV值 推導(dǎo)出來。圖7A、圖7B展示的是管理節(jié)點(diǎn)2-0向其余網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送EANCV值的不同方案。在 圖7A所示的方案中,網(wǎng)關(guān)節(jié)點(diǎn)2-0通過單播消息(assign)將EANCV值分別單獨(dú)傳輸給網(wǎng) 絡(luò)1的各傳感器節(jié)點(diǎn)2-1至2-6。亦即,每個(gè)傳感器節(jié)點(diǎn)2-1至2-6都是單獨(dú)地接收到當(dāng)前EANCV 值。在圖7B所示的方案中,通過廣播消息或組播信息來發(fā)送EANCV值。根據(jù)這個(gè)方案, 網(wǎng)關(guān)節(jié)點(diǎn)2-0是通過中間節(jié)點(diǎn)來轉(zhuǎn)發(fā)當(dāng)前的EANCV值。由此網(wǎng)絡(luò)1中出現(xiàn)泛洪以使得所有 傳感器節(jié)點(diǎn)都能接收到包含有當(dāng)前EANCV值的分配消息。圖8展示的是本發(fā)明網(wǎng)絡(luò)1的另一實(shí)施例。這個(gè)實(shí)施例是一種具有多跳網(wǎng)狀拓?fù)?結(jié)構(gòu)的網(wǎng)絡(luò)。圖9展示的是本發(fā)明網(wǎng)絡(luò)1的另一實(shí)施例,其中,該網(wǎng)絡(luò)的多跳網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)具有 樹形結(jié)構(gòu)。圖10展示的是本發(fā)明網(wǎng)絡(luò)1的另一實(shí)施例,其中,該網(wǎng)絡(luò)具有單跳網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu) 或星形結(jié)構(gòu)。在圖8至圖10所示的實(shí)施例中,各網(wǎng)絡(luò)節(jié)點(diǎn)2均由具有至少一個(gè)傳感器的傳感器 節(jié)點(diǎn)構(gòu)成。但本發(fā)明的方法并不僅限于在傳感器節(jié)點(diǎn)2之間傳輸消息,本發(fā)明的網(wǎng)絡(luò)節(jié)點(diǎn) 也可具有執(zhí)行器或傳感器與執(zhí)行器的組合體。根據(jù)圖6至圖10所示的一種可行實(shí)施方式, 網(wǎng)關(guān)2-0與一計(jì)算機(jī)網(wǎng)絡(luò)(例如企業(yè)內(nèi)部網(wǎng)或生產(chǎn)網(wǎng)絡(luò))相連。根據(jù)一種可行實(shí)施方式, 也可設(shè)置多個(gè)網(wǎng)關(guān)。此外,本發(fā)明的網(wǎng)絡(luò)1也不限于無線網(wǎng)絡(luò)。也可通過導(dǎo)線來在網(wǎng)絡(luò)1的各網(wǎng)絡(luò)節(jié) 點(diǎn)2之間以有線方式傳輸消息F。本發(fā)明網(wǎng)絡(luò)1的節(jié)點(diǎn)2之間采用同樣的EANCV值通信。無論涉及多少通信對(duì)象及 密鑰,都只需要存儲(chǔ)一個(gè)共用的EANCV值,這在各節(jié)點(diǎn)2中占用的存儲(chǔ)空間非常少。這樣就 不必為每個(gè)通信對(duì)象、每個(gè)密鑰或每個(gè)通信對(duì)象-密鑰組合都存儲(chǔ)一個(gè)值。這就能夠在待 存儲(chǔ)數(shù)據(jù)量較少的同時(shí)達(dá)到較大的有效NONCE長度。這樣就不需要或者極少需要更新密 鑰。同時(shí)還能將計(jì)數(shù)值的取值范圍控制得較小。
權(quán)利要求
1.一種以加密保護(hù)的方式在一網(wǎng)絡(luò)(1)的網(wǎng)絡(luò)節(jié)點(diǎn)( 之間傳輸數(shù)據(jù)的方法,其中,實(shí) 施下列步驟以便在一消息(F)中傳輸所述數(shù)據(jù)a)根據(jù)一計(jì)數(shù)值CTR和一定值EANCV生成一NONCE值N,在發(fā)送所述消息(F)時(shí)更新 所述計(jì)數(shù)值CTR,所述定值供所述網(wǎng)絡(luò)(1)的網(wǎng)絡(luò)節(jié)點(diǎn)( 共同使用;以及b)通過一密鑰(K)和所述生成NONCE值N對(duì)在所述消息(F)中傳輸?shù)臄?shù)據(jù)進(jìn)行加密和 解密。
2.根據(jù)權(quán)利要求1所述的方法,其中,由一中央管理網(wǎng)絡(luò)節(jié)點(diǎn)(2-0)為所述網(wǎng)絡(luò)(1)的 其余網(wǎng)絡(luò)節(jié)點(diǎn)提供該在網(wǎng)絡(luò)中使用的共享定值EANCV。
3.根據(jù)權(quán)利要求1或2所述的方法,其中,所述NONCE值N進(jìn)一步還根據(jù)發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn) (2-1)的一發(fā)送節(jié)點(diǎn)地址(SA)生成,其中所述發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)將所述消息(F)傳輸給所述網(wǎng) 絡(luò)(1)的另一接收網(wǎng)絡(luò)節(jié)點(diǎn)(2-2)。
4.根據(jù)權(quán)利要求2所述的方法,其中,所述中央管理網(wǎng)絡(luò)節(jié)點(diǎn)(2-0)通過向所述網(wǎng)絡(luò) (1)的網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送廣播消息或單播消息來傳輸所述共享定值EANCV。
5.根據(jù)權(quán)利要求2或4所述的方法,其中,所述中央管理網(wǎng)絡(luò)節(jié)點(diǎn)(2-0)能夠?qū)λ龉?享定值EANCV進(jìn)行重新配置。
6.根據(jù)權(quán)利要求5所述的方法,其中,在以下情況發(fā)生時(shí),定期對(duì)所述共享定值EANCV 進(jìn)行重新配置;所述情況包括以下之一傳輸數(shù)據(jù)量超過一預(yù)定的數(shù)據(jù)量;傳輸?shù)南?F)的數(shù)量超過一預(yù)定數(shù)量;在所述網(wǎng)絡(luò)(1)中的一網(wǎng)絡(luò)節(jié)點(diǎn)達(dá)到一預(yù)定計(jì)數(shù)值;發(fā)生一預(yù)設(shè)事件;發(fā)送符合預(yù)設(shè)條件的數(shù)據(jù)。
7.根據(jù)權(quán)利要求3所述的方法,其中,通過將所述發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)的發(fā)送節(jié)點(diǎn)地 址(SA)、所述共享定值EANCV和所述發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)的一內(nèi)部計(jì)數(shù)器(8)所產(chǎn)生的計(jì) 數(shù)值CTR串聯(lián)來生成所述NONCE值N。
8.根據(jù)權(quán)利要求3所述的方法,通過在串聯(lián)所述發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)的發(fā)送節(jié)點(diǎn)地址 (SA)、所述共享定值EANCV和所述發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)的一內(nèi)部計(jì)數(shù)器(8)所產(chǎn)生的計(jì)數(shù) 值CTR時(shí)應(yīng)用一哈希函數(shù)來生成所述NONCE值N。
9.根據(jù)權(quán)利要求1至8中任一項(xiàng)權(quán)利要求所述的方法,其中,使用CCM算法對(duì)所述消息 中傳輸?shù)乃鰯?shù)據(jù)進(jìn)行加密和解密。
10.根據(jù)權(quán)利要求3至9中任一項(xiàng)權(quán)利要求所述的方法,其中,所述被傳輸?shù)南?F) 中包含有頭數(shù)據(jù)(HDR)和有效數(shù)據(jù)(PL),所述頭數(shù)據(jù)具有一發(fā)送節(jié)點(diǎn)地址(SA)、一接收節(jié) 點(diǎn)地址(EA)和所述發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)的當(dāng)前計(jì)數(shù)值CTR,所述有效數(shù)據(jù)具有加密的數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的方法,其中,所述接收網(wǎng)絡(luò)節(jié)點(diǎn)(2- 將所述發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn) (2-1)的計(jì)數(shù)值CTR與所述接收網(wǎng)絡(luò)節(jié)點(diǎn)0-2)的一內(nèi)部計(jì)數(shù)器(14)的計(jì)數(shù)值CTR'進(jìn)行 比較,其中所述發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn)的計(jì)數(shù)值CTR通過所述消息(F)傳輸過來,所述內(nèi)部計(jì) 數(shù)器(14)的計(jì)數(shù)值CTR'根據(jù)所述消息(F)中傳輸?shù)乃霭l(fā)送節(jié)點(diǎn)地址(SA)進(jìn)行選擇;如 果傳輸過來的計(jì)數(shù)值CTR比選定的計(jì)數(shù)值CTR'更新,所述接收網(wǎng)絡(luò)節(jié)點(diǎn)就根據(jù)傳輸過來 的計(jì)數(shù)值CTR、所述共享定值EANCV和傳輸過來的發(fā)送節(jié)點(diǎn)地址(SA)生成一接收端NONCE值N',其中,利用所述在接收端生成的NONCE值N'和所述接收網(wǎng)絡(luò)節(jié)點(diǎn)(2-2)中存儲(chǔ)的 密鑰(K)對(duì)以加密方式在所述消息(F)中傳輸?shù)臄?shù)據(jù)進(jìn)行解密。
12.根據(jù)權(quán)利要求3至9中任一項(xiàng)權(quán)利要求所述的方法,其中,所述發(fā)送網(wǎng)絡(luò)節(jié)點(diǎn) (2-1)通過一無線接口將所述消息(F)傳輸給所述接收網(wǎng)絡(luò)節(jié)點(diǎn)0-2)。
13.一種由多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)(2)構(gòu)成的網(wǎng)絡(luò)(1),所述網(wǎng)絡(luò)節(jié)點(diǎn)通過消息消息(F)在彼此 間傳輸數(shù)據(jù),其中,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)⑵均具有a)一用于生成一 NONCE值(N)的單元(7),該單元(7)根據(jù)一計(jì)數(shù)值(CTR)和一定值 (EANCV)生成所述NONCE值(N),所述計(jì)數(shù)值在傳輸一消息(F)時(shí)被更新,所述定值(EANCV) 供所述網(wǎng)絡(luò)(1)的網(wǎng)絡(luò)節(jié)點(diǎn)⑵共同使用;以及b)一用于對(duì)通過所述消息(F)傳輸?shù)臄?shù)據(jù)進(jìn)行加密和解密的單元(5),該單元(5)借 助一密鑰(K)和所述生成NONCE值(N)對(duì)所述數(shù)據(jù)進(jìn)行加密和解密。
14.根據(jù)權(quán)利要求13所述的網(wǎng)絡(luò),其中,所述網(wǎng)絡(luò)(1)具有一中央管理網(wǎng)絡(luò)節(jié)點(diǎn) 0-0),該具有一中央管理網(wǎng)絡(luò)節(jié)點(diǎn)(2-0)為所述網(wǎng)絡(luò)(1)的其他網(wǎng)絡(luò)節(jié)點(diǎn)(2-i)提供所述 共享定值(EANCV)。
15.根據(jù)權(quán)利要求13或14所述的網(wǎng)絡(luò),其中,所述網(wǎng)絡(luò)節(jié)點(diǎn)( 各具有至少一個(gè)傳感 器(3) 。
16.一種計(jì)算機(jī)程序,包括多個(gè)程序指令以實(shí)施根據(jù)權(quán)利要求1至12所述的方法。
17.一種數(shù)據(jù)載體,存儲(chǔ)有根據(jù)權(quán)利要求16所述的計(jì)算機(jī)程序。
全文摘要
本發(fā)明提供一種以加密保護(hù)的方式在一網(wǎng)絡(luò)(1)的網(wǎng)絡(luò)節(jié)點(diǎn)(2)之間傳輸數(shù)據(jù)的方法。所述網(wǎng)絡(luò)節(jié)點(diǎn)(2)例如是一無線傳感器網(wǎng)絡(luò)的傳感器節(jié)點(diǎn)。根據(jù)本發(fā)明的方法,為了在一消息(F)中傳輸所述數(shù)據(jù),需要根據(jù)一計(jì)數(shù)值(CTR)和一定值(EANCV)來生成一NONCE值(N),所述計(jì)數(shù)值在傳輸所述消息(F)時(shí)被更新,所述定值供所述網(wǎng)絡(luò)(1)的網(wǎng)絡(luò)節(jié)點(diǎn)(2)共同使用。隨后,在所述網(wǎng)絡(luò)節(jié)點(diǎn)(2)內(nèi)部借助一密鑰(K)和所述生成NONCE值(N)來為在所述消息(F)中傳輸?shù)臄?shù)據(jù)加密和解密。本發(fā)明的方法可以在占用所述網(wǎng)絡(luò)節(jié)點(diǎn)(2)最少資源的同時(shí)提供防重放攻擊保護(hù)。
文檔編號(hào)H04L9/32GK102150392SQ200980135432
公開日2011年8月10日 申請(qǐng)日期2009年8月19日 優(yōu)先權(quán)日2008年9月10日
發(fā)明者烏爾麗克·邁爾, 漢斯-約阿希姆·霍夫, 賴納·法爾克 申請(qǐng)人:西門子公司