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