实现VPN的IPsec协议细节

日期: 2008-10-13 作者:Michael J. Martin翻译:曾少宁 来源:TechTarget中国 英文

Cisco的IPsec(Internet Protocol Security)套件的IOS实现是一个基于开放标准的框架,它提供给管理员各种安全IP网络通信的工具。 IPsec框架是一套IETF标准,它们用于非安全网络中数据安全传输,比如Internet。IPsec提供了网络层的安全通信协议,以及交换身份验证和安全性协议管理信息的机制。IPsec套件是用于解决IPv4的一些基本的安全缺陷。

IPv4是用于一个数据包交换网络环境中运行有或没有操作系统的计算机之间共享信息。可以这样说,在70年代TCP/IP开发出来时,安全性的重要性还比不上数据包准确传输。然而,随着全球网络的大量系统数以百万计计算机之……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

Cisco的IPsec(Internet Protocol Security)套件的IOS实现是一个基于开放标准的框架,它提供给管理员各种安全IP网络通信的工具。

IPsec框架是一套IETF标准,它们用于非安全网络中数据安全传输,比如Internet。IPsec提供了网络层的安全通信协议,以及交换身份验证和安全性协议管理信息的机制。IPsec套件是用于解决IPv4的一些基本的安全缺陷。IPv4是用于一个数据包交换网络环境中运行有或没有操作系统的计算机之间共享信息。可以这样说,在70年代TCP/IP开发出来时,安全性的重要性还比不上数据包准确传输。然而,随着全球网络的大量系统数以百万计计算机之间的TCP/IP数据交换支持的增长,这些对安全性的攻击成为了关注点。

IPsec对抗安全性攻击

目前有三种主要的IP安全性攻击。其中有两个是针对于有全局唯一IP地址的互相独立的主机间的IP数据传输。第一个是IP欺骗。为了保证收到的信息是可信的,信息的来源也必须是可信的。IP数据包发送是逐跳式(Hop-by-Hop)处理的。如果一个攻击者知道网络拓扑结构,他就能够让一个系统失效和伪装或“欺骗”它的身份。因为大多数IP安全规范都是围绕主机的IP地址的,IP欺骗对于需要安全地交换数据的网络管理员是很大的问题。

会话劫持(Session hijacking)是比IP欺骗更高级别的攻击。这时攻击者会失效所欺骗的主机并伪装活跃的网络会话。这是一个比伪装主机IP地址更狡猾的攻击,因为它的成功运行也依赖于软件攻击。

第三种攻击流量嗅探(Traffic Sniffing)是包交换网络所特有的,在包交换网络中所有的数据包对于所有连接到传输介质的网络节点都是可见的。不管是什么样的传输介质,路由器、交换机和防火墙对通过这些网关的数据包都有可见权。而这使得这些设备可以很好地应付被支过滤IP流量,同时这使它们成为收集IP数据包并提取数据内容的最佳位置。

IPsec协议细节

为了解决这些攻击,IETF开发了一些不同的协议标准定义。这些标准提供了四个基本的服务:

1. 数据传输加密:原始主机能够在数据包传输前对其进行加密;

2. 数据完整性验证:接收主机能够对每一个用来保证原始数据传输被接收而发送的数据包进行验证;

3. 数据来源验证:原始主机能够标记数据包,使得接收者能够对它们进行验证;

4. 数据状态完整性:原始和接收主机都能够标记数据包,所以任何数据流的重传输都可以被检测和拒绝(也就是Anti-replay);

IPsec使用许多不同的安全性协议来支持它们的服务。从一般层次上,这些协议可以分成两个不同分组:数据包协议和服务协议。数据包协议用以提供数据安全性服务。其中有两种IPsec数据包协议:认证报头(Authentication Header,AH)和封装安全载荷(Encapsulating Security Payload,ESP)。而服务协议有很多种,但其中主要的一种是Internet密钥交换协议(Internet Key Exchange Protocol,IKE)。下面是IOS IPsec实现的协议概况:

认证报头(Authentication Header):AH是定义在IETF RFC 2402的,它支持IPsec数据验证、认证和完整性服务。它不支持数据加密。典型情况下AH是单独实现的,但它也可以与ESP一起实现。在仅仅需要保证数据交换安全的时候,我们才使用AH。既然AH不支持数据加密,你也许会问为什么我们还要用AH?你可以这样来看这个问题:如果应用已经支持数据加密,那就不需要额外的数据加密。相对于ESP而言,AH在处理开销上是更“轻”的,所以它更容易应用在低端的路由器上。

此外,相对于ESP,AH提供了更好的IP层安全性。AH通过为所有在传输中不被修改的IP数据包信息生成Hash签名数据来保证IP数据包的安全。AH安全性数据是存储在32位长度的AH报头中的,而这是安装在IP数据报头和4层协议报头之间的。因为AH是负责使IP数据包“安全”的,所以AH不能部署在使用Network Address Translation (NAT)的网络环境中。AH是在传输模式或通道模式中的起作用的。大多数情况下我们会使用通道模式,而将原始IP数据包封装在一个新的AH安全IP数据包中。这个新的数据包包含一个新的IP报头(其中有IPsec远程节点网关的目标地址)和AH报头,接着是原始IP数据包和四层报文。IANA(Internet Assigned Numbers Authority)将ESP的协议ID赋为51。

封装安全载荷(Encapsulating Security Payload):ESP是定义在IETF REF 2406中的,它支持IPsec数据加密、验证、认证和和完整性服务。ESP可以单独实现或者与AH一起实现。AH报头是预先就包含在IP数据包的数据负载部分的,而ESP将IP数据包中的整个数据部分和一个报头及报尾封装在一起。ESP报头包含安全性和序列化信息。ESP报尾包含补充参数和(必要的)验证数据。ESP对原始ULP数据及其密文的封装要求比AH更多的路由器处理资源。此外,ESP也要求将1500-byte Layer 4报文进行分片,以支持额外的安全负载数据。类似于AH,ESP也支持传输和通道操作地方,但几乎所有供应商都专门实现了通道模式。ESP RFC没有规定哪个协议必须用于加密数据。Cisco IOS支持56-DES、3DES和AES的加密协议。还有其它一些供应商也实现了Blowfish和IDEA。IANA将ESP的协议ID赋为50。

Internet安全联系和密钥管理协议(Internet Security Association and Key Management Protocol,ISAKMP)和Internet密钥交换(Internet Key Exchange,IKE): 这些协议提供了实现IPsec VPN服务协商的框架和过程。ISAKMP是定义在IETF REF 2408中,而IKE定义在IETF RFC 2409中。ISAKMP定义了创建和删除认证密钥和安全联系(SA)的计划、语法和程序。IPsec节点使用SA去跟踪不同IPsec节点间协商的安全服务策略的不同方面。这包括:

  • ESP加密算法
  • 认证协议
  • 密钥信息
  • 密钥寿命
  • SA寿命
  • AH认证算法

当节点连接建立后,SA就负责节点间的协商。在连接建立(及随后的重建立)过程中,每一个节点将它自己的安全参数索引(SPI)数年赋给它其它节点协商的SA。SPI是在节点之间交换的,并用于识别数据包。当一个节点接收到一个IPsec数据包,它会检查其中的SPI,通过查找SPI数据库,找到相应的SA,然后根据SA中的规则处理数据包。关于ISAKMP需要记住的一个关键点是它是独立于实现IPsec的密钥管理协议、密文和认证。

IKE是Oakley密钥决定协议和SKEME密钥交换协议的混合体。IKE协议负责管理IPsec节点的ISAKMP中的IPsec安全联系。IKE协议可用于ISAKMP,但它们并不是一样的。IKE是建立IPsec节点间的IPsec“连接”的机制。这要求对下面几种协商:

  • 认证算法:IKE使用Diffie-Hellman在非安全网络传输上建立共享的机密会话密钥。
  • 机密性算法:IKE节点将使用的安全性协议协商,它们是AH、ESP或AH和ESP组合。
  • 哈希算法:IKE使用哈希算法来验证报文数据。
  • 认证密钥:IKE支持使用预共享密钥、RSA密钥(或者暂时)、数字认证和可扩展认证(Extended Authentication,Xauth)来进行认证管理。

