支持AAA的MPLS VPN安全解决方案

2013-11-19 11:27党楠
商洛学院学报 2013年6期
关键词:数字签名延迟时间私钥

党楠

(商洛学院 物理与电子信息工程系,陕西商洛 726000)

MPLS最初是在Cisco公司所提出的TagS witching技术基础上发展起来的,主要技术就是引入了基于标签的机制,从而把选路和转发分开,由标签来规定一个分组通过网络的路径,数据传输通过分层服务提供商(Layered Service Provider,LSP)完成。MPLS最重要的优势在于允许因特网服务提供商提供传统IP路由技术所不能支持的新型业务,因此得到了很多运营商和厂家的青睐。

MPLS技术非常适合于组建VPN。基于MPLS的VPN,不像传统的VPN依赖封装和加密机制,而是利用巧妙的转发和包标记来隔离客户信息并创建安全信道。MPLS VPN包含的所有能力都能在MPLS骨干网中体现,并且描绘出一种在IP网络上构造高性能VPN的全新方法[1]。MPLS VPN的网络结构如图1所示,整个网络包括三种设备:用户边缘 (CE:Customer Edge)路由器、提供商边缘 (PE:Provider Edge)路由器和提供商(P:Provider)路由器[2]。在MPLS VPN中,ISP为每个VPN都分配了一个标识符,称作路由标识符(RD),这个标识符在服务提供商的网络中是独一无二的。由RD和用户的IP地址连接形成VPN-IP地址,VPN-IP地址在转发表中是唯一的,在网络中也是独一无二的。

MPLS VPN的具体实现过程为:MPLS网络形成由网络入口到出口的MPLS域,所有的VPN功能是在MPLS域边缘的PE中实现的,对MPLS域内的P路由器和域外的CE路由器而言是透明的。数据分组在网络PE处由LER按照特定的映射规则映射为短标签,映射规则考虑了目的地信息和QoS信息;标签分发过程通过特定的控制协议(LDP或资源预留协议)进行,各个LSR根据标签在LSP上对数据进行交换式转发,可以使用现有的路由协议进行选路机制。

图1 MPLS VPN网络体系结构

1 MPLS VPN安全解决方案

1.1 AAA认证头标

AAA[3]是认证、授权和计费(Authentication,Authorization,Accounting)的简称,它提供了一种用来对认证、授权和计费这三种安全功能进行一致性配置的网络安全管理框架。主要是通过AAA服务器端程序与运行于网络访问服务器(Network Access Server,NAS)的客户端程序相互配合来完成工作的。

在MPLS VPN的通信过程中,认为CE与PE之间的通信是安全的,为了保证在MPLS内传送的安全性,本文中定义一个新的头标—AAA认证头标,如图2,并且提出了支持AAA的

图2 AAA认证头标

在图3的网络结构图中,由于业务的需要VPN1要和VPN2进行数据的传输,为了保证该数据确实是从VPN1发来的包,在MPLS的标签中增加了一个扩展头标,即AAA认证头标,VPN2中的AAAserver对该包进行认证,保证它确实是 VPN1中发来的包,这样,VPN2中的AAAserver允许该包进入,剥去AAA认证头标后,再把这个数据交给VPN2局域网。

AAA认证头标主要起一个签名认证的作用,此签名认证的具体过程如下:

1)对签名前的整个报文做运算,用VPN1中AAAserver的私钥对其加密,形成一个数字签名,加入到AAA认证头标中,VPN2中的AAAserver接到该包后,用其对应的公钥对其应用BLS签名体制进行数字签名认证,如果匹配,则允许该包进入,否则丢弃该包。

图3 AAA的MPLS-VPN网络结构图

2)当VPN2要对VPN1发送响应信息时,先对签名前的整个报文做运算,再用VPN2中的AAAserver的私钥对其加密形成一个数字签名,加入到AAA认证头标中,VPN1中的AAAserver接到该包后,用其对应的公钥对其进行数字签名认证,如果匹配,则允许该包进入,否则丢弃该包。

在这里,认为存在一个被图3中所有的AAAserver都信任的证书签发机构(CA),CA可能是ISP、NSP或者其他的服务提供商,它的主要任务就是向所有的AAAserver分配证书,从而确保将证书中生成的公钥分配给未指定的用户。因此只要AAAserver向CA进行注册,它就能够得到证书进行认证。

