李 漣,鄒蘇真
(1.重慶理工大學計算機科學與工程學院,重慶 400054;2.中國聯(lián)通重慶市分公司,重慶 400054)
公共密鑰交換協(xié)議(PKEPs)由Diffie和Hellman提出并在現(xiàn)代密碼學中扮演著重要的角色?;跀?shù)論的PKEPs現(xiàn)已被廣泛研究[1]。然而,人們發(fā)現(xiàn)神經(jīng)同步也能實現(xiàn)同樣的目標,被稱之為神經(jīng)密碼學。神經(jīng)密碼學背后的這種機制類似于“通過協(xié)商的密鑰協(xié)議”[2]。神經(jīng)密碼計算量小且為小型嵌入式系統(tǒng)的結(jié)構,目前已受到重點關注。
神經(jīng)密碼需要通信雙方擁有相同的網(wǎng)絡結(jié)構,通過在線學習獲得同步。在同步過程的開始階段,兩個神經(jīng)網(wǎng)絡隨機選擇各自的離散權值,它們是要求保密的。在每一次學習步驟中,通信雙方A和B獲得相同的輸入值并交換它們的輸出值。如果A和B同意這個輸出值,它們各自內(nèi)部的權值會通過一定的學習規(guī)則來進行調(diào)整,在有限的學習步驟內(nèi)達到完全同步。這個相同的權重可以作為它們共同的密鑰。顯然,A,B之間的權重更新受輸出值影響,因此,這種同步方式稱為雙向同步。另一方面,攻擊者E可以通過A或B的輸入和輸出值組成的例子來與之同步。注意,E無法影響A,B的權重更新,E的同步方式為單向同步。人們發(fā)現(xiàn)雙向同步和單向同步的平均步長數(shù)是相同的[3],為了保證神經(jīng)密鑰交換的安全性,單向?qū)W習與共同學習速度必須是不同的。通過觀察TCM和TPM密鑰協(xié)商算法[4]的同步效率,研究者發(fā)現(xiàn),使用TPM算法的雙向?qū)W習的平均同步步數(shù)和突觸深度L呈多項式增長,然而,單向?qū)W習的同步平均步數(shù)和突觸深度呈指數(shù)增長[5]。換言之,隨著突觸深度L的增長,TPM算法雙向同步的速度要遠高于單向同步。因此,TPM算法可以通過調(diào)整模型內(nèi)部的突觸深度來抵御各種安全攻擊。然而,TCM算法中雙向同步與單向同步的平均時間和突觸深度L呈指數(shù)增長,因此,TCM算法的安全性是較弱的。目前,4種神經(jīng)網(wǎng)絡攻擊算法包括簡單攻擊[2]、幾何攻擊[6]、大多數(shù)攻擊和遺傳攻擊[7-8],已得到廣泛的應用。大多數(shù)攻擊和遺傳攻擊以前面兩種攻擊為基礎。由于自身安全性的缺陷,TCM算法無法抵御較高級的安全攻擊。
圖1中,1個TCM神經(jīng)元有K個隱藏單元、K×N個輸入神經(jīng)元和1個總輸出神經(jīng)元。每個隱藏單元的功能相當于1個獨立的感知器,并且它內(nèi)部的元素權重都為整數(shù),其取值范圍為
其中:L代表神經(jīng)網(wǎng)絡中突觸的深度;i=1,…,K表示第i個隱藏單元;j=1,…,N代表每個隱藏單元的第j個輸入神經(jīng)元。輸入值為二進制:
第i個隱藏單元輸出值被定義為
TCM的總輸出τ由其所有隱藏單元輸出值相加得到:
圖1 TCM結(jié)構(K=3,N=4)
通信雙方A和B要求擁有同樣的網(wǎng)絡結(jié)構。在同步過程的開始階段,兩個神經(jīng)網(wǎng)絡隨機地初始化它們各自的離散權值,表示為ωA/B,每次同步時A與B都使用相同的輸入向量。
A與B根據(jù)式(3)算得各自的σA,σB,再根據(jù)式(4)算出τA和τB。A和B將各自的輸出值進行交換,如果輸出值相同,它們就開始相互學習,其各自的權值會通過一種特定的學習規(guī)則來進行更新。常用的學習規(guī)則有3種,分別是Hebbian學習規(guī)則、Hebbian反規(guī)則和隨機游走規(guī)則[7]。如果輸出值不相同則重復上述步驟。
經(jīng)過多次相互學習后,A與B能完全達到同步,這意味著WA=WB,這個相同的權值就是 A和B共同參與下協(xié)商的會話密鑰。
在密鑰協(xié)商過程中,權值有兩種更新方式:
1) 積極步驟(τA=τB=)。A與B對應的第i個隱藏單元下的權值會朝一個方向更新,積極步驟會促進同步的進程。積極步驟的發(fā)生概率為Pa。
2) 消極步驟(τA= τB,)。A與B對應的第i個隱藏單元中只有1個隱藏單元下的權值會更新,消極步驟會阻礙同步的進程,發(fā)生的概率為Pr。
積極步驟的發(fā)生概率和消極步驟的發(fā)生概率統(tǒng)稱為轉(zhuǎn)移概率。
在進行算法安全性討論之前,需要引入一個重要的同步程度參數(shù)——權值重疊度ρ。它表示通信參與者A和B兩個神經(jīng)網(wǎng)絡中權值的相似程度。為了方便表示,以下所有計算都基于1對對應隱藏單元。
在同步開始時,隨機的初始權值ρ=0。通過一系列的相互學習后達到同步,ρ=+1。在學習過程中,對應的兩個隱藏單元不等的概率定義為ε。
為了研究同步過程中ρ的動態(tài)原理,需要了解在每個學習步驟中重疊度ρ的平均變化:
其中:〈Δρa(ρ)〉(〈Δρr(ρ)〉)表示每次積極步驟(消極步驟)中ρ的平均變化量。
安全的神經(jīng)密碼協(xié)議要求隨著網(wǎng)絡突觸深度L的增加,A和B相互學習(雙向同步)的平均同步時間以多項式率增長,而單向?qū)W習E的平均同步時間以指數(shù)率增長。根據(jù)平均同步時間的映射關系:
可知〈Δρ(ρ)〉>0能使同步的時間隨著L增加以一種多項式率增長。
由此得出神經(jīng)密碼的安全性條件:密鑰協(xié)商算法中雙向同步的重疊度平均改變量必須滿足
將式(7)代入式(9)可得
其中〈ρa(ρ)〉和〈ρr(ρ)〉都只依賴于運動方程[9]。根據(jù)運動方程,為方便后面的分析,將式(6)代入式(10),改寫為:
僅當M<1時,算法滿足安全性條件。
由于TPM(k=3)是一種安全的神經(jīng)密碼結(jié)構,而TCM(k=3)不是安全的神經(jīng)密碼結(jié)構[8],本文以此為例來比較兩種算法的差異。
下面分別計算TPM與TCM的轉(zhuǎn)移概率。
由于TPM與TCM的運動方程相同,當ρ→1,ε→0時,由式(14)可以得到:
顯然,TPM滿足安全性條件,TCM不滿足安全性條件。
圖2是TPM與TCM算法中雙向同步平均重疊度改變量與重疊度的關系。仿真結(jié)果驗證了上述理論的正確性。
圖2 〈Δρ(ρ)〉與 ρ的關系(K=3,L=10,N=1 000)
TPM和TCM的運動方程相同,其安全性的差異主要取決于R(ε)。R(ε)則由同步過程中消極步驟概率和積極步驟概率來決定。
由上文可知,積極步驟和消極步驟發(fā)生的概率與兩個神經(jīng)元中對應隱藏單元的情況有關。這里將兩個神經(jīng)網(wǎng)絡中對應的隱藏單元稱為一對隱藏單元。在TPM與TCM中,兩個神經(jīng)元對應的隱藏單元都相等,則它們的權值會發(fā)生積極步驟。在權值接近同步時,兩種算法中積極步驟發(fā)生的概率都會趨向一個與K有關的實數(shù),即(ε)~,(ε)~。但在TCM中,神經(jīng)元中一對或多對隱藏單元不相同,權值都會發(fā)生消極步驟的更新,而TPM中當且僅當有兩對不同時才發(fā)生消極步驟。因此,在權值接近同步時,兩種算法中消極步驟發(fā)生的概率不同(ε)~2ε2,(ε)~可以看出,TCM機制中消極作用的發(fā)生概率要大于TPM,這是導致它們R(ε)不同的關鍵。因此,為了提高TCM機制的安全性,必須降低其中消極步驟作用發(fā)生的概率,減少權值發(fā)生消極步驟更新的情況,以滿足安全密碼協(xié)議的要求。
基于上述問題,本文提出一種基于TCM的改進模型TCCM,并基于改進模型設計了新型的密碼協(xié)議。該協(xié)議的優(yōu)點是可通過分類因子H將TCM機制中的隱藏單元重新分類來減少同步學習中消極作用發(fā)生的情況,從而降低消極作用的概率,進而提高TCM的安全性。
TCCM結(jié)構見圖3。TCCM在TCM基礎上增加了一個分類因子H,其他的參數(shù)均不變。其中:
圖3 TCCM結(jié)構(K=3,N=4)
TCCM算法與TCM算法的不同點在于:在每次同步過程中,A與B分別計算出各自的輸出值和,然后在公共信道上交換它們的輸出值,同時σA/B要求保密。
改進后的Hebbian學習規(guī)則:
改進后的Hebbian反學習規(guī)則:
改進后的隨機游走學習規(guī)則:
重復上述步驟直至權值達到同步,最后的權值可以作為A和B的公共密鑰。
下面分別討論TCCM(K=3)和TCCM(K=5)的隱藏單元分類情況。
從表1~2可以看到:在TCCM算法雙向同步中,兩個神經(jīng)網(wǎng)絡中對應的隱藏單元當且僅當有兩對不相同時才發(fā)生消極作用。和TCM算法相比,TCCM算法降低了消極作用發(fā)生的概率。
下面通過計算TCCM的轉(zhuǎn)移概率并根據(jù)本文的算法安全性條件,從理論的角度來驗證新算法的可行性。
TCCM的轉(zhuǎn)移概率計算如下:
由以上可知,TCCM(K=3)和TCCM(K=5)都滿足算法安全性條件。
表1 TCCM(K=3)的隱藏單元分類
表2 TCCM(K=5)的隱藏單元分類表
TCM(K=3)與TCM(K=5)平均步長改變量與權值重疊度的關系如圖4所示。其中 N=1 000,L=10。圖4 表明:TCM(K=3)與TCM(K=5)在同步過程中,平均重疊度改變量始終大于0,滿足安全性條件。
圖4 TCCM 中〈Δρ(ρ)〉與 ρ的關系
大多數(shù)攻擊和遺傳攻擊是以簡單攻擊和幾何攻擊為基礎的高級攻擊。通過觀察算法抵御簡單攻擊和幾何攻擊的能力,大致可推斷出其抵御高級攻擊的效果。本文定義成功率為:在同步時間中,攻擊者能獲取被攻擊者98%的權值的概率。圖5~6為TPM、TCM和TCCM算法抵御簡單攻擊的性能對比,其中N=1 000,采用隨機游走學習,進行10 000次試驗后取平均值。圖5~6表明:隨著突觸深度L的增加,3種算法的抗簡單攻擊能力都有所增強。在相同L條件下,TCCM的抗攻擊性要比TCM強,與TPM相似。
圖7~8為TPM、TCM和TCCM算法抵御簡單攻擊的性能對比。其中N=1 000,采用隨機游走學習,進行10 000次試驗取平均值。圖7~8表明:隨著突觸深度L的增加,3種算法的抗幾何能力都有所增強。在相同的隱藏單元個數(shù)下,抗幾何攻擊相比抗簡單攻擊的成功率更高。由于TCCM有兩個輸出值,在幾何攻擊中加大了對攻擊者的干擾,因此,TCCM算法在相同的L值下相比其他兩種算法具有更高的抗攻擊性。
圖5 簡單攻擊中3種算法(K=3)的性能比較
圖6 3種算法(K=5)抵御簡單攻擊的性能比較
圖7 3種算法(K=3)對于幾何攻擊的性能比較
圖8 3種算法(K=5)對于幾何攻擊性能比較
實驗結(jié)果表明:TCCM算法在選擇適當參數(shù)的情況下與TPM、TCM相比,其安全性能更高,能夠有效抵御各種高級攻擊。
本文研究了基于TCM的神經(jīng)網(wǎng)絡同步的密鑰協(xié)商算法,通過與安全性較高的TPM算法進行比較研究,提出了一種更安全的分類式TCM-TCCM算法,為神經(jīng)密碼提供了一種新的安全網(wǎng)絡模型。下一步研究的重點是解決如何將神經(jīng)密碼算法運用于傳感器網(wǎng)絡、RFID網(wǎng)絡的安全通信中。
[1]Allam A M,Abbas H M.Group key exchange using neural cryptography with binary trees[C]//Canadian Conference on Electrical& Computer Engineering.IEEE.[S.l.]:[s.n.],2011:000783 -000786..
[2]Diffie W,Hellman M E.New directions in cryptography[J].Information Theory,IEEE Transactions on,1976,22(6):644-654.
[3]Jhajharia S,Mishra S,Bali S.Public key cryptography using neural networks and genetic algorithms[C]//International Conference on Contemporary Computing.[S.l]:IEEE,2013:137 -142.
[4]On-line learning in neural networks[M].Britain:Cambridge University Press,2009.
[5]Allam A M,Abbas H M,El-Kharashi M W.Security analysis of neural cryptography implementation[C]//IEEE Pacific Rim Conference on Communications,Computers &Signal Processing.[S.L.]:IEEE,2013:195 -199.
[6]Allam A M,Abbas H M,El-Kharashi M W.Authenticated key exchange protocol using neural cryptography with secret boundaries[C]//International Joint Conference on Neural Networks.[S.L.]:IEEE,2013:1 -8.
[7]Li-sheng Z,Wei Y,Cheng-e L.New learning rule of neural cryptography based on queue mechanism[Z].Application Research of Computers,2014.
[8]N M,X L,T H.Approach to design neural cryptography:a generalized architecture and a heuristic rule[J].Phys Rev E Stat Nonlin Soft Matter Phys,2013,87(6):102 -10.
[9]Lei X,Liao X,Chen F,et al.Two-layer tree-connected feed-forward neural network model for neural cryptography[J].Physical Review E Statistical Physics Plasmas Fluids& Related Interdisciplinary Topics,2013,87(3):1079-1094.
[10]Ruttor A,Kinzel W,Naeh R,et al.Genetic attack on neural cryptography[J].Physical Review E,2006,73(3):036121.
[11]Shacham L N,Klein E,Mislovaty R,et al.Cooperating attackers in neural cryptography[J].Physical Review E,2004,69(6):066137.