国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Zigbee平臺(tái)上的RSA算法實(shí)現(xiàn)及性能分析

2014-10-21 14:22嚴(yán)疆文添藝
數(shù)字化用戶 2014年20期
關(guān)鍵詞:通信安全性能分析

嚴(yán)疆 文添藝

【摘 要】Zigbee新作為一種新興的低成本,低功耗,近距離,雙向通信網(wǎng)絡(luò)技術(shù),在物聯(lián)網(wǎng)飛速發(fā)展的進(jìn)程中得到了廣泛的應(yīng)用。隨著應(yīng)用范圍越來(lái)越廣泛,ZigBee網(wǎng)絡(luò)的數(shù)據(jù)安全也變得原來(lái)越重要。目前,在ZigBee平臺(tái)上,尚未有非對(duì)稱加密算法的相關(guān)研究,本文給出了在cc2530平臺(tái)上,實(shí)現(xiàn)RSA算法的過(guò)程,并給出了收集的相關(guān)運(yùn)行數(shù)據(jù)。最后,本文給出了運(yùn)行的結(jié)果和分析數(shù)據(jù)。

【關(guān)鍵詞】通信安全 Zigbee 非對(duì)稱加密算法 性能分析

引言

基于IEEE 802.15.4無(wú)線技術(shù)的ZigBee,被廣泛應(yīng)用于工業(yè),家庭,醫(yī)療等對(duì)數(shù)據(jù)率和QoS要求不高,但覆蓋面積較大的無(wú)線通信場(chǎng)合之中。隨著基于ZigBee的應(yīng)用實(shí)例越來(lái)越多,其數(shù)據(jù)的安全性也變得越來(lái)越重要。作為ZigBee實(shí)現(xiàn)方式之一的ZStack雖然自帶了一套基于AES128加密解密算法,但在互聯(lián)網(wǎng)應(yīng)用之中,普遍認(rèn)為非對(duì)稱加密技術(shù)比對(duì)稱加密算法更為優(yōu)越。所以實(shí)現(xiàn)一套基于非對(duì)稱秘鑰的加密算法變得非常具有參考意義。

一、利用RSA算法的加密體系

在cc2530平臺(tái)上,我們實(shí)現(xiàn)了簡(jiǎn)單的RSA加密解密算法,并根據(jù)對(duì)于該算法的統(tǒng)計(jì)信息,試探性地探討在ZigBee系列的小型嵌入式芯片上,在不使用協(xié)處理器的情況下,RSA算法的性能。整個(gè)算法的實(shí)現(xiàn)是基于ZStack平臺(tái)進(jìn)行的。算法在Windows平臺(tái)下開(kāi)發(fā)后進(jìn)行結(jié)果驗(yàn)證。最后移植到ZStack平臺(tái)上進(jìn)行相關(guān)數(shù)據(jù)的收集。

二、實(shí)現(xiàn)過(guò)程

為方便對(duì)多種加密長(zhǎng)度運(yùn)行結(jié)果進(jìn)行采樣,必須將算法實(shí)現(xiàn)在長(zhǎng)度可變的整形數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)之上。所以在實(shí)現(xiàn)過(guò)程中,建立了一個(gè)長(zhǎng)度可變的簡(jiǎn)易整形數(shù)據(jù)結(jié)構(gòu)。

由于硬件資源有限,必須在設(shè)計(jì)和實(shí)現(xiàn)上,權(quán)衡安全性和性能開(kāi)銷。開(kāi)銷主要分為兩方面:占用的內(nèi)存空間大小及運(yùn)算時(shí)間。

三、內(nèi)存占用的統(tǒng)計(jì)過(guò)程及方法

為統(tǒng)計(jì)使用內(nèi)存,對(duì)內(nèi)存分配及釋放函數(shù)(ZStack上為osal_mem_alloc及osal_mem_free,在Windows下為malloc及free)進(jìn)行封裝。統(tǒng)計(jì)整個(gè)加密解密過(guò)程中,占用內(nèi)存空間的高峰值,所分配的最大內(nèi)存塊等信息。在PC端運(yùn)行算法時(shí),由于統(tǒng)計(jì)結(jié)果小于ZStack預(yù)計(jì)的動(dòng)態(tài)管理內(nèi)存的范圍32768Bytes[4],所以直接寫(xiě)入,試運(yùn)行。但由于頻繁地申請(qǐng)和釋放用來(lái)保存臨時(shí)結(jié)果的內(nèi)存塊,導(dǎo)致內(nèi)存嚴(yán)重碎片化,致使ZStack無(wú)法分配出更大的內(nèi)存空間而導(dǎo)致算法無(wú)法正常進(jìn)行。所以更改方案為:將表示整數(shù)的內(nèi)存塊長(zhǎng)度進(jìn)行統(tǒng)一,并利用對(duì)象池技術(shù)來(lái)復(fù)用所分配到的內(nèi)存塊。

在優(yōu)化的過(guò)程中,通過(guò)分析對(duì)象池所統(tǒng)計(jì)的信息,確定了算法分配的最多內(nèi)存塊數(shù)量。然后,通過(guò)將內(nèi)存塊聲明為全局靜態(tài)變量,來(lái)減少調(diào)用內(nèi)存管理功能的開(kāi)銷,以此優(yōu)化整體性能。最后采用覆蓋方法,實(shí)現(xiàn)內(nèi)存塊的復(fù)用,減少內(nèi)存空間的占用。

在分配靜態(tài)內(nèi)存空間時(shí),需要重新調(diào)整XDATA布局。因?yàn)閯?dòng)態(tài)管理的內(nèi)存空間是在編譯時(shí)設(shè)定好的,無(wú)法在運(yùn)行時(shí)改變 [4],所以在實(shí)現(xiàn)算法過(guò)程中,將ZStack代碼的OnBoard.h文件中的INT_HEAP_LEN從3027改為2048。以此減少動(dòng)態(tài)管理內(nèi)存所占用的空間,以增加靜態(tài)變量所占用空間。

