謝海寶,呂 磊
(1.河南省市場(chǎng)監(jiān)督管理局信息中心,河南 鄭州 450008; 2.河南工業(yè)大學(xué) 信息科學(xué)與工程學(xué)院,河南 鄭州 450008)
射頻識(shí)別技術(shù)近些年伴隨云計(jì)算、大數(shù)據(jù)、物聯(lián)網(wǎng)等新技術(shù)的產(chǎn)生而得到進(jìn)一步發(fā)展[1-2]。一個(gè)經(jīng)典的RFID系統(tǒng)至少包含電子標(biāo)簽、讀卡器、數(shù)據(jù)庫(kù)三部分,電子標(biāo)簽在使用過(guò)程中,電子標(biāo)簽擁有者可能經(jīng)常發(fā)生變化,擁有者發(fā)生變化之后,之前用戶(hù)在電子標(biāo)簽里存放的隱私信息對(duì)當(dāng)前用戶(hù)來(lái)說(shuō)應(yīng)該是無(wú)權(quán)限訪問(wèn)之前用戶(hù)存放的隱私信息[3-5]。為確保標(biāo)簽中隱私信息的安全,所有權(quán)轉(zhuǎn)移協(xié)議是當(dāng)前的熱點(diǎn)研究方向。
文獻(xiàn)[6]中STATIO等人首次提出標(biāo)簽所有權(quán)轉(zhuǎn)移協(xié)議,并在該文獻(xiàn)中設(shè)計(jì)一個(gè)所有權(quán)協(xié)議,協(xié)議引入可信第三方參與消息交換,具備一定安全性及一定價(jià)值意義。文獻(xiàn)[7]中作者針對(duì)文獻(xiàn)[6]的協(xié)議進(jìn)行安全分析,指出該協(xié)議無(wú)法保證標(biāo)簽原所有者隱私信息的安全性,同時(shí)協(xié)議因缺少存放前后兩次會(huì)話(huà)密鑰,無(wú)法抗攻擊者發(fā)起的去同步化攻擊。文獻(xiàn)[8]利用可信第三方設(shè)計(jì)一個(gè)協(xié)議,協(xié)議雖基于對(duì)稱(chēng)加密算法對(duì)隱私信息進(jìn)行加密,但文獻(xiàn)[9]指出文獻(xiàn)[8]的協(xié)議存在攻擊者可分析出下輪會(huì)話(huà)消息值可行性,即協(xié)議存在無(wú)法提供前向安全性的不足。文獻(xiàn)[10]利用可信第三方,同時(shí)結(jié)合哈希函數(shù)給出一個(gè)協(xié)議,但文獻(xiàn)[11]指出文獻(xiàn)[10]的協(xié)議無(wú)法保障用戶(hù)后向隱私安全性,同時(shí)加密算法的選擇使得協(xié)議推廣受到局限性。文獻(xiàn)[12]給出一個(gè)改進(jìn)的協(xié)議,并對(duì)協(xié)議進(jìn)行分析,得出協(xié)議仍無(wú)法提供去同步化攻擊安全性。文獻(xiàn)[13]給出的協(xié)議,雖是采用優(yōu)化后的RABIN算法對(duì)信息進(jìn)行加密,對(duì)優(yōu)化后的RABIN算法實(shí)則還是模運(yùn)算,使得計(jì)算量較大,同時(shí)文獻(xiàn)[13]的協(xié)議設(shè)計(jì)過(guò)程中步驟計(jì)算冗余,增加了標(biāo)簽端計(jì)算量。
鑒于較多協(xié)議存在計(jì)算量大或無(wú)法提供相對(duì)應(yīng)的安全需求等不足,文中給出一個(gè)超輕量級(jí)的所有權(quán)協(xié)議。先自定義設(shè)計(jì)一個(gè)創(chuàng)新型的加密算法,即異或交叉運(yùn)算,將在下一章節(jié)給出該加密算法詳細(xì)設(shè)計(jì)過(guò)程。結(jié)合算法實(shí)現(xiàn)描述,可以知曉算法基于位運(yùn)算實(shí)現(xiàn),能夠降低計(jì)算量,使得設(shè)計(jì)協(xié)議能夠使用在計(jì)算受限制的標(biāo)簽中。協(xié)議中引入標(biāo)志位STATUS信息,將根據(jù)該信息量得知標(biāo)簽歸屬者,具有唯一性。將文中算法與其他算法在相同環(huán)境下進(jìn)行仿真實(shí)驗(yàn),仿真數(shù)據(jù)表明文中算法能夠彌補(bǔ)其他算法存在的安全不足之處,同時(shí)在大規(guī)模電子標(biāo)簽信息交互時(shí),文中算法在計(jì)算時(shí)間開(kāi)銷(xiāo)角度具備較大的優(yōu)勢(shì),計(jì)算時(shí)間復(fù)雜度要少于其他算法。
異或交叉運(yùn)算(exclusive or cross operation,ECO(X,Y))按如下方式實(shí)現(xiàn):
(1)X、Y、Z、T都表示二進(jìn)制序列,長(zhǎng)度都為L(zhǎng)位;
(2)Wt(X)、Wt(Y)分別表示二進(jìn)制序列X、Y的漢明重量;
(3)Px、Py分別表示指向二進(jìn)制序列X、Y的指針;
(4)當(dāng)Wt(X)≥Wt(Y)時(shí),對(duì)二進(jìn)制序列X、Y分別同時(shí)從第一位開(kāi)始遍歷,當(dāng)指針Px指向二進(jìn)制序列X的第i位Xi時(shí),指針Py同時(shí)指向二進(jìn)制序列Y的第i位Yi,將Xi和Yi數(shù)值進(jìn)行加法運(yùn)算,結(jié)果為偶數(shù),則Xi和Yi進(jìn)行異或運(yùn)算,并將運(yùn)算結(jié)果放置于二進(jìn)制序列Z的第i位上,得到Zi;否則,將Xi放置于二進(jìn)制序列Z的第i位上,得到Zi;
(5)當(dāng)Wt(X) 通過(guò)兩個(gè)例子對(duì)上述異或交叉運(yùn)算進(jìn)行解釋。取值L=12位,X=001011100110,Y=010000100001,則可以得到Wt(X)=6、Wt(Y)=3,滿(mǎn)足Wt(X)≥Wt(Y)條件,按照(4)中操作所得到異或交叉運(yùn)算的結(jié)果為ECO(X,Y)=Z=001011000110。具體過(guò)程見(jiàn)圖1。 圖1 ECO(X,Y) Wt(X)≥Wt(Y) 再次取值L=12位,X=101000000101,Y=110101011110,則可以得到Wt(X)=4、Wt(Y)=8,滿(mǎn)足Wt(X) 圖2 ECO(X,Y) Wt(X) 異或交叉運(yùn)算破解的難度在于:其一,參與加密運(yùn)算的兩個(gè)參數(shù)信息攻擊者不知曉,則無(wú)法進(jìn)行后續(xù)的破解操作;其二,即便是攻擊者可以獲取部分參與加密的參數(shù)信息,但攻擊者仍無(wú)法具體獲悉兩個(gè)參數(shù)漢明重量具體數(shù)值為多少,則攻擊者不會(huì)知曉按照哪種方式進(jìn)行交叉異或運(yùn)算。因此,基于上述分析,新設(shè)計(jì)的異或交叉運(yùn)算可以提供較好的安全需求,確保加密參數(shù)信息的安全性。同時(shí),異或交叉運(yùn)算在按照上述定義實(shí)現(xiàn)過(guò)程中,是基于位運(yùn)算實(shí)現(xiàn)的,可以使得加密算法的計(jì)算量得到大幅度降低,從而使得算法可以得到超輕量級(jí)的級(jí)別,能夠適用于低成本的RFID系統(tǒng)標(biāo)簽中。 SN表示標(biāo)簽新所有者; SO表示標(biāo)簽原所有者; T表示電子標(biāo)簽; IDL表示T標(biāo)識(shí)符左半邊; IDR表示T標(biāo)識(shí)符右半邊; STATUS表示T所有權(quán)歸屬標(biāo)志位,當(dāng)STATUS=0時(shí),表示所有權(quán)歸屬者為SO,當(dāng)STATUS=1時(shí),表示所有權(quán)歸屬者為SN; a表示SO產(chǎn)生的隨機(jī)數(shù); b表示T產(chǎn)生的隨機(jī)數(shù); c表示SN產(chǎn)生的隨機(jī)數(shù); K表示SO與T之間共享密鑰; KO表示SO與T之間當(dāng)前共享密鑰; KO1表示SO與T之間上輪共享密鑰; KT表示SN與T之間共享密鑰; REQ表示請(qǐng)求命令; ACK表示確定命令; ⊕表示異或運(yùn)算; &表示與運(yùn)算; ECO(X,Y)表示異或交叉運(yùn)算。 類(lèi)似其他算法[14-16],做出如下假設(shè)規(guī)定:SN與SO之間通信安全,SN與T之間通信存在隱患,SO與T之間通信同樣存在隱患。文中超輕量級(jí)協(xié)議示意圖見(jiàn)圖3。 圖3 所有權(quán)轉(zhuǎn)移算法實(shí)現(xiàn)過(guò)程 文中設(shè)計(jì)算法具體步驟如下: STEP 1 由SO向T發(fā)送REQ請(qǐng)求命令開(kāi)啟所有權(quán)轉(zhuǎn)移算法。 STEP 2 T接到消息,查閱歸屬權(quán)標(biāo)志位STATUS值,當(dāng)前STATUS值為0,表示當(dāng)前所有權(quán)歸屬于SO,因此T將IDR發(fā)送給SO以作為響應(yīng)。 STEP 3 SO接到消息,在數(shù)據(jù)庫(kù)中查詢(xún)是否存在與IDR相等的值,未找到,SO對(duì)T驗(yàn)證失敗,算法停止。找到,SO立刻生成隨機(jī)數(shù)a,接著分別計(jì)算會(huì)話(huà)消息A、B,最后將A、B傳送給T。 其中A=a⊕IDL、B=ECO(a,IDL)。 STEP 4 T接到消息,對(duì)A進(jìn)行變形處理得到a'=A⊕IDL,將a'再結(jié)合IDL進(jìn)行相同運(yùn)算法則計(jì)算得到B',再對(duì)比B'與B。B'≠B,算法停止。B'=B,表明a'=a,且T驗(yàn)證SO通過(guò),T馬上生成隨機(jī)數(shù)b,再分別計(jì)算D、E消息,最后將D、E發(fā)送給SO。 其中a'=A⊕IDL、B`=ECO(a',IDL)=ECO(A⊕IDL,IDL)、D=b⊕K、E=ECO(b,a)。 STEP 5 SO接到消息,對(duì)D進(jìn)行變形處理得到b'=D⊕KO,將b'再結(jié)合KO進(jìn)行相同運(yùn)算法則計(jì)算得到E',再對(duì)比E'與E。 E'≠E,則SO將用KO1替換KO再次計(jì)算得到E'',并再次對(duì)比E''與E。仍不等,算法停止;若E''=E,表明SO對(duì)T驗(yàn)證通過(guò),接著SO將向T發(fā)送ACK消息,告知T接下來(lái)可以與SN之間進(jìn)行會(huì)話(huà),同時(shí)SO向SN發(fā)送T相關(guān)信息及ACK消息,告知SN做好與T進(jìn)行會(huì)話(huà)的準(zhǔn)備。 E'=E,表明SO對(duì)T驗(yàn)證通過(guò),接著SO將向T發(fā)送ACK消息,告知T接下來(lái)可以與SN之間進(jìn)行會(huì)話(huà),同時(shí)SO向SN發(fā)送T相關(guān)信息及ACK消息,告知SN做好與T進(jìn)行會(huì)話(huà)的準(zhǔn)備。 其中b'=D⊕KO、E'=ECO(b',a)=ECO(D⊕KO,a)、E''=ECO(b',a)=ECO(D⊕KO1,a)。 算法實(shí)現(xiàn)過(guò)程中,可能受到外界干擾或攻擊者的蓄意破壞,使得算法中T與新舊所有者間短暫失去一致性,因此需要通過(guò)該步驟再次實(shí)現(xiàn)兩者間的一致性。SO首先用KO驗(yàn)證,如果驗(yàn)證失敗,此時(shí)有可能是會(huì)話(huà)實(shí)體兩端短暫失去一致性,則SO將立刻用KO1替換KO再次發(fā)起驗(yàn)證,再次驗(yàn)證通過(guò),則就可以恢復(fù)二者之間的一致性。 STEP 6 T接到消息,T開(kāi)始計(jì)算F、G消息,并向SN發(fā)送F、G。 其中F=b⊕IDL、G=ECO(b,KT)。 STEP 7 SN接到消息,對(duì)F進(jìn)行變形處理得到b'=F⊕IDL,將b'再結(jié)合KT根據(jù)相同運(yùn)算法則計(jì)算得到G',再對(duì)比G'與G。G'≠G,算法停止。G'=G,表明b'=b,且SN驗(yàn)證T通過(guò),SN馬上生成隨機(jī)數(shù)c,再分別計(jì)算H、N消息,最后將H、N發(fā)送給T。 其中b'=F⊕IDL、G'=ECO(b',KT)=ECO(F⊕IDL,KT)、H=c⊕(b&IDL)、N=ECO(KT,c)。 STEP 8 T接到消息,對(duì)H進(jìn)行變形處理得到c'=H⊕(b&IDL),將c'再結(jié)合KT根據(jù)相同運(yùn)算法則計(jì)算得到N',再對(duì)比N'與N。N'≠N,算法停止。N'=N,表明c'=c,且T驗(yàn)證SN通過(guò),T將所有權(quán)歸屬標(biāo)志位STATUS值由0置為1,表明T所有權(quán)發(fā)生變更,變更后T所有權(quán)歸屬者變?yōu)镾N所有,最后T向SN發(fā)送ACK命令。 其中c'=H⊕(b&IDL)、N'=ECO(KT,c')=ECO(KT,(H⊕(b&IDL)))。 其中T一端的所有權(quán)歸屬標(biāo)志位STATUS的值,攻擊者是無(wú)法通過(guò)物理手段修改的。當(dāng)且僅當(dāng),只有通過(guò)上述方式正確通過(guò)T的驗(yàn)證之后,T一端才會(huì)進(jìn)行對(duì)所有權(quán)歸屬標(biāo)志位STATUS的值的變動(dòng)修改,從而可以保證T歸屬權(quán)的歸屬者唯一性。 STEP 9 SN接到消息,看到ACK命令,SN得知當(dāng)前自己已獲取T的所有權(quán)歸屬權(quán)限。 文中算法主要的創(chuàng)新點(diǎn)或優(yōu)勢(shì)在于:其一,給出一種新的信息加密方式,即異或交叉運(yùn)算;其二,對(duì)于新的信息加密方式,不僅給出詳細(xì)定義及實(shí)現(xiàn)步驟,同時(shí)結(jié)合具體實(shí)例進(jìn)行分析;其三,所有信息全部采用密文方式發(fā)送,即信息先加密再發(fā)送,使得攻擊者難以破解;其四,摒棄冗余的計(jì)算步驟,簡(jiǎn)化算法實(shí)現(xiàn)步驟,提高算法效率。 (1)所有權(quán)唯一性。 需確保不論何時(shí)標(biāo)簽所有權(quán)歸屬者必須具備唯一性,不能出現(xiàn)某個(gè)時(shí)刻存在有兩個(gè)或兩個(gè)以上所有權(quán)歸屬者。文中算法設(shè)計(jì)過(guò)程中引入歸屬權(quán)標(biāo)志位STATUS,依據(jù)STATUS值來(lái)確定標(biāo)簽當(dāng)前歸屬者。攻擊者無(wú)法修改標(biāo)簽端STATUS值,標(biāo)簽端想修改STATUS值需通過(guò)若干輪會(huì)話(huà)驗(yàn)證,而攻擊者無(wú)法通過(guò)驗(yàn)證,因此算法具備所有權(quán)唯一性要求。 (2)目標(biāo)標(biāo)簽。 某用戶(hù)可能某個(gè)時(shí)刻擁有多個(gè)標(biāo)簽的所有權(quán)限,當(dāng)某標(biāo)簽所有權(quán)需進(jìn)行轉(zhuǎn)移時(shí),要確保待轉(zhuǎn)移的標(biāo)簽即為目標(biāo)標(biāo)簽。文中協(xié)議前面幾個(gè)步驟便是原所有者SO與標(biāo)簽T之間的相互認(rèn)證過(guò)程,當(dāng)且僅當(dāng)兩者相互認(rèn)證都通過(guò),才會(huì)進(jìn)行T與SN之間的消息交換,從而可以確保待轉(zhuǎn)移的標(biāo)簽即為目標(biāo)標(biāo)簽。 (3)假冒攻擊。 系統(tǒng)整個(gè)會(huì)話(huà)過(guò)程中,任何一個(gè)會(huì)話(huà)實(shí)體都可能被攻擊者假冒,從而發(fā)起假冒攻擊。文中算法在SN與T之間、SO與T之間進(jìn)行消息交互時(shí),先對(duì)消息來(lái)源方進(jìn)行驗(yàn)證,驗(yàn)證失敗,算法就停止,只有驗(yàn)證通過(guò),才會(huì)進(jìn)行后續(xù)操作,因此攻擊者發(fā)起的假冒攻擊肯定失敗。 (4)去同步化攻擊。 在SO與T交換消息的過(guò)程中,為抵抗攻擊者發(fā)起的去同步化攻擊,在SO端特地存放有當(dāng)前以及上輪會(huì)話(huà)過(guò)程用到的共享密鑰信息。SO首先用當(dāng)前密鑰發(fā)起對(duì)T的驗(yàn)證,驗(yàn)證通過(guò),則進(jìn)行后續(xù)操作;驗(yàn)證失敗,SO在采用上輪會(huì)話(huà)密鑰再次發(fā)起對(duì)T的驗(yàn)證,通過(guò)前后兩次驗(yàn)證,可以抵抗攻擊者發(fā)起的去同步化攻擊。 (5)后向安全性。 攻擊者通過(guò)某種手段獲取整個(gè)會(huì)話(huà)消息,通過(guò)對(duì)獲取的消息進(jìn)行分析,獲取之前某輪會(huì)話(huà)中的隱私信息,從而造成用戶(hù)隱私信息泄露。文中算法為確保攻擊者無(wú)法分析出之前會(huì)話(huà)隱私信息,加密過(guò)程中混入隨機(jī)數(shù),隨機(jī)數(shù)前后兩次值不同,攻擊者在不知曉上輪及本輪隨機(jī)數(shù)情況下,攻擊者根本無(wú)法分析出之前加密隱私信息,因此算法具備后向安全性。 (6)前向安全性。 攻擊者通過(guò)某些手段獲取當(dāng)前會(huì)話(huà)消息,企圖對(duì)獲取消息進(jìn)行分析,從而預(yù)測(cè)下一次會(huì)話(huà)消息,并提前計(jì)算好下輪會(huì)話(huà)消息,通過(guò)一方認(rèn)證。文中算法通過(guò)加密消息過(guò)程中混入隨機(jī)數(shù)的方式來(lái)抵抗攻擊者的攻擊,因混入隨機(jī)數(shù),可以使得每輪會(huì)話(huà)過(guò)程中消息具備新鮮性,即每輪消息值不同,因隨機(jī)數(shù)是隨機(jī)產(chǎn)生,無(wú)規(guī)律性,因此攻擊者無(wú)法提前預(yù)測(cè)下輪會(huì)話(huà)消息值,從而算法具備前向安全性。 (7)窮舉攻擊。 窮舉攻擊也可以稱(chēng)之為暴力破解攻擊,即攻擊者采用超級(jí)計(jì)算機(jī)對(duì)獲取的密文進(jìn)行窮舉的方式窮舉出所有可能的情況,從而破解出隱私信息。窮舉攻擊需要考慮成本開(kāi)銷(xiāo),同時(shí)也需要考慮時(shí)間開(kāi)銷(xiāo),不論是成本開(kāi)銷(xiāo),還是時(shí)間開(kāi)銷(xiāo),只要其中任意一個(gè)開(kāi)銷(xiāo)過(guò)大,則攻擊者采用窮舉攻擊就代價(jià)過(guò)大,得不償失。 文中算法一個(gè)完整通信過(guò)程被攻擊者監(jiān)聽(tīng),則攻擊者可以獲取該通信過(guò)程中所有會(huì)話(huà)消息。這里選擇消息A=a⊕IDL、B=ECO(a,IDL)為例進(jìn)行窮舉攻擊分析。攻擊者可以對(duì)消息A進(jìn)行變形,然后帶入消息B中,可得到B=ECO(A⊕IDL,IDL),在變形處理之后的B中,對(duì)于攻擊者來(lái)說(shuō),看似好像只有IDL一個(gè)參量信息不知曉,攻擊者以為可以窮舉出IDL的值,但攻擊者至少還有兩個(gè)參量不知曉。其中一個(gè)是IDL參量自身攜帶的漢明重量值;另一個(gè)是A⊕IDL運(yùn)算結(jié)果自身攜帶的漢明重量值。攻擊者不知曉上述兩個(gè)參數(shù)值,則無(wú)法在加密過(guò)程中涉及到如何進(jìn)行異或運(yùn)算或交叉運(yùn)算,則攻擊者窮舉失敗。 綜上,攻擊者無(wú)法窮舉出有用隱私信息,故文中算法可抵抗攻擊者發(fā)起的窮舉攻擊,確保信息的安全。 將文中算法與其他部分經(jīng)典算法進(jìn)行安全性對(duì)比,對(duì)比分析結(jié)果見(jiàn)表1。 表1 算法間安全性對(duì)比 說(shuō)明:表1中,√符號(hào)表示可以抵抗該種類(lèi)型的攻擊方式,×符號(hào)表示無(wú)法抵抗該種類(lèi)型的攻擊方式。 從一輪完整會(huì)話(huà)通信量、標(biāo)簽端計(jì)算量對(duì)多個(gè)算法進(jìn)行對(duì)比分析,見(jiàn)表2。 表2 算法間性能對(duì)比 針對(duì)表2中出現(xiàn)的符號(hào)給出下面的含義說(shuō)明:Ha表示位運(yùn)算(比如異或運(yùn)算)的計(jì)算量大小,Hb表示異或交叉運(yùn)算的計(jì)算量大小,Hc表示模運(yùn)算的計(jì)算量大小,Hd表示哈希函數(shù)的計(jì)算量大小,He表示物理不可克隆函數(shù)的計(jì)算量大小,Hf表示產(chǎn)生隨機(jī)數(shù)的計(jì)算量大小。L表示會(huì)話(huà)消息的長(zhǎng)度,La表示會(huì)話(huà)過(guò)程中相關(guān)命令長(zhǎng)度(比如REQ命令等)。 文中算法一輪完整會(huì)話(huà)消息包含IDR、A、B、D、E、F、G、H、N以及SO向SN發(fā)送的內(nèi)容同10L;另外還包含一個(gè)REQ命令、三個(gè)ACK命令,共計(jì)4La,因此文中算法一個(gè)完整會(huì)話(huà)的通信量為10L+4La。 標(biāo)簽端計(jì)算量由來(lái):計(jì)算a'過(guò)程中第一次用到Ha、計(jì)算消息D過(guò)程中第二次用到Ha、計(jì)算消息F過(guò)程中第三次用到Ha、計(jì)算c'過(guò)程中第四次、第五次用到Ha(其中一次是按位異或運(yùn)算,另一次是按位與運(yùn)算),共計(jì)用到五次Ha運(yùn)算。計(jì)算B'過(guò)程中第一次用到Hb、計(jì)算消息E過(guò)程中第二次用到Hb、計(jì)算消息G過(guò)程中第三次用到Hb、計(jì)算N'過(guò)程中第四次用到Hb,因此共計(jì)用到四次Hb運(yùn)算。算法在整個(gè)過(guò)程中T需要產(chǎn)生一個(gè)隨機(jī)數(shù)b,因此需要用到一次Hf運(yùn)算?;谏鲜?,文中算法標(biāo)簽一端總計(jì)算量為5Ha+4Hb+Hf。 從表2中可以看出,從通信量角度出發(fā),文中算法與其他算法大致相當(dāng);從標(biāo)簽端計(jì)算量角度出發(fā),文中算法具有較大的改進(jìn),原因在于文中算法采用超輕量級(jí)自定義的加密算法,而沒(méi)有采用傳統(tǒng)的類(lèi)似哈希函數(shù)、模運(yùn)算等加密算法,同時(shí)文中算法可以彌補(bǔ)其他算法在安全性方面的不足。 文中選擇后臺(tái)數(shù)據(jù)庫(kù)搜索特定標(biāo)簽成功所花費(fèi)時(shí)間指標(biāo)進(jìn)行性能分析。好的加密算法,除了會(huì)話(huà)實(shí)體計(jì)算量減少之外,也會(huì)帶來(lái)后臺(tái)數(shù)據(jù)庫(kù)對(duì)標(biāo)簽搜索時(shí)間的降低。 進(jìn)行仿真實(shí)驗(yàn)相關(guān)的實(shí)驗(yàn)環(huán)境如下:電腦選擇惠普筆記本、2013年9月購(gòu)買(mǎi)、I 5處理器、內(nèi)存2 GB、硬盤(pán)500 GB;以C語(yǔ)言作為仿真實(shí)驗(yàn)過(guò)程中部分算法編程實(shí)現(xiàn)的語(yǔ)言;選擇小型數(shù)據(jù)庫(kù)MySQL用來(lái)存放仿真實(shí)驗(yàn)過(guò)程中產(chǎn)生的相關(guān)數(shù)據(jù);用MATLAB軟件作為仿真實(shí)驗(yàn)用到的仿真平臺(tái)。 系統(tǒng)在一個(gè)時(shí)間段內(nèi)會(huì)對(duì)多個(gè)標(biāo)簽進(jìn)行會(huì)話(huà),單個(gè)標(biāo)簽與系統(tǒng)進(jìn)行會(huì)話(huà)時(shí),標(biāo)簽被搜索成功的時(shí)間長(zhǎng)度會(huì)存在一定的差別。為減少誤差,提升仿真實(shí)驗(yàn)的準(zhǔn)確性,仿真實(shí)驗(yàn)時(shí),假定系統(tǒng)中共有6 000個(gè)特定標(biāo)簽,依次對(duì)每組不同數(shù)量(1 000個(gè)、2 000個(gè)、3 000個(gè)、4 000個(gè)、5 000個(gè)、6 000個(gè))的標(biāo)簽進(jìn)行200次搜索,記錄每一次搜索成功時(shí)間值,并求取平均值作為最終的仿真實(shí)驗(yàn)結(jié)果。 將文中算法與文獻(xiàn)[7,12-13]中的算法在相同的仿真實(shí)驗(yàn)環(huán)境下進(jìn)行仿真實(shí)驗(yàn),繪制出如圖4所示的仿真結(jié)果。 圖4 特定位置標(biāo)簽數(shù)量與搜索時(shí)間開(kāi)銷(xiāo)對(duì)比 從圖4中可以看出,最開(kāi)始標(biāo)簽數(shù)量不多的時(shí)候,后臺(tái)數(shù)據(jù)庫(kù)搜索時(shí)間相差不大。但隨著搜索標(biāo)簽數(shù)量的不斷增加,不同算法中后臺(tái)數(shù)據(jù)庫(kù)搜索標(biāo)簽成功的時(shí)間都在增加,但各算法增加的趨勢(shì)并不相同??梢钥闯?,文獻(xiàn)[7,13]中算法隨著標(biāo)簽數(shù)量增多,搜索標(biāo)簽時(shí)間幾乎成線(xiàn)性增長(zhǎng);而文獻(xiàn)[12]中算法搜索時(shí)間相對(duì)于上述算法搜索時(shí)間有所降低,但與文中算法的搜索時(shí)間相比,文中算法的搜索時(shí)間仍?xún)?yōu)于文獻(xiàn)[12]中算法的搜索時(shí)間。基于上述闡述,文中算法具備一定的推廣使用價(jià)值及意義。 針對(duì)存放在電子標(biāo)簽中的隱私信息易泄露問(wèn)題,文中設(shè)計(jì)一種超輕量級(jí)的算法。不同于其他算法,文中算法并未采用經(jīng)典的哈希函數(shù)或PUF函數(shù)或偽隨機(jī)函數(shù)對(duì)信息加密,而是采用一種自己設(shè)計(jì)的異或交叉運(yùn)算算法實(shí)現(xiàn)信息加密;異或交叉運(yùn)算將基于加密信息漢明重量不同進(jìn)行不同方式的交叉操作,從而提升加密算法安全性,同時(shí)該運(yùn)算設(shè)計(jì)思想基于位運(yùn)算實(shí)現(xiàn),使得文中算法整體計(jì)算時(shí)間開(kāi)銷(xiāo)得到一定程度的降低。通過(guò)理論及仿真實(shí)驗(yàn)將文中算法與其他算法進(jìn)行對(duì)比分析,表明文中算法在安全性角度優(yōu)于其他算法,能夠彌補(bǔ)其他算法存在的安全缺陷,同時(shí)在性能上文中算法在對(duì)標(biāo)簽搜索時(shí)間開(kāi)銷(xiāo)上優(yōu)于其他算法,降低了搜索時(shí)間開(kāi)銷(xiāo)。1.2 算法符號(hào)含義
1.3 算法具體設(shè)計(jì)
2 算法安全性分析
3 算法性能分析
4 算法仿真實(shí)驗(yàn)
5 結(jié)束語(yǔ)