iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >ipsec由什么协议组成
  • 632
分享到

ipsec由什么协议组成

2023-06-14 23:06:32 632人浏览 独家记忆
摘要

这篇文章给大家分享的是有关ipsec由什么协议组成的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。ipsec由“IKE密匙交换协议”、“ESP封装安全载荷”、“AH认证头”三种协议组成。IKE提供对称密码的钥匙的生

这篇文章给大家分享的是有关ipsec由什么协议组成的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

ipsec由“IKE密匙交换协议”、“ESP封装安全载荷”、“AH认证头”三种协议组成。IKE提供对称密码的钥匙的生存和交换;ESP提供机密性、数据源认证、无连接完整性、防重放和有限的传输流机密性;AH用于实现完整性校验。

教程操作环境:windows7系统、Dell G3电脑。

1、IPsec介绍

IPsecurity是一套完整的加密系统

IPsec-VPN提供三个特性:

  • authentication  每一个IP包的认证

  • data integrity  验证数据完整性,保证在传输过程中没有被人为改动

  • confidentiality(私密性)数据包的加密

2、IPsec组成

IPsec协议集包括三个协议:

①internet keyexchange(IKE)密匙交换协议

在两个对等体之间建立一条遂道来完成密钥交换,协商完成再用下面的方法封装数据。

IKE动态的,周期性的在两个PEER之间更新密钥

②encapsulating secutitypayload(ESP)封装安全负载

可以对数据包认证,加密,封装,IP中协议号-50,通常使用3DES来进行加密

③authentication header(AH)

只提供认证,封装,不提供加密,明文传送,IP中协议号-51

IKE原理

①组成

由三个不同的协议组成:

  • ISAKMP:定义了信息交换的体系结构,也就是格式

  • SKEME:实现公钥加密认证的机制

  • Oakley:提供在两个IPsec对等体间达成相同加密密钥的基本模式的机制

ISAKMP基于UDP,源目端口都是500

安全联盟(SecurityAssociation,简称SA)

SA是两个通信实体经协商建立起来的一种协定,它们决定了用来保护数据包安全的IPsec协议、转码方式、密钥、以及密钥的有效存在时间等等。任何IPsec实施方案始终会构建一个SA数据库(SADB),由它来维护IPsec协议,用来保障数据包安全。

SA是单向的:如果两个主机(比如A和B)正在通过ESP进行安全通信,那么主机A就需要有一个SA,即SA(OUT),用来处理外发的数据包,另外还需要有一个不同的SA,即SA(IN)用来处理进入的数据包。主机A的SA(OUT)和主机B的SA(IN)将共享相同的加密参数(比如密钥)。

SA还要根据协议来区分,如果两个主机间同时使用ESP和AH,对于ESP和AH会生成不同的SA。

SA分为两种:

  • IKE(ISAKMP)SA    协商对IKE数据流进行加密以及对对等体进行验证的算法(对密钥的加密和peer的认证)

  • IPsec SA           协商对对等体之间的IP数据流进行加密的算法

对等体之间的IKE SA只能有一个

对等体之间的IPsec SA可以有多个

ipsec由什么协议组成

ipsec由什么协议组成

site-to-site ipsecVPN的协商过程,分两个阶段

要想在两个站点之间安全的传输IP数据流,它们之间必须要先进行协商,协商它们之间所采用的加密算法,封装技术以及密钥。

阶段一:在两个对等体设备之间建立一个安全的管理连接。没有实际的数据通过这个连接。这个管理连接是用来保护第二阶段协商过程的。

阶段二:当对等体之间有了安全的管理连接之后,它们就可以接着协商用于构建安全数据连接的安全参数,这个协商过程是安全的,加密的。协商完成后,将在两个站点间形成安全的数据连接。用户就可以利用这些安全的数据连接来传输自已的数据了。

第一阶段:建立ISAKMPSA协商的是以下信息:

对等体之间采用何种方式做认证,是预共享密钥还是数字证书。

双方使用哪种加密算法(DES、3DES)

双方使用哪种HMac方式,是MD5还是SHA

双方使用哪种Diffie-Hellman密钥组

使用哪种协商模式(主模式或主动模式)

协商SA的生存期

第二阶段:建立IPsecSA协商的是以下信息:

双方使用哪种封装技术,AH还是ESP

双方使用哪种加密算法

