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