王 悅 樊 凱
1(西安文理學院信息工程學院 西安 710065) 2 (西安電子科技大學網絡與信息安全學院 西安 710071) (ywang@xawl.edu.cn)
隨著云計算、大數據以及新一代移動通信技術的普及應用,物聯網技術也得以快速發展,該技術可應用的領域也越來越多.物聯網是一種通過信息傳感設備,把任何物品與互聯網相連接,按約定的協議進行信息交換和通信,以實現智能化識別、定位、跟蹤、監控和管理的網絡.無線射頻識別(radio frequency identification, RFID)技術是物聯網的關鍵技術之一,也在諸多物聯網場景中被廣泛應用.RFID是一種非接觸式自動識別技術,具有快速高效等特點,可以快速、實時和精確地識別、采集并處理相關對象的信息.近年來,國內的RFID技術發展迅速,已被廣泛應用于公共交通、自動收費站、社會保障等領域[1].
在票據領域,RFID廣泛應用于獲取電子票據的信息認證和隱私保護等方面,是電子票據應用技術的重要組成部分.通過將RFID技術應用于傳統的票據,電子票據比紙質的標簽能提供更高效、便利的服務[2].但在節約工作成本和提高效率的同時,也帶來了一系列潛在的安全威脅.
在實際應用中,使用RFID技術的電子票據體現了物聯網的智能化識別和檢測.但這一過程存在多種安全問題,比如身份隱私泄露和安全認證等問題.由于電子標簽和讀卡器之間通過無線鏈路來交換數據信息,這種無線通信工作于開放環境中,其固有的脆弱性使得傳輸的數據信息被完全地暴露出來,容易受到外部的干擾和攻擊,使標簽的隱私信息存在極大的安全隱患[3],如攻擊者可以通過跟蹤電子標簽,追蹤用戶的位置,從而泄露用戶的位置信息[4].此外,攻擊者還可以通過竊聽獲取到電子標簽的隱私信息,并對信息分析后進行攻擊,也就進一步影響了后續的安全認證.
RFID的安全問題制約著電子票據系統的發展和應用,解決RFID安全問題的有效手段是引入具有隱私保護的安全認證機制.與此同時,由于電子標簽的計算能力、存儲空間、通信容量、邏輯門的數量和電源供給能力等多方面的資源限制,一些成熟復雜的加密算法不能應用在RFID安全認證系統中,因此輕量級安全認證協議得到了廣泛的應用,也成為了當前電子票據安全認證協議研究的重點.
為解決RFID技術在電子票證中存在的安全問題,通過分析研究,本文提出了一個超輕量級的RFID安全認證方案,使得電子票證的隱私保護和安全認證等方面的需求得以保障.本方案采用計算復雜度較簡單的邏輯運算用于信息的加密,在保障系統信息安全的同時,可以降低計算開銷,能夠更好地適用于無源標簽系統.方案采用時間戳同步升級機制,可有效解決失同步攻擊和重放攻擊等安全問題,并可有效防止信息泄露.另外,為了提高信息匹配的速度,后端數據庫采用時間戳匹配標簽信息的方法,極大地提高了數據搜索效率.
物聯網技術正在快速發展,在不同的應用場景中,人們的安全意識和需求也都在逐步提升.物聯網的安全主要是指保護在其系統中軟硬件的數據免受泄露、篡改、破壞等安全問題,從而使得整個系統穩定、安全且高效地運行.
由于RFID技術在物聯網中應用廣泛,系統應用的安全問題一直以來都是該領域研究人員重點關注的問題.隨著RFID技術的發展,為了進一步擴大輕量級的RFID系統的應用場景和應用領域,一些低成本的RFID安全認證方案先后陸續被提出.早在2003年,文獻[5]就曾基于Hash函數提出過Hash-lock協議.在該方案中,標簽的身份信息是匿名的,盡管如此,匿名化的身份信息在每輪會話過程中是保持不變的,在保護用戶身份隱私的同時,卻失去了抵抗追蹤的能力.該協議整體設計較為簡單,安全防御能力還有待提升.隨后, Hash-chain協議[6]被提出,該協議是基于Hash-lock改進的方案,盡管解決了之前協議的不足,卻也帶來了一些新的安全問題,比如無法抵抗重放攻擊等.
2006年,RFID輕量級安全認證協議SPAP[7]被提出,但該協議不僅不能抵抗重放攻擊,且容易泄露標簽的敏感信息.2007年提出的超輕量級RFID認證協議(SASI)[8]能抵抗重放攻擊,并且提供強認證性和強集成性,卻不能有效抵抗拒絕服務攻擊.一旦有攻擊者反復認證IDS信息,會使數據庫一直處于忙碌狀態,帶來資源消耗嚴重,從而影響正常數據的通信.此外,和SPAP協議相似,SASI協議也容易泄露標簽的敏感信息.2012年,文獻[9]提出了基于時間戳的認證協議,該協議實現了雙向認證.此外,在該協議中,標簽的ID信息在傳送時都經過了Hash運算,可以保證標簽身份的機密性.但是該協議存在一定的缺陷,不能有效抵抗去同步攻擊,甚至在失同步的情況下還會進一步遭受重放攻擊.2013年文獻[10]提出了一個抵抗去同步攻擊的協議,但該協議數據庫中對同一個標簽存儲數據過多且不便于查找.以上這些方案或多或少均存在一些安全不足,因此如何設計更安全、成本更低的方案仍然是當前研究的重點.針對RFID技術在電子票據應用場景中存在的安全問題,本文提出了一種安全高效的輕量級認證方案,可以有效地防止重放攻擊、去同步攻擊等常見的安全威脅,并極大地提高了數據的搜索效率.
一個完善的票證防偽認證系統應當具備匿名訪問、票證防偽、防追蹤等3種基本的特征[11].
1) 匿名性
票證和讀卡器之間是通過無線鏈路來交換數據信息的,而無線通信固有的脆弱性使得傳輸的數據信息完全地暴露出來,容易受到外部的干擾和攻擊,導致一些信息被泄露.而票證中有很多敏感信息,一旦泄露會給用戶造成一定的威脅,如用戶的身份信息、當前位置等.在讀卡器對票證進行讀寫和通信的過程中要對重要信息進行加密,不能出現有關這些數據的明文信息,以保證信道中信息傳輸的機密性.票證在與外界設備的交互過程中也不能直接將自身敏感信息直接傳輸,而是要經過一些匿名處理,實現對票證的隨機化訪問控制,即使攻擊者通過無線信道截獲了交互消息,在未知解密密鑰和解密方法的情況下也無法獲知票證中的重要信息.而在認證的過程中,每次票證請求時,請求消息中的認證標識符都不相同,從而實現了用戶身份的匿名性[12].
2) 票證防偽
RFID技術的票證中都內嵌有獨立的芯片,由于芯片制造過程中產生的差異本身具有不可模仿和復制的特性,所以芯片的復制難度極高,并且芯片內存儲有唯一的ID,結合通信前的相互認證過程,沒有通過認證的票證不能進行下一步操作.芯片ID和雙向認證共同作用使票證具有防偽的功能[13].
一般說來,RFID的安全隱私問題與非法的讀卡器從合法的標簽上讀取重要信息有關.因此,解決RFID安全問題的有效手段是引入安全認證機制.即在電子標簽和讀卡器進行重要信息交換之前先通過一定的手段進行雙向認證,認證通過后才可以進一步操作[14].
3) 防追蹤
由于票證發送的信息中可能包含某種固有的或者有規律的能唯一標識身份的信息,如ID序列號,攻擊者可以根據票證響應讀卡器的響應信息對票證進行跟蹤分析.因此,當用戶沒有改變時,攻擊者就可以通過跟蹤票證追蹤用戶的位置,從而泄露用戶的位置信息[15],因此,在協議交互的過程中不能使用ID的明文信息,需要將ID進行變換,混淆ID信息,防止追蹤.
輕量級RFID電子票據安全認證方案在電子標簽與讀卡器進行有效的數據傳輸前,會先進行雙向認證,只有通過認證后,電子標簽才會把身份信息等數據發送給讀卡器.雙方傳輸的數據信息用異或、置換變換、循環移位等超輕量級邏輯運算進行加密.電子標簽和服務器中存儲有相應的時間戳信息,既可以防止失同步問題的出現,又可以提高檢索效率.在認證的過程中,一旦發現不能匹配的信息,電子標簽、讀卡器和后臺服務器可隨時終止協議.
由于認證期間,只需要傳輸時間戳作為認證的標識,可以很大程度上減少電子標簽的開銷.
在電子標簽向后臺服務器傳輸數據時,沒有直接傳輸明文ID或者ID的部分明文,而是將ID進行加密、變換后再進行傳輸,防止標簽的重要信息泄露.
時間戳的更新分別在電子標簽和服務器中完成,更新后的數據沒有在不安全信道上傳輸,被攻擊者竊聽到的幾率大大減小.
為方便方案描述,協議中需要用到的符號和操作說明如表1所示:

