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