吳 佳 劉 敏 嚴雋薇(同濟大學,中國 上海201804)
通常物聯(lián)網(wǎng)的架構(gòu)分為感知層、網(wǎng)絡層與應用層。其中,網(wǎng)絡層與應用層的安全問題可以參照普通以太網(wǎng),相關(guān)的研究也取得了很大的成果。感知層的通常采用無線傳輸,電池供電;具有計算能力弱,存儲空間小,電量有限,部署環(huán)境惡劣等特點。所以研究感知層安全問題的是解決工業(yè)物聯(lián)網(wǎng)安全問題的難點與重點。WSN與RFID技術(shù)作為感知層技術(shù)的核心,其安全問題就是感知層的安全問題,本文主要研究WSN的安全問題。
無線傳感網(wǎng)的安全可以歸結(jié)到數(shù)據(jù)及其傳輸過程的安全,數(shù)據(jù)加密技術(shù)是保證數(shù)據(jù)安全最主要的手段,為了保證數(shù)據(jù)的秘密性、完整性和確定性,目前可以把加密算法分成兩類:對稱加密技術(shù)和非對稱加密技術(shù)。常見的對稱加密技術(shù)有DES,AES等;非對稱加密技術(shù)有RSA,ECC等。非對稱加密保密性較好,不需要保護密鑰,但算法復雜,加密時間長,速度慢,不適合用于資源有限的無線傳感網(wǎng)。
RC4是一種對稱加密算法,由Rivest在1987提出,是目前最流行的流密碼之一。由于它極其簡單的結(jié)構(gòu)和良好的安全強度受到了廣泛的歡迎。RC4加密算法是一種流加密算法,算法簡單,加密速度快,適合用于資源有限的無線傳感網(wǎng),但是,RC4存在弱密鑰的缺陷,相關(guān)密鑰容易產(chǎn)生相似輸出,難以抵御選擇明文攻擊。
Andrew Roos在[1]中最早找出了一類在輸出序列中可以引起某種偏差的弱密鑰。Grosul和Wallach發(fā)現(xiàn),如果密鑰長度接近2n字節(jié),RC4算法對于相關(guān)密鑰攻擊是脆弱的另外,Mantin和Mironov都分析了KSA的輸出值的分布情況[2]。
針對以上缺點,改進RC4算法的研究也有很多。史文俊等人提出一種在RC4加密算法PGRA階段引入混沌映射的方案,改變了弱密鑰缺點,擴大了原算法的密鑰空間,增加了算法的安全性;楊吉云深入分析的混沌密碼在WSN中的應用,提出了一種基于Feistel結(jié)構(gòu)的混沌分組加密算法,在加密的同時利用混沌Hash函數(shù)產(chǎn)生消息認證碼[3]。劉宴兵等在WEP協(xié)議中引入混沌系統(tǒng),將經(jīng)過Logistic映射得到的混沌序列作為RC4算法的種子密鑰,提高密鑰的隨機性,增加破譯難度[4]。
本文提出一種在KSA階段引入混沌信號的方法來解決RC4弱密鑰、相關(guān)密鑰的問題。
混沌系統(tǒng)是指一種看似隨機的確定性系統(tǒng),類似于隨機現(xiàn)象。由于混沌系統(tǒng)對初值敏感,能產(chǎn)生擴散和混亂效果的特性,所以非常適合用于密碼算法[5]。
Logistic映射是一種常用的簡單的混沌映射,一維Logistic映射表示為:
其中,0≤μ≤4,Xn是第n次迭代的值,Xn+1是第(n+1)次迭代的值,μ為參數(shù),當μ=4時,稱為滿映射。
RC4算法是一個以分組長度n為參數(shù)的二元加法流密碼體制,該算法非常簡單,包括兩個部分[6]:
(1)KSA(Key Scheduling Algorithm密鑰調(diào)度算法),由輸入的隨機密鑰K(典型長度為64或128比特)生成一個元素0,1,…,N-1組成的初始排列S{0,1,…,N-l},一般為256;
(2)PRGA(Pseudo Random Generation Algorithm偽隨機密鑰序列生成算法),PRGA借由KSA產(chǎn)生的S生成偽隨機密鑰序列,最終與明文相異或產(chǎn)生密文。
偽代碼表示為[6]:
本文提出,在RC4算法的KSA部分,添加混沌信號來增加流密碼的隨機性和遍歷性等性質(zhì)。
算法依然分為密鑰調(diào)度算法(KSA)和PRGA兩部分;PRGA部分步驟不變,KSA分為以下幾步:
(1)種子密鑰K通過以下方法初始化為X0,作為混沌映射的輸入;
外部密鑰K包含128位(16個字節(jié)),用位流表示為:
我們將K分為兩部分K1,K2;每一部分包含64位(8個字節(jié)),用位流表示為:
然后計算兩個位流
然后用實數(shù)值X01和X02計算出初始值X0
(2)X0作為Logistic映射的初值
本文中取μ=4,在經(jīng)過一定迭代次數(shù)后,得到的Xn。
(3)因為Logistic映射的到的Xn∈0,[]1 ,需要將其轉(zhuǎn)換到[0,256]區(qū)間中:
(4)將轉(zhuǎn)換的temp存儲到U[i](i=0,1,…255),多次執(zhí)行混沌映射,知道U填滿。
(5)構(gòu)造初始S[i](i=0,1,…255),其中元素從0開始依次遞增:
(6)將S盒與U及種子密鑰K進行混合置換操作:
S先與混沌得到的U進行混合置換操作,然后與種子密鑰進行混合置換,保證了S中每一個元素都得到了執(zhí)行,起到了很好的混亂與擴散的效果。
以上步驟得到加入了混沌的S盒,然后就用偽隨機數(shù)生成算法PRGA得到密鑰流,與明文異或得到密文。
圖1 加密算法結(jié)構(gòu)
混沌RC4的解密算法與加密算法過程一樣,只是最后用生成的偽隨機序列與密文進行異或。
參照[7-8]的分析方法,本文從密鑰敏感性、平衡性、字符頻率以及性能四個方面對混沌加密算法進行分析。
RC4算法具有線性相關(guān)、弱密鑰、相關(guān)密鑰等缺陷,具體表現(xiàn)在密文序列對密鑰敏感度低,相關(guān)密鑰容易產(chǎn)生相似輸出。本文通過采用相似的密鑰(ahsnglid7395909與ahsnglid7395908)對同一明文進行加密,分析密文序列的相似性,實驗結(jié)果如下:
圖2 用ahsnglid7395909加密后密文
圖3 用ahsnglid7395908加密后密文
從結(jié)果分析來看,密文完全不同,由此可以看出,混沌RC4算法對密鑰的敏感性很高,該算法很好的克服了RC4弱密鑰,相關(guān)密鑰的缺陷。
若產(chǎn)生的密文是隨機的,將具有較好的‘0’、‘1’平衡,即得到的密文中‘0’、‘1’的個數(shù)應該差不多,本文對生成的序列進行統(tǒng)計分析,結(jié)果如下:
表1
從上表可以看出,‘0’、‘1’個數(shù)相差不多,并且隨著明文長度的增加,兩者之間的數(shù)量也在接近,說明了密文具有良好的‘0’、‘1’平衡性。
字符頻率也能反映密文的隨機性,是分析破譯密碼的有效信息,若密文是隨機的,則密文序列每個字符的ASCII碼在[0,256]區(qū)間中應該是均與分布的。
下面對分別用RC4算法和混沌RC4算法統(tǒng)計加密后序列的ASCII碼值的頻率,實驗結(jié)果如下:
圖4 明文ASCII碼頻率統(tǒng)計
圖5 混沌RC4與RC4密文ASCII碼頻率統(tǒng)計
從圖中可以看出,混沌RC4密文序列相較與RC4算法更加平均,說明混沌RC4算法具有更好的擴散效果。
無線傳感器的資源有限,算法執(zhí)行速度,所需存儲空間是衡量算法效果的重要指標,本文將主要從加密時間、內(nèi)存空間兩方面對其進行性能分析。對以下算法本文均采用128位密鑰,RC5進行典型的12迭代,輸入字長為32位。
表2
結(jié)果如表所示,RC4算法執(zhí)行速度最快,混沌RC4算法雖然變量空間最大,但執(zhí)行速度比RC5算法快。
本文提出了一個基于RC4流加密和混沌Logistic映射的WSN加密算法,實驗結(jié)果表明,該算法,該算法可以作為一個用于資源有限的WSN數(shù)據(jù)加密的替代算法,因為該算法:(1)具有較快的加密速度,降低電量消耗;(2)有很好的安全性,解決了RC4算法弱密鑰、相關(guān)密鑰等缺陷。
[1]Andrew Roos.A class of weak keys in the RC4 stream cipher[OL].http://marcel.Wanda.ch/Archive/WeakKeys,Post in sci.encrypt,September 2004.
[2]Grosul and D·Wallach.A related key cryptanalysis of RC4,TechReport[R].TR-00-358,Department of Computer Science,Rice University,June 2000.
[3]楊吉云.混沌密碼在無線傳感網(wǎng)絡安全中的應用研究[D].重慶大學,2007.
[4]劉宴兵.基于混沌的RC4流加密算法[J].計算機工程,2011,37(2).
[5]陳帥.無線微傳感器網(wǎng)絡混沌加密理論及其關(guān)鍵技術(shù)研究[D].重慶:重慶大學,2006.
[6]耿嘉,曹秀英.一種攻擊RC4-WEP類密碼的改進方法[J].通信學報,2004,25(1):ll-21.
[7]許連杰.基于混沌加密無線傳感器網(wǎng)絡安全技術(shù)研究[D].哈爾濱工業(yè)大學,2013.
[8]Ginting,R.U,Dillak,R.Y.Digital color image encryption using RC4 stream cipher and chaotic logistic map [C]//.International Conference Information Technology and Electrical Engineering(ICITEE).2013:101-5.