李 濤 劉亞麗
(江蘇師范大學計算機科學與技術學院 江蘇徐州 221116) (廣西密碼學與信息安全重點實驗室(桂林電子科技大學) 廣西桂林 541004)
隨著物聯網技術的興起與發展,各種物聯網技術也逐漸廣泛地應用到人們的日常生活中.無線射頻識別(radio frequency identification, RFID)作為物聯網中的關鍵技術之一,以其無需物理接觸的特點,在無線通信應用中發揮著獨特的優勢[1].一個完整的RFID系統通常由標簽、閱讀器、后端數據庫(或服務器)3個部分組成[2].標簽通常嵌入在實體中并擁有唯一標識,當標簽進入閱讀器的識別范圍時,閱讀器與標簽會通過安全協議驗證對方身份的合法性,驗證通過后,標簽會將自身的數據發送給閱讀器交給后臺處理.通常來說閱讀器與后端數據庫的連接信道是安全的,而標簽與閱讀器之間的無線信道是不安全的.攻擊者可能通過不安全信道發動假冒、竊聽、去同步化等多種惡意攻擊[3].并且,標簽的資源是受限的,其存儲能力和計算能力會受到一定的制約.RFID系統的安全隱私問題和代價效率問題是影響RFID技術發展的關鍵因素.設計一個輕量的、安全的方案是RFID安全認證協議亟待解決的問題.
2002年,一種稱為物理不可克隆函數(physical uncloneable function, PUF)[4]的概念被提出,并得到越來越多學者的關注.物理不可克隆函數是一種密碼學原語,它利用自身硬件物理結構上的差異,能對不同的激勵產生不同的不可預測的響應輸出.PUF技術的引入,確保了通信實體能夠抵抗攻擊者的物理攻擊和克隆攻擊,同時減少了實體的計算開銷[5].對于資源受限的認證實體而言,這一技術的優勢更加明顯.因此,PUF技術在物聯網安全領域中具有十分重要的研究價值與意義.
早期的基于PUF的RFID認證協議使用的是一種簡單的響應匹配方法.Devadas等人[6]在其方案中提到,可信第三方事先與RFID標簽的標識符建立索引,并將大量激勵響應對(challenge-response pair, CRP)存儲于數據庫中,在驗證標簽身份時,與數據庫匹配對比.該方案認證的過程十分簡潔,RFID標簽無需任何額外存儲,且能防止中間人的篡改攻擊.但預存儲大量CRP于數據庫中將耗費大量的時間,并且耗盡時需要重新補充激勵——響應對,這極大地影響了認證的效率.Van Herrewege等人[7]提出了一種輕量級的基于PUF的雙向認證方案,使用隨機數和Hash函數來混淆通信信息,但該方案明文來傳輸標簽ID,這使得攻擊者很容易通過不安全信道竊取標簽ID來偽裝身份獲取數據,且該方案仍需要在數據庫中預存大量CRP.Aysu等人[8]設計了一個具有隱私性的雙向認證協議,使用了靜態隨機存取存儲器(static random-access memory, SRAM)來實現PUF和真隨機數發生器(true random number generator, TRNG),同時協議中使用了密鑰的動態更新機制,避免了傳統的預存CRP的方法,同時又確保了系統能夠抵抗去同步攻擊和追蹤攻擊.但該方案在認證時仍采用傳統的窮舉搜索法,認證效率較低.Gope等人[9]提出了一種基于PUF的輕量級RFID匿名認證協議.該協議不僅保證了匿名認證,還著重解決了以前協議難以解決的DoS攻擊問題.但協議中標簽的存儲代價依賴于一組偽ID的數量,可能會導致存儲花費過高,且當一組備用偽ID耗盡時,標簽需要重新啟動注冊階段來補充.除此之外,Zhu等人[10]同樣提出了一種具有較高可擴展性,能適用于低功耗標簽的輕量級PUF認證協議.在該協議中標簽只存儲一個會話標識SID,因此代價較低.但該協議不能確保匿名性.文獻[11]使用協商的一對種子和偽隨機數發生器(pseudo random number generator, PRNG)產生一對相同激勵,同時利用原始PUF的CRP在閱讀器上訓練一個PUF的模型,以產生與原始PUF相似的行為輸出.在認證時,通過這種PUF模型可以極大地提高認證的效率.但該方案將關鍵的隨機數等信息在不安全信道上明文傳輸,容易被攻擊者竊聽和篡改.Rostami等人[12]使用了填充子字符串的過程,使填充字符串的長度等于原始響應字符串的長度,從而隱藏了認證的關鍵信息.但隨后Mukhopadhyay[13]使用機器學習訓練出CRP的線性模型并反饋給支持向量機(support vector machine, SVM),成功地攻擊了文獻[11-12]中的協議,證明這些協議不能抵抗機器學習的模型訓練攻擊.2019年,Liang等人[14]同樣采用PUF模型結構提出了一個雙PUF認證協議,他們提出了一個比傳統Arbiter PUF更穩定的TSMCA PUF結構,用來更好地抵抗機器學習攻擊,并且該結構所需的硬件資源更少.結合使用二分異或,比特填充方法對信息進行加密傳輸,并使用字符串匹配方法進行解密驗證.但經過分析,該協議仍然存在一些安全隱患,如:偽隨機數發生器種子泄露、標簽的假冒攻擊等.
為了增強RFID系統的安全性和隱私性,本文對Liang等人[14]提出的基于雙PUF的RFID認證協議給出了描述,并針對其安全性進行了詳細的分析,指出其存在的安全隱患,并提出了改進的DPRAP協議.方案通過多次的Hash與異或運算對PRNG種子的值進行加密隱藏,保證協商種子的機密性.同時方案使用了時間閾值,有效防止攻擊者惡意阻塞通信信道引發去同步攻擊.最后使用BAN邏輯和Vaudenay模型對提出的DPRAP協議進行形式化分析和驗證,并分析了協議在安全性能方面的優勢.
Vaudenay在文獻[15]中提出了一個完整的RFID方案安全性形式化分析模型,并建立了一個層次化的隱私模型.在此模型下,給出了安全和隱私的強有力定義,并模擬了一個強大的對手,可以監聽一切通信,在有限的時間內跟蹤標簽,損壞標簽.Vaudenay模型通過模擬攻擊者對RFID系統的攻擊行為來對RFID系統的隱私性進行分析,在模型中,攻擊者被允許可以執行一系列預言機操作,對目標系統進行不同程度的攻擊.該模型對預言機的描述如下:
1)CreateTag(ID).創建一個具有唯一標識符ID的標簽.
2)DrawTag(distr)→(vtag1,vtag2,…,vtagn).根據概率分布distr從自有標簽集中隨機選取n個標簽,標識符為vtagi.
3)Free(vtag).釋放標簽vtag至自由標簽集,使其不可達.
4)Launch→π.閱讀器加載新的協議實例π.
5)SendReader(m,π)→m′.給協議實例π中的閱讀器發送消息m,并得到響應m′.
6)SendTag(m,vtag)→m′.給標簽vtag發送消息m,并得到響應m′.
7)Result(π)→x.協議實例π認證成功則返回1,否則返回0.
8)Corrupt(vtag)→S.破壞標簽vtag,返回標簽的內部狀態S.
在Vaudenay模型中,根據攻擊者執行Corrupt預言機的能力,將攻擊者的攻擊強度劃分為5個等級:Strong,Destructive,Forward,Weak和Narrow. 其中:1)Strong類攻擊者有權限執行以上所有預言機;2)Destructive類攻擊者在執行Corrupt查詢后不再使用vtag標簽;3)Forward類攻擊者能夠在其他Corrupt查詢后執行Corrupt;4)Weak類攻擊者不能執行Corrupt查詢;5)Narrow類攻擊者不能執行Result查詢.
在Liang等人[14]提出的基于雙PUF的RFID認證協議中,閱讀器與后端服務器之間的通信被認為是安全的,因此將它們看作一個整體Server.該協議主要包含3個階段:偽隨機數發生器種子生成階段、服務器驗證標簽階段和標簽驗證服務器階段.
在文獻[14]中,PRNG被用來產生PUF的激勵,而PRNG的輸出是由種子決定的.生成PRNG種子的過程如圖1所示.

