郝偉偉,呂磊
(1.河南省市場監(jiān)督管理局,信息中心,河南,鄭州 450008;2.河南工業(yè)大學,信息科學與工程學院,河南,鄭州 450008)
射頻識別技術(shù)起源于上個世紀,在本世紀初得到較大范圍的推廣運用。一個比較經(jīng)典的射頻識別系統(tǒng)至少包含但不限于電子標簽、讀寫器、后臺服務(wù)器三者,其中電子標簽具備體積比較小、生產(chǎn)成本比較低、容易部署、方便攜帶、使用周期比較長等眾多優(yōu)勢,使得射頻識別技術(shù)現(xiàn)已在生活的方方面面中得到運用。
在一個經(jīng)典的供應鏈中,電子標簽的歸屬者常發(fā)生變更,需要確保新舊歸屬者存放隱私信息的安全性。如有一批嵌入有電子標簽的商品,在還未出廠之前,這批商品的歸屬權(quán)歸生產(chǎn)商所有;當批發(fā)商從生產(chǎn)商手中購買這批商品之后,這批商品的歸屬權(quán)發(fā)生變更,由生產(chǎn)商變更為批發(fā)商;當零售商從批發(fā)商手中購買部分這批商品之后,被購買的這批商品的歸屬權(quán)將再次發(fā)生變更,由批發(fā)商變更為零售商;最后當消費者從零售商手上購買該商品之后,該商品的最終歸屬權(quán)歸消費者所有。就是說,商品的歸屬權(quán)可能在一個相對比較集中的時間段內(nèi)發(fā)生多次變更,當歸屬權(quán)發(fā)生變更以后,每個之前使用過的用戶都希望有關(guān)自己隱私的信息都是安全的。
鑒于現(xiàn)有的經(jīng)典所有權(quán)轉(zhuǎn)移協(xié)議[1-9]存在計算量大、設(shè)計存在安全隱患等問題,本文提出了一種輕量級的所有權(quán)轉(zhuǎn)移協(xié)議。該協(xié)議基于偽隨機數(shù)發(fā)生器實現(xiàn)對信息加密發(fā)送,偽隨機數(shù)發(fā)生器具備實現(xiàn)時鐘總數(shù)少、門電路數(shù)量少等優(yōu)勢,能夠推廣使用;為了能夠抵抗窮盡攻擊,文中所有信息均在加密之后,以密文的方式傳送,攻擊者獲取的數(shù)據(jù)亦是密文,增加其破解難度;通過設(shè)定歸屬權(quán)唯一標志位參量,依據(jù)該參量的數(shù)值來判定歸屬權(quán)的當前歸屬者。
本章節(jié)從2個方面展開,第一個方面給出了本文協(xié)議設(shè)計過程中涉及到的各個符號所表示的含義,第二個方面詳細闡述文中協(xié)議設(shè)計步驟。
(1) 文中協(xié)議符號含義
Dold表示電子標簽原所有者。
Dnew表示電子標簽新所有者。
Tag表示歸屬權(quán)待轉(zhuǎn)移的電子標簽。
ID表示電子標簽唯一的身份標識。
ID_L表示電子標簽唯一的身份標識左半部分。
ID_R表示電子標簽唯一的身份標識右半部分。
Kold表示電子標簽與原所有者間共享秘密值。
Knew表示電子標簽與新所有者間共享秘密值。
Flag表示電子標簽的歸屬權(quán)標志位,其中值為0時,表示歸屬權(quán)歸原所有者所有;反之,歸新所有者所有。
y、t表示電子標簽產(chǎn)生的隨機數(shù)。
x表示原所有者產(chǎn)生的隨機數(shù)。
z表示新所有者產(chǎn)生的隨機數(shù)。
⊕表示按位異或運算。
Prng()表示偽隨機數(shù)發(fā)生器運算。
文中引入偽隨機數(shù)發(fā)生器對所要傳送的信息進行加密,采用偽隨機數(shù)發(fā)生器進行加密的優(yōu)點如下:其一,能夠提供較好的安全性(有關(guān)其安全性推導證明可參見文獻[10]);其二,在確保安全性的前提下,實現(xiàn)過程中所需的時鐘周期數(shù)和門電路數(shù)低于常見加密算法,具體分析可見后文;其三,能夠確保協(xié)議可適用于低成本的RFID系統(tǒng)中,同時可使協(xié)議達到輕量級的級別。
(2) 文中協(xié)議實現(xiàn)
文中設(shè)計的協(xié)議也如其他協(xié)議[11-12]一樣,遵行如下約定:標簽原所有者與電子標簽間會話不安全;標簽新所有者與電子標簽間會話不安全;標簽原所有者與標簽新所有者間會話安全;標簽原所有者及標簽新所有者均包含讀寫器。
文中設(shè)計的協(xié)議流程如圖1所示。
圖1 文中協(xié)議步驟示意圖
結(jié)合圖1,可將文中設(shè)計的協(xié)議具體步驟描述如下。
第一步
Dold產(chǎn)生隨機數(shù)x,并依次計算消息A、B,最后將〈Query、A、B〉一并發(fā)送給Tag。A=x⊕ID_R、B=x⊕ID_L。
第二步
Tag收到信息后,查看當前歸屬權(quán)標志位Flag的值是否為0,若為0,可進行后續(xù)操作。對消息A、B進行解密,判斷x′=A⊕ID_R與x″=B⊕ID_L兩者值是否相等。
若兩者值不等,發(fā)送方未能通過驗證,協(xié)議停止。
若兩者值相等,消息來源方真實可靠。Tag產(chǎn)生隨機數(shù)y,依次計算消息D、E,最后將〈D、E〉一并發(fā)送給Dold。其中,D=x⊕y,E=Prng(x⊕Kold,y)。
第三步
Dold收到信息后,對消息D進行解密,結(jié)合Kold、計算得到E′=Prng(x⊕Kold,y′),對E比E′與間值是否相等。
若E與E′間值不等,消息來源方不可靠,協(xié)議停止。
若E與E′間值相等,發(fā)送方通過驗證。Dold計算消息F,最后將〈F〉發(fā)送給Tag。F=Prng(y⊕Kold,x)
第四步
Tag收到信息后,結(jié)合x、Kold、y計算得到F′=Prng(y⊕Kold,x),對比F′與F間值是否相等。
若F′與F間值不等,消息發(fā)送者未能通過驗證,協(xié)議停止。
若F′與F間值相等,來源方驗證通過。
第五步
Dnew向Dold發(fā)送Query命令,請求開始所有權(quán)轉(zhuǎn)移過程。
第六步
Dold收到信息后,基于安全信道將Tag的唯一身份標識ID發(fā)送給Dnew。
第七步
Dnew收到信息后,產(chǎn)生隨機數(shù)z,依次計算消息G、H,最后將〈Query、G、H〉一并發(fā)送給Tag。其中,G=z⊕ID_L,H=z⊕ID_R。
第八步
Tag收到信息后,對消息G、H進行解密,比較z′=G⊕ID_L與z″=H⊕ID_R兩者間值是否相等。
若兩者間值不等,消息來源方不可靠,協(xié)議停止。
若兩者間值相等,消息發(fā)送方通過驗證。Tag產(chǎn)生隨機數(shù)t,并依次計算消息I、M,最后將〈I、M〉一并發(fā)送給Dnew。其中,I=x⊕t,M=Prng(z⊕Knew,t)。
第九步
Dnew收到信息后,對消息I進行解密,結(jié)合Knew、t可計算得到M′=Prng(z′⊕Knew,t),對比M′與M兩者間值大小關(guān)系。
若M′與M兩者間值不等,消息來源方不可靠,協(xié)議停止。
若M′與M兩者間值相等,發(fā)送方通過驗證。Dnew結(jié)合z、Knew、t計算得到消息N,最后將〈N〉發(fā)送給Tag。其中,N=Prng(z,t⊕Knew)。
第十步
Tag收到信息后,結(jié)合z、Knew、t計算得到N′=Prng(z,t⊕Knew),對比N′與N兩者值是否相等。
若N′與N兩者值不等,發(fā)送方可能存在偽造,協(xié)議停止。
若N′與N兩者值相等,消息來源方通過驗證。Tag將歸屬權(quán)標志位Flag的值置為1,表示Tag歸屬權(quán)不再歸Dold,而是歸屬于Dnew。
(1) 所有權(quán)排他性
所有權(quán)排他性是指不論何時電子標簽的歸屬權(quán)具有唯一性和確定性。文中協(xié)議引入歸屬權(quán)標志位參量,根據(jù)該參量的值確定標簽所有權(quán)當前歸屬者,能夠?qū)崿F(xiàn)所有權(quán)排他性,同時攻擊者無法修改電子標簽一端歸屬權(quán)標志位參數(shù)的值。根據(jù)文中描述,當且僅當,電子標簽與原所有者間對彼此驗證通過,且電子標簽與新所有者間對彼此驗證通過時,電子標簽一端才會修改歸屬權(quán)標志位參數(shù)信息。
(2) 假冒攻擊
文中協(xié)議所有信息都是加密之后再發(fā)送,故攻擊者竊聽獲取的所有消息都是密文。攻擊者在不知曉任一明文參數(shù)的前提下,是無法破解出任何有用的信息的。
比如攻擊者假冒成合法的電子標簽原所有者給電子標簽發(fā)送信息:攻擊者并不知曉標簽原所有者與電子標簽間共享的電子標簽唯一的身份標識ID,因此攻擊者在計算消息A、B時只能隨機選擇一個參數(shù)作為ID的值進行計算。當電子標簽收到該消息后,僅需要進行簡單驗證,即可識別出消息來源方是偽造的,協(xié)議停止。
(3) 窮舉攻擊
要想使攻擊者無法發(fā)起窮舉攻擊,最為有效的方式便是在每個消息加密之時混入的參數(shù)個數(shù)至少有2個是攻擊者并不知曉,且無法分析得出。
文中協(xié)議保證所有消息都是加密之后發(fā)送,即密文發(fā)送,同時每個消息涉及的參數(shù)中,至少有2個或2個以上參數(shù)的值,對于攻擊者來說,無法獲取或無法破解得知。以消息E=Prng(x⊕Kold,y)為例,攻擊者在分析該消息時,有3個變量的值是不知曉的,同時這3個變量的值在文中并沒有明文出現(xiàn)過,攻擊者想要對其中任何一個進行分析破解都是無法實現(xiàn)的,因此攻擊者無法對消息E=Prng(x⊕Kold,y)進行窮舉,無法獲取任何有用的隱私信息。
(4) 重放攻擊
要想使得攻擊者重放之前消息失敗,最為有效的方法是每輪會話用到的消息值都是處于變動狀態(tài)中,即當前會話消息值與上輪會話消息值不同。
文中在確保所有消息加密之后,在傳送的時候亦保證每個信息在加密時一定混入隨機數(shù),這樣將會使得前后相鄰的兩輪會話消息值無任何關(guān)聯(lián)性。所有消息混入的隨機數(shù)并不都是同一個,有的混入標簽產(chǎn)生的隨機數(shù),有的混入標簽原所有者產(chǎn)生的隨機數(shù),有的混入標簽新所有者產(chǎn)生的隨機數(shù)等等。隨機數(shù)由隨機產(chǎn)生器隨機產(chǎn)生,具備無法預測性、互異性等特征,可以保證每個消息的新鮮性。
(5) 定位攻擊
使得攻擊者無法進行定位攻擊的最簡單方式是每個消息每輪數(shù)值都不同,這樣展現(xiàn)給攻擊者的效果將是電子標簽時時刻刻都處于變動狀態(tài),攻擊者無法進行定位攻擊。文中所有消息加密過程中全部混入隨機數(shù),而且每輪混入的隨機數(shù)都是不一樣的,攻擊者當前竊聽的消息值中用到的隨機數(shù),與下一輪竊聽獲取的消息值中用到的隨機數(shù)不一樣,從而使得攻擊者無法進行定位攻擊。
(6) 后向安全性
攻擊者雖然無法直接從當前獲取的消息中分析出任何有用的隱私信息,但攻擊者希望能夠?qū)Ξ斍矮@取的消息進行分析,從而破解出之前消息中包含的隱私信息,即協(xié)議不具備后向安全性。但文中協(xié)議具備后向安全性,主要原因如下:其一,每個消息加密時加入隨機數(shù),使前后同一個消息的值并不一樣;其二,每輪隨機產(chǎn)生的隨機數(shù)都不一樣,具備互異性和無法預測性?;谏鲜?個原因,攻擊者對當前獲取的消息進行分析時,無法破解出之前消息中涉及到的用戶隱私信息。故本文協(xié)議具備后向安全性。
將文中協(xié)議與其他協(xié)議進行安全方面的對比,對比的結(jié)果如表1所示。
表1 多協(xié)議間安全性對比
表1中×表示無法提供該安全屬性,√表示可以提供該安全屬性。
文中協(xié)議涉及到的通信實體有電子標簽、標簽原所有者、標簽新所有者3個,考慮到標簽新所有者和標簽原所有者都具備強大的計算能力、查詢能力和充足的存儲空間,因此這里僅選擇電子標簽作為性能分析對象,將從電子標簽一端的計算量、存儲量、時鐘周期數(shù)、門電路數(shù)等角度綜合對比分析各個協(xié)議,具體分析結(jié)果見表2所示。
表2 不同協(xié)議性能間對比
通過表2中各方面綜合對比分析,文中協(xié)議電子標簽一端在時鐘周期數(shù)、門電路數(shù)方面不及文獻[3]中協(xié)議,相比其他協(xié)議都占有優(yōu)勢;文獻[3]中協(xié)議采用按位運算實現(xiàn)對信息加密傳送,使得協(xié)議安全性存在不足,而本文協(xié)議可以彌補文獻[3]中協(xié)議安全的不足之處。綜上比較,文中協(xié)議在安全性及性能角度具備推廣的實際使用價值。
表2中的符號所表示的含義如下:Xor符號表示按位異或運算;Prng()符號表示偽隨機數(shù)發(fā)生器運算;C()符號表示混沌加密運算;F()符號表示循環(huán)分組運算;Mod()符號表示模運算;Png()符號表示偽隨機函數(shù)運算。
從文獻[10]中可以獲悉如下數(shù)據(jù)信息:哈希函數(shù)實現(xiàn)需要的時鐘周期數(shù)為1 274,偽隨機函數(shù)實現(xiàn)需要的時鐘周期數(shù)為1 032,偽隨機數(shù)發(fā)生器實現(xiàn)需要的時鐘周期數(shù)為104;哈希函數(shù)實現(xiàn)需要的門電路數(shù)為8 120,偽隨機函數(shù)實現(xiàn)需要的門電路數(shù)為3 400,偽隨機數(shù)發(fā)生器實現(xiàn)需要的門電路數(shù)為1 294。由于文獻[10]中并未給出超輕量級按位運算的時鐘周期數(shù)和門電路數(shù),本文按照一次輕量級運算相當于百次超輕量級運算的關(guān)系,給出按位運算實現(xiàn)需要的大約時鐘周期數(shù)為12、門電路數(shù)為81。混沌加密與偽隨機函數(shù)運算時間及實現(xiàn)復雜度大致相當,故時鐘周期數(shù)和門電路數(shù)取值依次為1 032、3 400。模運算實現(xiàn)的時鐘周期數(shù)、門電路數(shù)不少于哈希函數(shù)實現(xiàn)的數(shù),這里依次取值為1 274、8 120。
文中協(xié)議整個過程中,需要進行6次Xor運算、4次Prng()運算,因此時鐘周期數(shù)為6*12+4*104=488。文中協(xié)議在電子標簽一端需要實現(xiàn)按位異或運算、偽隨機數(shù)發(fā)生器運算,故門電路數(shù)為81+1 294=1 375。
文中電子標簽一端需要存放的參數(shù)信息有Kold、Knew、ID,約定每個參數(shù)的長度都為L,故文中電子標簽一端的存儲量為3 L。
針對射頻識別技術(shù)在運用中有關(guān)電子標簽歸屬權(quán)變更后用戶隱私信息的泄露問題,提出了一種輕量級的所有權(quán)轉(zhuǎn)移協(xié)議。文中協(xié)議采用偽隨機數(shù)發(fā)生器實現(xiàn)信息加密處理,即可提供諸如哈希函數(shù)的安全性,亦可實現(xiàn)低計算量的特征,通過設(shè)置的電子標簽所有權(quán)歸屬者唯一標志位參量確定歸屬權(quán),具備較高的安全性。對多個協(xié)議進行安全、性能等比較分析,表明文中協(xié)議可提供較高安全的同時,能夠規(guī)避其他協(xié)議存在的安全隱患,同時文中協(xié)議在時鐘周期總數(shù)和門電路數(shù)量方面亦存在優(yōu)勢,滿足現(xiàn)有低成本RFID系統(tǒng)各方面要求。