IPSec提供了两种安全机制:认证和加密。认证机制使IP通信的数据接收方能够确认数据发送方的真实身份以及数据在传输过程中是否遭篡改。加密机制通过 对数据进行编码来保证数据的机密性,以防数据在传输过程中被窃听。IPSec 协议组包含Authentication Header(AH)协议、Encapsulating Security Payload(ESP)协议和Internet Key Exchange(IKE)协议。其中AH协议定义了认证的应用方法,提供数据源认证和完整性保证;ESP协议定义了加密和可选认证的应用方法,提供可靠 性保证。在实际进行IP通信时,可以根据实际安全需求同时使用这两种协议或选择使用其中的一种。AH和ESP都可以提供认证服务,不过,AH提供的认证服 务要强于ESP。IKE用于密钥交换(将在以后部分讨论)。

一、Authentication Header(AH)协议结构

AH 协议为IP通信提供数据源认证、数据完整性和反重播保证,它能保护通信免受篡改,但不能防止窃听,适合用于传输非机密数据。AH的工作原理是在每一个数据 包上添加一个身份验证报头。此报头包含一个带密钥的hash散列(可以将其当作数字签名,只是它不使用证书),此hash散列在整个数据包中计算,因此对 数据的任何更改将致使散列无效--这样就提供了完整性保护。

AH报头位置在IP报头和传输层协议报头之间,见图一。 AH由IP协议号" 51"标识,该值包含在AH报头之前的协议报头中,如IP报头。AH可以单独使用,也可以与ESP协议结合使用。

图1 AH报头

AH报头字段包括:

·Next Header(下一个报头): 识别下一个使用IP协议号的报头,例如,Next Header值等于"6",表示紧接其后的是TCP报头。

·Length(长度): AH报头长度。

·Security Parameters Index (SPI,安全参数索引): 这是一个为数据报识别安全关联的 32 位伪随机值。SPI 值 0 被保留来表明"没有安全关联存在"。

·Sequence Number(序列号):从1开始的32位单增序列号,不允许重复,唯一地标识了每一个发送数据包,为安全关联提供反重播保护。接收端校验序列号为该字段值的数据包是否已经被接收过,若是,则拒收该数据包。

·Authentication Data(AD,认证数据): 包含完整性检查和。接收端接收数据包后,首先执行hash计算,再与发送端所计算的该字段值比较,若两者相等,表示数据完整,若在传输过程中数据遭修改,两个计算结果不一致,则丢弃该数据包。

数据包完整性检查:

如 图二所示,AH报头插在IP报头之后,TCP,UDP,或者ICMP等上层协议报头之前。一般AH为整个数据包提供完整性检查,但如果IP报头中包含"生 存期(Time To Live)"或"服务类型(Type of Service)"等值可变字段,则在进行完整性检查时应将这些值可变字段去除。

图2 AH为整个数据包提供完整性检查

二、Encapsulating Security Payload(ESP)协议结构

ESP为IP数据包提供完整性检查、认证和加密,可以看作是"超级 AH", 因为它提供机密性并可防止篡改。ESP服务依据建立的安全关联(SA)是可选的。然而,也有一些限制:

·完整性检查和认证一起进行。

·仅当与完整性检查和认证一起时,"重播(Replay)"保护才是可选的。

·"重播"保护只能由接收方选择。

ESP的加密服务是可选的,但如果启用加密,则也就同时选择了完整性检查和认证。因为如果仅使用加密,入侵者就可能伪造包以发动密码分析攻击。

ESP可以单独使用,也可以和AH结合使用。一般ESP不对整个数据包加密,而是只加密IP包的有效载荷部分,不包括IP头。但在端对端的隧道通信中,ESP需要对整个数据包加密。

如图三所示,ESP报头插在IP报头之后,TCP或UDP等传输层协议报头之前。ESP由IP协议号"50"标识。

图3 ESP报头

ESP报头字段包括:

·Security Parameters Index (SPI,安全参数索引):为数据包识别安全关联。

·Sequence Number(序列号):从1开始的32位单增序列号,不允许重复,唯一地标识了每一个发送数据包,为安全关联提供反重播保护。接收端校验序列号为该字段值的数据包是否已经被接收过,若是,则拒收该数据包。 ESP报尾字段包括:

