DVPN关键技术浅析

2012-04-29 00:44李志文
科技创新导报 2012年14期
关键词:公网加密节点

李志文

摘 要:DVPN(初衷就是解决如何支持地址的动态性问题,针对此问题我们设计了一个新的动态地址解析协议——VAM协议(VPN Address Management VPN地址管理协议),该协议是DVPN协议族的核心。另外,DVPN协议中Server对Client进行认证时采用了AAA认证方式,在对数据报文进行加密转发时采用的是 IPSec协议。

关键词:DVPNVAMIPSecESP

中图分类号:TP393.1 文献标识码:A 文章编号:1674-098X(2012)05(b)-0029-01

1VAM协议

VAM(VPN Address Management)协议是DVPN协议的核心,它规定了Client如何从Server请求得到对端Client的公网地址。该协议和路由协议配合使用,适用于NBMA(Non-Broadcast Multi-Access)网络或P2MP(Peer to Multi-Peer),与NHRP(NextHop Routing Protocol)[1]协议有类似之处。

DVPN组网主要应用于NBMA(Non-Broadcast Multi-Access)网络,同时也适用于P2MP(Peer to Multi-Peer)网络。在这两种类型的网络中,节点之间都是一对多的对应关系,但是NBMA网络中认为任意两个节点之间都可以建立邻居关系,所以某个节点的下一跳地址可以指向网络中任意一个节点,而P2MP网络则不是这样。DVPN的组网以VPN域为单位,当该VPN域为NBMA类型的组网方式时,任意Server和Client之间都可以建立邻居关系,当该VPN域为P2MP类型的组网方式时,Client只能和Server建立邻居关系,而Client之间不能建立邻居关系[2]。

VAM协议在这两种不同的网络类型中的实现方式不同。对于NBMA方式的组网环境,VPN域中的Client首先向Server注册,主要注册信息是自己的私网地址和公网地址。Server对所有注册上来的Client地址信息维护一个地址信息映射表,提供了私网地址到公网地址的映射信息。同时,通过运行路由协议,各个节点之间建立起了邻居关系(基于私网地址信息),当某个Client有和另外一个Client通信的需求时,则首先向Server请求对端Client的公网地址,Server通过查地址信息映射表得到结果,并将其返回给请求Client,这样,该Client就可以和对端Client建立起一条专用通信隧道进行通信了。而对于P2MP类型的网络,Client只能和Server建立邻居关系,所以所有的数据报文都要通过Server转发,两个Client之间无法建立通信隧道[3]。

DVPN对VAM的实现主要分为两个阶段:注册阶段和会话建立阶段,会话建立阶段的一个关键机制是重定向机制。

2 IPSec ESP协议

这里主要介绍一下IPSec 协议中的ESP协议。AH和ESP协议是IPSec实现安全协议中不同方式,在DVPN实现中,我们选择了安全系数较高的ESP协议,采用ESP协议对转发报文进行加密。

和认证头(AH)协议一样,封装安全载荷(ESP)协议的设计目的也是用来提高IP协议的安全性。除了提供和AH协议相似的服务之外,ESP协议还增加了数据保密服务。ESP中用来加密数据报的密码算法都毫不例外的使用对称密钥体制。因为对称密钥算法主要使用初级操作(异或、逐位与、位循环等),无论以软件还是硬件方式执行都非常有效。相对公钥密码系统而言,它的加解密吞吐量要大的多[4]。

ESP也使用消息认证码(MAC)提供认证服务,关于MAC的描述参见对AH协议的叙述。对于加密和认证算法的选择因IPSec的实现不同而不同;然而为了保证互操作性,ESP规范RFC2406规定了每个IPSec实现要强制实现的算法。其中,强制实现的加密算法是DES和NULL加密算法,而认证算法是HMAC_MD5、HMAC_SHA1 和NULL认证算法。NULL加密和认证分别是不加密和不认证。NULL算法选项是强制实现的,因为ESP加密和认证服务是可选的。然而,有一点非常重要,NULL加密和NULL认证算法不可以同时使用,即必须选择加密或认证,或者加密和认证同时使用。

ESP头部分包括:安全参数索引域和序列号域。ESP尾部分包括:填充字节域、填充长度域和下一个头域。

3 认证技术

动态VPN为了保证其VPN的固有特性,提供了完善的注册认证机制。注册认证机制存在于Client与Server之间以及Client和Client之间。在Client和Server之间,如果Client要加入某个动态VPN,必须经过Server的认证,从而防止了非授权用户非法登陆和人为的破坏。在Client和Client之间建立隧道也需要认证,就是说两个Client必须经过一个Server的认证才能建立隧道,这样也可以防止公网上非法用户的侵入。

动态VPN的认证技术主要采用了AAA认证。AAA是Authentication(认证)、Authorization(授权)和Accounting(计费)的简称。它提供对用户进行认证、授权和计费三种安全功能。具体如下:认证(Authentication):认证用户是否可以获得访问权,确定哪些用户可以访问网络。 授权(Authorization):授权用户可以使用哪些服务。计费(Accounting):记录用户使用网络资源的情况。AAA一般采用客户/服务器结构,客户端运行于被管理的资源侧,服务器上则集中存放用户信息。这种结构既具有良好的可扩展性,又便于用户信息的集中管理。

AAA的Login认证方案中可以指明三种认证方法:local、radius和none。其中local为用本地数据库进行认证,radius表示由RADIUS服务器进行认证,none表示不认证。另外还可以使用指定的RADIUS服务器模板进行认证。本地数据库由local-user命令配置。

参考文献

[1] Andrew G.Mason著.Cisco安全虚拟专用网络.北京:人民邮电出版社,2002.

[2] Larry L.Peterson,Bruce S.Davie.Compute Networks-A systems Approach[M].China Machine Press.

[3] Russell Joy,Salamone Salvatore. New twists on secure VPNS,2007.

[4] Breaking DES.The technical newsletter of RSA Laboratories,a division of RSA Data Security,2011.

猜你喜欢
公网加密节点
CM节点控制在船舶上的应用
浅析大临铁路公网覆盖方案
Analysis of the characteristics of electronic equipment usage distance for common users
基于AutoCAD的门窗节点图快速构建
公网铁路应急通信质量提升的技术应用
一种基于熵的混沌加密小波变换水印算法
基于公网短信的河北省高速公路数据传输应用
认证加密的研究进展
抓住人才培养的关键节点
我国警用通信专网与公网比较研究