林傳超, 魏騰雄, 李國剛②
(①國立華僑大學 信息科學與工程學院,福建 廈門 361021;②廈門大學 信息科學與技術學院,福建 廈門361005)
射頻識別技術是物聯網感知層重要的組成部分和關鍵技術,是物聯網“十二五”發展規劃支持的重點。射頻識別在得到廣泛應用的同時[1],隱私和安全問題將成為首要問題。近年來關于RFID的協議很多,基于對稱密鑰體制的認證協議在計算復雜度方面具有優勢,但在密鑰管理和安全性方面卻有不足[2-3]。而公鑰加密算法RSA,要進行大素數的分解,涉及指數運算[4],影響運算速度,這對于硬件資源有限的RFID是個很大的問題。而基于神經網絡混沌吸引子的公鑰算法結合了神經網絡和混沌系統各自的優點,一方面利用混沌復雜的非線性來提高算法的安全性,另一方面利用神經網絡的并行處理來提高算法的加密速度,并且適合用FPGA來直接實現它的并行運算,不僅具有較高的加解密速度,而且安全性較強。由此基于神經網絡混沌吸引子公鑰算法提出一種RFID安全協議。
一個有K個互聯神經元的離散Hopfield神經網絡,這K個神經元的狀態用0或1表示,它的下一個狀態 Si(t + 1 )與當前各神經元的狀態 Si(t)的關系如下:

式中, Tij為神經元i與j之間的聯接權值, ?i為神經元i的閾值, σ ( x )為任一非線性函數, 不妨設為一符號函數,即:

在HNN模型中,神經元的閾值?i可定義為0,Tij為一對稱矩陣。Hopfield已證明能量函數隨系統狀態的演進而單調下降[5],最終會達到一種穩定狀態,即混沌吸引子[6],每個吸引子的吸引域有多個狀態,且彼此之間關系沒法預測;吸引子及其相應的吸引域會隨著聯結突觸矩陣T的改變而改變。從公式S?=HS和S?μ= H Sμ可知,原始狀態S和吸引子Sμ左乘一個非奇異變換H后,變為新原始狀態S?和吸引子S?μ。
根據Diffie-Hellman公鑰密碼體制的思想[7], 假定在一群用戶中有兩個用戶 A和 B要進行保密通信,他們共同選擇一個n階奇異方陣為聯結突觸矩陣T0,然后再從n階方陣可交換族中任意選取一個非奇異變換方陣 Ha和 Hb作為自己的私鑰,使得 Ha和 Hb滿足 Ha* Hb= Hb*Ha,A和B用戶分別計算Ta=Ha* T0*Ha', T b =Hb* T0* Hb', Ha'和 H b'分別為 Ha與 Hb的轉置矩陣,之后將 Ta和 Tb作為公鑰公開,而將作為兩者的公共密鑰,這樣只有用戶A和用戶B可以從自己的私鑰和對方的公鑰計算出公共密鑰 T,而其他人無法從公鑰 Ta和 Tb計算出私鑰和公共密鑰,特別當n較大時[6]。

圖1 基于神經網絡混沌吸引子的公鑰密碼算法
通過Diffie-Hellman公鑰密碼體制進行公共密鑰T的計算,完成公鑰的交換,然后通過公鑰產生的流密碼對信息進行對稱加解密。為防止第三者的假冒攻擊, 通信兩方可使用數字簽名和公鑰證書對彼此進行身份驗證,即采用帶認證的Diffie-Hellman密鑰交換協議[8]。此混合加密方案兼顧流密碼加密效率高、速度快與公鑰算法密鑰管理方便、安全性高的優點,產生偽隨機序列方案簡單,易于硬件實現。
如圖2所示,偽隨機序列產生器選用若干m序列作為序列密碼的驅動源,將離散Hopfield神經網絡作為非線性函數部分進行選擇控制輸出,這樣既保留了m序列的隨機性,又能提高其復雜度和周期。各LFSR的的初始值可以由公共密鑰T的矩陣中隨機選取適當個數的元素運算后確定(例如大于等于0的數設為1,小于0的設為0),且通信雙方必須一致,然后把2n個LFSR的輸出值當作神經網絡的輸入值,在加密器中計算出新的吸引子,再依照產生的新吸引子,對2n個LFSR的輸出值進行多選一操作,由此產生偽隨機序列。

