李秋月,趙 艷,李世明,3,於家偉,高勝花
(1.哈爾濱師范大學(xué) 計算機(jī)科學(xué)與信息工程學(xué)院,黑龍江 哈爾濱 150025;2.洛陽師范學(xué)院 物理與電子信息學(xué)院,河南 洛陽 471022;3.上海市信息安全綜合管理技術(shù)研究重點實驗室,上海 200240)
互聯(lián)網(wǎng)的開放性有利于物聯(lián)網(wǎng)設(shè)備的接入,卻也給物聯(lián)網(wǎng)設(shè)備帶來了不可預(yù)知的風(fēng)險,攻擊者可能通過身份假冒等手段達(dá)到攻擊或破壞的目的,從而威脅或破壞物聯(lián)網(wǎng)系統(tǒng)的安全[1]。為此,國內(nèi)外學(xué)者提出了許多物聯(lián)網(wǎng)設(shè)備的接入認(rèn)證方案[2-5],但隨著物聯(lián)網(wǎng)終端設(shè)備直接通信的需求日益增長,終端設(shè)備間的認(rèn)證技術(shù)引起了人們的關(guān)注并對此做出了相關(guān)研究,如:CHEN D等人提出一種基于聲學(xué)指紋的輕量級無線設(shè)備認(rèn)證協(xié)議[6];SOWJANYA K等人為克服LI X等人的方案[7]存在的漏洞提出了一種基于ECC端到端認(rèn)證協(xié)議[8];SHIVRAJ VL等人提出了基于Lamport OTP的物聯(lián)網(wǎng)端到端身份驗證協(xié)議[9];WILSON P提出了一種基于非對稱密碼的IoT設(shè)備間相互認(rèn)證協(xié)議,并提供了共享的秘密會話密鑰[10]。但是上述方案仍存在不足,如:文獻(xiàn)[6]存在采用硬件指紋技術(shù)成本較高、操作不方便的問題;文獻(xiàn)[7]不支持完全正向保密、易出現(xiàn)時鐘同步問題;文獻(xiàn)[9]安全級別較高,OTP生成策略的難度等同于解決Diffie-Hellman計算問題,但是交互次數(shù)較多,需要大量的通信開銷。
為此,本文針對物聯(lián)網(wǎng)應(yīng)用環(huán)境特點及物聯(lián)網(wǎng)終端設(shè)備認(rèn)證的安全需求,提出一種基于身份加密(Identity-Based Encryption,IBE)策略的物聯(lián)網(wǎng)設(shè)備間的身份認(rèn)證方案,以達(dá)到更高的安全強(qiáng)度和更好的抵抗攻擊的效果。
本文所提出的認(rèn)證方案是基于物聯(lián)網(wǎng)環(huán)境下的物聯(lián)網(wǎng)終端設(shè)備之間進(jìn)行身份合法性識別的一種認(rèn)證機(jī)制。本方案是基于以下安全需求而研究的:
(1)在不泄露通信雙方終端設(shè)備身份標(biāo)識信息的情況下完成雙向認(rèn)證。
(2)本認(rèn)證方案的安全性不會因終端設(shè)備的惡意丟失而下降。
(3)傳輸?shù)臄?shù)據(jù)在機(jī)密性、完整性等方面具有較高的安全性,即使遭到竊聽也不會被破譯、篡改。
(4)各終端設(shè)備具有同步時鐘的功能,保證終端設(shè)備本地時鐘偏差較小,甚至可忽略不計。
(5)可信中心與各終端設(shè)備之間有安全的傳輸信道。
鑒于ECC在相同安全強(qiáng)度下密鑰尺寸更小、運(yùn)行速度更快、抗攻擊性強(qiáng)的特點[11],本方案采用的ECC加密算法基于IBE策略,由可信中心生成系統(tǒng)參數(shù),并結(jié)合物聯(lián)網(wǎng)終端設(shè)備的身份信息生成該終端設(shè)備的密鑰對,幫助終端設(shè)備完成注冊,不參與終端設(shè)備間的認(rèn)證過程。當(dāng)終端設(shè)備雙方需要通信時,終端設(shè)備利用公開的系統(tǒng)參數(shù)和私有信息經(jīng)過三輪信息交互,在匿名的情況下完成終端設(shè)備身份的雙向認(rèn)證。
定義1物聯(lián)網(wǎng)應(yīng)用系統(tǒng)中具有接入與數(shù)據(jù)處理功能的設(shè)備稱為物聯(lián)網(wǎng)終端設(shè)備[12],記作Di;所有終端設(shè)備的集合稱為終端設(shè)備集,記作D,D={D1,D2,…,Di,…,Dn},i,n∈Z+。
定義2能夠唯一代表或識別終端設(shè)備Di的信息稱為身份標(biāo)識,記作IDi,D的所有身份標(biāo)識記作ID={ID1,ID2,…IDi…IDn},i,n∈Z+。
定義3對于任意Dj通過某種計算過程后使得Di信任Dj,記作Di?Dj,其中?稱為信任關(guān)系;若同時存在Dj?Di,則稱為雙向信任,記作Di?Dj。
定義4對于任意的Di與Dj,在構(gòu)建Di?Dj或Dj?Di的過程稱為設(shè)備認(rèn)證,記作Ж。
定義5在執(zhí)行Ж前受Di信賴的可靠第三方稱為可信中心,記作TC。
本文研究中所涉及的符號說明如表1所示。
表1 符號含義說明
(2)設(shè)備注冊:Di將固化在網(wǎng)卡信息中的MAC地址作為自己的身份標(biāo)識IDi發(fā)送給TC,TC收到消息后,生成時間戳Ti,計算SKi=SKTC+h1(IDi⊕Ti)mod(p)、PKi=SKiP,然后公開公鑰PKi,發(fā)送{SKi,Ti}到Di。Di接收到{SKi,Ti}后計算SKiP=PKTC+h1(IDi⊕Ti)是否成立,若成立,則保存私鑰SKi。否則,終端設(shè)備注冊失敗。
在終端設(shè)備認(rèn)證階段,終端設(shè)備Di的密鑰對為(SKi,PKi),終端設(shè)備Dj的密鑰對為(SKj,PKj),認(rèn)證過程如圖1所示。
圖1 終端設(shè)備認(rèn)證過程
過程描述如下:
(3)Di計算|ti-Tji|<Δt是否成立,若不成立,則拒絕此次認(rèn)證請求。否則,計算DecSKi(c2)獲得mj,再計算Vj′=h2(mj⊕R),比較Vj′與Vj,若不相同則拒絕此次認(rèn)證請求。否則,DiDj。Di計算Vi=h2(mi⊕mj)并把Vi發(fā)送給Dj。
(4)Dj接收到Vi,計算Vi′=h2(mi⊕mj),比較Vi′與Vi,若不相同則拒絕此次認(rèn)證請求。否則,DjDi。
(5)當(dāng)Di?Dj時,本次認(rèn)證成功,否則,本次認(rèn)證失敗。
攻擊者通過重復(fù)利用監(jiān)聽到的歷史消息來冒充合法用戶進(jìn)行重放攻擊。本方案在生成的密鑰中加入了時間戳Ti作為密鑰的新鮮因子,因此用此密鑰加密生成的密文也具有新鮮性。在認(rèn)證過程中也加入時間戳Tij,當(dāng)攻擊者攔截到具有時間戳Tij的密文,并利用所攔截到的消息進(jìn)行重放攻擊時,終端設(shè)備Dj會驗證時間戳Ti是否滿足不等式|tj-Tij|<Δt,因為Tij是舊的時間戳,兩條消息之間的時間差超出有效時間,不等式驗證失敗,從而本方案能夠抵抗重放攻擊。
假設(shè)攻擊者截獲Dj與Di的通信消息{c2,Vj,Tji},并認(rèn)證消息Vj進(jìn)行篡改后發(fā)送給Di,Di接收到消息后計算Vj′=h2(mj⊕R)與Vj進(jìn)行比較,若Vj′=Vj則驗證成功,但是由于Vj是經(jīng)過哈希函數(shù)h2運(yùn)算得到的散列值,具有單向不可逆性,攻擊者無法對其進(jìn)行篡改進(jìn)而實施中間人攻擊。若攻擊者截獲Di發(fā)送給Dj的認(rèn)證消息Vi,攻擊者也無法對其進(jìn)行篡改后轉(zhuǎn)發(fā),不能實現(xiàn)中間人攻擊。
由于本方案的加密算法是基于橢圓曲線上的離散對數(shù)問題,攻擊者想通過將密文解密是十分困難的,并且本方案中的認(rèn)證信息Vi是經(jīng)過哈希函數(shù)h2運(yùn)算得到的散列值,具有單向不可逆性,攻擊者無法對其進(jìn)行篡改。故而本認(rèn)證方案具有消息正確性和消息完整性的安全屬性,能夠防篡改攻擊。
本方案提出IBE策略的目的是為了減少證書和其管理的開銷,消除證書的影響。一般在32位3 GHz奔騰處理器上各種運(yùn)算所需時間如表2所示[13]。本方案計算開銷與其他使用ECC加密算法的認(rèn)證方案計算開銷的比較如表3所示。本方案未進(jìn)行復(fù)雜的映射運(yùn)算,增加了運(yùn)算時間小于點乘運(yùn)算的異或運(yùn)算,分析表2、表3可知,本方案計算開銷較小。
表2 各種運(yùn)算所需時間 (ms)
表3 計算開銷比較
為解決物聯(lián)網(wǎng)終端設(shè)備間安全通信和隱私保護(hù)問題,本文提出于一種基于IBE策略的物聯(lián)網(wǎng)終端設(shè)備間的身份認(rèn)證方案。該方案中可信中心生成系統(tǒng)信息并完成設(shè)備注冊,但是不參與終端設(shè)備間認(rèn)證過程,終端設(shè)備間進(jìn)行三輪交互,完成匿名雙向認(rèn)證過程;此外,通過安全性分析和性能分析,本方案可以防重放、假冒、中間人和篡改等攻擊,具有認(rèn)證性、匿名性、機(jī)密性、消息正確性和完整性等安全屬性和較小的計算開銷。