一種基于數(shù)字水印的無線傳感器網(wǎng)絡(luò)敏感數(shù)據(jù)通信協(xié)議[圖]

相關(guān)專題: 無線

無線傳感器網(wǎng)絡(luò)具有節(jié)點(diǎn)成本低、電源消耗小、網(wǎng)絡(luò)自組織等優(yōu)點(diǎn),已廣泛地應(yīng)用于很多領(lǐng)域[1]。

無線傳感器網(wǎng)絡(luò)在很多應(yīng)用中,存在著在節(jié)點(diǎn)間傳輸敏感信息的需求。敏感數(shù)據(jù)是指密鑰、ID、軍事領(lǐng)域中的關(guān)鍵數(shù)據(jù)、節(jié)點(diǎn)的身份驗(yàn)證信息等涉及系統(tǒng)安全、穩(wěn)定運(yùn)行的一類關(guān)鍵數(shù)據(jù)。這類數(shù)據(jù)通常要求采用一種比常規(guī)通信方式更安全、可靠的方式傳遞。敏感數(shù)據(jù)的傳輸有很多種方法,比較常見的是基于加密技術(shù)來實(shí)現(xiàn)。但由于傳感器節(jié)點(diǎn)資源有限,復(fù)雜的算法無法在節(jié)點(diǎn)中實(shí)現(xiàn)[2],這些算法在資源耗費(fèi)方面、加密強(qiáng)度方面尚不完美。

本文基于數(shù)字水印的原理來實(shí)現(xiàn)敏感數(shù)據(jù)的傳輸,通過信息隱藏來實(shí)現(xiàn)敏感數(shù)據(jù)的傳輸。與加密傳輸相比,該算法具備簡單高效、不易察覺等優(yōu)點(diǎn),適合于在無線傳感器網(wǎng)絡(luò)中實(shí)現(xiàn)。

數(shù)字水印(digital watermarking)技術(shù)是實(shí)現(xiàn)信息隱藏的一種主要手段。敏感信息可以毫無察覺地嵌入到數(shù)據(jù)中,嵌入的信息就叫做水。3]。數(shù)字水印是信息隱藏學(xué)的一個分支,是利用人類感覺器官的不敏感及多媒體數(shù)據(jù)中存在的冗余,將秘密信息隱藏到宿主信息中,水印的添加不會影響原數(shù)據(jù)的正常使用[4-7]。

基于以上原理,本文提出一種基于數(shù)字水印技術(shù)和信息隱藏的敏感信息通信協(xié)議。

目前絕大多數(shù)傳感器節(jié)點(diǎn)都支持16位的寄存器,傳感數(shù)據(jù)在通信時也是基于16位無符號數(shù)整數(shù)傳輸?shù)。?6位無符號整數(shù)的取值范圍是0~65 535。當(dāng)實(shí)際采集的傳感數(shù)據(jù)值比較大時,改變最低位對傳感器數(shù)據(jù)值的影響很小,可以忽略不計(jì)。

因此,本文通過16位無符號整數(shù)的最低位來傳輸敏感數(shù)據(jù),并利用數(shù)字水印嵌入算法將敏感數(shù)據(jù)嵌入其中,達(dá)到敏感數(shù)據(jù)隱蔽傳輸?shù)哪康摹楸苊庾畹臀坏母淖儗鞲袛?shù)據(jù)的精度造成太大影響,本文設(shè)置了一個閥值,只有大于該值的數(shù)據(jù)才會被嵌入敏感信息。

1 敏感數(shù)據(jù)嵌入及提取過程

嵌入敏感信息的方法與數(shù)字水印的嵌入方法基本相同。如圖1所示,首先將敏感信息轉(zhuǎn)化為一個二進(jìn)制流,命名為輸入二進(jìn)制流;將傳感數(shù)據(jù)轉(zhuǎn)化為一個16位無符號整數(shù)流,命名為輸入整數(shù)流;將輸出的含有敏感數(shù)據(jù)的無符號整數(shù)流命名為輸出整數(shù)流。則敏感數(shù)據(jù)嵌入過程描述如下:如果輸入整數(shù)流當(dāng)前位置的傳感數(shù)據(jù)值大于或等于閥值,且輸入二進(jìn)制流中當(dāng)前位置的二進(jìn)制值為“1”,則將整數(shù)流當(dāng)前位置的數(shù)據(jù)最低位置“1”,并添加到輸出整數(shù)流中,否則置“0”;如果輸入整數(shù)流當(dāng)前位置的傳感數(shù)據(jù)值小于閥值,則不添加水印,直接將該數(shù)添加到輸出整數(shù)流中。

