王桂超
(山東信息職業(yè)技術(shù)學(xué)院,山東 濰坊261061)
RFID是一種非接觸式的射頻識(shí)別技術(shù)[1],隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,作為物聯(lián)網(wǎng)重要組成部分的RFID也越來(lái)越受到人們的重視。RFID技術(shù)已經(jīng)被應(yīng)用到智能家居、門禁系統(tǒng)、不停車收費(fèi)系統(tǒng)、高速公路、物流倉(cāng)儲(chǔ)等生活的方方面面。也正是RFID越來(lái)越廣泛的應(yīng)用,使其安全問(wèn)題更加受到人們的關(guān)注。
一個(gè)典型的RFID系統(tǒng)主要由電子標(biāo)簽、閱讀器、后臺(tái)服務(wù)器[2]三部分組成。傳統(tǒng)的RFID系統(tǒng)后臺(tái)服務(wù)器計(jì)算能力有限,只能應(yīng)用于小型場(chǎng)景。但是隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,海量設(shè)備需要接入計(jì)算授權(quán),傳統(tǒng)后臺(tái)服務(wù)器將無(wú)法滿足安全計(jì)算需求。另一方面,由于RFID標(biāo)簽的存儲(chǔ)和計(jì)算能力極其有限,因此很容易受到重放攻擊、拒絕服務(wù)、非法讀取等各種攻擊。傳統(tǒng)的RFID認(rèn)證協(xié)議通常采用Hash函數(shù)、傳統(tǒng)機(jī)密技術(shù)等對(duì)數(shù)據(jù)進(jìn)行加密或認(rèn)證,但其加密過(guò)程算法復(fù)雜、硬件要求較高,無(wú)法滿足低成本、高容量RFID系統(tǒng)的安全要求。為了更好地解決低成本、高容量RFID系統(tǒng)信息安全問(wèn)題,本文創(chuàng)新性地提出結(jié)合云計(jì)算[3]和RBAC[4]策略的多級(jí)RFID安全認(rèn)證協(xié)議,從而多層次、高效率解決RFID系統(tǒng)的安全認(rèn)證問(wèn)題,保證系據(jù)的安全性。
本文提出的認(rèn)證協(xié)議分兩級(jí):認(rèn)證過(guò)程為電子標(biāo)簽與閱讀器之間的安全認(rèn)證過(guò)程;閱讀器與后臺(tái)服務(wù)器之間的認(rèn)證及計(jì)算過(guò)程,認(rèn)證過(guò)程如圖1所示。
圖1 RFID認(rèn)證模型
本系統(tǒng)由云計(jì)算后臺(tái)服務(wù)器、RFID閱讀器、電子標(biāo)簽組成。其中云計(jì)算后臺(tái)服務(wù)器根據(jù)不同場(chǎng)景、不同應(yīng)用級(jí)別分配不同計(jì)算能力;閱讀器與后臺(tái)服務(wù)器之間通信為無(wú)線或有線通信,通信過(guò)程采用綜合加密算法進(jìn)行加密處理(采用RSA算法加密共享秘鑰,采用3DES加密具體通信數(shù)據(jù)),保證數(shù)據(jù)的安全性及不可更改性;閱讀器與電子標(biāo)簽之間采用單項(xiàng)散列函數(shù)算法進(jìn)行加密,保證數(shù)據(jù)不被惡意攻擊。系統(tǒng)初始化階段首先定義每個(gè)閱讀器的RBAC權(quán)限規(guī)則,每個(gè)閱讀器的RBAC規(guī)則可以根據(jù)實(shí)際需求動(dòng)態(tài)調(diào)整。
此處假設(shè)云計(jì)算服務(wù)器能夠提供系統(tǒng)所需的所有計(jì)算能力及時(shí)延要求,具體通信過(guò)程如下:①當(dāng)閱讀器要讀取某個(gè)RFID電子標(biāo)簽時(shí),首先生成一個(gè)隨機(jī)數(shù)SR,并將此數(shù)據(jù)發(fā)送給電子標(biāo)簽。②電子標(biāo)簽收到隨機(jī)SR后,生成一個(gè)時(shí)間戳TT,并將X||TT發(fā)送回閱讀器,其中X=H(IDT||SR),H為單項(xiàng)散列函數(shù),IDT為電子標(biāo)簽ID。③閱讀器初始化認(rèn)證生命周期T。收到電子標(biāo)簽返回的信息后,生成時(shí)間戳TR。如果TT<TR且TR-TT≤T,閱讀器將IDR||X||TR||SR||TT經(jīng)3DES加密后發(fā)送給后臺(tái)云計(jì)算服務(wù)器;如果TT<TR且TR-TT>T,則提示認(rèn)證超時(shí),重新認(rèn)證;如果TT>TR則認(rèn)證失敗,認(rèn)證結(jié)束。④云計(jì)算服務(wù)器收到閱讀器發(fā)給的信息后,將數(shù)據(jù)解密出來(lái),首先根據(jù)閱讀器IDR及RBAC權(quán)限規(guī)則,在其具有閱讀權(quán)限的電子標(biāo)簽ID列表中計(jì)算M=H(IDN||SR),如果有符合M=X的ID,則根據(jù)閱讀器對(duì)應(yīng)該ID的權(quán)限,將授權(quán)信息Message發(fā)送給閱讀器,否則返回認(rèn)證失敗信息。
認(rèn)證流程如圖2所示。
圖2 RFID安全認(rèn)證協(xié)議
隨著技術(shù)的發(fā)展,針對(duì)RFID系統(tǒng)的攻擊也在不斷變化,但是主要集中在假冒攻擊、重傳攻擊、非法閱讀、位置追蹤等攻擊[5],具體分析如下。
假冒攻擊分為兩種:①假冒標(biāo)簽。當(dāng)攻擊者假冒標(biāo)簽A時(shí),標(biāo)簽發(fā)送給閱讀器的信息為單項(xiàng)散列函數(shù)計(jì)算,無(wú)法逆向獲取A的電子標(biāo)簽ID,因此攻擊者無(wú)法發(fā)送有效的信息給閱讀器,攻擊者也就無(wú)法進(jìn)行假冒標(biāo)簽攻擊。②假冒閱讀器攻擊。由于閱讀器與云計(jì)算服務(wù)器之間通信通過(guò)經(jīng)典的加密算法進(jìn)行加密,攻擊者無(wú)法進(jìn)行破解,因此攻擊者的假冒閱讀器無(wú)法與云計(jì)算服務(wù)器進(jìn)行通信,因此本協(xié)議完全可以抵抗多種假冒攻擊。
位置跟蹤可以泄露標(biāo)簽的位置信息,獲取標(biāo)簽的行動(dòng)軌跡。在該系統(tǒng)中,由于每次認(rèn)證電子標(biāo)簽發(fā)送的信息都包含隨機(jī)數(shù),因此攻擊者每次獲取的信息是不一致的,無(wú)法根據(jù)每次截獲的信息確定是同一個(gè)電子標(biāo)簽,因此也就無(wú)法對(duì)電子標(biāo)簽進(jìn)行跟蹤。
重傳攻擊分為兩種:①重傳標(biāo)簽發(fā)送給閱讀器的信息。如果攻擊者截取上次認(rèn)證信息并在之后的某個(gè)時(shí)間重傳,由于此信息有時(shí)間戳TT,閱讀器在收到此認(rèn)證信息后計(jì)算TR-TT>T,生存周期超時(shí),因此認(rèn)證失敗。②重傳閱讀器發(fā)送給云計(jì)算服務(wù)器的信息。由于閱讀器與云計(jì)算服務(wù)器之間通信采用3DES加密,同時(shí)秘鑰采用RSA共享,因此在不泄露秘鑰的前提下。即使獲取了服務(wù)器的返回信息,也無(wú)法解密獲得相關(guān)數(shù)據(jù)。因此該協(xié)議能完全抵抗各種重傳攻擊。
由于協(xié)議認(rèn)證過(guò)程第一步為閱讀器,同時(shí)閱讀器與云計(jì)算服務(wù)器后臺(tái)通信通過(guò)3DES加密,因此攻擊者無(wú)法偽裝成閱讀器進(jìn)行有效的通信。
在系統(tǒng)內(nèi)部,合法閱讀器對(duì)認(rèn)證過(guò)程都能通過(guò),但是根據(jù)RBAC安全策略,不同的閱讀器,對(duì)不同的標(biāo)簽有不同的閱讀權(quán)限。因此合法閱讀器A只能讀取其具有權(quán)限的標(biāo)簽,而無(wú)法讀取其他電子標(biāo)簽的信息。
本文提出了一種基于云計(jì)算和RBAC安全策略的RFID認(rèn)證協(xié)議,在本協(xié)議中采用了簡(jiǎn)單的單項(xiàng)散列函數(shù)作為電子標(biāo)簽的加密方法,能夠有效降低標(biāo)簽的硬件要求。后臺(tái)服務(wù)器采用云計(jì)算平臺(tái),可以將整個(gè)認(rèn)證過(guò)程的計(jì)算部分都遷移到云計(jì)算平臺(tái),有效降低閱讀器的硬件性能。同時(shí),合理設(shè)置RBAC安全策略,可以有效降低閱讀器管理的標(biāo)簽規(guī)模。同時(shí)可以根據(jù)需要,動(dòng)態(tài)靈活地調(diào)整閱讀器的授權(quán)范圍,極大提高整個(gè)認(rèn)證協(xié)議的效率。另一方面,RBAC安全策略的引入,靈活地保護(hù)了電子標(biāo)簽的安全性,彌補(bǔ)了其他此類認(rèn)證協(xié)議的不足。