基于DSP的安全無(wú)線多媒體數(shù)字終端
1 系統(tǒng)概述
本設(shè)計(jì)利用DSP開(kāi)發(fā)板的強(qiáng)大運(yùn)算能力,實(shí)現(xiàn)了多種需要進(jìn)行大量運(yùn)算的信息安全算法。實(shí)現(xiàn)了開(kāi)機(jī)用戶認(rèn)證、語(yǔ)音保密通信[1][2]、文字信息加密傳輸、信息隱藏傳輸[3]、跳頻通信[4]、信息安全存儲(chǔ)備份、定時(shí)鎖機(jī)和終端銷毀,七項(xiàng)安全功能。整個(gè)設(shè)計(jì)基于ICETEK-VC5509-A開(kāi)發(fā)板,系統(tǒng)的硬件部分還外加了無(wú)線射頻模塊nRF24L01[5]、8×8鍵盤(pán)和128×64藍(lán)屏液晶。芯片ZLG7289B[6]用于鍵盤(pán)掃描管理,液晶的驅(qū)動(dòng)采用MEGA16[7]單片機(jī),整個(gè)系統(tǒng)不但實(shí)現(xiàn)了高質(zhì)量的保密語(yǔ)音通信,還具有良好的人機(jī)交互功能。
系統(tǒng)利用上電到輸入密碼時(shí)間的不確定性,隨機(jī)生成用戶私鑰,通過(guò)Diffie-Hellman[8]密鑰交換體制(ECC實(shí)現(xiàn))生成會(huì)話密鑰。為了提高保密通信的安全性和靈活性,系統(tǒng)實(shí)現(xiàn)了可供選擇4種加密算法AES[9]、RC5[10]、IDEA[11]、KASUMI[12]和可配置參數(shù)的LSB[13]信息隱藏算法。我們自主開(kāi)發(fā)實(shí)現(xiàn)了USB驅(qū)動(dòng)[14],使得開(kāi)發(fā)板能夠和PC機(jī)直接通信,這也為信息存儲(chǔ)備份提供了便捷。除此之外,系統(tǒng)能夠設(shè)定自動(dòng)鎖機(jī)的時(shí)間。
整個(gè)系統(tǒng)的信號(hào)傳輸模型如圖1-1所示。
圖1-1 系統(tǒng)傳輸模型 |
2 方案設(shè)計(jì)與比較
2.1 系統(tǒng)安全方案
方案一:預(yù)置密鑰,定期更換密鑰,用對(duì)稱密碼體制進(jìn)行數(shù)據(jù)加密。PC機(jī)通過(guò)USB向終端預(yù)置密鑰,通信時(shí)采用預(yù)置的密鑰進(jìn)行對(duì)稱加密。統(tǒng)的安全性在一定程度上依賴于密鑰的更新周期,而在實(shí)際應(yīng)用中,縮短密鑰的更新周期比較麻煩。
方案二:密鑰交換基于公鑰密碼體制,數(shù)據(jù)加密基于對(duì)稱密碼體制。PC機(jī)通過(guò)USB向終端寫(xiě)入公鑰算法的參數(shù)。開(kāi)機(jī)后,A、B隨機(jī)生成自己的私鑰,計(jì)算得到自己的公鑰,并向?qū)Ψ焦_(kāi)自己的公鑰。A使用自己的私鑰和B的公鑰生成會(huì)話密鑰,B通過(guò)自己的私鑰和A 的公鑰生成會(huì)話密鑰,且會(huì)話密鑰相同。通信結(jié)束后清除該次生成的私鑰、公鑰和會(huì)話密鑰,下次開(kāi)機(jī)則重復(fù)上述會(huì)話密鑰的生成過(guò)程。
方案二的實(shí)現(xiàn)較方案一更為復(fù)雜。但考慮到方案二的安全性更高,且方案二在保證會(huì)話密鑰安全性的前提下,有效的縮短了會(huì)話密鑰的生存期,提高通信的安全性。另外,還可以通過(guò)PC機(jī)定期更新公鑰參數(shù)。再加上方案二更適合于無(wú)線移動(dòng)通信,符合我們的設(shè)計(jì)背景,因此我們采用方案二。
2.2 語(yǔ)音編碼方案
方案一:采用G.721編碼[15][16]。它結(jié)合了ADM的差分信號(hào)與PCM的二進(jìn)制碼方法,是一種性能較好的波形編碼。ADPCM的復(fù)雜度較低,編碼前后的壓縮比為4比1,其主要思想是用差值代替絕對(duì)值。
方案二:采用基于碼激勵(lì)線性預(yù)測(cè)算法的開(kāi)源語(yǔ)音編解碼Speex[17][18]。Speex主要面向Internet上的VoIP(Voice over Internet Protocol)語(yǔ)音通信。其主要設(shè)計(jì)目標(biāo)是為了提供高質(zhì)量和低比特率的語(yǔ)音編碼。Speex可以在同一個(gè)比特流中對(duì)語(yǔ)音信號(hào)實(shí)現(xiàn)窄帶(8kHz)、寬帶(16kHz)和超寬帶(32kHz)的壓縮;壓縮比能夠達(dá)到16比1。Speex雖然有諸多優(yōu)點(diǎn),但是Speex編解碼算法復(fù)雜,運(yùn)行該算法需要的硬件配置較高。
我們所用的射頻模塊的傳輸碼速率為2Mbps,且信道完全能夠保證通信質(zhì)量,從理論上說(shuō),上述2種方案都適用。我們?cè)贒SP開(kāi)發(fā)板上實(shí)現(xiàn)了speex和G.721的編解碼,實(shí)際測(cè)試發(fā)現(xiàn)speex編解碼會(huì)帶來(lái)很大的延遲,原因在于speex編解碼算法比較復(fù)雜。雖然我們已經(jīng)最大程度的精簡(jiǎn)了speex算法,比如:將算法的復(fù)雜度置為最低、設(shè)置編解碼質(zhì)量參數(shù)為最低、關(guān)閉了VBR變波特率特性、關(guān)閉了知覺(jué)增強(qiáng)特性和AEC回聲消除等特性,都不能解決延遲很大的問(wèn)題。除此之外,speex編解碼需要大量的浮點(diǎn)計(jì)算,我們使用的開(kāi)發(fā)板為T(mén)IC55XX系列的定點(diǎn)DSP,實(shí)現(xiàn)speex編解碼耗時(shí)較多;再者,speex編/解碼所能處理的最小幀長(zhǎng)為160個(gè)樣點(diǎn),因此,會(huì)帶給系統(tǒng)很大的延遲。G.721編解碼能夠?qū)崿F(xiàn)基本的語(yǔ)音通信,但通信質(zhì)量一般,再考慮到本系統(tǒng)以語(yǔ)音信號(hào)作為信息隱藏的載體,經(jīng)語(yǔ)音編解碼之后不能還原隱藏信息,因此我們最終選用PCM編碼。
4 系統(tǒng)的實(shí)現(xiàn)
4.1 硬件實(shí)現(xiàn)
4.1.1 系統(tǒng)硬件架構(gòu)
終端的硬件架構(gòu)圖如圖4-1所示,主要由ICETEK—VC5509—A評(píng)估板、nRF24L01射頻模塊、128×64液晶、8×8鍵盤(pán)、MEGA16單片機(jī)控制模塊組成。
圖4-1 硬件架構(gòu)圖 |
4.1.2 射頻收發(fā)模塊
射頻模塊采用nRF24L01,其電路圖如圖4-2所示。
圖4-2 射頻模塊電路圖 |
我們使用鍵盤(pán)掃描管理芯片ZLG7289B[18]來(lái)進(jìn)行鍵盤(pán)的管理。ZLG7289B可同時(shí)掃描多達(dá)64只按鍵。其電路圖如圖4-3所示。
圖4-3 鍵盤(pán)掃描電路圖 |
4.2 軟件實(shí)現(xiàn)
系統(tǒng)的軟件設(shè)計(jì)采用C語(yǔ)言,所有的程序在CCStudio v3.3環(huán)境下開(kāi)發(fā)的。軟件由主程序和一些子程序構(gòu)成,子程序主要包括USB驅(qū)動(dòng)程序、鍵盤(pán)掃描程序、液晶驅(qū)動(dòng)程序和射頻通信程序。主程序流程圖如圖4-4所示。
圖4-4 主程序流程圖 |
5 特色與創(chuàng)新
?、?0位私鑰的ECC算法實(shí)現(xiàn)Diffie-Hellman密鑰交換
?、谝绘I即通的語(yǔ)音保密通信
③4種加密算法任意選擇的保密通信
?、軐?shí)現(xiàn)鍵盤(pán)編輯短信并加密傳輸
?、菘膳渲脜?shù)的信息隱藏傳輸
?、奘瞻l(fā)機(jī)動(dòng)態(tài)協(xié)商進(jìn)行跳頻通信
?、邔?shí)現(xiàn)了USB的驅(qū)動(dòng),PC機(jī)和開(kāi)發(fā)板直接通信
⑧藍(lán)色液晶屏幕顯示,人機(jī)界面友好
⑨射頻收發(fā)模塊實(shí)現(xiàn)了2.4G的無(wú)線通信