IPsec ISAKMP

2010-08-10 11:47:01

Interne 安全连接和密钥管理协议(ISAKMP)是 IPsec 体系结构中的一种主要协议。该协议结合认证、密钥管理和安全连接等概念来建立政府、商家和因特网上的私有通信所需要的安全。

因特网安全联盟和密钥管理协议(ISAKMP)定义了程序和信息包格式来建立,协商,修改和删除安全连接(SA)。SA 包括了各种网络安全服务执行所需的所有信息,这些安全服务包括 IP 层服务(如头认证和负载封装)、传输或应用层服务,以及协商流量的自我保护服务等。ISAKMP 定义包括交换密钥生成和认证数据的有效载荷。这些格式为传输密钥和认证数据提供了统一框架,而它们与密钥产生技术,加密算法和认证机制相独立。

ISAKMP 区别于密钥交换协议是为了把安全连接管理的细节从密钥交换的细节中彻底的分离出来。不同的密钥交换协议中的安全属性也是不同的。然而,需要一个通用的框架用于支持 SA 属性格式,谈判,修改与删除 SA,ISAKMP 即可作为这种框架。

把功能分离为三部分增加了一个完全的 ISAKMP 实施安全分析的复杂性。然而在有不同安全要求且需协同工作的系统之间这种分离是必需的,而且还应该对 ISAKMP 服务器更深层次发展的分析简单化。

ISAKMP 支持在所有网络层的安全协议(如 IPSEC、TLS、TLSP、OSPF 等等)的 SA 协商。ISAKMP 通过集中管理 SA 减少了在每个安全协议中重复功能的数量。ISAKMP 还能通过一次对整个栈协议的协商来减少建立连接的时间。

ISAKMP 中,解释域(DOI)用来组合相关协议,通过使用 ISAKMP 协商安全连接。共享 DOI 的安全协议从公共的命名空间选择安全协议和加密转换方式,并共享密钥交换协议标识。同时它们还共享一个特定 DOI 的有效载荷数据目录解释,包括安全连接和有效载荷认证。

总之, ISAKMP 关于 DOI 定义如下方面:

  • 特定 DOI 协议标识的命名模式;
  • 位置字段解释;
  • 可应用安全策略集;
  • 特定 DOI SA 属性语法;
  • 特定 DOI 有效负载目录语法;
  • 必要情况下,附加密钥交换类型;
  • 必要情况下,附加通知信息类型。

协议结构

8 12 16 24 32 bit
Initiator Cookie
Responder Cookie
Next Payload MjVer MnVer Exchange Type Flags
Message ID
Length
  • Initiator Cookie ― Initiator Cookie:启动 SA 建立、SA 通知或 SA 删除的实体 Cookie。
  • Responder Cookie ― Responder Cookie:响应 SA 建立、SA 通知或 SA 删除的实体 Cookie。
  • Next Payload ― 信息中的 Next Payload 字段类型。
  • Major Version ― 使用的 ISAKMP 协议的主要版本。
  • Minor Version ― 使用的 ISAKMP 协议的次要版本。
  • Exchange Type ― 正在使用的交换类型。
  • Flags ― 为 ISAKMP 交换设置的各种选项。
  • Message ID ― 唯一的信息标识符,用来识别第2阶段的协议状态。
  • Length ― 全部信息(头+有效载荷)长(八位)。

