一種基于VPN網(wǎng)關(guān)的電原理設計與實(shí)現

根據設計要求,將SCC配置成以太網(wǎng)模式。MPC855T以太網(wǎng)控制器必須通過(guò)收發(fā)器連接到以太網(wǎng)絡(luò ),在設計中選用了AC101TF[2] 10/100以太網(wǎng)收發(fā)器。圖6為其基本元件和需要連接到MPC855T的管腳,其中HST-005S為隔離變壓器。當855T發(fā)送數據時(shí),設置接到RTS的發(fā)送允許管腳,同樣地,當收發(fā)器接收數據時(shí),設置接收允許(RENA)線(xiàn)然后置位855T的CD。最后,收發(fā)器上有一個(gè)沖突管腳,驅動(dòng)控制器上的CTS就可以響應沖突。如果RENA和/或CLSN出現,激活載波檢測。
2.6 快速以太網(wǎng)控制器(FEC)接口電路
10/100Mbps快速以太網(wǎng)控制器集成了FIFO可以獨立地實(shí)現突發(fā)模式的DMA傳輸,因此,在不影響CPM性能條件下,可獲得高性能的快速以太網(wǎng)接口。圖7為FEC方框圖??焖僖蕴W(wǎng)控制器FEC,嵌入式PowerPC核,系統接口單元SIU,通信處理模塊CPM都使用32-bit的內部總線(xiàn)。
根據設計要求,VPN網(wǎng)關(guān)工作在10Mbps以太網(wǎng)環(huán)境中,為了保證其兩個(gè)以太網(wǎng)口的工作平衡,把FEC配置成10Mbps工作模式,使用7線(xiàn)串行模式與外部的以太網(wǎng)收發(fā)器連接,仍然選用AC101TF為外部收發(fā)器,其線(xiàn)路連接與圖7類(lèi)似。
2.7 存儲器電路
MPC855T的存儲器控制器可用來(lái)控制8個(gè)塊。它可以連接SRAM、EPROM、Flash EPROM、同步DRAM及其他外置設備而無(wú)須附加邏輯電路,它還支持地址總線(xiàn)復用,定時(shí)清除計時(shí)器,以及產(chǎn)生行及列的地址選擇波形。
如圖8所示,通用目的片選機構設計成SRAM、EPROM、Flash EPROM和其他外設的接口。用戶(hù)可編程機構UPM允許接到多種存儲器設備,同GPCM一樣,用戶(hù)可編程機構產(chǎn)生一個(gè)片選,但一個(gè)已經(jīng)編程為波形,或用于一個(gè)DRAM塊的RAS,每一個(gè)UPM的4個(gè)字節選擇都同樣編程為波形,變成DRAM塊的CAS,UPMA有4個(gè)字節選擇,UPMB有4個(gè)字節選擇。另外,有6個(gè)通用目的線(xiàn),它可以編程為所需的在一個(gè)時(shí)鐘周期內波形,這些通用目的線(xiàn),特別適合于支持一些新的存儲器技術(shù),如同步DRAM,用戶(hù)可編程機構產(chǎn)生TA,事實(shí)上,在這種機構中有可以外部提供TA。
2.8 加密模塊的接口和設計
為了使用不同的硬件加密算法,將加密模塊設計成子板的結構,在主板上設計了兩個(gè)雙排孔座,各有50個(gè)引腳。主要信號有32根數據線(xiàn)D[31:0]、16 根地址線(xiàn)A[29:14]、讀寫(xiě)R/W、輸出使能OE、中斷請求IRQ4、片選CS3、同步時(shí)鐘S_CLK以及突發(fā)模式傳輸控制線(xiàn)TS、BURST、TA、BDIP、TEA、+5V電源和地線(xiàn)。按這樣設計的接口,可以很方便地與多種硬件加密算法芯片做成的加密模塊相連接,如國密辦批準的SSF10B及國外的網(wǎng)絡(luò )安全協(xié)處理器。
為了測試和滿(mǎn)足不同用戶(hù)的需求,設計了兩款加密模塊。(1)SSF10:其32-bit數據寬度版本為SSF10B。SSF10算法為分組密碼算法,支持ECB、CBC、CFB和OFB工作模式。要求工作平臺的CPU能對PWC、PWD、PRC、PRD信號產(chǎn)生等待周期。/PRD的有效時(shí)間應大于PCLK的時(shí)鐘周期T。(2)三重DES:為了與采用IPSec協(xié)議和Triple DES算法的VPN客戶(hù)端互通,設計了一款硬件Triple DES加密模塊,其算法用VHDL語(yǔ)言寫(xiě)成,并由FPGA完成運算。FPGA選用Altera公司的EP1K30[3]芯片,該芯片有30000個(gè)邏輯門(mén)電路,可以滿(mǎn)足Triple DES的需要。
3 VPN網(wǎng)關(guān)的實(shí)現
這部分的主要工作是將原有x86平臺上的應用軟件移植到MPC855T平臺上,作為一個(gè)VPN網(wǎng)關(guān),應具備兩大功能:(1)路由功能:安全加密路由平臺介于局域網(wǎng)與邊界路由器之間,應具備一定的路由轉發(fā)功能。(2)IPSec協(xié)議族功能:具備IPSec協(xié)議標準描述的所有功能。
3.1 系統總體框架和工作模式
系統總體框架由5個(gè)部分組成:(1)硬件層:基于mpc855t平臺,提供軟件運行環(huán)境。(2)Linux內核:嵌入式Linux/ppc-2.4.4。將IPSec實(shí)現和防火墻支持編譯到內核中。(3)系統服務(wù)和工具。(4)管理控制臺界面。(5)升級服務(wù)。
由于本設計使用DOC或Flash Memory作為存儲介質(zhì),文件系統工作方式宜用Ram Disk方式。在此方式下,系統工作時(shí)根文件系統在ram disk上,系統異常掉電不會(huì )對真正的文件系統造成破壞。但因為所有的配置信息都在SDRAM中,掉電將會(huì )丟失所有配置信息,因此需要以后臺進(jìn)程定期檢查配置文件的變動(dòng)情況,將有變動(dòng)的文件及時(shí)寫(xiě)回DOC/Flash中。
3.2 IPSec實(shí)現中的硬件加密算法
在本文設計的VPN安全網(wǎng)關(guān)中,加密算法的安全、高效,是VPN網(wǎng)關(guān)安全性和有效性的重要保證。為此在設計中,采用了一種硬件加密模塊[4]的方式,使得VPN網(wǎng)關(guān)可以在硬件上使用不同的加密算法。在默認配置中,使用國密辦批準的分組加密算法芯片SSF10。為了使用硬件加密模塊,需要在Linux內核的IPSec實(shí)現中添加和修改相應的代碼,下面對其簡(jiǎn)單說(shuō)明。
因IPSec實(shí)現在內核中的特殊位置,并且MPC855T的主頻較低(80MHz),采用訪(fǎng)問(wèn)設備驅動(dòng)文件的方式訪(fǎng)問(wèn)硬件SSF10加密模塊會(huì )造成速率大幅降低,因此,我們采用I/O直接訪(fǎng)問(wèn)硬件SSF10芯片,這樣需將模塊驅動(dòng)中的操作分散到IPSec實(shí)現的相關(guān)部分,替換原來(lái)的軟件加密算法。同理,可以使用硬件DES/3DES、硬件AES[5]算法和其他的國密辦批準的算法,用硬件實(shí)現數據加密。對IPSec的一個(gè)實(shí)現freeswan算法部分進(jìn)行修改,使其可以實(shí)現硬件算法。完成修改后,使用內核make menuconfig命令,選中Networking options->[*]IPSEC:Use SSF10......,重新編譯即可使用SSF10硬件算法模塊。
4 結束語(yǔ)
創(chuàng )新點(diǎn):開(kāi)發(fā)由VPN安全網(wǎng)關(guān)、VPN客戶(hù)端和VPN安全管理中心三部份組成的VPN安全系統。為保證公網(wǎng)上傳輸數據的安全,設計開(kāi)發(fā)一款VPN安全網(wǎng)關(guān),用于構建上述的VPN安全系統。同PowerPC MPC8xx一樣,MPC82xx也是一款集成了微處理器和外圍器件控制器的通信處理器,可以用于多種通信設備中。但是MPC82xx具有更高的操作速度:系統內核微處理器支持100-333MHz的處理速度,并具有更強大的網(wǎng)絡(luò )處理能力,支持3個(gè)快速通信控制器(FCCs),4個(gè)串行通信控制器(SCCs),2個(gè)多通道控制器(MCCs),適合用于100Mbps以太網(wǎng)環(huán)境中的網(wǎng)絡(luò )設備。
評論