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