尹 平,李群祖
(1.西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710129;2.解放軍93926部隊(duì) 新疆 和田 848000)
射頻識(shí)別技術(shù)(Radio Frequency Identification)的基本原理是利用空間電磁波進(jìn)行通信,以達(dá)到自動(dòng)識(shí)別識(shí)對(duì)象,獲取相關(guān)信息的目的。
RFID技術(shù)優(yōu)點(diǎn)明顯,可以應(yīng)用于眾多領(lǐng)域。在物聯(lián)網(wǎng)領(lǐng)域中,RFID是一項(xiàng)關(guān)鍵技術(shù)。當(dāng)前,RFID安全認(rèn)證協(xié)議是很多從業(yè)人士研究重點(diǎn)[1-2]。
EPC global是歐洲和美國(guó)聯(lián)合推出的一種面對(duì)RFID行業(yè)的標(biāo)準(zhǔn)[3]。該標(biāo)準(zhǔn)規(guī)定的標(biāo)簽是低成本的,計(jì)算能力有限[4],標(biāo)簽無法從硬件方面實(shí)現(xiàn)Hash函數(shù)等常用的安全機(jī)制。
EPC global提出的標(biāo)準(zhǔn)協(xié)議[5],具有明顯的安全漏洞。諸多相關(guān)人士針對(duì)其安全方面的不足提出安全有效的雙向認(rèn)證協(xié)議[6]。chen等人提出一種基于EPC C1G2標(biāo)準(zhǔn)的雙向認(rèn)證協(xié)議[7]。該方式在認(rèn)證過程中使用CRC機(jī)制對(duì)EPC碼進(jìn)行保護(hù)。但是,Chen的協(xié)議效率較低,且存在閱讀器假冒等問題。Yeh等人[8]的協(xié)議里設(shè)定了一個(gè)動(dòng)態(tài)索引增加數(shù)據(jù)庫(kù)查找速率。相對(duì)Chen的協(xié)議,Yeh提出的協(xié)議在工作效率方面有了顯著的提高,但是相應(yīng)的安全問題也隨之而來[9]。
提出的協(xié)議增設(shè)了動(dòng)態(tài)索引IDS和私人密鑰SK。文中使用的輕量級(jí)的加密函數(shù)F可以通過PUF[10](PhysicalUnclonable Function)電路和 LFSR(Linear Feedback Shift Register)電路來實(shí)現(xiàn)。完整的協(xié)議流程分初始化、標(biāo)簽認(rèn)證、秘密更新、所有權(quán)轉(zhuǎn)移4個(gè)階段。
表1 協(xié)議所用參數(shù)Tab.1 Param eter of the protocol
初始化設(shè)置時(shí),生產(chǎn)商使用K0、IDS0和SK0這3個(gè)隨機(jī)選取的秘密值,把這些值寫入標(biāo)簽 Ki=K0,IDSi=IDS0,SKi=SK0。數(shù)據(jù)庫(kù)中也存儲(chǔ)相應(yīng)的信息IDSold=IDSnew=IDS0,Kold=Knew=K0,SKN=SKL=SK0。
標(biāo)簽認(rèn)證過程如圖1所示。
圖1 認(rèn)證過程圖Fig.1 Structure diagram of the authentication process
1)閱讀器生成隨機(jī)數(shù)RR,發(fā)送給標(biāo)簽。
2)標(biāo)簽收到隨機(jī)數(shù)RR,隨后生成隨機(jī)數(shù)RT。標(biāo)簽計(jì)算:
標(biāo)簽把(M1,M2,M3,IDSi)發(fā)送給閱讀器。
3) 閱讀器收到數(shù)據(jù)后,把(M1,M2,M3,IDSi,RR,RID)發(fā)送給后端數(shù)據(jù)庫(kù)。
4)后端數(shù)據(jù)庫(kù)收到后,首先檢驗(yàn)RID是否和數(shù)據(jù)庫(kù)內(nèi)的RID一致。如果一致,說明閱讀器是合法的。數(shù)據(jù)庫(kù)通過動(dòng)態(tài)索引IDSi來查找對(duì)應(yīng)的Ki和EPCS。數(shù)據(jù)庫(kù)的索引值存在IDSi=IDSold或者IDSi=IDSnew兩種情況。數(shù)據(jù)庫(kù)根據(jù)動(dòng)態(tài)索引IDSP找到相應(yīng)的EPCS和接入密碼KP(P=old或者P=new)。
數(shù)據(jù)庫(kù)找到EPCS后,檢查其標(biāo)志位flag。如果flag=1,說明后端數(shù)據(jù)庫(kù)和標(biāo)簽的私人密鑰更新情況一致,即SKN=SKi,數(shù)據(jù)庫(kù)用SKN對(duì)標(biāo)簽進(jìn)行驗(yàn)證。如果flag=0,數(shù)據(jù)庫(kù)分別用SKN和SKL對(duì)標(biāo)簽進(jìn)行驗(yàn)證:
如果上述兩個(gè)等式都不成立,說明標(biāo)簽是非法的,進(jìn)行錯(cuò)誤處理。如果flag=0時(shí),等式(5)成立,說明后端數(shù)據(jù)庫(kù)未收到標(biāo)簽私人密鑰更新成功的通知,數(shù)據(jù)庫(kù)把flag置1;如果等式(6)成立,說明后端數(shù)據(jù)庫(kù)與標(biāo)簽的私人密鑰更新不一致,flag保持不變。上述兩個(gè)等式任一成立,后端數(shù)據(jù)庫(kù)對(duì)標(biāo)簽的驗(yàn)證通過。后端數(shù)據(jù)庫(kù)把標(biāo)簽相應(yīng)的其他信息Info(T)發(fā)送給閱讀器。如果不進(jìn)行秘密更新,認(rèn)證協(xié)議執(zhí)行完畢,否則轉(zhuǎn)到秘密更新階段。
秘密更新階段如圖2所示。
圖2 秘密更新過程圖Fig.2 Structure diagram of the secret update
1)舊的標(biāo)簽所有者A為了保護(hù)個(gè)人隱私,設(shè)定一個(gè)新的私人密碼(SK′和臨時(shí)身份標(biāo)識(shí)RIDA)來代替以前的密碼和身份標(biāo)識(shí)。A使用閱讀器通過安全通道把(SK′,RIDA)發(fā)送給后端服務(wù)器。
2) 后端服務(wù)器收到(SK′,RIDA)后,首先檢查:
如果等式(7)成立,說明動(dòng)態(tài)索引值無誤。后端數(shù)據(jù)庫(kù)對(duì)接入密碼和動(dòng)態(tài)索引進(jìn)行如下更新:
如果 P=new,Kold=Knew,Knew=F(Knew);IDSold=IDSnew,IDSnew=F(RR⊕RT)。
如果 P=old,IDSnew=F(RR⊕RT)。
然后,后端數(shù)據(jù)庫(kù)對(duì)身份標(biāo)識(shí)、私人密鑰及標(biāo)志位進(jìn)行更新:
接著,數(shù)據(jù)庫(kù)計(jì)算:
后端數(shù)據(jù)庫(kù)把(M4,M5)發(fā)送給閱讀器。
3) 閱讀器把(M4,M5)發(fā)送給標(biāo)簽。
4)標(biāo)簽接收到后,先計(jì)算:
然后驗(yàn)證:
如果等式(11)成立,標(biāo)簽進(jìn)行秘密更新:
標(biāo)簽計(jì)算:
如果等式(11)不成立,標(biāo)簽不進(jìn)行更新操作,并且計(jì)算:
不論是否進(jìn)行秘密更新,標(biāo)簽都把M6發(fā)送給閱讀器。
5)閱讀器收到后,把M6發(fā)送給后端數(shù)據(jù)庫(kù)。
6)后端數(shù)據(jù)庫(kù)收到M6后, 檢驗(yàn) M6=F (EPCS⊕SKi+1⊕())是否成立。如果成立,把flag置1,否則不變。
舊的用戶A為了保護(hù)自己隱私和信息安全,通過標(biāo)簽認(rèn)證和秘密更新將私人密鑰SKi和身份標(biāo)識(shí)RID更改為SK′和RIDA。 雙方可以使用對(duì)稱密碼的數(shù)字簽名協(xié)議[11]。
圖3 所有權(quán)轉(zhuǎn)移過程圖Fig.3 Structure diagram of the ownership transfer
1)A和B在公證機(jī)構(gòu)AS處協(xié)商得到共享密鑰KC,A在公證機(jī)構(gòu)AS存儲(chǔ)私人密鑰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, 確認(rèn)消息來自 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獲得標(biāo)簽所有相關(guān)信息后,應(yīng)立即修改密鑰和身份標(biāo)識(shí)以防止舊的用戶繼續(xù)控制標(biāo)簽或者獲取一些新用戶的相關(guān)信息。B先利用A的臨時(shí)身份標(biāo)識(shí)RIDA在認(rèn)證階段驗(yàn)證標(biāo)簽的合法性,在秘密更新階段使用新的私人密鑰SK′′和其閱讀器的標(biāo)識(shí)RIDB來更新標(biāo)簽和數(shù)據(jù)庫(kù)內(nèi)的信息,以此來完全控制標(biāo)簽。所有權(quán)轉(zhuǎn)移后,B完全擁有了對(duì)標(biāo)簽的控制權(quán),而A無法對(duì)標(biāo)簽進(jìn)行讀寫及其他操作。
1)標(biāo)簽假冒 攻擊者冒充標(biāo)簽進(jìn)行認(rèn)證,后端數(shù)據(jù)庫(kù)在檢驗(yàn)動(dòng)態(tài)索引IDSi時(shí)就能檢驗(yàn)出該標(biāo)簽是非法的。
2)離線字典攻擊 為避免攻擊者進(jìn)行離線字典攻擊,認(rèn)證過程使用多個(gè)密鑰和隨機(jī)數(shù)進(jìn)行數(shù)據(jù)處理。攻擊者很難使用離線字典序方式獲取真實(shí)的數(shù)據(jù)。
3)前向安全性 認(rèn)證過程中,標(biāo)簽和閱讀器分別生成隨機(jī)數(shù),保證了數(shù)據(jù)的匿名通信。攻擊者無法從截獲或偷聽到的數(shù)據(jù)中得出標(biāo)簽的真實(shí)信息,因此保證了數(shù)據(jù)的前向安全性。
4)克隆攻擊 在認(rèn)證過程中,攻擊者無法完全得知標(biāo)簽的信息,進(jìn)行標(biāo)簽克隆。
5)竊聽攻擊 每次的認(rèn)證過程,標(biāo)簽和閱讀器都要生成隨機(jī)數(shù)。用戶數(shù)據(jù)與隨機(jī)數(shù)以及密鑰結(jié)合之后進(jìn)行傳輸。攻擊者無法對(duì)標(biāo)簽進(jìn)行竊聽。
6)拒絕服務(wù)攻擊 攻擊者使用拒絕服務(wù)攻擊來干擾系統(tǒng)的通信,造成標(biāo)簽與后端數(shù)據(jù)庫(kù)的更新不一致,導(dǎo)致數(shù)據(jù)庫(kù)與標(biāo)簽的去同步化。由于數(shù)據(jù)庫(kù)保存的密鑰和索引有new和old兩種,即使標(biāo)簽未完成密鑰和索引更新,還是可以在下一次的認(rèn)證過程中找到與之匹配的密鑰和索引。
7)雙向認(rèn)證 在改進(jìn)協(xié)議中,標(biāo)簽、閱讀器、服務(wù)器通過嚴(yán)密的相互認(rèn)證,保證了各組件的合法性,確保了用戶數(shù)據(jù)在認(rèn)證過程中的安全。
8)所有權(quán)轉(zhuǎn)移 在所有權(quán)轉(zhuǎn)移后,新的用戶通過認(rèn)證和秘密更新來實(shí)現(xiàn)對(duì)標(biāo)簽的完全擁有。在所有權(quán)轉(zhuǎn)移過程中,舊的擁有者制作了數(shù)字簽名給新的擁有者。一旦舊的擁有者抵賴或者反悔,新的擁有者可以以此作為證據(jù)。
9)匿名通信 標(biāo)簽和閱讀器產(chǎn)生偽隨機(jī)數(shù),保證了信道里的信息是匿名的。
10)授權(quán)訪問 改進(jìn)協(xié)議使用RID對(duì)閱讀器的身份進(jìn)行標(biāo)識(shí)。后端數(shù)據(jù)庫(kù)在認(rèn)證開始時(shí)要對(duì)閱讀器進(jìn)行身份標(biāo)識(shí)信息檢查,只有合法的閱讀器所傳輸?shù)臄?shù)據(jù)才能通過檢測(cè)。
表2 協(xié)議的安全比較Tab.2 Comparisons of protocol security
由表2可見,Chen的協(xié)議無法抵御假冒攻擊,無法實(shí)現(xiàn)數(shù)據(jù)的前向安全性和后向安全。Yeh的協(xié)議無法避免離線字典攻擊方式,還面臨假冒攻擊方式和去同步化的風(fēng)險(xiǎn)。提出協(xié)議具有較好的安全性能,可以防范多種攻擊方式。通過授權(quán)訪問方式避免了閱讀器和標(biāo)簽假冒。通過使用隨機(jī)數(shù)保證了數(shù)據(jù)的匿名通信和前向安全性。后端數(shù)據(jù)庫(kù)里存儲(chǔ)的兩套密鑰保證了數(shù)據(jù)庫(kù)與標(biāo)簽的同步。標(biāo)簽認(rèn)證和秘密更新后,新舊用戶通過所有權(quán)轉(zhuǎn)移過程實(shí)現(xiàn)了數(shù)據(jù)的后向安全。綜上,提出的協(xié)議擁有良好的安全性能,可以滿足用戶的安全需求。
RFID認(rèn)證協(xié)議的性能主要通過存儲(chǔ)空間、硬件成本、計(jì)算量和認(rèn)證步驟等方面體現(xiàn)。為便于分析各協(xié)議,文中涉及的協(xié)議中的EPC、密鑰、偽隨機(jī)數(shù)等長(zhǎng)度都用L表示。函數(shù)的輸出長(zhǎng)度也為L(zhǎng)。
表3 協(xié)議的性能比較Tab.3 Comparisons of protocol performance
存儲(chǔ)空間方面:協(xié)議的存儲(chǔ)空間要求主要是針對(duì)電子標(biāo)簽而言。表中的3種協(xié)議都是基于EPC標(biāo)準(zhǔn)的。因此,電子標(biāo)簽都是低成本、易實(shí)現(xiàn)的。
計(jì)算量方面:Chen的協(xié)議中,后端數(shù)據(jù)庫(kù)在認(rèn)證過程中需要進(jìn)行逐一比對(duì)來查找相應(yīng)的EPC碼,查找效率較低。Yeh的協(xié)議中,如果標(biāo)簽是首次驗(yàn)證,后端數(shù)據(jù)庫(kù)要對(duì)索引分new和old兩種情況,然后逐一計(jì)算來查找EPC碼,影響系統(tǒng)的工作效率。提出的協(xié)議使用動(dòng)態(tài)索引來查找EPC碼。后端數(shù)據(jù)庫(kù)驗(yàn)證標(biāo)簽時(shí),通過索引就可以直接找到相應(yīng)的EPC碼和接入密鑰用于驗(yàn)證,提高了系統(tǒng)的認(rèn)證效率,標(biāo)簽數(shù)目越多優(yōu)勢(shì)越明顯。
認(rèn)證步驟方面:Chen的協(xié)議和Yeh的協(xié)議通過5個(gè)步驟完成了標(biāo)簽和閱讀器的相互認(rèn)證和秘密更新。提出的協(xié)議完成相互認(rèn)證和秘密更新需要10個(gè)步驟。
綜上,提出的協(xié)議在存儲(chǔ)、硬件成本和其他兩種協(xié)議相差不大;在計(jì)算量方面略優(yōu)于其他兩種協(xié)議;認(rèn)證步驟則多于其他兩種協(xié)議。由于提出的協(xié)議完成了相互認(rèn)證、秘密更新和所有權(quán)轉(zhuǎn)移3個(gè)階段,并且安全性能優(yōu)于其他兩種協(xié)議,所以該協(xié)議的綜合性能優(yōu)于其他兩種協(xié)議。
EPC標(biāo)準(zhǔn)是當(dāng)下影響較大的標(biāo)準(zhǔn),受到越來越多的國(guó)家和企業(yè)重視。在未來的物聯(lián)網(wǎng)研究中,信息安全問題也將日益凸顯。文中分析了現(xiàn)有的幾種協(xié)議存在的安全問題,結(jié)合EPC標(biāo)準(zhǔn),提出一種符合該標(biāo)準(zhǔn)的安全的雙向認(rèn)證協(xié)議。該協(xié)議通過較低的硬件成本安全高效的實(shí)現(xiàn)相互認(rèn)證、授權(quán)訪問、所有權(quán)轉(zhuǎn)移等實(shí)用性要求,并且防范避免了多種常見的攻擊方式,對(duì)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的匿名雙向認(rèn)證協(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]盧開澄.計(jì)算機(jī)密碼學(xué)-計(jì)算機(jī)網(wǎng)絡(luò)中的數(shù)據(jù)保留與安全[M].3版.北京:清華大學(xué)出版社,2003.