《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于AES算法的ZigBee網絡加密方法研究
基于AES算法的ZigBee網絡加密方法研究
來源:電子技術應用2014年第4期
仇國慶,包俊杰,曹冬梅,劉 帥
(重慶郵電大學 智能儀器儀表及工業自動化與測試技術實驗室,重慶400065)
摘要: 采用高級加密標準算法AES(Advanced Encryption Standard)的AES-CCM*安全模式對ZigBee網絡數據進行加密處理,重新定義了報文服務類型(Message,MSG)的幀格式以提高網絡傳輸數據凈載荷量。理論分析及仿真結果表明AES-CCM*加密模式具有安全實用性。
中圖分類號: TN918.4
文獻標識碼: A
文章編號: 0258-7998(2014)04-0056-03
AES algorithm-based encryption scheme for ZigBee networks
Qiu Guoqing,Bao Junjie,Cao Dongmei,Liu Shuai
Laboratory of Intelligent Instrument & Industrial Automation & Technology Laboratory,Chongqing University of Posts and Telecommunications,Chongqing 400065,China
Abstract: This paper proposes AES-CCM* security mode based on advanced encryption standard(AES) algorithm in the ZigBee networks. This paper also redefines the MSG frame type in order to improve the network transmission of payload data volume. Theoretical analysis and simulation results show the practicability of ZigBee security mechanism in AES-CCM* security mode.
Key words : ZigBee networks;AES algorithm;AES-CCM* mode;MSG frame type

    ZigBee是一種近距離、低速率、低功耗、低成本的無線網絡技術[1],正是由于這些優點,基于ZigBee標準的無線傳感器網絡的應用越來越廣泛。但由于ZigBee無線設備在存儲能力、計算能力及電源供電時間方面的局限性,不僅使得原來在有線環境下的許多安全方案和安全技術不能直接應用于ZigBee網絡環境中,而且對ZigBee網絡安全服務過程與算法提出了較高要求。目前,ZigBee網絡中采用的數據加密模式為128 bit的AES算法[2]。AES采用迭代型分組密碼Rijndael[3]算法,具有優秀的性能及抗攻擊能力,所以在受限工作環境中(如ZigBee網絡環境)也有較好的加密/解密運算效率。
    基于AES算法的CCM*安全機制包括所有AES-CCM(計數器加密分組鏈接信息鑒別碼模式)[4-5]的功能且是更輕量級的加密模式,既保證數據傳輸的機密性又保證數據完整性。因此,本文使用AES-CCM*模式進行數據加密,并重新定義了MSG的數據幀格式以提高加密效率和傳輸數據凈載荷量。仿真結果表明,CCM*加密模式不僅可以降低系統開銷、減小復雜度及縮短加密時間,同時還可以保證網絡的安全有效性。
1 ZigBee網絡安全特征及攻擊類型
    ZigBee網絡系統存在如數據竊聽、篡改、偽造等安全威脅。研究發現,攻擊者通過攻擊通信節點或分配惡意節點偽裝成合法節點進入網絡來改變、丟棄或破壞數據包,最終致使整個ZigBee網絡癱瘓。典型的內部網絡攻擊包括Sinkhole攻擊、Sybil攻擊、Wormholes攻擊、Flooding攻擊、應答欺騙等[6]。除此之外,安裝在無人區的網絡節點也可能會出現節點失效、損毀或被捕獲的危險??傊琙igBee網絡中的安全功能可以概括為兩方面內容:(1)保證合法使用者正常使用;(2)防止非法破壞,盜取信息。這就要求ZigBee安全機制能提供密鑰建立、密鑰傳輸、幀的保護和設備管理[7]等安全服務。
    ZigBee協議棧提供的安全服務有數據加密、完整性校檢和鑒權等功能,可以施加在應用層、網絡層或介質訪問控制層上。任何安全的ZigBee網絡都擁有一個指定的被稱為信托中心(Trust Center)的設備,為其他設備分配鏈接密鑰(Link Key)和網絡密鑰(Network Key)。鏈接密鑰在兩個設備之間共享,并用于單播或組播通信。網絡密鑰在整個網絡中共享,當消息被廣播時使用。
    ZigBee網絡數據加密是發送者在數據發送之前通過加密算法對數據添加密鑰,接收者在接收數據之后使用相同密鑰解密對數據進行解密。可以看出,數據加密的關鍵就是對稱密鑰,即發送者和接收者必須具有完全相同的128 bit密鑰才能進行正常通信。使用對稱密鑰進行數據加密的發送和接收過程[8]如圖1所示。


    系統的實現可以分為兩部分:
    (1)數據經過AES-CBC-MAC模式加密,如圖2(a)所示。CBC-MAC模式被用于保護數據完整性,為了這個目的,數據幀的包頭(Headers)和有效負載(Payload)必須經過CBC模式加密,生成的密文即為消息完整性代碼MIC(Message Integrity Code)的值。操作時,首先將第一部分數據塊與初始化向量進行“異或”運算,然后將其結果“異或”第二部分數據塊,依次類推。最后生成MIC用以確保傳輸數據不被篡改。此操作過程的公式描述為:

 


    由此可見,AES-CCM*安全加密模式結合了計數器模式與密碼分組連接模式兩者各自的優點,并且有效縮短了ZigBee網絡數據的加密時間。因此,AES-CCM*加密模式大大提高了單獨使用AES算法的加密效率。
