杜宗印,章國(guó)安,袁紅林
(南通大學(xué) 電子信息學(xué)院,江蘇 南通226019)
責(zé)任編輯:薛 京
射頻識(shí)別(Radio Frequency Identification,RFID)是一種非接觸式自動(dòng)識(shí)別技術(shù),現(xiàn)已廣泛應(yīng)用于身份認(rèn)證、物品識(shí)別、門(mén)禁系統(tǒng)、高速公路自動(dòng)收費(fèi)甚至動(dòng)物跟蹤等領(lǐng)域。RFID系統(tǒng)主要包含標(biāo)簽、閱讀器及后端數(shù)據(jù)庫(kù)3部分,在其通信協(xié)議設(shè)計(jì)時(shí),通常認(rèn)為,后端數(shù)據(jù)庫(kù)與閱讀器之間的傳輸信道是安全的,可將它們共同視為協(xié)議一方,本文統(tǒng)稱為閱讀器;而標(biāo)簽與閱讀器之間的傳輸信道存在多種潛在攻擊[1],可將標(biāo)簽單獨(dú)視為協(xié)議另一方。同時(shí),由于RFID系統(tǒng)硬件資源受到計(jì)算能力、存儲(chǔ)空間等因素的限制,因而,設(shè)計(jì)出安全性較好、成本較低的RFID認(rèn)證協(xié)議是至關(guān)重要的。
目前,研究者們已提出多種認(rèn)證協(xié)議,如HB系列協(xié)議、Hash-Lock協(xié)議、LMAP等,文獻(xiàn)[2]中將它們劃分為全面、簡(jiǎn)單、輕量級(jí)及超輕量級(jí)4類認(rèn)證協(xié)議。全面認(rèn)證協(xié)議需要密碼算法的支持,如對(duì)稱密碼算法、公開(kāi)密碼算法等;簡(jiǎn)單認(rèn)證協(xié)議需要在標(biāo)簽中建立偽隨機(jī)數(shù)發(fā)生器和單向哈希函數(shù);輕量級(jí)認(rèn)證協(xié)議需要在標(biāo)簽中建立偽隨機(jī)數(shù)發(fā)生器和循環(huán)冗余檢驗(yàn)編碼;超輕量級(jí)認(rèn)證協(xié)議只需在標(biāo)簽中提供簡(jiǎn)單的位運(yùn)算,如異或(⊕)、或(∨)、與(∧)及模二加(+)等。其中,超輕量級(jí)認(rèn)證協(xié)議較前3類,可大大降低標(biāo)簽的存儲(chǔ)空間和計(jì)算需求。因而,它是近期的研究熱點(diǎn)。
超輕量級(jí)認(rèn)證協(xié)議LMAP[3]由Peris-Lopez等人率先提出,并且進(jìn)一步提出了EMAP[4]和M2AP[5],這些協(xié)議只需⊕、∨、∧和+運(yùn)算,在認(rèn)證通信中非常有效,引起了人們一時(shí)的關(guān)注。但文獻(xiàn)[6]指出它們存在主動(dòng)與被動(dòng)攻擊;文獻(xiàn)[2]中Chien在協(xié)議中引入左循環(huán)移位運(yùn)算Rot(X,Y)——將X循環(huán)左移wt(Y)位,wt(Y)是Y的漢明重量,并提出了非常典型的SASI協(xié)議,其認(rèn)證性和數(shù)據(jù)完整性更強(qiáng),但文獻(xiàn)[7]分析發(fā)現(xiàn)它存在跟蹤及拒絕服務(wù)(DoS)攻擊;超輕量級(jí)Gossamer協(xié)議[8],首次引入MIXBITS函數(shù),該函數(shù)采用右移及加法操作實(shí)現(xiàn),具有很高的效率,但由于該協(xié)議的初始狀態(tài)與SASI協(xié)議相同,故它仍存在DoS攻擊。
為解決現(xiàn)有RFID認(rèn)證協(xié)議所存在的問(wèn)題,本文根據(jù)AES加密算法[9]設(shè)計(jì)了位替換運(yùn)算Sub(X,Y),并協(xié)同按位異或及Rot(X,Y)運(yùn)算提出一種新的基于位替換的RFID雙向認(rèn)證協(xié)議(SRMAP)。
SRMAP中,異或和左循環(huán)移位[2,7]已詳細(xì)描述,位替換運(yùn)算Sub(X,Y)設(shè)計(jì)如下:
設(shè)X、Y是兩個(gè)具有L位的二進(jìn)制數(shù)組,獲取Y中為1的位,X中與之對(duì)應(yīng)的位元素取反將其替換,則二進(jìn)制數(shù)組X中共有n=wt(Y)個(gè)元素被替換,其中wt(Y)為Y的漢明重。
位替換運(yùn)算在標(biāo)簽中實(shí)現(xiàn)時(shí),采用文獻(xiàn)[10]提出的指針形式,它比直接采用邏輯門(mén)效率更高。設(shè)指針rX、rY分別指向數(shù)組X、Y,rX、rY同時(shí)從X、Y最高位遍歷,當(dāng)rY指向Y中元素為0時(shí),rX所指X中元素不變;當(dāng)rY指向Y中元素為1時(shí),rX所指X位上元素用其反(0的反為1)替換,最后Sub(X,Y)即是被替換后的二進(jìn)制串X。與文獻(xiàn)[10]中各指針需遍歷數(shù)組2次相比,Sub(X,Y)運(yùn)算只需遍歷1次,效率提高。
例如,給定L=8,取X=10011001,Y=01101011,則Sub(X,Y)=11111010,運(yùn)算過(guò)程如圖1所示。
圖1 Sub(X,Y)運(yùn)算實(shí)例
協(xié)議SRMAP運(yùn)行時(shí),標(biāo)簽內(nèi)需存儲(chǔ)其真正ID、當(dāng)前標(biāo)簽假名IDS、當(dāng)前認(rèn)證密鑰K1和K2,閱讀器中需含有偽隨機(jī)數(shù)發(fā)生器及存儲(chǔ)各標(biāo)簽真正ID、當(dāng)前信息}及前一次會(huì)話信息}。該協(xié)議包括標(biāo)簽識(shí)別、雙向認(rèn)證、假名和密鑰更新3個(gè)階段。各個(gè)階段進(jìn)行詳細(xì)描述如下,具體通信流程如圖2所示。
圖2 所提協(xié)議SRMAP通信流程
標(biāo)簽識(shí)別:閱讀器向標(biāo)簽發(fā)送請(qǐng)求信號(hào)“Query”,標(biāo)簽收到請(qǐng)求信號(hào)后,向閱讀器返回假名IDS,閱讀器在后端數(shù)據(jù)庫(kù)中搜索相同的IDS,若搜到,則進(jìn)入雙向認(rèn)證階段;若未搜到,閱讀器再次向標(biāo)簽發(fā)送請(qǐng)求。
雙向認(rèn)證:閱讀器查找與IDS匹配的密鑰,然后生成隨機(jī)數(shù)N1、N2,計(jì)算A=Sub(K1,K2)⊕N1,B=Sub(K1,Rot(N1,N1))⊕Rot(Sub(K2,K1),N1),并發(fā)送至標(biāo)簽。
標(biāo)簽接收到A||B后,提取隨機(jī)數(shù)N1,N1=A⊕Sub(K1,K2),并采用與B相同的算法計(jì)算B',如果B'=B,則認(rèn)證閱讀器成功;如果B'≠B,認(rèn)證失敗,協(xié)議終止。標(biāo)簽成功認(rèn)證閱讀器后,計(jì)算C=Sub(Rot(N1,K1),K2)⊕Sub(N1⊕K2,K1)并返回給閱讀器,閱讀器采用與C相同的算法,利用自身存儲(chǔ)的數(shù)據(jù)計(jì)算C',若C'=C,則成功認(rèn)證標(biāo)簽,進(jìn)入下一階段;若C'≠C,認(rèn)證失敗,協(xié)議終止。
假名和密鑰更新:閱讀器成功認(rèn)證標(biāo)簽后,閱讀器立即進(jìn)行標(biāo)簽假名和密鑰更新,算法為
而原來(lái)使用的{IDS,K1,K2}則變?yōu)?/p>
若此時(shí)的IDSnew與后端數(shù)據(jù)庫(kù)中其他某個(gè)IDS相同,則必須重新生成N2再計(jì)算IDSnew,直到IDSnew與數(shù)據(jù)庫(kù)中原存儲(chǔ)的各IDS不同為止,以確保標(biāo)簽的IDSnew與其ID是一一對(duì)應(yīng)的。然后計(jì)算D=Sub(K1⊕K2,N1)⊕N2和E=Sub(N1,N2)⊕Rot(N1,N2)并發(fā)送至標(biāo)簽。
標(biāo)簽收到D||E后,提取隨機(jī)數(shù)N2=D⊕Sub(K1⊕K2,N1),并用與E相同的算法計(jì)算E',若E'=E,則同閱讀器更新算法進(jìn)行標(biāo)簽內(nèi)數(shù)據(jù)更新,并丟棄原來(lái)使用的數(shù)據(jù){IDS,K1,K2},如果E'≠E,標(biāo)簽內(nèi)不更新數(shù)據(jù)。
1)雙向認(rèn)證和數(shù)據(jù)完整性:SRMAP能夠確保標(biāo)簽與閱讀器得到相互認(rèn)證,因?yàn)橹挥泻戏ǖ拈喿x器擁有預(yù)共享密鑰K1、K2,能計(jì)算傳輸消息A||B,也只有合法的標(biāo)簽才能夠根據(jù)消息A獲取正確的隨機(jī)數(shù)N1,計(jì)算消息C;該協(xié)議始終運(yùn)用位替換Sub(X,Y)與異或運(yùn)算共同對(duì)隨機(jī)數(shù)加密傳輸,且閱讀器和標(biāo)簽各自產(chǎn)生了認(rèn)證消息B、C,用于與接收到的消息進(jìn)行比較,保證了數(shù)據(jù)的完整性。
2)標(biāo)簽?zāi)涿院筒豢筛櫺?該協(xié)議中標(biāo)簽對(duì)所有攻擊者具有匿名性,因?yàn)閰f(xié)議運(yùn)行時(shí),標(biāo)簽始終未透漏其真正ID,而一直使用的是其假名IDS,而且協(xié)議結(jié)束時(shí),標(biāo)簽都會(huì)更新其假名和密鑰;攻擊者若截獲標(biāo)簽響應(yīng),對(duì)其認(rèn)真分析,跟蹤該標(biāo)簽,但每一次會(huì)話都生成新的隨機(jī)數(shù)N1、N2參與運(yùn)算,對(duì)以前消息分析是毫無(wú)意義的,故攻擊者不可能成功跟蹤標(biāo)簽。
3)抵抗假冒攻擊:攻擊者可以假冒合法閱讀器向標(biāo)簽發(fā)送請(qǐng)求消息,獲得標(biāo)簽響應(yīng),但由于攻擊者本身并不含有真正的密鑰K1、K2,不能得出正確的認(rèn)證消息A||B,協(xié)議失敗。同樣,如果攻擊者假冒標(biāo)簽截獲閱讀器發(fā)出的消息A||B,但由于其本身并不含有密鑰K1、K2而不能正確計(jì)算B',即使攻擊者假裝認(rèn)證閱讀器成功,它也不能計(jì)算出一致的消息C,協(xié)議運(yùn)行失敗。所以,該協(xié)議能夠抵抗假冒攻擊。
4)抵抗重傳攻擊:即使攻擊者多次收集閱讀器與標(biāo)簽的交互信息,在以后的會(huì)話中進(jìn)行重放,也不能使協(xié)議成功運(yùn)行。攻擊者如果重放前次會(huì)話中的消息A、B和C,由于在每次會(huì)話中都有新的偽隨機(jī)數(shù)N1、N2,且每次會(huì)話后密鑰也要更新,保證了數(shù)據(jù)的新鮮性,重傳失效。
5)抵抗DoS攻擊:在更新階段,如果攻擊者截獲最后的傳輸消息D||E,標(biāo)簽無(wú)法驗(yàn)證E'是否等于E,則不進(jìn)行更新,而后端數(shù)據(jù)庫(kù)中存有標(biāo)簽的兩組消息,當(dāng)協(xié)議再次運(yùn)行時(shí),標(biāo)簽返回的是IDSold閱讀器仍然能夠搜索到相應(yīng)的信息,協(xié)議能夠正常運(yùn)行。因而,該協(xié)議可以抵抗DoS攻擊[7]。
6)前向安全性:該協(xié)議能夠提供前向安全性,是因?yàn)槊看螘?huì)話都有新的隨機(jī)數(shù)參與運(yùn)算,其對(duì)攻擊者是不可預(yù)知的,即使最后攻擊者破解了標(biāo)簽的當(dāng)前信息},該協(xié)議也能夠保證標(biāo)簽之前任何信息的秘密性。
由于閱讀器不受硬件資源的限制,主要從標(biāo)簽內(nèi)部的計(jì)算需求、存儲(chǔ)空間和通信量這3個(gè)方面來(lái)分析所提協(xié)議SRMAP。
計(jì)算需求:SRMAP在計(jì)算上只需要XOR、Rot(X,Y)及位替換Sub(X,Y)三種簡(jiǎn)單的位運(yùn)算。其中,XOR與Rot(X,Y)只需少量簡(jiǎn)單邏輯門(mén)即可硬件實(shí)現(xiàn),而本文設(shè)計(jì)的Sub(X,Y)運(yùn)算在標(biāo)簽中運(yùn)用指針也可有效實(shí)現(xiàn)。
再者,本文協(xié)議有效避開(kāi)了按位與或的存儲(chǔ)空間:協(xié)議運(yùn)行結(jié)束時(shí),標(biāo)簽需丟棄前一次會(huì)話使用的數(shù)據(jù),標(biāo)簽中只存儲(chǔ)一組信息{ID,IDSnew,K1new,K2new};當(dāng)認(rèn)證協(xié)議運(yùn)行中斷時(shí),標(biāo)簽不更新會(huì)話信息,只存儲(chǔ){ID,IDSold,K1old,K2old}。設(shè)標(biāo)簽身份識(shí)別和密鑰的長(zhǎng)度都為L(zhǎng)位,則標(biāo)簽內(nèi)存空間共需4L位。
通信量:協(xié)議運(yùn)行共需傳輸?shù)南⑹恰癚uery”,IDS及A~F,設(shè)“Query”需5 byte,其他消息均為L(zhǎng)位,則總通信量即是5×8+L×6=6L+40位,而標(biāo)簽傳輸?shù)南⒅挥蠭DS和C,即標(biāo)簽上的通信量為2L位。
將所提超輕量級(jí)認(rèn)證協(xié)議SRMAP與其他幾種超輕量級(jí)認(rèn)證協(xié)議對(duì)比,如表1所示。
表1 超輕量級(jí)認(rèn)證協(xié)議性能對(duì)比
BAN邏輯[11]是在多種安全協(xié)議形式化分析方法中應(yīng)用最為廣泛的,它于1989年由Burrows、Abadi和Needham提出。本文即采用BAN邏輯形式化證明協(xié)議的安全性。
由于BAN邏輯知識(shí)較為復(fù)雜,本文只介紹證明過(guò)程中所用到的相關(guān)語(yǔ)法及推導(dǎo)規(guī)則如下,詳細(xì)見(jiàn)文獻(xiàn)[11]。
1)語(yǔ)法
{X}K:用密鑰K加密后X的密文;
P←→KQ:主體P和Q之間共享密鑰;
P believes X:主體P相信消息X是真的;
P sees X:主體P接收到包含X的消息;
P said X:主體P曾發(fā)送過(guò)消息X;
P controls X:主體P對(duì)消息X有管轄權(quán);
fresh(X):X是新鮮的。
2)推導(dǎo)規(guī)則
R1消息含義規(guī)則
式(3)表示:如果P相信K是P和Q的共享密鑰,并且P曾經(jīng)接收到用K加密的消息{X}K,則P相信Q發(fā)送過(guò)消息X。
R2隨機(jī)數(shù)驗(yàn)證規(guī)則
式(4)表示:如果主體P相信消息X是新鮮的,并且P相信Q發(fā)送過(guò)消息X,則P相信主體Q相信消息X。
式(5)表示:如果主體P收到了消息(X,Y),則P收到了消息X。
R4管轄規(guī)則
式(6)表示:如果主體相信P相信主體Q對(duì)消息X具有管轄權(quán),并且P相信Q相信X,則P相信消息X。
R5消息新鮮性規(guī)則
式(7)表示:如果主體P相信消息X是新鮮的,則P相信消息(X,Y)是新鮮的。
BAN邏輯形式化證明可簡(jiǎn)化為:建立協(xié)議理想化模型、給出協(xié)議的初始假設(shè)、給出協(xié)議預(yù)期達(dá)成的安全目標(biāo)及分析推理4個(gè)步驟。SRMAP的證明過(guò)程如下:
1)協(xié)議理想化模型
在理想化模型中,需去除原來(lái)協(xié)議所有的明文傳輸
其中,A、B、C為用密鑰Ki加密后的密文。
2)初始假設(shè)
3)預(yù)期安全目標(biāo))
4)分析推理
由Msg3、初始假設(shè)P2及消息含義規(guī)則R1、接收準(zhǔn)則R3得
由初始假設(shè)P4及消息新鮮性規(guī)則R5得
又由隨機(jī)數(shù)驗(yàn)證規(guī)則R2及以上推出的式(11)、(12)得
最后由初始假設(shè)P5、管轄規(guī)則R4及式(13)推出T believes B,目標(biāo)G1得證。
同樣,由Msg4、假設(shè)P1及規(guī)則R1得R believes T said C;由初始假設(shè)P3及規(guī)則R得R believes #(C);又因?yàn)闇?zhǔn)則R2得R believes T believes C;最后由假設(shè)P6及規(guī)則R4得到R believes C,目標(biāo)G2得證。
綜上,該協(xié)議可以達(dá)到預(yù)期的安全目標(biāo),故它是安全的、可行的。
本文運(yùn)用新設(shè)計(jì)的位替換運(yùn)算以及異或、左循環(huán)移位運(yùn)算,提出了一種新的超輕量級(jí)認(rèn)證協(xié)議SRMAP,并通過(guò)BAN邏輯形式化分析方法證明了該協(xié)議的安全性與可行性。安全與性能分析結(jié)果表明:該協(xié)議可抵抗DoS等多種攻擊,安全性較好;采用該協(xié)議的標(biāo)簽實(shí)現(xiàn)效率高,且所需存儲(chǔ)空間和通信量較少。
[1]游相柏,劉毅敏.RFID安全認(rèn)證協(xié)議研究[J].電視技術(shù),2012,36(15):104-107.
[2]CHIEN H Y.SASI:a new ultra-lightweight RFID authentication protocol providing strong authentication and strong integrity[J].IEEE Trans.Dependable and Secure Computing,2007,4(4):337-340.
[3]PERIS-LOPEZ P,HERNANDEZ-CASTRO J C,ESTEVEZ-TAPIADOR J M,et al.LMAP:A real lightweight mutual authentication protocol for low-cost RFID tags[C]//Proc.2nd Workshop on RFID Security.New Jersey,USA:IEEE Press,2006:137-148.
[4]PERIS-LOPEZ P,HERNANDEZ-CASTRO J C,ESTEVEZ-TAPIADOR J M,et al.EMAP:an efficient mutual authentication protocol for low-cost RFID tags[C]//Proc.IS’06.Berlin:Springer Press,2006:352-361.
[5]PERIS-LOPEZ P,HERNANDEZ-CASTRO J C,TAPIADOR J M,et al.M2AP:a minimalist mutual authentication protocol for low-cost RFID tags[C]//Proc.UIC’06.Berlin:Springer Press,2006:912-923.
[6]王少輝,王高麗.RFID認(rèn)證協(xié)議ULAP的被動(dòng)攻擊分析[J].計(jì)算機(jī)工程,2010,36(22):17-19.
[7]SUN H M,TING W C,WANG K H.On the security of Chien's ultralightweight RFID authentication[J].IEEE Trans.Dependable and Secure Computing,2011,8(2):315-319.
[8]PERIS-LOPEZ P,HERNANDEZ-CASTRO J C,ESTEVEZ-TAPIADOR J M,et al.Advances in ultra-lightweight cryptography for low-cost RFID tags:Gossamer protocol[C]//Proc.9th International Workshop,WISA 2008.Berlin:Springer Press,2009:56-68.
[9]王沁,梁靜,齊悅.一種有效縮減AES算法S盒面積的組合邏輯優(yōu)化設(shè)計(jì)[J].電子學(xué)報(bào),2010,38(4):939-942.
[10]TIAN Yun,CHEN Gongliang,LI Jianhua.A new ultra-lightweight RFID authentication protocol with permutation[J].IEEE Communications Letters,2012,16(5):702-705.
[11]王聰,劉軍,王孝國(guó),等.安全協(xié)議原理與驗(yàn)證[M].北京:北京郵電大學(xué)出版社,2011.