IKE可以在三种模式下操作:主模式、积极模式和快速模式。其中主模式和积极模式都实现相同的目标,即建立初始化阶段和第1阶段的IKE SA。第一阶段的SA引导了IKE过程。一旦第一阶段的协商完成,快速模式就可以用于第二阶段的IKE操作,它允许全SA协商和在SA过期时刷新SA信息。

主模式、积极模式和快速模式之间的不同与安全级别和消息交换数量有关。主模式有六种信息交换模式(三种是在创建者中,三种是在响应者中)。主模式始于连接创建者发起一个保证Diffie-Hellman密钥交换安全的协商SA。一旦协商的SA建立,用于快速模式认证、IKE认证和SA加密的Diffie-Hellman密钥就会生成并交换,实现身份认证管理。

积极模式从连接创建者生成一个Diffie-Hellman密钥开始,目标是得到一个第一阶段的SA和节点的身份。然后响应者回复一个SA和身份认证数据,以及完成数据验证过程的创建者。整个的积极模式交换是在没有SA协商完成的,所有交换的数据都是不加密的。所以虽然与第1阶段有同样的交换信息,但一个更安全而另一个更快速。而且虽然快速模式与积极模式使用了相同数量的报文交换,但是快速模式更依赖在第1阶段协商中建立的身份认证和安全完整性。但至少现在我们应该很清楚IPsec的所有东西都是协商的。IPsec节点间支持的安全服务是在两个节点建立通信时协商的。根据节点(如网关、主机)的不同类型,它会支持多个或一个IKE策略。当一个会话被初始化,连接的节点会发送它所有支持的IKE策略。远程节点会比较目标策略和它的最高优先级策略及按优先级从高到低顺序的后续策略,然后返回一个匹配的响应。只有两个节点都支持IPsec服务才能够在此运用。

例如,节点A能够支持数据加密和完整性验证服务,但节点B仅仅支持数据加密服务。因些节点A和B都需要有一个通用的IKE策略。这样,A将需要有两个不同的IKE策略:一个支持数据和完整性服务的策略,还有一个仅支持数据服务的策略。为了使节点A和B能够通信,就只能使用数据加密服务。如果节点A仅仅有一个支持数据或完整性的IKE策略,那么IKE将会终止它们之间的协商,这样节点将不会建立一个IPsec连接。

作者

Michael J. Martin
Michael J. Martin

Michael J. Martin作为网络和Unix信息管理员已经在信息技术领域工作了17多年。他早期在研究和ISP方面进行的设计、实现和支持MIS基础架构的经历,为他当前在大型因特网和安全架构的工作上提供了独特的视角。作为一个网络架构师,他已经为多家公司设计过高速、高可用的LAN/WAN网络,如ANS/AOL、Philips和Edgix Corporation等,它也给许多业务和区域ISP提供网络顾问服务。Michael也撰写了很多关于网络和安全问题的文章。

翻译

曾少宁
曾少宁

TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。

相关推荐

  • VPN技术的发展将如何改变远程访问?

    VPN(虚拟专用网络)已经存在一段时间了。在过去二十年中,随着VPN的发展,这项技术已经从方便远程访问的点对点连接技术,转变成为基于复杂安全性的多点连接。

  • 无视IPv6连接?后果自负!

    如果你无视IPv6在你网络的影响,你可能给你自己带来更大的伤害。此外,你还需要考虑的是,IPv6连接不只是“网络的事”。

  • 不暴露才安全:飞鱼星视频监控安全解决之道

    我们不能抑制企业远程访问内网的需求,也不能指望一串复杂密码保卫一切,那么,最行之有效的方法就是不给企业信息暴露在互联网的机会,要做到这点,企业只需采用具有VPN功能的网络设备。

  • IP网络安全的基石——IPSec协议

    IPSec(IP Security)产生于IPv6的制定之中,用于提供IP层的安全性。由于所有支持TCP/IP协议的主机进行通信时,都要经过IP层的处理,所以提供了IP层的安全性就相当于为整个网络提供了安全通信的基础。