VPN工作原理

IPSEC提供三种不同的形式来保护通过公有或私有IP网络来传送的私有数据:

认证–可以确定所接受的数据与所发送的数据是一致的,同时可以确定申请发送者在实际上是真实发送者,而不是伪装的。

数据完整–保证数据从原发地到目的地的传送过程中没有任何不可检测的数据丢失与改变。

机密性–使相应的接收者能获取发送的真正内容,而无意获取数据的接收者无法获知数据的真正内容。

在IPSEC由三个基本要素来提供以上三种保护形式:认证协议头(AH)、安全加载封装(ESP)和互联网密匙管理协议(IKMP)。

认证协议头和安全加载封装可以通过分开或组合使用来达到所希望的保护等级。

对于VPN来说,认证和加密都是必需的,因为只有双重安全措施才能确保未经授权的用户不能进入VPN,同时,Internet上的窃听者无法读取VPN上传输的信息。

大部分的应用实例中都采用了ESP而不是AH。

钥匙交换功能允许手工或自动交换密钥。

当前的IPSec支持数据加密标准(DES),但也可以使用其它多种加密算法。

因为人们对DES的安全性有所怀疑,所以用户会选择使用Triple-DES(即三次DES加密)。

至于认证技术,将会推出一个叫作HMAC(MAC 即信息认证代码Message Authentication Code)的新概念。

认证协议头(AH)是在所有数据包头加入一个密码。

正如整个名称所示,AH通过一个只有密匙持有人才知道的"数字签名"来对用户进行认证。

这个签名是数据包通过特别的算法得出的独特结果;AH还能维持数据的完整性,因为在传输过程中无论多小的变化被加载,数据包头的数字签名都能把它检测出来。

不过由于AH不能加密数据包所加载的内容,因而它不保证任何的机密性。

两个最普遍的AH标准是MD5和SHA-1,MD5使用最高到128位的密匙,而SHA-1通过最高到160位密匙提供更强的保护。

安全加载封装(ESP)通过对数据包的全部数据和加载内容进行全加密来严格保证传输信息的机密性,这样可以避免其他用户通过监听来打开信息交换的内容,因为只有受信任的用户拥有密匙打开内容。

ESP也能提供认证和维持数据的完整性。

最主要的ESP标准是数据加密标准(DES),DES最高支持56位的密匙,而Triple-DES使用三套密匙加密,那就相当于使用最高到168位的密匙。

由于ESP实际上加密所有的数据,因而它比AH需要更多的处理时间,从而导致性能下降。

密匙管理包括密匙确定和密匙分发两个方面,最多需要四个密匙:AH和ESP各两个发送和接收密匙。

密匙本身是一个二进制字符串,通常用十六进制表示,例如,一个56位的密匙可以表示为5F39DA752E0C25B4。

注意全部长度总共是64位,包括了8位的奇偶校验。

56位的密匙(DES)足够满足大多数商业应用了。

密匙管理包括手工和自动两种方式。

人工手动管理方式是指管理员使用自己的密钥及其它系统的密钥手工设置每个系统。

这种方法在小型网络环境中使用比较实际。

手工管理系统在有限的安全需要可以工作得很好。

使用手工管理系统,密匙由管理站点确定然后分发到所有的远程用户。

真实的密匙可以用随机数字生成器或简单的任意拼凑计算出来,每一个密匙可以根据集团的安全政策进行修改。

自动管理系统能满足其他所有的应用要求。

使用自动管理系统,可以动态地确定和分发密匙,显然和名称一样,是自动的。

自动管理系统具有一个中央控制点,集中的密匙管理者可以令自己更加安全,最大限度的发挥IPSEC的效用。

另一方面,自动管理系统可以随时建立新的SA密钥,并可以对较大的分布式系统上使用密钥进行定期的更新。

自动管理模式是很有弹性的,但需要花费更多的时间及精力去设置,同时,还需要使用更多的软件。

IPSec的自动管理密钥协议的默认名字是ISAKMP/Oakley。

互联网安全组织及密钥管理协议(Internet Security Association and Key Management Protocol ISAKMP)对互联网密钥管理的架构以及特定的协议提供支持。

Oakley 密钥使用的协议基于Diffle-Hellman 算法,但它也提供额外的安全功能。

特别是Oakley包括认证用户的机制。