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