Table 1 Notations表1 符號說明
本方案涉及到3個實體:電子標簽、讀卡器和后臺服務器.讀卡器和服務器之間的數據交互基于有線信道,故而是安全可靠的;而讀卡器和電子標簽之間的數據傳輸是在無線開放環境中進行的,因此是不安全的.
在電子標簽和后臺服務器進行通信的過程中,標簽運算只涉及加法、異或、置換、循環移位4種簡單的位操作.置換變換可以有效地應用在無源標簽上,減少標簽的計算開銷.
2.4.1 置換變換
定義1. 置換變換Per(A,B).假設A,B是2個均為l位長的字符串,且
A=a1a2…al,ai∈{0,1},i=1,2…,l,
B=b1b2…bl,bj∈{0,1},j=1,2…,l,
B中1的個數為m,即:
bk1=bk2=…=bkm=1,bkm+1=bkm+2=…=bkl=0,
其中,1≤k1 例如A=10110101,B=11010110,即可得到Per(A,B)=01001101. 設指針pA和pB分別指向字符串A,B,且同步地從字符串的第1位到最后一位,當pB指向1時,就將pA指向的位取反并復制到第3個字符串中,直到pA,pB都同時指向最后一位,如圖1陰影部分所示.然后pA,pB同時從最后一位向第1位同步移動,當pB指向0時,就將pA指向的位復制到第3個字符串中,直到pA,pB都同時指向第1位,計算結果如圖1所示Per(A,B). Fig. 1 Permutation operation圖1 置換變換 2.4.2 協議步驟 本方案包括2個階段:初始化階段和認證階段. 1) 初始化階段.該階段實現標簽和后臺服務器存儲數據的初始化. ① 標簽的初始化.系統為每個標簽指定唯一的l位長的身份認證信息(Secure ID,SID)和本次認證的密鑰信息Kl.將SID,Kl和時間戳Tl存儲在每個標簽中. ② 后臺服務器的初始化.系統將每個電子標簽的SID信息、Kl和時間戳Tl存儲在后臺服務器Database中,并將上次成功認證的時間戳To和上次成功認證的密鑰Ko置為0. 2) 認證階段.方案的認證過程如圖2所示.協議共分為6步,每一步的認證過程如下所示: ① 讀卡器發送詢問信號.電子標簽接收到詢問信號后,將上次更新的時間戳信息Tl發送給讀卡器,讀卡器將Tl和隨機數R1發送給后臺數據庫. ② 搜索后臺數據庫中保存的時間戳信息.如果Tl匹配到的是上次成功認證的時間戳信息To,那么可能是標簽上次認證未更新時間戳,而密鑰信息是否更新未知,為了保證標簽和數據庫中數據的一致性,將Ko的值賦給Kl;如果Tl匹配到的是更新后的時間戳Tn,則將Kn的值賦給Kl.通過加密運算Per(R1,Kl)對R1進行加密后傳輸. ③ 讀卡器接收到后臺數據庫發送的消息P后,將P發送給電子標簽.標簽通過相應的逆置換變換P-1得到R1,產生隨機數R2,計算V=Per(Kl⊕R2,R1),SID′=Rot(SID⊕V,R2),R′=f(SID′,1,R1)‖f(SID′,R2,l).電子標簽將計算得到的信息V和R′發送給讀卡器. ④ 讀卡器將V和R′發送給后臺數據庫.后臺數據庫從V中得到R2,計算SID′=Rot(SID⊕V,R2),得到f(SID′,1,R1)‖f(SID′,R2,l),將其與標簽發送的數據R′進行比較是否匹配,如果匹配成功,則計算R″=f(SID′,R1,R2),將R″發送給讀卡器.然后更新To←Tl,Ko←Kl,Kn←Rot(Kl⊕R1,R1),Tn←Tl+Per(Kn,R1). ⑤ 讀卡器將R″發送給電子標簽.標簽計算f(SID′,R1,R2),并與R″比較,如果相等,則發送“OK”給讀卡器,然后更新Kl←Rot(Kl⊕R1,R1),Tl←Tl+Per(Kl,R1);否則發送“No find”信息給讀卡器. ⑥ 如果讀卡器收到的是“OK”信息,那么就將信息轉發給后臺數據庫,數據庫將發送SID信息給讀卡器;否則,讀卡器終止協議. 在協議認證的過程中,如果有多個電子標簽同時對讀卡器的詢問信號做出響應,那就會產生干擾,影響認證的進行.因此在本協議中使用BMSA(breadth-first-search m-ary split algorithm)來解決標簽碰撞問題[16]. Fig. 2 Ultra-lightweight RFID electronic ticket authentication scheme in IoT圖2 物聯網中超輕量級RFID電子票據安全認證方案 本文對SPAP協議、SASI協議和本文提出的協議進行了分析比較,3種方案的比較如表2所示.SPAP協議中,電子標簽中的SID信息僅僅通過簡單的取子串和異或的方法就進行發送,一旦被攻擊者竊聽到,就容易泄露相應的ID信息.在SASI協議中,由于ID信息是以明文的形式在無線鏈路中傳輸,因此也容易造成信息泄露.本方案中后臺數據庫是用時間戳信息搜索電子標簽的,標簽的ID信息得到保護.本方案在安全性方面具有7個特點: 1) 標簽匿名且不可追蹤.在整個協議的認證期間,攻擊者能獲取到的值只有Tl,P,V,R′,R″.而Tl只有時間戳的意義,不包含其他有關電子標簽身份的信息.對于系統來說,時間戳只是起到便于后臺數據庫搜索標簽的作用.所以對攻擊者來說,即使截獲了時間戳,也不能最終通過和后臺數據庫之間的認證過程.而P,V,R′和R″均會受到隨機數的影響,也無法追蹤. Table 2 Comparison of Various Authentication Protocols表2 安全認證協議比較 2) 雙向認證.后臺服務器通過Tl和R′實現對電子標簽的認證,電子標簽通過R″實現對后臺數據庫和讀卡器的認證.只有存儲密鑰K的標簽和數據庫才能完成對R′,R″的認證. 3) 防止重放攻擊.攻擊者可能會截獲標簽和讀卡器之間傳輸的消息,但這些消息依賴于每次認證都會更新的密鑰和隨機數.所以即使攻擊者重放消息,也不能通過數據庫和標簽的認證. 4) 防止去同步攻擊.后臺數據庫中不僅存儲當前通信需要的時間戳、密鑰,還存儲著上次認證成功的時間戳和密鑰.防止R″被攻擊者截獲導致標簽更新失敗后合法的標簽不能通過再次認證的問題. 5) 防止隱私泄露.電子標簽和讀卡器間傳輸的信息Per(R1,Kl),Per(Kl⊕R2,R1)是加密后的數據,因為很多對Kl,R1都會得到相同的Per(R1,Kl)值,所以即使攻擊者截獲Per(R1,Kl),也不能計算出隨機數R1和密鑰Kl的值.同理通過Per(Kl⊕R2,R1)也不能得到R1,R2和Kl. 6) 前向安全性.后臺數據庫和電子標簽使用隨機數分別更新時間戳和密鑰信息.因此,即使當前的密鑰泄露,攻擊者也不能推測出以前的密鑰信息. 7) 后向安全性.即使攻擊者獲取到后臺數據庫和電子標簽之間當前傳輸的交互信息P,V,R′和R″,也不能從當前信息中推測出更新電子標簽的信息Kl,因此不能更新假冒標簽的信息. 本文提出的協議只需要標簽進行簡單的邏輯運算、位運算,可大大減少對標簽的軟硬件要求.下面將詳細論述本方案中標簽和后臺服務器的開銷. 1) 標簽的通信開銷.在本協議中,電子標簽只涉及隨機數發生器,簡單的加法+、異或XOR⊕、循環移位Rot、置換變換Per等操作,計算簡單高效. 2) 標簽的存儲開銷.在本協議中,身份信息SID、時間戳Tl、密鑰信息Kl都是l位的,那么標簽共需要3l位的空間存儲信息. Fig. 3 Authentication time versus the number of tags圖3 認證時間和標簽數量的關系圖 本文采用MATLAB軟件對協議進行模擬仿真.圖3和圖4分別對認證時間和攻擊次數進行了仿真,將SASI協議、SPAP協議與本方案進行了分析比較. Fig. 4 The number of attacks versus the length of l圖4 攻擊次數和l長度的關系圖 由圖3可知,隨著數據庫中存儲標簽個數的增加,標簽通過后臺數據庫認證的時間也隨之增加.在后臺數據庫認證標簽的時間開銷方面,本文提出的協議的認證時間較短、認證速度較快,具有較好的性能.由圖4可知,隨著每個標簽中SID,Kl長度的增加,為了獲取標簽的隱私信息需要攻擊的次數也在不斷增加,可見本文提出的協議安全性較高,抵抗攻擊性較強. 物聯網旨在實現萬物相連,將傳統票證電子化也是將其物聯網化的一種應用.針對物聯網中RFID技術在電子票據應用中存在的安全問題,本文對現有的RFID認證方案進行了優化與改進,提出了一種輕量級安全高效的認證方案.該方案實現了電子標簽和讀卡器間的雙向認證,具有機密性和標簽匿名性,可有效抵抗重放攻擊、失同步攻擊,同時具有前向安全性,基本滿足了低成本RFID系統的要求.另外,性能分析和仿真結果均表明,該方案在保證一定安全性的同時,具有較高的性能和較低的資源消耗.

3 安全性分析

4 性能分析


5 仿真分析

6 總 結