• 一文带你了解IPsec协议


    前言

    互联网安全协议(Internet Protocol Security,IPSec)是一个协议包
    通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议簇(一些相互关联的协议的集合)

    简介

    IPSec是IETF(Internet Engineering Task Force,即国际互联网工程技术小组)提出的使用密码学额保护IP层通信的安全保密架构 ,是一个协议簇

    通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议簇(一些相互关联的协议的集合)

    IPSec可以实现以下4项功能:

    • ①数据机密性:IPSec发送方将包加密后再通过网络发送
    • ② 数据完整性:IPSec可以验证IPSec发送方发送的包,以确保数据传输时没有被改变
    • ③数据认证:IPSec接受方能够鉴别IPsec包的发送起源。此服务依赖数据的完整性
    • ④反重放:IPSec接受方能检查并拒绝重放包

    IPSec主要由以下协议组成:

    • 一、认证头(AH),为IP数据报提供无连接数据完整性、消息认证以及防重放攻击保护;
    • 二、封装安全载荷(ESP),提供机密性、数据源认证、无连接完整性、防重放和有限的传输流(traffic-flow)机密性;
    • 三、安全关联(SA),提供算法和数据包,提供AH、ESP操作所需的参数。
    • 四、密钥协议(IKE),提供对称密码的钥匙的生存和交换

    技术细节

    认证头(AH)

    • 认证头(Authentication Header,AH)被用来保证被传输分组的完整性和可靠性
    • 它还保护不受重放攻击
    • 认证头试图保护IP数据报的所有字段,那些在传输IP分组的过程中要发生变化的字段就只能被排除在外
    • 当认证头使用非对称数字签名算法(如RSA)时,可以提供不可否认性(RFC 1826)
      在这里插入图片描述
      字段含义:
    字段含义
    下一个头标识被传送数据所属的协议
    载荷长度认证头包的大小
    保留为将来的应用保留(目前都置为0)
    安全参数索引与IP地址一同用来标识安全参数
    串行号单调递增的数值,用来防止重放攻击
    认证数据包含了认证当前包所必须的数据

    封装安全载荷(ESP)
    封装安全载荷(Encapsulating Security Payload,ESP)协议对分组提供了源可靠性、完整性和保密性的支持
    与AH头不同的是,IP分组头部不被包括在内

    安全结构

    • IPSec协议工作在OSI 模型的第三层,使其在单独使用时适于保护基于TCP或UDP的协议(如 安全套接子层(SSL)就不能保护UDP层的通信流)
    • 这就意味着,与传输层或更高层的协议相比,IPSec协议必须处理可靠性和分片的问题
    • 同时也增加了它的复杂性和处理开销
    • 相对而言,SSL/TLS依靠更高层的TCP(OSI的第四层)来管理可靠性和分片

    安全协议

    • (1)AH(AuthenticationHeader) 协议

    它用来向 IP通信提供数据完整性和身份验证,同时可以提供抗重播服务

    • 在 IPv6 中协议采用 AH 后, 因为在主机端设置了一个基于算法独立交换的秘密钥匙, 非法潜入的现象可得到有效防止, 秘密钥匙由客户和服务商共同设置
    • 在传送每个数据包时,IPv6 认证根据这个秘密钥匙和数据包产生一个检验项。在数据接收端重新运行该检验项并进行比较,从而保证了对数据包来源的确认以及数据包不被非法修改
    • (2)ESP(EncapsulatedSecurityPayload) 协议
    • 它提供 IP层加密保证和验证数据源以对付网络上的监听
    • 因为 AH虽然可以保护通信免受篡改, 但并不对数据进行变形转换, 数据对于黑客而言仍然是清晰的
    • 为了有效地保证数据传输安全, 在IPv6 中有另外一个报头 ESP,进一步提供数据保密性并防止篡改

    安全联盟 SA

    • 安全联盟 SA,记录每条 IP安全通路的策略和策略参数
    • 安全联盟是 IPSec 的基础, 是通信双方建立的一种协定,决定了用来保护数据包的协议、转码方式、密钥以及密钥有效期等
    • AH和 ESP都要用到安全联盟,IKE的一个主要功能就是建立和维护安全联盟

    密钥管理协议

    • 密钥管理协议 ISAKMP, 提供共享安全信息
    • Internet密钥管理协议被定义在应用层
    • ETF规定了Internet安全协议和互联网安全关联和秘钥管理协议
    • ISAKMP(Internet Security Association and Key Management Protocol) 来实现 IPSec 的密钥管理,为身份认证的 SA 设置以及密钥交换技术

    安全特性

    IPSec的安全特性主要有:

    不可否认性

    • "不可否认性"可以证实消息发送方是唯一可能的发送者
    • 发送者不能否认发送过消息
    • "不可否认性"是采用公钥技术的一个特征,当使用公钥技术时,发送方用私钥产生一个数字签名随消息一起发送,接收方用发送者的公钥来验证数字签名。由于在理论上只有发送者才唯一拥有私钥,也只有发送者才可能产生该数字签名
    • 所以只要数字签名通过验证,发送者就不能否认曾发送过该消息
    • 但"不可否认性"不是基于认证的共享密钥技术的特征
    • 因为在基于认证的共享密钥技术中,发送方和接收方掌握相同的密钥

    反重播性

    • "反重播"确保每个IP包的唯一性,保证信息万一被截取复制后,不能再被重新利用、重新传输回目的地址
    • 该特性可以防止攻击者截取破译信息后,再用相同的信息包冒取非法访问权(即使这种冒取行为发生在数月之后)

    数据完整性

    • 防止传输过程中数据被篡改,确保发出数据和接收数据的一致性
    • IPSec利用Hash函数为每个数据包产生一个加密检查和,接收方在打开包前先计算检查和
    • 若包遭篡改导致检查和不相符,数据包即被丢弃

    数据可靠性

    • 在传输前,对数据进行加密,可以保证在传输过程中,即使数据包遭截取,信息也无法被读
    • 该特性在IPSec中为可选项,与IPSec策略的具体设置相关

    IKE

    • IKE(RFC2407,RFC2408、RFC2409)属于一种混合型协议
    • 由Internet安全关联和密钥管理协议(ISAKMP)和两种密钥交换协议OAKLEYSKEME 组成
    • IKE创建在由ISAKMP定义的框架上,沿用了OAKLEY的密钥交换模式以及SKEME的共享和密钥更新技术,还定义了它自己的两种密钥交换方式。

    IKE使用了两个阶段的ISAKMP:

    • 第一阶段,协商创建一个通信信道(IKE SA),并对该信道进行验证,为双方进一步的IKE通信提供机密性、消息完整性以及消息源验证服务
    • 第二阶段,使用已建立的IKE SA建立IPsec SA(V2中叫Child SA)

    【百度百科-IPsec】
    【参考链接】

  • 相关阅读:
    【无标题】
    ARM64汇编05 - MOV系列指令
    ssm教务系统网站 毕业设计-附源码290915
    Python3数据科学包系列(一):数据分析实战
    LVGL V8.2字符串显示在Keil MDK上需要注意的事项(以小熊派为例)
    【抽代复习笔记】15-群(九):凯莱定理
    前端代码规范常见错误 一
    利用RMI实现JAVA分布式应用
    电容的频率特性
    LeetCode每日一题(803. Bricks Falling When Hit)
  • 原文地址:https://blog.csdn.net/weixin_45139342/article/details/126170854