服務器標簽步驟1. T1步驟1. T2步驟2. M1=h(T1)T1 M1 →步驟2. 步驟3. 步驟3. M2=h(T1)T1T2步驟4. M3=M2T2h(T1)=T'1 M2‖T2 ←步驟4. 步驟5. If T'1=T1步驟5. 步驟6. Seed=(M2)步驟6. Seed=(M2)

文獻[14]中服務器認證標簽階段如圖2所示.
1) 服務器和標簽利用得到的偽隨機數發生器種子產生激勵c′=G(Seed),c=G(Seed);
2) 服務器和標簽各自使用PUF_mod和PUF產生響應R′和R,然后分別將響應拆分成2個長度相同的子串A′,B′和A,B;
3) 服務器和標簽2端分別計算出PW′=A′⊕B′,PW=A⊕B,將PW′和PW劃分成2個長度相同的子串C′,D′和C,D;
4) 標簽對C和D進行隨機比特填充,構成新串GW發送給服務器;
5) 服務器收到GW后,使用自身的C′和D′在GW中搜索匹配并提取C和D,匹配時要求具有最小漢明重量;
6) 比較C,D與C′,D′;
7) 如果誤差位數在門限范圍內,服務器成功認證標簽.

服務器標簽步驟1. Seed=(M2)步驟1. Seed=(M2)步驟2. c'=G(Seed)步驟2. c=G(Seed)步驟3. R'=PUF_mod(c'),R'→A',B'步驟3. R=PUF(c),R→A,B步驟4. PW'=A'B',PW'→C',D'步驟4. PW=AB,PW→C,D步驟5. 步驟5. GW=pad(indran,C,D)步驟6. C,D=Sea(C',D',GW) GW ←步驟6.步驟7. T=match(C,C',D,D')步驟8. Auth.Pass:true?
文獻[14]中標簽認證服務器階段如圖3所示.



7) 如果誤差位數在門限范圍內,標簽成功認證服務器.

