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