尹 平,李群祖
(1.西北工業(yè)大學(xué) 計算機學(xué)院,陜西 西安 710129;2.解放軍93926部隊 新疆 和田 848000)
射頻識別技術(shù)(Radio Frequency Identification)的基本原理是利用空間電磁波進行通信,以達到自動識別識對象,獲取相關(guān)信息的目的。
RFID技術(shù)優(yōu)點明顯,可以應(yīng)用于眾多領(lǐng)域。在物聯(lián)網(wǎng)領(lǐng)域中,RFID是一項關(guān)鍵技術(shù)。當前,RFID安全認證協(xié)議是很多從業(yè)人士研究重點[1-2]。
EPC global是歐洲和美國聯(lián)合推出的一種面對RFID行業(yè)的標準[3]。該標準規(guī)定的標簽是低成本的,計算能力有限[4],標簽無法從硬件方面實現(xiàn)Hash函數(shù)等常用的安全機制。
EPC global提出的標準協(xié)議[5],具有明顯的安全漏洞。諸多相關(guān)人士針對其安全方面的不足提出安全有效的雙向認證協(xié)議[6]。chen等人提出一種基于EPC C1G2標準的雙向認證協(xié)議[7]。該方式在認證過程中使用CRC機制對EPC碼進行保護。但是,Chen的協(xié)議效率較低,且存在閱讀器假冒等問題。Yeh等人[8]的協(xié)議里設(shè)定了一個動態(tài)索引增加數(shù)據(jù)庫查找速率。相對Chen的協(xié)議,Yeh提出的協(xié)議在工作效率方面有了顯著的提高,但是相應(yīng)的安全問題也隨之而來[9]。
提出的協(xié)議增設(shè)了動態(tài)索引IDS和私人密鑰SK。文中使用的輕量級的加密函數(shù)F可以通過PUF[10](PhysicalUnclonable Function)電路和 LFSR(Linear Feedback Shift Register)電路來實現(xiàn)。完整的協(xié)議流程分初始化、標簽認證、秘密更新、所有權(quán)轉(zhuǎn)移4個階段。
表1 協(xié)議所用參數(shù)Tab.1 Param eter of the protocol
初始化設(shè)置時,生產(chǎn)商使用K0、IDS0和SK0這3個隨機選取的秘密值,把這些值寫入標簽 Ki=K0,IDSi=IDS0,SKi=SK0。數(shù)據(jù)庫中也存儲相應(yīng)的信息IDSold=IDSnew=IDS0,Kold=Knew=K0,SKN=SKL=SK0。
標簽認證過程如圖1所示。
圖1 認證過程圖Fig.1 Structure diagram of the authentication process
1)閱讀器生成隨機數(shù)RR,發(fā)送給標簽。
2)標簽收到隨機數(shù)RR,隨后生成隨機數(shù)RT。標簽計算:
標簽把(M1,M2,M3,IDSi)發(fā)送給閱讀器。
3) 閱讀器收到數(shù)據(jù)后,把(M1,M2,M3,IDSi,RR,RID)發(fā)送給后端數(shù)據(jù)庫。
4)后端數(shù)據(jù)庫收到后,首先檢驗RID是否和數(shù)據(jù)庫內(nèi)的RID一致。如果一致,說明閱讀器是合法的。數(shù)據(jù)庫通過動態(tài)索引IDSi來查找對應(yīng)的Ki和EPCS。數(shù)據(jù)庫的索引值存在IDSi=IDSold或者IDSi=IDSnew兩種情況。數(shù)據(jù)庫根據(jù)動態(tài)索引IDSP找到相應(yīng)的EPCS和接入密碼KP(P=old或者P=new)。
數(shù)據(jù)庫找到EPCS后,檢查其標志位flag。如果flag=1,說明后端數(shù)據(jù)庫和標簽的私人密鑰更新情況一致,即SKN=SKi,數(shù)據(jù)庫用SKN對標簽進行驗證。如果flag=0,數(shù)據(jù)庫分別用SKN和SKL對標簽進行驗證:
如果上述兩個等式都不成立,說明標簽是非法的,進行錯誤處理。如果flag=0時,等式(5)成立,說明后端數(shù)據(jù)庫未收到標簽私人密鑰更新成功的通知,數(shù)據(jù)庫把flag置1;如果等式(6)成立,說明后端數(shù)據(jù)庫與標簽的私人密鑰更新不一致,flag保持不變。上述兩個等式任一成立,后端數(shù)據(jù)庫對標簽的驗證通過。后端數(shù)據(jù)庫把標簽相應(yīng)的其他信息Info(T)發(fā)送給閱讀器。如果不進行秘密更新,認證協(xié)議執(zhí)行完畢,否則轉(zhuǎn)到秘密更新階段。
秘密更新階段如圖2所示。
圖2 秘密更新過程圖Fig.2 Structure diagram of the secret update
1)舊的標簽所有者A為了保護個人隱私,設(shè)定一個新的私人密碼(SK′和臨時身份標識RIDA)來代替以前的密碼和身份標識。A使用閱讀器通過安全通道把(SK′,RIDA)發(fā)送給后端服務(wù)器。
2) 后端服務(wù)器收到(SK′,RIDA)后,首先檢查:
如果等式(7)成立,說明動態(tài)索引值無誤。后端數(shù)據(jù)庫對接入密碼和動態(tài)索引進行如下更新:
如果 P=new,Kold=Knew,Knew=F(Knew);IDSold=IDSnew,IDSnew=F(RR⊕RT)。
如果 P=old,IDSnew=F(RR⊕RT)。
然后,后端數(shù)據(jù)庫對身份標識、私人密鑰及標志位進行更新:
接著,數(shù)據(jù)庫計算:
后端數(shù)據(jù)庫把(M4,M5)發(fā)送給閱讀器。
3) 閱讀器把(M4,M5)發(fā)送給標簽。
4)標簽接收到后,先計算:
然后驗證:
如果等式(11)成立,標簽進行秘密更新:
標簽計算:
如果等式(11)不成立,標簽不進行更新操作,并且計算:
不論是否進行秘密更新,標簽都把M6發(fā)送給閱讀器。
5)閱讀器收到后,把M6發(fā)送給后端數(shù)據(jù)庫。
6)后端數(shù)據(jù)庫收到M6后, 檢驗 M6=F (EPCS⊕SKi+1⊕())是否成立。如果成立,把flag置1,否則不變。
舊的用戶A為了保護自己隱私和信息安全,通過標簽認證和秘密更新將私人密鑰SKi和身份標識RID更改為SK′和RIDA。 雙方可以使用對稱密碼的數(shù)字簽名協(xié)議[11]。
圖3 所有權(quán)轉(zhuǎn)移過程圖Fig.3 Structure diagram of the ownership transfer
1)A和B在公證機構(gòu)AS處協(xié)商得到共享密鑰KC,A在公證機構(gòu)AS存儲私人密鑰KA。A用KA制作數(shù)字簽名SGKA=EKA(SK′,RIDA,Info(T)), 然后得到 EKA(IDA,SGKA,IDB)。 A 把該消息發(fā)送給AS。
2) AS 收到 EKA(IDA,SGKA,IDB),用 KA解密該消息,得到IDA、IDB和 SGKA, 確認消息來自 A。AS用 KC加密得到 EKC(SK′,RIDA, Info(T),IDA,SGKA),并把該消息發(fā)送給 B。
3) B 收到后,用 KC解密該消息,得到 SK′,RIDA,Info(T),IDA,SGKA。新用戶B不知道KA,無法解密和修改SGKA。B把SGKA保存。 如果 A 抵賴,B 可以出示(SK′,RIDA,Info(T), SGKA)。
4)B獲得標簽所有相關(guān)信息后,應(yīng)立即修改密鑰和身份標識以防止舊的用戶繼續(xù)控制標簽或者獲取一些新用戶的相關(guān)信息。B先利用A的臨時身份標識RIDA在認證階段驗證標簽的合法性,在秘密更新階段使用新的私人密鑰SK′′和其閱讀器的標識RIDB來更新標簽和數(shù)據(jù)庫內(nèi)的信息,以此來完全控制標簽。所有權(quán)轉(zhuǎn)移后,B完全擁有了對標簽的控制權(quán),而A無法對標簽進行讀寫及其他操作。
1)標簽假冒 攻擊者冒充標簽進行認證,后端數(shù)據(jù)庫在檢驗動態(tài)索引IDSi時就能檢驗出該標簽是非法的。
2)離線字典攻擊 為避免攻擊者進行離線字典攻擊,認證過程使用多個密鑰和隨機數(shù)進行數(shù)據(jù)處理。攻擊者很難使用離線字典序方式獲取真實的數(shù)據(jù)。
3)前向安全性 認證過程中,標簽和閱讀器分別生成隨機數(shù),保證了數(shù)據(jù)的匿名通信。攻擊者無法從截獲或偷聽到的數(shù)據(jù)中得出標簽的真實信息,因此保證了數(shù)據(jù)的前向安全性。
4)克隆攻擊 在認證過程中,攻擊者無法完全得知標簽的信息,進行標簽克隆。
5)竊聽攻擊 每次的認證過程,標簽和閱讀器都要生成隨機數(shù)。用戶數(shù)據(jù)與隨機數(shù)以及密鑰結(jié)合之后進行傳輸。攻擊者無法對標簽進行竊聽。
6)拒絕服務(wù)攻擊 攻擊者使用拒絕服務(wù)攻擊來干擾系統(tǒng)的通信,造成標簽與后端數(shù)據(jù)庫的更新不一致,導(dǎo)致數(shù)據(jù)庫與標簽的去同步化。由于數(shù)據(jù)庫保存的密鑰和索引有new和old兩種,即使標簽未完成密鑰和索引更新,還是可以在下一次的認證過程中找到與之匹配的密鑰和索引。
7)雙向認證 在改進協(xié)議中,標簽、閱讀器、服務(wù)器通過嚴密的相互認證,保證了各組件的合法性,確保了用戶數(shù)據(jù)在認證過程中的安全。
8)所有權(quán)轉(zhuǎn)移 在所有權(quán)轉(zhuǎn)移后,新的用戶通過認證和秘密更新來實現(xiàn)對標簽的完全擁有。在所有權(quán)轉(zhuǎn)移過程中,舊的擁有者制作了數(shù)字簽名給新的擁有者。一旦舊的擁有者抵賴或者反悔,新的擁有者可以以此作為證據(jù)。
9)匿名通信 標簽和閱讀器產(chǎn)生偽隨機數(shù),保證了信道里的信息是匿名的。
10)授權(quán)訪問 改進協(xié)議使用RID對閱讀器的身份進行標識。后端數(shù)據(jù)庫在認證開始時要對閱讀器進行身份標識信息檢查,只有合法的閱讀器所傳輸?shù)臄?shù)據(jù)才能通過檢測。
表2 協(xié)議的安全比較Tab.2 Comparisons of protocol security
由表2可見,Chen的協(xié)議無法抵御假冒攻擊,無法實現(xiàn)數(shù)據(jù)的前向安全性和后向安全。Yeh的協(xié)議無法避免離線字典攻擊方式,還面臨假冒攻擊方式和去同步化的風(fēng)險。提出協(xié)議具有較好的安全性能,可以防范多種攻擊方式。通過授權(quán)訪問方式避免了閱讀器和標簽假冒。通過使用隨機數(shù)保證了數(shù)據(jù)的匿名通信和前向安全性。后端數(shù)據(jù)庫里存儲的兩套密鑰保證了數(shù)據(jù)庫與標簽的同步。標簽認證和秘密更新后,新舊用戶通過所有權(quán)轉(zhuǎn)移過程實現(xiàn)了數(shù)據(jù)的后向安全。綜上,提出的協(xié)議擁有良好的安全性能,可以滿足用戶的安全需求。
RFID認證協(xié)議的性能主要通過存儲空間、硬件成本、計算量和認證步驟等方面體現(xiàn)。為便于分析各協(xié)議,文中涉及的協(xié)議中的EPC、密鑰、偽隨機數(shù)等長度都用L表示。函數(shù)的輸出長度也為L。
表3 協(xié)議的性能比較Tab.3 Comparisons of protocol performance
存儲空間方面:協(xié)議的存儲空間要求主要是針對電子標簽而言。表中的3種協(xié)議都是基于EPC標準的。因此,電子標簽都是低成本、易實現(xiàn)的。
計算量方面:Chen的協(xié)議中,后端數(shù)據(jù)庫在認證過程中需要進行逐一比對來查找相應(yīng)的EPC碼,查找效率較低。Yeh的協(xié)議中,如果標簽是首次驗證,后端數(shù)據(jù)庫要對索引分new和old兩種情況,然后逐一計算來查找EPC碼,影響系統(tǒng)的工作效率。提出的協(xié)議使用動態(tài)索引來查找EPC碼。后端數(shù)據(jù)庫驗證標簽時,通過索引就可以直接找到相應(yīng)的EPC碼和接入密鑰用于驗證,提高了系統(tǒng)的認證效率,標簽數(shù)目越多優(yōu)勢越明顯。
認證步驟方面:Chen的協(xié)議和Yeh的協(xié)議通過5個步驟完成了標簽和閱讀器的相互認證和秘密更新。提出的協(xié)議完成相互認證和秘密更新需要10個步驟。
綜上,提出的協(xié)議在存儲、硬件成本和其他兩種協(xié)議相差不大;在計算量方面略優(yōu)于其他兩種協(xié)議;認證步驟則多于其他兩種協(xié)議。由于提出的協(xié)議完成了相互認證、秘密更新和所有權(quán)轉(zhuǎn)移3個階段,并且安全性能優(yōu)于其他兩種協(xié)議,所以該協(xié)議的綜合性能優(yōu)于其他兩種協(xié)議。
EPC標準是當下影響較大的標準,受到越來越多的國家和企業(yè)重視。在未來的物聯(lián)網(wǎng)研究中,信息安全問題也將日益凸顯。文中分析了現(xiàn)有的幾種協(xié)議存在的安全問題,結(jié)合EPC標準,提出一種符合該標準的安全的雙向認證協(xié)議。該協(xié)議通過較低的硬件成本安全高效的實現(xiàn)相互認證、授權(quán)訪問、所有權(quán)轉(zhuǎn)移等實用性要求,并且防范避免了多種常見的攻擊方式,對RFID研究與應(yīng)用有一定的意義。
[1]Yang M H.Lightweight authentication protocol for mobile RFID networks[J].International Journal of Security and Networks,2010,5(1):53-62.
[2]Ayoade J.Security implications in RFID and authentication processing framework[J].Computer&Security,2006,25(3):207-212.
[3]Shunzo Tateishi.EPC and Applications of RFID[J].Presentation Solution,2006(3):28-37.
[4]劉亞東.基于EPC C1G2的匿名雙向認證協(xié)議研究[J].通信技術(shù), 2011,4(44):135-137.LIU Ya-dong.Research of anonymous mutual authentication protocol based on EPC C1G2[J].Communication Technology,2011,4(44):135-137.
[5]Pedro Peris-Lopez,JulioCesarHernandez-Castro,etal.LAMEDA PRNG for EPC Class-1 Generation-2 RFID specification[J].Computer Standards&Interfaces,2009(31):88-97.
[6]Dixit V,Verma H K,Singh A K.Comparison of various security protocols in RFID[J].International Journal of Computer Applications,2011,24(7):17-21.
[7]Chien H Y,Chen C H.Mutual authentication protocol for RFID conforming to EPC class 1 generation 2 standards[J].Computer Standards and Interfaces,2007(29):254-259.
[8]Yeh T C,Wang Y J,Kuo T C,et al.Securing RFID systems conforming to EPC Class 1 Generation 2 standard[J].Expert Systems with Applications,2010(37):7678-7683.
[9]Habibi M H,Alagheband M R.Attacks on a Lightweight Mutual Authentication Protocol under EPC C-1 G-2 Standard[C]//WISTP, LNCS 6633,2011:254-263.
[10]Suh G E,Devadas S.Physically Unclonable Functions for Device Authentication and Secret Key Generation[C]//Proceedings of the 44th Annual Design Automation Conference,New York:ACM Press,2007:9-14.
[11]盧開澄.計算機密碼學(xué)-計算機網(wǎng)絡(luò)中的數(shù)據(jù)保留與安全[M].3版.北京:清華大學(xué)出版社,2003.