服務器標簽步驟1. Seed=PW步驟1. Seed=PW步驟2. c'2=G(Seed)步驟2. c2=G(Seed)步驟3. R'2=PUF_mod(c'2),R'2→A'2,B'2步驟3. R2=PUF(c2),R2→A2,B2步驟4. PW'2=A'2B'2,PW'2→C'2,D'2步驟4. PW2=A2B2,PW2→C2,D2步驟5. GW'2=pad(indran,C'2,D'2)步驟5. 步驟6. GW'2 →步驟6. C'2,D'2=Sea(C2,D2,GW'2)步驟7. T=match(C'2,C2,D'2,D2)步驟8. Auth.Pass:true?
本節對文獻[14]中提出的協議進行分析,指出其存在的3種安全隱患.
在原始協議的種子生成階段,標簽在非安全信道上直接將M2和T2傳輸給服務器,而最終消息M2的值將直接作為雙方協商的種子值.攻擊者可能通過非安全信道竊聽和截獲該通信值,使得非法參與者也能重放該消息與合法服務器協商一對種子,并進行認證通信.
在原始協議的種子生成階段,攻擊者可能嘗試對標簽向服務器傳輸的M2‖T2消息進行修改或阻塞,導致服務器無法成功驗證通信值,服務器不能與標簽同步地生成一對相同的種子,使該階段無法成功繼續執行.
在服務器驗證標簽階段,假冒的標簽在獲取種子的值后,與合法的服務器進行驗證,盡管該階段使用雙PUF結構,但服務器仍有可能訓練一個偽造的PUF模型來與假冒標簽完成認證通信,使得假冒的標簽也能通過服務器的驗證.
針對偽隨機數發生器種子生成和服務器認證標簽階段存在的安全隱患,我們在文獻[14]協議的基礎上提出了DPRAP協議.DPRAP協議涉及服務器和標簽2個通信實體,協議包含3個階段:偽隨機數發生器種子生成階段、服務器驗證標簽階段、標簽驗證服務器階段.由于開放的無線信道,服務器和標簽間的通信信道是不安全的.
偽隨機數發生器種子生成階段主要用來完成服務器與標簽之間協商一對偽隨機數發生器種子,種子可以用于偽隨機數發生器在服務器驗證標簽階段產生激勵.偽隨機數發生器種子生成階段如圖4所示:

服務器標簽步驟1. T1步驟1. T2步驟2. M1=T1h(T1) M1 →步驟2.步驟3. 步驟3. M2=M1h(IDS)步驟4. 步驟4. M3=T2IDS步驟5. h(IDS)'=M2M1 M2,M3 ←步驟5. 步驟6. 在數據庫中檢索IDS滿足:h(IDS)=h(IDS)'步驟6. 步驟7. T2=M3IDS步驟7. 步驟8. M4=T1IDS步驟8. 步驟9. M5=h(T1)h(T2) M4,M5 →步驟9. 步驟10. 步驟10. T1=M4IDS步驟11. 步驟11. 驗證:M5=h(T1)h(T2)步驟12. Seed=h(T1‖T2‖IDS)步驟12. Seed=h(T1‖T2‖IDS)
該階段的詳細步驟為:
1) 服務器和標簽使用TRNG分別產生真隨機數T1,T2.
2) 服務器計算M1=T1⊕h(T1),并將M1發送給標簽.
3) 標簽在接收到M1之后,利用標識假名IDS計算M2=M1⊕h(IDS),M3=T2⊕IDS,并將M3,M4發送給服務器.
4) 服務器在接收到M2,M3之后,從M2中提取h(IDS)′=M2⊕M1,然后在后備數據庫中查詢注冊過的IDS,是否存在某個IDS能夠滿足條件h(IDS)=h(IDS)′,若不存在,則說明標簽不合法,協議終止.若驗證通過則利用IDS提取T2=M3⊕IDS,并計算M4=T1⊕IDS,M5=h(T1)⊕h(T2),然后將M4,M5發送給標簽.
5) 標簽接收到M4,M5之后,先從M4中提取T1=M4⊕IDS,然后驗證M5的正確性,若驗證通過,則標簽與服務器之間確定一對偽隨機數發生器種子Seed=h(T1‖T2‖IDS).若標簽在一段時間閾值τ(根據實際設定)范圍內未能接收到M4與M5,或者驗證失敗,則說明發生了去同步攻擊,種子生成階段重新執行.
服務器驗證標簽階段主要用來完成服務器對標簽的合法性的驗證.服務器驗證標簽階段如圖5所示:

