基于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 安全网关的总体设计
评论