IPsec



  • 基本知识

    IPsec(Internet Protocol Security)是保护IP协议安全通信的标准,它主要对IP协议(因此它工作在网络层)分组进行加密和认证。

    • IPSec是一个用于保证通过IP网络进行安全(保密性、完整性、真实性)的秘密通信的开放式标准框架
    • IPSec实现了网络层的加密和认证,在网络体系结构中提供了一种端到端的安全解决方案
    • IPSec加密的数据包可以通过任何IP网络,而不需要对中间的网络互联设备做任何的改变需要知道加密的唯一设备是端点,大大降低了实现和管理的成本

    IPsec作为一个协议族(即一系列相互关联的协议)由以下部分组成:

      1. 保护分组流的协议;如加密分组流的封装安全载荷(ESP)或者认证头(AH)(AH 和 ESP 主要用于数据的封装)
      1. 用来建立这些安全分组流的密钥交换协议。IKE协议是唯一已经制定的密钥交换协议。
        IPSec协议主要由Internet密钥交换协议(IKE)、认证头(AH)及封装安全载荷(ESP)等3个子协议组成,还涉及认证和加密算法以及安全关联SA等内容,关系图如下:

    0_1550811639128_pic1.jpg

    各部分介绍

    IKE协议

    IKE Internet 密钥交换是一种协商和交换安全参数和认证密钥的体系框架,用于建立IPSEC VPN特性的安全参数协商功能由IKE来完成

    • 协商安全参数: 身份验证方式 封装方式 加密方式 完整性检测方式…

    • 动态产生主密钥和会话密钥.

    • 进行双方的身份验证.(通过身份认证可以保证数据的真实性。常用的身份认证方式包括:Pre-shared key,预共享

      IKE是一种混合型协议,由RFC2409定义,包含了3个不同协议的有关部分:ISAKMP、Oakley和SKEME。IKE主要完成两个作用:安全关联的集中化管理,减少连接时间。密钥的生成和管理。

      ISAKMP/Oakley/SKEME是为IKE的协商提供服务的,它提供了实现IKE的框架、密钥交换模式和方法、密钥的更新方法。

      ISAKMP是“Internet安全关联和密钥管理协议”的简称,ISAKMP对验证和密钥交换提出了结构框架,但没有具体定义,在该筐架以内,它定义了每一次交换的包结构,每次需要几个包交换,主模式6个包交换和主动(积极)模式3个包交换,它由美国国家安全处开发,在配置IPSEC VPN的时候,只能设置它,后两个协议不能被设置。ISAKMP被设计用来独立的进行密钥交换,即被设计用于支持多种不同的密钥交换。

      Oakley描述了一系列被称为“模式”的密钥交换,并详述了每一种提供的服务。

      SKEME描述了一种提供匿名,否认,和快速密钥更新的通用密钥交换技术。

    AH协议

    验证报头 可以提供身份验证和完整性的功能, 但本身不能实现数据的加密, 而且不能穿越NAT. 不常用.

    AH的功能:为IP数据包提供强认证的一种安全机制,具有为IP数据包提供数据完整性(通过消息认证码产生的校验值保证)、数据源认证(通过在数据包中包含一个将要被认证的共享秘密或密钥来保证)、抗重放攻击(通过使用一个经认证的序列号来实现)等功能 。
    0_1550811659395_pic2.jpg

    ESP协议

    封装安全协议 可以实现身份验证 / 加密 / 完整性等一系列安全特性. 并可以穿越NAT.

    AH只能确保IP数据包的来源和完整性,不能为IP数据包提供机密性,即IP数据包在传输过程是可见的 。
    ESP的功能:主要支持IP数据包的机密性,将需要保护的数据进行加密后再封装到新的IP数据包中。此外,ESP还提供认证服务,ESP只认证ESP头之后的信息,比AH认证的范围小
    0_1550811683017_pic3.jpg



  • IPSec连接需要两个步骤:

    • 建立管理链接 (IKE SA)
    • 建立数据连接 (ipsec SA)

    第一阶段

    使用ISAKMP/IKE建立管理连接时分为主模式和积极模式(只有remote vpn和Easy vpn是积极模式的,其他都是用主模式来协商的)

    主模式交换

    主模式交换提供了身份保护机制,经过三个步骤,六个消息。两个消息协商策略;两个消息交换Diffie-Hellman的公共值和必要的辅助数据;两个消息验证Diffie-Hellman交换。

    • 消息1:发送方向对等体发送一条包含一组或多组策略提议,在策略提议中包括5元组(加密算法,散列算法,DH,认证方法,IKE SA寿命)
    • 消息2:接受方查看IKE策略消息,并尝试在本地寻找与之匹配的策略,找到后,则有一条消息去回应。
      发起者会将它的所有策略发送给接受者,接受者则在自己的策略中寻找与之匹配的策略(对比顺序从优先级号小的到大的)(默认策略实际就是个模版没作用,如果认证只配置预共享的话,其他参数就会copy默认策略里的)
    • 消息1,2交换后的结果:由于通信双方决定了一个特定的策略组后,它们以后的通信便必须根据它进行,所以这种形式的协商是两个IKE通信实体第一步所需要做的。
    • 消息3和消息4,这2条消息,用于交换DH的公开信息和随机数。虽然名为密钥交换,但事实上交换的只是一些DH算法生成共享密钥所需要的基本材料信息。
    • 两个对等体根据DH的公开信息都算出了双方相等的密值后,两端主机可以各自生成出完全一样的共享"主密钥",保护紧接其后的认证过程。
    • 消息5和消息6用于双方彼此验证,这个过程是受上面协商的主密钥加密保护的,DH交换需要得到进一步认证,如果认证不成功,通信将无法继续下去."主密钥"结合在第一步中确定的协商算法,对通信实体和通信信道进行认证。在这一步中,整个待认证的实体载荷,包括实体类型、端口号和协议,均由前一步生成的"主密钥"提供机密性和完整性保证。

    野蛮模式交换。

    在该模式下,总共三个信息被交换

    • 第一个信息由SA、nonce和身份组成。
    • 第二个信息是,在验证发起方并接受SA后,应答方发送nonce 和身份信息给发起方。
    • 第三个信息是,发起方验证应答方的身份以及进行被提议的信息的交换。

    在该模式下,两个在第一次交换发送的身份信息是没有加密的。Aggressive 模式的优点是信息交换快速,但加密被节省了。

    第二阶段

    协商建立IPsec SA,为数据交换提供IPSec服务。第二阶段协商消息受第一阶段SA保护,任何没有第一阶段SA保护的消息将被拒收。

    快速模式交换通过三条消息建立IPsec SA:

    • 头两条消息协商IPsec SA的各项参数值,并生成IPsec 使用的密钥。包括使用哪种IPSec协议(AH或ESP)、使用哪种hash算法(D5或SHA)、是否要求加密,若是,选择加密算法(DES或3DES)。在上述三方面达成一致后,将建立起两个SA,分别用于入站和出站通信。
    • 第二条消息还为响应方提供在场的证据;
    • 第三条消息为发起方提供在场的证据。

 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

与 Dian 的连接断开,我们正在尝试重连,请耐心等待