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