張騰達,董 輝
1.安徽新聞出版職業(yè)技術學院,安徽 合肥 230601;2.亳州職業(yè)技術學院,安徽 亳州 236800
射頻識 別(Radio-Frequency Identification,RFID)技術是物聯(lián)網(wǎng)(Internet of Things,IoT)的核心技術之一,在農(nóng)業(yè)、交通、制造及軍事等各領域都有廣泛的應用[1]。RFID系統(tǒng)由閱讀器、標簽及服務器實體組成。服務器存儲有關標簽的所有信息,并通過安全信道與閱讀器連接。通常閱讀器的使用者是可信的,而閱讀器和標簽之間的信息交互是通過天線耦合來完成的,傳輸信道具有開放性,使得傳輸?shù)臄?shù)據(jù)信息極易被截獲和破解,攻擊者通過對閱讀器或標簽進行讀寫操作,來阻止或破壞兩者之間正常通信。另外因標簽只具備有限的計算和存儲能力,使得攻擊者容易對標簽跟蹤、獲取隱私等,造成RFID系統(tǒng)面臨信息泄漏、安全等多種威脅[2],因此如何提高RFID認證協(xié)議的安全性和隱私保護是射頻識別技術研究的熱點之一。本文設計了一種基于循環(huán)組、取模(Mod)和異或運算(ExclusiveOR,XOR)的RFID系統(tǒng)安全認證協(xié)議,在不增加成本的前提下,提高RFID系統(tǒng)的信息隱私性能及安全級別。
為了增強RFID系統(tǒng)的安全性和隱私保護并降低計算復雜度,國內(nèi)外研究人員提出了許多RFID系統(tǒng)相互認證方案。文獻[3]提出了RFID群組認證協(xié)議,該方案不具備不可追蹤性,且無法抵抗交錯攻擊;文獻[4]提出了改進的RFID群組認證協(xié)議,但對標簽的計算能力要求較高;文獻[5]基于傳統(tǒng)密碼學設計了RFID認證協(xié)議,具有良好的安全性,但不適于標簽的低計算能力;文獻[6]提出了一種基于哈希(Hash)函數(shù)的MH認證協(xié)議,實現(xiàn)了RFID協(xié)議安全性與效率的平衡,但M-Hash函數(shù)所需的門電路較為復雜,成本較高;文獻[7]設計了基于串空間模型方法的認證協(xié)議,具有較高的安全性,但增大了空間開銷;文獻[8]基于單向偽隨機函數(shù)的移動RFID系統(tǒng)認證協(xié)議,但該協(xié)議并不適合大規(guī)模的RFID系統(tǒng);文獻[9]提出了一種基于改進的偽隨機函數(shù)的RFID雙向認證協(xié)議,但同樣存在計算力要求較高的問題;文獻[10]設計了基于組對稱密鑰的匿名安全認證,具有較好的隱私級別和安全性,但標簽側空間開銷較高;文獻[11]提出了一種基于Hash函數(shù)和云計算的輕量級RFID群組標簽認證協(xié)議,但協(xié)議復雜度大、硬件實現(xiàn)較難。
針對上述協(xié)議存在的隱私泄漏和安全威脅,本文提出了基于循環(huán)組的RFID相互認證協(xié)議。該協(xié)議只通過簡單的取摸和異或運算,不執(zhí)行隨機數(shù)函數(shù),減小標簽端計算量,實現(xiàn)讀寫器和標簽之間的認證,同時可有效降低標簽的硬件成本,提高運算速度。通過性能分析和仿真實驗,該協(xié)議可有效抵抗追溯攻擊、重放攻擊、去同步攻擊、中間人攻擊、偽造攻擊等。
假設G是一個非空集合,運算符*把G中任意兩個元素組合成一個新的元素。如G遵守集合運算定律,則集合G與運算符*一起是一個組,G中的元素總數(shù)用|G|表示。設H是G組的一個子集,則稱H是G的一個子組。
定義1循環(huán)組:若存在元素a∈G,使得G=={an|n∈Z}成立,則G稱為循環(huán)組,元素a稱為循環(huán)組G的生成器。
1)假設G=是n階循環(huán)組。如果Gcd(k,n)=1(Gcd為最大公約數(shù)運算符),則G=
3)假設G=是n階循環(huán)組,則G的任何子組的順序都是n的約數(shù)。
4)對于n的每個正約數(shù)k,組G恰好具有由
在該系統(tǒng)模型中,由于閱讀器和服務器之間的通信信道彼此信任,為簡單起見,可把閱讀器和服務器組合成一個實體看作閱讀器[12]。
本文基于循環(huán)組的特征,在此構建了RFID系統(tǒng)模型。選擇n階循環(huán)組G=并找到它的一些子組Hi=
1)SendTag(Msg,Tji)→Msg1:攻擊者可以向標簽Tji發(fā)送消息Msg,標簽Tji以消息Msg1響應。
2)SendReader(Msg,R)→Msg2:攻擊者向給閱讀器R發(fā)送消息Msg,R回復消息Msg2。
攻擊者通過此查詢能夠訪問標簽存儲器中的數(shù)據(jù)。
表1 RFID服務器查找表Tab.1 RFID server look-up table
為了便于描述,下面給出協(xié)議中所用到的標識符及含義說明,如表2所示。
表2 協(xié)議中的符號及含義Tab.2 Symbols and meanings in proposed protocols
標簽進入閱讀器的閱讀范圍后,閱讀器向標簽發(fā)送信號“Hello”,發(fā)起驗證,開啟認證過程。
標簽Tki計算,并生成請求消息Mg1={i,α},標簽將Mg1發(fā)送給閱讀器R。
閱讀器R收到標簽的請求消息Mg1后,根據(jù)表1閱讀器,使用i作為索引對所有子組執(zhí)行以下步驟,直到找到正確的標簽。
圖1 相互認證協(xié)議流程Fig.1 Flowchart of mutual authentication protocol
閱讀器生成2個隨機數(shù)mR1和mR2,并計算β=mR1? Kki及 γ=mR2? Kki,其中 Kki是標簽 Tki的密鑰。閱讀器生成消息Mg2={β,γ}并將其發(fā)送到標簽。
在接收到閱讀器發(fā)送消息Mg2時,標簽Tki利用其密鑰Kki分別從 β和 γ中提取出mR1和 mR2,并計算,生成消息Mg3={δ}發(fā)送給閱讀器。
在接收到消息Mg4時,標簽Tki從ζ中提取mR3并計算標簽檢查η'是否等于接收的η。如果是,則標簽認證閱讀器成功,并更新mR4=mR3,否則認證失敗,本輪會話終止,進入下一輪認證過程。
3.1.1 隱私及隱私實驗模型 根據(jù)文獻[13],RFID系統(tǒng)隱私可用式(1)表示:
實驗中攻擊者的主要目標是在計算和交互限制中識別兩個不同的標簽,如果攻擊者沒有明顯的優(yōu)勢,則認為RFID認證協(xié)議是安全的。攻擊過程分為以下3個階段:
初始階段:攻擊者A與系統(tǒng)S交互,在不超過其界限的情況下查詢系統(tǒng)標簽數(shù)據(jù)庫并對其進行分析。
攻擊階段:A從數(shù)據(jù)庫獲得的標簽集合中任意選擇兩個未損壞的標簽。并隨機選擇其中的一個,攻擊者獲取并分析該標簽上的數(shù)據(jù)。
估算階段:A輸出估算位b。如果估算成功,則應b=1,否則b=0。
基于匿名集的隱私級別ρ被表征為用標簽總數(shù)N標準化的平均匿名集大小[11],如式(2)所示:
如果攻擊者將具有N個標簽的系統(tǒng)劃分為k個不相交集,則信息泄漏Π可以表示為式(4):
在所提出的協(xié)議中,根據(jù)上文分區(qū)集,結合等式(4),信息泄漏Π可以表示為式(5):
證明假設提出的協(xié)議不能保護RFID系統(tǒng)信息隱私。則攻擊者贏得實驗的成功概率是不可忽視的。攻擊者A的隱私攻擊過程分為如下3個階段:
A通過DrawTag查詢發(fā)送信息到標簽Ti,在不超出其計算范圍的情況下分析標簽數(shù)據(jù)。A可以使用Corrupt查詢來處理最多n-2個標簽。執(zhí)行步驟如下
攻擊階段:攻擊者A從DrawTags查詢獲得的標簽中任選兩個未損壞的標簽,例如Ti和Tj,作為攻擊標簽,令b∈{i,j}。隨機選擇其中的Tb并分析在其上運行SendTag查詢。執(zhí)行步驟如下:
攻擊階段:攻擊者選擇兩個未損壞的標簽Ti和Tj,并向他們發(fā)送Corrupt查詢。A隨機選擇Tb:b∈{i,j}。攻擊者將對查詢到標簽Tb進行評估。
表3 計算成本和性能比較Tab.3 Comparison of cost and performance of computation