当前位置:   article > 正文

网络安全——网络层IPSec安全协议(4)_ipsec可以保护的协议

ipsec可以保护的协议

  • 作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。

  • 座右铭:低头赶路,敬事如仪

  • 个人主页:网络豆的主页​​​​​​

目录

前言

一.IPSec安全协议

1.IPSec提供的安全服务

2.IPSec结构

3.IPSce提供的两种机制

二.Authentication Header 协议

1. Authentication Header 协议结构

2.AH传输模式

3.AH隧道模式


前言

在前一章讲解了IPSec采用的安全技术,那什么是IPSec安全协议呢?本章将会很透彻的讲解IPSec安全协议。


一.IPSec安全协议

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


1.IPSec提供的安全服务

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

这些目标是通过使用两大传输安全协议,头部认证(AH)和封装安全负载(ESP)以及密钥管理程序和协议的使用来完成的。

所需的IPSec协议集内容及其使用方式是由用户、应用程序和/或站点、组织对安全和系统的需求来决定。


2.IPSec结构

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

由图可知,IPSec协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构。

  • 包括网络认证协议Authentication Header(AH)、
  • 封装安全载荷协议(Encapsulating Security Payload,ESP)、
  • 密钥管理协议(Internet Key Exchange,IKE)和用于网络认证及加密的一些算法等。

IPSec规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上提供访问控制、数据源认证、数据加密等网络安全服务。


3.IPSce提供的两种机制

IPSce提供了两种机制:认证和加密

认证机制使IP通信的数据接收方能够确认数据发送方的真实身份,以及数据在传输过程中是否遭篡改。加密机制通过对数据进行编码来保证数据的机密性,以防数据在传输过程中被窃听。

其中,AH协议定义了认证的应用方法,提供数据源认证和完整性保证:ESP协议定义了加密和可选认证的应用方法,提供可靠性保证。

在实际进行IP通信时,可以根据实际需求同时使用这两种协议或选择使用其中的一种。AH和ESP都可以提供认证服务,不过,AH提供的认证服务要强于ESP。


二.Authentication Header 协议

1. Authentication Header 协议结构

Authentication Header(AH)协议主要提供认证机制,保证数据包接收者得到的源地址是可靠的,同时也提供了数据的完整性,抗重播攻击的能力。

它使通信免受篡改,但不能防止窃听,适合用于传输非机密数据。

AH的工作原理是在每一个数据包上添加一个身份验证包头。

此包头包含一个带密钥的Hash散列(可以将其当做数字签名,只是它不使用证书),此Hash散列在整个数据包中计算,因此对数据的任何更改将致使散列无效,提供对数据的完整性保护。

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

AH由5个固定长度域和一个变长的认证数据域组成,如图所示。

其中的字段意义如下。

  • (1)下一头:(8位),识别这个包头之后紧跟的包头类型。在传输模式下,表示处于保护中的上层协议的值,比如TCP或UDP的值。
  • (3)载荷长度:(8位)其值等于AH头长度(以32位字长计算)减去2。AH头是一个IPv6的扩展头按照RFC2460标准的规定:它的值是头长度减去一个64位,在认证数据为标准的96位时,这个域的值为4。
  • (3)保留字段:16位,该字段用于今后的扩充,设置为0。
  • (4)安全参数索引SPl:专有32位值,用以区分那些目的IP地址和安全协议类型相同,但算法不同的数据包。
  • (5)序列号:32位整数,它代表一个单调递增计数器的值。
  • (6)认证值:这个域的长度可变,它存放IP数据包的完整性校验值ICV。

ICV,全称integrity check
value。是在对无格式文本安全列表和补充的计算得到的,用于信息安全的完整性检查。ICV的算法是32位的自身反码加法,每个32位块跟随32个0位。


2.AH传输模式

如图3-5所示,在传输模式下,AH包头插在IP包头之后,TCP、UDP或者ICMP等上层协议包头之前。

一般AH为整个数据包提供完整性检查,但是在传输过程中,某些IP头字段会发生变化,且发送方无法预测数据包到达接收端时此字段的值。


例如生存期(Time To Live)或服务类型(Type of
Service)等值可变字段(可变字段如图3-6中灰色字段),在进行完整性检查时,应将这些值的可变字段置为0。AH尽可能为IP头和上层协议数据提供足够多的认证,但AH并不能保护可变字段值,因此,AH提供给IP头的保护有些是零碎的。

通常,当用于IPv6时,AH出现在IPv6逐跳路由头之后,IPv6目的选项之前;而用于IPv4时,AH跟随主IPv4头。


3.AH隧道模式

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

  • 在隧道模式下,整个原数据包被当做有效载荷封装起来,外面附上新的IP包头。其中“内部”IP包头(原IP包头)指定最终的信源和信宿地址,而“外部”IP包头(新IP包头)中包含的常常是做中间处理的网关地址。
  • 与传输模式不同,在隧道模式中,原IP地址被当做有效载荷的一部分,受到IPSec的保护。另外,通过对数据加密,还可以将数据包目的地址隐藏起来,这样更有助于保护端对端隧道通信中数据的安全性。
  • 图中给出了AH隧道模式中的认证部分。AH隧道模式为整个数据包提供完整性检查和认证,认证功能优于ESP。但在隧道技术中,AH协议很少单独实现,通常与ESP协议组合使用。


创作不易,求关注,点赞,收藏,谢谢~

接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/494672
推荐阅读
相关标签