◆陳文雄
?
基于隨機數和Hash函數的RFID安全協議
◆陳文雄
(廣州汽車集團股份有限公司汽車工程研究院信息與數字化部 廣東 511434)
RFID無需經過物理接觸就可以在開放的環境中進行對像的識別,使得RFID容易遭受攻擊。本文通過分析兩種經典的RFID協議,提出了基于隨機數和Hash函數結合的新協議。本協議能夠避免非法閱讀、標簽跟蹤、消息竊聽、偽裝授權、消息重放和哈希函數遭破解等問題。
RFID;隨機數;安全協議
無線射頻識別(RFID),作為一個新無需接觸的信息識別技術,得到廣泛使用。而很多無線通信的安全問題也隨之出現了,一些攻擊者針對RFID的弱點進行攻擊。Sarma等人提出了Hash-Lock[2]協議,該協議中metaid保持不變,而且id也是通過明文進行傳輸,這很容易受到攻擊和跟蹤。Weis等人提出了隨機化Hash-Lock[3]協議,它主要是采用“咨詢-應答”的隨機數機制。該協議中的idk也是以明文的形式進行傳輸,容易受到攻擊和跟蹤。本文中,我們采用了基于隨機數和Hash函數加密的方法來減少標簽實現的復雜性,同時確保RFID的協議安全。
目前的RFID安全協議主要是采用加密的安全性來提高數據的傳輸,采用“詢問-響應”的模式來驗證標簽和閱讀器。其中典型的方法包括Hash-Lock協議和隨機化Hash-Lock協議。在本節,我們將對這兩種協議進行分析。
Hash-Lock是Sarma提出來的,該協議的重點是使用metaid代替真實的標簽id來響應標簽閱讀器。該協議的流程圖如圖1所示。

圖1 Hash-Lock協議流程圖
Weis等人提出了隨機化Hash-Lock協議。它主要是采用“咨詢-應答”的隨機數機制。其協議流程圖如圖2所示。

圖2 隨機哈希函數認證協議示意圖
在隨機化Hash-Lock協議中,idk也是在不安全的信道中以明文的形式進行傳輸,很容易受到攻擊者的跟蹤和攻擊。此外,該協議也不能進行標簽重傳攻擊。
前面我們分析了兩種經典RFID協議,現在我們主要是找一個能夠平衡協議的安全性和標簽復雜度的協議。基于這個目的,我們提出了基于隨機數和加密哈希函數實現的安全的RFID協議。
在描述協議過程中,我們提出了兩種基本假設:
(1)在標簽和閱讀器之間的無線信道,攻擊者能夠竊聽到所有的消息;
(2)在標簽和閱讀器之間的無線信道是安全的,攻擊者不能獲取到任何消息。
在擬定的協議中,我們令標簽認證信息為id,共享密鑰為k,生成的隨機數為R。閱讀器在每次認證標簽時產生一個新的隨機數R。服務器將每個標簽的k和id保存起來。該協議的流程圖如圖3所示。
[參數]
-query:請求響應標簽
-id:標簽認證信息
-k:標簽和服務器的共享密鑰
-R:閱讀器生成的隨機數
-⊕:邏輯異或
-H(A):A的哈希值
-Hk(A):H(A)和k構成的密鑰

圖3 擬定協議流程圖
該協議的認證過程如下:
(1)閱讀器生成一個隨機數R,并向標簽發送一個query認證請求;
(2)在標簽成功接收到認證請求后,將接收到的R與上次接收到的R進行比較,如果兩個相等的話,則表示重復讀取標簽,認證失敗,否則,計算id⊕Hk(R),并將R和id⊕Hk(R)發送給閱讀器;
(3)如果閱讀器成功接收到標簽的反應,則比較接收到的R和上次存儲的R,如果它們相等的話則把R和id⊕Hk(R)轉發給服務器,否則,認證失敗;
(4)服務器從閱讀器成功接收到消息后,服務器計算idx⊕Hk(R),并且比較id⊕Hk(R)和id⊕Hk(R’),如果兩者相等,則表示認證成功。假設認證的id為idx,服務器將idx,k和R發送到閱讀器。如果不相等,則認證失敗;
(5)如果閱讀器成功從服務器接收到消息,則計算Hk(idx⊕R)并且把它發送到標簽,否則,沒有反應;
(6)標簽成功得地從閱讀器接收到消息后,通過存儲的id和R計算Hk(idx⊕R’)。如果他們相等的話,則閱讀器將被授權,否則是非法的。
RFID技術廣泛應用于各行各業中,其安全和可靠的信息傳輸時一個重要的問題。在分析前人提出了各種安全協議后,提出了一個基于隨機數和哈希函數的RFID安全協議。它能夠避免非法閱讀、標簽跟蹤、消息竊聽、偽裝授權、消息重放和哈希函數遭破解等問題,而且能夠使認證過程中的大量運算集中在服務器中,減少了標簽的電路復雜,從而降低了系統的成本。
[1]魏棉裕, 歐毓毅.改進的抗去同步化攻擊RFID安全協議[J].計算機工程與設計, 2017.
[2]黃斌, 張金鴻, 胡忠奎等.基于動態ID的RFID安全協議研究及設計[J].現代計算機, 2016.
[3]楊元原, 陸臻, 顧健等.RFID安全協議追蹤攻擊的形式化分析[C].//第30次全國計算機安全學術交流會論文集, 2015.