引言
隨著中國社會經(jīng)濟的持續(xù)迅猛發(fā)展,,人們的生活水平不斷提高,,人們在住宅方面的觀念也潛移默化,由原來的居住溫飽逐漸地傾向于舒適和方便,。在此背景下,,智能家居產(chǎn)業(yè)如雨后春筍般蓬勃發(fā)展,,蒸蒸日上,從概念到實際應(yīng)用,,正一步一步地走進我們的生活,。智能家居的遠程控制系統(tǒng),讓我們能夠隨時隨地而輕松快捷地了解家庭狀況,,并且進行遠程遙控,,極大方便了我們的生活,吸弓了大量消費者的眼球,。然而,,這種遠程控制是否可靠,是否會被不法分子非法控制,,這一系列的不安因素讓許多用戶望而止步,。智能家居遠程控制的安全性,直接或間接地關(guān)系到我們的生命財產(chǎn)安全,,所以對智能家居的信息安全研究亥壞容緩,。
1密鑰管理技術(shù)發(fā)展
現(xiàn)代信息安全技術(shù)是基于密鑰完成的,因此密鑰的安全管理和分配是現(xiàn)代信息安全的重要基礎(chǔ),。有效的密鑰管理機制也是其他安全機制,,如安全路由、安全定位,、安全數(shù)據(jù)融合及針對特定攻擊的解決方案等的基礎(chǔ)。
密鑰技術(shù)的發(fā)展,,經(jīng)歷了一段曲折漫長的道路,。1976年,Diffie,、Hellman提出了著名的D-H密鑰分發(fā)體制,,第一次解決了不依賴秘密信道的密鑰分發(fā)問題,但這種體制只能用于會話密鑰的交換,,而且不能抵抗中間人攻擊(attackinthemiddle),。1978年,Kohnfelder提出了CA認證機構(gòu)概念,,采用密鑰動態(tài)分發(fā)的管理體制,,公鑰以CA證書形式公布,,用于解決密鑰的規(guī)模化問題,。1991年,,相繼出現(xiàn)了PGP、PEM,,首次提出密鑰由個人生成的分散式體系,。各依賴方各自建立密鑰環(huán),將常用對方公鑰儲存在自己設(shè)備中,。1996年,,提出了SPKI解決方案叫PKI設(shè)立了證書授權(quán)中心機構(gòu)(CertificateAuthority,CA),,證明公鑰和標(biāo)識的一體化,,防止他人冒名;創(chuàng)立了多層CA架構(gòu),,以解決密鑰的規(guī)?;瘑栴}。PKI的另一進展是利用提供數(shù)字簽名的功能,,構(gòu)建在線認證系統(tǒng),,從而大大推動了認證理論的發(fā)展。由于需要數(shù)據(jù)庫的在線支持,,應(yīng)用效率不高,,維護代價過高。
2001年,,Boneh和Franklin利用Weil對理論,,將標(biāo)識作為公鑰,私鑰由密鑰中心產(chǎn)生配發(fā)的新體制,,實現(xiàn)了Shamir的基于標(biāo)識密碼(IdentityBasedEncryption,IBE)設(shè)想叫此方案將個體的唯一標(biāo)識符或網(wǎng)絡(luò)地址作為它的公鑰,,從而兩通信方不需要交換私鑰或公鑰來解密和驗證簽名,也無需保存密鑰目錄,,取消了依靠第三方證明的層次化CA機構(gòu)鏈,。但是,該方案仍然需要數(shù)據(jù)庫的在線支持,,同樣效率不高,。
2矩陣密鑰管理方案
智能家居的網(wǎng)路大部分都是無線傳感網(wǎng)絡(luò)(WirelessSensorNetworks,WSN),,相對于傳統(tǒng)有線網(wǎng)絡(luò),,WSN的開放性使得網(wǎng)絡(luò)更加地容易受到竊聽、干擾等各種攻擊,。有線網(wǎng)絡(luò)的網(wǎng)絡(luò)連接是相對固定的,,具有確定的邊界,,攻擊者必須物理地接入網(wǎng)絡(luò)或經(jīng)過物理邊界,如防火墻和網(wǎng)關(guān),,才能進入到有線網(wǎng)絡(luò),。通過對接入端口的管理可以有效地控制非法用戶的接入。而無線網(wǎng)絡(luò)則沒有一個明確的防御邊界,。首先,,無線網(wǎng)絡(luò)的開放性帶來了信息截取、未授權(quán)使用服務(wù),、惡意注入信息等一系列信息安全問題,。其次,WSN節(jié)點大部分都是低端的處理器,,它們的資源(包括存儲容量,、計算能力、通信帶寬和距離等)極其有限,。再者,,WSN的網(wǎng)絡(luò)容量非常龐大。鑒于以上特點,,傳統(tǒng)密鑰管理方案并不適用于WSN,。
本文在南相浩教授的組合公鑰算法的研究基礎(chǔ)上,對算法進行改進,,提出了一種矩陣密鑰的認證方案,。跟IBE一樣,矩陣密鑰算法也是基于身份標(biāo)識的公鑰算法,,不需要第三方證明的CA機構(gòu)鏈,,但是,它不需要保留與用戶相關(guān)的參數(shù),,只要保留少量的公共參數(shù)即可處理大量的公鑰,,無需數(shù)據(jù)庫的支持。該算法以芯片級的儲存能力處理大規(guī)模(比如1048)的公鑰,,非常適合應(yīng)用于智能家居控制網(wǎng)絡(luò),。
矩陣密鑰管理體制的安全基礎(chǔ)是橢圓曲線上的離散對數(shù)難題(EllipticCurveDiscreteLogarithmProblem,ECDLP),即對橢圓曲線上的點P,求Q=kP很容易,,相反已知P和Q求k卻非常的困難。
矩陣密鑰管理體制在公開參數(shù)基礎(chǔ)上建立公鑰矩陣和私鑰矩陣,,采用散列映射函數(shù)將實體的標(biāo)識映射為矩陣的行列坐標(biāo),,將矩陣元素進行組合生成龐大的公鑰與私鑰。
2.1橢圓曲線及其公開參數(shù)
由于本系統(tǒng)的有限域計算是在FPGA上實施的,,考慮二進制有限域在硬件上比素數(shù)域?qū)崿F(xiàn)更加地方便,,本系統(tǒng)選取了F2m上的Koblitz橢圓曲線y2+xy=x+ax+bmodF,。其中,F(xiàn)為約減多項式(在南相浩教授的組合公鑰方案里,,采用的是素數(shù)域[8])確定橢圓曲線后,,適當(dāng)?shù)剡x取曲線上的點G作為生成元,成為基點,?;cG=(Gx,Gy)的所有倍點構(gòu)成子群S={G,2G,3G,…,(N—1)G,NG},。其中NG即O,稱為子群S的階図,。表明N是個殆素數(shù)(almost-prime),可以表示為N=hXn,其中n是個大素數(shù),,h是個小整數(shù),。橢圓曲線密碼的公開參數(shù)組為T={a,b,,G,,N,m},。
按照NIST推薦,,本系統(tǒng)參數(shù)選取見表1所列。橢圓曲線的計算可參見文獻,。
2.2私鑰矩陣,、公鑰矩陣的構(gòu)建
公鑰矩陣為16×32的矩陣。矩陣中的16×32個元素記為Xi,,j(0≤i≤15,,0≤j≤31)。它們都是子群S中的元素,,即
2.3基于標(biāo)識的密鑰的產(chǎn)生
密鑰是根據(jù)實體標(biāo)識產(chǎn)生的,。每個實體都有一個唯一可以區(qū)分其他實體的標(biāo)識,比如居民的身份證號,。在網(wǎng)絡(luò)中,,每個節(jié)點都有一個網(wǎng)絡(luò)地址,這地址在整個網(wǎng)絡(luò)中是唯一的,。我們首先對這個網(wǎng)絡(luò)地址進行散列映射處理,,使得標(biāo)識更具有隨機性。運算表達式如下:
identity為實體的標(biāo)識,,ID為標(biāo)識的散列映射值,。本系統(tǒng)中,HASH為SHA1算法,,影射值為160位,。從160位的ID中取出后128位,,分割成32組,每組4位,,每組依次為W0,,W1,…,,W31,。計算公鑰為:
2.4密鑰管理
本系統(tǒng)中,有一個設(shè)備來負責(zé)密鑰的產(chǎn)生和發(fā)放,,該設(shè)備叫密鑰管理中心(KeyManageCenter,,KMC)。KMC首先選擇系統(tǒng)的加密曲線參數(shù)以及基點,,參數(shù)T={a,,b,G,,N,,m}向網(wǎng)絡(luò)公布。然后隨機產(chǎn)生16×32的私鑰矩陣,。為了使每個不同的標(biāo)識產(chǎn)生不同的私鑰,,文獻給出了優(yōu)化方案。根據(jù)私鑰矩陣和基點,,計算出公鑰矩陣,。私鑰矩陣由KMC秘密保留,公鑰矩陣則公布,。
當(dāng)網(wǎng)絡(luò)節(jié)點申請入網(wǎng)時,,KMC根據(jù)節(jié)點的標(biāo)識計算出節(jié)點的私鑰,并通過安全信道告知節(jié)點私鑰,。公開參數(shù)和公鑰矩陣則在公開信道告知,。圖1所示是其密鑰管理方案示意圖。
兩節(jié)點之間通信時,,發(fā)送方用自己的私鑰對消息進行簽名,,將消息和簽名在公開信道上發(fā)送給目標(biāo)節(jié)點。接收方接收到消息和簽名時,,先根據(jù)發(fā)送者的標(biāo)識,,從公鑰矩陣中計算出接收者的公鑰,從而進行消息的驗證,。此過程無需第三方的參與,,減少了網(wǎng)絡(luò)信息流量,提高了效率。
本方案支持海量節(jié)點的網(wǎng)絡(luò),,以16X32密鑰矩陣為例,幾百Kb的容量就能支持1632=2128=1039個節(jié)點,。
3數(shù)字簽名協(xié)議
本系統(tǒng)簽名協(xié)議采用橢圓曲線簽名算法(EllipticCurveDigitalSignatureAlgorithm,ECDSA),。簽名算法如算法1。其中,,H為散列映射函數(shù),,m為待簽名的消息,心為發(fā)送者的私鑰,,Qa為發(fā)送者的公鑰,。
算法1ECDSA如下:
簽名過程:
選擇整數(shù)kG(0,n);
計算kG=(X1,,y1),,并將轉(zhuǎn)換為整數(shù)x:
計算r=xmodn,如果r=0,則返回步驟1):
計算e=H(n);
計算s=k」(e+dAr)modn,。若s=0,則跳至步驟1):
返回(r,s),。
驗證過程:
檢查r,s是否是區(qū)間(0,n)內(nèi)的整數(shù),若任一個不成立則否認簽名,;
計算e=H(m),;
計算w=s_1modn;
計算u1=ewmodn,u2=rwmodn,;
計算X=uG+u2Qa=(x,。,y,。),;
若X=8,則否認簽名;
將X0轉(zhuǎn)換為整數(shù)x,計算v=xmodn,;
若v=r,則認可簽名,,否則否認簽名。
簽名驗證的工作證明以及安全性證明詳見文獻,。
4系統(tǒng)設(shè)計
本系統(tǒng)完成對智能家居控制網(wǎng)絡(luò)通信的地址認證,。本系統(tǒng)的家居控制網(wǎng)絡(luò)由ZigBee網(wǎng)絡(luò)構(gòu)成。ZigBee網(wǎng)絡(luò)是一種短距離,、低功耗的無線通信技術(shù),,其近距離、低復(fù)雜度,、自組織,、低功耗、低數(shù)據(jù)速率、低成本等特點非常適合智能家居控制網(wǎng)絡(luò),。ZigBee節(jié)點的通信地址有64位的IEEE地址(也叫擴展地址,,由設(shè)備商固化在設(shè)備中)和32位的網(wǎng)絡(luò)地址(也叫短地址,加入網(wǎng)絡(luò)后由協(xié)調(diào)器分配,,每次加入網(wǎng)絡(luò)可能都不同),。在試驗中,我們采用擴展地址通信方式,。本系統(tǒng)中網(wǎng)絡(luò)通信認證主要是對地址真實性的認證,,能夠正確地識別數(shù)據(jù)的來源,避免消息的偽造,。消息的簽名和認證算法則由FPGA完成,。ZigBee模塊與FPGA之間通過SPI總線通信。其硬件設(shè)計框圖見圖2所示,。
圖2 硬件設(shè)計框圖
ZigBee模塊在發(fā)送消息m前,,將消息發(fā)送給FPGA,FPGA完成對消息的簽名,并將簽名<rs>返回給ZigBee模塊,。之后,,ZigBee模塊在接收到后,將簽名內(nèi)容附屬在消息后面,,形成<m,r,s>,,并將這發(fā)送。當(dāng)ZigBee模塊接收到附帶簽名的消息<m,r,s>后,,將消息發(fā)送給FPGA進行處理,。FPGA對消息進行驗證,將驗證結(jié)果返回給ZigBee模塊,。若消息驗證成功,,則交給用戶進行下一步的處理,否則認為消息來源不可信,,拋棄消息不予處理,。
圖3 軟件流程圖
FPGA簽名和認證流程圖如圖3所示。FPGA模塊有簽名和驗證兩種模式,,由ZigBee模塊通知選擇,。在兩種模式下分別進行ECDSA簽名和ECDSA驗證處理,將處理結(jié)果傳送回ZigBee模塊進行下一步處理,。
5實驗結(jié)果分析
本次試驗中,,采用CC2530作為ZigbBee模塊,簽名認證算法由EP2C5T144CB完成,,時鐘頻率為40MHz,。
發(fā)送方發(fā)送消息為“Hello,!”,消息HASH值為表2中的HASH(m),。
發(fā)送方用自己的私鑰dA對消息進行簽名,,得到消息簽名r和s。
接收方收到帶有簽名的消息后,,根據(jù)發(fā)送方的IEEE地址,,通過公鑰矩陣查詢到發(fā)送方的公鑰為坐標(biāo)(QA_x,QA_y),,經(jīng)過ECDSA認證算法后得到v。
表2記錄了實驗數(shù)據(jù),。
分析實驗數(shù)據(jù)表2可得v=r,,根據(jù)認證算法接收該簽名。本方案實現(xiàn)了對消息的簽名和認證,,提高了網(wǎng)絡(luò)通信的可靠安全性,。
6結(jié)語
本系統(tǒng)將基于標(biāo)志認證的矩陣密鑰算法應(yīng)用到智能家居遠程控制網(wǎng)絡(luò)的真實性認證當(dāng)中,實現(xiàn)了無需第三方的在線參與的本地認證,,大大提高了認證效率,。網(wǎng)絡(luò)中的KMC只需要在設(shè)備加入網(wǎng)絡(luò)時分配密鑰,平時并不參與認證活動,;網(wǎng)絡(luò)中的各個終端節(jié)點,,也只是增加一些算法的實現(xiàn),以很小的代價實現(xiàn)了對家庭網(wǎng)絡(luò)的地址認證,,為建立安全可信任的網(wǎng)絡(luò)打下了良好的基礎(chǔ),,確保了網(wǎng)絡(luò)通信間的安全可靠。