夏永祥,史志才,2,張 瑜,戴 建
(1.上海工程技術大學 a.電子電氣工程學院;b.中韓多媒體設計學院,上海 201620;2.麥考瑞大學計算機系,悉尼 2109)
隨著物聯網技術的推廣應用,作為重要的感知技術之一的射頻識別(Radio Frequency Identification,RFID)技術得到了廣泛關注,目前已被廣泛應用于制造、供應鏈、農業、運輸、健康、交通等領域[1]。然而,因RFID技術的簡單、開放等特點使得RFID系統的隱私保護和安全性受到了嚴峻挑戰,如競爭對手非法收集未受保護的RFID系統信息,使用偽造標簽發送錯誤信息等;另一方面,用戶希望保護標簽所標識信息的隱私性。然而,在一定距離內的讀寫器可以輕易讀出未受保護標簽中的信息,跟蹤所標識的產品,甚至識別攜帶標簽產品的個人。由此可見,隱私保護是RFID系統得以應用的前提,而授權和認證技術就是實現隱私保護的有效方法。通過認證協議可使合法的通信對象相互識別和承認對方的身份,防止非授權用戶或者非法用戶的訪問。由于當前處于主流的RFID產品是價格低廉的標簽,這些標簽存儲、計算資源有限,難以支持高強度的加密操作,因此研究資源受限條件下的認證協議是非常必要的。本文結合輕權加密算法,提出一種具有一定加密強度的輕權RFID認證協議,以滿足資源受限條件下的RFID系統的特殊需求。
一個RFID系統包括3個組成部分:射頻標簽,射頻讀寫器和后端服務器,如圖1所示。

