◆甘 勇 杜 超 賀 蕾 楊宗琴
(鄭州輕工業(yè)學(xué)院計(jì)算機(jī)與通信工程學(xué)院 河南 450002)
基于哈希函數(shù)的RFID標(biāo)簽所有權(quán)安全轉(zhuǎn)換協(xié)議研究
◆甘 勇 杜 超 賀 蕾 楊宗琴
(鄭州輕工業(yè)學(xué)院計(jì)算機(jī)與通信工程學(xué)院 河南 450002)
本文在基于Hash函數(shù)的RFID安全認(rèn)證協(xié)議基礎(chǔ)上通過增加共享密鑰、設(shè)置可動(dòng)態(tài)更新的標(biāo)簽別名提高了認(rèn)證過程中后端數(shù)據(jù)庫查找標(biāo)簽時(shí)的查詢效率,同時(shí)能夠有效抵御追蹤攻擊,保障了標(biāo)簽的匿名性;在所有權(quán)轉(zhuǎn)換過程中采用原所有者作為轉(zhuǎn)換中介,能夠保證標(biāo)簽信息的前向及后向安全性。
哈希函數(shù);所有權(quán)轉(zhuǎn)換;協(xié)議
RFID技術(shù),是一種通信技術(shù),無需建立機(jī)械或光學(xué)接觸即可通過無線電信號識別特定目標(biāo)并讀寫相關(guān)數(shù)據(jù),該技術(shù)現(xiàn)已廣泛應(yīng)用于圖書館,門禁系統(tǒng),食品安全溯源等方面。由于標(biāo)簽的便攜性,為其配備的存儲及計(jì)算資源十分有限,因此如何在低計(jì)算量的情況下確保標(biāo)簽所有權(quán)安全轉(zhuǎn)換是一項(xiàng)重要研究課題。針對這一課題已有學(xué)者對此展開了研究:K.Osaka等[1]提出了一種基于TTP(可信第三方)的所有權(quán)轉(zhuǎn)換協(xié)議,該協(xié)議使用Hash 函數(shù)和密鑰對消息進(jìn)行加密,但對于去同步化攻擊缺乏有效的抵御手段。P.Jappinen等[2]對K.Osaka等[1]的方案進(jìn)行加強(qiáng)、提高了效率,但該協(xié)議仍然無法抵御跟蹤攻擊。B.Song等[4]提出了一個(gè)基于Hash 鏈標(biāo)簽標(biāo)識符的所有權(quán)轉(zhuǎn)移協(xié)議,但該協(xié)議在所有權(quán)轉(zhuǎn)移過程中有可能會(huì)遭到上一個(gè)所有者的竊聽。2009 年邵婧等[5]提出了一個(gè)先授權(quán)后更新的轉(zhuǎn)換協(xié)議,該協(xié)議能保護(hù)標(biāo)簽的位置信息,提供前向安全,并能抵御重放攻擊,但無法抵御去同步化攻擊。
本文在深入分析以上幾種方案的優(yōu)缺點(diǎn)之后,提出了一種RFID標(biāo)簽所有權(quán)安全轉(zhuǎn)換協(xié)議,協(xié)議通過哈希函數(shù)和隨機(jī)數(shù)對通信信息進(jìn)行加密,實(shí)現(xiàn)了標(biāo)簽和讀寫器的雙向認(rèn)證及所有權(quán)安全轉(zhuǎn)換,能夠提供前向及后向安全,有效抵御跟蹤攻擊和重傳攻擊等攻擊手段。
本文中使用到的符號含義如下:
符號 含義a,b 變量a和b的串聯(lián)ri由通信雙方生成的隨機(jī)數(shù)IDT標(biāo)簽所有者的身份標(biāo)識IDOO原所有者的身份標(biāo)識IDNO新所有者的身份標(biāo)識ID’T標(biāo)簽別名,供后端數(shù)據(jù)庫用來識別標(biāo)簽Ki標(biāo)簽與所有者共享的密鑰H(x) 對變量x進(jìn)行Hash運(yùn)算
在本協(xié)議中,標(biāo)簽與讀寫器共享一個(gè)密鑰K。后端數(shù)據(jù)庫不僅存儲標(biāo)簽IDT和共享密鑰K,還要計(jì)算IDT和K的哈希值作為標(biāo)簽的標(biāo)識。每次通信認(rèn)證成功之后進(jìn)行更新,以防止跟蹤攻擊。
為了不失一般性,本協(xié)議基于以下假設(shè):讀寫器與后端數(shù)據(jù)庫之間的通信信道是安全的,且后端數(shù)據(jù)庫屬于安全數(shù)據(jù)庫;標(biāo)簽與讀寫器之間的無線信道是不安全的;標(biāo)簽具有偽隨機(jī)數(shù)發(fā)生器,能夠生成偽隨機(jī)數(shù),并且可以進(jìn)行簡單的比特異或、移位運(yùn)算;標(biāo)簽的物理內(nèi)存是安全可靠的。
2.1 協(xié)議初始化
首先為標(biāo)簽T和閱讀器R生成初始共享密鑰K,K在隨后的認(rèn)證會(huì)話中時(shí)時(shí)更新;為標(biāo)簽T分配唯一標(biāo)識IDT;后端數(shù)據(jù)庫計(jì)算IDT和K結(jié)合后的哈希函數(shù)值ID’T并存儲作為標(biāo)簽的識別碼,同時(shí)存儲標(biāo)簽IDT和K。
2.2 認(rèn)證階段
認(rèn)證過程涉及標(biāo)簽對閱讀器的認(rèn)證及閱讀器對標(biāo)簽的認(rèn)證,其流程如圖1所示。
圖1 認(rèn)證流程
具體步驟如下:
步驟1:讀寫器生成隨機(jī)數(shù)rR,向標(biāo)簽T發(fā)送訪問請求并將rR發(fā)送給標(biāo)簽。
步驟2:標(biāo)簽收到訪問請求,生成隨機(jī)數(shù)rT,將rT發(fā)送給讀寫器。
步驟3:讀寫器收到rT,計(jì)算H(rR,rT,K),并將H(rR,rT,K)發(fā)送給標(biāo)簽。
步驟4:標(biāo)簽計(jì)算H(rR,rT,K)的值,并與讀寫器發(fā)來的值相比較,如果不一致則說明認(rèn)證失敗,不是合法的閱讀器,標(biāo)簽對本次的訪問請求不再做進(jìn)一步回應(yīng);如果一致則說明是合法的閱讀器,標(biāo)簽計(jì)算H(IDT,K)和H(IDT,rT,rR),并將計(jì)算結(jié)果{ H(IDT,K),H(IDT,rT,rR)}發(fā)送給閱讀器。
步驟5:閱讀器收到{ H(IDT,K),H(IDT,rT,rR)}后,在后端數(shù)據(jù)庫中查詢等于H(IDT,K)的記錄,如果查找不到,則說明此標(biāo)簽未在數(shù)據(jù)庫中注冊屬于非法標(biāo)簽,結(jié)束本次通信;如果查找到等于H(IDT,K)的記錄,則提取該記錄中存儲的IDT值,計(jì)算H(IDT,rT,rR),與標(biāo)簽發(fā)來的值對比,不一致則認(rèn)證失敗通訊結(jié)束,一致則確認(rèn)標(biāo)簽為合法標(biāo)簽。閱讀器計(jì)算H(rR,rT,K)并將計(jì)算結(jié)果存入后端數(shù)據(jù)庫中該標(biāo)簽記錄的K列,計(jì)算當(dāng)前H(IDT,K)并以此計(jì)算結(jié)果更新ID’T列,閱讀器發(fā)送{ H(IDT,rR,rT),Message},其中Message為認(rèn)證結(jié)束后指示標(biāo)簽更新自身所存儲K值的指令。
步驟6:標(biāo)簽收到{ H(IDT,rR,rT),Message}后,先對H(IDT,rR,rT)進(jìn)行計(jì)算驗(yàn)證是否正確,不正確則結(jié)束通訊,正確則根據(jù)Message中的指令,計(jì)算H(rR,rT,K)并用計(jì)算結(jié)果對自身存儲的K值進(jìn)行更新。至此認(rèn)證結(jié)束。
2.3 所有權(quán)轉(zhuǎn)換階段
本階段由原所有者確定新所有者及標(biāo)簽的合法身份,并為新所有者和標(biāo)簽設(shè)置共享密鑰,完成所有權(quán)轉(zhuǎn)換之后再由新所有者與標(biāo)簽共同協(xié)商出新的共享密鑰,其流程如圖2所示。
圖2 所有權(quán)轉(zhuǎn)換流程
步驟如下:
步驟1:新所有者NO(New Owner)向原所有者OO(Original Owner)發(fā)送標(biāo)簽所有權(quán)轉(zhuǎn)換請求rqt,并把自己的身份標(biāo)識IDNO一并發(fā)送給原所有者OO。
步驟2:原所有者OO接到rqt和IDNO后對新所有者NO的轉(zhuǎn)換請求進(jìn)行驗(yàn)證,如果是合法請求,則生成隨機(jī)數(shù)rOO計(jì)算H(rOO,KOO),向NO發(fā)送{ H(rOO,KOO),IDT}。
步驟3:新所有者NO收到{ H(rOO,KOO),IDT}后,存儲標(biāo)簽的身份標(biāo)識IDT并將 H(rOO,KOO)的值作為與標(biāo)簽共享的密鑰KNO進(jìn)行存儲。
步驟4:原所有者OO向標(biāo)簽T發(fā)送消息TransMsg聲明將要發(fā)生所有權(quán)轉(zhuǎn)換,同時(shí)將rOO發(fā)送給標(biāo)簽。
步驟5:標(biāo)簽T收到所有權(quán)轉(zhuǎn)換的消息TransMsg后,將自身待轉(zhuǎn)換狀態(tài)TStates位置為“1”,即激活轉(zhuǎn)換狀態(tài),并將自身存儲的共享密鑰的值替換為H(rOO,KT)的計(jì)算結(jié)果,向原所有者OO發(fā)送消息ReadyMsg聲明自己已做好所有權(quán)轉(zhuǎn)換準(zhǔn)備。
步驟6:原所有者OO收到標(biāo)簽確認(rèn)做好轉(zhuǎn)換準(zhǔn)備的消息ReadyMsg之后,向新所有者NO發(fā)送消息TrasConfirm通知其可以進(jìn)行所有權(quán)轉(zhuǎn)換。
步驟7:新所有者NO在原所有者OO的通信范圍之外與標(biāo)簽進(jìn)行通訊,產(chǎn)生隨機(jī)數(shù)rNO,發(fā)送所有權(quán)獲取請求TrasRqt和rNO給標(biāo)簽。
步驟8:標(biāo)簽收到請求TrasRqt之后,檢查自身待轉(zhuǎn)換狀態(tài)位TStates是否為“1”,如果不為1則發(fā)送失敗消息給新所有者;如果為1則生成隨機(jī)數(shù),并且計(jì)算H(rNO,KT),將{,H(rNO, KT)}發(fā)送給新所有者。
步驟11:新所有者收到標(biāo)簽待轉(zhuǎn)換狀態(tài)已經(jīng)關(guān)閉的消息TrasOff之后,將KNO更新為H(rNO,,KNO)計(jì)算得出的值、標(biāo)簽的識別碼更新為H(IDT,KNO)。
匿名性:在標(biāo)簽與讀寫器通信的過程中,沒有使用標(biāo)簽ID來向讀寫器指明自身身份,而是使用了標(biāo)簽ID和共享密鑰K結(jié)合生成的標(biāo)簽別名作為標(biāo)簽的識別碼,隨著每次認(rèn)證結(jié)束共享密鑰K的更新而改變,因此攻擊者無法對標(biāo)簽進(jìn)行追蹤,從而標(biāo)簽的隱私得到保護(hù)。
雙向認(rèn)證:在讀寫器與標(biāo)簽進(jìn)行有效通信之前,各自需要對于對方的合法身份進(jìn)行驗(yàn)證,雙方各自確認(rèn)對方身份合法才能繼續(xù)對話,從而實(shí)現(xiàn)了讀寫器與標(biāo)簽之間的雙向認(rèn)證。
重放攻擊:在本協(xié)議的認(rèn)證環(huán)節(jié)結(jié)束之后,讀寫器與標(biāo)簽的共享密鑰K會(huì)隨之更新,雙方的認(rèn)證信息也隨之改變,因此當(dāng)攻擊者使用上一次認(rèn)證成功的信息再次發(fā)起認(rèn)證請求是無法通過驗(yàn)證的。
假冒攻擊:當(dāng)攻擊者試圖偽裝成合法的讀寫器與標(biāo)簽通信時(shí),需要計(jì)算H(rR,rT,K),而H(rR,rT,K)的值跟標(biāo)簽生成的隨機(jī)數(shù)rT直接相關(guān),在共享密鑰K未被泄露的情況下,rT的隨機(jī)性保證了攻擊者無法正確算出H(rR,rT,K)的值,因此本協(xié)議能夠有效抵御假冒攻擊。
前向安全:在本協(xié)議中,標(biāo)簽與新所有者在所有權(quán)轉(zhuǎn)換過程中通過由原所有者臨時(shí)生成的共享密鑰進(jìn)行認(rèn)證,轉(zhuǎn)換完成后協(xié)商出新的共享密鑰來取代臨時(shí)密鑰,因此在轉(zhuǎn)換過程中新所有者接觸不到原所有者與標(biāo)簽通信的共享密鑰,也就無法獲取原所有者與標(biāo)簽之間的通信隱私,故前向安全得以保障。
后向安全:原所有者將標(biāo)簽所有權(quán)轉(zhuǎn)移給新所有者之后,新所有者與標(biāo)簽協(xié)商更新其共享密鑰,原所有者無法獲知更新后的共享密鑰,因此確保了后向安全性。
本文提出了一種RFID標(biāo)簽所有權(quán)安全轉(zhuǎn)換協(xié)議,該協(xié)議在認(rèn)證環(huán)節(jié)中設(shè)置了標(biāo)簽與閱讀器之間的共享密鑰,通過驗(yàn)證共享密鑰,標(biāo)簽?zāi)軌蛑鲃?dòng)鑒別請求是否合法;為標(biāo)簽設(shè)置了別名,后端數(shù)據(jù)庫可以根據(jù)別名快速查詢到所指代的標(biāo)簽;標(biāo)簽別名每輪認(rèn)證成功會(huì)隨共享密鑰的改變而改變,因而可以確保標(biāo)簽不會(huì)被非法追蹤,實(shí)現(xiàn)其匿名性;認(rèn)證及所有權(quán)轉(zhuǎn)換過程中標(biāo)簽只需進(jìn)行隨機(jī)數(shù)生成和哈希計(jì)算,計(jì)算量適中。如何有效抵御去同步化攻擊和中間人攻擊、降低轉(zhuǎn)換環(huán)節(jié)通信量是下一步需要研究解決的問題。
[1]Osaka K,Takagi T,Yamazaki K,et al.An efficient a nd secure RFID security method with ownership transfer[C]// International Conference on Computational Intelligence and S ecurity,2006.Washington DC:IEEE,2006.
[2]Jappinen P,Hamalainen H.Enhanced RFID security method with ownership transfer[C]// International Conference on Computational Intelligence and Security,2008.Washington DC:IEEE,2008.
[3]金永明,孫惠平,關(guān)志等.RFID標(biāo)簽所有權(quán)轉(zhuǎn)移協(xié)議研究[J].計(jì)算機(jī)研究與發(fā)展,2011.
[4]Song B,Mitchell C J.Scalable RFID security protocols supporting tag ownership transfer [J].Computer Communications 2011.
[5]邵婧,陳越,甄鴻鵠.供應(yīng)鏈環(huán)境下的RFID標(biāo)簽所有權(quán)轉(zhuǎn)換方案[J].計(jì)算機(jī)工程與設(shè)計(jì),2009.
[6]賀蕾,尹毅峰,金松河等.一種支持密鑰協(xié)商的標(biāo)簽所有權(quán)轉(zhuǎn)換協(xié)議[J].科學(xué)技術(shù)與工程,2013.
[7]桂易琪,張杰.單個(gè)RFID所有權(quán)轉(zhuǎn)移協(xié)議的設(shè)計(jì)和安全性分析[J].南京師范大學(xué)學(xué)報(bào)(工程技術(shù)版),2015.
[8]周洲.RFID標(biāo)簽所有權(quán)轉(zhuǎn)移的安全協(xié)議研究[D].貴州大學(xué),2015.