·Padding(扩展位):0-255个字节。DH算法要求数据长度(以位为单位)模512为448,若应用数据长度不足,则用扩展位填充。

·Padding Length(扩展位长度):接收端根据该字段长度去除数据中扩展位。

·Next Header(下一个报头):识别下一个使用IP协议号的报头,如TCP或UDP。

ESP认证报尾字段:

·Authentication Data(AD,认证数据): 包含完整性检查和。完整性检查部分包括ESP报头、有效载荷(应用程序数据)和ESP报尾。见图四。

图4 ESP的加密部分和完整性检查部分

如 上图所示,ESP报头的位置在IP报头之后,TCP,UDP,或者ICMP等传输层协议报头之前。如果已经有其他IPSec协议使用,则ESP报头应插在 其他任何IPSec协议报头之前。ESP认证报尾的完整性检查部分包括ESP报头、传输层协议报头,应用数据和ESP报尾,但不包括IP报头,因此ESP 不能保证IP报头不被篡改。ESP加密部分包括上层传输协议信息、数据和ESP报尾。

三、ESP隧道模式和AH隧道模式

以上介绍的是传输模式下的AH协议和ESP协议,ESP隧道模式和AH隧道模式与传输模式略有不同。

在隧道模式下,整个原数据包被当作有效载荷封装了起来,外面附上新的IP报头。其中"内部"IP报头(原IP报头)指定最终的信源和信宿地址,而"外部"IP报头(新IP报头)中包含的常常是做中间处理的安全网关地址。

与传输模式不同,在隧道模式中,原IP地址被当作有效载荷的一部分受到IPSec的安全保护,另外,通过对数据加密,还可以将数据包目的地址隐藏起来,这样更有助于保护端对端隧道通信中数据的安全性。

ESP隧道模式中签名部分(完整性检查和认证部分)和加密部分分别如图所示。ESP的签名不包括新IP头。

图5 ESP隧道模式

下图标示出了AH隧道模式中的签名部分。AH隧道模式为整个数据包提供完整性检查和认证,认证功能优于ESP。但在隧道技术中,AH协议很少单独实现,通常与ESP协议组合使用。

IPsec:IP层协议安全结构
更新时间:2005-11-07    收藏此页
 

    【IT168 学院】IPsec 在 IP 层提供安全服务,它使系统能按需选择安全协议,决定服务所使用的算法及放置需求服务所需密钥到相应位置。 IPsec 用来保护一条或多条主机与主机间、安全网关与安全网关间、安全网关与主机间的路径。

IPsec 能提供的安全服务集包括访问控制、无连接的完整性、数据源认证、拒绝重发包(部分序列完整性形式)、保密性和有限传输流保密性。因为这些服务均在 IP 层提供,所以任何高层协议均能使用它们,例如 TCP 、 UDP 、ICMP 、 BGP 等等。

这些目标是通过使用两大传输安全协议,头部认证(AH) 和封装安全负载 (ESP),以及密钥管理程序和协议的使用来完成的。所需的 IPsec 协议集内容及其使用的方式是由用户、应用程序、和/或站点、组织对安全和系统的需求来决定。

当正确的实现、使用这些机制时,它们不应该对不使用这些安全机制保护传输的用户、主机和其他英特网部分产生负面的影响。这些机制也被设计成算法独立的。这种模块性允许选择不同的算法集而不影响其他部分的实现。例如:如果需要,不同的用户通讯可以采用不同的算法集。

定义一个标准的默认算法集可以使得全球因英特网更容易协同工作。这些算法辅以 IPsec 传输保护和密钥管理协议的使用为系统和应用开发者部署高质量的因特网层的加密的安全技术提供了途径。

    协议结构 ― IPsec:IP 网络安全结构

IPsec 结构包括众多协议和算法。这些协议之间的相互关系如下所示:

IPsec:IP层协议安全结构