这样,当每一个AAAserver向CA注册后,它们都能获得一个证书,在这个证书中包括了AAAserver的标识符,公钥,证书的有效时间和CA的签名。

1.2 BLS签名

设G1是生成元为P阶为q的加法群,G2是阶为q的乘法群映射e:G1×G1→G2称为是双线性映射。H1:{0,1}*→Zq,H2:{0,1}*→G1,是两个密码hash函数假设G1和G2上的DLP(离散对数问题:给定两个元素P、Q∈G,找到使得Q=nP成立的整数n)问题是难解的[4]。

1.2.1 密钥产生算法

1)系统私钥的产生:任意选择s∈Zq*PM=H2(M)∈G1,SM=sPM作为系统私钥;

2)Ppub=sP 作为系统公钥,其中{G1,G2,q,P,Ppub,H2}为公开参量。

1.2.2 签名算法

对M={0,1}*,签名人计算PM=H2(M)∈G1,SM=sPM,则对消息M的签名就是SM。

1.2.3 验证算法

验证等式e(SM,P)=e(H2(M),Ppub)成立,则接受签名;否则,拒绝。

1)认证和密钥的建立

现规定几个术语为:

VPN1中的AAAserver——简称为AAAserver1;

VPN2中的AAAserver——简称为AAAserver2;

VPN3中的AAAserver——简称为AAAserver3;

VPN4中的AAAserver——简称为AAAserver4;

AAAserver1和AAAserver2的证书描述

在上面的方程中:

h()代表一个单向的hash函数;

date表明了证书的有效时间;

PAAAserver1——PAAAserver2的公钥;

PAAAserver2——PAAAserver2的公钥;

[…]SCA——对[…]里的内容用CA中的私钥进行签名。

AAAserver1中证书的更新取决于对VPN2而言,VPN1是否是VPN2的合法的用户。通常情况下,先由AAAserver1向VPN2发出更新请求,VPN2在AAAserver1注册的过程中就能更新AAAserver1的证书。

2)基于安全协议的公钥证书的描述

由VPN2广播其公钥证书——certAAAserver2,当VPN1想要向VPN2注册时,它就会检查AAAserver1证书中CA的公钥的有效性,从而得到

AAAserver1产生一个随机数ks作为会话密钥,并且用PAAAserver2(AAAserver2的公钥)加密ks与certAAAserver1和消息的签名一起发送给AAAserver2。

因此通过这样一个安全协议,VPN1和VPN2就能够通过它们各自的AAAserver彼此认证以及共享会话密钥,从而保护了它们之间通信过程中的安全性。其具体的流程图如图4所示。

2 分析引入AAA的MPLS VPN安全认证的安全性分析

邮戳是独一无二的一个值,其目的是为了阻止重播攻击。在接受到由VPN1发送的消息后,VPN2中首先用CA中的公钥来检查其有效性,如果有效,则用certAAAserver1中的PAAAserver1来验证签名。这样,VPN2就能够确认数据流确实是VPN1发送的,因为只有VPN1中的AAAserver1拥有私钥 SAAAserver1,即使有恶意攻击者能够得到AAAserver1的证书,它也不能够假冒VPN1,因为只有AAAserver2的私钥能以与PAAAserver2相配,也就是说,只有VPN2中的AAAserver2能对消息解密得到ks。

在这里给出当与1024 bit的RSA相同的安全等级时,DSA体制和BLS体制的通信代价如表1。从表1可以看出,BLS签名的通信代价较小,签名时间较短,但相对验证时间较长。

表1 三种签名算法体制的通信代价

文献[4]及表1表明一个签名长度大约近为170 bit的BLS签名与一个签名长度为1024 bit的基于离散对数的数字签名(如DSA)的安全性能相等。所以它能够产生非常短的签名,更有助于减少通信过程中通信代价,更适合于在低带宽的信道中传输。在随机预言模型下BLS短签名方案是能够抵御适应性选择消息攻击的[5]。

