金磊 新疆阿克蘇教育學(xué)院
基于WSN環(huán)境的數(shù)據(jù)傳輸加密算法分析
金磊 新疆阿克蘇教育學(xué)院
無(wú)線傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)的數(shù)量是有限的,儲(chǔ)存空間被大量占用就會(huì)導(dǎo)致程序運(yùn)行變慢,系統(tǒng)工作量過(guò)大會(huì)導(dǎo)致超負(fù)荷。因此為了保證傳輸安全,需要對(duì)數(shù)據(jù)進(jìn)行加密處理。本文主要針對(duì)WSN環(huán)境中的數(shù)據(jù)傳輸進(jìn)行加密算法分析,改進(jìn)了AES算法并取得了較好的應(yīng)用效果。
數(shù)據(jù)傳輸 加密算法 網(wǎng)絡(luò)安全
WSN環(huán)境中的數(shù)據(jù)傳輸具有快捷方便的特點(diǎn),能夠滿足人們的需求,但是同時(shí)也隱含著巨大的風(fēng)險(xiǎn)。WSN環(huán)境中的數(shù)據(jù)傳輸需要進(jìn)行加密,才能保證數(shù)據(jù)的傳輸安全。因此對(duì)于數(shù)據(jù)傳輸進(jìn)行加密算法分析是當(dāng)前網(wǎng)絡(luò)科技的一個(gè)重要組成部分,也是一個(gè)具有重大現(xiàn)實(shí)意義的工作。
DES在數(shù)據(jù)傳輸加密算法中的使用頻率較高,其分組和密鑰的比特位都是64,加密和解密的方式大致相同,但并不完全一致。DES的密鑰具有特殊性,其比特位為64,但是實(shí)際中只用56比特位。在進(jìn)行加密之前并不使用密鑰的第8位,凡8的倍數(shù)的密鑰都沒有用到。
RC5與Feistel型密碼具有完全相反的性質(zhì),其字節(jié)長(zhǎng)度、輪數(shù)和密鑰字節(jié)都是可以根據(jù)需要進(jìn)行調(diào)節(jié)的。RC5主要是對(duì)資料進(jìn)行反復(fù)處理,使其均勻分布,消除資料原來(lái)的特點(diǎn)。其優(yōu)點(diǎn)是計(jì)算效率高,缺點(diǎn)是內(nèi)存量大,擠占了較多的存儲(chǔ)容量。
Skipjack的比特位為64位,密鑰為80比特位。其加密方式主要是將64位的數(shù)據(jù)轉(zhuǎn)化為4×16的字節(jié),進(jìn)行8次A轉(zhuǎn)變和8次B轉(zhuǎn)變,然后再進(jìn)行8次A轉(zhuǎn)變,最終輸出數(shù)據(jù)作為加密文檔。
AES是高級(jí)加密標(biāo)準(zhǔn),AES程序處理利用Rijndael算法,Rijndael由歐洲學(xué)者Joan Daemen與Vincent Rijmen共同研制,Rijndael為二人姓氏合稱。AES算法的實(shí)際應(yīng)用效果較好,因此應(yīng)用范圍較為廣泛。
本設(shè)計(jì)基于WSN環(huán)境的數(shù)據(jù)傳輸加密算法分析主要對(duì)AES算法進(jìn)行改進(jìn),并將改進(jìn)的結(jié)果進(jìn)行對(duì)比分析,因此主要對(duì)AES算法進(jìn)行介紹。
AES加密算法最初產(chǎn)生于美國(guó),其密鑰形式多種多樣,構(gòu)建耗時(shí)少,操作簡(jiǎn)便,靈敏度高。AES的加密方式主要是將數(shù)據(jù)形式依據(jù)轉(zhuǎn)化公式進(jìn)行轉(zhuǎn)化,將數(shù)據(jù)信息分散化,并具備一定的混合性,從而實(shí)現(xiàn)加密處理。當(dāng)前的AES算法存在不足之處,與本設(shè)計(jì)實(shí)驗(yàn)不符合,因此本設(shè)計(jì)對(duì)其進(jìn)行一定的改進(jìn),使其能夠與實(shí)驗(yàn)相適應(yīng)。
通過(guò)衡量避免捷徑攻擊能力的大小,能夠確認(rèn)加密算法的輪數(shù),并增添安全余量。Rijndael算法的分組字節(jié)和密鑰的比特位都是128,對(duì)于6輪以上的捷徑攻擊尚未具備抵抗能力。本設(shè)計(jì)用密鑰產(chǎn)生三組相差1位的初始密鑰,并觀察在擴(kuò)展中的變動(dòng)。第一組對(duì)比密鑰見圖1,該組初始密鑰在第16位相差1比特位,10輪密鑰擴(kuò)展后如圖2所示。
圖1 第一組初始密鑰
圖2 第一組初始密鑰10輪擴(kuò)展表
第二組密鑰對(duì)比見圖3,該組初始密鑰在第128位相差1比特位,10輪密鑰擴(kuò)展后如圖4所示。
圖3 第二組初始密鑰
圖4 第二組密鑰10輪擴(kuò)展表
第三組對(duì)比密鑰見圖5,該組初始密鑰在第40位相差1比特位,10輪密鑰擴(kuò)展后如圖6所示。
圖5 第三組初始密鑰
圖6 第三組初始密鑰10輪擴(kuò)展表
三組數(shù)據(jù)擴(kuò)展次數(shù)為10次,比特位也發(fā)生了明顯的波動(dòng),如果初始密鑰只相差1位,經(jīng)過(guò)3次擴(kuò)展之后已經(jīng)顯現(xiàn)出較大的差距,7次擴(kuò)展之后差距值達(dá)到頂峰。鑒于這個(gè)原因,本設(shè)計(jì)改進(jìn)的IAES算法將擴(kuò)展次數(shù)確定為7次。
2.3.1 ROM與RAM存儲(chǔ)空間開銷
本設(shè)計(jì)中,首先對(duì)改進(jìn)的算法和其他三種處理模式對(duì)ROM和RAM的空間占用情況進(jìn)行分析。結(jié)果發(fā)現(xiàn),在其他條件不變的情況下,AES算法所占用的空間較大,因?yàn)锳ES算法比改進(jìn)的IAES算法的傳輸次數(shù)多3次,需要更大的堆棧空間。本設(shè)計(jì)的IAES算法和AES算法所占用的RAM空間大約為0.99kb,主要是由于兩種算法增加了查找表的方法。
對(duì)比三種加密算法可以發(fā)現(xiàn),CBC模式所占用的節(jié)點(diǎn)的數(shù)量是最多的,主要是由于這種模式對(duì)于不是分組字節(jié)的倍數(shù)的資料處理并不擅長(zhǎng),需要采用密文挪用的方式,這就會(huì)占用更多的節(jié)點(diǎn)數(shù)量。其他兩種方式采用的主要方式為流處理,在接收資料進(jìn)行處理時(shí),對(duì)堆棧空間的占用仍然維持在正常水平,相比CBC模式所占用的節(jié)點(diǎn)數(shù)量是有限的。
2.3.2 CPU周期
對(duì)改進(jìn)的IAES與其他三種模式處理每字節(jié)資料需要的CPU周期進(jìn)行對(duì)比,能夠發(fā)現(xiàn)四種模式之間實(shí)際效果的優(yōu)劣。本設(shè)計(jì)選用的資料的節(jié)數(shù)分別為16、24、32、40、48、56和64。在比較過(guò)程中,利用LAR軟件對(duì)數(shù)據(jù)進(jìn)行處理,根據(jù)函數(shù)公式可以計(jì)算出每種模式的CPU周期。
一般來(lái)說(shuō),每種模式對(duì)資料處理時(shí)長(zhǎng)排序?yàn)椋篈BSCBC所需要的時(shí)間最長(zhǎng),AES-CCM第二長(zhǎng),IAESCIR與AES-CTR的時(shí)長(zhǎng)最短,但是IAES-CIR比AES-CTR的性能更優(yōu)。如果接收的資料的字節(jié)是分組字節(jié)的倍數(shù),四種模式的處理時(shí)間大致相同,系統(tǒng)的工作性能最優(yōu)。如果接收的資料不能形成分組字節(jié)的倍數(shù),程序?qū)Y料的處理時(shí)間就會(huì)大大延長(zhǎng),對(duì)每個(gè)字節(jié)的資料的處理都要花費(fèi)更長(zhǎng)的CPU時(shí)鐘周期。如果累積的未處理的字節(jié)逐漸增多,每種模式的程序處理時(shí)間都無(wú)限延長(zhǎng),就會(huì)導(dǎo)致計(jì)算機(jī)節(jié)點(diǎn)滿負(fù)荷。
2.3.3 網(wǎng)絡(luò)延遲時(shí)間
本設(shè)計(jì)主要對(duì)匯聚節(jié)點(diǎn)1在傳輸n次資料之后的RTT時(shí)間,每一次傳輸和跳數(shù)之間存在著相互對(duì)應(yīng)的關(guān)系,每一次傳輸對(duì)應(yīng)4跳。對(duì)三種加密方式的實(shí)際效果進(jìn)行分析,我們選取24字節(jié)的資料與上文中的密鑰進(jìn)行實(shí)驗(yàn),為了防止誤差,采用多次實(shí)驗(yàn),并將實(shí)驗(yàn)結(jié)果進(jìn)行加權(quán)平均,最后得出實(shí)驗(yàn)結(jié)果。最終發(fā)現(xiàn),在第二次傳輸,也就是報(bào)文跳數(shù)為8跳的時(shí)候,實(shí)驗(yàn)設(shè)計(jì)中的IAES算法和計(jì)算機(jī)轉(zhuǎn)發(fā)的耗時(shí)都絕較短,保持在十分之一秒到一秒之間。隨著傳輸?shù)拇螖?shù)越來(lái)越多,RTT的耗時(shí)與跳數(shù)增加的耗時(shí)之間的差距也越來(lái)越大,產(chǎn)生這種現(xiàn)象的主要原因是,計(jì)算機(jī)節(jié)點(diǎn)主要將接收的數(shù)據(jù)轉(zhuǎn)化為報(bào)文性質(zhì),報(bào)文傳輸?shù)拇螖?shù)越多,計(jì)算機(jī)節(jié)點(diǎn)的工作量就越大,這會(huì)大大延遲網(wǎng)絡(luò)的轉(zhuǎn)發(fā)時(shí)長(zhǎng)。
通過(guò)上文的論述我們可以發(fā)現(xiàn),本設(shè)計(jì)使用的IAES算法具有較好的應(yīng)用效果,比AES算法更加簡(jiǎn)單快捷,主要是因?yàn)镮AES算法處理程序中中央處理器的周期較短。觀察實(shí)驗(yàn)可以知道,匯聚節(jié)點(diǎn)1的主要功能是對(duì)接收的資料進(jìn)行加密處理,在使用時(shí)解開密碼,一個(gè)匯聚節(jié)點(diǎn)配備有三個(gè)其他匯聚節(jié)點(diǎn),主要功能是將加密和解密的資料進(jìn)行傳輸,在其他條件不變的情況下,RTT時(shí)間主要與算法中加密和解密的耗費(fèi)的時(shí)間有關(guān)。
網(wǎng)絡(luò)安全對(duì)于使用者來(lái)說(shuō)具有十分重要的意義,加強(qiáng)網(wǎng)絡(luò)安全建設(shè)是保證用戶信息安全的一個(gè)重要手段,也是當(dāng)今網(wǎng)絡(luò)技術(shù)研究的一個(gè)重點(diǎn)內(nèi)容。加密作為網(wǎng)絡(luò)安全保障的一種重要方式,在網(wǎng)絡(luò)安全中發(fā)揮著重大作用。做好網(wǎng)絡(luò)安全工作,確保信息不被泄露,是網(wǎng)絡(luò)環(huán)境中設(shè)計(jì)者的基本職責(zé),也是促進(jìn)網(wǎng)絡(luò)健康發(fā)展的一個(gè)重要前提。
[1]張堯,葉玲.基于AES的WSN加密算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2015,36(03):619-623.
[2]龍四清.一種新型的WSN量子加密系統(tǒng)[J].電子世界,2014,(05):5-6.
[3]姜馨,胡屏,王翥,徐輝.面向WSN環(huán)境數(shù)據(jù)傳輸加密算法的研究[J].自動(dòng)化儀表,2016,37(11):55-57+65.