一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法

ZigBee技術(shù)作為一種新興的短距離無(wú)線通信技術(shù),在無(wú)線傳感網(wǎng)絡(luò)中有著良好的應(yīng)用前景。雖然ZigBee網(wǎng)絡(luò)中采用了基于AES-128加密算法對(duì)稱密鑰的安全機(jī)制,但是其應(yīng)用沒(méi)有完全體現(xiàn)出公共密鑰體系中的諸如數(shù)字簽名和無(wú)需證書認(rèn)證的優(yōu)點(diǎn)。而且在對(duì)數(shù)據(jù)安全性敏感的監(jiān)控和控制應(yīng)用中,需要有對(duì)ZigBee設(shè)備身份鑒別的能力??紤]到ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)具有計(jì)算能力低、電源能量有限、易被攻擊等特點(diǎn),我們提出了一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方案。

一、ZigBee網(wǎng)絡(luò)安全結(jié)構(gòu)和加密算法分析

ZigBee?技術(shù)的物理層和數(shù)據(jù)鏈路層協(xié)議主要采用IEEE802.?15.?4?標(biāo)準(zhǔn),而網(wǎng)絡(luò)層和應(yīng)用層由ZigBee?聯(lián)盟負(fù)責(zé)建立。數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和應(yīng)用層負(fù)責(zé)在各自層上傳輸安全的數(shù)據(jù),而且應(yīng)用子層提供安全關(guān)系的建立和維護(hù)等服務(wù)、ZigBee設(shè)備對(duì)象管理安全策略和設(shè)備的安全配置。ZigBee協(xié)議提供了一套基于128位AES算法的對(duì)稱密鑰體系,同時(shí)還使用了更新計(jì)數(shù)器和信息完整性檢測(cè)來(lái)阻止對(duì)網(wǎng)絡(luò)的反復(fù)攻擊和信息的修改。ZigBee網(wǎng)絡(luò)中存在三種基本密鑰:主密鑰、鏈接密鑰和網(wǎng)絡(luò)密鑰。鏈接密鑰和網(wǎng)絡(luò)密鑰可以在設(shè)備制造時(shí)設(shè)置,也可以通過(guò)主密鑰建立,并且它們還可以定期的更新。在整個(gè)ZigBee網(wǎng)絡(luò)中,信任中心負(fù)責(zé)網(wǎng)絡(luò)成員管理和密鑰分配。信任中心有兩種工作模式:住宅模式(Residential?Mode)和商業(yè)模式(Commercial?Mode)。

圖1描繪了在住宅模式和商業(yè)模式中使用的密鑰的數(shù)量。在圖1中,節(jié)點(diǎn)A是ZigBee網(wǎng)絡(luò)的協(xié)調(diào)者,節(jié)點(diǎn)B、C、D是路由節(jié)點(diǎn),節(jié)點(diǎn)E、F、G、H是網(wǎng)絡(luò)的終端節(jié)點(diǎn)。在住宅模式中,整個(gè)網(wǎng)絡(luò)只使用一個(gè)密鑰KN。在商業(yè)模式中,KMXY是X與Y之間的主密鑰,KLXY是X與Y之間的鏈接密鑰。

雖然現(xiàn)行的ZigBee安全協(xié)議通過(guò)用AES算法為信息傳輸?shù)陌踩峁┯辛Φ谋U?,但是它還是有一定的局限性:

a、這種基于對(duì)稱密鑰加密系統(tǒng)模式不提供數(shù)字簽名和不可抵賴(Non-repudiation)能力。雖然這種模式能夠滿足人類日常應(yīng)用,但是在一些關(guān)鍵性應(yīng)用中仍需要更強(qiáng)的保護(hù)能力;

b、網(wǎng)絡(luò)中使用的安全密鑰的數(shù)量。只使用一個(gè)密鑰的住宅模式雖然能夠保證資源的最優(yōu)化,但不能阻止內(nèi)部攻擊。商業(yè)模式是很安全但卻需要大量的密鑰(主密鑰、網(wǎng)絡(luò)密鑰、鏈接密鑰),占用更多的頻帶資源;