圖1 RFID系統的組成
標簽是一塊具有天線和少量存儲計算資源的硅片,其中存儲有該芯片的唯一標識碼,該標識碼也稱為EPC(Electronic Product Code)碼。讀寫器是一個以射頻信號形式發送和接收信息的設備,它對標簽中存儲的信息進行讀寫,以有線或者無線的方式與后端服務器進行通信,相互交換信息。后端服務器中存儲有與標簽相關的大量信息,負責完成安全認證、數據處理等復雜工作。
對于一個RFID系統,標簽往往是決定系統功能和特點的最有特色的一個重要組成部分。目前有2種標簽:主動標簽和被動標簽。主動標簽內置有給標簽供電的電池,能夠在較大的范圍內發送和接收信息。被動標簽是一種無源標簽,它內部沒有供電電池,需要通過讀寫器發射的射頻信號感應出供電電壓,因而只能在較小的范圍內發送信息。由此可見,由讀寫器到標簽的前向通道和由標簽到讀寫器的后向通道是不對稱的;這兩個通信信道是開放的,因而是不安全的,RFID系統的安全問題大都是由這兩個不安全的信道引起的。此外,本文假設后端服務器和讀寫器的資源豐富,可以支持高計算強度的加密等操作,因此,假設讀寫器與后端服務器間的通信信道是安全的。
為了滿足RFID安全應用的廣泛需求,目前已經提出了許多種RFID安全協議。文獻[2]提出了Hash-Lock協議,為了避免信息泄露和被追蹤,該協議使用metaID來代替真實的標簽ID,但是缺乏ID動態刷新機制,ID以明文形式傳送,并且metaID一直保持不變,因此非常容易受到假冒攻擊和重傳攻擊,攻擊者也可以很容易地對標簽(Tag)進行追蹤。文獻[3]對協議進行了改進,提出了隨機化Hash-Lock協議,它采用了基于隨機數的詢問-應答機制,但同樣也無法抵抗假冒攻擊和重傳攻擊[4]。文獻[5]提出了LCAP協議,它每次執行之后都要動態刷新標簽的ID;在認證過程中,標簽是在接收到最后一條消息且驗證通過之后才更新其ID,而在此之前,后端數據庫已經成功完成相關ID的更新;因此,存在數據庫不同步的安全隱患。文獻[6]提出了基于散列樹的認證方案,像多數基于散列樹方案一樣,每個標簽的計算量不是常數,而是標簽數量的對數。而且如果一個標簽被攻陷,散列樹中其他標簽的匿名性就可能被破壞[7]。文獻[8]提出的YA-YRAP協議使用了時間戳,雖然有效地降低了復雜性,但是時間戳的使用使得標簽易受到導致標簽長久失效的拒絕服務攻擊。針對RFID的受限條件,文獻[9]提出了一個輕權認證協議,能夠實現標簽和讀寫器間的認證,其中涉及查表操作,當鍵列表很長時導致協議的效率降低。文獻[10]基于最小列表和索引隨機數的思想,提出一個輕權認證協議,它將標簽中存儲的鍵值分成4個部分,每一部分在認證成功后立即更新;但是該協議對于Desynchronization Attack非常脆弱[11]。文獻[12]提出了一個保護用戶隱私和防止標簽克隆的認證協議,該協議也采用了詢問-應答機制和哈希函數,但是在有效會話期間,標簽ID一直保持不變,很容易受到跟蹤攻擊和拒絕服務攻擊。輕權認證協議系列LMAP、M2AP和EMAP因僅使用邏輯位操作和模2加而取得了較高的效率,Peris-Lopez證實了這些協議能夠抵抗中間人攻擊、重放攻擊和偽造攻擊,但是不能抵抗針對交換信息的位操作攻擊[13]。文獻[14]提出了基于AES與NTRU的RFID安全認證協議,使用2種不同的加密算法而導致加密需要的計算和存儲資源過大。文獻[15]提出一種基于NTRU公鑰加密系統的RFID認證協議,采用鍵值更新防止跟蹤,因而仍存在受到同步攻擊的隱患;同時一次認證標簽需要進行兩次加密操作,計算強度較大。文獻[16]利用NTRU公鑰密碼系統產生共享公鑰密碼K,同時對共享密鑰進行Hash運算,計算強度較大。
由上述分析可見,目前針對RFID的認證協議并不完備,有些協議在交換信息時缺乏動態刷新機制,很容易受到跟蹤;有些協議通過動態刷新避免了跟蹤攻擊,但是在后端服務器和標簽中的刷新不一致又難以抵抗同步攻擊;有些協議通過簡單操作實現了認證功能,但是沒有真正建立起密碼學意義上的安全性。本文通過引入輕量級的公鑰密碼體制NTRU以及數據更新機制,設計一種占用資源少、確保安全性和隱私性的RFID相互認證協議。
基于公鑰密碼體制的認證協議已被證明具有最強的安全性和隱私性[17]。在所有的公鑰密碼體制中,NTRU(Number Theory Research Unit)是一個輕量級的加密算法,它僅需少量的計算和存儲資源,而且運行速度快。采用該加密體制僅需要6000個邏輯門電路就可以實現加密操作,完全能夠滿足RFID系統的安全需求[18]。
在下面設計的認證協議中,本文通過NTRU公鑰體制加密在讀寫器和標簽之間交換的所有信息,從而確保RFID系統的保密性和隱私;通過保證每次在讀寫器和標簽之間交換信息的不同,確保交換信息的新鮮性以使系統具有抵抗跟蹤、重放等攻擊的能力。通信信息經過加密之后,其保密性取決于私鑰的保密性,因為加密算法是公開的,只要私鑰安全那么通信就安全,與ID等其他因素無關。即使攻擊者通過物理讀寫的方式掌握了標簽的ID,該認證協議仍然是有效的。所以該算法是可行的,文獻[14]在RFID中實現了AES和輕權加密算法,但需要的片上資源比本文算法還要多。認證協議中所使用的符號如表1所示。

