| C114首页 | 新闻 | 技术 | 市场 | 会展 | 黄页 | 人物 | 3G | WiMax | LTE | FTTH | IPTV | IP通信 | NGN 通信人家园 | 通信人博客 | 通信商情网 | 通信人才网 | English |
|
|
基于uCLinux的嵌入式无线IPSec VPN网关
( 2006/12/28 10:45 )
引言 随着网络和无线通信技术的发展以及无线数据传输能力的提高,无线数据传输的应用领域不断扩展,如图1所示,用户的移动设备可以通过CDMA/GPRS公众无线网络直接访问Internet,进而访问自己的内部结构,省去了自己组网的费用,由于用户都希望保障其数据的安全,所以采用VPN技术成为其必然选择。 1 IPSec简介 IPSec的目标是为IP提供互操作高质量的基于密码学的一整套安全服务,包括访问控制、无连接完整性、数据源验证、抗重放攻击、保密性和有限的流量保密,这些服务都在IP层提供,可以为IP和上层协议提供保护。 IPSec的体系结构在RFC2401中定义,它通过两个传输安全协议——头部认证(AH)和封装安全负载(ESP)以及密钥管理的过程和相关协议来实现其目标,AH提供无连接完整性、数据源验证和可选的抗重发攻击服务,ESP可以提供保密性、有限的流量保密、无连接一致性、数据源验证和抗重发攻击。AH和ESP都是基于密钥分配和流量管理的访问控制的基础,AH和ESP都有两种模式:传输模式和隧道模式。传输模式用于保护主机间通信;而隧道模式将IP隧道里,主要用于保护网关间通信。 ![]() IPSec中用户通道向IPSec提供自己的安全策略(SP)来控制IPSec的使用,包括对哪些数据进行保护,需要使用哪些安全服务,使用何种加密算法,IPSec中安全关联(SA)是一个基本概念,它是一个简单“连接”,使用AH或者ESP为其负载提供安全服务,则需要两个和更多个SA,同时由于SA是单向的,因此如果是双向保密通信,则每个方向至少需要一个SA。IPSec中有两个与安全相关的数据库,安全策略数据库(SPD)和安全关联数据库(SAD),前者定义了如何处理所有流入和流出IP数据处理的策略,后者包含所有(有效)SA有关的参数。 AH/ESP中所使用的密钥的分配和SA管理都依赖于一组独立机制,包括人工和自动两种方式,IPSec定义了IKE协议用于自动方式下的密钥分配和SA管理,IKE中密钥分配和SA管理的过程分成两个阶段,第一阶段是密钥协商双方建立一个相互信任的、保密的安全通道,用户保护第二阶段密钥协商过程,第二阶段完成实际用于IPSec SA的协商。 IPSec的数据处理模型如图2所示,对流入/流出的数据首先确定其安全策略,如果需要安全服务,则要找到其相应的安全关联,根据安全关联,提供的参数进行AH/ESP处理后完成流入/流出。 ![]() 2 系统功能 本系统的主要功能是支持CDMA和GPRS两种方式接入Internet,既可作为VPN服务器,又可作为VPN客户端。IPSec的密钥交换支持共享密钥方式和基于X.509的公开密钥方式。 3 系统的硬件实现 系统硬件构成如图3所示,无线接口采用的是Wavecom CDMA/GPRS模块,基板采用的是Freescale Coldfire 5272。 ![]() 4 系统的软件实现 Linux的2.6内核中加入了对IPSec的支持,本系统采用的是基于Linux2.6内核的IPSec-tools,整个系统中IPSec的相关软件结构如图4所示,Linux2.6内核在其网络协议栈中提供对AH和ESP支持,同时包括SPD的实现和SAD的实现,IPSec-tools包括setkey和racoon两个应用程序。Setkey实现IPSec中SPD管理和SAD的人工管理,它需要使用Linux内核支持IPSec用户管理接口。Racoon是IPSec-tools中IKE的实现,它需要内核支持PF_KEYv2的接口,同时为了支持基于X.509证书的公开密钥身份验证方式,racoon需要使用openssl提供的libcryto加密库。AH/ESP所使用的加密算法需要内核加密算法支持。 ![]() 4.1 Linux内核 在www.kernel.org下载并安装linux2.6.12内核,在www.ucLinux.org下载其uCLinux补丁。打上补丁后,通过make menuconfig进入Linux的内核配置界面,选定如下所有配置: ![]() 4.2 Openssl(libcrypto.a) 安装Openssl 0.9.7 e源代码后,进入安装目录,修改其Configure文件使用m68k-elf-gcc作为编译器。运行Configure Linux-m68k完成配置后,编译生成libcrypto.a。 4.3 IPSec-tools 依照ucLinux中任何加入新的用户程序的文档,在ucLinux的/user目录中加入IPSec-tools0.5.2软件包。进入IPSec-tools的安装目录,并在该目录下加入一个如下Makefile(在这个Makefile中需要指定内核头文件和openssl源代码的安装目录): all:build $(MAKE)-C build ![]() 编译生成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。 结语 无线数据传输和IPSec的结合使得无线数据传输的应用领域进一步扩展,目前本系统已广泛应用于金融、保险、电力、监控、交通、气象等行业,在移动网络许可的条件下,任何采用以太网或串口的设备,如PC机、工控机、ATM机、POS机、视频服务等,都可以方便、安全地通过本系统连接到Internet上。
|
·IPSec VPN测试 (8-21) 热议文章·次贷危机下,LTE是个新谎言 (11-17) 评:讲的有道理。其实现在运营商的核心思想就是要开发各种业务(这一点可以向日本NTT ... ·中国电信纳C网 好马配好鞍能跑多远? (11-16) ·中国需要自己的宽带战略 (11-13) ·小灵通与WiMAX频段或将腾位为TD (11-12) ·微软将亮相08通信展 电信重组利好抵御金融风 (11-11) ·通信终端业营收降两成 (11-10) ·传WCDMA招标结果揭晓 联通悄然部署3G试验网 (11-10) ·WCDMA绝不是新联通的救命稻草 (11-7) ·不同的卫星电视接收终端效果之对比 (11-17) ·酒店宾馆数字电视转模拟系统方案 (11-17) ·安全手册:警惕走入电脑使用安全的误区 (11-17) ·网管怎样应对掉线 让无线网远离掉线问题 (11-17) ·实例讲解:对症下药 无线访问故障全面诊断 (11-17) ·无线网指南 企业无线局域网管理的20个策略 (11-17) ·艾默生数据中心网络能源柔性解决方案 (11-14) ·井星科技WILCOM CTI系统 (11-14) ·城域网中P2P流量的分析与控制 (11-13) ·VoIP国内产品选购经 (11-13) ·测试VoIP呼叫质量 (11-13) ·p2p语音通信和一般voip通信质量比较 (11-13) ·VoIP在宽带接入网的应用 (11-13) ·VoIP的基本传输过程简介 (11-13) ·次贷危机下,LTE是个新谎言 (10-29) ·全球通信业面临金融危机冲击 对中国企业或利大于弊 (10-27) ·宽带市场不宜“非对称管制” (9-17) ·从校园竞争看重组后电信运营商竞争力对比 (9-8) |
|||||||||||||||
|