◆陳文雄
?
基于隨機(jī)數(shù)和Hash函數(shù)的RFID安全協(xié)議
◆陳文雄
(廣州汽車集團(tuán)股份有限公司汽車工程研究院信息與數(shù)字化部 廣東 511434)
RFID無需經(jīng)過物理接觸就可以在開放的環(huán)境中進(jìn)行對像的識別,使得RFID容易遭受攻擊。本文通過分析兩種經(jīng)典的RFID協(xié)議,提出了基于隨機(jī)數(shù)和Hash函數(shù)結(jié)合的新協(xié)議。本協(xié)議能夠避免非法閱讀、標(biāo)簽跟蹤、消息竊聽、偽裝授權(quán)、消息重放和哈希函數(shù)遭破解等問題。
RFID;隨機(jī)數(shù);安全協(xié)議
無線射頻識別(RFID),作為一個新無需接觸的信息識別技術(shù),得到廣泛使用。而很多無線通信的安全問題也隨之出現(xiàn)了,一些攻擊者針對RFID的弱點進(jìn)行攻擊。Sarma等人提出了Hash-Lock[2]協(xié)議,該協(xié)議中metaid保持不變,而且id也是通過明文進(jìn)行傳輸,這很容易受到攻擊和跟蹤。Weis等人提出了隨機(jī)化Hash-Lock[3]協(xié)議,它主要是采用“咨詢-應(yīng)答”的隨機(jī)數(shù)機(jī)制。該協(xié)議中的idk也是以明文的形式進(jìn)行傳輸,容易受到攻擊和跟蹤。本文中,我們采用了基于隨機(jī)數(shù)和Hash函數(shù)加密的方法來減少標(biāo)簽實現(xiàn)的復(fù)雜性,同時確保RFID的協(xié)議安全。
目前的RFID安全協(xié)議主要是采用加密的安全性來提高數(shù)據(jù)的傳輸,采用“詢問-響應(yīng)”的模式來驗證標(biāo)簽和閱讀器。其中典型的方法包括Hash-Lock協(xié)議和隨機(jī)化Hash-Lock協(xié)議。在本節(jié),我們將對這兩種協(xié)議進(jìn)行分析。
Hash-Lock是Sarma提出來的,該協(xié)議的重點是使用metaid代替真實的標(biāo)簽id來響應(yīng)標(biāo)簽閱讀器。該協(xié)議的流程圖如圖1所示。
圖1 Hash-Lock協(xié)議流程圖
Weis等人提出了隨機(jī)化Hash-Lock協(xié)議。它主要是采用“咨詢-應(yīng)答”的隨機(jī)數(shù)機(jī)制。其協(xié)議流程圖如圖2所示。
圖2 隨機(jī)哈希函數(shù)認(rèn)證協(xié)議示意圖
在隨機(jī)化Hash-Lock協(xié)議中,idk也是在不安全的信道中以明文的形式進(jìn)行傳輸,很容易受到攻擊者的跟蹤和攻擊。此外,該協(xié)議也不能進(jìn)行標(biāo)簽重傳攻擊。
前面我們分析了兩種經(jīng)典RFID協(xié)議,現(xiàn)在我們主要是找一個能夠平衡協(xié)議的安全性和標(biāo)簽復(fù)雜度的協(xié)議。基于這個目的,我們提出了基于隨機(jī)數(shù)和加密哈希函數(shù)實現(xiàn)的安全的RFID協(xié)議。
在描述協(xié)議過程中,我們提出了兩種基本假設(shè):
(1)在標(biāo)簽和閱讀器之間的無線信道,攻擊者能夠竊聽到所有的消息;
(2)在標(biāo)簽和閱讀器之間的無線信道是安全的,攻擊者不能獲取到任何消息。
在擬定的協(xié)議中,我們令標(biāo)簽認(rèn)證信息為id,共享密鑰為k,生成的隨機(jī)數(shù)為R。閱讀器在每次認(rèn)證標(biāo)簽時產(chǎn)生一個新的隨機(jī)數(shù)R。服務(wù)器將每個標(biāo)簽的k和id保存起來。該協(xié)議的流程圖如圖3所示。
[參數(shù)]
-query:請求響應(yīng)標(biāo)簽
-id:標(biāo)簽認(rèn)證信息
-k:標(biāo)簽和服務(wù)器的共享密鑰
-R:閱讀器生成的隨機(jī)數(shù)
-⊕:邏輯異或
-H(A):A的哈希值
-Hk(A):H(A)和k構(gòu)成的密鑰
圖3 擬定協(xié)議流程圖
該協(xié)議的認(rèn)證過程如下:
(1)閱讀器生成一個隨機(jī)數(shù)R,并向標(biāo)簽發(fā)送一個query認(rèn)證請求;
(2)在標(biāo)簽成功接收到認(rèn)證請求后,將接收到的R與上次接收到的R進(jìn)行比較,如果兩個相等的話,則表示重復(fù)讀取標(biāo)簽,認(rèn)證失敗,否則,計算id⊕Hk(R),并將R和id⊕Hk(R)發(fā)送給閱讀器;
(3)如果閱讀器成功接收到標(biāo)簽的反應(yīng),則比較接收到的R和上次存儲的R,如果它們相等的話則把R和id⊕Hk(R)轉(zhuǎn)發(fā)給服務(wù)器,否則,認(rèn)證失?。?/p>
(4)服務(wù)器從閱讀器成功接收到消息后,服務(wù)器計算idx⊕Hk(R),并且比較id⊕Hk(R)和id⊕Hk(R’),如果兩者相等,則表示認(rèn)證成功。假設(shè)認(rèn)證的id為idx,服務(wù)器將idx,k和R發(fā)送到閱讀器。如果不相等,則認(rèn)證失??;
(5)如果閱讀器成功從服務(wù)器接收到消息,則計算Hk(idx⊕R)并且把它發(fā)送到標(biāo)簽,否則,沒有反應(yīng);
(6)標(biāo)簽成功得地從閱讀器接收到消息后,通過存儲的id和R計算Hk(idx⊕R’)。如果他們相等的話,則閱讀器將被授權(quán),否則是非法的。
RFID技術(shù)廣泛應(yīng)用于各行各業(yè)中,其安全和可靠的信息傳輸時一個重要的問題。在分析前人提出了各種安全協(xié)議后,提出了一個基于隨機(jī)數(shù)和哈希函數(shù)的RFID安全協(xié)議。它能夠避免非法閱讀、標(biāo)簽跟蹤、消息竊聽、偽裝授權(quán)、消息重放和哈希函數(shù)遭破解等問題,而且能夠使認(rèn)證過程中的大量運算集中在服務(wù)器中,減少了標(biāo)簽的電路復(fù)雜,從而降低了系統(tǒng)的成本。
[1]魏棉裕, 歐毓毅.改進(jìn)的抗去同步化攻擊RFID安全協(xié)議[J].計算機(jī)工程與設(shè)計, 2017.
[2]黃斌, 張金鴻, 胡忠奎等.基于動態(tài)ID的RFID安全協(xié)議研究及設(shè)計[J].現(xiàn)代計算機(jī), 2016.
[3]楊元原, 陸臻, 顧健等.RFID安全協(xié)議追蹤攻擊的形式化分析[C].//第30次全國計算機(jī)安全學(xué)術(shù)交流會論文集, 2015.