c、對(duì)稱密鑰的分配問(wèn)題。該模式必須有一個(gè)密鑰預(yù)分配過(guò)程,即事先將對(duì)稱密鑰存儲(chǔ)在節(jié)點(diǎn)中,對(duì)增加和替換節(jié)點(diǎn)就顯得不夠靈活。同時(shí),在新增加節(jié)點(diǎn)和刪除節(jié)點(diǎn)后,必須建立新的相鄰節(jié)點(diǎn)的密鑰對(duì)。

鑒于對(duì)稱加密系統(tǒng)在密鑰管理和安全性方面不足,結(jié)合ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)的計(jì)算能力低、電源能量有限、易被攻擊等特點(diǎn),我們提出了一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方案。

一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法

二、基于IBE的ZigBee網(wǎng)絡(luò)密鑰理論分析和建立方法?

有資料研究了一種基于硬件的非對(duì)稱密鑰加密算法。采用優(yōu)化的參數(shù)和算法,其能量消耗可小于20?μW。這使得非對(duì)稱密鑰算法在ZigBee網(wǎng)絡(luò)中的應(yīng)用成為可能。有資料指出橢圓曲線密碼系統(tǒng)(Elliptic?Curve?Cryptography,?ECC)在計(jì)算量和內(nèi)存需求方面有一定的優(yōu)勢(shì),使得基于身份標(biāo)識(shí)的加密算法IBE適合應(yīng)用于ZigBee網(wǎng)絡(luò)。

基于身份標(biāo)識(shí)的加密算法IBE由Shamir于1984年首先提出的。直到2001年Boneh和Franklin的論文才給出了一個(gè)可實(shí)際應(yīng)用的實(shí)現(xiàn)方法。在網(wǎng)絡(luò)中,負(fù)責(zé)生成并傳送用戶私鑰的可信第三方記為PKG(?Private?Key?Generator)。IBE算法過(guò)程如下:

1、安全假設(shè)?

IBE加密方案的安全性建立在CDH(Computational?Diffie-Hellman)困難問(wèn)題的一個(gè)變形之上,稱之為BDH(Bilinear-Diffie-Hellman)問(wèn)題。IBE的核心是使用了超奇異橢圓曲線上的一個(gè)雙線性映射(Weil?Pairing)。我們記Zq為素?cái)?shù)階q的加法群,Zq={0,1...q-1},Z+為正整數(shù),1G為循環(huán)加法群,2G為循環(huán)乘法群,1G、2G具有相同的素?cái)?shù)階q。

①?設(shè)p是一個(gè)大的素?cái)?shù),p=2mod3,并且存在大素?cái)?shù)q使得p=6q-1;

②E?/GF(p)是在GF(p)上構(gòu)造的橢圓曲線:y2=x3+1,p是該曲線上階為q的一個(gè)點(diǎn),由p生成的循環(huán)群記為G;

③?BDH?問(wèn)題:對(duì)隨機(jī)*a,b,c=Zp*,已知一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法是一具有下列性質(zhì)的映射:

雙線性性:如果對(duì)所有的,xyG?,,abZ?,都有一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法,則映射?e稱為一個(gè)雙線性映射;

非退化性:存在P,Q=G,使得ePQ11;

可計(jì)算性:有一個(gè)多項(xiàng)式時(shí)間算法來(lái)計(jì)算?e(P,Q)。

2、Boneh-Franklin?IBE算法?

基本的Boneh-Franklin?IBE算法主要由4個(gè)函數(shù)組成:Setup,Extract,Encrypt和Decrypt分別完成系統(tǒng)參數(shù)建立、密鑰提取、加密和解密的功能。

算法1:The?Basic?Boneh-Franklin?(BBF)?Scheme。

Setup:

Step?1:?PKG選擇k比特長(zhǎng)的素?cái)?shù)p,找一條滿足WDH安全假設(shè)的超奇異橢圓曲線E?/GF?(?p), E?/GF(?p)的q階子群G,G的生成元P,雙線性映一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法;

