




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
精品文檔-下載后可編輯一種基于PowerPC和Linux的VPN網關設計-設計應用目前,國內大部分VPN網關在硬件平臺上使用基于x86CPU的商用工控機主板。由于商用工控機是為一般的工業控制而設計的,作為VPN網關使用時,存在功能冗余、成本及可靠性難于控制等問題VPN網關為防火墻+VPN軟硬件一體化的產品。VPN是虛擬專用隧道網絡的意思,通過vpn技術可以實現不同的網絡互聯,構成一個網絡,是總部與分支機構網絡互通的形式。VPN網關支持adsl線路,免租專線、即插即用;支持pptp協議、ssl協議;可以實現點對點、點對網、網對網等多種互通形式。
VPN概念
什么是VPN
VPN英文全稱是"VirtualPrivateNetwork",翻譯過來就是"虛擬專用網絡".vpn被定義為通過一個公用網絡建立一個臨時的、安全的連接,是一條穿過混亂的公用網絡的安全、穩定隧道。使用這條隧道可以對數據進行幾倍加密達到安全使用互聯網的目的。虛擬專用網是對企業內部網的擴展。虛擬專用網可以幫助遠程用戶、公司分支機構、商業伙伴及供應商同公司的內部網建立可信的安全連接,用于經濟有效地連接到商業伙伴和用戶的安全外聯網虛擬專用網。VPN主要采用隧道技術、加解密技術、密鑰管理技術和使用者與設備身份技術。
VPN如何保護通信安全
不同類型的VPN所采用的協議不同,使用的安全機制也不同。它可使用CA數字證書來實現通信雙方的身份;使用對稱加密算法來對數據進行加密,保證數據的安全性;使用單向散列函數對數據計算摘要,并對摘要進行加密來保證數據的完整性。此外,VPN節點之間通信,不可能每次都手工配置密鑰,手工方式既不安全也不方便,可以采用因特網自動密鑰交換協議來進行密鑰的協商,設置每次會話密鑰的生命期。
當企業虛擬專網建立時,需要在各個子網的出口配置安全網關。安全網關負責對流出數據進行加密和計算校驗和,對進入數據進行檢驗和解密,并實施訪問控制。
VPN的使用
VPN安全網關與VPNClient軟件配合使用,通過靈活配置隧道策略,不僅可以解決通信的安全問題,還可以解決用戶對公司總部網絡的訪問授權問題。圖1是一個VPN安全系統的典型網絡拓撲圖。
當網關與網關相連時,通過VPN管理中心或終端方式為需要相互通信的兩臺網關間配置對應的隧道,位于兩臺私口后的主機就能通過加密隧道進行通信,防止數據被丟失、篡改并保證數據的完整。
VPN安全網關設計方案概述
VPN系統體系結構
VPN的主要作用是采用加密、和網絡技術在公共互聯網上構建相互信任方之間的安全加密信息傳輸通道,以期達到專用網絡的效果。VPN網關在其中將發揮非常重要的作用。
由圖1可知,VPN網關工作在本地局域網及與其通信的遠程局域網的網關位置,具有加密和功能。相互信任的局域網間進行通信時,仍然使用互聯網作為中間信道。但是,通過VPN網關的加密功能確保信息在不安全的互聯網上流通時是密文形式。即便信息被截取,也無法偷窺或篡改其內容,保證通過互聯網連接的局域網間通信的安全性、機密性、可性和完整性等安全性能。
VPN安全網關的設計目標
(1)完整實現IPSec協議簇,完全支持VPN的要求。
(2)要建立在具有自主版權的、安全性完全控制在自己手中的內核操作系統之上。
(3)要確保自身的安全、協議的安全和信息通道的安全。采用國密辦批準的加密算法,由硬件實現數據加解密。
(4)要具有較高的性價比,滿足低端網絡的要求。明文吞吐率10Mbps;啟用IPSec協議,以隧道方式加密傳輸時,吞吐率大于4Mbps.
(5)設計與實現要采用先進的硬、軟件技術和方法。
(6)盡可能方便管理、靈活配置和界面友好。
技術思想
(1)軟件:①自主開發的嵌入式安全操作系統內核;②由于LinuxOS的源代碼的開放性及其在網絡產品中的優異表現,因而可以用其構建具有自主知識產權的VPN安全網關;③網絡協議和IPSec協議層;④數據加/解密算法由采用國密辦批準的硬件加密芯片SSF10B實現;⑤管理系統層需支持手工和通過SMC配置IPSec策略。
(2)硬件:根據設計要求,該VPN網關將用于10Mbps以太網環境中,設計采用目前在通信業中使用較廣的Mo2torola通信處理器PowerPCMPC8xx作為主CPU,選用其中一款性價比較高的控制器MPC855T.在硬件平臺的設計中,本著滿足性能要求,保證高可靠性和高性價比的原則,嵌入式Linux操作系統的構建通常的嵌入式系統開發大致可以分為硬件設計、裝載或引導嵌入式系統、在嵌入式系統上建立開發平臺以及開發應用等四個步驟。
利用ppcboot引導
ppcboot源碼樹的目錄結構
CHANGELOG//記錄歷次版本升級時的修改內容
COPYING
CREDITS
MAKEALL
Makefile//制作文件
README//必讀的文件
System.map//當編譯連接完成后,所生成的ppcboot二進
//制中所有函數、數據的地址信息
board//各種與板子硬件關聯的。c模塊
common//一些通用ppcboot命令集的。c模塊
config.mk
cpu//與MPC8xx硬件關聯的系統初始化。c代碼
disk//磁盤分區支持
doc//技術文檔目錄
examples//一些簡單的、無需操作系統的應用程序
fs//ppcboot中對文件系統的支持
include//頭文件
net//網絡協議支持
ppcPowerPC//處理器運行時環境支持
ppcboot//elf32格式的ppcboot二進制執行文件
ppcboot.bin//raw二進制格式的ppcboot執行文件
ppcboot.map//s2record格式的ppcboot執行文件
rtc//實時時鐘支持
tools//與ppcboot相關的一些工具軟件ppcboot的特點
經修改后,ppcboot-1.1.5具有如下特性:(1)支持bootm,直接從flash引導Linux,并提供軟件工具集,可構建出終燒結用的影像;(2)支持從doc或flashmemory引導Linux,并提供工具集,可構建出終燒結用的影像;(3)板上flash/doc讀、寫、擦除功能;(4)支持串行口kermit協議代碼或數據;(5)支持scc1以太網口啟動tftp下傳數據:如內核、ramdisk、autoscript等影像;(6)支持串行口srecord代碼或數據;(7)支持autoscript;(8)提供板上內存讀寫,格式化顯示,可進行簡單測試。
當完成ppcboot-1.1.5的改寫后,對其進行編譯,得到二進制的ppcboot.bin代碼,然后將其燒錄在板上的BOOTEPROM中。
建立Linux開發平臺
修改和編譯嵌入式Linux內核
Linux內核有自己的結構體系,進程管理、內存管理和文件系統是其基本的三個子系統。圖2為Linux內核的結構。圖中虛線框中部分可以看成是Linux內核的單內核結構,因此修改內核必須注意各子系統間的協調。
Linux開發平臺使用內核版本為2.4.4的PowerPC嵌入式Linux操作系統作為VPN網關的基本軟件平臺。為了支持硬件平臺,需要對內核進行修改,并增加相應設備的驅動程序。
(1)驅動程序列表
DOC驅動程序源碼:/home/sjw01/linux/drivers/mtd/devices/doc2000.c;
以太網驅動程序源碼:/home/sjw01/linux/arch/ppc/8xx_io/enet_scc1.cfec.c;
RTC驅動程序源碼:/home/sjw01/linux/drivers/unis_rtc/rtc8xx.hrtc8xx.csetrtc8xx.cMkaefilesetrtc8xx;
串口驅動程序源碼:/home/sjw01/linux/arch/ppc/8xx_io/uart.c;
flashmemory驅動程序源碼:/home/sjw01/linux/drivers/mtd/maps/unis.c.
(2)交叉編譯環境
使用hardhatCDK2.0作為開發工具,需將下面的路徑加入用戶環境變量$PATH中:/opt/hardhat/devkit/ppc/8xx/bin;#exportPATH=$PATH:/opt/hardhat/devkit/ppc/8xx/bin或編輯".bash_profile"文件的PATH行。構建目標文件系統配置DOC或FlashMemory中的文件系統是件很講究的事情,主要是因為DOC/Flash容量有限,在保證正常功能的前提下,要盡可能地少占用資源。
總體上,文件分成如下幾類:(1)共享庫類:這類文件必不可少。(2)Linux/GNU系統實用工具:盡量用busybox、tinylogin代替,能減則減。(3)配置文件:多出現在/etc下,不太占地方,但要注意協調關系。(4)用戶應用程序:編譯時盡量使用動態連接,編譯后strip一下,放到固定位置。
目標文件系統列表如表1所示。
所有配置文件、可執行文件、庫文件的位置均符合Linux操作系統的慣例。
IPSec實現中的硬件加密算法
IPSec是一種開放標準的框架結構,通過使用加密的安全服務以確保在Internet協議(IP)網絡上進行保密而安全的通訊。Microsoftreg;Windowsreg;2000、WindowsXP和WindowsServer2022家族實施IPSec是基于"Internet工程任務組IPSec工作組開發的標準。
在VPN安全網關中,加密算法的安全、高效,是VPN網關安全性和有效性的重要保證。為此,在設計中采用了一種硬件加密模塊的方式,使得我們的VPN網關可以在硬件上使用不同的加密算法。在我們的默認配置中,使用國密辦批準的分組加密算法芯片SSF10.
為了使用硬件加密模塊,需要在Linux內核的IPSec實現中添加和修改相應的代碼,下面對其簡單說明。由于IPSec實現在內核中的特殊位置,并且MPC855T的主頻較低(80MHz),采用訪問設備驅動文件的方式訪問硬件SSF10加密模塊會造成速率大幅降低。因此,我們采用I/O直接訪問硬件SSF10芯片,同理,可以使用硬件DES/3DES、硬件AES算法和其他國密辦批準的算法,用硬件實現數據加密。與硬件加密算法有關的文件如下:
freeswan-1.94/klips/net/ipsec/Config.in;
freeswan-1.94/libdes/des_enc.c;
freeswan-1.94/klips/net/ipsec/ipsec_sa.h;
freeswan-1.94/klips/net/ipsec/ipsec_tunnel.c;
freeswan-1.94/klips/net/ipsec/ssf10.h;
freeswan-1.94/klips/net/ipsec/ipsec_init.c;
freeswan-1.94/klips/net/ipsec/pfkey_v2_parser.c;
freeswan-1.94/klips/net/ipsec_rcv.c.
完成修改后,使用內核makemenuconfig命令,選中Networkingoptions→[*]IP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 仙桃長春活動策劃方案
- 代幣融資活動方案
- 代表小組調研活動方案
- 代購充值活動方案
- 儀器公司團建活動方案
- 企業書法培訓活動方案
- TJSQA-溫室氣體?產品碳足跡量化方法與要求?砌體材料產品
- 企業專家活動策劃方案
- 企業體驗活動方案
- 企業公司安全月活動方案
- 污水處理廠安全風險分級管控體系方案1
- 珠寶行業代賣合作協議書
- 北京市朝陽區2022-2023學年四年級下學期語文期末試卷(含答案)
- (MT654-2021)煤礦用帶式輸送機安全規范
- 2024年中國稅務出版社有限公司招聘筆試參考題庫附帶答案詳解
- 幼兒園幼小銜接課題結題報告
- 《藥劑學》課程思政教案
- (完整版)華為項目管理
- 2024年python期末復習考試練習題庫(含答案)
- 《養老護理員》-課件:擺放良肢位
- 沙庫巴曲纈沙坦臨床應用課件
評論
0/150
提交評論