2.2 MSG命令幀類型
    ZigBee網絡在應用程序框架AF(Application Framework)中提供發送和接收數據的功能。它包括兩種數據服務類型:鍵值對服務類型KVP(Key Value Pair)和報文服務類型MSG。KVP服務主要用于傳輸一些較為簡單的變量格式。由于ZigBee的很多應用領域中的消息較為復雜,并不適用于KVP格式,因此ZigBee協議規范定義了MSG服務類型。MSG服務對數據格式和內容不作要求,適合任何格式的數據傳輸,可以用于傳送數據量大的消息。MSG幀類型如表1所示,其中傳輸字節計數和幀類型都為4 bit。如果幀類型值為0x02,則表明該框架為MSG命令。每個數據包含有事務序列號(8 bit)、事務長度(8 bit)和事務數據(bit可變)。

 

 

3 數據幀的安全處理過程
    如果密鑰的位序列字段被設置為0,則數據幀未被保護。安全進程可描述為:數據幀首先進入AES-CBC-MAC模式以產生消息完整性代碼MIC;然后進入AES-CTR模式工作,將MIC值與有效負載進行加密處理;最后被加密的MIC與有效負載相結合構成完整的密文包。解密過程為加密過程的逆過程。
3.1 MSG變量的定義
    unsigned char msg [32] =
    {0xa6,0x62,0xd6,0x3d, 0x93,0x73,0xad,0x27,
     0xad,0xc1,0x2b,0x3e, 0x3b,0x23,0x38,0xa5,
     0xc3,0x18,0x45,0xa4, 0x8a,0x32,0x9d,0x35,
     0xe9,0x4e,0xa2,0x93,0x9e,0xa3,0x11,0x57 
    };    //該數組被平均分為兩組
    unsigned char ency_list [8];    //加密表
    unsigned char tag_out_0, grap_1, grap_2, tag_out;
其中,數據包“msg”包含被一分為二的32 bit的數組,“ency_list”是一個動態生成的8 bit的加密表,變量“tag_
out_0”是一個初始化向量,“tag_out”是一個可變的MSG信息整合碼。
3.2 數據加密算法的C語言描述
    (1)AES-CBC-MAC模式工作代碼,用以生成消息完整性代碼。其中“^”為異或運算,“%” 為互補操作。
    //計算B[i]矩陣,即初始化向量
    ctr_cbc_mac_b[i*16+j] = msg[(i-2)*16+j];
    for(i=0; i<cnt; i++)
    {
       for(j=0; j<16; j++)
        aes_in[j] = Bi[i*16+j] ^ aes_out[j];
       }
    while (t < (10+1)*4)   //計算輪密鑰
    {
       tk[i][0] ^= S[ tk[(i+1)%4][4-1] ];
       tk[i][j] ^= tk[i][j-1];
    }
    //AES輪加密,round為加密輪數
    for(r=1; r < round; r++)
    {
       Byte-Sub();       //字節替換
       ShiftRow();       //行移位
       MixColumn();     //列混合
       KeyAddition();    //輪密鑰加
    }
       Byte-Sub();   //最后一輪加密,沒有列混合
       ShiftRow();
       KeyAddition();
       out[i][j] = dataout[4*j + i];    //輸出密文
       aes_cnt++;
    }          
  (2)AES-CTR模式工作代碼,用以進行數據加密。其中使用ctr_cbc_mac_b矩陣存儲計數器值Ai。
    //A[i]標識符
    ctr_cbc_mac_b[i*16+j] = nounceN[i-1];
    for(i=0; i<cnt; i++)
    {
       for(j=0; j<16; j++) 
        aes_in[j] = Ai[i*16+j]; 
    }
    while (t < (10+1)*4)   //計算輪密鑰
    {
       tk[i][0] ^= S[ tk[(i+1)%4][4-1] ];
       tk[i][j] ^= tk[i][j-1];
    }
    {  AES輪加密  }
    for(i=1; i<lm; i++)    //msg 加密
    {
       Em_out[i] = msg[i] ^ Si[16+i];
       Ciper_out[i] = Em_out[i];
    }
    for(i=0; i<M; i++)    //MIC加密
    {
       U_out[i] = tag_out[i] ^ Si[i];
       Ciper_out[lm+i] = U_out[i];
    }