服務器標簽步驟1. c'=G(Seed)步驟1. c=G(Seed)步驟2. R'=PUF_mod(c')步驟2. R=PUF(c)步驟3. 步驟3. RS=RIDS步驟4. IDS'=RSR' RS ←步驟4. 檢查數據庫中是否存在IDS'步驟5. R'→A',B'步驟5. R→A,B步驟6. PW'=A'B',PW'→C',D'步驟6. PW=AB,PW→C,D步驟7. 步驟7. GW=pad(indran,C,D)步驟8. C,D=Sea(C',D',GW) GW ←步驟8. 步驟9. T=match(C,C',D,D')步驟10. Auth.Pass.true?
該階段的詳細步驟為:
1) 服務器和標簽利用得到的偽隨機數發生器種子產生激勵c′=G(Seed),c=G(Seed).
2) 服務器和標簽分別使用機器學習訓練的PUF_mod和PUF產生響應R′和R.
3) 標簽計算RS=R⊕IDS,并將RS發送給服務器.
4) 服務器接收到RS之后,計算IDS′=RS⊕R′,然后在后備數據庫中查找是否存在相應的IDS′登記,若查找失敗,則說明標簽不合法,協議終止.
5) 服務器和標簽分別將響應R′和R拆分成2個長度相同的子串A′,B′和A,B.
6) 分別計算PW′=A′⊕B′,PW=A⊕B,然后將PW′和PW劃分成2個長度相同的子串C′,D′和C,D.
7) 標簽對C和D進行隨機比特填充,構成新串GW發送給服務器.
8) 服務器收到GW后,使用自身的C′和D′在GW中搜索匹配并提取C和D,匹配時要求具有最小漢明重量.
9) 比較C,D與C′,D′.
10) 如果誤差位數在門限范圍內,服務器成功認證標簽.
在該階段中,偽隨機數發生器種子替換為服務器驗證標簽階段中使用的通信量PW,其余步驟與服務器驗證標簽階段對應步驟類似,具體步驟如圖3所示.
BAN邏輯分析是一種常見的安全協議形式化分析方法,被廣泛用于證明通信認證協議的正確性和安全性[16].本節將采用BAN邏輯分析方法對所提出的DPRAP協議進行安全性分析.
1) 初始化假設
① A1.T|≡#T2;

