一. 基本名词解释:

1.IPSec 对等体
IPSec 用于在两个端点之间提供安全的 IP 通信,通信的两个端点被称为 IPSec 对等体。
2.安全联盟
SA(Security Association)安全联盟定义了 IPSec 通信对等体间将使用哪种摘要和加密算法、什么样的密钥进行数据的安全转换和传输。SA 是单向的,在两个对等体之间的双向通信,至少需要两个 SA。SA 由一个三元组来唯一标识,这个三元组包括安全参数索引 SPI(Security Parameter Index)、目的 IP 地址、安全协议名(AH 或 ESP)。
3.协商方式
建立 SA 的方式有以下两种:
手工方式(manual):建立安全联盟比较复杂,安全联盟所需的全部信息都必须手工配置。但优点是可以不依赖 IKE 而单独实现 IPSec 功能。
IKE 动态协商(isakmp)方式:建立安全联盟相对简单些,只需要通信对等体间配置好 IKE协商参数,由 IKE 自动协商来创建和维护 SA。
4.IPSec封装模式
隧道模式。在隧道模式下,AH 或 ESP 插在原始 IP 头之前,另外生成一个新 IP 头放到 AH或 ESP 之前。

传输模式。在传输模式下,AH 或 ESP 被插入到 IP 头之后但在传输层协议之前。

隧道模式生成新的包头安全性比传输模式高,但隧道模式比传输模式占用带宽更多。
IPSec 隧道模式和传输模式的应用场景:

5.IPSec 使用的认证算法和加密算法
(1)认证算法 IPSec可以使用三种认证算法
MD5(Message Digest 5):MD5 通过输入任意长度的消息,产生 128bit 的消息摘要。
SHA-1(Secure Hash Algorithm):SHA-1 通过输入长度小于 2 的 64 次方比特的消息,产生 160bit 的消息摘要。
SHA-2:SHA-2 算法相对于 SHA-1 加密数据位数有所上升,安全性能要远远高于
SHA-1
(2)加密算法
加密算法实现主要通过对称密钥系统,它使用相同的密钥对数据进行加密和解密。IPSec
使用以下三种加密算法:
DES:使用 56bit 的密钥对一个 64bit 的明文块进行加密。
3DES:使用三个 56bit 的 DES 密钥(共 168bit 密钥)对明文进行加密。
AES:使用 128bit、192bit 或 256bit 密钥长度的 AES 算法对明文进行加密。

6.通信保护协议:
AH 认证头协议:
鉴别头AH:(不提供保密性,只对整个IP数据包提供保护)
无连接数据完整性:通过哈希函数产生的校验来保证
数据源认证:通过计算验证码时加入一个共享密钥来实现
抗重放服务:AH报头中的随机序列号可以防止重放攻击

入侵者从网络上截取主机A发送给主机B的报文,并把由A加密的报文发送给B,
使主机B误以为入侵者就是主机A,
然后主机B向伪装成A的入侵者发送应当发送给A的报文。

ESP 封装安全载荷协议:
除提供 AH 认证头协议的所有功能之外,还有数据保密和有限的数据流保护,ESP 协议允许对 IP 报文净荷进行加密和认证、只加密或者只认证,ESP 没有对 IP头的内容进行保护。
保密服务通过使用密码算法加密 IP 数据包的相关部分来实现。
数据流保密由隧道模式下的保密服务提供。
ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性认证。

AH认证头协议,无法在穿越NAT的时候使用,因为AH协议会对IP包头进行校验。ESP协议可以


IPsec 提供了两种安全机制:认证和加密。
认证机制使 IP 通信的数据接收方能够确认数据发送方的真实身份以及数据在传输过程中是否遭篡改。
加密机制通过对数据进行加密运算来保证数据的机密性,以防数据在传输过程中被窃听。

二 IPSec协议

1.IPSec 协议不是一个单独的协议,它给出了应用于 IP 层网络数据安全的一整套体系结构。IPSec 通过认证头 AH 和封装安全载荷 ESP 这两个安全协议来实现 IP 数据报的安全传送。IKE 协议提供密钥协商、建立和维护安全联盟 SA 的服务,以简化IPSec 的部署和使用。

2.IKE 工作过程
(1)IPSec保护一个IP包之前,先要建立SA,而IKE就是用来建立和管理SA的。
IKE的用途:
为IPSec协商生成密钥,供AH/ESP加解密和验证使用
在IPSec通信双方之间,动态地建立安全关联(SA),对SA进行管理和维护
(2)IKE经过二个过程来为IPSec进行密钥协商并建立SA。

第一阶段交换:通信各方彼此间建立了一个已通过身份验证和安全保护的通道,此阶段的交换建立了一个ISAKMP安全联盟,即ISAKMP SA (也可称为IKE SA)。 第一阶段交换有两种协商模式:主模式协商,野蛮模式协商:第二阶段交换:用已经建立的安全联盟(IKE SA)为IPSec协商安全服务,即为IPSec协商具体的安全联盟,建立IPSec SA,产生真正可以用来加密数据流的密钥,IPSec SA用于最终的IP数据安全传送

第一阶段:

主模式和野蛮模式的区别:



---- 对于二端IP地址不固定的时候,需要使用野蛮模式。
---- 两边都是主机名的时候就必须用野蛮模式来协商。

IKE第二个阶段:

— 协商IPSec安全参数 包括:
加密算法
Hash算法
安全协议
封装模式
存活时间

