基于uCLinux的嵌入式无线IPSec VPN网关( 二 )


4.2Openssl(libcrypto.a)
安装Openssl0.9.7e源代码后,进入安装目录,修改其Configure文件使用m68k-elf-gcc作为编译器 。运行ConfigureLinux-m68k完成配置后,编译生成libcrypto.a 。
4.3IPSec-tools
依照ucLinux中任何加入新的用户程序的文档,在ucLinux的/user目录中加入IPSec-tools0.5.2软件包 。进入IPSec-tools的安装目录,并在该目录下加入一个如下Makefile(在这个Makefile中需要指定内核头文件和openssl源代码的安装目录):
all:build$(MAKE)-Cbuild
编译生成setkey和racoon两个应用程序
5; IPSec-tools的使用
本系统的IPSec同时支持传输模式和隧道模式 。作为VPN网关时只使用隧道模式 。图5是两个IPSec网关间通信模型 。192.168.1.100和192.168.2.100分别是两个网关外部接口的IP地址,它们分别保护172.16.1.0/24和172.16.2.0/24两个内部子网,下面以图5中外部IP为192.168.0.1的网关为例,介绍IPSec-tools中隧道模式下安全策略和密钥治理的方法 。
5.1安全策略
IPSec-tools中安全策略的治理由Setkey完成 。在setkey的配置文件setkey.conf中需要加入流入(in)、流出(out)、转发(fwd)三条安全策略规则 。
5.2密钥和SA的治理
(1)人工方式
Setkey.conf中SA规则定义IPSev密钥和SA人工方式的治理 。
(2)自动方式
自动方式的治理由racoon完成,racoon支持多种验证方式,包括预共享密钥和X.509证书方式,racoon的配置文件racoon.conf主要包括Remote和sainfo两大部分,分别对应于IKE交换的第一阶段和第二阶段,Remote部分指定IKE交换第一阶段的身份验证方式和加密、验证算法等参数,sainfo部分指定第二阶段的加密和验证算法 。
预共享密钥方式下用户的预共享密钥保存在文件中,此时racoon.conf的配置如下(其中指定了预共享密钥所存放的文件):
在X.509证书方式下,racoon.conf的配置与共享密钥方式的基本相同,其指定了证书所在目录,自己的X.509的证书、自己的证书密钥和CA的证书 。有关racoon中证书的生成请参照racoon和openssl的使用手册 。

;5.3运行
在无线网关接入Internet后,依次运行setkey和racoon 。
结语
【基于uCLinux的嵌入式无线IPSec VPN网关】 无线数据传输和IPSec的结合使得无线数据传输的应用领域进一步扩展,目前本系统已广泛应用于金融、保险、电力、监控、交通、气象等行业,在移动网络许可的条件下,任何采用以太网或串口的设备,如PC机、工控机、ATM机、POS机、视频服务等,都可以方便、安全地通过本系统连接到Internet上 。

推荐阅读