双方使用哪种HMAC方式,是MD5还是SHA

使用哪种传输模式,是隧道模式还是传输模式

协商SA的生存期

为什么需要两个SA,它们之间的关系是怎样的?

第一个隧道ISAKMP SA是用于保护后续的再次协商,

第二次隧道协商的参数是在完全加密的环境下进行的,之后得到的

IPsecSA才真正为数据做加密!

第一阶段策略集面向对象是第二阶段的协商包,第二阶段的转换集面向对象是最终的数据包。

ESP概述

Encapsulationsecurity payload,用于实现数据机密性以及完整性校验。

分装           安全        有效负载,

ipsec由什么协议组成

ipsec由什么协议组成

ESP有两种模式

传输模式:只加密IP头部以上的数据,对IP头部不进行加密(适用于GRE (通用路由协议)over IPSEC)      加密地点即通信地点

隧道模式:加密原有数据包,再加入新的头部   加密地点非通信地点

.AH概述

Authenticationheader,认证头部,用于实现完整性校验

感谢各位的阅读!关于“ipsec由什么协议组成”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: ipsec由什么协议组成

本文链接: https://www.lsjlt.com/news/275862.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++ 生态系统中流行库和框架的贡献指南
    作为 c++++ 开发人员,通过遵循以下步骤即可为流行库和框架做出贡献:选择一个项目并熟悉其代码库。在 issue 跟踪器中寻找适合初学者的问题。创建一个新分支,实现修复并添加测试。提交...
    99+
    2024-05-15
    框架 c++ 流行库 git
  • C++ 生态系统中流行库和框架的社区支持情况
    c++++生态系统中流行库和框架的社区支持情况:boost:活跃的社区提供广泛的文档、教程和讨论区,确保持续的维护和更新。qt:庞大的社区提供丰富的文档、示例和论坛,积极参与开发和维护。...
    99+
    2024-05-15
    生态系统 社区支持 c++ overflow 标准库
  • c++中if elseif使用规则
    c++ 中 if-else if 语句的使用规则为:语法:if (条件1) { // 执行代码块 1} else if (条件 2) { // 执行代码块 2}// ...else ...
    99+
    2024-05-15
    c++
  • c++中的继承怎么写
    继承是一种允许类从现有类派生并访问其成员的强大机制。在 c++ 中,继承类型包括:单继承:一个子类从一个基类继承。多继承:一个子类从多个基类继承。层次继承:多个子类从同一个基类继承。多层...
    99+
    2024-05-15
    c++
  • c++中如何使用类和对象掌握目标
    在 c++ 中创建类和对象:使用 class 关键字定义类,包含数据成员和方法。使用对象名称和类名称创建对象。访问权限包括:公有、受保护和私有。数据成员是类的变量,每个对象拥有自己的副本...
    99+
    2024-05-15
    c++
  • c++中优先级是什么意思
    c++ 中的优先级规则:优先级高的操作符先执行,相同优先级的从左到右执行,括号可改变执行顺序。操作符优先级表包含从最高到最低的优先级列表,其中赋值运算符具有最低优先级。通过了解优先级,可...
    99+
    2024-05-15
    c++
  • c++中a+是什么意思
    c++ 中的 a+ 运算符表示自增运算符,用于将变量递增 1 并将结果存储在同一变量中。语法为 a++,用法包括循环和计数器。它可与后置递增运算符 ++a 交换使用,后者在表达式求值后递...
    99+
    2024-05-15
    c++
  • c++中a.b什么意思
    c++kquote>“a.b”表示对象“a”的成员“b”,用于访问对象成员,可用“对象名.成员名”的语法。它还可以用于访问嵌套成员,如“对象名.嵌套成员名.成员名”的语法。 c++...
    99+
    2024-05-15
    c++
  • C++ 并发编程库的优缺点
    c++++ 提供了多种并发编程库,满足不同场景下的需求。线程库 (std::thread) 易于使用但开销大;异步库 (std::async) 可异步执行任务,但 api 复杂;协程库 ...
    99+
    2024-05-15
    c++ 并发编程
  • 如何在 Golang 中备份数据库?
    在 golang 中备份数据库对于保护数据至关重要。可以使用标准库中的 database/sql 包,或第三方包如 github.com/go-sql-driver/mysql。具体步骤...
    99+
    2024-05-15
    golang 数据库备份 mysql git 标准库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作