zoukankan      html  css  js  c++  java
  • 安全协议IPSEC

    一、IPSEC简介

    1、概念

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

    IPSec被设计为同时支持IPv4和IPv6网络。

    IPSec主要通过加密与验证等方式,为IP数据包提供安全服务(解决IP层安全性问题)。

    ​ 在网络层进行数据加密

    2、IPSEC提供的服务

    IPSec通过加密与验证等方式,从以下几个方面保障了用户业务数据在Internet中的安全传输:

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

    校验发送者身份; 加密数据; 验证发送数据; 拒绝重复数据

    3、IPSEC的组成

    ​ IPSec主要包括安全协议AH(Authentication Header)和ESP(Encapsulating Security Payload),密钥管理交换协议IKE(Internet Key Exchange)以及用于网络认证及加密的一些算法等。

    二、IPSEC框架

    image-20210110162549446

    IPSEC不只是一个协议。而是由多个协议组成的一个框架集合

    1、加密

    ​ 分为对称加密和非对称加密。

    2、验证

    ​ 验证算法,也叫HASH算法,散列函数。 》 **数字签名(比对数据指纹)》**验证数据的完整性

    ​ 常见的验证算法:

    1、MD5
    消息摘要MD5(Message Digest 5),输入任意长度的消息,MD5产生128位的签名。
    MD5比SHA更快,但是安全性稍差。
    
    2、SHA1
    安全散列算法SHA(Secure Hash Algorithm)是由NIST开发的。在1994年对原始的HMAC功能进行了修订,被称为SHA1。输入长度小于264bit的消息,SHA1产生160位的消息摘要。
    SHA1比MD5要慢,但是更安全。因为它的签名比较长,具有更强大的防攻破功能,并可以更有效的发现共享的密钥。
    
    3、SHA2
    SHA2是SHA1的加强版本,SHA2算法相对于SHA1加密数据长度有所上升,安全性能要远远高于SHA1。SHA2算法包括SHA2-256、SHA2-384和SHA2-512,密钥长度分别为256位、384位和512位。
    随着密钥长度的上升,认证算法安全强度更高,但计算速度越慢。一般情况下256位就可以充分满足安全需求。
    

    3、封装协议

    ​ IPSec使用认证头AH(Authentication Header)和封装安全载ESP(Encapsulating Security Payload)两种安全协议来传输和封装数据,提供认证或加密等安全服务。

    3.1 AH

    AH是一种基于IP的传输层协议,协议号为51。

    只能支持认证 ,不支持加密 。

    对整个头部进行认证。

    • 原理

      在ip报头后面添加一个AH报文头。如图

      image-20210110162655622

      AH对数据包和认证密钥进行Hash计算,接收方收到带有计算结果的数据包后,执行同样的Hash计算并与原计算结果比较,传输过程中对数据的任何更改将使计算结果无效,这样就提供了数据来源认证和数据完整性校验。

      AH协议的完整性验证范围为整个IP报文

    3.2 ESP

    ESP支持加密和认证

    ESP是一种基于IP的传输层协议,协议号为50。

    • 原理

    ​ 其工作原理是在每一个数据包的标准IP报头后面添加一个ESP报文头,并在数据包后面追加一个ESP尾(ESP Tail和ESP Auth data)。

    ​ 与AH不同的是,ESP将数据中的有效载荷进行加密后再封装到数据包中,以保证数据的机密性,但ESP没有对IP头的内容进行保护。

    image-20210110162747137

    AH协议和ESP协议比较:

    安全特性 AH ESP
    协议号 51 50
    数据完整性校验 支持(验证整个IP报文) 支持(不验证IP头)
    数据源验证 支持 支持
    数据加密 不支持 支持
    防报文重放攻击 支持 支持
    IPSec NAT-T(NAT穿越) 不支持 支持

    参考文档:

    https://blog.csdn.net/qq_38265137/article/details/89423551


    如果本篇博客有任何错误和建议,欢迎大佬们批评指正

    我是知逆,我们下期见

    Peace

  • 相关阅读:
    Python3+Flask安装使用教程
    Linux getopt/getopts解析命令行参数教程
    Python3+unittest使用教程
    Python3+slowloris安装使用教程
    pytest pluggy.manager.PluginValidationError: unknown hook 'pytest_namespace'报错处理办法
    Python3+Django get/post请求实现教程
    Jenkins安装使用教程
    安全基线自动化扫描、生成报告、加固的实现(以Tomcat为例)
    Scratch安装使用教程
    从安装Mac OS X虚拟机到第一个IOS程序
  • 原文地址:https://www.cnblogs.com/mercurytan/p/14258708.html
Copyright © 2011-2022 走看看