基于PowerPC和嵌入式Linux的VPN網關設計
引言
因特網的迅速普及為企事業(yè)、政府、金融機構等部門提供了更為迅捷經濟的通信方式,提高了他們的工作和管理效率;但另一方面,日益不安全的網絡環(huán)境卻嚴重威脅到這些用戶的利益。如何保證公網上傳輸數據的安全,已成為一個迫切需要解決的問題。為此,需開發(fā)一種由VPN (Virtual Private Network,簡稱VPN )安全網關、VPN 客戶端和VPN安全管理中心三部份組成的VPN安全系統。
目前,國內大部分VPN 網關在硬件平臺上使用基于x86 CPU的商用工控機主板。由于商用工控機是為一般的工業(yè)控制而設計的,作為VPN網關使用時,存在功能冗余、成本及可靠性難于控制等問題。因此,有必要自己設計一款性價比較高的硬件平臺供VPN網關使用。Motorola通信處理器PowerPC在通信業(yè)中使用廣泛,并具有良好的性價比,可以滿足VPN安全網關的設計需要。另外,安全產品涉及一個國家的主權和敏感的安全信息,作為保證安全極為重要的操作系統和加密算法應該完全為自己掌握。因此,采用具有自主知識產權的操作系統和加密算法尤為重要。而L inux操作系統源代碼的開放性及其在網絡產品中的優(yōu)異表現,使得我們可以用其構建具有自主知識產權的VPN安全網關。
VPN概念
什么是VPN
VPN即虛擬專用網,是通過一定的安全機制在公用的網絡如因特網中建立起與公網相對獨立和封閉的信息通道,以保護企業(yè)各子網之間、子網和移動用戶之間、移動用戶和服務器之間的通信數據的安全。VPN利用公網的資源,讓用戶擁有同專網相同的安全性,并享受因特網帶來的經濟實惠和方便迅捷。
VPN如何保護通信安全
不同類型的VPN所采用的協議不同,使用的安全機制也不同。關于VPN的協議比較多,但目前最完善的、安全性最高的應屬IPSec協議。它可使用CA 數字證書來實現通信雙方的身份認證;使用對稱加密算法來對數據進行加密,保證數據的安全性;使用單向散列函數對數據計算摘要,并對摘要進行加密來保證數據的完整性。此外,VPN節(jié)點之間通信,不可能每次都手工配置密鑰,手工方式既不安全也不方便,可以采用因特網自動密鑰交換協議來進行密鑰的協商,設置每次會話密鑰的生命期,在快要結束生命期時,自動協商下一個會話密鑰。
當企業(yè)虛擬專網建立時,需要在各個子網的出口配置安全網關。安全網關負責對流出數據進行加密和計算校驗和,對進入數據進行檢驗和解密,并實施訪問控制。VPN安全網關在其中具有舉足輕重的作用。比如,當一臺主機與另外一臺主機通信時,會首先啟動IKE (自動密鑰協商)進程協商各種工作參數,包括加密算法、驗證算法、密鑰長度、密鑰值等,并進行雙向的身份認證,所有這些成為一個安全關聯( Security Association) 。
VPN的使用
VPN安全網關與VPN Client軟件配合使用,通過靈活配置隧道策略,不僅可以解決通信的安全問題,還可以解決用戶對公司總部網絡的訪問授權問題。圖1 是一個VPN安全系統的典型網絡拓撲圖。
當網關與網關相連時,通過VPN管理中心或終端方式為需要相互通信的兩臺網關間配置對應的隧道,位于兩臺私口后的主機就能通過加密隧道進行通信,防止數據被丟失、篡改并保證數據的完整。
評論