劉道微
(廣州科技職業(yè)技術(shù)學(xué)院信息工程學(xué)院,廣東 廣州 510550)
基于字合成運算的單標(biāo)簽密鑰無線生成算法
劉道微
(廣州科技職業(yè)技術(shù)學(xué)院信息工程學(xué)院,廣東 廣州 510550)
現(xiàn)有的RFID系統(tǒng)中,標(biāo)簽與讀寫器之間認(rèn)證用到的共享密鑰都是事先設(shè)定好,但該做法存在一定的安全缺陷。為了解決該安全隱患,提出一種基于字合成運算的密鑰無線動態(tài)生成算法,該算法主要運用在讀寫器為單個標(biāo)簽生成共享密鑰場景。算法采用標(biāo)簽與讀寫器各自生成的隨機數(shù)通過字合成運算加密動態(tài)生成共享密鑰,確保共享密鑰的安全性。通過安全性分析,可以得知該算法能夠有效抵抗假冒攻擊及暴力破解攻擊等攻擊方式。
無線射頻識別;共享密鑰;字合成運算;單個標(biāo)簽
無線射頻識別技術(shù)(Radio Frequency Identification,RFID)是一種利用射頻信號實現(xiàn)的無接觸信息傳輸,并且通過所傳輸?shù)男畔磉_(dá)到識別的目的[1-2]?,F(xiàn)有的無線射頻識別系統(tǒng)一般包括三部分:標(biāo)簽、讀寫器、后端數(shù)據(jù)庫,因其系統(tǒng)中的標(biāo)簽具有體積小、成本低、易攜帶等優(yōu)點,RFID系統(tǒng)被運用在各個領(lǐng)域中[3-4]。
在RFID系統(tǒng)中,標(biāo)簽與讀寫器之間經(jīng)常要進(jìn)行通信,兩者在通信之前存在一個雙向認(rèn)證過程,當(dāng)且僅當(dāng)雙向認(rèn)證成功之后,才會進(jìn)行后面的信息傳輸[5]。現(xiàn)有的RFID系統(tǒng)中,標(biāo)簽與讀寫器之間進(jìn)行雙向認(rèn)證用到的共享密鑰都是事先設(shè)置好的,該方案或多或少存在一定的安全隱患。為了解決上述存在的安全問題,提出一種基于字合成運算的動態(tài)密鑰生成算法,該算法使用的具體場景是讀寫器為單個標(biāo)簽生成一個共享密鑰值。該算法中,共享密鑰不再是事先設(shè)置好,而是在認(rèn)證之前通過無線方式生成共享密鑰,共享密鑰最終是由讀寫器與標(biāo)簽各自生成的隨機數(shù)通過字合成運算加密得到的,從而確保密鑰的安全。
RFID系統(tǒng)一般是由標(biāo)簽、讀寫器、后臺數(shù)據(jù)庫三部分構(gòu)成,其中讀寫器與后臺數(shù)據(jù)庫之間的通信是通過有線通信傳輸信道完成,而標(biāo)簽與讀寫器之間的通信則是通過無線通信信道完成,前者之間的通信一般認(rèn)為是安全可靠的,因此本文將讀寫器與后臺數(shù)據(jù)庫看成一個整體。讀寫器中存放如下信息:所有標(biāo)簽的編號n,所有標(biāo)簽的左右兩部分標(biāo)識符IDi_L、IDi_R,即(n,IDi_L,IDi_R);標(biāo)簽中存放如下信息:標(biāo)簽自身的編號i,標(biāo)簽自身的左右兩部分標(biāo)識符ID_L、ID_R,即(i,ID_L,ID_R)。
為了使算法具有一定的使用價值,規(guī)定該算法可以在如下場景中使用:假設(shè)標(biāo)簽與讀寫器之間共享的IDi_L與IDi_R是安全可靠的,且攻擊者事先不知曉該信息。
2.1 符號解釋
R:讀寫器;
T:標(biāo)簽;
Ti:編號為i的標(biāo)簽;
i:標(biāo)簽的編號(假設(shè)標(biāo)簽數(shù)量為n個);
ID_L:標(biāo)簽的左半部分標(biāo)識符;
ID_R:標(biāo)簽的右半部分標(biāo)識符;
IDi_L:標(biāo)簽Ti的左半部分標(biāo)識符;
IDi_R:標(biāo)簽Ti的右半部分標(biāo)識符;
r1:讀寫器產(chǎn)生的隨機數(shù);
r2:標(biāo)簽產(chǎn)生的隨機數(shù);
Syn():字合成運算;
⊕:異或運算;
&:與運算。
2.2 字合成運算的實現(xiàn)
設(shè)X、Y是兩個具有L位的二進(jìn)制數(shù),X=x1x2x3...xL,Y= y1y2y3...yL;其中,xi,yi取值范圍為{0,1},i=1,2,···L,Syn(X,Y)=YL-M+1YL-M+2···YLX1X2···XL-M;字合成運算Syn(X,Y)是指由X的前L-M位與Y的后M位組合而形成新的L位數(shù)組;其中M的設(shè)定為:M=Hw(Y),也可以為M=L-Hw(Y);或者是M=Hw(X),也可以為M=L-Hw(X);或者是M=Hd(X,Y),也可以為M=L-Hd(X,Y);Hw(X)表示為X的漢明重量,Hw (Y)表示為Y的漢明重量,Hd(X,Y)表示為X與Y的漢明距離。
2.3 算法描述
讀寫器為一個標(biāo)簽生成一個共享密鑰過程如下圖1,對圖1中出現(xiàn)的符號A,B,D,E的說明:
A=IDi_L⊕r1;
B=IDi_R⊕r1;
D=IDi_L⊕r2;
E=IDi_R⊕r1⊕r2;
Ki=Syn(r1⊕r2,r1&r2)。
圖1 單個標(biāo)簽密鑰生成算法
單個標(biāo)簽密鑰無線生成算法具體步驟如下:
(1)讀寫器R向標(biāo)簽Ti發(fā)送密鑰生成請求命令Query,開始單個標(biāo)簽密鑰無線生成算法。
(2)標(biāo)簽Ti在接收到讀寫器R發(fā)送來的信息后,將自身存放的編號i發(fā)送給讀寫器R作為響應(yīng)信息。
(3)讀寫器R在接收到標(biāo)簽Ti發(fā)送來的信息后,先比對數(shù)據(jù)庫中是否存放與i相等的該編號,若不存在,算法立刻終止;若存在,接著讀寫器R找到與編號i相對應(yīng)的IDi_L與IDi_R,然后讀寫器R生成一個長度為L位的隨機數(shù)r1,再用生成的隨機數(shù)r1、自身存放的與編號i相對應(yīng)的IDi_L與IDi_R分別來計算A和B的值,最后將A和B的值一并傳送給標(biāo)簽Ti。
(4)標(biāo)簽Ti在接收到讀寫器R發(fā)送來的信息后,首先標(biāo)簽Ti用接收到的A、自身存放的IDi_L來計算IDi_L⊕A,用接收到的B、自身存放的IDi_R來計算IDi_R⊕B,然后比對IDi_L⊕A的值與IDi_R⊕B的值是否相等。
若兩者的值不相等,說明讀寫器是偽造的,密鑰生成算法立刻終止;若兩者的值相等,即可通過計算得出隨機數(shù)r1的值,接著標(biāo)簽Ti生成一個長度為L位的隨機數(shù)r2,用生成的隨機數(shù)r2、計算得到的隨機數(shù)r1、自身存放的IDi_L與IDi_R分別來計算D和E的值,用生成的隨機數(shù)r2、計算得到的隨機數(shù)r1來計算Ki的值,并將Ki作為標(biāo)簽Ti與讀寫器R之間的共享生成密鑰值,最后將D和E的值一并傳送給讀寫器R。
(5)讀寫器R在接收到標(biāo)簽Ti發(fā)送來的信息后,首先讀寫器R用接收到的D、自身存放的IDi_L來計算IDi_L⊕D,用接收到的E、自身存放的IDi_R、自身生成的隨機數(shù)r1來計算IDi_R⊕r1⊕E,然后比對IDi_L⊕D的值與IDi_R⊕r1⊕E的值是否相等。
若兩者的值不相等,說明標(biāo)簽Ti是偽造的,密鑰無線生成算法立刻終止;若兩者的值相等,即可通過計算得到隨機數(shù)r2的值,接著讀寫器R用自身生成的隨機數(shù)r1、計算得到的隨機數(shù)r2來計算Ki的值,并將Ki作為標(biāo)簽Ti與讀寫器R之間的共享生成密鑰值。到此標(biāo)簽Ti與讀寫器R之間的共享密鑰通過無線生成的方法完成,單個標(biāo)簽密鑰無線生成算法結(jié)束。
現(xiàn)有的RFID系統(tǒng)中,標(biāo)簽與讀寫器之間用到的共享密鑰都是事先設(shè)置好的,但該方法存在一定的安全風(fēng)險。針對該安全風(fēng)險,提出一種動態(tài)生成密鑰的算法,該算法主要運用在讀寫器為單個標(biāo)簽生成共享密鑰。通過該算法可以使得標(biāo)簽與讀寫器之間的共享密鑰不需要在事先設(shè)置好,而是在兩者認(rèn)證之前先通過該算法動態(tài)生成共享密鑰。標(biāo)簽端與讀寫器端各生成一個隨機數(shù),兩個隨機數(shù)通過字合成運算加密方法生成共享密鑰,從而保證共享密鑰的安全性。
[1]魯力.RFID系統(tǒng)密鑰無線生成[J].計算機學(xué)報,2015,38(4):822-832.
[2]張朝暉,劉悅,劉道微.基于標(biāo)簽ID的RFID系統(tǒng)密鑰無線生成算法[J].計算機應(yīng)用研究,2017,34(1):261-263,269.
[3]斯進(jìn),簡碧園,劉道微.RFID系統(tǒng)密鑰無線生成算法[J].計算機工程與設(shè)計,2017,38(9).
[4]金永明,吳棋瀅,石志強等.基于PRF的RFID輕量級認(rèn)證協(xié)議研究[J].計算機研究與發(fā)展,2014,51(7):1506-1514.
[5]王少輝,劉素娟,陳丹偉.滿足后向隱私的可擴展RFID雙向認(rèn)證方案[J].計算機研究與發(fā)展,2013,50(6):1276-1284.
A Single Tag Key Generation Algorithm Based on Syn
Liu Daowei
(Guangzhou VocationalCollegeof Science and Technology,Guangzhou 510006,Guangdong)
In the existing RFID system,the shared key which is used in the authentication between tag and reader is set in advance,but there are some security flaws in the system.In order to solve the security problem,this paper proposes a new key w ireless dynamic generation algorithm based on Syn.The algorithm uses the random number generated by the tag and the reader to generate the shared key dynamically through the Syn operation to ensure the security of the shared key.Through the security analysis,it can be found that the algorithm can effectively resist the attackssuch as impersonation attack and brute force attack
RFID;shared key;Syn;single tag
TP393
A
1008-6609(2017)06-0029-02
劉道微(1989-),男,湖北襄陽人,碩士,研究方向為信息安全與RFID系統(tǒng)通信安全。