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