丁慧潔,蔣建峰
(1.廣東開放大學(xué) 人工智能學(xué)院,廣東 廣州 510091;2.南京郵電大學(xué) 計算機(jī)學(xué)院,江蘇 南京 210023;3.蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院,江蘇 蘇州 215123)
無線傳感網(wǎng)(Wireless Sensor Network,WSN)是目前極為廣泛并主流的網(wǎng)絡(luò)形式。由于無線傳感網(wǎng)由大量的節(jié)點組成,這些節(jié)點又會限制計算機(jī)的資源,當(dāng)無線傳感網(wǎng)部署在一個意想不到或是敵對的環(huán)境中時,會遭到不同類型的惡意攻擊,所以其網(wǎng)絡(luò)安全問題成為了一個重要的關(guān)注點[1-3]。目前無線傳感網(wǎng)的安全問題多聚焦于傳統(tǒng)的網(wǎng)絡(luò)安全層面,包括應(yīng)用系統(tǒng)、信息審計、通信加密、災(zāi)難恢復(fù)和安全掃描等多個安全組件問題;或是注重在組網(wǎng)技術(shù)、路由算法等安全機(jī)制方面。本文依托無線傳感網(wǎng)在數(shù)據(jù)傳輸過程中涉及的節(jié)點、族等環(huán)節(jié)在節(jié)點管理模塊、發(fā)送方處理模塊、數(shù)據(jù)傳輸模塊、接收方數(shù)據(jù)處理模塊中對節(jié)點信息的生成、密鑰的產(chǎn)生和密鑰中加入水印技術(shù)的使用展開研究,通過對實際工業(yè)區(qū)無線傳感網(wǎng)的相關(guān)數(shù)據(jù)采集,利用系統(tǒng)在IAR7.30環(huán)境中開發(fā)編譯完成,而后在Chipcon公司的無線單片機(jī)CC2430/CC2431上進(jìn)行仿真測試。
通過對無線傳感網(wǎng)的結(jié)構(gòu)及其安全模塊的研究,分析出本系統(tǒng)的設(shè)計原理,利用水印技術(shù)與傳感網(wǎng)數(shù)據(jù)互相符合為中心,且以很低的運算開銷實現(xiàn)并適合傳感網(wǎng)動態(tài)性的特點,還能容忍網(wǎng)內(nèi)處理對數(shù)據(jù)內(nèi)容的改動。采用基于時間戳的水印技術(shù),能克服密碼技術(shù)中加密的內(nèi)容在解密之后缺乏有效的手段以保證其不被非法拷貝、惡意篡改等,從而實現(xiàn)對無線傳感網(wǎng)傳輸數(shù)據(jù)的加密與解密,保障了傳感網(wǎng)的安全。
由于無線傳感網(wǎng)多數(shù)部署在有限、受控的環(huán)境中,很容易受到外界的攻擊和破壞,加之目前無線傳感網(wǎng)技術(shù)在網(wǎng)絡(luò)的機(jī)密性、完整性及防攻擊的措施上仍存在提升空間,所以無線傳感網(wǎng)的安全同時對無線傳感網(wǎng)的安全模塊提出了更高的要求,本文在能力受限的傳感網(wǎng)上,聚焦密鑰預(yù)分配的主要問題:密鑰的創(chuàng)建、分配的方式和節(jié)點存儲對密鑰的存儲。在著名EG方案的基礎(chǔ)上,提出了一種新的密鑰管理和更新方案,此方案基于節(jié)點標(biāo)識的無線傳感網(wǎng)密鑰預(yù)分配方案(Based on Identification-Node Key Pre-distribution Security System,BIKPS),即利用節(jié)點標(biāo)識密鑰預(yù)分配設(shè)計一個高安全又低開銷的安全機(jī)制。
無線傳感網(wǎng)的網(wǎng)絡(luò)結(jié)構(gòu)有3種重要節(jié)點類型:傳感器節(jié)點、中繼節(jié)點和匯節(jié)點。傳感器節(jié)點分布在一定的監(jiān)控區(qū)域內(nèi),利用傳感器將實時數(shù)據(jù)以數(shù)據(jù)包形式發(fā)送到中繼節(jié)點;中繼節(jié)點接收到數(shù)據(jù)包后形成數(shù)據(jù)流,繼而以數(shù)據(jù)流形式發(fā)送至匯節(jié)點;最后由匯節(jié)點將整個實時數(shù)據(jù)融合并通過無線傳感網(wǎng)傳輸。
本系統(tǒng)以此3種類型中的不同節(jié)點為研究對象,通過分配并管理密鑰,再根據(jù)不同的節(jié)點類型,采用不同的加密策略,從而提高傳感數(shù)據(jù)的真實性和可靠性。系統(tǒng)模塊構(gòu)成如圖1所示。
圖1 系統(tǒng)模塊構(gòu)成Fig.1 System module structure
因為傳感器節(jié)點資源有限,計算能力差[4],當(dāng)傳感器節(jié)點發(fā)出監(jiān)控數(shù)據(jù)時,節(jié)點會與數(shù)據(jù)形成一個感知數(shù)據(jù)流區(qū)域。由于無線傳感器節(jié)點的脆弱特性,導(dǎo)致傳輸過程中,性能較差的節(jié)點會很快丟失數(shù)據(jù)或傳輸中斷,所以傳統(tǒng)網(wǎng)絡(luò)的加密認(rèn)證方法不適用于無線傳感網(wǎng)。無線傳感網(wǎng)對自身網(wǎng)絡(luò)安全性能的特點要求是數(shù)據(jù)流本身不應(yīng)該在傳輸過程中改變,此系統(tǒng)將可逆水印技術(shù)嵌入至節(jié)點中,利用接收端完成水印提取和數(shù)據(jù)恢復(fù),當(dāng)數(shù)據(jù)丟失或被黑客篡改時,接收器可以快速檢測到被篡改的位置并在接收數(shù)據(jù)和驗證數(shù)據(jù)時進(jìn)行正確數(shù)據(jù)處理[5-6]。
實時傳感數(shù)據(jù)流是連續(xù)的并且數(shù)量龐大,例如,在測量溫度時,每個傳感器節(jié)點可以獲取和傳輸2個或以1 min為單位的數(shù)據(jù)?;凇八≌Q生”的理念將水印數(shù)據(jù)嵌入到數(shù)據(jù)中。當(dāng)面對傳感數(shù)據(jù)流,通過利用2個相鄰的組[7-10]形成一個驗證組,第1組是發(fā)電機(jī)組,負(fù)責(zé)生成水印序列,然后,水印序列被嵌入第2組——載體組中[8]。無論是生成水印還是嵌入水印,當(dāng)實時傳感數(shù)據(jù)被篡改時,接收端可以通過解碼操作檢測到惡意篡改[11-15]。另外,為了避免追蹤器尋找出分組方式,本文采用了動態(tài)分組方法,由決定了同步的位置點,通過判斷數(shù)據(jù)Si的哈希值來動態(tài)分組。在實施動態(tài)分組過程中,DAHDE使用MD5函數(shù)計算哈希值,同時利用任意形式數(shù)據(jù)的MD5值,其中長度十六進(jìn)制時是32 bit,二進(jìn)制時是128 bit。
① 在節(jié)點管理模塊中,在節(jié)點部署之前,預(yù)先產(chǎn)生一個密鑰池,節(jié)點分配的密鑰就從這個密鑰池中提?。?/p>
② 基于LEACH的分簇,確保簇首的能量和位置信息,然后設(shè)定節(jié)點標(biāo)識等信息;
③ 根據(jù)節(jié)點信息,用不同的方式給簇內(nèi)節(jié)點和簇頭節(jié)點分配密鑰,即為密鑰的預(yù)分配,并根據(jù)分配到的密鑰,建立安全的通信鏈路;
④ 在發(fā)送方采集傳感數(shù)據(jù),進(jìn)行產(chǎn)生數(shù)據(jù)包、加密、嵌入水印等一系列操作;
⑤ 在接收方接收傳感數(shù)據(jù),檢測數(shù)據(jù)是否遭到惡意攻擊,解密、提取水印等一系列操作;
⑥ 對節(jié)點存儲區(qū)中的數(shù)據(jù)進(jìn)行融合等處理,通過選擇不同的路由算法進(jìn)行數(shù)據(jù)的傳輸與轉(zhuǎn)發(fā),選擇路由的同時更新網(wǎng)絡(luò)及節(jié)點的狀態(tài)等。
當(dāng)生成器組生成水印時,對組內(nèi)所有數(shù)據(jù)的MD5值取相同的固定長度進(jìn)行異或運算;然后得到長度為d的水印序列,如w1,w2,…,wd。注意,這里選擇的d值和起止位置也是預(yù)設(shè)的,和m的值一樣,只有傳感器節(jié)點和接收器知道,而跟蹤器無法判斷水印是怎么產(chǎn)生的,它是什么規(guī)則[12,16-17]。同時,將生成組中所有數(shù)據(jù)的平均值作為對應(yīng)載波組的初始預(yù)測值s。
pe由載波組的第一個數(shù)據(jù)與s的差得到,然后將pe左移一位,并在其LSB上加水印w1。此時,嵌入水印后的pe′和s之和即為更新后的嵌入組的第一個數(shù)據(jù)。此外,s需要隨著操作的進(jìn)行而更新,并與當(dāng)前數(shù)據(jù)平均得到一個新的s,這個新的設(shè)置是為了讓預(yù)測值更接近真實數(shù)據(jù)[18]。
所有節(jié)點按LEACH協(xié)議分簇,LEACH是一種自組織自適應(yīng)的分簇協(xié)議,如圖2所示能夠通過分簇的方式有效地節(jié)約能量損耗,延長網(wǎng)絡(luò)生存周期。
圖2 節(jié)點分布圖Fig.2 Node distribution map
無線傳感網(wǎng)主要用于近距離的節(jié)點間對等通信。在通信之前,對所有節(jié)點做密鑰預(yù)處理,構(gòu)建安全通信鏈路。
密鑰管理被定義為在通信各方之間分發(fā)、維護(hù)和建立私鑰的一組程序和技術(shù),包括刷新或更新受感染節(jié)點的密鑰,必須保持前向和后向保密。密鑰管理方案應(yīng)滿足以下3個要求:安全性、效率和靈活性。密鑰管理包括將多個密鑰分發(fā)給節(jié)點,2個節(jié)點之間的密鑰協(xié)議共享相同的秘密密鑰,或者在某些節(jié)點妥協(xié)時生成密鑰和密鑰撤銷。它還包括刷新密鑰,在根據(jù)應(yīng)用程序要求的特定時間間隔之后,網(wǎng)絡(luò)的安全性至關(guān)重要,安全的網(wǎng)絡(luò)密鑰起著至關(guān)重要的作用。為了生成密鑰,使用了許多數(shù)學(xué)模型,其中質(zhì)數(shù)起著重要作用。對于無線傳感網(wǎng)絡(luò),提出了許多概率密鑰方案,以及對于大、中、小規(guī)模的網(wǎng)絡(luò),多少個密鑰就足夠了。
由于節(jié)點的特殊性,密鑰預(yù)分配的主要問題是密鑰的創(chuàng)建、分配的方式和節(jié)點存儲對密鑰的存儲。在著名EG方案的基礎(chǔ)上,提出了一種新的密鑰管理和更新方案——BIKPS。
無線傳感網(wǎng)無處不在,設(shè)計為可從多個位置訪問,允許任何用戶或計算機(jī)連接。因此,其很容易受到未經(jīng)授權(quán)的進(jìn)入,保護(hù)和隱私成為任何新技術(shù)進(jìn)步的主要問題和障礙。當(dāng)大量互連設(shè)備構(gòu)成網(wǎng)絡(luò)時,這一點變得更加重要。拒絕服務(wù)、未經(jīng)授權(quán)的進(jìn)入和修改內(nèi)容只是設(shè)備受到攻擊和破壞的一些方式,使用當(dāng)前可用的技術(shù),無法強(qiáng)制執(zhí)行適當(dāng)?shù)碾[私保護(hù)機(jī)制。
傳感器網(wǎng)絡(luò)部署在一個大領(lǐng)域,可擴(kuò)展性可能會根據(jù)應(yīng)用和要求而有所不同。隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,分發(fā)和管理密鑰并不容易,產(chǎn)生高密鑰和安全分發(fā)需要新的改進(jìn)和算法。對于數(shù)據(jù)分析,建議使用另一種稱為無線傳感器網(wǎng)絡(luò)的方法,這些網(wǎng)絡(luò)在將傳感數(shù)據(jù)發(fā)送到分散的計算機(jī)進(jìn)行分析之前交換有關(guān)傳感器節(jié)點的信息。
從吞吐量和帶寬組成的主要元素來衡量無線傳感網(wǎng)程序的服務(wù)質(zhì)量(QoS)。從連接到接口組件或環(huán)境傳感器,或者對智能揚(yáng)聲器大喊大叫時,無線傳感網(wǎng)產(chǎn)生了大量的統(tǒng)計數(shù)據(jù)。因此,提供 QoS 變得困難。共享 Wi-Fi 媒體中有用的資源分配和管理能力限制,確保了無線傳感網(wǎng)絡(luò)的安全。云計算中的QoS是一個不同的主要研究領(lǐng)域,隨著物聯(lián)網(wǎng)所需的事實和工具在云上變得可用,人們也會越來越關(guān)注無線傳感網(wǎng)的QoS。
如果任何節(jié)點離開系統(tǒng),它必須沒有任何關(guān)于網(wǎng)絡(luò)的信息可以透露,并且可以添加新節(jié)點而不提供有關(guān)先前網(wǎng)絡(luò)狀態(tài)的信息。新添加的節(jié)點必須在沒有網(wǎng)絡(luò)知識的情況下正常工作。
許多對象在物聯(lián)網(wǎng)傳感器網(wǎng)絡(luò)中相互連接。在這種網(wǎng)絡(luò)中,連接的保護(hù)和人工制品的安全都至關(guān)重要。避免所有相關(guān)對象未經(jīng)授權(quán)訪問網(wǎng)絡(luò)至關(guān)重要。任何未經(jīng)授權(quán)的數(shù)據(jù)訪問都會導(dǎo)致數(shù)據(jù)損壞和系統(tǒng)停止正常工作。與基站相連的傳感器網(wǎng)絡(luò)中有許多相互連接的傳感器,在這種網(wǎng)絡(luò)中,需要保護(hù)所有連接和人工制品。密鑰必須在間隔后或按要求刷新。
考慮到節(jié)點能量的限制及CC2430芯片的特點,采用基于RC4的加解密方案。RC4是加密密鑰長度可變的流加密算法簇,算法簡單,速度約是DES加密的10倍,且具有很高級別的非線性。
水印技術(shù)與傳感網(wǎng)以數(shù)據(jù)為中心的特點相符合,且能以很低的運算開銷實現(xiàn)并適合于傳感器網(wǎng)絡(luò)動態(tài)性的特點,還能容忍網(wǎng)內(nèi)處理對數(shù)據(jù)內(nèi)容的改動。采用基于時間戳的水印技術(shù),能克服密碼技術(shù)中加密的內(nèi)容在解密之后缺乏有效的手段,保證其不被非法拷貝、惡意篡改。
本系統(tǒng)采用基于時間戳的單水印技術(shù),原理如下:發(fā)送方先用時間戳做密鑰,加密方法采用類RC4’,再按照一定規(guī)則嵌入時間戳;接收方先按照一定規(guī)則提取時間戳,與發(fā)包時間對比,若相同,則還原數(shù)據(jù)包的內(nèi)容,并準(zhǔn)備下一次傳送;否則直接丟包。
整個系統(tǒng)在IAR7.30環(huán)境中開發(fā)編譯完成,而后在Chipcon公司的無線單片機(jī)CC2430/CC2431上進(jìn)行仿真測試。
通過研究無線傳感網(wǎng)的結(jié)構(gòu)及其安全模塊,分析出本系統(tǒng)的設(shè)計原理,從而實現(xiàn)對無線傳感網(wǎng)傳感數(shù)據(jù)的加密與解密,保障了傳感網(wǎng)的安全。
系統(tǒng)總體設(shè)計流程如圖3所示。
圖3 系統(tǒng)流程Fig.3 System flow
在節(jié)點部署之前,先構(gòu)造一個密鑰池,根據(jù)分簇信息進(jìn)行密鑰預(yù)分配[5],建立密鑰管理樹實現(xiàn)對網(wǎng)絡(luò)安全通信的密鑰管理。按照網(wǎng)絡(luò)層次進(jìn)行分組,簇首為根節(jié)點,簇內(nèi)成員為葉子節(jié)點,生成密鑰池S為根節(jié)點的密鑰管理樹。
密鑰池按照密鑰組分配,簇首和簇內(nèi)成員的密鑰不同,這樣每個節(jié)點可以選取密鑰存入存儲器負(fù)責(zé)數(shù)據(jù)加解密,簇內(nèi)成員的數(shù)據(jù)通道由簇內(nèi)密鑰負(fù)責(zé),簇首負(fù)責(zé)簇之間的數(shù)據(jù)通道。
簇內(nèi)安全數(shù)據(jù)通道的建立以預(yù)分配共享密鑰為基礎(chǔ)進(jìn)行數(shù)據(jù)的加解密[6],表示為:
(M)key->C,(C)key->M,
式中,M表示原文;C表示密文。
如果簇內(nèi)成員之間沒有找到共享密鑰,則安全數(shù)據(jù)通道都必須經(jīng)過簇首,其加解密過程為:
(M)key->C,(C)key->M,
(C)key->M,(M)key->C。
簇間節(jié)點的通信必須經(jīng)由簇首完成,首先簇內(nèi)節(jié)點與簇首建立安全數(shù)據(jù)通道將數(shù)據(jù)傳送給簇首,簇頭先對傳來的信息解密,用時間戳作為密鑰加密,再將密文與時間戳打亂,記錄在CRC中后,把整個數(shù)據(jù)包傳送給簇間節(jié)點所在簇的簇頭,簇頭提取時間戳并檢測,若檢測合格則將數(shù)據(jù)包解密,通過與節(jié)點的共享密鑰加密后安全傳送給節(jié)點,節(jié)點解密得到傳送數(shù)據(jù),整個傳送過程都是安全的。其中簇頭與簇頭間的傳送過程如下:
(M)Em->C,(C)Ex->M,
式中,Em表示時間戳嵌入算法;Ex表示時間戳提取算法。
新加入的節(jié)點首先在密鑰組內(nèi)抽取預(yù)共享密鑰存入存儲器,新節(jié)點發(fā)送共享密鑰ID到簇首,并且經(jīng)由簇首廣播到其他簇內(nèi)成員,這樣其他節(jié)點就能夠與新節(jié)點建立安全數(shù)據(jù)通道。如果沒有找到共享密鑰,那么所有的安全數(shù)據(jù)通道都經(jīng)由簇首完成建立。
節(jié)點退出時也由簇首廣播其退出信息,簇首和其他簇內(nèi)節(jié)點同時刪除與新節(jié)點的共享密鑰信息。
在初始化過程中,密鑰的主要功能是利用密鑰將sBox攪亂,并保證sBox的每個元素都得到處理,且sBox的攪亂是隨機(jī)的。sBox經(jīng)過算法處理得到隨機(jī)子密鑰序列,并且經(jīng)過子密鑰運算得到密文。加密算法流程圖如圖4所示。
圖4 加密流程Fig.4 Encryption flowchart
解密過程就是通過共享密鑰將密文還原得到原文。由于算法加密采用的是異或運算,一旦子密鑰序列出現(xiàn)了重復(fù),密文就有可能被破解,其不足主要體現(xiàn)在無線網(wǎng)絡(luò)中初始化向量不變性漏洞,所以在簇間通信時,采用嵌入水印的方案保證其安全性能。
嵌入時間戳的方法與數(shù)字水印的嵌入方法基本相同。時間戳嵌入過程包括:原始信息處理、選擇數(shù)據(jù)內(nèi)容、嵌入水印算法等,如圖5所示。
圖5 時間戳嵌入流程Fig.5 Timestamp embedding process
首先將時間戳轉(zhuǎn)化為一個十六進(jìn)制流,命名為輸入時間流;將傳感數(shù)據(jù)也轉(zhuǎn)化為一個十六進(jìn)制流,命名為輸入數(shù)據(jù)流;將輸出的含有敏感數(shù)據(jù)的數(shù)據(jù)流命名為輸出數(shù)據(jù)流,則時間戳嵌入過程描述如下:若輸入時間流當(dāng)前位置的最低有效位是奇數(shù),則將輸入數(shù)據(jù)流的偶位與輸入時間流交換,并依次添加到輸出數(shù)據(jù)流中;若輸入時間流當(dāng)前位置的最低有效位是偶數(shù),則將輸入數(shù)據(jù)流的奇位與輸入時間流交換,并依次添加到輸出數(shù)據(jù)流中。
時間戳的提取過程與嵌入過程相反,分如下幾個步驟進(jìn)行水印的提?。哼x擇數(shù)據(jù)、水印提取算法和水印驗證等。將接收到的含有水印的數(shù)據(jù)流命名為輸入數(shù)據(jù)流,將提取出的十六進(jìn)制時間流命名為輸出時間流,將輸出的傳感數(shù)據(jù)流命名為輸出數(shù)據(jù)流。則時間戳提取過程描述如下:首先從數(shù)據(jù)包中取出時間戳,經(jīng)十六進(jìn)制數(shù)轉(zhuǎn)換后,存入閾值。根據(jù)閾值的最低有效位的奇偶性,從輸入數(shù)據(jù)流中提取時間戳,同時添加到輸出時間流中。如果輸出時間流與閾值相等則解密,并添加到輸出數(shù)據(jù)流中;否則,說明數(shù)據(jù)包已被篡改,直接丟棄該包。最后,將輸出數(shù)據(jù)流轉(zhuǎn)換為傳感數(shù)據(jù)。時間戳提取流程如圖6所示。
圖6 時間戳提取流程Fig.6 Timestamp extraction process
系統(tǒng)的開發(fā)編譯是基于IAR 7.30平臺實現(xiàn)的。根據(jù)節(jié)點是簇內(nèi)節(jié)點還是簇頭節(jié)點,編寫不同的發(fā)送接收模塊。各個模塊成功編譯后,經(jīng)過物理地址燒寫,將代碼下載到CC2430/CC2431芯片中。
程序成功下載后,便可開始仿真測試。作為簡單演示,只設(shè)置了3個節(jié)點,分別與傳輸模塊TX、接收模塊RX和簇間傳輸模塊RX_TX相對應(yīng),系統(tǒng)演示如圖7。
圖7 系統(tǒng)演示圖Fig.7 System demo diagram
從左到右依次為傳輸TX節(jié)點11,簇頭RX節(jié)點10,簇頭RX_TX節(jié)點20。左邊2個的通信屬于簇內(nèi)節(jié)點間的通信,右邊2個的通信屬于簇頭節(jié)點間的通信。
傳輸過程:節(jié)點11將采集到的數(shù)據(jù),經(jīng)類RC4加密后傳輸給節(jié)點10,節(jié)點10對收到的傳感信息做CRC校驗,若不正確,則丟包;否則解密,并準(zhǔn)備簇頭間的傳輸。根據(jù)簇頭間的通信原理,節(jié)點10將傳感信息加密后嵌入水印,然后發(fā)送給節(jié)點20;節(jié)點20從收到的傳感信息中提取水印,若水印正確,則準(zhǔn)備下一下傳輸;否則丟包。
簇內(nèi)節(jié)點的通信如圖7中左邊2個節(jié)點所示,第1個與第2個節(jié)點間的數(shù)據(jù)傳輸,而第3個節(jié)點等待第2個節(jié)點的數(shù)據(jù),處于等待狀態(tài)。在第2個節(jié)點的液晶屏上,第1行顯示接收,標(biāo)志節(jié)點處于接收狀態(tài),第2行顯示經(jīng)發(fā)送節(jié)點加密后的密文,第3行是根據(jù)簇內(nèi)節(jié)點間的加密原理,對密文進(jìn)行解密并顯示,第4行顯示的是加密/解密密鑰。
簇頭節(jié)點間的通信中,第2個節(jié)點與第3個節(jié)點間進(jìn)行數(shù)據(jù)傳輸。從演示過程中可以看到,2塊液晶屏的第1行都顯示為Cluster Trams,標(biāo)志著這2個節(jié)點屬于簇頭間通信。第2塊液晶屏上顯示的是采集到的數(shù)據(jù)、密文和嵌入的時間戳等。第3塊液晶屏上顯示的是密文、原文和提取的時間戳等。
從演示結(jié)果可以看出,無論是簇內(nèi)節(jié)點還是簇間節(jié)點的通信,加密解密的策略都是正確的,而且因時間戳的動態(tài)變化,簇間的安全策略在一定程度上比簇內(nèi)的高,開銷也不會很大,符合傳感器網(wǎng)絡(luò)設(shè)計的要求。
收集并統(tǒng)計模擬仿真過程中的相關(guān)數(shù)據(jù),如表1所示。第1列是采集到的白天的光照強(qiáng)度,此參數(shù)可預(yù)設(shè)為能量供給數(shù)值,第2列是原來的RC4算法,第3列是改進(jìn)后的RC4’算法,第4列是時間戳嵌入,最后一列是當(dāng)時的時間戳。
表1 仿真數(shù)據(jù)截圖Tab.1 Screenshot of simulation data
基于IAR 7.30平臺,通過采集白天的光照強(qiáng)度作為能量供給,單位是J,收集并統(tǒng)計模擬仿真過程中的相關(guān)數(shù)據(jù)加密后,無論是簇頭或簇內(nèi),經(jīng)過預(yù)處理,都變?yōu)槭M(jìn)制,提高傳感節(jié)點的通信量和節(jié)點的利用率。在場景中,初始能量都是2 J的前提下,在能量影響因子和距離影響因子不同的參數(shù)的情況下,總共運行10次結(jié)果取平均值,吞吐量數(shù)據(jù)如圖8所示。
圖8 網(wǎng)絡(luò)吞吐量Fig.8 Network throughput
從仿真數(shù)據(jù)圖中,看到原RC4算法加密后的數(shù)據(jù)有一定的規(guī)律,而改進(jìn)后的RC4算法的安全性明顯比原來的高。每次測試隨機(jī)選取10 000個傳感器節(jié)點感知數(shù)據(jù),以篡改率為10%的方式篡改原始數(shù)據(jù),即共有1 000個原始數(shù)據(jù)被篡改。當(dāng)嵌入水印的感知數(shù)據(jù)被傳送到簇首節(jié)點之后,簇首節(jié)點根據(jù)算法提取水印并且驗證,若數(shù)據(jù)被篡改,簇首節(jié)點判定數(shù)據(jù)被惡意破壞且丟棄數(shù)據(jù)包,圖9是重復(fù)10次實驗的仿真結(jié)果。
圖9 數(shù)據(jù)丟包率Fig.9 Data packet loss rate
單水印技術(shù)能防止數(shù)據(jù)被篡改,但是數(shù)據(jù)內(nèi)容對外是可見的,所以在簇間通信的方案中,采用時間戳以減少信息外泄的機(jī)率,提高傳感信息的機(jī)密性和安全性。節(jié)點生存時間如圖10所示,采用時間戳執(zhí)行到300 s后才開始有節(jié)點死亡,并且在網(wǎng)絡(luò)運行900 s時還有生存的節(jié)點,而未改進(jìn)的LEACH協(xié)議在200 s時就出現(xiàn)了節(jié)點死亡的現(xiàn)象,由于分簇不均衡的原因?qū)е戮W(wǎng)絡(luò)在400 s后就消亡了,證明時間戳能夠有效地延長網(wǎng)絡(luò)地生存時間。
圖10 節(jié)點生存時間Fig.10 Node lifetime
雖然無線傳感網(wǎng)的應(yīng)用領(lǐng)域較為廣泛,但是目前仍然面臨很多安全問題,通過本次相關(guān)仿真數(shù)據(jù)測試,比如當(dāng)傳感器節(jié)點能量無法充足供給時,無線通信信號極易受到干擾,無法體現(xiàn)其他網(wǎng)絡(luò)形式的健壯性,為此展開研究力爭采取有效的應(yīng)對措施。同時密鑰管理也是無線傳感網(wǎng)應(yīng)對安全問題時常用的一種安全機(jī)制,其技術(shù)核心在加密技術(shù)也有所涉及,目前也一直是本領(lǐng)域的一個研究熱點。本文主要實現(xiàn)了無線傳感網(wǎng)的安全控制模塊的設(shè)計,重點旨在提高節(jié)點的利用率,降低網(wǎng)絡(luò)開銷的基礎(chǔ)上設(shè)計出安全性較高的傳輸系統(tǒng)。
本文采用的是基于時間戳的單水印技術(shù),根據(jù)最新的文獻(xiàn)研究,針對無線傳感網(wǎng)的數(shù)據(jù)安全問題,提出了一種適用于無線傳感網(wǎng)的數(shù)字水印技術(shù),將水印信息嵌入到節(jié)點采集的數(shù)據(jù)中進(jìn)行發(fā)送,并在數(shù)據(jù)融合的過程中保留這種信息,接收方節(jié)點通過驗證水印信息來判斷數(shù)據(jù)的可靠性,一旦檢測到了水印信息則進(jìn)行存儲和轉(zhuǎn)發(fā),使水印信息的數(shù)據(jù)不被丟棄?;诠?jié)點標(biāo)識的無線傳感網(wǎng)系統(tǒng)的設(shè)計及程序模擬仿真測試,正是為后續(xù)水印信息在數(shù)據(jù)抽樣和匯總中不被破壞的可行性提供有效的實驗數(shù)據(jù)。