③ A3.T?{M5}T2;
④ A4.T|≡S|?M5;
⑤ A5.S|≡#IDS;

⑦ A7.S?{RS}IDS;
⑧ A8.S|≡T|?RS.
2) 邏輯規則說明

② R2(消息含義規則).
③ R3(臨時驗證規則).

3) 目標與證明
證明目標:
① G1.T|≡M5;
② G2.S|≡RS.
證明.
根據假設A1與規則R1有
① F1.T|≡#M5;
根據假設A2,A3與規則R2有
② F2.T|≡S|~M5;
根據公式F1,F2與規則R3有
③ F3.T|≡S|≡M5;
根據公式F3,假設A4與規則R4有
④T|≡M5;
目標G1得證.
根據假設A5與規則R1有
⑤ F4.S|≡#RS;
根據假設A6,A7與規則R2有
⑥ F5.S|≡T|~RS;
根據公式F4,F5與規則R3有
⑦ F6.S|≡T|≡RS;
根據公式F6,假設A8與規則R4有
⑧S|≡RS.
目標G2得證.
證畢.
命題1.DPRAP協議能夠滿足前向不可追蹤性.
證明.
1) 攻擊者調用預言機隨機創建標簽Create-Tag(IDS0),CreateTag(IDS1);



7)Launch→πi+1,運行并監聽第i+1次會話;

攻擊者通過入侵標簽內部獲取的Seed與監聽第i輪標簽發送的信息RS,企圖計算出第i+1輪會話中標簽發送的RS.攻擊者主要考慮2個方面實現對RS的追蹤攻擊:
1) 偽造PUF第i+1輪會話的響應
攻擊者通過調用Corrupt預言機,獲取標簽內部Seed的值,盡管偽隨機數發生器在種子確定時能夠得到相同的隨機序列,但攻擊者要定位到當前的隨機值是很困難的.此外,由于PUF自身具有硬件結構上的差異和物理不可克隆的特性,攻擊者試圖用偽造的PUF來得到合法的響應是很難的.
2) 用虛假的標簽身份信息IDS通過認證
由于攻擊者通過非安全信道竊聽獲取到的信息有限,只能獲取第i輪會話的RS信息,由于攻擊者無法預測第i輪會話中的PUF響應,他便無法推測合法標簽的身份標識IDS,攻擊者也因此無法通過后備數據庫的合法性驗證.任何虛假的標簽身份標識IDS都將無法通過認證.
綜上所述,DPRAP協議能夠滿足前向不可追蹤性.
證畢.
命題2.DPRAP協議能夠滿足后向不可追蹤性.
證明.
1) 攻擊者調用預言機隨機創建標簽Create-Tag(IDS0),CreateTag(IDS1).



7)Launch→πi,運行并監聽第i次會話;

