林傳超, 魏騰雄, 李國剛②
(①國立華僑大學(xué) 信息科學(xué)與工程學(xué)院,福建 廈門 361021;②廈門大學(xué) 信息科學(xué)與技術(shù)學(xué)院,福建 廈門361005)
射頻識(shí)別技術(shù)是物聯(lián)網(wǎng)感知層重要的組成部分和關(guān)鍵技術(shù),是物聯(lián)網(wǎng)“十二五”發(fā)展規(guī)劃支持的重點(diǎn)。射頻識(shí)別在得到廣泛應(yīng)用的同時(shí)[1],隱私和安全問題將成為首要問題。近年來關(guān)于RFID的協(xié)議很多,基于對稱密鑰體制的認(rèn)證協(xié)議在計(jì)算復(fù)雜度方面具有優(yōu)勢,但在密鑰管理和安全性方面卻有不足[2-3]。而公鑰加密算法RSA,要進(jìn)行大素?cái)?shù)的分解,涉及指數(shù)運(yùn)算[4],影響運(yùn)算速度,這對于硬件資源有限的RFID是個(gè)很大的問題。而基于神經(jīng)網(wǎng)絡(luò)混沌吸引子的公鑰算法結(jié)合了神經(jīng)網(wǎng)絡(luò)和混沌系統(tǒng)各自的優(yōu)點(diǎn),一方面利用混沌復(fù)雜的非線性來提高算法的安全性,另一方面利用神經(jīng)網(wǎng)絡(luò)的并行處理來提高算法的加密速度,并且適合用FPGA來直接實(shí)現(xiàn)它的并行運(yùn)算,不僅具有較高的加解密速度,而且安全性較強(qiáng)。由此基于神經(jīng)網(wǎng)絡(luò)混沌吸引子公鑰算法提出一種RFID安全協(xié)議。
一個(gè)有K個(gè)互聯(lián)神經(jīng)元的離散Hopfield神經(jīng)網(wǎng)絡(luò),這K個(gè)神經(jīng)元的狀態(tài)用0或1表示,它的下一個(gè)狀態(tài) Si(t + 1 )與當(dāng)前各神經(jīng)元的狀態(tài) Si(t)的關(guān)系如下:
式中, Tij為神經(jīng)元i與j之間的聯(lián)接權(quán)值, ?i為神經(jīng)元i的閾值, σ ( x )為任一非線性函數(shù), 不妨設(shè)為一符號(hào)函數(shù),即:
在HNN模型中,神經(jīng)元的閾值?i可定義為0,Tij為一對稱矩陣。Hopfield已證明能量函數(shù)隨系統(tǒng)狀態(tài)的演進(jìn)而單調(diào)下降[5],最終會(huì)達(dá)到一種穩(wěn)定狀態(tài),即混沌吸引子[6],每個(gè)吸引子的吸引域有多個(gè)狀態(tài),且彼此之間關(guān)系沒法預(yù)測;吸引子及其相應(yīng)的吸引域會(huì)隨著聯(lián)結(jié)突觸矩陣T的改變而改變。從公式S?=HS和S?μ= H Sμ可知,原始狀態(tài)S和吸引子Sμ左乘一個(gè)非奇異變換H后,變?yōu)樾略紶顟B(tài)S?和吸引子S?μ。
根據(jù)Diffie-Hellman公鑰密碼體制的思想[7], 假定在一群用戶中有兩個(gè)用戶 A和 B要進(jìn)行保密通信,他們共同選擇一個(gè)n階奇異方陣為聯(lián)結(jié)突觸矩陣T0,然后再從n階方陣可交換族中任意選取一個(gè)非奇異變換方陣 Ha和 Hb作為自己的私鑰,使得 Ha和 Hb滿足 Ha* Hb= Hb*Ha,A和B用戶分別計(jì)算Ta=Ha* T0*Ha', T b =Hb* T0* Hb', Ha'和 H b'分別為 Ha與 Hb的轉(zhuǎn)置矩陣,之后將 Ta和 Tb作為公鑰公開,而將作為兩者的公共密鑰,這樣只有用戶A和用戶B可以從自己的私鑰和對方的公鑰計(jì)算出公共密鑰 T,而其他人無法從公鑰 Ta和 Tb計(jì)算出私鑰和公共密鑰,特別當(dāng)n較大時(shí)[6]。
圖1 基于神經(jīng)網(wǎng)絡(luò)混沌吸引子的公鑰密碼算法
通過Diffie-Hellman公鑰密碼體制進(jìn)行公共密鑰T的計(jì)算,完成公鑰的交換,然后通過公鑰產(chǎn)生的流密碼對信息進(jìn)行對稱加解密。為防止第三者的假冒攻擊, 通信兩方可使用數(shù)字簽名和公鑰證書對彼此進(jìn)行身份驗(yàn)證,即采用帶認(rèn)證的Diffie-Hellman密鑰交換協(xié)議[8]。此混合加密方案兼顧流密碼加密效率高、速度快與公鑰算法密鑰管理方便、安全性高的優(yōu)點(diǎn),產(chǎn)生偽隨機(jī)序列方案簡單,易于硬件實(shí)現(xiàn)。
如圖2所示,偽隨機(jī)序列產(chǎn)生器選用若干m序列作為序列密碼的驅(qū)動(dòng)源,將離散Hopfield神經(jīng)網(wǎng)絡(luò)作為非線性函數(shù)部分進(jìn)行選擇控制輸出,這樣既保留了m序列的隨機(jī)性,又能提高其復(fù)雜度和周期。各LFSR的的初始值可以由公共密鑰T的矩陣中隨機(jī)選取適當(dāng)個(gè)數(shù)的元素運(yùn)算后確定(例如大于等于0的數(shù)設(shè)為1,小于0的設(shè)為0),且通信雙方必須一致,然后把2n個(gè)LFSR的輸出值當(dāng)作神經(jīng)網(wǎng)絡(luò)的輸入值,在加密器中計(jì)算出新的吸引子,再依照產(chǎn)生的新吸引子,對2n個(gè)LFSR的輸出值進(jìn)行多選一操作,由此產(chǎn)生偽隨機(jī)序列。
圖2 偽隨機(jī)序列產(chǎn)生器
在前端對標(biāo)簽內(nèi)的信息通過公鑰進(jìn)行加密,加密后的信息經(jīng)過讀寫器傳給后端服務(wù)器。后端服務(wù)器通過私鑰解密傳來的加密信息,通過與數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行比較檢驗(yàn)其合法性,進(jìn)而得到標(biāo)簽內(nèi)的信息。為了避免跟蹤和重傳攻擊,標(biāo)簽每次都要生成一個(gè)隨機(jī)數(shù)并進(jìn)行哈希運(yùn)算,運(yùn)算后的數(shù)據(jù)與標(biāo)簽ID等信息合并后才進(jìn)行公鑰加密。
基于神經(jīng)網(wǎng)絡(luò)混沌吸引子公鑰算法的RFID安全認(rèn)證協(xié)議過程如下:
1)讀寫器R產(chǎn)生一個(gè)隨機(jī)數(shù)r,對r進(jìn)行Hash運(yùn)算得 I = H (r),然后發(fā)出I以查詢訪問標(biāo)簽L。
2)標(biāo)簽L收到I后,利用標(biāo)簽內(nèi)的公鑰 Ta、私鑰 Hb,生成公共密鑰 T =Hb* Ta*,再加密N = ET(I D ||M | |I ),其中ID為標(biāo)簽的唯一標(biāo)識(shí)號(hào),M為標(biāo)簽內(nèi)的信息數(shù)據(jù)。同時(shí)計(jì)算P = N ⊕ I ,并將N和P返回給讀寫器R。
3)讀寫器R將從標(biāo)簽發(fā)來的的N,P,以及I,r發(fā)向后端數(shù)據(jù)庫,數(shù)據(jù)庫通過I和 H (r)是否相同來驗(yàn)證R的身份,若閱讀器R合法,再用私鑰 Ha、Tb生成公共密鑰 T =Ha* Tb*,再解密N,得到ID'||M'||I =(N ),將得到的 ( I D', M') 與后端數(shù)據(jù)庫中的每個(gè)(I D ,M ) 比較,并檢驗(yàn)P是否等于N⊕I,若其中任意一個(gè)不符合,則認(rèn)證失敗,讀寫器將丟掉收到的數(shù)據(jù)。
4)在3)成功認(rèn)證的基礎(chǔ)上,讀寫器R接收后端數(shù)據(jù)庫發(fā)來的數(shù)據(jù)M,就得到標(biāo)簽內(nèi)的信息。
該協(xié)議可以有效地抵抗重傳攻擊,假設(shè)攻擊者獲得標(biāo)簽和讀寫器之間傳輸?shù)臄?shù)據(jù)N,并企圖下次向讀寫器重傳該數(shù)據(jù)偽裝成合法標(biāo)簽,但是讀寫器在每次查詢訪問標(biāo)簽時(shí),都會(huì)構(gòu)造新的隨機(jī)數(shù)r,如果讀寫器在收到重傳的數(shù)據(jù)N后,并將其傳送到后臺(tái)與數(shù)據(jù)庫進(jìn)行比較,結(jié)果肯定不相等,故丟棄該數(shù)據(jù),從而有效地防止重傳攻擊。
此外標(biāo)簽每次向讀寫器傳送的密文N = ET(I D||M | |I),I = H (r),由于每次的隨機(jī)數(shù)r都不相同,故每次的N也都不同,而且跟前次的N沒有關(guān)聯(lián),所以第三方?jīng)]法判斷兩次的數(shù)據(jù)是否同源,進(jìn)而避免被跟蹤。
如果攻擊者通過篡改數(shù)據(jù)N中的信息發(fā)動(dòng)主動(dòng)攻擊,則篡改后的數(shù)據(jù)N在后臺(tái)服務(wù)器被解密后,通過與數(shù)據(jù)庫的比對,馬上會(huì)被發(fā)現(xiàn)錯(cuò)誤,因此通過主動(dòng)攻擊篡改數(shù)據(jù)N也不能成功。
由于基于神經(jīng)網(wǎng)絡(luò)混沌吸引子的公鑰加密算法關(guān)鍵在于高階奇異矩陣的分解[8],而RSA算法關(guān)鍵在于數(shù)學(xué)難題中大素?cái)?shù)的分解,因而前者加密速度更快、更適合現(xiàn)代的組加密通信和現(xiàn)代商務(wù)加密通信的需求。
RSA算法其安全強(qiáng)度依賴于密鑰的長度,正常必須大于1024位,并且隨著安全性能的增強(qiáng)需要對應(yīng)的密鑰長度增長的也快,占用的資源(存儲(chǔ)空間)增加,導(dǎo)致實(shí)現(xiàn)起來對硬件的要求較高,因此還不能適應(yīng)現(xiàn)在的RFID等計(jì)算能力較低的終端產(chǎn)品上。
1.3 給出的公鑰算法改進(jìn)了文獻(xiàn)[9]的算法,取消了過度搜索,同時(shí)取消了編碼過程,不存在密文膨脹,計(jì)算1次混沌吸引子就可以加密1 bit信息,加密速度比文獻(xiàn)[9]平均快2n/n倍。本協(xié)議算法已經(jīng)在VC6.0平臺(tái)上編程實(shí)現(xiàn),并且在FPGA硬件上通過VHDL語言實(shí)現(xiàn),最高運(yùn)行頻率達(dá)到50 MHz[10]。
隨著物聯(lián)網(wǎng)的興起,作為感知層重要應(yīng)用的RFID射頻技術(shù)安全問題日益受到關(guān)注。分析了不同中RFID協(xié)議的優(yōu)缺點(diǎn)[11-12],提出一種基于神經(jīng)網(wǎng)絡(luò)混沌吸引子公鑰算法的RFID安全協(xié)議,并對其可行性和性能進(jìn)行分析,結(jié)果表明該協(xié)議具有較高的安全性和較快的加解密速度,在保證效率的同時(shí)能較好的保護(hù)標(biāo)簽數(shù)據(jù)的隱私,適用于RFID系統(tǒng)。
[1] 葉里莎. RFID技術(shù)的應(yīng)用[J].通信技術(shù), 2007,40(12):267-271.
[2] 劉慶華,霍騰飛,鄧依群,等. 基于Hash函數(shù)的隨機(jī)RFID認(rèn)證協(xié)議[J].通信技術(shù), 2009,42(08):59-61.
[3] KIM H W, LIM S Y, LEE H J. Symmetric Encryption in RFID Authentication Protocol for Strong Location Privacy and Forward-Security[C]//Proc.of Conference on Hybrid Information Technology. Korea:[s.n.],2006:718-723.
[4] 靳麗君. 非對稱加密體制中RSA算法的研究[J]. 電子設(shè)計(jì)工程, 2011(11):29-30.
[5] JOHN J H. Neurons, Dynamics and Computation[J].Physics Today, 1994,47(02):40-46.
[6] GUO D, CHENG L M, CHENG L L. A New Symmetric Probabilistic Encryption Scheme Based on Chaotic Attractors of Neural Networks[J]. Applied Intelligence,1999, 10(01): 71-84.
[7] DIFFIE W, HELLMAN M. New Directions in Cryptography[J]. IEEE Transactions on Information Theory, 1976,22(06): 644-654.
[8] EMMANUEL B, OLIVIER C, DAVID P,et al. Provably Authenticated Group Diffie-Hellman Key Eexchange[C]// Proceedings of the ACM Conference on Computer and Communications Security.Philadelphia: ACM Press,2001:255-264.
[9] 劉年生,郭東輝. 一種新的基于神經(jīng)網(wǎng)絡(luò)混沌吸引子的公鑰密碼算法[J]. 集美大學(xué)學(xué)報(bào):自然科學(xué)版,2005,10(02):125-133.
[10] 張陽. 神經(jīng)網(wǎng)絡(luò)混沌加密算法的研究與FPGA設(shè)計(jì)[D].福建:華僑大學(xué), 2011.
[11] 孔令榮,樊礬.一種RFID標(biāo)簽信息安全傳輸協(xié)議[J].信息安全與通信保密,2011(07):90-91,94.
[12] 高正中,盛惠興,宋依青.射頻識(shí)別系統(tǒng)中安全認(rèn)證協(xié)議的研究[J].信息安全與通信保密,2010(08):41-43.