蔡夢(mèng)臣,王 萍,方 圓,蔣 明,張 亮
國(guó)網(wǎng)安徽省電力有限公司 信息通信分公司 信息通信運(yùn)檢中心,合肥235000
無線射頻識(shí)別(Radio Frequency Identification,RFID)技術(shù)利用非接觸式自動(dòng)識(shí)別物品,近些年來在無人零售、交通運(yùn)輸?shù)阮I(lǐng)域得到廣泛運(yùn)用[1-2]。一批物品由生產(chǎn)商轉(zhuǎn)售給批發(fā)商,再由批發(fā)商賣給零售商,最后個(gè)體從零售商手上購買得到。整個(gè)買賣過程中,物品可以看成帶有標(biāo)記的一種標(biāo)簽,每轉(zhuǎn)手一次,標(biāo)簽的歸屬權(quán)便發(fā)生變更[3-4]。為保證標(biāo)簽的歸屬權(quán)發(fā)生變更之后,標(biāo)簽中存放的隱私信息的安全,需要設(shè)計(jì)出安全性較好的所有權(quán)轉(zhuǎn)移協(xié)議。
基于上述,國(guó)內(nèi)外眾多學(xué)者提出能夠滿足不同應(yīng)用環(huán)境的所有權(quán)轉(zhuǎn)移協(xié)議。一些協(xié)議存在安全缺陷,達(dá)不到較好的安全需求[5-7];一些協(xié)議計(jì)算量較大,對(duì)于標(biāo)簽的要求較高,不適合推廣運(yùn)用[8-10];一些協(xié)議所需要的部署成本較高,無法大面積推廣[11-13]。
在文獻(xiàn)[14]中,Saito 等人第一次提出所有權(quán)轉(zhuǎn)移的概念。同時(shí)Saito 等人設(shè)計(jì)出一個(gè)所有權(quán)轉(zhuǎn)移協(xié)議,因協(xié)議基于可信第三方操作,使得計(jì)算復(fù)雜度較高,阻礙了協(xié)議的推廣。
在文獻(xiàn)[15]中,金永明等人采用優(yōu)化的Rabin 加密算法[16]設(shè)計(jì)出一款輕量級(jí)的所有權(quán)轉(zhuǎn)移協(xié)議。協(xié)議基于優(yōu)化的Rabin 加密算法,因此整個(gè)協(xié)議的計(jì)算量得到較大幅度的降低。但自從金的協(xié)議提出之后,后續(xù)很多學(xué)者對(duì)該協(xié)議進(jìn)行分析,發(fā)現(xiàn)該協(xié)議存在較多的安全缺陷。
在文獻(xiàn)[17]中,沈金偉等人通過詳細(xì)的分析,指出金的協(xié)議無法抵抗攻擊者的重放攻擊,同時(shí)也無法抵抗拒絕服務(wù)攻擊。在分析金的協(xié)議之后,在此基礎(chǔ)之上,沈金偉等人在文獻(xiàn)[17]中給出了一種所有權(quán)轉(zhuǎn)移協(xié)議,聲稱可以彌補(bǔ)金的協(xié)議不足之處。
在文獻(xiàn)[18]中,李希元等人也對(duì)金的協(xié)議進(jìn)行了詳細(xì)的分析,指出金的協(xié)議存在一定的安全缺陷問題,具體所指協(xié)議無法抵抗暴力破解攻擊。并在分析金的協(xié)議之后,提出改進(jìn)的協(xié)議。
針對(duì)文獻(xiàn)[17]中,沈金偉等人所提協(xié)議,在文獻(xiàn)[19]中也給出了詳細(xì)的分析。分析指出:沈金偉等人所提出的改進(jìn)的協(xié)議,仍無法滿足重放攻擊,同時(shí)協(xié)議還無法滿足去同步化攻擊。之后,文獻(xiàn)[19]中提出一種改進(jìn)的協(xié)議。
文章在分析眾多協(xié)議基礎(chǔ)之上,給出一種基于位運(yùn)算的低成本的標(biāo)簽所有權(quán)轉(zhuǎn)移協(xié)議。循轉(zhuǎn)函數(shù)基于位運(yùn)算實(shí)現(xiàn),文中所提協(xié)議采用循轉(zhuǎn)函數(shù)進(jìn)行加密。同時(shí)利用數(shù)學(xué)難題——大數(shù)分解問題,對(duì)部分傳輸信息進(jìn)行加密,增大攻擊者的破解難度。協(xié)議最后,通過安全性分析和性能分析部分,表明協(xié)議具備運(yùn)用所需的安全需求以及低成本的要求。
整個(gè)系統(tǒng)中的通信實(shí)體包含以下:標(biāo)簽原所有者、標(biāo)簽新所有者、標(biāo)簽。所有者與標(biāo)簽之間的傳輸采用無線方式進(jìn)行,因此具有很大的安全隱患。協(xié)議中出現(xiàn)的部分符號(hào)詳細(xì)說明可參見表1。
循轉(zhuǎn)函數(shù)F(x)是輕量級(jí)分組密碼算法SIMON算法中的核心函數(shù),在2013 年,由美國(guó)國(guó)家安全局提出此函數(shù)[20]。循轉(zhuǎn)函數(shù)F(x)具體定義描述如下:F(x)=(x <<<8)·(x <<<1)⊕(x <<<。2上)述 公 式 中,·表示按比特與位運(yùn)算的含義、⊕表示按比特異或位運(yùn)算的含義、<<<表示按比特左循環(huán)移位運(yùn)算的含義。
循轉(zhuǎn)函數(shù)F(x)的具體計(jì)算過程描述如下:將二進(jìn)制數(shù)x左循環(huán)移8位得到二進(jìn)制數(shù)a;將二進(jìn)制數(shù)x左循環(huán)移1 位得到二進(jìn)制數(shù)b;將二進(jìn)制數(shù)x左循環(huán)移2 位得到二進(jìn)制數(shù)c;然后將a 和b放在一起做按位與運(yùn)算,再將計(jì)算所得到結(jié)果和二進(jìn)制數(shù)c 放在一起做按位異或運(yùn)算,最終便可得到一個(gè)新的二進(jìn)制數(shù)。
表1 符號(hào)說明
為便于更進(jìn)一步對(duì)循轉(zhuǎn)函數(shù)的理解,下面采用舉例的方法對(duì)其進(jìn)行進(jìn)一步的解釋。設(shè)x 是一個(gè)L 位的二進(jìn)制數(shù),x=x1·x2…xL,xi∈{0,1},1 ≤i ≤L。循轉(zhuǎn)函數(shù)F(x)算 法 舉 例 如 下,設(shè) x 的 長(zhǎng) 度 為 L=16,x=1011001011101101。
按照上述定義,將二進(jìn)制數(shù)x 左循環(huán)移8 位得到二進(jìn)制數(shù)a,則a 的值為:a=1110110110110010;按照上述定義,將二進(jìn)制數(shù)x 左循環(huán)移1 位得到二進(jìn)制數(shù)b,則b的值為:b=0110010111011011;按照上述定義,將二進(jìn)制數(shù)x 左循環(huán)移2 位得到二進(jìn)制數(shù)c,則c 的值為:c=1100101110110110;按照上述定義,將a和b放在一起做按位與運(yùn)算,再將計(jì)算所得到結(jié)果和二進(jìn)制數(shù)c放在一起做按位異或運(yùn)算,最終便可得到一個(gè)新的二進(jìn)制數(shù),即:F(x)=1011110000100000。循轉(zhuǎn)函數(shù)F(x)具體運(yùn)算過程如圖1所示。
圖1 循轉(zhuǎn)函數(shù)F(x)運(yùn)算流程圖
循轉(zhuǎn)函數(shù)F(x)具有非線性、非映射、不可逆的特點(diǎn)。同時(shí)由于F(x)只使用了適合硬件實(shí)現(xiàn)的按位與運(yùn)算、按位異或運(yùn)算、按位移位簡(jiǎn)單位運(yùn)算,并且按位與運(yùn)算硬件消耗率相比模2n等其他位運(yùn)算較低,因此循轉(zhuǎn)函數(shù)F(x)硬件實(shí)現(xiàn)起來更加得簡(jiǎn)單。同時(shí)F(x)具備內(nèi)存占用少、安全性較高,且效率方面要優(yōu)于大多數(shù)現(xiàn)有的輕量級(jí)位運(yùn)算加密算法。
設(shè)計(jì)的協(xié)議中,用到的加密算法主要有三個(gè):(1)循轉(zhuǎn)函數(shù)加密算法。該算法是由美國(guó)在2013 年提出的,算法的實(shí)現(xiàn)主要基于位運(yùn)算,涉及到的位運(yùn)算包括:左移位運(yùn)算、與運(yùn)算、異或運(yùn)算。(2)二次剩余定理。二次剩余定理是基于大數(shù)分解問題,大數(shù)分解問題屬于數(shù)學(xué)中的難題問題,具備較難的破解,具有極好的安全性能。有關(guān)二次剩余定理加解密過程具體描述可參見文獻(xiàn)[21],文中此處不再累述。(3)字合成運(yùn)算。字合成運(yùn)算也是基于按位運(yùn)算實(shí)現(xiàn),具有較低的計(jì)算量,能夠降低通信實(shí)體的計(jì)算總量。有關(guān)字合成運(yùn)算的實(shí)現(xiàn)具體描述可參見文獻(xiàn)[22],文中此處不再累述。
協(xié)議開始之前,標(biāo)簽新所有者D new 選擇兩個(gè)大素?cái)?shù),記作p、q,同時(shí)計(jì)算n(其中n=pq),并通過安全路徑將信息<p、q、n >告知要進(jìn)行所有權(quán)轉(zhuǎn)移的標(biāo)簽。標(biāo)簽原所有者D old 存放如下信息:<Ki,IDi >。標(biāo)簽存放如下信息:<K,ID,n,p,q >。
圖2中出現(xiàn)的公式進(jìn)行如下解釋說明,具體見表2。
圖2 所有權(quán)轉(zhuǎn)移協(xié)議流程圖
表2 公式說明
結(jié)合圖2,所有權(quán)轉(zhuǎn)移協(xié)議具體執(zhí)行步驟描述如下:
步驟1D new 向D old 發(fā)送轉(zhuǎn)移標(biāo)簽Ti所有權(quán)請(qǐng)求命令Request。
步驟2D old 接收到信息后,先查找是否存在標(biāo)簽Ti。不存在,協(xié)議結(jié)束;反之,進(jìn)行如下步驟:
(1)生成一個(gè)隨機(jī)數(shù),記作r1。
(2)利用存放的ID,存放的K,生成的r1,計(jì)算得到M1。
(3)利用存放的ID,存放的K,生成的r1,計(jì)算得到A。
(4)將<M1、A >發(fā)送給D new。
有關(guān)M1、A的具體計(jì)算參考表2。
步驟3D old 收到信息后,先生成一個(gè)隨機(jī)數(shù),記作r2;接著利用生成的r2,接收到的M1,計(jì)算得到M2;在利用存放的p,生成的r2,計(jì)算得到B;最后將<M2、A、B >發(fā)送給Ti。
有關(guān)M2、B的具體計(jì)算參考表2。
步驟4Ti 接收到信息后,先利用接收到的A,存放的K,存放的ID,計(jì)算得到隨機(jī)數(shù)r1′。利用接收到的B,存放的p,計(jì)算得到隨機(jī)數(shù)r2′。利用計(jì)算得到的r1′,計(jì)算得到的r2′,存放的K,存放的ID,計(jì)算得到M2′。比對(duì)計(jì)算所得M2′與接收到的M2是否相等。不相等,協(xié)議結(jié)束;反之,Ti驗(yàn)證D old 通過,然后進(jìn)行如下操作:
(1)Ti生成兩個(gè)隨機(jī)數(shù),依次記作r3、r4。
(2)利用計(jì)算得到的r1,生成的r3,存放的K,計(jì)算得到M3。
(3)利用計(jì)算得到的r2,生成的r4,存放的n,運(yùn)用二次剩余定理計(jì)算得到E。
(4)利用生成的r3,存放的K,存放的ID,計(jì)算得到F。
(5)將<M3、E、F >發(fā)送給D new。
其中r1′=A⊕Syn(K,ID),r2′=p⊕B,有關(guān)M3、E、F的具體計(jì)算參考表2。
步驟5D new 接收到信息后,利用存放的p 和q,生成的r2,接收到的E,結(jié)合二次剩余定理,對(duì)E 進(jìn)行解密計(jì)算,可得出四個(gè)解,并依次記作x1、x2、x3、x4。若能夠在上述四個(gè)解<x1、x2、x3、x4 >中查找到左邊的L位與r2相等,則該解的右L位即為r4。
計(jì) 算 得 到r4 之 后,D new 將<M3、F >發(fā) 送 給D old。反之,D new驗(yàn)證Ti失敗,協(xié)議結(jié)束。
有關(guān)對(duì)E 進(jìn)行利用二次剩余定理解密過程,可參考之前章節(jié)有關(guān)二次剩余定理的描述。
步驟6D old 接收到信息后,利用接收到的F,存放的K,存放的ID,計(jì)算得到隨機(jī)數(shù)r3′。利用計(jì)算得到的r3′,生成的r1,存放的K,計(jì)算得到M3′。比對(duì)計(jì)算所得M3′與接收到的M3是否相等。不相等,協(xié)議結(jié)束;反之,D old 驗(yàn)證Ti通過,然后進(jìn)行如下操作:
(1)開始進(jìn)行Ti所有權(quán)轉(zhuǎn)移過程。
(2)利用接收到的M3,存放的K,存放的ID,計(jì)算得到M4。
(3)將<M4 >發(fā)送給D new。到此,D old 與Ti之間的雙向認(rèn)證完成。
其中r3′=F⊕Syn(K⊕ID,K),有關(guān)M4 的具體計(jì)算參考表2。
步驟7D new接收到信息后,進(jìn)行如下操作:
(1)生成一個(gè)隨機(jī)數(shù),記作r5。
(2)利用生成的r5,接收到的M4,計(jì)算得到的r4,計(jì)算得到M5。
(3)利用生成的r5,計(jì)算得到的r4,存放的q,計(jì)算得到G。
(4)將<M5、G >發(fā)送給Ti。
(5)開始更新信息:KN=r5。
有關(guān)M5、G 的具體計(jì)算參考表2。
步驟8Ti 在接收到信息后,利用接收到的G,存放的q,生成的r4,計(jì)算得到隨機(jī)數(shù)r5′。利用計(jì)算得到的M3,存放的ID,存放的K,計(jì)算得到M4′。利用計(jì)算得到的M4′,計(jì)算得到的r5′,生成的r4,計(jì)算得到M5′。比對(duì)計(jì)算所得M5′與接收到的M5是否相等。不相等,協(xié)議結(jié)束;反之,Ti驗(yàn)證D new通過,然后進(jìn)行如下操作:
(1)更新信息:K=r5。
(2)將<ACK >確定命令發(fā)送給D new。
其中r5′=G⊕Syn(q,r4)。
步驟9D new 接收到信息后,對(duì)Ti 進(jìn)行的所有權(quán)轉(zhuǎn)移完整結(jié)束。
(1)重放攻擊
攻擊者通過監(jiān)聽等手段,可獲取通信消息,企圖通過重放截獲的通信信息手段,以達(dá)到蒙混過關(guān)認(rèn)證的目的。但協(xié)議可以抵擋攻擊者的重放攻擊:整個(gè)協(xié)議通信的所有消息,在進(jìn)行加密過程中,均混入隨機(jī)數(shù);隨機(jī)數(shù)的加入,使得每次通信的消息前后兩次并不是完全一致;即便是攻擊者通過監(jiān)聽可獲取本次通信消息,但無法預(yù)測(cè)下次消息,因隨機(jī)數(shù)產(chǎn)生具備不可預(yù)測(cè)性。并因?yàn)楣粽呷狈Ρ匾[私信息,諸如:共享密鑰K,攻擊者監(jiān)聽所得到的通信消息亦無用處。因此,協(xié)議可以抵抗攻擊者的重放攻擊。
(2)假冒攻擊
對(duì)于攻擊者而言,可以冒充通信實(shí)體中的任意一方,與其他通信實(shí)體進(jìn)行通信。該處,僅以攻擊者冒充標(biāo)簽通信實(shí)體與其他設(shè)備進(jìn)行信息交換。
攻擊者冒充成標(biāo)簽,與D new 進(jìn)行信息交換。在此之前,攻擊者可以通過監(jiān)聽一個(gè)完整的通信過程,獲取如下信息:M2、A、B、M3、E、F 等。攻擊者因?yàn)椴恢獣噪[秘信息,比如:攻擊者不知曉選擇的計(jì)算大素?cái)?shù)p,因此攻擊者無法計(jì)算得到正確的隨機(jī)數(shù)r2。攻擊者因缺乏正確的隨機(jī)數(shù)r2,攻擊者方面無法計(jì)算生成正確的消息E。當(dāng)D new接收到攻擊者發(fā)送過來的E 時(shí),D new只需要進(jìn)行簡(jiǎn)單的計(jì)算,即可識(shí)別出發(fā)送消息的一端是攻擊者假冒的標(biāo)簽,協(xié)議即可結(jié)束。因此,協(xié)議可以抵擋假冒攻擊。
(3)實(shí)現(xiàn)多方認(rèn)證
系統(tǒng)安全的前提是:通信實(shí)體之間能夠?qū)崿F(xiàn)認(rèn)證,確定通信實(shí)體不是攻擊者所假冒。
協(xié)議中,標(biāo)簽一端,第一次會(huì)通過消息M2、A、B 對(duì)D new 和D old 同時(shí)進(jìn)行認(rèn)證。如果攻擊者想假冒D new和D old 中的任意一方,攻擊者會(huì)因?yàn)槿鄙俦貍涞募用苄畔ⅲ沟脴?biāo)簽很容易通過上面的方法識(shí)別出真?zhèn)涡?。同時(shí),標(biāo)簽一端,更會(huì)在后續(xù)的過程中,通過M5、G 對(duì)D new 進(jìn)行第二次認(rèn)證。多次認(rèn)證,能更一步保證安全性。
D new 端會(huì)通過M3、E、F 對(duì)標(biāo)簽進(jìn)行認(rèn)證。攻擊者無法預(yù)測(cè)合法標(biāo)簽生成的隨機(jī)數(shù),所以沒辦法生成正確的M3、E、F 消息。即便是攻擊者可以自身生成隨機(jī)數(shù),以此來代替合法標(biāo)簽生成的隨機(jī)數(shù)進(jìn)行計(jì)算,但攻擊者不知大素?cái)?shù)p及共享密鑰K 等隱私信息,攻擊者仍無法計(jì)算出正確的M3、E、F 來。
基于上述,協(xié)議能夠?qū)崿F(xiàn)多方通信實(shí)體之間的相互認(rèn)證。
(4)去同步化攻擊
攻擊者想通過重放某些消息,或阻塞通信過程,從而使得通信實(shí)體之間共享的一些加密信息失去同步性。協(xié)議中,標(biāo)簽端、標(biāo)簽新所有者端、標(biāo)簽原所有者端,如需進(jìn)行相關(guān)的信息更新,必須是在認(rèn)證通過之后,才會(huì)進(jìn)行的步驟。這樣可以保證通信實(shí)體之間的信息同步性。因此,協(xié)議可以抵抗攻擊者的去同步化攻擊。
(5)暴力破解攻擊
協(xié)議必須要能夠保證攻擊者無法通過窮舉的暴力手段破解出任何有用的信息。對(duì)于本文中的協(xié)議,任何一個(gè)傳輸?shù)南?,?duì)于攻擊者來說,都至少有兩個(gè)或兩個(gè)以上的參量,攻擊者是不知曉的,并且也無法通過其他途徑知曉(比如:無法通過監(jiān)聽等手段知曉這些加密用到的參量);同時(shí)所有傳輸?shù)南⒅校诩用艿倪^程中,還引入隨機(jī)數(shù),前后兩輪通信過程中,加密用到的隨機(jī)數(shù)不同,且隨機(jī)數(shù)的產(chǎn)生無法提前預(yù)測(cè)?;谏鲜?,攻擊者即便是通過監(jiān)聽可以獲取所有的通信消息,但攻擊者仍無法采用窮盡的方法窮舉出任何有用的消息。此處,選擇消息M5=(M4 <<<8)&(r5 <<<1)⊕(r4 <<<2)為例進(jìn)行分析。r4由標(biāo)簽一端產(chǎn)生,r5由標(biāo)簽新所有者一端產(chǎn)生,M4 的計(jì)算過程中涉及到K 和ID,上述提及到的所有信息,都未曾在通信過程中明文出現(xiàn)過,對(duì)于攻擊者來說,根本是無法知曉。攻擊者不知道任何一個(gè)消息,根本無法窮舉有用信息出來。因此,協(xié)議可以抵抗攻擊者發(fā)起的暴力破解攻擊。
性能分析主要針對(duì)系統(tǒng)中的標(biāo)簽通信實(shí)體,因標(biāo)簽的原所有者及標(biāo)簽的新所有者具備較強(qiáng)的計(jì)算能力和較大的存儲(chǔ)空間,因此不做性能分析考慮。對(duì)于標(biāo)簽而言,性能分析主要側(cè)重于計(jì)算量以及存儲(chǔ)量的大小。本文協(xié)議與其他協(xié)議之間的比較如表3所示。
對(duì)表3 中出現(xiàn)的符號(hào)有關(guān)解釋如下:X 表示按位運(yùn)算(異或運(yùn)算、與運(yùn)算、左移運(yùn)算、連接運(yùn)算等都是基于按位運(yùn)算實(shí)現(xiàn)的,運(yùn)算所需的時(shí)間相錯(cuò)不大,此處用X共同表示),PRNG 表示隨機(jī)數(shù)產(chǎn)生器,LFSR表示線性移位寄存函數(shù),R()表示Rabin 加密運(yùn)算,Syn()表示字合成運(yùn)算,MOD 表示模運(yùn)算。設(shè)定隨機(jī)數(shù)、密鑰、大素?cái)?shù)p和q、標(biāo)簽ID的長(zhǎng)度均為L(zhǎng)位。
表3 協(xié)議的性能對(duì)比
上述運(yùn)算中,R()的運(yùn)算量大于MOD 的運(yùn)算量,MOD 的運(yùn)算量大于Syn()的運(yùn)算量。X 的運(yùn)算量是最小的,且X 的運(yùn)算量屬于超輕量級(jí)的,相對(duì)于R()和MOD而言,X 的計(jì)算量可以小到忽略不計(jì),故協(xié)議中多幾次有關(guān)X 的計(jì)算,對(duì)整個(gè)協(xié)議的計(jì)算時(shí)間影響小到可以忽略不計(jì)。PRNG 和LFSR都可以產(chǎn)生隨機(jī)數(shù),但前者的運(yùn)算量要比后者的運(yùn)算量大。在現(xiàn)有的研究中,Rabin 加密運(yùn)算的實(shí)現(xiàn)還未能達(dá)到輕量級(jí)的級(jí)別,而Syn()字合成運(yùn)算的實(shí)現(xiàn)本質(zhì)上也是按位運(yùn)算[22],因此Syn()字合成運(yùn)算屬于超輕量級(jí)的級(jí)別,按照此闡述,Rabin 加密運(yùn)算的計(jì)算量至少高出Syn()字合成運(yùn)算的計(jì)算量?jī)蓚€(gè)級(jí)別。
基于上述,再結(jié)合表3 中數(shù)據(jù)可以得出如下信息:本文協(xié)議相對(duì)于文獻(xiàn)[18]、文獻(xiàn)[19]中的協(xié)議,在標(biāo)簽端的計(jì)算量方面的比較,主要不同之處在于,本文協(xié)議中用Syn()字合成運(yùn)算取代Rabin 加密運(yùn)算進(jìn)行加密。正因如此,本文協(xié)議未使用Rabin加密運(yùn)算,而是采用計(jì)算量更小的Syn()字合成運(yùn)算,從而使得本文協(xié)議中標(biāo)簽端的計(jì)算量得到一定程度上的減少和降低。具體的:文獻(xiàn)[18]中的協(xié)議需要用到3 次Rabin 加密運(yùn)算,文獻(xiàn)[19]中的協(xié)議也需要用到3 次Rabin 加密運(yùn)算,而本文協(xié)議只需要用到4 次Syn()字合成運(yùn)算;其他幾種運(yùn)算,各個(gè)協(xié)議中都有用到,且用到的次數(shù)相錯(cuò)并不大;唯一用到次數(shù)相錯(cuò)比較大的運(yùn)算是X 按位運(yùn)算,而X 按位運(yùn)算屬于超輕量級(jí)的運(yùn)算,多幾次運(yùn)算,對(duì)于整體的運(yùn)算量影響很小,幾乎可以忽略不計(jì)。
本文協(xié)議與上述協(xié)議進(jìn)行性能對(duì)比:有關(guān)于標(biāo)簽一端的存儲(chǔ)空間大小方面,幾個(gè)協(xié)議存儲(chǔ)空間大小相當(dāng),相錯(cuò)不大。不僅能夠彌補(bǔ)文獻(xiàn)[17]中存在的安全缺陷,同時(shí)選取的加密算法的計(jì)算量少于文獻(xiàn)[17-19]中的計(jì)算量。雖然文獻(xiàn)[18-19]中的協(xié)議暫未發(fā)現(xiàn)存在安全隱患,但本文協(xié)議在計(jì)算量方面,較文獻(xiàn)[18-19]中的協(xié)議計(jì)算量減少很多。
分析現(xiàn)有的部分所有權(quán)轉(zhuǎn)移協(xié)議,指出其中存在的不足之處,并在此基礎(chǔ)之上,提出一種采用按位運(yùn)算的適用于低成本的標(biāo)簽所有權(quán)轉(zhuǎn)移協(xié)議。協(xié)議采用字合成運(yùn)算進(jìn)行加密,字合成運(yùn)算的實(shí)現(xiàn)基于按位運(yùn)算;同時(shí)采用由美國(guó)前幾年提出的循轉(zhuǎn)函數(shù)進(jìn)行加密,循轉(zhuǎn)函數(shù)也是采用按位運(yùn)算實(shí)現(xiàn)。這兩個(gè)加密算法的采用,能夠從本源上減少標(biāo)簽一端總的計(jì)算量。為增加協(xié)議的安全度,同時(shí)引入二次剩余定理對(duì)傳輸?shù)囊恍〔糠种匾⑦M(jìn)行加密;其中二次剩余定理基于大素?cái)?shù)分解問題,而大素?cái)?shù)分解問題是數(shù)學(xué)中尚未完全解決的難題,因此二次剩余定理算法的引入,能夠極大程度上增加協(xié)議的安全性。信息加密過程中,隨機(jī)數(shù)的加入,可以使得前后通信消息并不完全一致,并使得消息具備一定的新鮮性,更進(jìn)一步增加攻擊者的破解難度。最后的章節(jié)部分,對(duì)協(xié)議進(jìn)行了安全性分析和性能分析,表明協(xié)議具備較高的安全性和較低的成本性能。