尹毅峰+劉揚(yáng)+徐明明
摘 要: 組證明(Grouping?proof)協(xié)議的目的是證明閱讀器掃描范圍內(nèi)待掃描標(biāo)簽組內(nèi)標(biāo)簽是否同時(shí)存在。隨著標(biāo)簽組和組內(nèi)標(biāo)簽數(shù)量的增長(zhǎng),協(xié)議中存在的計(jì)算時(shí)間復(fù)雜度、通信總量、組證明生成機(jī)制和標(biāo)簽干擾等制約擴(kuò)展性的因素嚴(yán)重影響了生成有效組證明的成功率。通過比較分析相關(guān)協(xié)議,設(shè)計(jì)了一個(gè)適用于大規(guī)模標(biāo)簽組的只需簡(jiǎn)單異或和偽隨機(jī)運(yùn)算的輕量級(jí)組證明協(xié)議。在相同的假設(shè)模型下,協(xié)議能抵抗常見安全攻擊,滿足強(qiáng)隱私特性的同時(shí),符合超高頻段低成本被動(dòng)式標(biāo)簽的硬件成本要求,具有更高的執(zhí)行效率。
關(guān)鍵詞: 組證明; 可擴(kuò)展性; 輕量級(jí); 強(qiáng)隱私
中圖分類號(hào): TN915?34; TP393 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)17?0086?05
A scalable lightweight grouping?proof protocol for RFID tags
YIN Yifeng, LIU Yang, XU Mingming
(College of Computer and Communication Engineering, Zhengzhou University of Light Industry, Zhengzhou 450001, China)
Abstract: The purpose of the grouping?proof protocol is to prove if the intra?group tags under scanning exist simultaneously within the scan range of reader. With the quantity increase of tags group and intra?group tags, the factors (such as time complexity computing, communication total quality, grouping?proof generation mechanism and tags interference existing in the protocol) restricting scalability affects on the success rate of the generated effective grouping?proof. On the basis of the comparative analysis of related protocols, a lightweight grouping?proof protocol suitable for large?scale tags group was designed, in which the simple XOR operation and pseudo random operation are carried out for each tag. Under the same presumptive model, the protocol can resist the common security attacks, satisfy the strong privacy characteristic, conform to the hardware cost requirements of the low?cost passive UHF RFID tags, and has high execution efficiency.
Keywords: grouping?proof; scalability; lightweight; strong privacy
0 引 言
RFID(Radio Frequency Identification)技術(shù)作為物聯(lián)網(wǎng)感知層的重要技術(shù)之一,實(shí)現(xiàn)了對(duì)物聯(lián)網(wǎng)末端節(jié)點(diǎn)信息的采集與處理。由于RFID系統(tǒng)非接觸的識(shí)別方式和標(biāo)簽自身成本低廉,便于攜帶或粘貼的特性,十分適合動(dòng)態(tài)環(huán)境中大規(guī)模部署物品的管理。然而在開放的無線環(huán)境中,閱讀器和標(biāo)簽的交互易受敵手攻擊,低廉的成本限制了標(biāo)簽中用于安全操作的硬件資源,這些都給用戶的安全與隱私保護(hù)帶來了巨大挑戰(zhàn)。
實(shí)際應(yīng)用場(chǎng)景中物聯(lián)網(wǎng)末端物體常呈現(xiàn)明顯的群組特性。如分銷商處需要進(jìn)行所有權(quán)轉(zhuǎn)讓的物品[1],倉(cāng)庫(kù)各生產(chǎn)批次物品的管理[2],農(nóng)產(chǎn)品的安全溯源[3]等。而安全的獲取標(biāo)簽信息離不開針對(duì)所選擇標(biāo)簽組的掃描認(rèn)證。鑒于此種需求,文獻(xiàn)[4]利用兩個(gè)標(biāo)簽互相簽名的思想,首次提出聯(lián)合證明(Yoking?proofs)協(xié)議。隨后很多研究對(duì)標(biāo)簽數(shù)量進(jìn)行了擴(kuò)展,直到文獻(xiàn)[5]將標(biāo)簽組標(biāo)識(shí)加入,為組證明完成多個(gè)標(biāo)簽組的掃描認(rèn)證提供了可能。然而隨著功能的完善,協(xié)議執(zhí)行過程卻變得復(fù)雜且耗時(shí),標(biāo)簽碰撞和會(huì)話干擾也使協(xié)議的執(zhí)行效率和成功率極大地降低。
1 可擴(kuò)展性分析
很多研究通過降低計(jì)算時(shí)間復(fù)雜度和總通信量來提高組證明執(zhí)行效率,從而使每個(gè)標(biāo)簽組容納更多的標(biāo)簽。由于針對(duì)可擴(kuò)展性的討論只局限于密碼學(xué)操作,并沒有考慮執(zhí)行過程中組證明的生成機(jī)制,因此可擴(kuò)展性問題依然沒有有效解決。
目前提出較多的是繼承Yoking?proof 協(xié)議的鏈?zhǔn)秸J(rèn)證模式[5?6]。由閱讀器依次掃描所有標(biāo)簽執(zhí)行多次挑戰(zhàn)?響應(yīng)過程來生成一個(gè)組證明。最后一個(gè)被掃描標(biāo)簽需等待的不僅包括所有標(biāo)簽與閱讀器交互的時(shí)間,還有標(biāo)簽計(jì)算所耗費(fèi)的總時(shí)間。如果標(biāo)簽組過于龐大,容易造成最后一個(gè)標(biāo)簽還沒完成與閱讀器的交互,而第一個(gè)標(biāo)簽已不在閱讀器掃描范圍內(nèi)的情況。
文獻(xiàn)[7]嘗試使用(n,n)門限秘密共享的方案生成組證明。該類基于秘密共享的協(xié)議[7?8]雖然有效地解決了消息重傳和標(biāo)簽計(jì)算等待的問題,但在組證明的產(chǎn)生階段要通過閱讀器向標(biāo)簽組發(fā)送不同的子密鑰來發(fā)起認(rèn)證,而在低成本的RFID系統(tǒng)中,標(biāo)簽一旦進(jìn)入閱讀器磁場(chǎng)就會(huì)自動(dòng)上電進(jìn)入等待狀態(tài),只要閱讀器發(fā)送消息,所有閱讀器掃描范圍內(nèi)的標(biāo)簽都會(huì)進(jìn)行響應(yīng)。因此該機(jī)制必然會(huì)存在多個(gè)標(biāo)簽相互干擾的問題。endprint
文獻(xiàn)[9]提出一種通過兩次廣播一個(gè)隨機(jī)數(shù)來生成組證明的協(xié)議。該協(xié)議極大地改善了認(rèn)證效率,遺憾的是,在組證明生成階段,標(biāo)簽不加判斷地對(duì)閱讀器發(fā)送的消息進(jìn)行響應(yīng),導(dǎo)致閱讀器第二次廣播的隨機(jī)數(shù)包含其他組標(biāo)簽的響應(yīng)消息,這樣一來,在協(xié)議運(yùn)行過程中一旦有組外標(biāo)簽處于閱讀器掃描范圍內(nèi),將會(huì)影響正常的標(biāo)簽組組證明生成,導(dǎo)致驗(yàn)證失敗。
2 可擴(kuò)展的輕量級(jí)組證明協(xié)議
2.1 系統(tǒng)模型假設(shè)
為了更好地分析比較,本文基于通用被動(dòng)式標(biāo)簽工作環(huán)境進(jìn)行系統(tǒng)模型假設(shè):
(1) RFID系統(tǒng)由驗(yàn)證者(扮演服務(wù)器和數(shù)據(jù)庫(kù)的角色,提供可信服務(wù)的同時(shí)存儲(chǔ)閱讀器的授權(quán)信息)、閱讀器和標(biāo)簽三種實(shí)體組成;
(2) 閱讀器和標(biāo)簽間為不安全信道,驗(yàn)證者與閱讀器之間為安全信道;
(3) 只有閱讀器可以發(fā)起組證明,標(biāo)簽只有進(jìn)入閱讀器的掃描范圍內(nèi)才能發(fā)送應(yīng)答消息;
(4) 協(xié)議的三個(gè)實(shí)體擁有一個(gè)相同結(jié)構(gòu)的偽隨機(jī)數(shù)發(fā)生器。
2.2 協(xié)議描述
由于系統(tǒng)的初始化是在標(biāo)簽出廠前進(jìn)行的,因此協(xié)議執(zhí)行包括請(qǐng)求授權(quán)、組證明生成和驗(yàn)證三個(gè)階段。
為表述方便,將協(xié)議中涉及的符號(hào)和相關(guān)操作在表1中進(jìn)行描述。
圖1描述的是編號(hào)為的閱讀器正在與編組為的第個(gè)標(biāo)簽進(jìn)行第次組證明。
2.2.1 系統(tǒng)初始化
標(biāo)簽初始化:生產(chǎn)商為每個(gè)標(biāo)簽設(shè)置惟一標(biāo)識(shí)和一串作為標(biāo)簽初始密鑰的偽隨機(jī)數(shù)屬于同一標(biāo)簽組的標(biāo)簽還會(huì)存儲(chǔ)一個(gè)相同的初始組密鑰;
閱讀器初始化:閱讀器擁有出廠時(shí)攜帶的惟一標(biāo)識(shí)和所有需要掃描的標(biāo)簽組標(biāo)識(shí)
驗(yàn)證者初始化:驗(yàn)證者存儲(chǔ)所有有權(quán)掃描標(biāo)簽組的閱讀器的標(biāo)識(shí)和對(duì)應(yīng)的標(biāo)簽組標(biāo)識(shí)以及該標(biāo)簽組經(jīng)過輪認(rèn)證的當(dāng)前密鑰存儲(chǔ)每個(gè)標(biāo)簽組內(nèi)的標(biāo)簽標(biāo)識(shí)和每個(gè)標(biāo)簽經(jīng)過輪認(rèn)證的當(dāng)前密鑰
2.2.2 請(qǐng)求授權(quán)階段
步驟1:閱讀器選擇欲掃描的標(biāo)簽組標(biāo)識(shí)連同自身標(biāo)識(shí)一同發(fā)送給驗(yàn)證者;
步驟2:驗(yàn)證者通過搜索數(shù)據(jù)表通過查找是否存在對(duì)應(yīng)的二元組對(duì)閱讀器進(jìn)行認(rèn)證。若存在,則取出該標(biāo)簽組對(duì)應(yīng)的組密鑰發(fā)送給該閱讀器;反之終止協(xié)議。
2.2.3 組證明生成階段
步驟1:閱讀器產(chǎn)生一個(gè)隨機(jī)數(shù)并計(jì)算,廣播給待掃描的標(biāo)簽;同時(shí)發(fā)送本輪會(huì)話產(chǎn)生的隨機(jī)數(shù)給驗(yàn)證者,驗(yàn)證者存儲(chǔ)并產(chǎn)生時(shí)間戳作為當(dāng)前會(huì)話發(fā)起的標(biāo)志;
步驟2:標(biāo)簽收到閱讀器發(fā)送的詢問消息,先驗(yàn)證自己是否屬于當(dāng)前需要被掃描的標(biāo)簽組。計(jì)算,如果證明不屬于該組,該標(biāo)簽保持靜默;反之標(biāo)簽完成對(duì)閱讀器的認(rèn)證,并保存的值作為更新的本輪認(rèn)證成功的新的組密鑰隨后標(biāo)簽利用上一輪認(rèn)證成功保存下來的密鑰作為種子計(jì)算將生成的偽隨機(jī)序列的右半部作為本輪認(rèn)證成功所更新的標(biāo)簽密鑰存儲(chǔ)下來,利用偽隨機(jī)序列的左半部計(jì)算,并向閱讀器發(fā)送
步驟3:閱讀器收集組內(nèi)標(biāo)簽發(fā)送回的消息并計(jì)算其異或值
2.2.4 驗(yàn)證階段
步驟1:驗(yàn)證者收到閱讀器返回的應(yīng)答后,自動(dòng)生成本輪會(huì)話的第二個(gè)時(shí)間戳計(jì)算響應(yīng)時(shí)間 并與協(xié)議執(zhí)行時(shí)間窗口比較,如果且表明服務(wù)器在規(guī)定時(shí)限內(nèi)收集到所有待掃描的標(biāo)簽響應(yīng),服務(wù)器接收本輪證明。此時(shí),服務(wù)器利用本輪會(huì)話發(fā)起時(shí)生成的隨機(jī)數(shù)計(jì)算搜索標(biāo)簽組密鑰對(duì)應(yīng)的該標(biāo)簽組內(nèi)所有標(biāo)簽存儲(chǔ)的自身第輪認(rèn)證成功后存儲(chǔ)的密鑰計(jì)算如果標(biāo)簽認(rèn)證成功并更新服務(wù)器中存儲(chǔ)的標(biāo)簽密鑰,待標(biāo)簽組內(nèi)所有標(biāo)簽的響應(yīng)消息都通過認(rèn)證,服務(wù)器更新標(biāo)簽組密鑰;如果服務(wù)器丟棄本輪會(huì)話信息,重新發(fā)起認(rèn)證;
步驟2:驗(yàn)證者中返回驗(yàn)證結(jié)果。
3 協(xié)議分析
3.1 安全與隱私性分析
協(xié)議的安全威脅主要來源于一個(gè)潛在的攻擊者,可能在真實(shí)標(biāo)簽不存在的情況下生成一個(gè)組證明來騙取驗(yàn)證者使其認(rèn)為這些標(biāo)簽存在于掃描區(qū)域內(nèi)。針對(duì)組證明生成階段易遭受攻擊的分析如下:
(1) 防閱讀器假冒攻擊:由于未經(jīng)授權(quán)的閱讀器不能獲取標(biāo)簽組當(dāng)前組密鑰,假冒閱讀器發(fā)送的請(qǐng)求無法通過標(biāo)簽認(rèn)證得到標(biāo)簽響應(yīng),進(jìn)而偽造組證明,因此協(xié)議能夠抵抗閱讀器的假冒攻擊。
(2) 防拒接服務(wù)攻擊:本協(xié)議在標(biāo)簽端和驗(yàn)證者端都采用了先認(rèn)證,認(rèn)證通過再更新密鑰的策略,因此不會(huì)出現(xiàn)標(biāo)簽當(dāng)前密鑰與數(shù)據(jù)庫(kù)中保存的密鑰不同步的情況,從而避免了拒絕服務(wù)攻擊。
(3) 防重放攻擊[10]:由于標(biāo)簽和驗(yàn)證者每成功認(rèn)證一次便會(huì)更新密鑰,如果敵手在第輪會(huì)話中重放第輪的認(rèn)證消息,由于會(huì)話中包含的是上一輪的密鑰信息,而標(biāo)簽端存儲(chǔ)的是更新過的密鑰,重放會(huì)話消息無法通過標(biāo)簽的認(rèn)證,因此無法偽造證明。
(4) 防中繼攻擊[11]:協(xié)議在驗(yàn)證者處加入了記錄組證明產(chǎn)生時(shí)間的時(shí)間戳,每當(dāng)有組證明返回需要驗(yàn)證時(shí),服務(wù)器會(huì)先判斷本輪會(huì)話是否在規(guī)定時(shí)限內(nèi)完成,這就限制了敵手進(jìn)行中繼攻擊的時(shí)間。假設(shè)敵手接收閱讀器詢問并中繼給不在閱讀器掃描范圍內(nèi)的合法標(biāo)簽,收集標(biāo)簽響應(yīng)返回給閱讀器,由于會(huì)話時(shí)間的限制,該組證明將被丟棄,敵手并不能產(chǎn)生一個(gè)包含這個(gè)標(biāo)簽的組證明。
在隱私方面,協(xié)議要保證每個(gè)標(biāo)簽和標(biāo)簽組的身份和位置信息不被泄露。通常將閱讀器和標(biāo)簽交互的隱私級(jí)別劃分為“弱隱私”和“強(qiáng)隱私”。其中弱隱私包括標(biāo)簽?zāi)涿院筒豢勺粉櫺浴!皬?qiáng)隱私”指的是標(biāo)簽的前向隱私安全。
(1) 標(biāo)簽?zāi)涿裕涸趨f(xié)議的三個(gè)實(shí)體之間沒有任何標(biāo)簽身份標(biāo)識(shí)的傳輸,而是不斷更新的標(biāo)簽密鑰和標(biāo)簽組密鑰且他們都是偽隨機(jī)化后進(jìn)行傳輸?shù)模虼丝杀WC標(biāo)簽的匿名性。
(2) 不可追蹤性:由于每一次發(fā)起組證明都會(huì)加入與本輪會(huì)話對(duì)應(yīng)的隨機(jī)數(shù)因此同一標(biāo)簽多次執(zhí)行協(xié)議所傳輸?shù)南⑹遣煌?,敵手通過監(jiān)聽得到的信息看起來只是很多隨機(jī)數(shù)的集合,并不能區(qū)分哪些位置收集到的消息屬于相同的標(biāo)簽,因此也推測(cè)不出該標(biāo)簽的位置隱私。endprint
(3) 前向隱私安全:假設(shè)一個(gè)合法的標(biāo)簽落入了敵手,敵手通過物理手段分析出標(biāo)簽當(dāng)前存儲(chǔ)的標(biāo)簽密鑰和標(biāo)簽組密鑰。由于標(biāo)簽在每一輪認(rèn)證中都加入了隨機(jī)數(shù),并采用偽隨機(jī)函數(shù)對(duì)消息進(jìn)行加密,在標(biāo)簽內(nèi)部的偽隨機(jī)加密方法被破譯之前,敵手不能追蹤到之前標(biāo)簽參與過哪些會(huì)話,因此可保證之前的所有會(huì)話信息是安全的。
根據(jù)不同的組證明生成機(jī)制,選取了6個(gè)具有代表性的組證明協(xié)議與本文提出的協(xié)議就安全與隱私方面進(jìn)行了比較,如表2所示。“╳”表示不能抵抗該攻擊或不具有此種隱私特性,“√”表示能抵抗該攻擊并具有此種隱私特性??梢钥闯觯疚奶岢龅膮f(xié)議具有較強(qiáng)的安全與隱私特性。
3.2 標(biāo)簽成本及計(jì)算復(fù)雜度分析
針對(duì)協(xié)議標(biāo)簽端的計(jì)算復(fù)雜度和硬件成本進(jìn)行比較分析,如表3所示。存儲(chǔ)開銷表示每個(gè)標(biāo)簽需要存儲(chǔ)字符串的個(gè)數(shù),字母代表該標(biāo)簽認(rèn)證過的閱讀器個(gè)數(shù),計(jì)算代價(jià)表示每完成一次掃描,每個(gè)標(biāo)簽需要進(jìn)行的操作數(shù),需要指出的是,省略了簡(jiǎn)單的位移和異或操作。其中代表哈希運(yùn)算,表示帶密鑰的哈希函數(shù)運(yùn)算,表示進(jìn)行一次偽隨機(jī)數(shù)生成運(yùn)算。為了更直觀的對(duì)比,參照文獻(xiàn)[13]選用了適當(dāng)?shù)募用芩惴?,將?jì)算復(fù)雜度和硬件成本進(jìn)一步量化,表示每一個(gè)標(biāo)簽執(zhí)行加密運(yùn)算硬件所需的額外邏輯門電路數(shù)和時(shí)鐘周期數(shù)??梢钥闯?,本協(xié)議在標(biāo)簽端具有更低的硬件需求和更小的計(jì)算時(shí)間復(fù)雜度。
3.3 擴(kuò)展性分析
協(xié)議的可擴(kuò)展性比較結(jié)果如表4所示。消息數(shù)表示執(zhí)行包括個(gè)標(biāo)簽的標(biāo)簽組的組證明協(xié)議共需要傳輸?shù)南⒖倲?shù)。時(shí)延包括標(biāo)簽計(jì)算時(shí)延和消息傳輸時(shí)延考慮到標(biāo)簽碰撞是屬于鏈路層的協(xié)議,因此忽略執(zhí)行標(biāo)簽防碰撞算法時(shí)退避碰撞所消耗的時(shí)間。標(biāo)簽干擾指的是協(xié)議執(zhí)行時(shí)是否有不同消息在掃描區(qū)域同時(shí)傳輸,從而產(chǎn)生干擾。
可以看出,通過對(duì)組證明生成機(jī)制的改進(jìn),本文協(xié)議避免標(biāo)簽干擾的同時(shí)縮短了消息中繼和計(jì)算等待造成的時(shí)延,極大地減少了產(chǎn)生無效組證明的情況。又由于標(biāo)簽在應(yīng)答閱讀器響應(yīng)之前加入了先判斷再響應(yīng)的流程,因此協(xié)議支持多個(gè)標(biāo)簽組同時(shí)存在情況下的組證明協(xié)議的執(zhí)行。
4 結(jié) 語
本文針對(duì)組證明協(xié)議普遍存在的擴(kuò)展性問題,設(shè)計(jì)了一種安全高效的組證明協(xié)議。相較之前提出的組證明協(xié)議,不僅滿足被動(dòng)式標(biāo)簽用于安全操作300~2 000個(gè)邏輯門硬件成本的限制,并且計(jì)算復(fù)雜度低,時(shí)延少,不存在標(biāo)簽干擾,且支持多標(biāo)簽組共存時(shí)的協(xié)議執(zhí)行,因此具有良好的擴(kuò)展性,適用于動(dòng)態(tài)環(huán)境中大規(guī)模部署物品的管理。
參考文獻(xiàn)
[1] KAPOOR G, ZHOU W, PIRAMUTHU S. Multi?tag and multi?owner RFID ownership transfer in supply chains [J]. Decision support systems, 2011, 52(1): 258?270.
[2] 郭偉男.射頻識(shí)別技術(shù)理論及其在物流領(lǐng)域的應(yīng)用研究[J].現(xiàn)代電子技術(shù),2014,37(7):129?132.
[3] 劉艷飛,余明輝.基于物聯(lián)網(wǎng)技術(shù)的豬肉防偽追溯系統(tǒng)研究[J].現(xiàn)代電子技術(shù),2016,39(3):55?57.
[4] JUELS A. "Yoking?proofs" for RFID tags [C]// Proceedings of 2004 IEEE Conference on Pervasive Computing and Communications Workshops. Orlando: IEEE. 2004: 138?143.
[5] BURMESTER M, MEDEIROS B D, MOTTA R. Provably secure grouping?proofs for RFID tags [C]// Proceedings of 2008 International Conference on Smart Card Research and Advanced Applications, Ifip Wg 8.8/11.2. London: [s.n.], 2008: 176?190.
[6] SUNDARESAN S, DOSS R, PIRAMUTHU S, et al. A robust grouping proof protocol for RFID EPC C1G2 tags [J]. IEEE transactions on information forensics & security, 2014, 9(6): 961?975.
[7] DANG N D, KIM K. Grouping?proof protocol for RFID tags: security definition and scalable construction [J]. IACR cryptology eprint archive, 2009, 9: 1?5.
[8] LIU Yali, QIN Xiaolin, LI Bohan, et al. A forward?secure grouping?proof protocol for multiple RFID tags [J]. International journal of computational intelligence systems, 2012, 5(5): 824?833.
[9] 張忠,徐秋亮.物聯(lián)網(wǎng)環(huán)境下UC安全的組證明RFID協(xié)議[J].計(jì)算機(jī)學(xué)報(bào),2011,34(7):1188?1194.
[10] PERIS?LOPEZ P, ORFILA A, HERNANDEZ?CASTRO J C, et al. Flaws on RFID grouping?proofs: guidelines for future sound protocols [J]. Journal of network & computer applications, 2011, 34(3): 833?845.
[11] DANG D N, KIM K. On the security of RFID group scanning protocols [J]. IEICE transactions on information & systems, 2010, 93?D(3): 528?530.
[12] HAM H, KIM I, SONG J. An efficient offline grouping proof protocol using multiple types of tags [C]// Proceedings of 2015 International Conference on Ubiquitous Information Management and Communication. [S.l.]: ACM, 2015: 1?8.
[13] 馬昌社.前向隱私安全的低成本RFID認(rèn)證協(xié)議[J].計(jì)算機(jī)學(xué)報(bào),2011,34(8):1387?1398.endprint