包榮鑫 溫靖程 黎子熠 張思萌
【摘要】 隨著通信技術、嵌入式計算技術和傳感器的日益成熟,微機電系統(tǒng)和片上系統(tǒng)等的快速發(fā)展,無線傳感器網絡應運而生,它融合了上述幾種技術的技術特點,正以其低功耗、低成本、分布式和自組織等特點帶來一場信息感知的變革。
如何在節(jié)點計算速度、電源能量、通信能力和存儲數(shù)據有限的情況下設置安全機制,提供機密性保護和身份認證功能,防止各種惡意攻擊,為傳感器網絡提供一個安全的工作環(huán)境,是關乎無線傳感器網絡能否廣泛應用于各行各業(yè)的關鍵。
【關鍵詞】 無線傳感器網絡 傳輸加密
傳輸加密
加密算法使用對稱密鑰,采用密鑰預存機制,通過算法迭代生成n代的子密鑰,加密和解密算法使用加法、位運算、循環(huán)3種操作實現(xiàn)。 在每個節(jié)點中預先存儲一個32位原始密鑰K,32位安全憑證S,迭代次數(shù)t,隨機步長數(shù)C。為了防止節(jié)點被俘而造成密鑰流失,原始密鑰經過加密以后存儲在節(jié)點中。
同時,終端的計算機中保留整個網絡節(jié)點的原始密鑰;S在網絡認證過程中從Sink節(jié)點接受;t每次迭代后數(shù)量加1,加密過程結束后歸零;C由隨機數(shù)發(fā)生器產生。加密過程進行8次,產生8個子密鑰。
過程中使用的符號中,+/- 為模32加法和減法,<<< / >>> 為循環(huán)左移和循環(huán)右移,⊕為異或。 子密鑰生成過程:
每個節(jié)點根據子密鑰生成算法產生子密鑰,見公式2-1-1
為迭代i次得到的密鑰,為第i-1次得到的密鑰,為實際用于加密的密鑰,S為在網絡認證過程中接受的安全憑證,C為步長偏移量。每次加密通過偏移、異或得到,在經過偏移將保護起來。加密時輸入t和c,輸出得到和t,過程中不存儲。
加密算法過程:
輸入64位明文M,通過加密算法產生64位密文,見公式2-1-2
將明文M分成兩個長度為32位的字段,分別存在和中。
直接由上一次的左半部分得到;通過異或,相加和循環(huán)得到。加密時輸入M和c,輸出X和c。
經過8次加密以后得到和,將兩部分組合成密文X連通c發(fā)送出去。首先通過算法強行發(fā)送數(shù)據為64的整數(shù)倍,然后以64為基準劃分部分,經加密后發(fā)送給Sink節(jié)點。
解密過程與加密過程相反,見公式2-1-3
Sink節(jié)點首先對自己保留的節(jié)點原始密碼按照子密鑰生成算法進行迭代,得到的子密鑰組,然后將密文分成兩部分。
該算法是建立在應經建立的可靠認證的網絡基礎之上,設計上比已有的DES、RC5等算法更為簡單,更易實現(xiàn);網絡的加密算法采用了密鑰預存技術,在節(jié)點和Sink節(jié)點中預先存有被保密過的密鑰,在生成子密鑰的同時與受到的安全憑證相融合,在數(shù)據傳輸時不會密鑰不會在網絡上泄漏;在節(jié)點加密時,由于加入了步長設計,使得節(jié)點可以不用保存生成的子密鑰,即使節(jié)點被俘,也不會造成密鑰泄露。同時,不存儲子密鑰的中間過程節(jié)省了存儲資源,降低了存儲開銷。當然,從實際效果來看,采用隨機步長的機制比固定模式加密更為可靠。