当前位置:文档之家› IPSec协议

IPSec协议

IPSec协议

IPSec协议

1 IP Sec协议概述

2 IPSec VPN工作原理

4.2.1隧道建立方式

2.2数据保护方式

2.3 IPSEC协议体系结构

3 IP Sec的优点

1 IP Sec协议概述

IPSec 是一系列基于IP 网络(包括Intran et、Extra net 和In ternet)的,由IETF 正式定制的开放性IP安全标准,是虚拟专网的基础,已经相当成熟可靠。

IPSec可以保证局域网、专用或公用的广域网及In ternet上信息传输的安全。

①保证In ternet上各分支办公点的安全连接:公司可以借助In ternet或公用的广域网搭建安全的虚拟专用网络。这使得公司可以不必耗巨资去建立自己的专用网络,而只需依托In ternet即可以获得同样的效果。

②保证In ternet上远程访问的安全:在计算机上装有IPSec的终端用户可以通过拨入所在地的ISP的方式获得对公司网络的安全访问权。这一做法降低了流动办公雇员及远距离工作者的长途电话费用。

③通过外部网或内部网建立与合作伙伴的联系:IPSec通过认证和钥匙交

换机制确保企业与其它组织的信息往来的安全性与机密性。

④提高了电子商务的安全性:尽管在电子商务的许多应用中已嵌入了一些安全协议,IPSec的使用仍可以使其安全级别在原有的基础上更进一步,因为所有由网络管理员指定的通信都是经过加密和认证的。

IPSec的主要特征在于它可以对所有IP级的通信进行加密和认证,正是这一点才使IPSec可以确保包括远程登录、客户/服务器、电子邮件、文件传输及Web 访问在内多种应用程序的安全。

IPSec在传输层之下,对于应用程序来说是透明的。当在路由器或防火墙上安装IPSec时,无需更改用户或服务器系统中的软件设置。即使在终端系统中执行IPSec,应用程序一类的上层软件也不会被影响。

IPSec对终端用户来说是透明的,因此不必对用户进行安全机制的培训。

如果需要的话,IPSec可以为个体用户提供安全保障,这样做就可以保护企业内部的敏感信息。

IPSec正向In ternet靠拢。已经有一些机构部分或全部执行了IPSec。IAB的前任总裁Christian Huitema认为,关于如何保证In ternet安全的讨论是他所见过的最激烈的讨论之一。讨论的话题之一就是安全是否在恰当的协议层上被使用。

想要提供IP级的安全,IPSec必须成为配置在所有相关平台(包括Win dows NT, Unix和Macintosh系统)的网络代码中的一部分。

实际上,现在发行的许多In ternet应用软件中已包含了安全特征。例如,Netscape Navigator和Microsoft In ternet Explorer支持保护互联网通信的安全套层协议(SSL),还有一部分产品支持保护In ternet上信用卡交易的安全电子交易协议(SET)。然而,VPN需要的是网络级的功能,这也正是IPSec所提供的。

2 IPSec VPN工作原理

当IPSec用于路由器时,就可以建立虚拟专用网。在路由器的连内部网的一

端,是一个受保护的网络,另一端则是不安全的公共网络。两个这样的路由器建立起一个安全通道,通信就可以通过这个通道从一个本地的保护子网发送到一个远程的保护子网,这就形成了一个VPN。

4.2.1隧道建立方式

IPsec VPN隧道的建立过程可以分为二个阶段:

第一阶段有二种模式:主模式或主动模式和第二阶段:快速模式。

第一阶段有三个任务必须完成:

①协商一系列算法和参数(这些算法和参数用于保护隧道建立过程中的数据)。

②必须计算出二边使用的加密KEY值,例如,二边使用3DES算法密,3DES 算法则需要一个密码,这个密码两端端必须一样,但又不能在链路上传递。

③对等体的验证,如何才能知道对端就是我要与之通信的对端.这里验证有三种方法:预共享,数字签名,加密临时值。

这一系列过程都是IKE这个协议来实现。第一阶段三个任务,分别用6个消息来完成,每二个为一组。

第一个消息由隧道的发起者发起,携带了如这样一些参数,如加密机制-DES, 散列机制-MD5-HMAC,Diffie-Hellman 组-2,认证机制-预共享。第二个消息由响应者回应,内容基本一样,主要与发起者比较,是否与发起者匹配,不匹配就进行下一组的比较.如果最终都找不到匹配,隧道就停止建立。第三个消息由发起者发出,但是在发出这个消息之前,有个过程必须先完成,就是Diffie-Hellman算法过程。

该过程的目的是什么呢?刚刚第一二条消息中所协商的算法它们必须需要一个KEY,这个KEY在二个对等体上必须一样,但同时这个KEY不能在链路中传递,因为传递KEY是一个不安全的手段•所以,该过程的目的是分别在二个对等间独立地生成一个DH公共值,该公共值有什么用呢?因为二个对等体上都生成该DH 公共值后,它们会在接下来的第三第四消息中传送给对方,打个比方,就是A收到

了 B 的DH 公共值,B 收到了 A 的DH 公共值.当A,B 都收到了对方的该公共值后, 问题就好解决了 •因为有一个公式在数学中被论证成立,那么现在借助该公式,就 可以在二个对等上生成一个只有他们二个对等体知道的相同的

KEY ,该公式为

发起者密秘=(Xb)amod p=(Xa)bmod p=响应者密秘

注意,这个密秘不是最终算法中使用的 KEY,但二个对等体通过该 KEY 材料 来生成另个三个密钥,分别是:

SKEYID_d--此密钥被用于计算后续IPsec 密钥资源。

SKEYID_a--此密钥被用于提供后续IKE 消息的数据完整性以及认证。

SKEYID_e--此密钥被用于对后续IKE 消息进行加密。

所以由发起者发起的第三条消息主要是向对等体发送自己的 DH 公共值。

第四条消息由响应者向发起者发送,主要是向发送者发送自己的 DH 公共值.由于 第一二条消息的算法,第三四条消息生成的KEY,所以在后续的第五六条消息就能 被加密传送•第五条消息由发起者向响应者发送,主要是为了验证对端自己就是 自己想要与之通信的对端.这可以通过预共享,数字签名,加密临时值来实现.。第六 条消息由响应者向发起者发送,主要目的和第五条一样。

第二阶段只有一任务必须完成:在二个对等体间协商产生IPsec 联盟的属性, 安全联盟可以加密二个对等体间的数据,这才是真正的需要加密的用户数据,至此, 隧道才真正建立起来。

在第一阶段的六条消息过后,就进入了第二阶段:快速模式,快速模式使用二 条消息来实现:发起者会在第一条消息中发送IPsec SA 的转换属性,如:封装--ESP, 完整性检验--SHA-HMACQH 组--2,模式--隧道,响应者向发起者发送第二条消息, 同意

第一条消息中的属性,同时也能起到确认收到对端消息的作用。

这一步一旦完成,隧道就建立起来了,用户的数据就能被放入隧道中传送。 IPSec 隧道建立过程类似于TCP 三次握手,如下图所示: 图1三次”握手隧道的建立过程 确认 SYN,SEQ=X+1,ACK=Y+1

相关主题