金磊 新疆阿克蘇教育學院
基于WSN環境的數據傳輸加密算法分析
金磊 新疆阿克蘇教育學院
無線傳感器網絡中的節點的數量是有限的,儲存空間被大量占用就會導致程序運行變慢,系統工作量過大會導致超負荷。因此為了保證傳輸安全,需要對數據進行加密處理。本文主要針對WSN環境中的數據傳輸進行加密算法分析,改進了AES算法并取得了較好的應用效果。
數據傳輸 加密算法 網絡安全
WSN環境中的數據傳輸具有快捷方便的特點,能夠滿足人們的需求,但是同時也隱含著巨大的風險。WSN環境中的數據傳輸需要進行加密,才能保證數據的傳輸安全。因此對于數據傳輸進行加密算法分析是當前網絡科技的一個重要組成部分,也是一個具有重大現實意義的工作。
DES在數據傳輸加密算法中的使用頻率較高,其分組和密鑰的比特位都是64,加密和解密的方式大致相同,但并不完全一致。DES的密鑰具有特殊性,其比特位為64,但是實際中只用56比特位。在進行加密之前并不使用密鑰的第8位,凡8的倍數的密鑰都沒有用到。
RC5與Feistel型密碼具有完全相反的性質,其字節長度、輪數和密鑰字節都是可以根據需要進行調節的。RC5主要是對資料進行反復處理,使其均勻分布,消除資料原來的特點。其優點是計算效率高,缺點是內存量大,擠占了較多的存儲容量。
Skipjack的比特位為64位,密鑰為80比特位。其加密方式主要是將64位的數據轉化為4×16的字節,進行8次A轉變和8次B轉變,然后再進行8次A轉變,最終輸出數據作為加密文檔。
AES是高級加密標準,AES程序處理利用Rijndael算法,Rijndael由歐洲學者Joan Daemen與Vincent Rijmen共同研制,Rijndael為二人姓氏合稱。AES算法的實際應用效果較好,因此應用范圍較為廣泛。
本設計基于WSN環境的數據傳輸加密算法分析主要對AES算法進行改進,并將改進的結果進行對比分析,因此主要對AES算法進行介紹。
AES加密算法最初產生于美國,其密鑰形式多種多樣,構建耗時少,操作簡便,靈敏度高。AES的加密方式主要是將數據形式依據轉化公式進行轉化,將數據信息分散化,并具備一定的混合性,從而實現加密處理。當前的AES算法存在不足之處,與本設計實驗不符合,因此本設計對其進行一定的改進,使其能夠與實驗相適應。
通過衡量避免捷徑攻擊能力的大小,能夠確認加密算法的輪數,并增添安全余量。Rijndael算法的分組字節和密鑰的比特位都是128,對于6輪以上的捷徑攻擊尚未具備抵抗能力。本設計用密鑰產生三組相差1位的初始密鑰,并觀察在擴展中的變動。第一組對比密鑰見圖1,該組初始密鑰在第16位相差1比特位,10輪密鑰擴展后如圖2所示。

圖1 第一組初始密鑰

圖2 第一組初始密鑰10輪擴展表
第二組密鑰對比見圖3,該組初始密鑰在第128位相差1比特位,10輪密鑰擴展后如圖4所示。

圖3 第二組初始密鑰

圖4 第二組密鑰10輪擴展表
第三組對比密鑰見圖5,該組初始密鑰在第40位相差1比特位,10輪密鑰擴展后如圖6所示。

圖5 第三組初始密鑰

