基于TMS320C6416T的IP視頻電話加密引擎
摘 要: 采用DSP處理器TMS320C6416T,基于AES分組密碼算法和SPI總線實(shí)現(xiàn)IP視頻電話加密通信。設(shè)計(jì)了系統(tǒng)硬件結(jié)構(gòu),選擇了合理的加密算法和加密方式,提出了高效的通信機(jī)制和數(shù)據(jù)格式,分析了軟硬件設(shè)計(jì)關(guān)鍵環(huán)節(jié)。
本文引用地址:http://m.butianyuan.cn/article/166354.htm當(dāng)前,IP網(wǎng)絡(luò)百兆甚至千兆的速率已經(jīng)成為可能,帶寬的提升為、在IP網(wǎng)絡(luò)上傳輸語音、視頻提供了有力的前提條件。IP視頻電話越來越多地得到廣泛應(yīng)用并將引領(lǐng)現(xiàn)代通信的潮流。但由于IP網(wǎng)絡(luò)的開放性,敏感信息可能被輕易地竊取、篡改、非法復(fù)制和傳播,因此對IP視頻通信的保密性和可靠性提出了更高的要求。為了確保IP視頻電話端到端的通信安全,必須對SIP信令和RTP音視頻數(shù)據(jù)進(jìn)行加密處理。
全球最大IP電話提供商Skype在其軟件中內(nèi)嵌了加密系統(tǒng),安全專家Phil Zimmermann提出了ZRTP密鑰協(xié)商協(xié)議并開發(fā)了IP電話安全軟件Zfone,這些均采用軟件方式實(shí)現(xiàn)加密,當(dāng)處理器性能較低時(shí),這種方式必然會(huì)影響到通話質(zhì)量。為此本文設(shè)計(jì)了一種適合于IP視頻電話的高速硬件加密引擎。
IP視頻電話通信具有以下特點(diǎn):
(1) 占用帶寬大。目前常用音頻算法編碼速率約為10 Kb/s,視頻算法編碼速率約為1 Mb/s(視不同圖像質(zhì)量和算法而有不同)。
(2)實(shí)時(shí)性要求高。人的聽覺對時(shí)延超過400 ms的語音信號(hào)比較敏感。
(3) SIP信令和RTP音視頻數(shù)據(jù)采用UDP方式傳輸,UDP協(xié)議是面向非連接的協(xié)議,數(shù)據(jù)包在網(wǎng)絡(luò)繁忙的情況下可能被丟棄。
針對這些特點(diǎn),設(shè)計(jì)加密引擎協(xié)助IP視頻電話終端完成各類數(shù)據(jù)加密功能,密鑰協(xié)商和密鑰管理由IP視頻電話終端處理,兩者之間通過SPI總線通信。
1 硬件設(shè)計(jì)
1.1 處理器選擇
針對IP視頻電話通信的特點(diǎn)處理器可以選擇專用密碼算法芯片,但在使用上缺乏靈活性,如果需要更改密碼算法或者相關(guān)參數(shù),需重新設(shè)計(jì),因此本系統(tǒng)選用TI公司的DSP處理器TMS320C6416T。TMS320C6416T是基于VelociTI.2TM構(gòu)架的32位定點(diǎn)高性能DSP處理器,主頻高達(dá)1GHz,處理能力可達(dá)8 000 MIPS[1]。它采用超長指令字結(jié)構(gòu)(VLIW),每個(gè)時(shí)鐘周期可以執(zhí)行8條指令。TMS320C6416T內(nèi)部集成大容量存儲(chǔ)器,采用兩級緩存結(jié)構(gòu),即一級緩存(L1)和二級緩存(L2)。
TMS320C6416T強(qiáng)大的計(jì)算、數(shù)據(jù)存儲(chǔ)能力大大縮短了實(shí)現(xiàn)各種算法的時(shí)間,迎合了IP視頻電話通信的實(shí)時(shí)性要求。它既可用于IP視頻電話終端加密,也可擴(kuò)展用于其他大流量數(shù)據(jù)加密(如流媒體服務(wù)器)。在處理更改加密算法、系統(tǒng)參數(shù)和通信接口方面,相對于專用處理器,DSP更具靈活性和可擴(kuò)展性。
1.2 硬件結(jié)構(gòu)及注意事項(xiàng)
加密引擎以TMS320C6416T為核心,包括SDRAM、Flash、電源、JTAG接口、看門狗等。加密引擎和IP視頻電話終端通過SPI總線通信,硬件總體結(jié)構(gòu)如圖1所示。
DSP作為系統(tǒng)的核心,在完成數(shù)據(jù)加解密運(yùn)算的同時(shí),還要與IP視頻電話終端實(shí)時(shí)通信,交互SIP信令、音視頻數(shù)據(jù)、種子密鑰及控制命令等。
SDRAM采用HY57V283220T(4 M×32 bit),工作時(shí)鐘為133 MHz,用于數(shù)據(jù)存儲(chǔ)。Flash采用39VF800A(8 M×16 bit),存取速度為70 ns,100 000次可擦寫,用于程序存儲(chǔ)和DSP上電自舉。電源為整個(gè)系統(tǒng)供電,看門狗用于監(jiān)視系統(tǒng)的正常運(yùn)行,JTAG接口用于DSP仿真調(diào)試。
IP視頻電話終端除了向加密引擎發(fā)送待處理數(shù)據(jù)和命令外,還需具備密鑰協(xié)商和管理、用戶權(quán)限控制、網(wǎng)絡(luò)傳輸?shù)榷喾N功能。在設(shè)計(jì)過程中,應(yīng)重點(diǎn)注意以下問題:
(1) DSP、SDRAM等芯片的功耗較大,需根據(jù)具體功耗參數(shù)設(shè)置合理的電源和地線的布線寬度,注意電路板在物理空間的散熱問題;考慮DSP為BGA封裝,PCB應(yīng)采用多層板設(shè)計(jì)(8層或更多層),設(shè)置單獨(dú)的電源層和地層,以提高系統(tǒng)的可靠性。
(2) DSP工作在1 GHz主頻下、SDRAM工作在133 MHz時(shí)鐘頻率下,布局布線時(shí)要充分考慮信號(hào)的完整性。在實(shí)際設(shè)計(jì)中采用合適的總線拓?fù)浣Y(jié)構(gòu)、合理的疊層結(jié)構(gòu),對高速數(shù)字信號(hào)線在仿真的基礎(chǔ)上加入適當(dāng)?shù)亩私酉盘?hào)反射,以解決高速信號(hào)完整性問題。
2 軟件設(shè)計(jì)
2.1 算法選擇及加密方式
2.1.1 AES算法和工作模式
IP視頻電話數(shù)據(jù)流量大,SIP信令和音視頻數(shù)據(jù)采用UDP方式傳輸,不可避免地存在數(shù)據(jù)丟包問題,因而使用分組密碼算法較為合適。考慮密碼算法的速度和安全性等因素,本系統(tǒng)采用AES分組密碼算法實(shí)現(xiàn)各種數(shù)據(jù)端到端加密。
AES算法作為迭代分組密碼算法其分組長度和密鑰長度均可改變,在使用上更加靈活安全。論證表明,它能夠抵抗所有目前技術(shù)水平下的已知和潛在的密碼攻擊,是更加安全可靠的加密算法。AES使用長為32×Nk(Nk=4、6、8)的比特流作為密鑰,每次對長為32×Nb(Nb=4、6、8)比特的明文組進(jìn)行加密,得到的密文組長為32×Nb比特,迭代輪數(shù)Nr=Max(Nb,Nk)+6。
評論