zoukankan      html  css  js  c++  java
  • IKE 协议(转)

    from: http://lulu1101.blog.51cto.com/4455468/817872
    IKE 协议
    2012-03-26 21:49:50
    标签:休闲 ike 职场
    IKE 协议简介 
     
    1.       IKE 协议
    IPSec  的安全联盟可以通过手工配置的方式建立,但是当网络中节点增多时,手工配置将非常困难,而且难以保证安全性。这时就要使用 IKE(Internet Key Exchange,因特网密钥交换)自动地进行安全联盟建立与密钥交换的过程。
    IKE 协议是建立在由 Internet 安全联盟和密钥管理协议 ISAKMP  (Internet   Security Association and Key Management Protocol )定义的框架上。它能够为IPSec 提供了自动协商交换密钥、建立安全联盟的服务,以简化IPSec 的使用和管理。
    IKE 具有一套自保护机制,可以在不安全的网络上安全地分发密钥、验证身份、建立 IPSec 安全联盟。 
     
    2. IKE 的安全机制

    DH (Diffie-Hellman)交换及密钥分发。Diffie-Hellman 算法是一种公共密钥算法。通信双方在不传送密钥的情况下通过交换一些数据,计算出共享的密钥。加密的前提是交换加密数据的双方必须要有共享的密钥。IKE 的精髓在于它永远不在不安全的网络上直接传送密钥,而是通过一系列数据的交换,最终计算出双方共享的密钥。即使第三者(如黑客)截获了双方用于计算密钥的所有交换数据,也不足以计算出真正的密钥。

    完善的前向安全性(Perfect Forward Secrecy,PFS)。PFS 是一种安全特性,指一个密钥被破解,并不影响其他密钥的安全性,因为这些密钥间没有派生关系。PFS 是由 DH 算法保障的。

    身份验证。身份验证确认通信双方的身份。对于 pre-shared key 验证方法,验证字用来作为一个输入产生密钥,验证字不同是不可能在双方产生相同的密钥的。验证字是验证双方身份的关键。

    身份保护。身份数据在密钥产生之后加密传送,实现了对身份数据的保护。

    3. IKE 的交换阶段

    IKE 使用了两个阶段为 IPSec 进行密钥协商并建立安全联盟:第一阶段,通信各方彼此间建立了一个已通过身份验证和安全保护的通道,此阶段的交换建立了一个ISAKMP 安全联盟,即 ISAKMP SA  (也可称IKE SA);第二阶段,用在第一阶段建立的安全通道为 IPSec 协商安全服务,即为 IPSec 协商具体的安全联盟,建立IPSec SA,IPSec SA用于最终的 IP 数据安全传送。

    从下图我们可以看出 IKE 和 IPSec 的关系。

    具体安全联盟的建立过程如下图所示:

    (1)  当一个报文从某接口外出时,如果此接口应用了IPSec,会进行安全策略的匹
    配。
    (2)  如果找到匹配的安全策略,会查找相应的安全联盟。如果安全联盟还没有建立,则触发 IKE 进行协商。IKE 首先建立阶段 1 的安全联盟,即IKE SA。
    (3) 在阶段 1 安全联盟的保护下协商阶段2 的安全联盟,即IPSec SA。
    (4)  使用 IPSec SA 保护通讯数据。

     

    4. IKE 的协商模式
    在 RFC2409  (The Internet Key Exchange)中规定,IKE 第一阶段的协商可以采用两种模式:主模式(Main Mode)和野蛮模式(Aggressive Mode )。主模式被设计成将密钥交换信息与身份、认证信息相分离。这种分离保护了身份信息;交换的身份信息受已生成的 Diffie-Hellman 共享密钥的保护。但这增加了3 条消息的开销。
    野蛮模式则允许同时传送与 SA、密钥交换和认证相关的载荷。将这些载荷组合到一条消息中减少了消息的往返次数,但是就无法提供身份保护了。
    虽然野蛮模式存在一些功能限制,但可以满足某些特定的网络环境需求。例如:远程访问时,如果响应者(服务器端)无法预先知道发起者(终端用户)的地址、或者发起者的地址总在变化,而双方都希望采用预共享密钥验证方法来创建 IKE SA,那么,不进行身份保护的野蛮模式就是唯一可行的交换方法;另外,如果发起者已知响应者的策略,或者对响应者的策略有全面的了解,采用野蛮模式能够更快地创建 IKE SA。
     

    相关配置: 

    设置安全策略中引用的IKE Peer  (仅用于IKE 协商方式)
    对于 IKE 协商方式,无需象手工方式那样配置对等体、SPI 和密钥等参数,IKE 将自动协商这些它们,因而仅需要将安全策略和IKE Peer 关联即可。
    在安全策略中引用 IKE Peer    ike-peer peer-name
    删除在安全策略中引用的IKE Peer  undo ike-peer peer-name
     
     
    配置IKE协商时的本地 ID 
     
    在系统视图下进行下列配置
    配置IKE协商时的本地ID   ike local-name router-name
    删除本地ID   undo ike local-name
     
     
    指定IKE对端属性
     
    1. 创建 IKE Peer并进入 IKE Peer视图
     
    通过 IKE Peer,可以定义了一系列属性数据来描述 IKE协商所需的参数,包括创建IKE提议、协商模式、ID类型、NAT穿越、共享密钥、对端地址和对端名称等。
    请在系统视图下进行下列配置。
    创建IKE Peer并进入IKE Peer视图  ike peer peer-name
    删除指定的IKE Peer  undo ike peer peer-name
     
     
    2.       配置 IKE协商模式
     
    请在 IKE Peer视图下进行下列配置。
    配置IKE协商方式  exchange-mode  { main | aggressive }
    恢复缺省IKE协商方式  undo exchange-mode
    缺省情况下,采用主模式进行 IKE协商。
     
     
    3.       配置 IKE安全提议
     
    请在 IKE Peer视图下进行下列配置。 
     
    配置IKE安全提议  ike-proposal proposal-number
     
    取消IKE安全提议  undo ike-proposal
    缺省情况下,采用主模式时使用已配置的所有 IKE 安全提议,采用野蛮模式时使用
    缺省的 IKE安全提议。
     
     
    4. 配置对端 ID类型
     
    当进行 IKE交换时,可以使用对端的 IP地址作为 ID,也可以使用对端名称作为 ID。 
    请在 IKE Peer视图下进行下列配置。 
     
    配置IKE Peer的ID类型  local-id-type { ip | name }
     
    恢复缺省的ID类型  undo local-id-type
    缺省情况下,IKE Peer采用的本端 ID类型为 IP地址形式。
     
     
    5. 配置 IPSec是否需要 NAT穿越
     
    请在 IKE Peer视图下进行下列配置。
     
    使能IPSec的 NAT穿越  nat traversal
     
    禁止IPSec的 NAT穿越  undo nat traversal
    缺省情况下,禁止 NAT穿越功能。
     
     
    6. 配置身份验证字
     
    如果选择了 Pre-shared key验证方法。需要为每个对端配置预共享密钥。建
    立安全连接的两个对端的预共享密钥必须一致。
    请在 IKE Peer视图下进行下列配置。 
     
    配置与对端共享的 pre-shared key  pre-shared-key key
     
    删除身份验证字  undo pre-shared-key
     
     
    7. 配置对端 IP地址
     
    请在 IKE Peer视图下进行下列配置。
    配置对端地址或地址段  remote-address low-ip-address [ high-ip-address ]
    删除配置的对端地址  undo remote-address
     
     
    8. 配置对端名称
     
    在野蛮模式下,可以使用 remote-name命令配置对端名称。
    请在 IKE Peer视图下进行下列配置。
     
    配置对端名称  remote-name name
     
    删除配置的对端名称  undo remote-name
     
     
    创建IKE安全提议
     
    IKE提议定义了一套属性数据来描述 IKE协商怎样进行安全通信。配置 IKE提议包括创建 IKE提议、选择加密算法、选择验证方法、选择验证算法、选择 Diffie-Hellman组标识和设置安全联盟生存周期。
    用户可以按照优先级创建多条 IKE 提议,但是协商双方必须至少有一条匹配的 IKE提议才能协商成功。
    采用主模式时:若在协商发起方的 ike peer中指定 IKE提议,IKE协商时将只发送指定的 IKE提议,响应方在自己的IKE提议配置中寻找与发送方指定的 IKE提议相匹配的 IKE提议,如果没有匹配的则协商失败;若发起方的 ike peer中不指定 IKE提议,IKE协商时将发送发起方所有的 IKE提议,响应方在自己的 IKE提议配置中依次寻找与发送方的IKE提议相匹配的 IKE提议。
    采用野蛮模式时:若在协商发起方的 ike peer中指定 IKE提议,同采用主模式的情况;若发起方的 ike peer中不指定 IKE提议, IKE协商时将只发送发送方默认的 IKE提议,响应方也会用默认的 IKE提议匹配。
     
     
    IKE显示与调试
     
    IKE 提供以下命令显示当前所有安全联盟的状态和每个 IKE 提议配置的参数。display 命令可在所有视图下进行下列操作,debugging 和 reset 命令只能在用户视图下操作。
    显示当前已建立的安全通道  display ike sa [ secp [ slot/card/port  ] ]
    查看IKE Peer的配置情况 display  ike  peer [  name  peer-name ] [  secp [ slot/card/port  ] ]
    删除当前已建立的安全通道 reset ike sa  connection-id  ] [  secp slot/card/port  ] ]
    显示每个IKE提议配置的参数  display ike proposal [ secp [ slot/card/port  ] ]  
     
    打开IKE的调试信息 debugging  ike {  all | error |  exchange | message |  misc | transport  } [  secp slot/card/port  ] ]
    关闭IKE的调试信息  undo  debugging  ike {  error |  exchange | message |  misc | transport } [  secp [ slot/card/port  ] ]
  • 相关阅读:
    生活小记--工作一年后的菜鸡
    git使用笔记-git项目的建立及配置、创建子分支及独立分支、分支重命名
    React-leaflet在ant-design pro中的基本使用
    ionic新入坑-环境搭建+新建项目+打开低版本项目处理
    canvas绘制圆心扇形可组成颜色随机的七色小花
    取所选当前时间前十二个月的数据
    win10被微软流氓更新后编译基于visual Studio的web项目报[ArgumentOutOfRangeException: 指定的参数已超出有效值的范围
    浅析__proto__、prototype
    JavaScript数据类型
    异步与多线程实现不阻塞区别
  • 原文地址:https://www.cnblogs.com/the-tops/p/6900173.html
Copyright © 2011-2022 走看看