圖2 偽隨機序列產生器
在前端對標簽內的信息通過公鑰進行加密,加密后的信息經過讀寫器傳給后端服務器。后端服務器通過私鑰解密傳來的加密信息,通過與數據庫的數據進行比較檢驗其合法性,進而得到標簽內的信息。為了避免跟蹤和重傳攻擊,標簽每次都要生成一個隨機數并進行哈希運算,運算后的數據與標簽ID等信息合并后才進行公鑰加密。
基于神經網絡混沌吸引子公鑰算法的RFID安全認證協議過程如下:
1)讀寫器R產生一個隨機數r,對r進行Hash運算得 I = H (r),然后發出I以查詢訪問標簽L。
2)標簽L收到I后,利用標簽內的公鑰 Ta、私鑰 Hb,生成公共密鑰 T =Hb* Ta*,再加密N = ET(I D ||M | |I ),其中ID為標簽的唯一標識號,M為標簽內的信息數據。同時計算P = N ⊕ I ,并將N和P返回給讀寫器R。
3)讀寫器R將從標簽發來的的N,P,以及I,r發向后端數據庫,數據庫通過I和 H (r)是否相同來驗證R的身份,若閱讀器R合法,再用私鑰 Ha、Tb生成公共密鑰 T =Ha* Tb*,再解密N,得到ID'||M'||I =(N ),將得到的 ( I D', M') 與后端數據庫中的每個(I D ,M ) 比較,并檢驗P是否等于N⊕I,若其中任意一個不符合,則認證失敗,讀寫器將丟掉收到的數據。
4)在3)成功認證的基礎上,讀寫器R接收后端數據庫發來的數據M,就得到標簽內的信息。
該協議可以有效地抵抗重傳攻擊,假設攻擊者獲得標簽和讀寫器之間傳輸的數據N,并企圖下次向讀寫器重傳該數據偽裝成合法標簽,但是讀寫器在每次查詢訪問標簽時,都會構造新的隨機數r,如果讀寫器在收到重傳的數據N后,并將其傳送到后臺與數據庫進行比較,結果肯定不相等,故丟棄該數據,從而有效地防止重傳攻擊。
此外標簽每次向讀寫器傳送的密文N = ET(I D||M | |I),I = H (r),由于每次的隨機數r都不相同,故每次的N也都不同,而且跟前次的N沒有關聯,所以第三方沒法判斷兩次的數據是否同源,進而避免被跟蹤。
如果攻擊者通過篡改數據N中的信息發動主動攻擊,則篡改后的數據N在后臺服務器被解密后,通過與數據庫的比對,馬上會被發現錯誤,因此通過主動攻擊篡改數據N也不能成功。
由于基于神經網絡混沌吸引子的公鑰加密算法關鍵在于高階奇異矩陣的分解[8],而RSA算法關鍵在于數學難題中大素數的分解,因而前者加密速度更快、更適合現代的組加密通信和現代商務加密通信的需求。
RSA算法其安全強度依賴于密鑰的長度,正常必須大于1024位,并且隨著安全性能的增強需要對應的密鑰長度增長的也快,占用的資源(存儲空間)增加,導致實現起來對硬件的要求較高,因此還不能適應現在的RFID等計算能力較低的終端產品上。
1.3 給出的公鑰算法改進了文獻[9]的算法,取消了過度搜索,同時取消了編碼過程,不存在密文膨脹,計算1次混沌吸引子就可以加密1 bit信息,加密速度比文獻[9]平均快2n/n倍。本協議算法已經在VC6.0平臺上編程實現,并且在FPGA硬件上通過VHDL語言實現,最高運行頻率達到50 MHz[10]。
隨著物聯網的興起,作為感知層重要應用的RFID射頻技術安全問題日益受到關注。分析了不同中RFID協議的優缺點[11-12],提出一種基于神經網絡混沌吸引子公鑰算法的RFID安全協議,并對其可行性和性能進行分析,結果表明該協議具有較高的安全性和較快的加解密速度,在保證效率的同時能較好的保護標簽數據的隱私,適用于RFID系統。
[1] 葉里莎. RFID技術的應用[J].通信技術, 2007,40(12):267-271.
[2] 劉慶華,霍騰飛,鄧依群,等. 基于Hash函數的隨機RFID認證協議[J].通信技術, 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]. 電子設計工程, 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]. 集美大學學報:自然科學版,2005,10(02):125-133.
[10] 張陽. 神經網絡混沌加密算法的研究與FPGA設計[D].福建:華僑大學, 2011.
[11] 孔令榮,樊礬.一種RFID標簽信息安全傳輸協議[J].信息安全與通信保密,2011(07):90-91,94.
[12] 高正中,盛惠興,宋依青.射頻識別系統中安全認證協議的研究[J].信息安全與通信保密,2010(08):41-43.