圖6 第三組初始密鑰10輪擴展表
三組數據擴展次數為10次,比特位也發生了明顯的波動,如果初始密鑰只相差1位,經過3次擴展之后已經顯現出較大的差距,7次擴展之后差距值達到頂峰。鑒于這個原因,本設計改進的IAES算法將擴展次數確定為7次。
2.3.1 ROM與RAM存儲空間開銷
本設計中,首先對改進的算法和其他三種處理模式對ROM和RAM的空間占用情況進行分析。結果發現,在其他條件不變的情況下,AES算法所占用的空間較大,因為AES算法比改進的IAES算法的傳輸次數多3次,需要更大的堆棧空間。本設計的IAES算法和AES算法所占用的RAM空間大約為0.99kb,主要是由于兩種算法增加了查找表的方法。
對比三種加密算法可以發現,CBC模式所占用的節點的數量是最多的,主要是由于這種模式對于不是分組字節的倍數的資料處理并不擅長,需要采用密文挪用的方式,這就會占用更多的節點數量。其他兩種方式采用的主要方式為流處理,在接收資料進行處理時,對堆棧空間的占用仍然維持在正常水平,相比CBC模式所占用的節點數量是有限的。
2.3.2 CPU周期
對改進的IAES與其他三種模式處理每字節資料需要的CPU周期進行對比,能夠發現四種模式之間實際效果的優劣。本設計選用的資料的節數分別為16、24、32、40、48、56和64。在比較過程中,利用LAR軟件對數據進行處理,根據函數公式可以計算出每種模式的CPU周期。
一般來說,每種模式對資料處理時長排序為:ABSCBC所需要的時間最長,AES-CCM第二長,IAESCIR與AES-CTR的時長最短,但是IAES-CIR比AES-CTR的性能更優。如果接收的資料的字節是分組字節的倍數,四種模式的處理時間大致相同,系統的工作性能最優。如果接收的資料不能形成分組字節的倍數,程序對資料的處理時間就會大大延長,對每個字節的資料的處理都要花費更長的CPU時鐘周期。如果累積的未處理的字節逐漸增多,每種模式的程序處理時間都無限延長,就會導致計算機節點滿負荷。
2.3.3 網絡延遲時間
本設計主要對匯聚節點1在傳輸n次資料之后的RTT時間,每一次傳輸和跳數之間存在著相互對應的關系,每一次傳輸對應4跳。對三種加密方式的實際效果進行分析,我們選取24字節的資料與上文中的密鑰進行實驗,為了防止誤差,采用多次實驗,并將實驗結果進行加權平均,最后得出實驗結果。最終發現,在第二次傳輸,也就是報文跳數為8跳的時候,實驗設計中的IAES算法和計算機轉發的耗時都絕較短,保持在十分之一秒到一秒之間。隨著傳輸的次數越來越多,RTT的耗時與跳數增加的耗時之間的差距也越來越大,產生這種現象的主要原因是,計算機節點主要將接收的數據轉化為報文性質,報文傳輸的次數越多,計算機節點的工作量就越大,這會大大延遲網絡的轉發時長。
通過上文的論述我們可以發現,本設計使用的IAES算法具有較好的應用效果,比AES算法更加簡單快捷,主要是因為IAES算法處理程序中中央處理器的周期較短。觀察實驗可以知道,匯聚節點1的主要功能是對接收的資料進行加密處理,在使用時解開密碼,一個匯聚節點配備有三個其他匯聚節點,主要功能是將加密和解密的資料進行傳輸,在其他條件不變的情況下,RTT時間主要與算法中加密和解密的耗費的時間有關。
網絡安全對于使用者來說具有十分重要的意義,加強網絡安全建設是保證用戶信息安全的一個重要手段,也是當今網絡技術研究的一個重點內容。加密作為網絡安全保障的一種重要方式,在網絡安全中發揮著重大作用。做好網絡安全工作,確保信息不被泄露,是網絡環境中設計者的基本職責,也是促進網絡健康發展的一個重要前提。
[1]張堯,葉玲.基于AES的WSN加密算法[J].計算機工程與設計,2015,36(03):619-623.
[2]龍四清.一種新型的WSN量子加密系統[J].電子世界,2014,(05):5-6.
[3]姜馨,胡屏,王翥,徐輝.面向WSN環境數據傳輸加密算法的研究[J].自動化儀表,2016,37(11):55-57+65.