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