|
→ VPN中的隧道技术详解二
|
|
|
www.kepusoft.com 信息之舟电脑软件应用栏目
|
|
|
信息之舟电脑软件应用栏目编者按:
三层隧道协议
第三层隧道协议是把各种网络协议直接装入隧道协议中,形成的数据包依靠第三层协议进行传输。三层隧道协议并非是一种很新的技术,早已出现的 RFC 1701 Generic Routing Encapsulation(GRE)协议就是个三层隧道协议。新出来的 IETF 的 IP 层加密标准协议 IPSec 协议也是个三层隧道协议。
IPSec(IPSecurity)是由一组RFC文档组成,定义了一个系统来提供安全协议选择、安全算法,确定服务所使用密钥等服务,从而在IP层提供安全保障。 它不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构,它包括网络安全协议 Authentication Header(AH)协议和 Encapsulating Security Payload(ESP)协议、密钥管理协议Internet Key Exchange (IKE)协议和用于网络验证及加密的一些算法等。下面就IPSec的认证与加密机制和协议分别做一些详细说明。
1. IPSec认证包头(AH):
它是一个用于提供IP数据报完整性和认证的机制。其完整性是保证数据报不被无意的或恶意的方式改变,而认证则验证数据的来源(识别主机、用户、网络等)。AH本身其实并不支持任何形式的加密,它不能保证通过Internet发送的数据的可信程度。AH只是在加密的出口、进口或使用受到当地政府限制的情况下可以提高全球Intenret的安全性。当全部功能实现后,它将通过认证IP包并且减少基于IP欺骗的攻击机率来提供更好的安全服务。AH使用的包头放在标准的IPv4和IPv6包头和下一个高层协议帧(如TCP、UDP、ICMP等)之间。
AH协议通过在整个IP数据报中实施一个消息文摘计算来提供完整性和认证服务。一个消息文摘就是一个特定的单向数据函数,它能够创建数据报的唯一的数字指纹。消息文摘算法的输出结果放到AH包头的认证数据(Authentication_Data)区。消息文摘5算法(MD5)是一个单向数学函数。当应用到分组数据中时,它将整个数据分割成若干个128比特的信息分组。每个128比特为一组的信息是大分组数据的压缩或摘要的表示。当以这种方式使用时,MD5只提供数字的完整性服务。一个消息文摘在被发送之前和数据被接收到以后都可以根据一组数据计算出来。如果两次计算出来的文摘值是一样的,那么分组数据在传输过程中就没有被改变。这样就防止了无意或恶意的窜改。在使用HMAC-MD5认证过的数据交换中,发送者使用以前交换过的密钥来首次计算数据报的64比特分组的MD5文摘。从一系列的16比特中计算出来的文摘值被累加成一个值,然后放到AH包头的认证数据区,随后数据报被发送给接收者。接收者也必须知道密钥值,以便计算出正确的消息文摘并且将其与接收到的认证消息文摘进行适配。如果计算出的和接收到的文摘值相等,那么数据报在发送过程中就没有被改变,而且可以相信是由只知道秘密密钥的另一方发送的。
2. 封包安全协议(ESP)包头:
它提供IP数据报的完整性和可信性服务ESP协议是设计以两种模式工作的:隧道(Tunneling)模式和传输(Transport)模式。两者的区别在于IP数据报的ESP负载部分的内容不同。在隧道模式中,整个IP数据报都在ESP负载中进行封装和加密。当这完成以后,真正的IP源地址和目的地址都可以被隐藏为Internet发送的普通数据。这种模式的一种典型用法就是在防火墙-防火墙之间通过虚拟专用网的连接时进行的主机或拓扑隐藏。在传输模式中,只有更高层协议帧(TCP、UDP、ICMP等)被放到加密后的IP数据报的ESP负载部分。在这种模式中,源和目的IP地址以及所有的IP包头域都是不加密发送的。
IPSec要求在所有的ESP实现中使用一个通用的缺省算法即DES-CBC算法。美国数据加密标准(DES)是一个现在使用得非常普遍的加密算法。它最早是在由美国政府公布的,最初是用于商业应用。到现在所有DES专利的保护期都已经到期了,因此全球都有它的免费实现。IPSecESP标准要求所有的ESP实现支持密码分组链方式(CBC)的DES作为缺省的算法。DES-CBC通过对组成一个完整的IP数据包(隧道模式)或下一个更高的层协议帧(传输模式)的8比特数据分组中加入一个数据函数来工作。DES-CBC用8比特一组的加密数据(密文)来代替8比特一组的未加密数据(明文)。一个随机的、8比特的初始化向量(IV)被用来加密第一个明文分组,以保证即使在明文信息开头相同时也能保证加密信息的随机性。DES-CBC主要是使用一个由通信各方共享的相同的密钥。正因为如此,它被认为是一个对称的密码算法。接收方只有使用由发送者用来加密数据的密钥才能对加密数据进行解密。因此,DES-CBC算法的有效性依赖于秘密密钥的安全,ESP使用的DES-CBC的密钥长度是56比特。
3. Internet 密钥交换协议(IKE):
用于在两个通信实体协商和建立安全相关,交换密钥。安全相关(SecurityAssociation)是IPSec中的一个重要概念。一个安全相关表示两个或多个通信实体之间经过了身份认证,且这些通信实体都能支持相同的加密算法,成功地交换了会话密钥,可以开始利用 IPSec 进行安全通信。IPSec协议本身没有提供在通信实体间建立安全相关的方法,利用 IKE建立安全相关。IKE定义了通信实体间进行身份认证、协商加密算法以及生成共享的会话密钥的方法。IKE中身份认证采用共享密钥和数字签名两种方式,密钥交换采用 Diffie Hellman 协议。安全相关也可以通过手工方式建立,但是当 VPN 中结点增多时,手工配置将非常困难。
由此,IPSec 提供了以下几种网络安全服务:
· 私有性 - IPsec 在传输数据包之前将其加密,以保证数据的私有性
· 完整性 - IPsec在目的地要验证数据包,以保证该数据包在传输过程中没有被替换
· 真实性 - IPsec 端要验证所有受 IPsec 保护的数据包
· 反重复 -IPsec防止了数据包被扑捉并重新投放到网上,即目的地会拒绝老的或重复的数据包;它通过与 AH 或 ESP 一起工作的序列号实现
五 小结
VPN综合了专用和公用网络的优点,允许有多个站点的公司拥有一个假想的完全专有的网络,而使用公用网络作为其站点之间交流的线路,它通过可靠的加密技术方法保证其安全性。I P s e c是VPN隧道协议中一个相当新的标准,是实现I n t e r n e t的I P协议级安全可靠的一种方法,必将成为各个VPN产品所支持的业界标准。 |
|
www.kepusoft.com
信息之舟电脑之家收集整理推荐文章
|
|
|
|
|
|
|