Setp?2:PKG隨機(jī)取s=Zq*,計(jì)算Ppub=sP;

Step?3:選擇散列函數(shù)H1: {0,1}*→E?/GF(?p?),H2:GF(?p 2)→{0,1}n。明文空間為M={0,1}n,密文空間為C=E/GF(P)×{0,1}n,輸出的系統(tǒng)公共參數(shù)為:
一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法

Extract:?對(duì)給定的字符串Id={0,1}*,生成密鑰。

Step?4:計(jì)算一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法

Step?5:取密鑰為一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法。

Encrypt:?對(duì)原文M=m和公鑰Id,加密步驟如下。

Step?6:計(jì)算一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法。?Step?7:隨機(jī)取r=Z*q,加密的密文為:一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法

Decrypt:設(shè)c=<U,V>為密文,解密步驟為:

Step8:?應(yīng)用密鑰KId=E/GF(p),計(jì)算原文一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法

3、基于身份標(biāo)識(shí)密鑰體系的ZigBee網(wǎng)絡(luò)密鑰建立方法?

基于BBF算法,本節(jié)給出一種應(yīng)用于ZigBee網(wǎng)絡(luò)的密鑰建立、分配和加密方法。它由3部分組成,具體方法定義如下。

(1)初始化過(guò)程?

初始化過(guò)程由兩部分組成,一是計(jì)算公共參數(shù),二是計(jì)算節(jié)點(diǎn)密鑰。首先應(yīng)用Setup函數(shù)計(jì)算公共參數(shù)一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法,并選擇主密鑰s。?應(yīng)用Extract函數(shù),根據(jù)每個(gè)無(wú)線節(jié)點(diǎn)的標(biāo)識(shí)Id={0,1},計(jì)算一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法和相對(duì)應(yīng)的密鑰一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法。
將π、Id和IdK寫入到無(wú)線節(jié)點(diǎn)中,使得每個(gè)節(jié)點(diǎn)都有自己的密鑰和相關(guān)的公共參數(shù)。

(2)加密過(guò)程?

對(duì)一個(gè)無(wú)線傳感器網(wǎng)絡(luò)中的發(fā)送節(jié)點(diǎn)A和接收節(jié)點(diǎn)B,以及明文m,B的身份Id為公鑰,隨機(jī)取r=Zq*。

應(yīng)用公共參數(shù)進(jìn)行明文加密,密文為:
一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法

特別要指出的是,基于IBE算法,可以將加密和認(rèn)證結(jié)合起來(lái),以小的代價(jià)同時(shí)完成加密和認(rèn)證。這也是IBE算法可進(jìn)一步應(yīng)用于ZigBee網(wǎng)絡(luò)的優(yōu)勢(shì)。

節(jié)點(diǎn)B?收到密文c=<U,V>后,應(yīng)用密鑰:

一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法

4、基于身份標(biāo)識(shí)密鑰體系的ZigBee網(wǎng)絡(luò)密鑰工作過(guò)程?

在ZigBee網(wǎng)絡(luò)中使用各個(gè)設(shè)備的功能作為它的身份來(lái)區(qū)分其他的設(shè)備。如果多個(gè)設(shè)備的功能相同,身份信息包含其他信息來(lái)區(qū)分這些設(shè)備,如位置信息或連續(xù)信息。為了增強(qiáng)安全性身份信息還可以附加上時(shí)間標(biāo)識(shí)(Time-stamp)??偟膩?lái)說(shuō),身份信息可以表示為:

ID?=?{device_description@domain||time-stamp}。?基于IBE的ZigBee網(wǎng)絡(luò)加密系統(tǒng)的工作原理與基于身份加密系統(tǒng)模型相類似,其工作步驟如下:

①?信任中心(Coordinator,網(wǎng)絡(luò)協(xié)調(diào)器)生成一個(gè)主密鑰(Master-key),同時(shí)把公共參數(shù)(Params)廣播給所有網(wǎng)絡(luò)設(shè)備;