IPsec ISAKMP(转)的更多相关文章

  1. windows常用端口对应表

    端口概念 在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem.集线器.交换机.路由器用于连接其他网络设备的接口,如RJ-45端口.SC端口等等.二是逻辑意义 ...

  2. VPN的分类方式

    VPN的分类方式    VPN的分类方式比较混乱.不同的生产厂家在销售它们的VPN产品时使用了不同的分类方式,它们主要是产品的角度来划分的.不同的ISP在开展VPN业务时也推出了不同的分类方式,他们主 ...

  3. port与大全portClose方法

    在网络技术,port(Port)通常,有两种含义:首先,物理意义port,例,ADSL Modem.枢纽.开关.路由器连接其他网络设备的接口,如RJ-45port.SCport等等.第二个是逻辑意义p ...

  4. port大全及port关闭方法

    在网络技术中,port(Port)大致有两种意思:一是物理意义上的port,比方,ADSL Modem.集线器.交换机.路由器用于连接其它网络设备的接口,如RJ-45port.SCport等等.二是逻 ...

  5. Windows操作系统上各种服务使用的端口号, 以及它们使用的协议的列表

    Windows操作系统上各种服务使用的端口号, 以及它们使用的协议的列表 列表如下 Port Protocol Network Service System Service System Servic ...

  6. 三报文握手而不是三次握手 wireshark 封包详细信息 (Packet Details Pane) wireshark与对应的OSI七层模型 TCP包的具体内容 分析TCP三次握手过程

    总结: 1.tcp报文非数据部分4*6字节 2.RFC 973 <计算机网络> 谢希仁 three way (three message) handshake 只是一次握手 同步位SYN. ...

  7. Windows 端口和所提供的服务

    一 .端口大全 端口:0 服务:Reserved 说明:通常用于分析操作系统.这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果.一种典型的扫描,使 ...

  8. 网络嗅探器Wireshark

    http://www.wireshark.org/   About Wireshark Wireshark is the world's foremost network protocol analy ...

  9. [Hacker] 端口大全

    一 .端口大全 端口:0 服务:Reserved 说明:通常用于分析操作系统.这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果.一种典型的扫描,使 ...

随机推荐

  1. VC++深入详解-第四章学习心得

    这一章节主要讲解了 简单的绘图 主要是通过一些小的例子让我们学会了VC++的一些基本操作 void CDrawView::OnLButtonDown(UINT nFlags, CPoint point ...

  2. Java-JUC(一):volatile引入

    问题背景: volatile是为了解决内存可见性而生的,什么是内存不可见性呢? 以下边的代码为例: package com.dx.juc; public class VoltileTest { pub ...

  3. JavaScript中一个对象如何继承另外一个对象

    如题,JavaScript中一个对象a如何继承另外一个对象b.即将b中的属性和方法复制到a中去. 面试中遇到了这个问题,当时脑子里的想法是: 1.除了循环遍历复制,还能怎样 2.javascript中 ...

  4. windows下用qemu搭建android

    1.下载Qemu for windows 版本为qemu-0.9.0-windows 2.下载qemuwith-kqemu-support 安装kqemu的目的就是为了加快qemu的子系统运行速度.在 ...

  5. Solidworks如何把装配体做成单个零件

    先把装配体另存为IGS格式   再把IGS打开之后另存为SLDPRT格式(打开IGS需要比较长的时间,中途会弹出提示,而且IGS文件体积也比较大)   另存为SLDPRT之后体积就很小了       ...

  6. iOS 获取设备型号 ip6更新

    //获得设备型号 + (NSString *)getCurrentDeviceModel:(UIViewController *)controller { ]; size_t len; char *m ...

  7. 获取和设置URL里星号(#)的参数

    示例:http://gzmsg.com/go/news.aspx#page=12 var DF = {}; (function () { var a = function () { var d, e ...

  8. Cocon90.Db调用方法

    Cocon90.DB 使用说明 开源库:https://github.com/Cocon90/Cocon90.Db Sqlite位置:https://www.nuget.org/packages/Co ...

  9. Windows服务安装与控制

    Windows服务安装与控制 1.建立服务 (1)定义一个ServiceInstaller using System; using System.Collections.Generic; using ...

  10. Qt通过ODBC连接SQL Server2008实践总结

    Qt连接数据库的方式很多,这里说明一种最常用也是最实用的方式,因为这种方式在Windows上开发程序使用起来非常方便,并且也是远程连接数据库所需要用到的方式. 前提工作: 在Win7下安装了SQL S ...