基于MPC8245的嵌入式VPN的研究與開發
1 引言
基于IPsec的VPN是最重要的網絡安全設施之一。自Linux內核版本2.47開始,內核實現了IPsec的無縫集成,Linux 2.6內核在支持嵌入式系統方面作了大量改進,在內存管理、進程調度、搶占性、響應時間等多方面性能都有顯著提高,因此基于新Linux 2.6內核設計開發嵌入式VPN硬件網關設備具有性能高,擴展性好,易于升級等諸多優點。在嵌入式設備硬件的選擇上,Motorola公司的 MPC8245處理器采用嵌入式PowerPC603e內核,將高性能32位處理器與浮點、存儲器管理、分支預測單元、16K數據及16K指令緩存集成在一起,是面向網絡基礎設施、存儲設備及電信產品中需要SoC集成與PCI連接的系統首選,非常適合于高端防火墻、VPN虛擬網關、以太網三層交換機以及工業控制中心板等高端嵌入式網絡設備的開發,本文將對Linux 2.6內核在基于MPC8245嵌入式系統上的移植,并在此基礎上対實現嵌入式IPsec VPN安全網關設備進行深入討論。
2 嵌入式Linux VPN總體設計
2.1 VPN安全網關的總體功能模塊設計
圖1為基于MPC8245處理器的嵌入式Linux系統上開發設計的IPsec VPN安全網關總體設計圖。VPN分為兩部分:(1)IPsec服務,在Linux內核中實現,內核IPsec VPN處理邏輯使用兩個安全數據庫SPD和SAD,報文通過IPsec處理時需查詢SAD和SPD,根據加密策略、算法進行處理;(2)密鑰管理機制 IKE等IPsec控制部件,在應用層中設計,主要包括:
用戶管理與配置界面,用于管理員控制臺的配置;
系統管理模塊,負責接收處理用戶命令或讀取配置文件,調用相應的模塊接口完成,返回給顯示終端,并進行相應日志記錄;
密鑰管理機制IKE模塊,處理來自控制臺的管理消息、來自網絡中其它VPN網關的IKE交互消息以及來自內核的消息;
VPN內核消息處理模塊,通過NETLINK套接字,負責與內核中的內核消息管理模塊交互,實現IKE與內核安全關聯數據庫、安全策略數據庫之間的消息傳遞。
圖1 基于MPC8245的嵌入式Linux VPN 安全網關的總體設計
評論