攻擊者通過入侵標簽內部獲取的Seed與監聽第i+1輪標簽發送的信息RS,企圖計算出第i輪會話中標簽發送的RS.因為RS=R⊕IDS,攻擊者想要根據第i+1輪會話截獲的信息推測出第i輪會話中的RS,必須知道第i輪的PUF響應.攻擊者無法知道第i輪的PUF響應,原因如下:1)攻擊者可以截獲標簽發送的RS信息,但由于攻擊者沒有合法的身份標識IDS,因此也不能推算出第i輪的PUF響應.2)攻擊者即使通過Corrupt預言機獲取了偽隨機數發生器種子Seed而確定偽隨機數序列,也無法推測出第i輪會話的PUF激勵c,因為攻擊者無法確定第i+1輪會話偽隨機數發生器的輸出.3)由于PUF自身具有硬件結構上的差異和物理不可克隆的特性,攻擊者試圖用偽造的PUF來得到合法的響應是很難的.
綜上所述,DPRAP協議能夠滿足后向不可追蹤性.
證畢.
命題3.DPRAP協議能夠抵抗標簽的假冒攻擊.
證明. 在種子生成階段,攻擊者通過假冒標簽與合法服務器通信,假冒的標簽需要利用自身的IDS計算M2,M3.即使攻擊者竊聽到信息M1,M2,也無法推斷出合法的IDS,因為Hash函數的不可逆性.而使用未注冊的IDS進行服務器端的驗證是無法通過的,因為后備數據庫內不存在該虛假的IDS身份信息.
在服務器認證標簽階段,假冒標簽利用自身不合法的IDS與PUF響應計算RS發送給服務器,由于后備數據庫內不存在該未注冊的IDS身份信息,因此也不能通過服務器的認證.
綜上所述,DPRAP協議能夠抵抗標簽的假冒攻擊.
證畢.
命題4.DPRAP協議能夠抵抗中間人攻擊.
證明. 在種子生成階段,攻擊者可以通過2種方法發起中間人攻擊:
1) 修改或阻塞M2,M3消息.當攻擊者試圖修改M2,服務器端計算h(IDS)′=M2⊕M1將不會得到正確的結果,服務器無法根據h(IDS)′在數據庫中查詢到正確的標簽身份;當攻擊者試圖修改M3消息,盡管可以得到正確的IDS,但根據T2=M3⊕IDS將會計算出錯誤的T2,這將導致標簽在驗證M5=h(T1)⊕h(T2)時不會通過;當攻擊者企圖阻塞M2,M3的消息將導致標簽無法通過服務器的身份驗證.因此,中間人攻擊失敗.
2) 修改或阻塞消息M4,M5.當攻擊者企圖修改消息M4,根據T1=M4⊕IDS將計算出錯誤的T1,標簽驗證M5=h(T1)⊕h(T2)不會通過;當攻擊者企圖修改消息M5,將直接導致標簽對M5驗證失??;當攻擊者企圖阻塞M4,M5消息的傳輸,標簽端將種子無法同步生成,而當攻擊者的阻塞時間超過閾值τ后,種子生成階段將被強制終止并重新執行.因此,中間人攻擊失敗.
在認證階段,對任何通信信息(RS,GW)的阻塞和修改都將導致對標簽身份認證的失敗.因此,中間人攻擊無法成功.
綜上所述,DPRAP協議能夠抵抗中間人攻擊.
證畢.
命題5.DPRAP協議能夠抵抗去同步攻擊.
證明. 在本方案中,由于種子生成階段存在著種子的同步問題,因此可能存在去同步攻擊.
在種子生成階段,攻擊者可以通過2種方法發起去同步攻擊:
1) 修改M4,M5消息.攻擊者企圖修改M4,M5的消息來阻止偽隨機數發生器種子生成,如命題4中所敘,攻擊者對M4,或M5消息的任何修改都將導致標簽對M5的驗證失敗,種子不會同步產生,去同步攻擊失敗.
2) 阻塞消息M4,M5.攻擊者企圖持續阻塞M4,M5消息的發送來使種子無法同步生成,而當阻塞時間超過閾值τ后,該階段將被強制終止并重新執行,去同步攻擊失敗.
綜上所述,DPRAP協議能夠抵抗去同步攻擊.
證畢.
命題6.DPRAP協議能夠抵抗重放攻擊.
證明. 在種子生成階段,攻擊者嘗試通過竊聽和截獲非安全信道上傳輸的通信值來重放消息,以獲取協商的種子值.但攻擊者無法做到,原因如下:攻擊者想要重放種子值,必須同時獲取到T1,T2和IDS,然而攻擊者通過監聽無法獲取到以上3個值中的任何一個,非法攻擊者也就不能重放種子值來完成與服務器的認證通信.
在認證階段,由于PUF輸出的具有隨機性和不可預測性,每一輪的PUF輸出都是不相同的,攻擊者通過重放RS和GW信息均無法通過服務器的合法性驗證.
綜上所述,DPRAP協議能夠抵抗重放攻擊.
證畢.
在本節中,我們將DPRAP協議與文獻[14]的種子生成階段和認證階段進行了對比分析,同時也與典型的基于PUF的RFID認證協議[9-10]的認證階段性能進行了對比.
為了便于比較與分析,我們采用文獻[14]中的計算開銷.Hash函數輸出長度為160 b,PUF輸出長度為256 b,pad操作填充后的字符串長為1 024 b,ID信息長度為96 b.我們用Java語言編寫的程序模擬了標簽和閱讀器之間的通信.開發工具是IntelliJ IDEA集成開發環境.網絡交互是通過使用抽象TCP客戶機/服務器連接的套接字來完成的.服務器等待與指定IP地址和端口上的標簽的連接.一旦標簽成功地與服務器建立了連接,協議就會執行一個雙向認證會話.程序運行在2.30 GHz AMD Ryzen 7 3750H CPU和配備8 GB RAM的Windows10系統上.表1和表2中標簽端的計算開銷均通過程序計算得到.