3.3 性能分析
    該方案不僅可以有效地降低系統開銷及復雜度,同時還可以保證網絡的安全性。每一個密文組與當前明文組及AES加密結果的相關性滿足了數據機密性要求。密文與消息完整性代碼的結合傳輸滿足了數據完整性要求。因此,這種方法能夠有效改變ZigBee安全機構的可行性和實用性,并有效地縮短ZigBee網絡中數據加密的時間,可作為ZigBee網絡安全的可實施方案。
    本文主要研究ZigBee網絡安全機制中的數據安全加密算法,提出基于AES-CCM*加密模式的簡化MSG數據幀格式,以縮短加密時間,增加ZigBee網絡傳輸數據凈載荷量。AES-CCM*是ZigBee標準采用的基于AES-128算法的操作模式,既能保證數據傳輸的機密性,又能提供數據完整性校驗功能。仿真結果表明,AES-CCM*加密模式可以進一步改進ZigBee安全方面的性能,以保證ZigBee技術的生存空間。雖然此算法擁有較高的安全加密能力,但其仍然存在局限性。
參考文獻
[1] ZigBee Alliance.ZigBee specifications:ZigBee and ZigBee Pro[EB/OL].[2013-09-06].http://www.ZigBee.org,2010.
[2] National Institute of Standards and Technolo-gy(NIST).Advanced Encryption Standard(AES)[M].FIPS PUB 197,2001.
[3] DAEMEN J,RIJMEN V.The design of Rijndael:AES the advanced encryption standard[M].Springer,2002.
[4] YOO J H.Fast software implementation of AES-CCM on multiprocessors[M].Springer Berlin Heidelberg,2011.
[5] 封斌,齊德昱,韓海雯.IEEE 802.15.4中AES-CCM協議的擴展指令集實現[J].電子與信息學報,2013,35(2):335-340.
[6] VIDGREN N,HAATAJA K,PATINO A J L,et al.Security threats in ZigBee-enabled systems:vulnerability evaluation,practical experiments,countermeasures,and lessons learned[C]. System Sciences(HICSS),2013 46th Hawaii International. Conference on,IEEE,2013.
[7] ZigBee Alliance Board of Directors.Document 053474r17 ZigBee specification[S].2008.
[8] FARAHANI S.ZigBee wireless networks and transceivers[M]. Access Online via Elsevier,2011.
[9] 谷利澤,楊義先.現代密碼學教程[M].北京:北京郵電大學出版社,2009.
[10] YANG B,FU R Y,DIAO J Z,et al.Security mechanisms analysis for ZigBee standard based on AES-CCM*[J].  Advanced Materials Research,2012(468):1359-1362.
[11] RUSINEK D,KSIEZOPOLSKI B.Influence of CCM,CBCMAC,CTR and stand-alone encryption on the quality of transmitted data in the high-performance WSN[J].Imote2 Annales UMCS Information AIXI,2011(3):117-127.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 四虎影院在线播放视频| 国产福利短视频| 中国一级黄色片子| 日韩午夜免费论理电影网| 亚洲国产一区视频| 波多野结衣视频全集| 免费高清欧美一区二区视频| 色片免费在线观看| 国产成人无码a区在线观看视频| 2021国产成人精品国产| 天天干天天草天天| 中文国产在线观看| 日本护士xxxx视频| 五十路亲子中出中文字幕| 欧美在线视频一区在线观看| 亚洲精品乱码久久久久久不卡 | 久热精品视频在线观看99小说| 欧美日本中文字幕| 亚洲综合天堂网| 爆乳女仆高潮在线观看| 免费国产成人高清视频网站 | 国产高清免费的视频| 99精品热线在线观看免费视频| 女人疯狂喷水爽视频| 一区二区三区视频网站| 成人a在线观看| 中国日本欧美韩国18| 手机在线观看精品国产片| 久久99精品久久水蜜桃| 日本一区二区三区免费观看| 久久无码专区国产精品s| 日韩欧美中文字幕一区二区三区| 五十路在线播放| 日韩精品高清在线| 五十路六十路绝顶交尾| 日韩精品无码一本二本三本色| 亚洲AV一二三区成人影片| 最近免费中文字幕大全高清大全1 最近免费中文字幕大全高清大全1 | 天天爽夜夜爽夜夜爽精品视频 | 99久久无码一区人妻| 处处吻动漫免费观看全集|