雷璨 陳治宇
(四川省能源投資集團(tuán)有限責(zé)任公司 四川省成都市 610041)
物聯(lián)網(wǎng)(IOT,Internet of Things)也叫“傳感網(wǎng)”,是指物體通過裝入各種信息傳感設(shè)備,比如射頻識(shí)別(RFID)裝置、紅外感應(yīng)器、全球定位系統(tǒng)、激光掃描器或其它方式進(jìn)行連接,然后與互聯(lián)網(wǎng)或移動(dòng)通信網(wǎng)絡(luò)結(jié)合起來最終形成一個(gè)巨大的智能網(wǎng)絡(luò),通過電腦或手機(jī)實(shí)現(xiàn)對(duì)物體的智能化管理。
隨著云計(jì)算、大數(shù)據(jù)、人工智能等技術(shù)飛速發(fā)展,物聯(lián)網(wǎng)應(yīng)用層出不窮,物聯(lián)網(wǎng)產(chǎn)業(yè)發(fā)展迅速。窄帶物聯(lián)網(wǎng)技術(shù)(NB-IOT)、加強(qiáng)的機(jī)器類型通信(eMTC)、遠(yuǎn)距離無線電技術(shù)(LoRa)等低功耗廣域(LPWA)技術(shù)和應(yīng)用不斷創(chuàng)新突破迅速,物聯(lián)網(wǎng)產(chǎn)業(yè)發(fā)展入黃金發(fā)展階段。
據(jù)權(quán)威機(jī)構(gòu)統(tǒng)計(jì),2020年活躍的物聯(lián)網(wǎng)設(shè)備數(shù)量預(yù)計(jì)將增加到100 億臺(tái),到2025年將增加到220 億臺(tái)。全球物聯(lián)網(wǎng)產(chǎn)業(yè)規(guī)模2008年500 億美元,2018年近1510 億美元?!?018年中國(guó)5G 產(chǎn)業(yè)與應(yīng)用發(fā)展白皮書》預(yù)計(jì),到2025年中國(guó)物聯(lián)網(wǎng)連接數(shù)將達(dá)到53.8 億,其中5G 物聯(lián)網(wǎng)連接數(shù)達(dá)到39.3 億[1]。當(dāng)前我國(guó)正在推廣智慧城市建設(shè),需要在智慧城建、智能電網(wǎng)、移動(dòng)通信等領(lǐng)域大量使用物聯(lián)網(wǎng)設(shè)備。
IOT 發(fā)展至今,由于承載諸多關(guān)系國(guó)計(jì)民生的關(guān)鍵基礎(chǔ)設(shè)施和重要信息系統(tǒng),也成為國(guó)家級(jí)網(wǎng)絡(luò)對(duì)抗以及黑客組織網(wǎng)絡(luò)攻擊的主要對(duì)象。2010年曝光的震網(wǎng)病毒對(duì)許多國(guó)家的核電站、水電站、電網(wǎng)設(shè)施等工業(yè)設(shè)施造成嚴(yán)重破壞;2016年Mirai 僵尸網(wǎng)絡(luò)通過控制物聯(lián)網(wǎng)設(shè)施實(shí)施分布式拒絕服務(wù)攻擊(DDoS)造成DNS 服務(wù)關(guān)閉,造成美國(guó)東部大面積斷網(wǎng)[2]。據(jù)Gartner 統(tǒng)計(jì)數(shù)據(jù),2020年全球企業(yè)在物聯(lián)網(wǎng)安全方面的損失達(dá)到15 億美元[3]。
有鑒于此,IOT 的網(wǎng)絡(luò)安全防護(hù)成為研究熱點(diǎn)。IOT 的安全接入認(rèn)證是確保安全的網(wǎng)絡(luò)關(guān)口。物聯(lián)網(wǎng)認(rèn)證機(jī)制的安全目標(biāo)是認(rèn)證數(shù)據(jù)發(fā)送者身份信息的真實(shí)性,確保認(rèn)證信息的機(jī)密性。IOT 大多應(yīng)用于工業(yè)場(chǎng)景下的強(qiáng)電磁干擾、高溫、高壓等惡劣環(huán)境中,計(jì)算和存儲(chǔ)能力較弱,無法采用基于生物特征和“用戶名+口令”等技術(shù)架構(gòu)的身份認(rèn)證[4]。
因此,面向IOT 的身份認(rèn)證協(xié)議需要構(gòu)建輕量級(jí)認(rèn)證架構(gòu),且實(shí)現(xiàn)雙向認(rèn)證、消息完整性與抗抵賴性、匿名性與抗追蹤性、前向保密性等要求。物聯(lián)網(wǎng)結(jié)構(gòu)如圖1所示。
從邏輯架構(gòu)角度,IOT 可分為感知層、網(wǎng)絡(luò)層和應(yīng)用層。如圖1所示。
圖1:物聯(lián)網(wǎng)結(jié)構(gòu)
其中,感知層包括傳感器節(jié)點(diǎn)、終端節(jié)點(diǎn)、網(wǎng)關(guān)節(jié)點(diǎn);網(wǎng)絡(luò)層包括無線網(wǎng)絡(luò)、專有網(wǎng)絡(luò)和有線網(wǎng)絡(luò),用于承載平臺(tái)與終端設(shè)備之間的交互;應(yīng)用層則包括各類應(yīng)用程序。
從網(wǎng)絡(luò)安全風(fēng)險(xiǎn)角度,感知層的風(fēng)險(xiǎn)主要有終端的物理安全、網(wǎng)絡(luò)通信及結(jié)構(gòu)安全、數(shù)據(jù)泄露、安全漏洞等,常見攻擊有:側(cè)信道攻擊、女巫攻擊、Dos 攻擊;網(wǎng)絡(luò)層的風(fēng)險(xiǎn)主要表現(xiàn)為無線數(shù)據(jù)的傳輸鏈路安全、非授權(quán)接入和訪問網(wǎng)絡(luò)等方面,常見攻擊包括:網(wǎng)絡(luò)監(jiān)聽、中間人攻擊、路由攻擊;應(yīng)用層是物聯(lián)網(wǎng)與用戶的接口,通過物聯(lián)網(wǎng)應(yīng)用層協(xié)議(COAP、MQTT、XMPP 等)為用戶提供業(yè)務(wù)應(yīng)用服務(wù),常見的攻擊包括:身份偽造攻擊、注入攻擊、重放攻擊。
由于IOT 中的設(shè)備存在計(jì)算能力有限、存儲(chǔ)空間小、更換操作不方便等缺點(diǎn),使得傳統(tǒng)的“用戶名+密碼”、USBKey 雙因子認(rèn)證或者是生物特征等認(rèn)證手段無法在IOT 中使用。IOT 設(shè)備易被攻擊者利用,實(shí)施中間人攻擊。
根據(jù)IOT 系統(tǒng)中認(rèn)證對(duì)象的不同、將認(rèn)證協(xié)議分為用戶與設(shè)備認(rèn)證、設(shè)備與服務(wù)器認(rèn)證、設(shè)備與設(shè)備認(rèn)證。IOT 認(rèn)證協(xié)議分類如表1所示。
表 1:物聯(lián)網(wǎng)認(rèn)證分類
表 2:符號(hào)及其注釋
(1)在用戶與設(shè)備認(rèn)證場(chǎng)景中,用戶通過輸入“用戶名+密碼”或采用生物特征認(rèn)證方式,連接網(wǎng)關(guān)訪問物聯(lián)網(wǎng)終端,認(rèn)證協(xié)議主要為了確保用戶身份可信。
(2)在設(shè)備與服務(wù)器認(rèn)證場(chǎng)景中,RFID 標(biāo)簽和RFID 讀寫器之間的信道是開放的,需要通過認(rèn)證協(xié)議實(shí)現(xiàn)輕量級(jí)認(rèn)證和隱私保護(hù)。
(3)在設(shè)備與設(shè)備的認(rèn)證場(chǎng)景中,智能家居中設(shè)備間的相互認(rèn)證高度依賴物聯(lián)網(wǎng)網(wǎng)關(guān),網(wǎng)關(guān)極易成為認(rèn)證的性能瓶頸;車聯(lián)網(wǎng)中移動(dòng)認(rèn)證時(shí)容易造成隱私泄露。
從技術(shù)發(fā)展路線看,物聯(lián)網(wǎng)認(rèn)證協(xié)議一般采用基于對(duì)稱密碼體制的方案和基于公鑰密碼體制的方案。在實(shí)際應(yīng)用中,對(duì)稱密碼體制用于通信加密,公鑰密碼體制可用于身份認(rèn)證,需要考慮硬件資源、計(jì)算能力和加解密效率綜合考慮選用具體密碼方案[5]。
此外,基于傳統(tǒng)密碼體制的方案需要將公鑰和私鑰保存于物聯(lián)網(wǎng)節(jié)點(diǎn)設(shè)備。由于物聯(lián)網(wǎng)中節(jié)點(diǎn)設(shè)備資源受限,難以實(shí)現(xiàn)自我保護(hù),攻擊者可通過物理手段捕獲開放環(huán)境中的節(jié)點(diǎn)設(shè)備,從其存儲(chǔ)介質(zhì)中提取私鑰。因此,從安全角度需要為這些節(jié)點(diǎn)設(shè)備配置更多安全防護(hù)措施,導(dǎo)致部署成本過大,無法在工程中大范圍應(yīng)用。
RFID 是一種非接觸式自動(dòng)識(shí)別技術(shù),可廣泛應(yīng)用于智慧城市、智能城建等工業(yè)物聯(lián)網(wǎng)環(huán)境,可以快速、實(shí)時(shí)地采集和處理相關(guān)對(duì)象的信息。
RFID 系統(tǒng)由RFID 標(biāo)簽、RFID 讀寫器和服務(wù)器組成,RFID系統(tǒng)架構(gòu)如圖2所示。
圖2:RFID 系統(tǒng)架構(gòu)
在RFID 工作機(jī)制中,標(biāo)簽存儲(chǔ)著設(shè)備的信息,附著在設(shè)備上;RFID 讀寫器通過天線接收標(biāo)簽傳遞的信息,并將信息發(fā)送到后端服務(wù)器;RFID 讀寫器和服務(wù)器之間的通信通常為有線網(wǎng)絡(luò),但標(biāo)簽與讀寫器之間使用開放的無線電波通信,存在著安全隱患。
從安全角度看,RFID 體系物聯(lián)網(wǎng)認(rèn)證機(jī)制主要遇到的安全威脅有[5]:
2.1.1 物理攻擊
攻擊者惡意損毀標(biāo)簽,或者發(fā)射電磁來干擾標(biāo)簽與RFID 讀寫器之間的通信信號(hào)。
2.1.2 RFID 標(biāo)簽偽造
攻擊者利用空白的RFID 標(biāo)簽偽造為合法的電子標(biāo)簽,或者直接對(duì)現(xiàn)有的合法標(biāo)簽信息進(jìn)行修改,從而實(shí)施中間人攻擊。
2.1.3 RFID 嗅探
由于目前RFID 認(rèn)證均是由標(biāo)簽發(fā)起,由后臺(tái)服務(wù)器進(jìn)行單向認(rèn)證,故可以用非法的RFID 讀寫器讀取RFID 標(biāo)簽的隱私信息,從而實(shí)施中間人攻擊。
2.1.4 重放攻擊
攻擊者通過截獲RFID 標(biāo)簽與RFID 讀寫器之間的交互信息,同時(shí)記錄下標(biāo)簽與讀寫器之間的通信序列,將截獲的消息重傳給讀寫器或者服務(wù)器端,從而達(dá)到偽裝合法標(biāo)簽或服務(wù)器的目的。
鑒于RFID 技術(shù)在物聯(lián)網(wǎng)體系中的重要地位,RFID 系統(tǒng)環(huán)境的安全性問題也逐漸成為了學(xué)術(shù)界關(guān)注的重點(diǎn)。文獻(xiàn)[6]提出了一種具有緩存功能的RFID 認(rèn)證協(xié)議。RFID 讀寫中存儲(chǔ)著訪問密鑰,這可以利用讀寫器的存儲(chǔ)資源進(jìn)行密碼運(yùn)算,提高認(rèn)證效率[6];文獻(xiàn)[7]提出了基于云計(jì)算的認(rèn)證方案,該協(xié)議充分利用云計(jì)算的優(yōu)勢(shì),利用云端的計(jì)算能力完成加密和認(rèn)證,保證了系統(tǒng)的安全性[7]。
本方案的思路是借助公鑰密碼體制實(shí)現(xiàn)RFID 標(biāo)簽和后臺(tái)服務(wù)器之間的雙向認(rèn)證。利用時(shí)間戳和隨機(jī)數(shù)來更新認(rèn)證的信息,防止前向攻擊和重放攻擊。公鑰密碼算法選用輕量化的ECC(橢圓曲線算法)。
在ECC 算法加解密過程中,橢圓曲線上的點(diǎn)群中的標(biāo)量乘運(yùn)算所消耗的時(shí)間極大影響了整體ECC 的效率。因此,針對(duì)ECC 算法的輕量級(jí)改造,主要采用的是標(biāo)量乘運(yùn)算過程中的優(yōu)化?,F(xiàn)有的相關(guān)研究工作主要有兩種思路:第一種是將整數(shù)基于某種數(shù)學(xué)形式展開表示,通過控制展開式中非零元素的個(gè)數(shù),從而使得點(diǎn)加和倍點(diǎn)運(yùn)算次數(shù)大幅降低;第二種是通過預(yù)計(jì)算省去標(biāo)量乘計(jì)算過程中的復(fù)雜度。
本方案選用文獻(xiàn)[8]提出的基于新雙基的橢圓曲線標(biāo)量乘算法,減少了整數(shù)雙基鏈展開式的冗余度,簡(jiǎn)化了標(biāo)量乘運(yùn)算的計(jì)算復(fù)雜度[8]。符號(hào)及其注釋如表2所示。
初始化階段:
服務(wù)器利用ECC 算法產(chǎn)生公鑰Key(DB_PUB)和私鑰Key(DB_PRI),并將公鑰分發(fā)至RFID 標(biāo)簽中進(jìn)行存儲(chǔ)。
注冊(cè)階段:
(1)RFID 標(biāo)簽將自己的SID 作為注冊(cè)請(qǐng)求信息發(fā)送給RFID讀寫器,RFID 讀寫器接收到注冊(cè)請(qǐng)求后,獲取當(dāng)前系統(tǒng)時(shí)間作為時(shí)間戳Ti-1,并存儲(chǔ)時(shí)間戳和SID 信息,將該SID|| Hash(Ti-1)發(fā)給服務(wù)器。
(2)服務(wù)器接受到SID 之后,查看已注冊(cè)列表,判斷標(biāo)簽是否已注冊(cè);若沒有則保存該SID。利用私鑰對(duì)該字符串加密, 即txtEncry=EccE{Key(DB_PRI), Hash(Ti-1)}, 存儲(chǔ)SID 和Hash(Ti-1),并將該加密信息txtEncry 發(fā)送給RFID 讀寫器,讀寫器將密文發(fā)送給RFID 標(biāo)簽。
(3)RFID 標(biāo)簽用公鑰解密,執(zhí)行操作EccD{ Key(DB_PUB),txtEncry},獲取Hash(Ti-1),并將Hash(Ti-1)存儲(chǔ)。
認(rèn)證階段:
(1)RFID 標(biāo)簽產(chǎn)生隨機(jī)數(shù)Random(Tag),并組合成字符串SID||Random(Tag), 執(zhí)行操作Hash(SID||Random(Tag)),并將該哈希值進(jìn)行存儲(chǔ),用服務(wù)器的公鑰加密字符串SID||Random(Tag)||Hash(Ti-1), 即clientEncry=EccE{Key(DB_PUB)),SID||Random(Tag)|| Hash(Ti-1)},并將密文clientEncry 發(fā)送給RFID 讀寫器。
(2)RFID 讀寫器獲取密文clientEncry,并獲取系統(tǒng)時(shí)間作為時(shí)間戳Ti,并存儲(chǔ)時(shí)間戳,執(zhí)行clientEncry||Hash(Ti),將該密文clientEncry||Hash(Ti)發(fā)送給服務(wù)器。
(3)服務(wù)器執(zhí)行字符串操作,分別獲取密文clientEncry 和Hash(Ti)。利用私鑰解密密文clientEncry,獲取SID、Random(Tag)和Hash(Ti),通過查找SID,比對(duì)獲取Hash(Ti)與存儲(chǔ)的數(shù)據(jù)是否一致,若一致則認(rèn)定RFID 標(biāo)簽的合法身份。同時(shí)驗(yàn)證比對(duì)Hash(Ti)與Hash(Ti-1)是否一致,若一致,則認(rèn)定為重放攻擊。
(4)服務(wù)器產(chǎn)生隨機(jī)數(shù)Random(DB),執(zhí)行Random(DB)||Random(Tag)操作,并用私鑰加密發(fā)送給RFID 讀寫器,即severEncry=EccE{Key(DB_PRI),Random(DB)||Random(Tag)},RFID讀寫器轉(zhuǎn)發(fā)密文severEncry 給RFID 標(biāo)簽。
(5)RFID 標(biāo)簽獲取密文severEncry,利用公鑰解密,獲得Random(Tag),并執(zhí)行Hash(SID||Random(Tag)),比較與存儲(chǔ)的數(shù)據(jù)是否一致,從而驗(yàn)證服務(wù)器的身份。至此,完成雙向認(rèn)證。Random(DB)|| Random(Tag)則可以作為雙方協(xié)商的加密密鑰。
2.3.1 雙向認(rèn)證
本方案實(shí)現(xiàn)RFID 標(biāo)簽和服務(wù)器之間的雙向認(rèn)證,杜絕中間人仿冒攻擊風(fēng)險(xiǎn)。
2.3.2 信息的機(jī)密性
在雙向認(rèn)證過程中,信息均是加密傳輸,且使用ECC 算法,加密強(qiáng)度高。RFID 標(biāo)簽存儲(chǔ)的是公鑰和密文,即使遭受攻擊也無數(shù)據(jù)泄露的風(fēng)險(xiǎn)。
2.3.3 前向攻擊
本方案中引入了Hash 函數(shù),作為認(rèn)證因子的時(shí)間戳是經(jīng)過Hash計(jì)算后存儲(chǔ)的,標(biāo)簽中不持有之前的認(rèn)證信息和作廢的時(shí)間戳,因此,本方案具有前向攻擊安全性。
2.3.4 后向攻擊
由于認(rèn)證過程中引入隨機(jī)數(shù),攻擊者無法通過計(jì)算獲取認(rèn)證口令,因此,本方案具有后向攻擊安全性。
2.3.5 防重放攻擊
由于標(biāo)簽產(chǎn)生隨機(jī)數(shù)均不一致,同時(shí)認(rèn)證信息中引入了時(shí)間戳,因此可以抵御重放攻擊。
此外,本方案中大量計(jì)算和檢索工作均在服務(wù)器側(cè)完成,極大地減輕RFID 標(biāo)簽側(cè)的計(jì)算壓力。
物聯(lián)網(wǎng)是我國(guó)智慧城市發(fā)展戰(zhàn)略的重要支撐,目前已被用于智能交通、智能城建等眾多領(lǐng)域。 隨著網(wǎng)絡(luò)安全法、數(shù)據(jù)安全法和密碼法的頒布實(shí)施,物聯(lián)網(wǎng)的安全問題越來越受到重視。
現(xiàn)有的研究方向都在設(shè)計(jì)適用于物聯(lián)網(wǎng)中的輕量級(jí)密碼算法和認(rèn)證機(jī)制,然而過于“輕量級(jí)”的加密體制則會(huì)導(dǎo)致安全強(qiáng)度降低,因此,需要在輕量級(jí)和安全強(qiáng)度之間找到平衡點(diǎn)。
隨著物聯(lián)網(wǎng)設(shè)備存儲(chǔ)和計(jì)算能力逐步改善,針對(duì)物聯(lián)網(wǎng)的APT攻擊愈演愈烈,基于成熟的密碼體制的安全認(rèn)證方法將是抵御有組織網(wǎng)絡(luò)攻擊的最后保障。后續(xù)的研究工作將聚焦本方案的工程化實(shí)現(xiàn),探索適用于不同場(chǎng)景中的解決方案。