陳 莊,陳亞茹
(重慶理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院, 重慶 400054)
基于hash實(shí)現(xiàn)低成本RFID的SRFID安全方案
陳 莊,陳亞茹
(重慶理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院, 重慶 400054)
針對RFID技術(shù)在安全和隱私方面存在的問題,提出在后臺服務(wù)器和標(biāo)簽之間相互認(rèn)證的兩個(gè)步驟,改進(jìn)了傳統(tǒng)的在標(biāo)簽、閱讀器和后端服務(wù)器需要一個(gè)安全通道來完成相互認(rèn)證的過程。提出的方案基于一個(gè)單向散列函數(shù)和共享信息同步來實(shí)現(xiàn)簡單、低成本、可伸縮的安全性認(rèn)證,解決了安全標(biāo)簽所有者轉(zhuǎn)移和標(biāo)簽委托的問題。分析結(jié)果表明:該方案安全性較強(qiáng)。
RFID;散列函數(shù);認(rèn)證;隱私和安全
目前,RFID是一種很有前景的技術(shù)。被動型的標(biāo)簽由于大都采用低成本的設(shè)計(jì),它的標(biāo)簽計(jì)算能力較弱,在后端服務(wù)器和標(biāo)簽之間的認(rèn)證過程中,傳統(tǒng)方式需要一個(gè)安全的通道來完成相互認(rèn)證,其中還需要安全標(biāo)簽所有者轉(zhuǎn)移和標(biāo)簽委托。一般情況下,每個(gè)閱讀器用一種安全和同步的方式去改變標(biāo)簽的ID。大量的黑客人員會利用這個(gè)漏洞來進(jìn)行竊聽攻擊、重播攻擊、標(biāo)記跟蹤,標(biāo)記克隆或中間人跟蹤,從而達(dá)到利用跟蹤標(biāo)簽來攻擊后端服務(wù)器或者獲取服務(wù)器數(shù)據(jù)的目的。
近年來,隨著對散列函數(shù)的不斷深入研究,出現(xiàn)了基于散列函數(shù)的認(rèn)證方案。文獻(xiàn)[3]提出的基于ID協(xié)議變化認(rèn)證算法采用hash-lock協(xié)議,通過metaID=H(K)方法來隱藏真實(shí)的ID。盡管該方案提供了一種保證傳輸數(shù)據(jù)安全性的方法,但是攻擊方也容易通過標(biāo)簽追蹤到其ID,影響了RFID的安全性。文獻(xiàn)[4] 提出了一種雙向認(rèn)證協(xié)議,閱讀器和標(biāo)簽基于同步信息進(jìn)行身份認(rèn)證,使同步傳輸數(shù)據(jù)被后端服務(wù)器監(jiān)管。但是,該協(xié)議容易被拒絕服務(wù)和造成標(biāo)簽?zāi)M攻擊。文獻(xiàn)[5]證實(shí)了這個(gè)后端服務(wù)器利用O(n)識別標(biāo)簽。文獻(xiàn)[6]改進(jìn)了文獻(xiàn)[3-4]的方法,針對提出的協(xié)議允許在數(shù)據(jù)交換的過程中進(jìn)行雙向身份認(rèn)證,同時(shí)防止在認(rèn)證過程中標(biāo)簽ID被篡改。但存在下面3點(diǎn)不足:
① 方案是不可伸縮的;
② 端服務(wù)器不能處理大量的便簽信息。使用相同的無線通道時(shí)無法識別出多個(gè)標(biāo)簽,后端服務(wù)器需要詳細(xì)地識別個(gè)人標(biāo)簽;
③ 過多使用hash函數(shù)計(jì)算增加了成本,被動型標(biāo)簽無法滿足要求;
針對以上問題,本文為被動型的標(biāo)簽提供了一種安全機(jī)制,這就意味著復(fù)雜的密碼學(xué)不適合用于這種類型的標(biāo)簽。本文提出的方案僅需少量的計(jì)算,由于算法需要一種單向的哈希函數(shù),因此該方案適用于這些被動型的標(biāo)簽。
為了解決上述安全問題,需要考慮如下:
1) 相互身份認(rèn)證:允許讀寫器和標(biāo)簽在數(shù)據(jù)傳輸過程中驗(yàn)證對方的身份;
2) 機(jī)密性:攻擊者可通過標(biāo)簽在不安全信息通道進(jìn)行信息傳遞的過程中計(jì)算出某個(gè)數(shù)值;
3) 不可分辨性:傳輸?shù)臉?biāo)簽信息不和另一個(gè)標(biāo)簽傳輸信息相同;
4) 向前安全性:之前傳輸?shù)男畔⒉荒苁褂卯?dāng)前的傳輸標(biāo)記信息進(jìn)行跟蹤;
5) 去同步性:RFID具有抵抗攻擊的能力,目標(biāo)是失去同步的標(biāo)簽和后端服務(wù)器。
6) 標(biāo)記委托:委托允許后端服務(wù)器將識別和驗(yàn)證標(biāo)記的權(quán)限委托給指定的實(shí)體,以獲得有限數(shù)量的查詢。
7) 標(biāo)簽所有權(quán)轉(zhuǎn)移:標(biāo)簽所有權(quán)意味著具有身份標(biāo)簽和控制所有相關(guān)信息的授權(quán)。
本文提出的解決RFID安全和隱私問題的安全方案提供了雙向認(rèn)證和標(biāo)簽ID更新,能防止在標(biāo)簽和后端服務(wù)器的跟蹤、克隆和竊聽行為,以及其他部分的攻擊。該方案滿足了前述的安全需求,方案基于響應(yīng)-回復(fù)機(jī)制,在后端服務(wù)器存儲標(biāo)簽的所有相關(guān)信息,標(biāo)簽的內(nèi)容是唯一的ID索引。為了解決仿冒攻擊時(shí),標(biāo)簽和后端服務(wù)器進(jìn)行相互認(rèn)證,這個(gè)相互認(rèn)證是基于標(biāo)簽和后端服務(wù)器共享的秘密數(shù)據(jù)。
在身份認(rèn)證成功之后,標(biāo)簽ID更新被后端服務(wù)器更新,保證了系統(tǒng)安全性。由于這些更新機(jī)制可能導(dǎo)致去同步化攻擊,因此在后端服務(wù)器中通過密鑰保持了當(dāng)前數(shù)據(jù)的記錄和數(shù)據(jù)更新的過程。當(dāng)認(rèn)證失敗時(shí),系統(tǒng)會根據(jù)之前的數(shù)據(jù)恢復(fù)舊的ID進(jìn)行身份認(rèn)證。安全標(biāo)簽所有者轉(zhuǎn)移和標(biāo)簽委托更新也被提出來。
在提出的方案中,包含以下假設(shè):
1) 標(biāo)簽的處理能力有限;.
2) 后端服務(wù)器的計(jì)算能力顯著高于標(biāo)簽;
3) 如果詳細(xì)的標(biāo)簽信息從后端服務(wù)器傳到標(biāo)簽是在身份認(rèn)證之后,則后端服務(wù)器和閱讀器的通道被假定是安全的。否則,提議的方案在服務(wù)器和標(biāo)簽之間的安全通道不需要雙向認(rèn)證。
4) 閱讀器和標(biāo)簽之間的通信處于不安全的無線通道;
5) 標(biāo)簽是被動型的,并且只需要有1個(gè)單向的hash函數(shù),這就使得該協(xié)議適用于低成本的RFID;
6) 標(biāo)記和后端服務(wù)器共享兩個(gè)數(shù)值:
? IDHZ是一個(gè)被隱藏的標(biāo)識號,被標(biāo)簽,后端服務(wù)器唯一識別且可更新每次身份認(rèn)證的會話;
? SQNZ是一系列數(shù),被標(biāo)簽,后端服務(wù)器唯一識別且可以更新每次身份認(rèn)證的會話。SQN最初的數(shù)據(jù)是n0。SQN的一系列數(shù)據(jù)可有效地阻止第三方使用被攔截的身份驗(yàn)證消息,可對數(shù)據(jù)進(jìn)行身份認(rèn)證以發(fā)現(xiàn)假數(shù)據(jù)。它還可以驗(yàn)證在身份認(rèn)證之前從標(biāo)簽到后端服務(wù)器的數(shù)據(jù)是否被使用過。
這兩個(gè)值由后端服務(wù)器產(chǎn)生,并在部署前以一種安全的方式將標(biāo)記傳輸?shù)綌?shù)據(jù)庫中。
7) 后端服務(wù)器數(shù)據(jù)庫為每個(gè)標(biāo)記存儲了3個(gè)值:ID、IDold和IDH-old,其中ID是標(biāo)記的當(dāng)前ID;IDold是最后一個(gè)會話標(biāo)記的ID;IDH-old是最后一個(gè)會話標(biāo)記隱藏的ID。
通過授權(quán)的設(shè)備進(jìn)行標(biāo)記識別,標(biāo)簽,閱讀器和服務(wù)器進(jìn)行SRFID認(rèn)證的流程見圖1。
圖1 SRFID認(rèn)證
步驟1 讀寫器向標(biāo)簽發(fā)送查詢或隨機(jī)的編號R。
步驟2 收到R后,標(biāo)簽根據(jù)IDT=h(IDH||SQN)計(jì)算出當(dāng)前的ID,并根據(jù)M1=h(IDH||R)查看數(shù)據(jù),隨后把數(shù)據(jù)傳給讀寫器,R將其傳給后端服務(wù)器,在服務(wù)器中使用IDT和M1函數(shù)。
步驟3 后端服務(wù)器收到IDT和M1后,將根據(jù)ID搜索數(shù)據(jù)庫,為標(biāo)簽ID找到相對應(yīng)的標(biāo)記記錄。
步驟4 后端服務(wù)器通過M1′=h(IDH||R)和接收到的IDT進(jìn)行比較,如果ID和數(shù)據(jù)沒有匹配成功,數(shù)據(jù)傳輸終止;如果匹配成功,則后端服務(wù)器保存數(shù)據(jù)。
步驟5 后端服務(wù)器對標(biāo)簽進(jìn)行身份驗(yàn)證:
?SQNZ的增加:采用SQN=INC(SQN)函數(shù)來實(shí)現(xiàn);
? 保留當(dāng)前的IDh:IDold=IDh,用以解決之后不正常的數(shù)據(jù)傳輸;
? 更新IDh:IDh=h(SQN||IDH);
步驟6IDT、M2和R發(fā)送標(biāo)記的閱讀器;
步驟7 后端服務(wù)器更新下一個(gè)身份驗(yàn)證過程的當(dāng)前標(biāo)記ID:
?SQNZ再增加一次:SQN=INC(SQN);
? 保留當(dāng)前的IDold:防止以后的異常操作問題;
? 計(jì)算出下一個(gè)標(biāo)簽的ID:ID=h(IDH,SQN);
步驟8 標(biāo)簽收到M2和R,對后端服務(wù)器和標(biāo)簽認(rèn)證如下:
? 增加SQN:SQN=INC(SQN),匹配服務(wù)器在步驟5中計(jì)算的SQN的值;
? 計(jì)算IDtmp=h(SQN||IDH),與步驟5中服務(wù)器計(jì)算的IDH值相匹配。
步驟9 進(jìn)行標(biāo)簽更新:SQN=DEC(SQN),IDH:IDH=IDtmp
本文方案是可擴(kuò)展的。它提供標(biāo)簽授權(quán)和轉(zhuǎn)移所有權(quán)的有效途徑。為了證明本文方案的可伸縮性,采用文獻(xiàn)[2]中使用的方法和假設(shè)。
2.3.1 標(biāo)簽授權(quán)
2.3.2 所有權(quán)轉(zhuǎn)移
為了實(shí)現(xiàn)標(biāo)簽T的所有權(quán)轉(zhuǎn)移,S必須通過安全通道將秘密的IDH和SQN傳遞給新的所有者。這種轉(zhuǎn)移只發(fā)生在以往用戶已更新標(biāo)簽和實(shí)體,為了保護(hù)可能會被新的所有者追蹤信息的情況下。在收到來自以往服務(wù)器的信息時(shí),新的所有者的服務(wù)器應(yīng)更新標(biāo)簽的秘密, 因此需要保證之前信息傳遞的隱私,防止被新的用戶追蹤。新用戶對標(biāo)簽進(jìn)行跟蹤時(shí),需要確保沒有被以往用戶竊聽。一旦更新完成,只有新用戶的服務(wù)器能鑒定和更新標(biāo)簽T。標(biāo)記秘密更新協(xié)議流程見圖2。
步驟1 服務(wù)器將一個(gè)更新消息和一個(gè)隨機(jī)數(shù)R通過閱讀器傳遞給標(biāo)記;
步驟2 收到R之后,根據(jù)IDT=h(IDH||SQN) 和M1=H(IDH||R) 標(biāo)簽計(jì)算出IDH和M1,傳遞給閱讀器,并連同R轉(zhuǎn)發(fā)給服務(wù)器。
步驟3 當(dāng)后端服務(wù)器接收IDT和M1后,與儲存的ID和M1進(jìn)行比較。如果它們不匹配,則連接終止;如果匹配,則后端服務(wù)器生成一個(gè)隨機(jī)數(shù)R0并執(zhí)行以下計(jì)算:
1)M2=IDH/new⊕h(R′||IDH),將新的IDH安全傳輸?shù)綐?biāo)簽;
2)M3=SQNnew⊕h(R′||SQN),將新的SQN安全傳輸?shù)綐?biāo)簽;
3)M4=h(IDH/new||SQNnew||R′);
4)ID=IDH/new,IDH增加新值;
5)SQN=SQNnew,為SQN增加新值。
步驟4 后端服務(wù)器發(fā)送IDT,R′,M2,M3給閱讀器,并將其轉(zhuǎn)發(fā)到標(biāo)簽;
步驟5 當(dāng)標(biāo)簽收到R′,M2,M3后進(jìn)行以下計(jì)算:
?IDtmp=M2⊕h(R′||IDH)
?SQNtmp=M3⊕h(R′||SQN)
圖2 標(biāo)記秘密更新協(xié)議
通過SRFID協(xié)議,對手可以采用竊聽攻擊方式獲得R′,M2,M3,ID,并試圖使用這些信息來確定IDH或SQN。由于這些值被哈希函數(shù)和XOR操作保護(hù),因此不能通過簡單的竊聽來發(fā)現(xiàn),說明本文方案是不受竊聽的。
攻擊者不能重復(fù)使用以往會話中的數(shù)據(jù),因?yàn)槊總€(gè)響應(yīng)都會產(chǎn)生一個(gè)新隨機(jī)數(shù)的加密函數(shù)。具體地說,就是M2,M3,M4取決于R,ID依賴于在標(biāo)記和后端服務(wù)器之間共享的SQN,并需要更新每個(gè)身份驗(yàn)證會話。
如果攻擊方想要克隆一個(gè)真實(shí)的標(biāo)簽,通過制造一個(gè)帶有竊聽信息的假標(biāo)簽,它需要先查詢到標(biāo)簽并獲得響應(yīng)ID和M1;接著,攻擊方把ID放在偽造的標(biāo)簽上,如果RFID閱讀器相信假標(biāo)簽是真實(shí)的,那么攻擊方就會成功。由于攻擊方無法預(yù)測隨機(jī)數(shù)R,將從真正的標(biāo)簽(M1)獲得散列值,因此,攻擊方不能克隆一個(gè)標(biāo)簽來欺騙讀者。
活躍的攻擊者可以截獲來自讀者的第5個(gè)消息給標(biāo)簽,后端服務(wù)器刷新了密鑰,標(biāo)記將不會執(zhí)行。因此,后端服務(wù)器和標(biāo)記之間的共享鍵可能不同,DOS攻擊后由于去同步化攻擊,造成標(biāo)簽不能通過合法身份驗(yàn)證,而本文提到的去同步化機(jī)制可使協(xié)議抵抗DOS攻擊。
一個(gè)攻擊者不能通過插入或修改消息來干擾交換的消息,因?yàn)槭褂秒S機(jī)數(shù)R、IDH和SQN時(shí)只知道后端服務(wù)器和標(biāo)簽。
表2是與其他方案攻擊抵抗的比較。其中:田蕓[7]采用新匿名的RFID身份認(rèn)證協(xié)議,簡稱ARAP;葉翔[1]采用低成本標(biāo)簽協(xié)議,使用哈希函數(shù)和XOR操作;柳毅[9]提出一種輕量級反去同步保護(hù)協(xié)議;周曄[8]提出基于散列相互認(rèn)證身份協(xié)議,解決隱私問題。
SRFID新方案與現(xiàn)有方案的對比見表3。表3中:√表示滿足要求,—表示沒有滿足要求。
表2 與其他方案攻擊抵抗的比較
√:抵抗這種攻擊; *:部分抵抗這種攻擊; —:不能抵抗這種攻擊。
績效評估時(shí),將根據(jù)計(jì)算成本、通信成本和存儲需求來評估所提議的方案的性能。其中:H代表散列操作;RNG代表產(chǎn)生隨機(jī)數(shù)操作;mod代表模塊化操作;IH代表哈希函數(shù)的長度輸出;IR:RNG代表長度的輸出;IS代表任何存儲值的長度。
表3 安全級別與其他方案的對比
表4 方案績效對比
本文基于hash實(shí)現(xiàn)低成本RFID系統(tǒng)的SRFID安全方案。該方案旨在解決現(xiàn)有方法關(guān)于RFID性能和安全方面的問題。通過與幾種攻擊方案的比較,發(fā)現(xiàn)其在前向安全性、去同化性、安全標(biāo)簽委托,以及安全標(biāo)簽所有權(quán)轉(zhuǎn)移性能方面優(yōu)于現(xiàn)有的方案。雖然本文方案在安全性方面需要一些成本,但經(jīng)過研究發(fā)現(xiàn),成本是合理的,且與之前提出的方案相比甚至更低,其計(jì)算成本低于其他方案,標(biāo)簽T只需要4個(gè)哈希操作。本文方案有兩個(gè)獨(dú)特的功能支持可伸縮性,后端服務(wù)器只需要O(1)去進(jìn)行標(biāo)簽識別,標(biāo)簽委托和所有權(quán)轉(zhuǎn)移是簡單的。本文還介紹了一種為安全標(biāo)簽所有權(quán)轉(zhuǎn)移更新標(biāo)簽機(jī)密的協(xié)議。
[1] 葉翔,徐展,胡翔,等.低成本有源RFID雙向認(rèn)證加密方案[J].計(jì)算機(jī)應(yīng)用,2014(2):456-460.
[2] 謝永,章義來.一種基于Hash的RFID雙向認(rèn)證的安全協(xié)議[J].湖南科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2012(4):73-77.
[3] 何長林,劉煒.基于Hash的ID協(xié)議變化認(rèn)證算法在RFID系統(tǒng)中的應(yīng)用[J].物聯(lián)網(wǎng)技術(shù),2014(9):48-4951.
[4] 王愛明,李艾華,穆曉曦.用Hash鎖方法解決RFID的安全與隱私問題[J].中國防偽報(bào)道,2006(10):43-47.
[5] 李慧賢.輕量級RFID雙向認(rèn)證協(xié)議設(shè)計(jì)與分析[J].西安電子科技大學(xué)學(xué)報(bào),2012(1):172-178.
[6] 王立斌,馬昌社,王濤.一種安全高效的RFID雙邊認(rèn)證協(xié)議[J].計(jì)算機(jī)應(yīng)用,2008(9):2236-2238.
[7] 田蕓,陳恭亮,李建華.針對RFID身份認(rèn)證協(xié)議——ARAP協(xié)議的攻擊及改進(jìn)[J].中國電子科學(xué)研究院學(xué)報(bào),2011(6):556-560.
[8] 周曄.基于Hash鏈的RFID雙向認(rèn)證協(xié)議的設(shè)計(jì)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014(4):100-101,104.
[9] 柳毅,顧國生.一種新的輕量級RFID雙向認(rèn)證協(xié)議[J].計(jì)算機(jī)科學(xué),2017(2):206-208,227.
Hash-BasedSecuritySRFIDSchemeforLowCostRFIDSystems
CHEN Zhuang, CHEN Yaru
(College of Computer Science and Engineering, Chongqing University of Technology, Chongqing 400054, China)
In the existing security and privacy problems, the proposed scheme provides a two steps mutual authentication between the backend server and the tag which does not require a secure channel between the tag reader and the backend server to complete the authentication process. A new simple, low cost, and scalable security scheme relying on one-way hash functions and synchronized secret information is proposed, which meets the requirements for tag delegation and secure tag ownership transfer. Our analysis results show that the proposed scheme outperforms existing schemes in terms of security and performance.
RFID;hash function;authentication; privacy and security
2017-05-23
重慶市研究生科研創(chuàng)新項(xiàng)目(CYS16222);重慶理工大學(xué)研究生創(chuàng)新基金項(xiàng)目(YCX2016229)
陳莊(1964—),男,博士,教授,主要從事企業(yè)信息化管理、網(wǎng)絡(luò)與信息安全研究; 陳亞茹,女,碩士研究生,主要從事網(wǎng)絡(luò)與信息安全研究,E-mail:642200814@qq.com。
陳莊,陳亞茹.基于hash實(shí)現(xiàn)低成本RFID的SRFID安全方案[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2017(12):140-145,172.
formatCHEN Zhuang, CHEN Yaru.Hash-Based Security SRFID Scheme for Low Cost RFID Systems[J].Journal of Chongqing University of Technology(Natural Science),2017(12):140-145,172.
10.3969/j.issn.1674-8425(z).2017.12.024
TP302.7
A
1674-8425(2017)12-0140-06
(責(zé)任編輯楊黎麗)