②?加入ZigBee網(wǎng)絡(luò)的設(shè)備向信任中心注冊(cè)自己的身份信(Iddevice);

③?信任中心(PKG)授權(quán)一個(gè)私鑰(Prid)給完成注冊(cè)的設(shè)備,其中包含了該設(shè)備的身份信息;

④?和該設(shè)備通信的其他設(shè)備,獲取該設(shè)備的身份信息也在發(fā)送信息中表明自己的私鑰(Prsender);

⑤?加密消息通過(guò)若干中繼到達(dá)目的節(jié)點(diǎn)。在傳輸過(guò)程中消息是安全的,因?yàn)橹挥袚碛邢鄳?yīng)私鑰(Prdevice)目的節(jié)點(diǎn)才能解密并閱讀該信息。

其加密方案如圖2,圖3所示。

一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法

一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法

5、基于身份標(biāo)識(shí)密鑰體系的ZigBee網(wǎng)絡(luò)密鑰與其他加密方法比較?

TinyOS是UC?Berkeley(加州大學(xué)伯克利分校)開發(fā)的開放源代碼操作系統(tǒng),專為嵌入式無(wú)線傳感網(wǎng)絡(luò)設(shè)計(jì)。它基于一種組件的架構(gòu)方式,能夠快速實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)的仿真,提供運(yùn)行時(shí)的調(diào)試和配置,可以實(shí)時(shí)監(jiān)測(cè)網(wǎng)絡(luò)狀況。實(shí)驗(yàn)中隨機(jī)布置了50個(gè)無(wú)線傳感器節(jié)點(diǎn)(見(jiàn)圖4),這些節(jié)點(diǎn)都有一個(gè)唯一的身份標(biāo)識(shí)Id。在仿真ZigBee網(wǎng)絡(luò)過(guò)程中,初始化過(guò)程在組網(wǎng)之前完成,傳感器節(jié)點(diǎn)只需進(jìn)行基于IBE加密和解密工作。實(shí)驗(yàn)表明基于IBE算法的加密方法可適用于ZigBee無(wú)線傳感器網(wǎng)絡(luò)的密鑰管理、加密和解密。下頁(yè)表1是不同加密方法的對(duì)比,其中,n為ZigBee網(wǎng)絡(luò)中網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)量。

一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法

一種基于IBE算法的ZigBee網(wǎng)絡(luò)加密方法

與ZigBee協(xié)議中的對(duì)稱加密系統(tǒng)相比,基于IBE算法具有公鑰密鑰系統(tǒng)的優(yōu)勢(shì),如密鑰的管理、建立等,而且與網(wǎng)絡(luò)的規(guī)模無(wú)關(guān);與傳統(tǒng)的公鑰密鑰系統(tǒng)相比,如RSA算法,在安全性、計(jì)算速度、存儲(chǔ)要求、帶寬需求等方面具有優(yōu)勢(shì),IBE算法采用的公鑰是基于節(jié)點(diǎn)的身份標(biāo)識(shí),相比于RSA加密系統(tǒng)具有更短的密鑰長(zhǎng)度,減少了計(jì)算量和通信開銷?;贗BE算法,可以將加密和認(rèn)證結(jié)合起來(lái),以小的代價(jià)同時(shí)完成加密和認(rèn)證。本文的理論分析和實(shí)驗(yàn)結(jié)果表明,基于IBE算法的密鑰方法適應(yīng)用于ZigBee網(wǎng)絡(luò),為該類型的網(wǎng)絡(luò)安全提供了新的加密手段。

小知識(shí)之IBE算法

IBE 由Shamir于1984年首先提出。這種加密算法的基本思想是公鑰可以是任何唯一的字符串 ,如 email地址 、身份證或其他標(biāo)志,它的優(yōu)點(diǎn)是公鑰是可識(shí)別的,不需要通常PKI系統(tǒng)的證書發(fā)放,同時(shí)可以以橢圓曲線形式實(shí)現(xiàn)該算法。