IPSec基础-IPSec协议类型相关推荐

  1. 网络协议 — IPSec 安全隧道协议族

    目录 文章目录 目录 IPSec 安全隧道协议族 封装协议 Authentication Header 协议 Encapsulating Security Payload 协议 封装模式 Transp ...

  2. IPsec ***基础:认识IPsec ***

    1.IPSEC 提供了下列服务: 数据的机密性----------这是通过加密来防止数据遭受窃听***. 数据的完整性和验证--------通过HMAC功能来验证数据包没有被损坏,并通过一个有效地对等 ...

  3. IPSec 基础介绍

    IPSec是IETF(Internet Engineering Task Force)制定的一组开放的网络安全协议.它并不是一个单独的协议,而是一系列为IP网络提供安全性的协议和服务的集合,包括认证头 ...

  4. 最全面的智能锁领域常见的无线传输协议类型

    最全面的智能锁领域常见的无线传输协议类型 "物联网"概念在1999年美国麻省理工学院首次被提出,狭义的物联网指的是"物-物相连的互联网",这里相连的主体既包括物 ...

  5. [dev][ipsec][esp] ipsec链路中断的感知问题

    ipsec如何感知到链路中断了?以下内容讲的是在没有配置DPD,且没有rekey的场 景下.1. ESP认为,以下两个场景交由应用层来感知,应用层会发现ipsec的连接坏掉了.a,ESP承载的连接是t ...

  6. 收集整理网络协议类型

    收集整理网络协议类型 TCP 英文全称:Transmission Control Protocol 中文名称:传输控制协议 功能介绍:一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的R ...

  7. 网络基础知识 | 协议 | TCP/IP分层模型

    目录 网络基础知识 网络互联 互联网基础知识 网络的构成要素 网卡 中继器 网桥/2层交换机 路由器/3层交换机 4-7层交换机 网关 协议 分组交换协议 谁来规定协议 协议的标准化 协议的分层 分层 ...

  8. 计算机网络基础网络协议——讲解(全面总结)

    一.操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在"裸机"上的最基本的系统软件,任何其他软件都必须 ...

  9. 不同硬件协议类型,相同的理解思路

    I2C 我理解成 线性协议 实际通信的只用一根数据线,和 两个维度意义 SPI 我理解成 面型协议 有3个维度, GPIO 我理解成点型协议 只有一个维度 uart 我理解成 体型协议 有4个维度 对 ...

最新文章

  1. 数据库中的datatime的长度怎么设定_软件测试必备之数据库知识(一)
  2. 让Mac OS 10.x.x安装在Vmware虚拟机上!
  3. oracle PL/SQL
  4. 最新翻译的官方PyTorch简易入门教程(PyTorch1.0版本)
  5. CIKM 2021 | 自监督学习在社会化推荐系统中的应用
  6. gradle挂接到构建生命周期(七)
  7. 优化 Azure 成本,实现财务目标
  8. CF1526 D. Kill Anton
  9. bloomberg用法 固定收益_内部收益率的用法浅谈某保险的真实收益率
  10. fir.im Weekly - 除了新 MacBook Pro,近期值得关注的移动开发好资源
  11. python的属性访问,python:如何访问函数的属性
  12. Flash与数学:圆(2)
  13. 我们自身的认知可以改变吗?
  14. dtree树形结构异步传输
  15. Vue数据更新视图不更新的几种解决方案
  16. 华为OJ之奥运会金牌排名显示国家名称
  17. 整车CAN通讯之canfd协议研究
  18. yy_model及 YYLabel
  19. 红色警戒最新版本哪个服务器好,红色警戒2里面哪个版本最好玩?
  20. 研究生如何进行文献的搜索和参考文献信息的搜寻

热门文章

  1. 西南科技大学计算机考研好考吗,西南科技大学考研难吗?一般要什么水平才可以进入?...
  2. Python全栈(九)Web前端基础之3.CSS常见样式和选择器
  3. Linux 命令行模式下退出 vim
  4. Vue.js学习笔记—调查问卷WebApp
  5. LeetCode50——一题学会快速幂算法
  6. python关于图像去雾
  7. 黑群晖(DSM7)使用docker挂载zerotier one实现内网穿透
  8. Oracle-SQL中日期加减一年的写法
  9. 小学生灯谜计算机,小学生谜语大全
  10. 关于小红书的小程序不同数量的轮播图,展示不一样的轮播指示点的实现