施虹宇,鄧倫治,高 巖,胡震宇
(貴州師范大學(xué) 數(shù)學(xué)科學(xué)學(xué)院,貴州 貴陽 550025)
物聯(lián)網(wǎng)的目標(biāo)是實(shí)現(xiàn)所有事物的互聯(lián)。近年來,為了實(shí)現(xiàn)這一目標(biāo),越來越多的現(xiàn)代技術(shù)被廣泛應(yīng)用于物聯(lián)網(wǎng)(IoTs)中,如身份識別技術(shù)、云計(jì)算技術(shù)、大數(shù)據(jù)處理和無線互聯(lián)技術(shù)。我們可以利用上述技術(shù),在物聯(lián)網(wǎng)中對物體進(jìn)行跟蹤和識別,以實(shí)現(xiàn)對物體及其流通過程的管理[1]。在物聯(lián)網(wǎng)中,識別技術(shù)則是關(guān)鍵,但傳統(tǒng)的自動識別技術(shù)已不能滿足物聯(lián)網(wǎng)的需要。例如條形碼的存儲空間太小,ID卡的識別不靈活等的缺點(diǎn)[2]。所以我們需要一種更好的識別技術(shù)[3-5]。
射頻識別(RFID)是一種非接觸式技術(shù),它利用無線射頻信號來實(shí)現(xiàn)目標(biāo)的識別和數(shù)據(jù)的交換。自20世紀(jì)90年代以來,RFID在互聯(lián)網(wǎng)上得到了廣泛的應(yīng)用。由于其移動性,它成為現(xiàn)在最流行的技術(shù)之一。但是RFID系統(tǒng)在安全性和隱私性方面也存在問題。因此,在RFID系統(tǒng)中,要使用安全方案來確保標(biāo)簽的隱私性和認(rèn)證過程的安全性[6]。
RFID認(rèn)證系統(tǒng)分為3個部分:RFID標(biāo)簽、RFID閱讀器和后端數(shù)據(jù)庫。閱讀器向標(biāo)簽發(fā)送射頻信號并進(jìn)行數(shù)據(jù)交換。閱讀器接收到標(biāo)簽返回的數(shù)據(jù)后,將相關(guān)數(shù)據(jù)發(fā)送到后端數(shù)據(jù)庫進(jìn)行處理[7]。這里的后端數(shù)據(jù)庫用于計(jì)算和存儲數(shù)據(jù)。在傳統(tǒng)的RFID系統(tǒng)中,閱讀器和后端數(shù)據(jù)庫之間進(jìn)行信息傳輸?shù)男诺揽梢哉J(rèn)為是安全的。許多現(xiàn)有的RFID認(rèn)證方案都使用后端數(shù)據(jù)庫。然而,在物聯(lián)網(wǎng)中,需要認(rèn)證的標(biāo)簽數(shù)量激增,導(dǎo)致后端數(shù)據(jù)庫的維護(hù)成本變得越來越昂貴。隨著云服務(wù)的發(fā)展,其計(jì)算能力受到了廣泛關(guān)注。將數(shù)據(jù)庫的建立和維護(hù)委托給云服務(wù)提供商是一個不錯的選擇,這樣可以降低對后端數(shù)據(jù)庫的維護(hù)成本。云服務(wù)器不僅提高了RFID系統(tǒng)的綜合性能,而且保證了傳輸數(shù)據(jù)的安全性和及時性[6,8]?;谠频腞FID認(rèn)證模型如圖1所示。
圖1 基于云的RFID認(rèn)證模型
然而,基于云服務(wù)器的RFID系統(tǒng)也存在安全問題。標(biāo)簽和閱讀器使用公共的無線信道進(jìn)行數(shù)據(jù)的傳輸,這增加了數(shù)據(jù)泄漏的風(fēng)險(xiǎn)。當(dāng)數(shù)據(jù)通過公共信道傳輸消息時,攻擊者可以竊取并篡改傳輸?shù)南ⅰR虼?,有必要提出安全的RFID認(rèn)證方案。
現(xiàn)存的許多方案都是基于后端數(shù)據(jù)庫的[9-13]。然而,這些方案也帶來了一些問題。例如,系統(tǒng)無法抵抗位置跟蹤,后端數(shù)據(jù)庫無法處理大量數(shù)據(jù)。因此,我們需要一個更強(qiáng)大、更安全的后端數(shù)據(jù)庫來處理大數(shù)據(jù)環(huán)境中的數(shù)據(jù)。而云服務(wù)器的優(yōu)勢就此體現(xiàn),如強(qiáng)大的計(jì)算能力和更大的存儲空間。這些優(yōu)勢使得云服務(wù)器在RFID認(rèn)證方案中代替后端數(shù)據(jù)庫,研究者們也提出了許多基于云的RFID認(rèn)證方案[7,14-16]。
2013年,Xie等[14]提出了一種基于云的RFID認(rèn)證方案,該方案使用VPN代理連接服務(wù)器和閱讀器。但在現(xiàn)實(shí)生活中,VPN的維護(hù)成本非常昂貴,這使得該方案的實(shí)現(xiàn)變得困難。2015年,Dong等[7]提出了一種基于云的RFID認(rèn)證方案,該方案使用對稱加密。實(shí)際上,對稱密鑰的安全傳輸是一個問題。隨著標(biāo)簽數(shù)量的暴增,對稱密鑰的數(shù)量也將大大增加。這使得云服務(wù)器更難管理密鑰,并且花費(fèi)更昂貴的管理成本。2019年,Kumar等[16]提出了一種基于云的RFID認(rèn)證方案。在該方案中,閱讀器不參與計(jì)算,只將消息發(fā)送給服務(wù)器和標(biāo)簽。這就存在一個問題,即攻擊者可以輕松更換閱讀器并篡改所傳輸?shù)南?。Safkhani等[15]指出該方案無法抵抗重放攻擊和模仿攻擊。雖然Safkhani等[15]的方案能夠抵抗攻擊,但計(jì)算成本并不是很令人滿意。
所以,本文提出了一種基于云的RFID認(rèn)證方案,使用BAN邏輯證明對方案進(jìn)行了非正式和正式的分析。結(jié)果表明,我們的方案具有很強(qiáng)的安全性,能夠抵抗上述提到的這些攻擊。
該方案涉及的數(shù)學(xué)知識如下:橢圓曲線[17]和ECDLP(橢圓曲線離散對數(shù)問題)[18]。
設(shè)q一個大素?cái)?shù),F(xiàn)q是一個素?cái)?shù)域,F(xiàn)q上的橢圓曲線的方程為:y2=x3+ax+b。
a,b∈Fq是滿足4a3+27b2≠0的2個常數(shù)。G是一個階為n的加法群,它由橢圓曲線上的所有點(diǎn)和一個無窮遠(yuǎn)點(diǎn)O組成。
給定素?cái)?shù)階為n的群中的2個點(diǎn)P和Q,已知等式Q=dP,找出d∈(1,n-1)在計(jì)算上是困難的。
我們的認(rèn)證方案分為2個階段:注冊階段和認(rèn)證階段。本文所使用的符號列在表1,具體認(rèn)證方案見圖2。
表1 符號和含義
圖2 RFID認(rèn)證方案
2)每個標(biāo)簽t選取自己的秘密值x∈[1,n-1]并存入自己的記憶。標(biāo)簽發(fā)送x給云服務(wù)器,云服務(wù)器檢查x,如果x已經(jīng)被選取,則云服務(wù)器拒絕接受,標(biāo)簽重新選取秘密值。否則,云服務(wù)器將x存入自己的記憶。
3)每個閱讀器y選取自己的秘密值y∈[1,n-1]并存入自己的記憶。閱讀器發(fā)送y給云服務(wù)器,云服務(wù)器檢查y,如果y已經(jīng)被選取,則云服務(wù)器拒絕接受,閱讀器重新選取秘密值。否則,云服務(wù)器將y存入自己的記憶。
4)云服務(wù)器選取自己的私鑰s∈[1,n-1],并計(jì)算公鑰Ps=sP。
5)云服務(wù)器通過安全通道將自己的私鑰s發(fā)送給標(biāo)簽。
1)閱讀器選取隨機(jī)數(shù)a∈[1,n-1],計(jì)算R1=aP,發(fā)送R1給標(biāo)簽。
2)標(biāo)簽收到后選取隨機(jī)數(shù)b∈[1,n-1],計(jì)算T1=bP,T2=sR1,T3=bT2,C1=x+h(T2,R1),并發(fā)送T1,T3,C1給閱讀器。
3)閱讀器收到T1,T3,C1后計(jì)算R2=a-1T2,C2=y+h(R2,T1),并發(fā)送R1,T1,C1,C2給服務(wù)器。
在我們的方案中,攻擊者Α無法通過標(biāo)簽和閱讀器得到秘密值x和y,同時秘密值隱藏在公共消息C1和C2中。這些消息包含單向哈希值和隨機(jī)數(shù),這使得每個會話中的C1和C2都不同。所以攻擊者Α無法獲取標(biāo)簽和閱讀器的身份信息。因此,我們的認(rèn)證方案保證了標(biāo)簽和閱讀器的匿名性。
在本方案中,所有秘密值都被隱藏在所傳輸?shù)南⒅?,而所傳輸?shù)南⒅邪S機(jī)數(shù)和單向哈希函數(shù)。由于隨機(jī)數(shù)a,b和哈希函數(shù)都是不同的,傳輸?shù)南τ诿總€會話也是不同的。即使攻擊者Α竊取到標(biāo)簽和閱讀器的秘密值,也無法關(guān)聯(lián)任何以前從公共信道截獲的消息。因此,我們的認(rèn)證方案實(shí)現(xiàn)前向安全。
模仿攻擊是RFID系統(tǒng)中最常見的一種攻擊方式。攻擊可以分為以下3種情況:
1)標(biāo)簽?zāi)7鹿?/p>
攻擊者Α試圖模仿標(biāo)簽,產(chǎn)生有效消息T1、T3和C1,其中T1=bP,T3=bT2,C1=x+h(T2,R1)。然而,這些消息包含一些秘密參數(shù),例如x、b,它們受到哈希函數(shù)和ECDLP困難問題的保護(hù)。因此,攻擊者Α無法模仿的標(biāo)簽。
2)閱讀器模仿攻擊
類似地,攻擊者Α產(chǎn)生有效消息R1和C2,但這些消息包含例如y的秘密參數(shù),這些參數(shù)受到哈希函數(shù)和 ECDLP 困難問題的保護(hù)。所以,攻擊者Α無法模仿讀者。
3)云服務(wù)器模仿攻擊
假設(shè)攻擊者Α模仿云服務(wù)器進(jìn)行驗(yàn)證,發(fā)送有效消息C3和C4給閱讀器。但是這些消息包含一些秘密參數(shù),例如x、y,它們是受到哈希函數(shù)和ECDLP困難問題的保護(hù)。因此,云服務(wù)器模仿攻擊無效。由此,我們的認(rèn)證方案可以抵抗模仿攻擊。
如第4.2小節(jié)所述,我們的方案具有匿名性。攻擊者Α不能通過任何所截取的消息來獲取標(biāo)簽和閱讀器獨(dú)有的有效信息。所以我們的認(rèn)證方案可以抵抗位置跟蹤。
重放攻擊分為3種情況:標(biāo)簽重放攻擊、閱讀器重放攻擊和云服務(wù)器重放攻擊。
1)標(biāo)簽重放攻擊
攻擊者Α試圖發(fā)送先前截取到的消息T1、T3和C1給閱讀器用以通過身份的驗(yàn)證。但是,由于隨機(jī)數(shù)的隨機(jī)性。這些消息在每個會話中都是不同的。攻擊者Α無法被云服務(wù)器成功驗(yàn)證。所以,標(biāo)簽重放攻擊是無效的。
2)閱讀器重放攻擊
類似地,攻擊者Α嘗試重放以前的消息,但這些消息在每個會話都不同。攻擊者Α無法被云服務(wù)器成功驗(yàn)證。所以閱讀器重播攻擊無效。
3)云服務(wù)器重放攻擊
攻擊者Α截取消息C3和C4,并將這些消息重放給閱讀器。但由于隨機(jī)數(shù)的隨機(jī)性,這些消息在每個會話中都不同。顯然,驗(yàn)證不成功。因此,我們的身份驗(yàn)證方案可以抵御重放攻擊。
我們在表2中總結(jié)了3種RFID認(rèn)證方案的安全屬性。
表2 安全性比較
BAN邏輯是由Michael等[19]在1990年提出的,它是一種證明模型,使用邏輯推理來證明方案的安全性。
主體:T:tagR:readerS:cloud-server
秘鑰:s:云服務(wù)器的秘鑰。
秘密值:T2,T3,R2
臨時值:a,b
本文使用的語法和語義:
1)P|≡X:P相信X是真的。
2)P?X:P接收到了包含X的消息。
3)P|~X:P曾發(fā)送過包含X的消息。
4)P|?X:P對X有管轄權(quán)。
5)#(X):X是新鮮的。
7){X}K:用秘鑰K加密X后得到的密文。
5.4.1 協(xié)議說明
1)R→T:R1
2)T→R:T1,T3,C1
3)R→S:C1,C2,T1,R1
4)S→R:C3,C4
5)R→T:C4
5.4.2 協(xié)議理想化
M1:R?T1,T3,C1
M2:T?R1,C4
M3:S?T1,R1,C1,C2
5.4.3 初步假設(shè)
5.4.4 協(xié)議目標(biāo)
1)S|≡T|~x
2)S|≡R|~y
3)T|≡S|~C4
4)R|≡S|~C3
5)R|≡T|~#(T3)
6)T|≡R|~#(R1)
5.4.5 協(xié)議過程
6)已知T?R1,R|≡#(a),運(yùn)用規(guī)則R5我們可以得到:T|≡R|~#(R1)。
在本節(jié)中,我們將我們的方案與其他相關(guān)的RFID認(rèn)證方案[15-16]進(jìn)行了比較。通過閱讀He等[20]的文章,他們使用了一個著名的密碼庫MIRACL(http://www.shamus.ie/index.php$?$page$=$home)來計(jì)算基礎(chǔ)密碼操作的時間成本。他們的實(shí)驗(yàn)環(huán)境如下:IntelI7-4770處理器,3.40 GHz頻率,4 G內(nèi)存,在Windows7操作系統(tǒng)中運(yùn)行。具體加密操作時間見表3,數(shù)據(jù)大小見表4。
表3 加密操作時間
表4 數(shù)據(jù)大小
在表5和圖3中展示了計(jì)算成本的結(jié)果。文[15]的方案完成一次認(rèn)證過程需要12次Tem運(yùn)算和13次Th運(yùn)算。計(jì)算時間為12Tem+13Th≈5.305 3 ms。文[16]的方案完成一次認(rèn)證過程需要6次Tem運(yùn)算和9次Th運(yùn)算。計(jì)算時間為6Tem+9Th≈2.652 9 ms。我們的方案完成一次認(rèn)證過程需要11次Tem運(yùn)算、8次Th運(yùn)算和4次Tea運(yùn)算。計(jì)算時間為11Tem+8Th+4Tea≈4.870 0 ms。結(jié)果表明,我們的方案比文[15]的方案具有更低的計(jì)算成本。
表5 計(jì)算成本
圖3 計(jì)算成本的比較
在表6和圖4中顯示了通信成本的結(jié)果。文[15]的方案需要傳輸7個Bem、4個Bh和5個Bt,因此大小為7Bem+4Bh+5Bt=3 040 bits。文[16]的方案需要傳輸5個Bt和10個Bem,因此大小為10Bem+5Bt=3 360 bits。我們的方案需要傳輸5個Bem和6個Bh,因此大小為5Bem+6Bh=2 560 bits。因此,我們的方案比文[15-16]的方案具有更低的通信成本。
表6 通信成本
圖4 通信成本的比較
在表7和圖5中展示了標(biāo)簽存儲成本的結(jié)果。在文[15]的方案中,標(biāo)簽需要存儲2個Bem、2個Bh和1個Bn,因此大小為2Bem+2Bh+1Bn=1 120 bits。在文[16]的方案中,標(biāo)簽需要存儲2個Bem、3個Bh和1個Bn,因此大小為2Bem+3Bh+1Bn=1 280 bits。在我們的方案中,標(biāo)簽需要存儲 1個Bem和2個Bn,因此大小為1Bem+2Bn=640 bits。因此,我們的方案比其他方案具有更低的標(biāo)簽存儲成本[15-16]。
表7 標(biāo)簽的儲存成本
圖5 標(biāo)簽儲存成本的比較
在本文中,我們提出了一種基于云的 RFID 認(rèn)證方案。委托云服務(wù)商建立和維護(hù)數(shù)據(jù)庫,降低了后端數(shù)據(jù)庫的維護(hù)和管理成本,增強(qiáng)了RFID認(rèn)證方案的綜合性能。安全性分析表明,我們的方案可以抵抗各種已知的攻擊。通過新方案與現(xiàn)存的一些RFID認(rèn)證方案的性能比較,結(jié)果表明新方案擁有更好的性能。
貴州師范大學(xué)學(xué)報(bào)(自然科學(xué)版)2022年2期