IPsec概述

基本概念:

IPsec(Internet Protocol Security)是IETF定义的一个协议组。

通信双方在IP层通过加密完整性校验数据源认证等方式,保证了IP数据报文在网络上传输的机密性完整性和防重放

  • 数据源认证:接收方验证发生方身份是否合法。
  • 数据加密:发送方对数据进行加密,以密文的形式在互联网上传送,接收方对接收的数据解密后处理或者直接转发。
  • 数据完整性:接收方对接收的数据进行验证,以判定报文是否被篡改。
  • 抗重防:接收方拒绝旧的和重复和数据包,防止恶意用户通过重发捕获到的数据包所进行的恶意攻击。

IKE

因特网密钥交换协议IKE(Internet Key Exchange),基于UDP,500端口号,应用层协议。

IKE负责建立和维护IKE SAs和IPsec SAs。功能主要体现在如下几个方面:

  • 对双方进行认证
  • 交换公共秘钥,产生秘钥资源,管理秘钥
  • 协商协议参数(封装,加密,验证…)

IKE的三个组件:

  • SKEME:实现公钥加密认证的机制。
  • Oakley:基于到达两个对等体间的加密秘钥的机制
  • ISAKMP:在两个实体间进行分组格式及状态转换的消息交换的体系结构。

IPsec的身份验证方式:

  1. 预共享认证:常用,比较简单
  2. RSA公钥(数字证书)
  3. 数字信封的方式

IKE有两个版本:

  • IKEv1-----思科默认
  • IKEv2-----华为默认

KKEv1的阶段:

  1. 阶段一:协商安全参数,建立IKE SA (SA称为安全关联)

    主模式(6个包分三对),建立IKE SA

    野蛮模式(3个包),建立IKE SA

  2. 阶段二:再建立IKE SA的基础上保护感兴趣流,建立IPSEC SA

    快速模式(3个包),建立IPSEC SA

  • 阶段一的主模式

    第一对消息:发送明文

    ​ 发送方发送安全提议(加密算法,hash,认证方式,密钥有效性)到接收方,要求接收方去匹配安全提议,协商一致

    第二对消息:明文发送

    ​ 使用DH算法用来产生密钥,对数据进行加密

    第三对消息:密文发送

    ​ 对身份认证以及对整个主模式内容的认证

    阶段二快速模式的过程:

    ​ 第一个包:发送方发送本端的安全参数(安全协议,封装模式,加密算法等)和身份认证信息

    ​ 第二个包:响应方发送确认的安全参数和身份认证信息并生成新的密钥

    ​ 第三个包:发送方发送确认的信息,确认与响应方可以进行通信,协商结束

IPsec体系结构:

IPsec VPN的体系结构主要由AH(Authentication Header),ESP(Encapsulating Security Payload),IKE(Internet Key Exchange)协议套件组成。

  1. AH协议:基于IP协议,协议号51,提供数据源校验,数据完整性校验和防重防,不对数据进行加密。
  2. ESP协议:基于IP协议,协议号50,主要提供对IP报文进行加密,ESP不对IP头的内容进行保护,支持AH的所有功能(可选)。
  3. IKE协议:完成IPSec通信对等体间的安全联盟SA(Security Association)协商,协商出对等体间数据安全传输需要的认证算法、加密算法和对应的秘钥。分自动协商IKE和手工交换秘钥。

IPSec封装模式

IPsec分传输模式隧道模式

传输模式:在IP报文头和高层协议之间插入AH和ESP头。传输模式中的AH或ESP主要对上层协议数据提供保护。

隧道模式:AH或ESP封装在原始IP报文头之前,并另外生成一个新的IP头封装到AH或ESP之前。隧道模式可以完全的对原始IP数据报进行认证和加密,而且可以使用IPSec对等体的IP地址来隐藏客户机的IP地址。

传输模式和隧道模式比较:

  • 安全性来讲,隧道模式优于传输模式。它可以完全对原始IP数据包进行验证和加密。隧道模式下可以隐藏内部IP地址,协议类型和端口。

  • 从性能上来讲,隧道模式有一个额外的IP头,所有它将比传输模式占用更多的带宽。

当安全协议同事采用AH和ESP时,AH和ESP协议必须采用相同的封装模式。

数据封装格式

AH在传输模式下封装

原始IP头部AHTCP负载

ESP在传输模式下封装

原始IP头部ESP头部TCP负载ESP尾部ESP验证数据

AH在隧道模式下封装

新的IP头部AH原始IP头部TCP负载

ESP在隧道模式下封装

新的IP头部ESP头部原始IP头部TCP负载ESP尾部ESP验证数据

认证算法和加密算法

认证算法:IPsec一般可以使用两种认证算法

  • MD5:MD5通过输入任意长度的消息,产生128比特的消息摘要。
  • SHA-1:SHA-1通过输入长度小于2的64次方比特的消息,产生160bit的消息摘要。

加密算法:IPsec一般使用DES,3DES以及AES三种加密算法。

  • DES:56bit的秘钥对64bit的明文进行加密。

  • 3DES:使用三个56bit的DES秘钥,对明文进行加密。

  • AES:使用128bit,192bit,256bit秘钥长度的AES算法对明文进行加密。

    安全性从低到高:AES,3DES,DES。安全性越高实现机制越复杂,运行速度越慢。普通安全需求使用DES就能满足需求。

秘钥有效期:

默认为86400s,即24小时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陨石DA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值