—第二个阶段只有一种模式:快速模式
1.协商安全参数来保护数据连接
2.周期的对数据连接更新密钥信息。
第二阶段是为了协商出单向IPSec SA 第二个阶段所有数据都是受第一阶段保护,所以都有数据都经过了加密。

3.IKE SA 和 IPSec SA的区别
在采用IKE动态协商方式建立IPSec隧道时,SA有两种:一种IKE SA,另一种是IPSec SA。建立IKE SA目的是为了协商用于保护IPSec隧道的一组安全参数,建立IPSec SA的目的是为了协商用于保护用户数据的安全参数,但在IKE动态协商方式中,IKE SA是IPSec SA的基础,因为IPSec SA的建立需要用到IKE SA建立后的一系列密钥

IPSEC 的IKE协商过程,主模式和野蛮模式,AH和ESP相关推荐

  1. IPsec之IKE协商过程详解

    IPsec之IKE协商过程详解 IKE第一阶段 IKE的精髓在于它永远不在不安全的网络上直接传送密钥,而是通过一系列的计算,双方最终计算出共享密钥,并且即使第三方截获了交换中的所有数据,也无法计算出真 ...

  2. IPsec IKE第一阶段主模式和野蛮模式

    国密标准GMT 0022-2014 IPSec VPN 技术规范,IPsec IKE过程中交换类型的定义将主模式Main mode分配值为2,快速模式-quick mode分配值为32.标准中并没有提 ...

  3. CCIE理论-IPSec的主模式和野蛮模式的区别

    CCIE理论-IPSec的主模式和野蛮模式的区别 其实这个不算在数通里面,因为IPsec是安全的技术 突然想到这个就写这个了,面试或者考试会问这个 IPsec有两个版本 今天说的是版本1 有两个阶段 ...

  4. 主模式和野蛮模式_网络野蛮行为的含混性和观念

    主模式和野蛮模式 Taking a dig at Jakob Nielsen's po-faced disapproval of Flash, Joel Spolsky wrote a post th ...

  5. IPSec IKE协商(图解协议+包分析)【IPSec协议簇学习笔记一】

    本文作为学习 IPSec 的记录,感谢各位前辈的博客,我学习中将协议画成了脑图,便于理解记忆 1.协议脑图,整合了:协议概念部分 + 实际包分析 文档地址在文末(PDF+高清图) 我是通过以下两个博客 ...

  6. IPsec+预共享密钥的IKE野蛮模式

    目标 配置 IPsec+预共享密钥的IKE 野蛮模式 步骤一.配置各接口IP地址 步骤二.配置默认路由 [RTB]ip route-static 0.0.0.0 0 2.2.2.2 步骤三:配置公网连 ...

  7. TP- LINK企业级vp-n路由器ipsec场景与实施(野蛮模式)

    上个文章介绍的主模式,实际应用中最多的还是野蛮模式,因为公网IP太贵啊,不是每个公司都有专线可以用. 实际应用中普通家用宽带也可以通过DDNS来实现ipsec,这里需要设置光猫为桥接模式,用路由器拨号 ...

  8. 基于HCL的GRE over IPSec(野蛮模式多分支通信) 企业组网

    目录 组网拓扑: 组网需求 组网步骤 1. 配置默认路由部分略 2. 配置 IP 地址部分略 3. 配置 DHCP 部分略 4. 北京总部.上海分支.济南分支配置 GRE over IPsec VPN ...

  9. IPsec中IKE与ISAKMP过程分析(主模式-消息5和消息6)

    IPsec中IKE与ISAKMP过程分析(主模式-消息1)_搞搞搞高傲的博客-CSDN博客 IPsec中IKE与ISAKMP过程分析(主模式-消息2)_搞搞搞高傲的博客-CSDN博客 IPsec中IK ...

最新文章

  1. Entity Framework 约定
  2. java map prefix_从键以特定表达式开头的Map中获取所有值的最快方法
  3. python selenium 文件上传_Python+Selenium学习--上传文件
  4. Intelij idea工具设置片,用64位工作,用32位运行
  5. 机器人扫地机吸狗毛最好的_狗狗掉毛扫地机不好使?看看人家美国人的评测
  6. 深入理解DPDK程序设计|Linux网络2.0
  7. java udp 接受阻塞_Java UDP发送与接收
  8. WIN10下ADB工具包安装的教程和总结 --201809
  9. LeetCode 1562. 查找大小为 M 的最新分组
  10. 第六周java实验报告四
  11. 折线图_Line plot - 折线图
  12. python常用代码总结-常见的排序算法的总结及python代码实现
  13. linux如何新增dwployop用户,Linux(Centos)快速搭建SVN
  14. 二阶求导 算法 实现 寻峰问题(转)
  15. Eth 02 - MII接口概述及代码解析
  16. IOS app 上线流程
  17. 基于Vue实现的问卷调查平台
  18. 【Linux】gcc-程序的翻译四个阶段(图示)
  19. pandas相关性分析的三种方法
  20. 智慧水库水位库容监测系统解决方案

热门文章

  1. OSPFv2原理详解(基于RFC2328)+配置介绍+RFC2328翻译
  2. 能上QQ但不能上网问题精解
  3. 【舰船数据集格式转换】HRSID数据集VOC转COCO
  4. mapinfo mif/mid文件格式详解
  5. mcnpf5输出结果_MCNP学习笔记-计数卡F6
  6. 萌卡错误记录1--Mcnp source subroutine linking trouble
  7. PHP使用socket TCP通信对接富途牛牛
  8. 在Word中隐藏文字
  9. java数组下标越界处理_可恶的Java数组下标越界检查
  10. Centos7创建CA和申请证书