《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于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]。除此之外,安裝在無人區的網絡節點也可能會出現節點失效、損毀或被捕獲的危險??傊?,ZigBee網絡中的安全功能可以概括為兩方面內容:(1)保證合法使用者正常使用;(2)防止非法破壞,盜取信息。這就要求ZigBee安全機制能提供密鑰建立、密鑰傳輸、幀的保護和設備管理[7]等安全服務。
    ZigBee協議棧提供的安全服務有數據加密、完整性校檢和鑒權等功能,可以施加在應用層、網絡層或介質訪問控制層上。任何安全的ZigBee網絡都擁有一個指定的被稱為信托中心(Trust Center)的設備,為其他設備分配鏈接密鑰(Link Key)和網絡密鑰(Network Key)。鏈接密鑰在兩個設備之間共享,并用于單播或組播通信。網絡密鑰在整個網絡中共享,當消息被廣播時使用。
    ZigBee網絡數據加密是發送者在數據發送之前通過加密算法對數據添加密鑰,接收者在接收數據之后使用相同密鑰解密對數據進行解密??梢钥闯觯瑪祿用艿年P鍵就是對稱密鑰,即發送者和接收者必須具有完全相同的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網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 噜噜噜噜精品视频在线观看 | 日本人xxxⅹ18hd18hd | 91精品国产美女福到在线不卡 | 91日本| 欧美成年视频 | 中文字幕第5页 | 国产精品久久久久久网站 | 欧美最猛性xxxx69交 | 国产精品短视频免费观看 | 一级女性全黄生活片看看 | 欧美黑人巨大硬xxx猛性 | 日韩 欧美 综合 | 亚洲v天堂v手机在线观看 | 黄色影院在线 | 亚洲视频在线免费播放 | 粉色视频导航 | 最近中文字幕免费完整 | 国产亚洲精品在天天在线麻豆 | 成人久久18网站 | 五月激情久久 | 涩涩久久 | 亚洲一区二区视频在线观看 | 九九九日产 | 一本大道香蕉大vr在线吗视频 | 欧美v亚洲 | 成人小视频在线免费观看 | 99re只有精品| 日韩在线视频一区二区三区 | 亚洲高清国产品国语在线观看 | 成人黄色免费观看 | 精品国产一区二区三区香蕉 | 欧美一级黄色影院 | 日韩新片在线观看 | 欧美成人久久久免费播放 | 国产大片黄在线看免费 | 日日躁夜夜躁狠狠天天 | 韩国理论免费 | 欧美一区二区三区免费看 | 日韩一区二区三区中文字幕 | 娇小被黑人爆出水黑人复古 | 午夜国产精品免费观看 |