摘要:隨著射頻識別(RFID)技術(shù)越來越廣泛的應(yīng)用,其安全與隱私問題成為制約RFID技術(shù)的主要原因之一。為了降低標(biāo)簽的成本,有一些基于位操作的超輕量級安全認(rèn)證協(xié)議被提出,但僅僅利用位操作的超輕量級安全認(rèn)證協(xié)議安全性不能很好保證。本文針對改進(jìn)的LMAP+安全認(rèn)證協(xié)議不能夠抵抗跟蹤攻擊和完全泄露攻擊的問題,融合物理不可克隆函數(shù)(PUF)提出新的輕量級算法,新算法能夠抵抗追蹤攻擊、完全泄露攻擊和標(biāo)簽克隆攻擊等攻擊方法。
關(guān)鍵詞:RFID;輕量級;改進(jìn)的LMAP+;物理不可克隆函數(shù)
0引言
隨著RFID應(yīng)用范圍的不斷擴(kuò)大,其安全與隱私問題也得到越來越廣泛的重視?,F(xiàn)有的RFID系統(tǒng)安全技術(shù)可以分為兩大類[1]:一類是通過物理方法保證標(biāo)簽與閱讀器之間通信的安全;另一類是通過邏輯方法增加標(biāo)簽安全機(jī)制。物理方法由于缺乏靈活性而很難在標(biāo)簽中廣泛使用,因此邏輯方法得到廣泛的關(guān)注。邏輯方法[2]主要包含超輕量級安全認(rèn)證協(xié)議(僅采用位運(yùn)算)、輕量級安全認(rèn)證協(xié)議(偽隨機(jī)數(shù)發(fā)生器和簡單的函數(shù)運(yùn)算)、中量級安全認(rèn)證協(xié)議(隨機(jī)數(shù)產(chǎn)生器和Hash 函數(shù))和重量級安全認(rèn)證協(xié)議(對稱或非對稱加密函數(shù))。
盡管重量或中量級安全認(rèn)證協(xié)議有很好的安全和隱私保護(hù),但是由于受到成本的制約,標(biāo)簽計(jì)算能力和存儲(chǔ)能力受到一定限制。因此重量或中量級安全認(rèn)證協(xié)議很難廣泛應(yīng)用于實(shí)際當(dāng)中。設(shè)計(jì)安全、低成本和輕量級的RFID雙向認(rèn)證協(xié)議是非常值得研究的一個(gè)課題。
參考文獻(xiàn)[3]提出了超輕量級雙向認(rèn)證協(xié)議族(Ultra-lightweight Mutual Authentication Protocol,UMAP),包括最低要求雙向認(rèn)證協(xié)議(Minimalist Mutual-Authentication Protocol,M2AP)、高效雙向認(rèn)證協(xié)議(EfficientMutual Authentication Protocol,EMAP)和輕量型相互認(rèn)證協(xié)議(Lightweight Mutual Authentication Protocol,LMAP)。這個(gè)協(xié)議族只需要簡單的位操作就可以完成認(rèn)證協(xié)議,但這些協(xié)議無法抵抗去同步破壞攻擊和跟蹤攻擊。文獻(xiàn)[2]提出了輕量級強(qiáng)認(rèn)證強(qiáng)完整性協(xié)議(Strong Authentication and Strong Integrity,SASI協(xié)議),該協(xié)議擁有更強(qiáng)的完整性保障,但也不能抵抗拒絕服務(wù)攻擊和去同步攻擊[4]。針對SASI協(xié)議的缺點(diǎn),文獻(xiàn)[5]提到了Gossamer協(xié)議,同時(shí)也指出該協(xié)議也存在拒絕服務(wù)攻擊和去同步攻擊。
針對LMAP不能抵抗的攻擊,不斷有學(xué)者對LMAP協(xié)議進(jìn)行改進(jìn),但同時(shí)也陸續(xù)有學(xué)者指出改進(jìn)的協(xié)議中仍存在缺陷。在2012年,Gurubani[6]等人在較完善的LMAP+協(xié)議的基礎(chǔ)上進(jìn)行了改進(jìn),提出了新的協(xié)議,該協(xié)議僅使用按位加、按位異或等簡單的位運(yùn)算,改進(jìn)后的協(xié)議能夠抵抗跟蹤攻擊和去同步攻擊。2014年王超[7]等人針對改進(jìn)的LMAP+協(xié)議提出跟蹤攻擊(在該文獻(xiàn)中用的是追蹤攻擊)以及由跟蹤攻擊發(fā)展而來的完全泄露攻擊。
本文針對文獻(xiàn)[7]提出的攻擊,對改進(jìn)的LMAP+協(xié)議進(jìn)行進(jìn)一步的改進(jìn),在原有的協(xié)議中融入物理不可克隆函數(shù)(Physical Unclonable Function,PUF)后提出新協(xié)議并對新協(xié)議進(jìn)行安全性分析。結(jié)果表明新協(xié)議能夠抵抗追蹤攻擊、完全泄露攻擊和標(biāo)簽克隆攻擊等其他攻擊方法。
1改進(jìn)的LMAP+和PUF
1 1改進(jìn)的LMAP+
2012年,Gurubani[6]等人分析了所提出的跟蹤攻擊和去同步攻擊后,在原有的LMAP+協(xié)議上添加了一項(xiàng)密鑰信息K3,并且在整個(gè)認(rèn)證過程中沒有涉及到標(biāo)簽的ID,對在閱讀器和標(biāo)簽之間相互認(rèn)證的傳輸數(shù)據(jù)表達(dá)式和最后的更新表達(dá)式都進(jìn)行了改進(jìn)。在改進(jìn)的LMAP+中僅使用了位加、位異或等位操作,而且假設(shè)閱讀器與后臺(tái)數(shù)據(jù)庫之間傳輸信息是安全的。
2014年,王超[7]等人提出針對改進(jìn)LMAP+協(xié)議的基于模擬退火算法的攻擊策略,并對該協(xié)議進(jìn)行安全性分析,通過自定義評價(jià)函數(shù),以啟發(fā)式算法的思想,使猜測數(shù)據(jù)逐漸逼近真實(shí)秘密數(shù)據(jù),從而完成跟蹤攻擊和在跟蹤攻擊上衍生出來的完全泄漏攻擊。
12PUF
為了提高RFID系統(tǒng)的安全性,大部分安全認(rèn)證協(xié)議都采用加密算法或哈希函數(shù)來實(shí)現(xiàn)。但是這些協(xié)議需要一定的硬件成本才能實(shí)現(xiàn)加密運(yùn)算過程。即使對于簡化之后的哈希運(yùn)算而言,加密運(yùn)算過程也至少需要1 700個(gè)等效門[8]。因此盡管這些協(xié)議有較高的安全性,但是它們很難應(yīng)用于低成本的RFID系統(tǒng)中,并且應(yīng)用擴(kuò)展性也較低。同時(shí)采用這些安全協(xié)議的RFID系統(tǒng)也難以抵抗一些不良攻擊,如無法抵抗物理攻擊和標(biāo)簽克隆等。攻擊者可以通過解剖芯片的方式獲取標(biāo)簽內(nèi)部存儲(chǔ)的密鑰,在此基礎(chǔ)上進(jìn)行芯片的反向設(shè)計(jì)實(shí)現(xiàn)標(biāo)簽的克隆。物理不可克隆功能[9]的出現(xiàn)能有效解決上述問題。PUF是一組微型延遲電路,當(dāng)收到一個(gè)隨機(jī)的二進(jìn)制輸入之后,會(huì)生成一個(gè)唯一的、隨機(jī)的二進(jìn)制序列作為響應(yīng)。由于芯片制造過程中產(chǎn)生的差異本身具有不可模仿和復(fù)制的特性,所以每個(gè)芯片中的PUF電路可以生成無限多個(gè)、唯一的、不可預(yù)測的“密鑰”。即使是芯片的制造廠商也不可能從另外一個(gè)芯片上復(fù)制出一套一模一樣的響應(yīng)序列。所以,如果在標(biāo)簽芯片內(nèi)部集成一個(gè)PUF模塊,則該標(biāo)簽就具有反克隆的功能,同時(shí)PUF 唯一的響應(yīng)序列也可以用來對標(biāo)簽進(jìn)行認(rèn)證。而且PUF 電路所需的硬件開銷很小,一個(gè)64 位的PUF 電路大概需要545個(gè)等效門電路[9],大大少于簡化后的Hash 運(yùn)算和MD5等加密電路。正是由于PUF的這些特點(diǎn),使得利用PUF 來設(shè)計(jì)RFID 認(rèn)證協(xié)議成為一個(gè)新的研究熱點(diǎn)。
但是單獨(dú)使用PUF也存在一定的安全問題,每個(gè)標(biāo)簽需要預(yù)先在后臺(tái)數(shù)據(jù)庫中存儲(chǔ)大量的響應(yīng)對,如果標(biāo)簽數(shù)量很多,后臺(tái)數(shù)據(jù)庫在對標(biāo)簽進(jìn)行安全認(rèn)證的時(shí)候就要進(jìn)行大量的查找,從而會(huì)降低整個(gè)系統(tǒng)安全認(rèn)證的效率。另外,由于認(rèn)證過程中沒有隨機(jī)數(shù),標(biāo)簽容易被攻擊者跟蹤。
本文針對上述安全問題提出了新的PUFLMAP+協(xié)議,新協(xié)議不僅能夠克服上述沒有融合PUF時(shí)的安全問題,而且能夠滿足低成本要求,依然屬于輕量級安全認(rèn)證協(xié)議。
2新輕量級安全認(rèn)證協(xié)議PUF-LMAP+
PUFLMAP+協(xié)議在LMAP+的基礎(chǔ)上融合了PUF技術(shù),不僅能夠解決上述的安全問題,而且還能夠抵抗克隆攻擊等一些其他攻擊。新協(xié)議作了如下的改進(jìn):
(1)為了降低RFID系統(tǒng)成本,只在標(biāo)簽芯片內(nèi)部集成一個(gè)PUF模塊(以下部分將PUF模塊當(dāng)成一個(gè)PUF函數(shù)來使用),PUF的特性使標(biāo)簽?zāi)軌虻挚箍寺」簟?/p>
?。?)在后臺(tái)數(shù)據(jù)庫中除了要提前存儲(chǔ)LMAP+算法中所存儲(chǔ)的信息外,還要存儲(chǔ)PUF函數(shù)的兩個(gè)輸出量,而PUF函數(shù)的兩個(gè)輸入量則為共享密鑰對。而且經(jīng)過PUF模塊后兩個(gè)輸出量是唯一的。
?。?)為了降低RFID系統(tǒng)的成本,將閱讀器中的隨機(jī)數(shù)產(chǎn)生器(Pseudo-random Number Generator,PRNG)改用線性反饋移位寄存器(Linear Feedback Shift Registers,LFSR),在文獻(xiàn)[3]中已經(jīng)提到LFSR也能產(chǎn)生隨機(jī)數(shù),并且其等效門比PRNG的等效門要少一些。
?。?)在文獻(xiàn)[10]中闡明了用模2m不能夠抵抗由信息量的最低位引起的跟蹤攻擊,而用模2m-1能夠抵制上述攻擊,所以也將新協(xié)議中凡是用到模2m的地方都改用模2m-1。
新算法的具體步驟主要分三步:標(biāo)簽認(rèn)證過程,閱讀器認(rèn)證過程和標(biāo)簽與閱讀器更新相應(yīng)的信息量。新協(xié)議中的標(biāo)簽與LMAP+協(xié)議一樣只需要存儲(chǔ)IDtag(i)、PIDntag(i)和三對共享密鑰對(K1ntag(i),K2ntag(i),K3ntag(i))。而后臺(tái)數(shù)據(jù)庫卻要在標(biāo)簽存儲(chǔ)的基礎(chǔ)上多存儲(chǔ)由PUF函數(shù)產(chǎn)生唯一輸出量分別為(G1ntag(i),G2ntag(i))。下表1是對新協(xié)議符號的說明,新協(xié)議的具體流程如圖1。表1新算法符號與說明符號改進(jìn)的算法ID tag(i)標(biāo)簽唯一識別號PIDntag(i)標(biāo)簽在第n輪認(rèn)證過程中的動(dòng)態(tài)假名K1ntag(i),K2ntag(i)
K3ntag(i)標(biāo)簽和閱讀器在第n輪認(rèn)證過程中的共享密鑰對‖連接運(yùn)算符異或運(yùn)算符+模2m-1加運(yùn)算符G1ntag(i),G2ntag(i)
G3ntag(i)
l后臺(tái)服務(wù)器在第n輪認(rèn)證過程中的PUF函數(shù)輸出量
閱讀器用LFSR所產(chǎn)生的隨機(jī)數(shù)
其中G1ntag(i),G2ntag(i),G3ntag(i)具體表達(dá)式如下:
G1ntag(i)=PUF(K1ntag(i))(1)
G2ntag(i)=PUF(K2ntag(i))(2)
l=LFSR(Gjntag(i))(j=1,2)(3)
圖1新算法具體認(rèn)證過程
為了提高隨機(jī)性,閱讀器每次在產(chǎn)生隨機(jī)數(shù)l時(shí)隨意選擇j等于1或2。
圖1中的A、B、C、D和E具體表達(dá)式如下:
A=PIDntag(i)G1ntag(i)K2ntag(i)+l(4)
B=PIDntag(i)+G2ntag(i)+K1ntag(i)+l(5)
C=PIDntag(i)G1n+1tag(j)+K3ntag(i)+l)(6)
D=PIDntag(i)K3ntag(i)+(G2n+1tag(i)+l)(7)
E=G1n+1tag(i)G2n+1tag(i)+l+PIDntag(i)(8)
新協(xié)議的具體流程如下:
?。?)首先閱讀器發(fā)送HELLO給要認(rèn)證的標(biāo)簽,標(biāo)簽收到請求信息后,發(fā)送自己的動(dòng)態(tài)假名PIDntag(i)給閱讀器。
?。?)閱讀器收到標(biāo)簽的動(dòng)態(tài)假名后,將動(dòng)態(tài)假名傳給后臺(tái)數(shù)據(jù)庫,后臺(tái)數(shù)據(jù)庫根據(jù)動(dòng)態(tài)假名來查找對應(yīng)的共享密鑰對(K1ntag(i),K2ntag(i),K3ntag(i))和經(jīng)過PUF函數(shù)的輸出量(G1ntag(i),G2ntag(i))。閱讀器用存儲(chǔ)的Gintag(i)(i=1,2)作為LFSR的輸入量,并將所得的輸出量作為隨機(jī)數(shù)記為l,再根據(jù)A和B的表達(dá)式計(jì)算出相應(yīng)信息值,然后再將A和B連接在一起發(fā)送給標(biāo)簽。標(biāo)簽接收到信息后根據(jù)A的表達(dá)式算出一個(gè)l1,再根據(jù)B的表達(dá)式算出一個(gè)l2。判斷l(xiāng)1是否等于l2,若不相等,則認(rèn)為閱讀器是假冒或者本次信息傳輸是不安全的,認(rèn)證失??;若相等,則標(biāo)簽認(rèn)證閱讀器成功并且本次傳輸是安全的。
(3)在標(biāo)簽認(rèn)證安全的情況下,標(biāo)簽會(huì)先計(jì)算出G1n+1tag(i)和G2n+1tag(i)(具體計(jì)算表達(dá)式如下),再根據(jù)C、D和E的表達(dá)式和得到的隨機(jī)數(shù)l,計(jì)算出C、D和E的信息值,將C、D和E連接在一起發(fā)送給閱讀器。
?。?)閱讀接收到信息值C、D和E后,根據(jù)C和D表達(dá)式分別計(jì)算出G1n+1tag(i)和G2n+1tag(i)。然后根據(jù)E的表達(dá)式計(jì)算出E’,再判斷E’和收到的E是否相等,若不相等,則認(rèn)為標(biāo)簽是假冒或本次信息傳輸是不安全,認(rèn)證失敗。若相等,則閱讀器認(rèn)證標(biāo)簽成功并且本次信息傳輸是安全的,雙向認(rèn)證成功。
G1n+1tag(i)=PUF(G1ntag(i))(9)
G2n+1tag(i)=PUF(G2ntag(i))(10)
(5)在雙向認(rèn)證成功后,標(biāo)簽和后臺(tái)數(shù)據(jù)庫會(huì)根據(jù)如下表達(dá)式對各自的(K1ntag(i),K2ntag(i),K3ntag(i))和PIDntag(i)進(jìn)行更新。
PIDn+1tag(i)=PIDntag(i)l+(G1ntag(i)+G2ntag(i)+G3ntag(i))(11)
K1n+1tag(i)=G1ntag(i)l+(PIDn+1tag(i)+G2ntag(i))(12)
K2n+1tag(i)=G2ntag(i)l+(PIDn+1tag(i)+G1ntag(i))(13)
K3n+1tag(i)=K1ntag(i)l+(PIDn+1tag(i)+K2ntag(i))(14)
(6)最后閱讀器將計(jì)算出的(G1n+1tag(i),G2n+1tag(i))傳給后臺(tái)數(shù)據(jù)庫用于更新(G1ntag(i),G2ntag(i))。為了抵抗去同步攻擊,新協(xié)議仍使用LMAP+協(xié)議中的方法在閱讀器和標(biāo)簽中分別設(shè)置了狀態(tài)位S。在每次認(rèn)證過程中,如果協(xié)議認(rèn)證成功,狀態(tài)位S設(shè)置為0,否則設(shè)置為1,即S=1代表認(rèn)證不成功。
3PUF-LMAP+安全性分析
(1)跟蹤性攻擊:在文獻(xiàn)[7]中針對改進(jìn)的LMAP+協(xié)議通過猜測一個(gè)秘密數(shù)據(jù)與竊聽的公開傳輸數(shù)據(jù)推導(dǎo)出剩余秘密數(shù)據(jù),由猜測的秘密數(shù)據(jù)預(yù)測下一輪認(rèn)證過程中的PID,從而達(dá)到跟蹤性攻擊。而本文提出的新協(xié)議中在原有的公開傳輸?shù)谋磉_(dá)式中加入了兩個(gè)由PUF函數(shù)產(chǎn)生的唯一的G1ntag(i)和G2ntag(i),使得原來通過猜測一個(gè)共享密鑰的方法不能夠?qū)崿F(xiàn)。因?yàn)榧尤氲腉1ntag(i)和G2ntag(i)使得原來的表達(dá)式更具安全性,不可能用猜測的方法和推導(dǎo)的方式來推出共享密鑰。例如攻擊者在竊聽PID、A和B后,再猜測K1ntag(i)為某值K1’ntag(i),由B的表達(dá)式無法推隨機(jī)數(shù)l,因?yàn)樵贐中新加入了G2ntag(i)。從而后續(xù)推導(dǎo)其他共享密鑰值的企圖都無法實(shí)現(xiàn),因此新協(xié)議能夠抵抗跟蹤攻擊。
(2)完全泄露攻擊:在文獻(xiàn)[7]中也提到通過多次猜測和竊聽公開傳輸數(shù)據(jù)來推導(dǎo)出所有共享密鑰。但是因?yàn)楸磉_(dá)式A、B、C和D中分別加入了G1ntag(i)、G2ntag(i)、G1n+1tag(i)、G1n+1tag(i),而且在E中加入了G1n+1tag(i)和G2n+1tag(i),使得原來的表達(dá)式的安全性提高了。這是因?yàn)槊總€(gè)表達(dá)式都加入了不同的PUF函數(shù)的輸出量,無法猜測和推導(dǎo)出共享密鑰。因?yàn)闊o法通過多次猜測來得到共享密鑰的近似值,從而整個(gè)系統(tǒng)能夠抵抗完全泄露攻擊。
?。?)去同步攻擊:在僅使用PUF的認(rèn)證協(xié)議中,因?yàn)闃?biāo)簽要在認(rèn)證閱讀器時(shí)發(fā)送下一輪的G1n+1tag(i)和G2n+1tag(i)用于存儲(chǔ)以及下一輪安全認(rèn)證,因此攻擊者可以在認(rèn)證閱讀器的過程中竊聽C和D,并且更改其信息量。例如在C中加入一個(gè)值f使得G1n+1tag(i)發(fā)生改變,使閱讀器存儲(chǔ)的G1n+1tag(i)和標(biāo)簽發(fā)送的G1n+1tag(i)不一樣,從而達(dá)到去同步攻擊的目的。而在新協(xié)議中加入一個(gè)新的傳輸量E就是用來驗(yàn)證C和D在傳輸中是否被攻擊者更改。若更改了,則閱讀器計(jì)算出的E和接收到的E不相同,閱讀器不會(huì)對G1ntag(i)和G2ntag(i)進(jìn)行更新,閱讀器會(huì)要求標(biāo)簽重傳正確的C和D后,再更新相應(yīng)的G1ntag(i)和G2ntag(i),從而系統(tǒng)就可以抵抗去同步攻擊。
?。?)中間人攻擊:在閱讀器認(rèn)證標(biāo)簽時(shí)會(huì)發(fā)送A和B,攻擊者可以攔截A和B后對兩者進(jìn)行更改,然后再傳給標(biāo)簽。但是在協(xié)議中標(biāo)簽會(huì)根據(jù)A的表達(dá)式和存儲(chǔ)的信息量來計(jì)算隨機(jī)數(shù)得l1,再根據(jù)B的表達(dá)式和存儲(chǔ)的信息量來計(jì)算隨機(jī)數(shù)得l2,判斷l(xiāng)1和l2是否相等來判斷是否有中間人攻擊。在標(biāo)簽認(rèn)證閱讀器時(shí)會(huì)發(fā)送C、D和E,而表達(dá)式E也是用來驗(yàn)證C和D是否受到中間人攻擊。因此該新算法能夠抵抗中間人攻擊。
?。?)克隆攻擊:攻擊者可以利用物理方法來復(fù)制標(biāo)簽存儲(chǔ)的信息來克隆出一個(gè)合法的標(biāo)簽,但在新協(xié)議的認(rèn)證過程中使用到PUF函數(shù)的輸出量來進(jìn)行安全認(rèn)證。由于PUF函數(shù)的特殊性,攻擊者想要模擬PUF函數(shù)的輸出量是很困難的。因此新協(xié)議能夠抵抗克隆攻擊。
4結(jié)論
本文首先分析了改進(jìn)的LMAP+算法并且指出其存在的安全問題。為了解決這些安全問題,在標(biāo)簽中融合PUF模塊,提出新的PUFLMAP+協(xié)議。分析表明新協(xié)議能夠解決文獻(xiàn)[7]中所提出的安全問題(跟蹤攻擊和完全泄露攻擊),PUF模塊為新算法提供了防止硬件復(fù)制篡改的特性。
參考文獻(xiàn)
?。?] 劉彥龍,白煜,滕建輔.RFID 分布式密鑰陣列認(rèn)證協(xié)議的安全性分析[J].計(jì)算機(jī)工程與應(yīng)用,2014,50(16):72-76.
?。?] CHIEN H Y.SASI:a new ultralightweight RFID authentication protocol providing strong authentication and strong integrity[J].IEEE Transactions on Dependable and Secure Computing,2007,4(4):337-340.
[3] 高樹靜.低成本無源RFID安全關(guān)鍵技術(shù)研究[D].濟(jì)南:山東大學(xué),2012.
?。?] RAPHAEL C W. Cryptanalysis of a new ultralightweight RFID authentication protocolSASI[J]. IEEE Transactions on Dependable and Secure Computing, 2009, 6(4):316-320.
?。?] TAQIEDDIN E,SARANGAPANI J. Vulnerability analysis of two ultralightweight RFD authentication protocols: RAPP and gossamer[C].The 7th International Conference for Internet Technology and Secured Transactions,2012:80-86.
?。?] GURUBANI J B, THAKKAR H, PATEL D R. Improvements over extended LMAP+: RFID authentication protocol[C]. In: IFIP Advances in Infoomation and Communicatioh Fechnology, 2012: 225-231.
[7] 王超,秦小麟,劉亞麗.對改進(jìn)LMAP+協(xié)議的啟發(fā)式攻擊策略[J].計(jì)算機(jī)科學(xué),2014,41(5): 143-149.