应用AAA认证头标可以有效解决上述MPLS VPN中的安全问题,确保了信息传输的安全性。但目前已有的数字签名算法在计算上是昂贵的,当要对每个数据包进行独立的签名和认证时,就会加大传输的信息流量,从而加大了引起丢包现象的发生,由此可以采取批认证方案(Batch Verification)来解决其效率和数据丢包现象的发生。文献[5-7]已经证明了该方法的可行性。

图4 AAAserver1与AAAserver2认证流程图

3 分析引入AAA的MPLS VPN安全认证的性能分析

3.1 优缺点分析

表2中,为了保证MPLS VPN中PE到PE之间信息的安全传输,方案1为原基础MPLS VPN模式;方案2是在方案1的基础上加了IPsec封装和GBE封装。

表2 PE-PE性能技术分析比较

从表2可以看出,基础MPLS VPN的方案1实现费用低,包的平均延迟时间小,但其安全性较弱,当需要传送安全性需求不高的报文时,可以采取方案1的方法。方案2和本文的方案相对安全性比较高,尤其本文采用的新方案既有加密又有认证,非常适合传输高机密的报文。

3.2 数据结果

根据文献[9-10]可大概估算出表2中方案1的平均延迟时间为0.28526437 ms;方案2中的平均延迟时间≤0.9 ms;新方案的平均延迟时间为:基础MPLS VPN延迟时间+BLS签名时间+BLS验证时间=0.28526437 ms+2.75 ms+81 ms=84.03526437 ms。三种方案的认证延迟时间如表3。

表3 三种比较方案的认证延迟

这完全符合以上的分析。总之,可以看到若需要较高的安全级别,那么传送包的延迟就会大一些,丢包率会高一些。

5 结语

近年来,MPLS VPN无论在理论研究还是在实际应用上均取得了很大进展,但是MPLS VPN的安全性问题尚未得到解决。本文针对互联网情况下,MPLS VPN网络中的MPLS主干网络中数据包的发送未经任何安全处理,引入AAA认证头标,提出了引入AAA的MPLS VPN安全认证方案并给出了相应的安全性分析和性能分析。

[1]倪剑虹,吕光虹.基于VPN的不同实现方式的技术研究[J].计算机应用研究,2005,22(7):257-260.

[2]王晓宁.基于AAA的BGP/MPLS VPN的设计与实现[D].天津大学,2007.

[3]Farrell S,Vollbrecht J,Calhoun P,et al.AAA authorization requirements[R].RFC 2906,2000.

[4]李晓辉,顾华熙,党岚君.移动IP技术与网络移动性[M].北京:国防工业出版社,2009.

[5]王育民,刘建伟.通信网的安全——理论与技术[M].西安:西安电子科技大学,2003.

[6]朱晓妍.无线网络中的几个关键问题研究[D].西安电子科技大学,2009.

[7]任祥颖,翁 睿,凌 力.AAA系统中Diameter协议故障恢复算法的改进和实现[J].计算机应用与软件,2007,24(5):139-142.

[8]Boneh D,Lynn B,Shacham H.Short signatures from the weil pairing [M].Advances in Cryptology-asiacrypt,Berlin:Pringer-Verlag,2001:514-532.

[9]Barreto P,Kim H,Lynn B,et al.Efficient Algorithms for Pairing-Based Cryptosystems[J].Advances in Cryptology-CRYPTO 2002,2442:354-369.

[10]Zhou Y,Fang Y.Multimedia Broadcast anthentication based on batch signature [J].IEEE Communication Magazine,2007,45(8):72-77.

[11]Syed Noor-ul-Hassan Shirazi,Muhammad Asim,Muhammad Irfan,and Nassar Ikram.MPLS Unleashed:RemedyUsingIPSEC overMPLSVPN[J].Communications in Computer and Information Science,2010,76:241-248.

猜你喜欢
数字签名延迟时间私钥
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
基于改进ECC 算法的网络信息私钥变换优化方法
二氧化碳对乙烷燃烧着火延迟时间的影响
LTE 系统下行链路FDRX 节能机制研究
浅析计算机安全防护中数字签名技术的应用
基于分层COX模型的跟驰反应延迟时间生存分析
一种基于虚拟私钥的OpenSSL与CSP交互方案
基于数字签名的QR码水印认证系统
延迟时间对气辅注射成型气体穿透行为影响的数值模拟和实验研究