Table 1 Performance Comparison of DPRAP Protocol and Ref [14] in Seed Generation Phase

Table 2 Performance Comparison of DPRAP Protocol and Other Literatures in Authentication Phase
表1和表2分別展示了DPRAP協議與文獻[14]在種子生成階段和認證階段的性能對比.在通信開銷方面,由于DPRAP協議為防止偽隨機數發生器種子直接在非安全信道上傳輸導致泄漏,在通信過程中增加了一輪對Hash函數輸出消息的驗證,在認證階段為防止假冒標簽也能通過服務器的驗證,加入了通信量RS,因此通信開銷方面有所增大.在計算開銷方面,在種子生成階段引入了多次Hash和異或操作,以達到隱藏種子通信值的目的,同時在認證階段也引入了對標簽身份標識IDS的異或操作,以驗證標簽的合法性,因此計算開銷方面也略有增大.在存儲開銷方面,由于DPRAP協議為了解決不合法標簽也能通過服務器認證的問題,在服務器認證標簽階段引入了IDS作為額外永久存儲開銷,因此標簽端的存儲開銷略有增大.總的來說,新協議與文獻[14]相比,通過犧牲少量的計算代價與通信開銷提高了協議的安全性,避免了文獻[14]存在的安全隱患.

Fig. 6 Communication cost comparison between DPRAP and Ref [14] in seed generation stage圖6 種子生成階段DPRAP與文獻[14]通信開銷對比
表2同時展示了DPRAP協議與文獻[9-10]之間的認證階段性能對比情況.在通信開銷方面,由于我們使用pad填充的串長為1 024 b,因此整體高于文獻[9-10].在標簽端計算開銷方面,文獻[9-10]也表現得更優.然而在存儲開銷方面,我們的方案具有明顯的優勢.在標簽端存儲開銷方面,DPRAP協議僅需96 b來額外存儲一個IDS,而文獻[9-10]則至少消耗128 b,且文獻[9]中還需額外存儲n個長度為64 b的臨時ID.在服務器端存儲開銷方面,文獻[9-10]需要在每輪認證過程中存儲PUF的CRP,且文獻[10]中需要額外存儲n組備用CRP,而DPRAP協議無需存儲CRP,服務器端的存儲開銷將顯著降低.由于具有明顯的存儲開銷上的優勢,我們提出的DPRAP協議將更加適用于低功耗的RFID系統,協議具有更好的實用性.
圖6以種子生成過程為例,展示了當通信信道發生阻塞時,系統的通信開銷隨著重傳次數的增加而發生的變化(重傳的時間不會超過閾值τ).可以看到,隨著重傳次數的增加,總通信開銷會不斷增大,并呈線性變化.
本文針對文獻[14]的協議進行安全性分析,指出其存在的偽隨機數發生器種子泄露問題,并且存在去同步攻擊、重放攻擊和假冒攻擊等安全隱患.為了避免文獻[14]出現的安全隱患問題,本文提出了一種新的基于雙PUF的RFID認證協議.通過Hash與異或運算對種子的值進行加密隱藏,從而確保種子傳輸過程中的安全性;同時增加時間閾值避免去同步攻擊所帶來的安全隱患;且通過標簽合法性驗證抵抗標簽偽造攻擊.利用BAN邏輯和Vaudenay模型對新方案進行形式化分析和驗證,結果表明新方案解決了原協議中存在的安全隱患,具有良好的安全性和隱私性,能夠抵抗多種惡意攻擊,更加適用于RFID系統的實際應用場景.下一階段研究工作將在確保協議安全隱私的同時,適當降低計算代價和通信開銷以提高認證的效率.