表1 認證協議中使用的符號及其含義
假設每個標簽由唯一的標識符ID所標識。在初始狀態下,每個標簽存有其標識符ID、H(ID)和kpu,其中,H(ID)是標識符ID的哈希值;后端服務器中存儲每個標簽的ID和對應的H(ID)以及kpr。標簽內存有2個函數供調用,一個是NTRU加密函數 Ekpu(),另一個是偽隨機數生成函數PRNG()。后端服務器中存儲有NTRU解密函數 Dkpr(),讀寫器中存儲有偽隨機數生成函數PRNG()。
尼采曾經說過:“用生命力的蓬勃興旺戰勝人生的悲劇性質,這本身就是人生的意義所在?!薄都t高粱家族》通篇以一個小男孩的口吻講述“我爺爺”“我奶奶”的故事,在高粱地里,莫言呈現的是對生命的肯定,高粱地里男男女女拋開世俗的面具,豁達狂野地享受著生命;在中華民族抵抗外辱的戰爭年代,莫言描寫的是生存在高密黑土地之上的普通鄉親對抗敵人入侵的淳樸態度和生命之氣,悲壯地詮釋了民族血性靈魂里那股原始蠻橫的激情和力量。莫言在小說中使用的怪誕寫法使得肯定生命這一主題發揮了強大的震撼力和積極意義??嚯y和痛苦磨煉了人的意志,激發了生機,解放了心靈,從而創造了生命的美麗、崇高和偉大。
讀寫器與標簽間的相互認證過程描述如下:
步驟1讀寫器→標簽
讀寫器生成一個對標簽的認證請求query,并調用函數PRNG()生成一個隨機數Rr,然后讀寫器發送消息query||Rr給標簽。
步驟2標簽→讀寫器
標簽調用函數PRNG()生成一個隨機數Rt,然后調用加密函數 Ekpu()加密 ID⊕Rt⊕Rr,形成消息m0=Ekpu(I D⊕Rt⊕ Rr)和m1=m0||Rt,然后標簽將m1發送給讀寫器。
步驟3讀寫器→后端服務器
讀寫器用接收到的信息m1形成消息m2=m1||Rr,然后將m2發送給后端服務器。
后端服務器從m2中提取出m0=Ekpu(ID⊕ Rt⊕ Rr),然后使用其私鑰kpr和解密函數 Dkpr()解密,得到ID⊕Rt⊕Rr,再與Rt和Rr進行異或運算進而提取出ID。后端服務器到數據庫中查找與ID對應的記錄。如果服務器找到了對應的記錄它就通知讀寫器該標簽是合法的,然后服務器用m0和與ID對應的H(ID)進行異或運算形成m3,即m3=m 0 ⊕H(I D),并發送m3給讀寫器;如果服務器沒有找到對應的記錄,它就通知讀寫器該標簽是非法的,然后結束認證過程;上述2種情況完成了讀寫器對標簽的認證。
步驟5讀寫器→標簽
讀寫器將m3與Rr進行異或運算形成消息m4=m3⊕Rr,并發送m4給標簽;與Rr進行異或運算的目的是通知標簽該消息仍然是本次認證過程中由本讀寫器發出的一個有效消息。標簽接收到m4后,用m4與自己的H(ID)以及Rr進行異或運算形成消息m5,即m5=m 4 ⊕ H(I D)⊕ Rr=Ekpu(ID⊕ Rt⊕ Rr)。然后標簽將m5和步驟2中生成的m0進行比較。如果它們相同則標簽就認為該讀寫器是合法的,否則標簽認為該讀寫器是非法的,拒絕該讀寫器的訪問。這一步完成了標簽對讀寫器的認證。
密鑰分發是公鑰體制的一個重要問題,本文僅在服務器端存儲一個密鑰對,公鑰是公開的,各個RFID標簽采用后端服務器的公鑰加密消息給讀寫器和服務器,服務器用存儲在本地的私鑰進行解密,在標簽端僅存儲服務器的公鑰,而該公鑰是公開的,所以,不涉及到密鑰的分發。
通過上述認證過程可以看出,本文協議的標簽和讀寫器均要完成一次隨機數生成操作;此外,標簽還需完成一次加密操作,后端服務器還需完成一次解密操作;而異或操作僅涉及位運算,相對簡單;顯然,該認證協議的計算強度明顯小于文獻[14-15]所提出的認證協議,其性能對比具體如表2所示。
協議的安全性分析如下:
(1)竊聽:整個認證期間,在標簽、讀寫器/后端服務器間傳輸的有關標簽ID的消息均是經過加密處理的,攻擊者盡管可以對標簽和讀寫器間的通信信道進行竊聽,但所獲得的消息均是加密的數據,它無法解密,所以無法從中得知有關標簽的任何信息,從而有效防止了RFID系統秘密信息的泄露。
(2)位置檢測和跟蹤:對于一個RFID系統而言,若標簽在每次會話過程中均傳輸一個固定的消息,攻擊者根據該消息就可以跟蹤標簽的位置,因而容易受到跟蹤攻擊。為了防止上述攻擊的發生,通過隨機數生成、各種信息的組合以及異或和加密操作使得標簽和讀寫器乃至與后端服務器間每次會話交換的消息均不相同,有效保證了會話消息的新鮮性,使得攻擊者無法從獲得的數據中推測出該數據是來自于哪個標簽。
(3)重放攻擊:這種攻擊是指重新發送通過竊聽得到的消息對RFID系統進行攻擊。由于每次認證過程中,讀寫器和標簽均生成一個新的隨機數,使得各次認證過程中交換的信息均不相同,所以盡管攻擊者獲得了某次會話的消息并在一定時間后進行重放,但此時該消息已經失去了意義。
(4)后向追蹤:由于每次認證標簽和讀寫器均產生一對與上次認證不相關的隨機數,而且會話過程中傳遞的均是經過加密后的消息,這些因素使得攻擊者無法從獲得的信息中推測出系統上一次的認證行為。所以該認證協議具有前向安全性。
(5)匿名性:系統將其標簽的ID或者ID的哈希值與隨機數進行異或、加密運算然后再進行傳輸,確保了標簽的匿名性。同時后端服務器發送給讀寫器和標簽中的信息中盡管也包括了標簽的ID,但是經過了加密和異或操作,這些因素使得標簽的ID不可能被解密和利用。
業界普遍認為標簽的安全和隱私保護是決定RFID系統性能和成本的關鍵因素。針對計算存儲資源受限條件下RFID系統的安全應用問題,本文提出了一個基于公鑰密碼體制NTRU的輕權相互認證協議。NTRU協議是一個輕權加密協議,其實現僅需要較少的計算和存儲資源,非常適合應用于計算存儲資源受限條件下的RFID系統。該認證協議通過信息加密操作確保認證過程中信息的保密傳輸和隱私性。通過分析證實,本文所提出的RFID相互認證協議能夠抵抗竊聽、位置追蹤、重放、反向跟蹤等攻擊,而且標簽僅需提供輕權加密和隨機數生成操作,非常適合應用于計算、存儲資源受限條件下的RFID系統。
[1]Nambiar A N.RFID Technology:A Review of Its Applications[C]//Proc.of World Congress on Engineering and Computer Science.San Francisco,USA:[s.n.],2009:1-7.
[2]Sarma S E,Weis S A,Engels D W.Radio-frequency Identification:Secure Risks and Challenges[J].RSA Laboratories Cryptobytes,2003,6(1):2-9.
[3]Weis S A,Sarma S E,Rivest R L,et al.Security and Privacy Aspects of Low-cost Radio Frequency Identification Systems[C]//Proc.of the 1st International Conference on Security in Pervasive Computing.Boppard,Germany:IEEE Press,2004:201-212.
[4]周永彬,馮登國.RFID安全協議的設計和分析[J].計算機學報,2006,29(4):581-589.
[5]Lee S M,Hwang Y J,Lee D H.Efficient Authentication for Low-cost RFID Systems[C]//Proc.ofICCSA’05.Berlin,Germany:Springer-Verlag,2005:619-627.
[6]Molnar D,Soppera A,Wagner D.A Scalable,Delegatable Pseudonym Protocol Enabling Ownership Transfer of RFID Tags[C]//Proc.of Workshop on Selected Areas in Cryptography.Berlin,Germany:Springer-Verlag,2006:276-290.
[7]Le T V,Burmester M,Medeirosde B.Universally Composable and Forward Secure RFID Authentication and Authenticated Key Exchange[C]//Proc.of the 2nd ACM Symposium on Information,Computer and Communications Security.New York,USA:2007:242-252.
[8]Tsudik G.YA-TRAP:Yet Another Trivial RFID Authentication Protocol[C]//Proc.of the 4th Annual IEEE International Conference on Pervasive Computing and Communications Workshops.Pisa,Itlay:IEEE Press,2006:640-651.
[9]Stephen A.Security and Privacy Aspects of Low-Cost Radio Frequency Identification Systems[C]//Proc. of the 1st Conference on Security in Pervasive Computing.Boppard,Germany:Spring-Verlag,2004:201-212
[10]Peris-Lopez P,Estevez-Tapiador J M,Hernandez-Castro J,et al.EMAP:An Efficient Mutual-authentication Protocol for Low-Cost RFID Tags[C]//Proc.of OTM Workshops.Berlin,Germany:Springer-Verlag,2006:352-361.
[11]LiTieyan,Wang Guilin.Security Analysis of Two Ultra-Lightweight RFID Authentication Protocols[C]//Proc.of IFIP SEC 2007.Sandton,South Africa:[s.n.],2007:109-120.[12]Dimitriou T.A Lightweight RFID Protocol to Protect Against Traceability and Cloning Attacks[C]//Proc.of Conference on Security and Privacy for Emerging Areas in Communication Networks.[S.l.]:IEEE Press,2005:59-66.
[13]Li Tieyan,Wang Guilin,Deng R H.Security Analysis on a Family of Ultra-lightweight RFID Authentication Protocols[J].Journal of Software,2008,3(3):1-10.
[14]姚華楨,劉傳菊.基于AES與NTRU的RFID安全認證協議[J].計算機應用與工程,2012,48(35):80-84.
[15]李 斌,凌 力.一種基于NTRU公鑰加密系統的RFID認證協議[J].計算機應用與軟件,2012,29(4):278-280.
[16]馮 軍,潘 郁.基于共享密鑰的RFID認證協議[J].自動化儀表,2012,33(6):49-52
[17]Kaya S V,Sava E.Public Key Cryptography Based Privacy Preserving Multi-context RFID Infrastructure[J].Ad Hoc Networks,2009,7(1):136-152.
[18]陳 劍,張 春.低功耗RFID的公鑰密碼系統實現[J].半導體技術,2009,(9):890-894.