??? 摘? 要: 介紹了VPN加密卡的設(shè)計(jì)。論述了加密卡中DSP的選取、TMS320C6202的特點(diǎn)以及以該芯片為基礎(chǔ)的高速加密卡的實(shí)現(xiàn),著重介紹了符合TI規(guī)范的DB(Daughter Board)的應(yīng)用設(shè)計(jì)。?
??? 關(guān)鍵詞: 加密卡 DSP? TMS320C6202 VPN?
?
??? 隨著互聯(lián)網(wǎng)應(yīng)用方式的越來越復(fù)雜,迫切需要一個(gè)專業(yè)的互聯(lián)網(wǎng)服務(wù)供應(yīng)商來提供智能化帶有保證性的互聯(lián)網(wǎng)服務(wù),以便一些公司優(yōu)化內(nèi)部資源,從而專注于核心業(yè)務(wù),提高競爭力。于是,VPN服務(wù)便由此而興盛起來。?
??? 由于經(jīng)濟(jì)的全球化,今天的企業(yè)不再局限于本地、本國范圍內(nèi)經(jīng)營,而是在跨地區(qū)、跨國的更大范圍內(nèi)進(jìn)行經(jīng)營,因此員工、合作伙伴和供應(yīng)商遍布全球。對于一個(gè)企事業(yè)單位來說,怎樣利用互聯(lián)網(wǎng)的強(qiáng)大功能成為一個(gè)重要的課題。由于各種新技術(shù)的出現(xiàn),分散、移動(dòng)的工作人員需要靈活、安全的方法與總部進(jìn)行聯(lián)系。在這種情況下,企事業(yè)單位需要重新考慮自己的廣域網(wǎng)戰(zhàn)略。于是,很多企業(yè)正在建立Extranet來擴(kuò)張自己的廣域網(wǎng)絡(luò),與合作伙伴和供應(yīng)商共同建立一個(gè)高效、安全、低成本的廣域網(wǎng)。?
??? 通過公網(wǎng)傳輸敏感性的數(shù)據(jù)要防止被監(jiān)聽和篡改,因此必須采取有效的措施保證敏感數(shù)據(jù)的安全性。數(shù)據(jù)傳輸總是不希望無關(guān)人員察看、截取和惡意修改,所以要求保證私有數(shù)據(jù)在公網(wǎng)上傳輸?shù)陌踩?。這正是互聯(lián)網(wǎng)的總體發(fā)展趨勢。?
??? 目前,往往通過加密的方法來實(shí)現(xiàn)數(shù)據(jù)在公網(wǎng)上安全地傳輸。于是,各種加密算法層出不窮,如MD5、CAST、Blowfish、3DES等。目前主要采用的是128位以上的加密算法,經(jīng)過這樣的處理,在現(xiàn)有的發(fā)展水平下,基本上解決了數(shù)據(jù)在公網(wǎng)上傳輸所遇到的安全性問題。?
??? 數(shù)據(jù)的傳輸不僅要保證安全性,還要能提供相當(dāng)高的服務(wù)質(zhì)量" title="服務(wù)質(zhì)量">服務(wù)質(zhì)量。例如,銀行系統(tǒng)數(shù)據(jù)庫的更新基本上是“實(shí)時(shí)”的,這樣才能保證交易雙方的利益不受損害。?
??? 傳統(tǒng)公網(wǎng)上的數(shù)據(jù)傳輸,雖然沒有服務(wù)質(zhì)量保證,沒有權(quán)限和安全機(jī)制,但是它提供了連接上的方便。只要采取一定的措施使數(shù)據(jù)的傳輸象在局域網(wǎng)上一樣安全和快速,就可以滿足這種日益增長的需要。VPN正是在要求數(shù)據(jù)傳輸?shù)陌踩透咚俣鹊谋尘跋露a(chǎn)生的。它是在公網(wǎng)上開辟一個(gè)數(shù)據(jù)傳輸?shù)奶摂M專用通道,使局域網(wǎng)在物理上無限延伸,用戶的主觀感覺就象在專用網(wǎng)上傳輸數(shù)據(jù)一樣。數(shù)據(jù)的加密,即加密卡的設(shè)計(jì),是構(gòu)建VPN中的一個(gè)重要環(huán)節(jié),是實(shí)現(xiàn)數(shù)據(jù)安全的保障,也是實(shí)現(xiàn)局域網(wǎng)數(shù)據(jù)在因特網(wǎng)上安全傳輸?shù)年P(guān)鍵;而數(shù)據(jù)的處理速度是提供高服務(wù)質(zhì)量的關(guān)鍵。因此數(shù)據(jù)的加密強(qiáng)度和處理速度變得越來越重要了。下面就介紹一種切實(shí)可行的數(shù)據(jù)加密卡的設(shè)計(jì)方案。?
1 加密卡數(shù)據(jù)處理" title="數(shù)據(jù)處理">數(shù)據(jù)處理核心芯片——DSP的選取?
??? 前一個(gè)系列的VPN是基于PC機(jī)(或工控機(jī))的,加密卡是作為一個(gè)部件安裝到PCI插槽中。加密卡的工作比較明確,即處理需要加解密" title="加解密">加解密的數(shù)據(jù)。加密過程的控制由PC機(jī)的CPU執(zhí)行,數(shù)據(jù)的存儲(chǔ)則借用PC機(jī)的RAM。雖然PC機(jī)本身的速度越來越快,但是PC機(jī)本身卻是數(shù)據(jù)處理的瓶頸。因?yàn)镻C機(jī)上使用的大多是非實(shí)時(shí)的操作系統(tǒng),而且需要管理的資源比較多,這需要很大的開銷,大大降低了數(shù)據(jù)處理的實(shí)時(shí)性,在速度上也是打了很大的折扣。為了提高數(shù)據(jù)存取和處理的速度,設(shè)計(jì)了基于總線方式的加密卡,以取代過去的基于PCI插槽的方式。它是將接收到的IP數(shù)據(jù)包首先存放到POWER PC的RAM當(dāng)中,處理后再轉(zhuǎn)發(fā)到TMS320C6202內(nèi)部固定的存儲(chǔ)空間(先前設(shè)定的);TMS320C6202處理后產(chǎn)生中斷,由POWER PC取回。這樣,處理數(shù)據(jù)包的額外開銷就相當(dāng)小。?
??? 過去,基于PCI方式加密卡的DSP使用的是TMS320C6201。但是該種型號的芯片只提供PCI接口,這是基于這DSP的加密卡難以克服的弱點(diǎn),所以在數(shù)字處理器上必須重新選取。TMS320C6202繼承了TMS320C6201的優(yōu)點(diǎn),同時(shí)克服了其不足,提供了一個(gè)16位的總線接口,這就使數(shù)據(jù)的快速存取成為可能。?
??? 總之,TMS320C6202有如下特點(diǎn):?
??? ①處理速度快:1600MIPS(C6202_200)和2000MIPS(C6202_250),相應(yīng)的時(shí)鐘周期分別為5ns和4ns;?
??? ②帶有16位寬的總線接口;?
??? ③超強(qiáng)的并行處理能力和集成的智能片上外設(shè)等。?
??? 經(jīng)過綜合比較,本卡選用了TMS320C6202。?
2 母板的設(shè)計(jì)?
??? 本系統(tǒng)采用母板+子板的方式設(shè)計(jì)(接口方式遵循TI的子板接口規(guī)范)。之所以如此,一方面是因?yàn)镈SP要通過其擴(kuò)展總線與POWER PC進(jìn)行數(shù)據(jù)的同步交互,所以把DSP集成到POWER PC主板中去;另一方面是為了方便地進(jìn)行加密硬件的升級換代工作(升級時(shí)只需要更換子卡,同時(shí)升級相應(yīng)的驅(qū)動(dòng)程序),并為用戶省下其它升級方式所需的大筆費(fèi)用。?
2.1 母板的構(gòu)成?
??? 本系統(tǒng)采用的是嵌入式VPN,因?yàn)镻OWER PC和DSP要通過總線進(jìn)行數(shù)據(jù)的交互,所以DSP置于主板上。而數(shù)據(jù)加密硬件部分放在子板上,它們通過TI定義的DB接口相連。加密卡的部分框圖如圖1所示。?
?
?
2.2 母板工作原理?
??? POWER PC接收到IP數(shù)據(jù)包后,首先分析包頭,判斷該數(shù)據(jù)包的合法性。如果是合法的數(shù)據(jù)包,則把數(shù)據(jù)包傳遞到DSP中去,否則直接丟棄。合法的數(shù)據(jù)包通過POWER PC的擴(kuò)展總線直接存入TMS320C6202的片內(nèi)固定存儲(chǔ)空間(事先約定的)后,即通知DSP有需加解密的數(shù)據(jù)包。DSP接收上位機(jī)的這個(gè)信息后,首先處理IP數(shù)據(jù)包的包頭信息,通過相應(yīng)的標(biāo)志位判斷是否要加解密,是純粹的軟件加密還是直接的硬件加密,以及采用何種算法。然后對IP數(shù)據(jù)進(jìn)行處理。處理后的數(shù)據(jù)包經(jīng)過DSP的封裝處理,存入另外一個(gè)固定的內(nèi)部數(shù)據(jù)空間。封裝處理完成后,產(chǎn)生一個(gè)硬件中斷到POWER PC,由POWER PC將數(shù)據(jù)包取走,進(jìn)行打包處理,轉(zhuǎn)發(fā)出去。?
3 子板設(shè)計(jì)?
??? 考慮到縮短開發(fā)周期和提高效率,采用外包的方式加速對本系統(tǒng)進(jìn)行軟硬件設(shè)計(jì),即主板由第三方設(shè)計(jì)實(shí)施。這將帶來安全上的隱患。為了杜絕此潛在隱患,采取硬件加密模塊化處理,自行設(shè)計(jì)加密卡的核心部分(即子板)和編寫加密算法。該子板與主板的接口設(shè)計(jì)完全符合TI規(guī)范,便于擴(kuò)展,可以滿足以后的硬件升級。?
??? 所遵照的TI 接口規(guī)范包括擴(kuò)展的存儲(chǔ)器連接接口和擴(kuò)展的外設(shè)連接接口兩個(gè)部分。EMI接口的信號包括DSP的地址總線、數(shù)據(jù)總線、相應(yīng)的存儲(chǔ)器控制信號,以及接入子板的電源線;EPI接口的信號包括兩個(gè)多通道緩沖串口、兩個(gè)計(jì)時(shí)器、子板可分配中斷,DMA通道標(biāo)志、1/2 DSP時(shí)鐘輸出、復(fù)位等信號。?
??? 另外,TI規(guī)范還規(guī)定了插座的選用:主板上為TFM-140-L2-S-LC;子板上為SFM-140-L2-S-LC。?
3.1 子板框圖?
??? 子板中配置了專用的硬件加密芯片、模冪乘密碼算法協(xié)處理器" title="協(xié)處理器">協(xié)處理器、FLASH存儲(chǔ)器、JTEG接口、IC卡認(rèn)證接口——RS232,以及完成子板邏輯、DSP映射數(shù)據(jù)寄存器和子板各芯片狀態(tài)寄存器的大規(guī)??删幊踢壿嬈骷?CPLD)——MAXPLUS 7000S系列的EPM7256S。子板框圖如圖2所示。?
?
?
3.2 子板原理?
??? 在加載VPN時(shí),首先檢查IC證書的合法性。這個(gè)檢查是通過POWER PC訪問DSP,DSP再通過子板RS232接口讀取IC卡信息,然后判斷IC卡的有效性來進(jìn)行的。如果有效,則VPN成功啟用。?
??? 在加密的過程中,如果使用協(xié)處理器,則將數(shù)據(jù)寫入?yún)f(xié)處理器的DSP映射地址,經(jīng)過規(guī)定的時(shí)間,讀取數(shù)據(jù)。如果使用硬件加密,則將數(shù)據(jù)送入專用加密芯片,經(jīng)過75ns生成密文,送入FIFO進(jìn)行緩沖。之所以這樣,是因?yàn)閿?shù)據(jù)的寫入和讀出是通過同一個(gè)數(shù)據(jù)總線,而且加密芯片采用的是流水操作方式,如果以字節(jié)為單位,將會(huì)造成時(shí)間的浪費(fèi),數(shù)據(jù)的加密速度會(huì)大大下降,所以采用以IP包為單位的流水作業(yè)方式對數(shù)據(jù)進(jìn)行加密處理。例如,一個(gè)IP包為1KB,以字節(jié)為單位時(shí),處理時(shí)間將增加(1K-1)×75ns。這在加密過程中是要盡量避免的。所以,為了減少總線的壓力,提供數(shù)據(jù)的流水作業(yè)速度,必須增加緩沖環(huán)節(jié)??紤]到目前的IP包的大小,選用的FIFO的深度為2048字節(jié)。目前IDT72231芯片的容量可以達(dá)到4096字節(jié),且引腳兼容,方便硬件升級。?
??? 當(dāng)機(jī)箱被非授權(quán)人員惡意打開時(shí),EEPROM存放的使用密鑰在50ms內(nèi)被刪除。?
??? 隨機(jī)數(shù)" title="隨機(jī)數(shù)">隨機(jī)數(shù)發(fā)生器產(chǎn)生真正的隨機(jī)數(shù),供加密時(shí)使用。它產(chǎn)生的隨機(jī)數(shù)在CPLD中以字節(jié)為單位進(jìn)行緩存。它有防止竊取的功能:一個(gè)以字節(jié)為單位的隨機(jī)數(shù)有效期只相當(dāng)于隨機(jī)數(shù)發(fā)生器的一個(gè)時(shí)鐘周期(其時(shí)鐘頻率為50kHz左右)。?
??? FLASH能保存DSP在BOOT時(shí)的一些固定信息。?
??? 總之,子板的設(shè)計(jì)提高了加密產(chǎn)品的安全性指數(shù),在速度上也達(dá)到了更高的檔次,并且充分考慮了用戶加密產(chǎn)品的升級換代,滿足了用戶的需要。?
??? 本系統(tǒng)的設(shè)計(jì)使VPN中加密部分的數(shù)據(jù)處理速度提高到了100Mbps,使VPN速度上了一個(gè)臺(tái)階(原為50Mbps),可以保證一定的服務(wù)質(zhì)量(QoS),而且密鑰采用128位以上,可以保證數(shù)據(jù)在公網(wǎng)上傳輸?shù)陌踩?從而完成了預(yù)期的目標(biāo)。該系統(tǒng)在設(shè)計(jì)時(shí)充分考慮了兼容性和可擴(kuò)展性,為升級換代作好了準(zhǔn)備。經(jīng)過試運(yùn)行,這種母板+子板的基于總線方式的加密卡在速度上達(dá)到了100Mbps以上,其安全性能也得到了相應(yīng)的提高,完全滿足目前市場的需要。?
參考文獻(xiàn)?
1 戴宗坤.VPN與網(wǎng)絡(luò)安全.北京:電子工業(yè)出版社,2002?
2 張雄偉,陳 亮,徐光輝.DSP集成開發(fā)與應(yīng)用實(shí)例. 北京:電子工業(yè)出版社,2002?
3 TMS320C6000 Technical Brief.Ttxas Instruments(spru197D),?February 1999?
4 TMS320C6000 EVM Daughterboard Interface.Ttxas Instruments(SPRA478),December 1998?
5 MAX 7000 Programmable Logic Device Family (Data Sheet).ver 6.02. August 2000 ?
6 PXP密碼專用芯片使用說明書.總參第五十六研究所,2002?
7 模冪乘密碼算法協(xié)處理器-SSX04用戶手冊.中興集成電路,2001