四、運(yùn)算時(shí)間統(tǒng)計(jì)過(guò)程及方法

運(yùn)算占用時(shí)間,通過(guò)在運(yùn)算前后獲得系統(tǒng)時(shí)鐘(在ZStack上為osal_getSystemClock),計(jì)算差值來(lái)獲得。值得注意的是osal_getSystemClock本身僅僅返回uint32_t類型的, osal_systemClock數(shù)值,并不會(huì)自動(dòng)更新系統(tǒng)時(shí)鐘。所以在每次獲得系統(tǒng)時(shí)鐘之前,必須主動(dòng)更新系統(tǒng)時(shí)鐘(即主動(dòng)調(diào)用osalTimeUpdate)。

對(duì)于MUC,RSA加密位數(shù)不宜過(guò)長(zhǎng)。初次測(cè)試采取很小的64位加密。在節(jié)點(diǎn)A對(duì)明文進(jìn)行加密,加密后,發(fā)送加密統(tǒng)計(jì)信息和密文到節(jié)點(diǎn)B。節(jié)點(diǎn)B進(jìn)行解密并對(duì)解密過(guò)程進(jìn)行統(tǒng)計(jì),在核對(duì)解密結(jié)果是否和明文一致后,將核對(duì)結(jié)果和所有統(tǒng)計(jì)信息通過(guò)串口發(fā)送到PC進(jìn)行數(shù)據(jù)處理。

五、算法偽代碼

由于被加密的數(shù)據(jù)長(zhǎng)度是不確定的,所以應(yīng)先對(duì)被加密數(shù)據(jù)進(jìn)行分塊,不滿一塊的,填零補(bǔ)齊。然后對(duì)每塊依次進(jìn)行加密,返回加密數(shù)據(jù)。

六、生成秘鑰

八、解密算法的偽代碼

九、運(yùn)行結(jié)果

在實(shí)現(xiàn)中,大數(shù)的長(zhǎng)度是在宏中定義的,為44字節(jié)。整個(gè)實(shí)現(xiàn)中,一共使用了34個(gè)大數(shù),總共占用的靜態(tài)內(nèi)存空間為34*sizeof(bn),即1496字節(jié)。

根據(jù)收集到的數(shù)據(jù),可以計(jì)算出:平均加密耗時(shí)為1819.96ms,平均解密耗時(shí)為8371.66ms。

十、結(jié)論

根據(jù)初步收集的數(shù)據(jù),在加密位數(shù)很低的情況下(相對(duì)于普遍使用的1024位加密解密而言),耗時(shí)過(guò)長(zhǎng)。由于cc2530附帶AES協(xié)處理器,所以,對(duì)比于AES128的100ms以下的耗時(shí)[1],RSA算法在沒(méi)有協(xié)處理器的情況下,不宜在8051芯片上進(jìn)行大量數(shù)值計(jì)算的應(yīng)用意義并不是很大。雖然cc2530使用的是加強(qiáng)的8051微處理器,但在計(jì)算性能上仍有所欠缺。

在實(shí)際應(yīng)用中,應(yīng)對(duì)較短的數(shù)據(jù)(如秘鑰)進(jìn)行RSA加密解密操作?;蛟谟?jì)算能力更強(qiáng)的芯片上運(yùn)算,然后由cc2530進(jìn)行數(shù)據(jù)傳輸。

加強(qiáng)ZigBee對(duì)于非對(duì)稱加密算法支持程度,引入?yún)f(xié)處理器,將會(huì)稱為一種較為可取的解決方案。

參考文獻(xiàn):

[1]黃太波,趙華偉,潘金秋,聶培堯,楊澤軍.ZigBee協(xié)議棧的安全體系綜述[J].山東科學(xué),2012,25(2):59-66.

[2]謝琦,趙森,仇婷婷. ZigBee消息在應(yīng)用層的安全機(jī)制研究[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(8):311-313.

[3]楊斌.基于AES的ZigBee標(biāo)準(zhǔn)安全機(jī)制分析[J].計(jì)算機(jī)工程與科學(xué),2010,32(7):42-45.

[4]Texas Instruments, Inc.. Application Note: Heap Memory Management[Z]. San Diego, California USA:Texas Instruments, Inc.,2010.

猜你喜歡
通信安全性能分析
部隊(duì)通信中的網(wǎng)絡(luò)安全防護(hù)與管理
自動(dòng)控制系統(tǒng)的優(yōu)劣評(píng)價(jià)分析
網(wǎng)絡(luò)安全態(tài)勢(shì)量化評(píng)估模型
網(wǎng)絡(luò)安全態(tài)勢(shì)感知國(guó)內(nèi)外研究現(xiàn)狀
淺析電力系統(tǒng)通信安全措施
DCS控制系統(tǒng)在生產(chǎn)線物料運(yùn)輸工作的應(yīng)用
盘山县| 文化| 华亭县| 莆田市| 朔州市| 和田市| 大新县| 马关县| 昌邑市| 西乌珠穆沁旗| 定日县| 新巴尔虎右旗| 炉霍县| 顺平县| 绍兴县| 牡丹江市| 莲花县| 安溪县| 阳春市| 长沙市| 临清市| 铁岭市| 和田县| 兴山县| 调兵山市| 临泉县| 方山县| 从江县| 无极县| 甘泉县| 罗甸县| 会昌县| 长子县| 宁南县| 长治市| 大埔县| 花莲市| 奉化市| 三台县| 灵川县| 永兴县|