周 揚 帆
(湖南財經工業(yè)職業(yè)技術學院電子信息系 湖南 衡陽 421002)(湖南大學信息科學與工程學院 湖南 長沙 410082)
射頻識別是一種能夠不與物體相接觸就可以讀出特定物體中存放的數據技術[1-2]。進入新世紀之后,在大數據、物聯網、云計算等新技術的應用中,射頻識別技術也得到大面積的推廣,用到場合最多的當屬RFID系統(tǒng)[3-4]。一個典型的RFID系統(tǒng)至少含有標簽、讀寫器、數據庫三者,比如當前流行應用的校園一卡通系統(tǒng)。一卡通系統(tǒng)中,學生用到的飯卡可以看成是標簽;飯?zhí)弥心軌驅埧ɡ锏腻X扣成功的機器,可以看成是讀寫器;學生飯卡與飯?zhí)弥锌坼X的機器之間通信的數據存放的機器,可以看成是數據庫[5-7]。
在上述例子中,學生的飯卡和飯?zhí)每坼X的機器之間通過無線方式完成扣錢過程,交換數據方式并不是絕對安全;飯?zhí)每坼X的機器與存放數據的機器之間通過光纖等媒介完成傳遞,該過程中數據安全度較為高[8-9]。為能夠保障飯卡與扣錢機器之間的安全性,需要用到通信協(xié)議來解決該問題。
文獻[10]利用PRF設計一個協(xié)議,但隨后多人指出該協(xié)議存在缺陷[11],比如無法抗異步攻擊。文獻[12]提出一個具備后向安全的協(xié)議,但文獻[13]指出其無法抗暴力破解攻擊。同時文獻[13]給出改進的協(xié)議,協(xié)議雖未發(fā)現安全缺陷,但協(xié)議基于Rabin算法加密,計算量較大,無法推廣。文獻[14]基于哈希函數給出一個協(xié)議,因隨機數采用明文傳送方式,使得協(xié)議無法抗暴力破解。文獻[15]的協(xié)議存在無法抗假冒攻擊的缺陷。文獻[16]同樣利用哈希函數設計一個協(xié)議,采用明文發(fā)送數據,攻擊者可窮盡共享密鑰信息,存在不足之處。鑒于文章有限,更多協(xié)議可以參見文獻[17-20]。
在重點分析文獻[16]協(xié)議存在不足之處基礎上,給出改進協(xié)議。本文給出的改進協(xié)議沿用原協(xié)議設計思想,改進之處在于:(1) 隨機數采用密文形式發(fā)送;(2) 標簽的假名也進行更新,前后值不同,無法追蹤標簽位置;(3) 用計算量更低的創(chuàng)新型加密算法Pcs(X,Y)對信息加密。這樣能夠在降低整體計算量之時,確保隱私信息安全。
對文獻[16]設計的協(xié)議進行分析,協(xié)議存在無法抗攻擊者暴力破解的缺陷問題。對該協(xié)議的具體分析步驟如下:
該協(xié)議的步驟5)中,讀寫器產生的隨機數R1,以明文的形式發(fā)送給標簽。攻擊者可以通過竊聽方式獲取該隨機數R1。
該協(xié)議的步驟6)中,標簽計算的H2消息,在發(fā)送讀寫器過程中,攻擊者還是可以獲取H2。
由協(xié)議可得知:H2=H(num‖R1)。在該計算公式中:H( )表示哈希加密函數,該加密算法對外公開,攻擊者可獲知;R1表示讀寫器產生的隨機數,在步驟5)中,已被攻擊者獲??;H2表示會話消息,在步驟6)中,也已被攻擊者獲取;num表示通信實體之間的共享密鑰?;谏鲜?,在H2=H(num‖R1)中,有且僅有num參量的值是攻擊者不知道的,此時攻擊者可以采用窮舉的方式窮盡num所有可能的取值。當攻擊者窮舉出num的值之后,攻擊者就可以假冒成為標簽,計算H2的值,向讀寫器發(fā)信息,從而獲取更多的通信實體的隱私信息。
該協(xié)議中其他消息H3、H5的破解方式與上述H2的破解方式一樣,鑒于篇幅有限,不再闡述。
按照上述分析,文獻[16]設計的協(xié)議無法滿足協(xié)議應具備的抗假冒攻擊、暴力破解的安全需求。本文在此協(xié)議基礎之上設計一個改進的認證協(xié)議,主要從以下角度改進:(1) 通信實體產生的隨機數均采用密文方式發(fā)送;(2) 摒棄哈希函數加密,采用新型的置換交叉合成運算對信息加密,降低系統(tǒng)總的計算量。
置換交叉合成運算統(tǒng)一用符號Pcs(X,Y)(Permutation Cross Synthesis)表示。Pcs(X,Y)的具體定義如下:
(1)X、Y、Z、W均是長度為L位的二進制序列,且L為偶數。
(2) 當二進制序列X的第i位為0時,將二進制序列Y的第i位進行取反,取反之后的值放置在二進制序列Z的第i位;當二進制序列X的第i位為1時,二進制序列Y的第i位不進行任何操作,直接取該位的值放置在二進制序列Z的第i位。按照上述(1)和(2)可以完成置換操作。
《中國鉬業(yè)》為中國科技核心期刊,是中國鉬行業(yè)唯一的一份權威性學術期刊,也是金堆城鉬業(yè)集團有限公司乃至陜西有色的一張名片,期刊影響力不斷提升,是國家權威機構對期刊質量和學術水平的充分認可,也是金堆城鉬業(yè)集團有限公司科研實力、管理能力和社會影響力的集中體現。
(3) 分別求出二進制序列X、Y的漢明重量、漢明重量差值。當二進制序列X的漢明重量大于或等于二進制序列Y的漢明重量時,取二進制序列Y、Z在上述漢明重量差值的前提下進行交叉合成操作;反之,取二進制序列X、Z在上述漢明重量差值的前提下進行交叉合成操作。
(4) 取二進制序列Y的漢明重量差值位,放在二進制序列W的右邊;取二進制序列Z的后漢明重量差值位,放在二進制序列W的左邊。循環(huán)進行上述操作,即可得到完整的二進制序列W,W即是Pcs(X,Y)的運算結果。
HW(X)表示二進制序列X的漢明重量;HW(Y)表示二進制序列Y的漢明重量;HW(X-Y)表示二進制序列X的漢明重量與二進制序列Y的漢明重量差值的絕對值,即HW(X-Y)=|HW(X)-HW(Y)|。
為能夠更清楚地描述Pcs(X,Y)的過程,文中選擇L=12位,X=0110 1100 0111,Y=1011 0001 1000為例子進行講解。根據上述定義,得出:HW(X)=7,HW(Y)=5,HW(X-Y)=2,Z=0010 0010 0000,W=Pcs(X,Y)=1010 1000 0010,如圖1所示,此時滿足二進制序列X的漢明重量大于或等于二進制序列Y的漢明重量,即HW(X)≥HW(Y)。
再選擇L=12位,X=1011 0001 0100,Y=0110 1100 0111為例子進行講解。根據上述定義,得出:HW(X)=5,HW(Y)=7,Hw(X-Y)=2,Z=0010 0010 1100,W=Pcs(X,Y)=1010 1000 0001,如圖2所示,此時滿足二進制序列X的漢明重量小于二進制序列Y的漢明重量,即HW(X) 圖2 置換交叉合成運算(HW(X) (1) 協(xié)議符號解釋。本文協(xié)議部分符號表示的含義如下:R:讀寫器;T:標簽;K:R與T之間共享秘密信息;Kold:R與T之間上輪共享秘密信息;Knew:R與T之間本輪共享秘密信息;ID:T的標記信息;IDS:T的標記信息相對應的假名;IDSold:T的標記信息上輪相對應的假名;IDSnew:T的標記信息本輪相對應的假名;Pcs(X,Y) :對參數X、Y進行置換交叉合成運算;R1:R產生的隨機數;R2:T產生的隨機數;&:與運算;⊕:異或運算。 (2) 協(xié)議初始化階段。本文協(xié)議共分為兩個階段,初始化階段是在標簽還未出廠之前完成的,初始化之后T存放信息: (3) 協(xié)議認證階段。本文協(xié)議步驟如圖3所示。 圖3 認證協(xié)議 1)R→T。R向T發(fā)送Query認證請求。 2)T→R。T將假名IDS發(fā)送給R。 3)R→T。R先在IDSnew中搜索是否有與IDS值相等的記錄。沒有,進行操作1;有,進行操作2。 操作1:R再次在IDSold中搜索是否有與IDS值相等的記錄。仍沒有,協(xié)議結束;有,進行操作2。 操作2:T通過R的第一次驗證。R產生隨機數R1,計算A=R1⊕ID,B=Pcs(R1,ID),將發(fā)送給T。 操作4:R計算E=Pcs(R1,R2),并開始更新信息IDSold=IDSnew,IDSnew=Pcs(IDS,R2),Kold=Knew,Knew=Pcs(K,R1&R2),最后將 協(xié)議需要具備較高的安全性,除了采用密文傳送信息之外,加密算法的安全性也是很重要的。本節(jié)詳細分析本文設計的創(chuàng)新型的加密算法的安全性。 攻擊者對Pcs(X,Y)加密算法進行破解,需要進行兩個步驟:(1) 置換;(2) 交叉合成。 置換中,攻擊者可以獲取置換的規(guī)則,即當二進制序列X的第i位為0時,將二進制序列Y的第i位進行取反,取反之后的值放置在二進制序列Z的第i位;當二進制序列X的第i位為1時,二進制序列Y的第i位不進行任何操作,直接取該位的值放置在二進制序列Z的第i位。攻擊者需要在知道進行加密的兩個參數的前提之下,再運用上述的置換規(guī)則就可以分析出隱私信息。但關鍵問題是,攻擊者并不知道加密參數的數值,因此,攻擊者無法正確順利完成置換步驟的破解。 交叉合成中,攻擊者可以獲取交叉合成的規(guī)則,即取二進制序列Y的漢明重量差值位,放在二進制序列W的右邊;取二進制序列Z的后漢明重量差值位,放在二進制序列W的左邊。攻擊者想完成交叉合成步驟的破解,需要知道加密參數每個相對應的漢明重量數值,同時還要知道兩個參數漢明重量差值。但遺憾的是,攻擊者并不知道每個參量的漢明重量數值。攻擊者不知道漢明重量,就無法知道交叉合成是按照多少位數進行的。因此,攻擊者在交叉合成步驟中破解失敗。 基于上面的描述,創(chuàng)新型的Pcs(X,Y)加密算法具備較好的安全性,能夠提供用戶所需的安全要求。 (1) 假冒攻擊。攻擊者假冒成R給T發(fā)消息,比如發(fā)送A和B消息。想要發(fā)送正確的A消息,需要正確的ID參數值,隨機數攻擊者可以隨意選擇一個,但攻擊者缺少ID的正確數值,無法計算出正確的通信消息A的值。當攻擊者再次隨意選擇一個數值作為ID的數值參與計算所得到的A并不是正確的,發(fā)送給T之后,T通過相同的運算法則,即可辨析出攻擊者假冒的R,假冒失敗。攻擊者假冒成T給R發(fā)消息,比如發(fā)送C和D消息。攻擊者缺少ID和K的正確數值,攻擊者無法破解出R發(fā)送給T的正確的隨機數R1的值,從而攻擊者進一步無法計算得到正確的C消息的數值。當R收到C之后,R通過相同的運算法則計算,即可識別出T由攻擊者假冒,假冒失敗。 (2) 重放攻擊。R與T之間的信息基于無線信道傳送,使得攻擊者可以很容易監(jiān)聽獲取通信消息,進而攻擊者發(fā)起重放攻擊。本文協(xié)議在所有消息加密過程中加入隨機數,具體地:A中加入R1,B中加入R1,C中加入R1和R2,D中加入R1和R2,E中加入R1和R2,使得攻擊者前后兩次監(jiān)聽的信息數值并不是一致的。因此,當攻擊者重放監(jiān)聽到的上一輪消息時,本輪通信的消息數值早已發(fā)生變更,待接收者通過計算即可辨別出消息來源的真?zhèn)危胤攀 ?/p> (3) 定位攻擊。定位攻擊也就是常見的追蹤攻擊。標簽發(fā)送的消息中,若存在某個數值一直未發(fā)生變動,則攻擊者可以通過該數值逐漸地定位和追蹤標簽的蹤跡位置,進而發(fā)起追蹤攻擊。本文協(xié)議信息都加入隨機數,隨機數由隨機數產生器產生,具備無法預測性、不重復性等特征,使得每次消息的數值不盡一樣,則攻擊者也無法進行追蹤標簽的位置操作,定位失敗。 (4) 異步攻擊。通過重放等手段破壞標簽與讀寫器之間共享秘密信息等參數的一致性,稱之為異步攻擊。本文協(xié)議從兩個方面能夠有效防止異步攻擊的發(fā)生:① 讀寫器存放前后兩輪的IDS信息;② 讀寫器存放前后兩輪的K信息。待收到信息后,先用IDSnew和Knew進行信息的認證,驗證失敗后,將再次用IDSold和Kold進行信息的認證。當且僅當兩次驗證都失敗,協(xié)議停止。 (5) 暴力破解。本文將重點分析協(xié)議具備抵抗攻擊者暴力破解攻擊,以此顯示出本文協(xié)議相對劉立波等設計協(xié)議的優(yōu)勢所在。整個協(xié)議在通信過程中,發(fā)送的信息較多,有A、B、C、D、E、IDS。攻擊者獲取IDS信息沒有任何用,因為IDS是標簽的假名,并不含任何有用的隱私信息。此處選擇A=R1⊕ID為例子進行分析,在A中,于攻擊者而言,有R1、ID兩個參數的數值是不知道的,攻擊者便無法以窮舉的方式窮盡變量所有可能的值,這是其一;其二,隨機數R1是變動的,前后兩次的數值不同,上一輪截獲的信息,攻擊者還沒有來得及暴力破解窮盡參數所有可能的值,下一輪通信數據已發(fā)生變化,因此攻擊者根本無法窮舉出任何有用的隱私信息的數值,攻擊者暴力破解失敗。 (6) 雙向認證。協(xié)議安全性方向最基本的要求便是通信實體之間能夠完成彼此之間的認證。第三步中,讀寫器完成對標簽的第一次認證;第四步中,標簽完成對讀寫器的第一次認證;第五步中,讀寫器完成對標簽的第二次認證;第六步中,標簽完成對讀寫器的第二次認證?;谏厦娴闹v解,本文協(xié)議具備通信實體之間雙向認證的安全需求。 各協(xié)議安全性能比較如表1所示。其中:√表示可以滿足需求;×表示無法滿足需求。 表1 安全性分析 選取標簽為對象,以計算量、存儲量兩個屬性為目標進行性能比較,結果如表2所示。其中:異或運算計算量用XOR表示;置換交叉合成運算加密算法計算量用Pcs( )表示;產生隨機數計算量用LSRT表示;哈希函數加密算法計算量用HASH( )表示;模運算加密算法用MOD( )表示;與運算計算量用AND表示;標簽一端存放的數據一般為共享密鑰、假名、標識符、統(tǒng)計器、標記符等,用T表示參數的長度。 表2 性能分析 從存儲量角度分析,本文協(xié)議與其他協(xié)議大致相當;從計算量角度分析,本文因未采用哈希函數或模運算加密算法,而是采用創(chuàng)新型的置換交叉合成運算加密算法,使得標簽整體計算量遠遠少于其他協(xié)議。根據本文前面對Pcs( )算法描述可以得知:該加密算法屬于超輕量級,可基于位運算實現,在計算量方面優(yōu)于其他協(xié)議,且能夠保障通信實體隱私信息安全。 在分析文獻[16]協(xié)議基礎上,指出協(xié)議存在的缺陷,進而進行改進。借鑒其協(xié)議通信的框架模型,采用計算量更低的創(chuàng)新加密算法,置換交叉合成運算對參數進行加密,能夠有效降低計算總量。加密算法在交叉操作中引入漢明重量概念,因攻擊者無法獲取每個參數漢明重量的數值,因此按照怎樣的交叉方式進行,對于攻擊者來說是無法知曉的,從而增加攻擊者破解難度。加密算法在合成操作中混入漢明重量差值絕對值,更進一步使得攻擊者無法破解隱私信息。從安全性和性能兩個角度將本文協(xié)議與其他協(xié)議進行比較,闡明本文協(xié)議設計過程中具備的安全需求以及計算總量低等優(yōu)勢。1.3 認證協(xié)議
2 協(xié)議分析
2.1 Pcs(X,Y)加密算法分析
2.2 常見攻擊類型安全分析
2.3 認證協(xié)議性能分析
3 結 語