敏感數(shù)據(jù)的嵌入算法描述如下:

#define N 0x0100; //閥值

typedef BitStream TInputBitStream; //定義輸入二進(jìn)制流

typedef Uint16Stream TInputUintStream; //定義輸入無符號整數(shù)流

typedef Uint16Stream TOutputUintStream;//定義輸出無符號整數(shù)流

//---------------------------------------

/** 用敏感數(shù)據(jù)初始化輸入二進(jìn)制流 **/

TInputBitStream * TheIBS=

  new TInputBitStream(SensitiveData aData);

/** 用傳感數(shù)據(jù)初始化輸入無符號整數(shù)流**/

TInputUintStream * TheIUS=

  new TInputUintStream(SensorData aData);

/** 用空數(shù)據(jù)初始化輸出無符號整數(shù)流 **/

TOutputUintStream * TheOUS=new TOutputUintStream();

//------------------------------------

/** 數(shù)字水印嵌入方法

** 注意:本方法假定輸入整數(shù)流的長度

*足以嵌入所有的敏感數(shù)據(jù)

* 參數(shù)TheIBS: 輸入二進(jìn)制流

* 參數(shù)TheIUS:輸入無符號整數(shù)流

* 參數(shù)N:預(yù)先定義的閥值

* 返回值:輸出無符號整數(shù)流TheOUS **/

TOutputUintStream* InsertWaterMarking(TheIBS,TheIUS,N)

{

uint16_t TheUintIndex=0; //用于保存輸入整數(shù)流的位號

uint16_t TheBitIndex=0; //用于保存輸入二進(jìn)制流的位號

uint16_t CurrentUintData; //用于保存當(dāng)前的無符號整數(shù)值

bit_t CurrentBitData; //用于保存當(dāng)前的二進(jìn)制值

while(TheBitIndex

{

CurrentUintData=TheIUS.Read(TheUintIndex,1);

CurrentBitData=TheIBS.Read(TheBitIndex,1);

/**若當(dāng)前無符號整數(shù)值小于閥值,則讀取下一個值,

*直到大于閥值時,停止循環(huán) **/

while(CurrentUintData

{

TheOUS.Write(CurrentUintData);//將當(dāng)前值加入輸出流

TheUintIndex++;

CurrentUintData=TheIUS.Read(TheUintIndex,1);

}

/** 如果當(dāng)前二進(jìn)制值為1,則將當(dāng)前無符號整數(shù)值的最后一位置為“1”,并將該值加入到輸出流中;否則,將最后一位置為“0”,并將該值加入到輸出流中。 **/

  if(CurrentBitData==1)

   TheOUS.Write(CurrentUintData|0x0001);

else TheOUS.Write(CurrentUintData&0xfff0);

TheBitIndex++;

TheUintIndex++;

}

}

敏感數(shù)據(jù)的提取過程與嵌入過程相反,將接收到的含有敏感數(shù)據(jù)的16位無符號整數(shù)流命名為輸入整數(shù)流,將提取出的二進(jìn)制敏感數(shù)據(jù)流命名為輸出二進(jìn)制流,將輸出的16位傳感數(shù)據(jù)流命名為輸出整數(shù)流。則敏感數(shù)據(jù)提取過程描述如下:首先將該值添加到輸出無符號整數(shù)流中,然后檢測輸入整數(shù)流中當(dāng)前位置的數(shù)據(jù)值,如果該值大于或等于閥值且最低位為“1”,則將“1”添加到二進(jìn)制輸出流中;否則,將“0”添加到二進(jìn)制輸出流中;如果該值小于閥值,則不往二進(jìn)制輸出流添加數(shù)據(jù)。最后,將輸出二進(jìn)制流轉(zhuǎn)化為敏感數(shù)據(jù),將輸出無符號整數(shù)流轉(zhuǎn)化為傳感數(shù)據(jù)。

為進(jìn)一步提升敏感數(shù)據(jù)傳輸?shù)陌踩墑e,還可以在預(yù)處理時對敏感數(shù)據(jù)加校驗(yàn)、加簽名、加密等。

來源:互聯(lián)網(wǎng)


微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號,免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息