计算机网络——网络安全(1),2024年最新阿里内部核心网络安全进阶手册

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
img

正文

2.1.5.1 原理

攻击者首先伪造受害者的IP地址。
        然后诱使其他一些正常的、未被感染的机器向受害者发送大量不必要的流量。

2.1.5.2 操作方式

使用一个僵尸网络(botnet)。
        每个僵尸机(zombie)向被用作放大器的机器发送请求,这些请求伪装成来自受害者的IP地址。
        这些放大器机器随后向受害者的IP地址发送回应。
        受害者遭受DDoS攻击,导致其互联网连接饱和。

2.1.5.3 放大效应

当放大器机器的响应数据量远大于初始请求的数据量时,就会产生放大效应。
        例如,通过DNS放大器进行的攻击(对Spamhaus的攻击,2013年5月,达到了300 Gb/秒);使用NTP(网络时间协议)进行的攻击(2014年2月,达到了400 Gb/秒)。

这种攻击类型之所以危险,是因为它不仅利用了攻击者自己的僵尸网络,还利用了无辜的第三方系统,将攻击的规模扩大到受害者难以承受的程度。这也使得防御变得更加困难,因为直接的攻击流量并不是来自于攻击者,而是来自许多合法但被利用的服务器。

2.2 互联网恢复能力:BGP 和 DNS

2.2.1 互联网的弹性

互联网的弹性是指其在面对各种事件和攻击时保持功能正常运行的能力,以及限制事件影响的能力。以下是有关互联网弹性的一些要点:

2.2.1.1 互联网的弹性

根据AFNIC的报告《互联网能被打败吗?》(“Peut-on casser l’Internet?”),互联网在局部可能是脆弱的,但在全球范围内则表现出强大的鲁棒性。

2.2.1.2 法国互联网的弹性

法国国家信息系统安全局(ANSSI)和法国互联网名称与合作协会(AFNIC)发布的报告讨论了法国互联网的弹性。

2.2.1.3 针对个别网站的攻击

对个别网站的攻击,如网页篡改(“defacing”),可能会造成心理影响,但真正的"威胁"主要是对受害者品牌形象的影响,以及可能对服务用户产生的影响。这种攻击的影响是有限的。

2.2.1.4 针对互联网基础设施的攻击

攻击互联网的基础设施则可能对更多人产生影响。例如,攻击DNS服务器或互联网交换点(IXP)会影响大范围内的互联网访问和服务。

尽管单个网站或服务可能容易受到攻击,互联网作为一个整体却具有很高的恢复力和容错能力,这得益于其分布式和去中心化的设计。然而,这也意味着互联网的基础设施,如路由器、交换机和DNS服务器,需要特别保护,因为它们对于整个网络的稳定性至关重要。

2.2.2 BGP与DNS

互联网的弹性在很大程度上依赖于其关键协议的鲁棒性,特别是以下两个:

2.2.2.1 BGP(边界网关协议)

BGP是互联网上的核心路由协议,负责传输数据和路由通告。它允许不同的自治系统(AS)之间交换路由信息,这样数据包就可以找到从源头到目的地的最佳路径。BGP的设计使得互联网能够动态调整路由,以应对节点故障或路径变化。

BGP(边界网关协议)是互联网上使用的核心路由协议,它的工作原理如下:

2.2.2.1.1 IP地址管理

网络运营商(即自治系统,AS)管理一系列连续的IP地址块,称为“前缀”。例如,2001:db8::/322001:cafe:deca::/48 是IPv6地址的前缀。

2.2.2.1.2 BGP的作用

运营商使用BGP来交换不同自治系统间可达性信息,这些自治系统通过BGP宣告它们管理的IP前缀。

2.2.2.1.3 自治系统间的互联

AS之间的互联分为两类:对等(peering)和过境(transit)。

2.2.2.1.3.1 对等连接(Peering)

两个AS(对等方)相互宣告它们管理的前缀,所有在这两个对等方之间的流量都是直接交换的。

2.2.2.1.3.2 过境连接(Transit)

一个客户(可能是公司、互联网服务提供商或内容分发网络)会向它的过境运营商宣告它管理的前缀。过境运营商将客户的宣告传播出去,并将互联网上其他所有前缀的可达性信息宣告给客户。

2.2.2.2 BGP劫持

BGP是一个基于信任的协议,它假设所有的宣告都是正确的。然而,这也意味着如果一个AS错误地宣告了它并不拥有的IP前缀,或者故意进行虚假宣告(这被称为BGP劫持),它可能会误导流量,导致流量被送到错误的目的地,从而对互联网的路由造成破坏。这种攻击可能是由配置错误或恶意行为引起的,可以导致数据流量的窃听、拦截或流量重定向。为了防止这类攻击,正在推行一些安全措施,如资源公钥基础设施(RPKI)来验证BGP宣告的正确性。

BGP劫持是一种网络攻击,攻击者通过向BGP宣告不属于自己管理的IP地址,从而导致网络流量被错误地导向攻击者的网络。这种攻击有以下几个主要目的和后果:

2.2.2.2.1 劫持目的

中断服务:攻击者可以通过劫持流量使受害者与互联网的连接中断,实施一种形式的拒绝服务攻击。
        冒充受害者:攻击者可能通过劫持流量来冒充受害者,以便截获受害者的数据,例如阅读其邮件。

2.2.2.2.2 攻击后果

受害者可能会迅速发现他们的互联网流量几乎完全丢失。

2.2.2.2.3 BGP分流(BGP shunt)

这是一种更难实施的攻击,攻击者会监听或修改流经其网络的流量,然后再将流量重新导向受害者,以延迟攻击被发现的时间。

2.2.2.3 防御这些攻击的解决方案
2.2.2.3.1 BGPSec(RFC 8205)

BGPSec旨在增加对BGP路由宣告的认证,确保宣告的合法性。

2.2.2.3.2 RPKI(资源公钥基础设施)

RPKI是一个专门为IP资源(如IP前缀和AS号码)认证的管理体系,它由国际互联网数字分配机构(IANA)注册的认证机构管理。
        资源证书(resource certificates):是X.509证书,证实某个实体拥有特定的IP前缀和AS号码。
        路由源授权(ROA,Route Origin Authorization):这些是被签名的路由对象,用于指定哪些AS有权宣告特定的IP前缀。

通过这些防御措施,可以提高BGP宣告的可信度,并减少劫持事件的发生。不过,尽管有了这些安全增强,实施BGPSec和RPKI的过程可能比较缓慢,因为这需要全球的运营商和网络自治系统的广泛合作与支持。

2.2.2.4 DNS(域名系统)

DNS是另一个核心协议,它将人类可读的域名(完全限定域名,FQDN)映射到机器可读的IP地址。DNS查询是访问任何网站和网络服务的必要步骤,因为它们将用户从域名导向正确的服务器。

域名系统(DNS)是互联网的关键组成部分,因为它负责将域名解析成IP地址。然而,DNS协议存在一些安全漏洞,其中之一是DNS缓存污染,也称为DNS欺骗。

2.2.2.4.1 DNS缓存污染(DNS cache poisoning**)**

这是DNS协议的一个基本弱点,由安全研究员Dan Kaminsky在2008年发现。
        攻击者通过欺骗DNS服务器,使其接收并缓存伪造的DNS响应,从而使该服务器上的所有用户在尝试访问某个网站时被重定向到一个恶意网站。
        这使得用户可能无意中访问到仿冒网站(用于网络钓鱼)、带有病毒的网站或其他恶意软件分发点。

2.2.2.4.2 防御措施
2.2.2.4.2.1 部署DNSSec(DNS安全扩展)

DNSSec通过为DNS记录提供加密签名,来确保DNS响应的真实性和完整性,从而防止伪

DNSSec的实现定义在RFC 4033及相关文档中。

2.2.2.4.2.2 加强DNS抵抗伪造答案的能力

RFC 5452中定义了一系列措施,旨在增强DNS协议抵御缓存污染攻击的能力。

2.2.2.4.2.3 针对DoS攻击的防御

通过在权威DNS服务器上实现冗余,即使有服务器遭到攻击,其他服务器也可以继续提供服务,从而保持DNS的可用性。

这些措施有助于确保用户能够安全可靠地解析域名,防止DNS相关的安全威胁破坏互联网的正常运作。

2.2.2.4.3 其他方面

除了DNS缓存污染之外,DNS在安全和隐私方面还面临其他几个问题,如监控、审查以及由于“不诚实”的DNS服务器导致的误导性解析。这些问题催生了新的技术发展,用于增强DNS协议的安全性和隐私性,特别是DNS over TLS(DoT)和DNS over HTTPS(DoH)。

2.2.2.4.3.1 DoT(DNS over TLS)

DoT的目的是在TLS(传输层安全协议)之上加密DNS消息。
        这增强了用户隐私和安全性,因为它可以防止对DNS请求的监听和DNS通信的篡改。

2.2.2.4.3.2 DoH(DNS over HTTPS)

DoH是将DNS请求封装在HTTPS请求中的技术,定义在RFC 8484中,发布于2018年10月。
        它使用443端口进行通信,这个端口很少被封锁,从而提供了对请求来源和响应完整性的验证。

2.2.2.4.3.3 在家中使用

用户可以选择使用像Stubby这样的工具(https://getdnsapi.net/)来实现在本地机器上的DoH或DoT。
        不过,即使使用了DoT或DoH,请求最终还是要到达权威DNS服务器,而这个过程中请求可能会在某些环节以明文形式进行。

使用DoT和DoH的逐渐普及显示了人们对于互联网隐私和安全的重视,尤其是在DNS解析这样一个经常被忽视的环节。这些协议为防止监控、审查和篡改提供了有效的手段,同时也为互联网的整体安全架构增添了一层额外的保护。

这两个协议的弹性对于整个互联网的可靠性至关重要。如果BGP或DNS遭受破坏,比如通过误导的BGP路由宣告或DNS缓存污染,那么互联网的部分或全部可能会变得不可访问。因此,维护这些协议的安全性是互联网基础设施管理的一个关键方面。例如,通过实施BGP安全最佳实践(如路由过滤和RPKI)和保护DNS查询(如使用DNSSEC)来提高弹性。

3.  加密:安全的支柱之一

3.1 密码学:保密科学(以及更多…)

3.1.1 密码学的基本知识

密码学是信息安全领域的一个重要数学基础。它的主要目标是保护数据的机密性、完整性和真实性。密码学通过使用加密技术来实现以下目标:

加密:加密是一种将数据转化为不可读形式的过程,以防止未经授权的访问和窃听。这确保了数据的保密性,只有授权的人才能解密和查看数据。

签名:数字签名是一种用于验证数据的完整性和真实性的技术。它允许数据的发送者用私钥对数据进行签名,接收者可以使用公钥验证签名以确保数据未被篡改,并且确实由发送者生成。

身份认证:密码学还用于身份验证,以确保通信的一方是合法的。这可以包括验证服务器的身份,确保用户与正确的服务器建立连接,以及用户在系统中的身份验证。

密码学的关键概念是密钥管理,而不是加密算法的保密性。密码学算法通常是公开的,并且被广泛研究和审查。安全性依赖于保护密钥的安全性。攻击者可能尝试使用暴力破解攻击来尝试所有可能的密钥值,因此密码长度和复杂性非常重要。

此外,密码分析是一种研究密码系统中潜在弱点的方法,以找到攻击的方式,可能会降低攻击成本,相对于暴力破解而言更有效。因此,密码学的设计需要经过广泛的分析和测试,以确保其安全性。

总之,密码学是信息安全的关键组成部分,用于保护数据的保密性、完整性和真实性,并确保安全通信和身份验证。密钥管理和密码系统的设计是确保信息安全的关键因素。

3.1.2 两大加密算法

在密码学中,有两大类主要的加密算法:对称加密(cryptographie symétrique)和非对称加密(cryptographie à clé publique)。

3.1.2.1 对称加密(Symmetric Cryptography)

工作原理:对称加密使用相同的密钥(也称为共享密钥或对称密钥)来同时加密和解密消息。这意味着发送方和接收方都知道并使用相同的密钥来进行加密和解密操作。

示例:一些历史上的对称加密算法包括凯撒密码(Caesar Cipher)、维尔纳姆密码(Vernam Cipher)、恩尼格玛(Enigma),以及现代的加密算法如DES(Data Encryption Standard)和AES(Advanced Encryption Standard)。

3.1.2.2 非对称加密(Asymmetric Cryptography)

工作原理:非对称加密使用一对密钥,包括公钥和私钥。公钥是公开的,可以被任何人获得,而私钥必须保持秘密。这两个密钥通过一个单向函数相关联,可以轻松地加密和解密数据,但几乎不可能通过公钥推导出私钥。

示例:一些非对称加密算法包括RSA加密(用于加密和签名)、DSA(数字签名算法)、El Gamal加密、椭圆曲线密码学等。

在非对称加密中,公钥通常用于加密消息,而私钥用于解密。此外,私钥还用于生成数字签名,以验证消息的来源和完整性。公钥可以公开分享,但私钥必须严格保密。

总之,对称加密和非对称加密都在信息安全领域中扮演着重要角色。对称加密使用相同的密钥进行加密和解密,而非对称加密使用一对相关的密钥,其中一个公开,另一个保持私密,以实现加密、解密和数字签名等功能。

3.1.2 PKI

在公钥密码学中,为了防止中间人攻击(身份冒充),必须信任公钥。为了实现这一目标,通常会使用公钥基础设施(PKI,Public Key Infrastructure)服务。

以下是PKI的一些关键概念:

PKI服务:PKI是一个管理和维护数字证书的框架,用于管理公钥和数字证书。PKI服务包括颁发、更新、吊销和验证数字证书的过程。

数字证书:PKI颁发数字证书,这是一种数字文档,用于证明一个实体的身份和与其关联的公钥。数字证书包含有关公钥所有者的信息以及证书颁发者(CA,Certificate Authority)的数字签名,以确保证书的真实性。

X.509格式:数字证书通常采用X.509格式,这是一种国际标准化的证书格式,其中包含了证书持有者的信息、公钥以及数字签名等信息。

信任CA:要有效地使用PKI,必须信任证书颁发者或CA。这意味着用户需要在其系统中预先配置信任的CA,以确保他们的证书是可信的。

使用PKI服务和数字证书,用户可以验证其他实体的身份,并确保与其通信的公钥的真实性。这有助于防止中间人攻击,因为攻击者无法伪造一个有效的数字证书,除非他们能够伪造CA的数字签名,这在安全性上非常困难。

总之,PKI是用于建立信任和保护通信的重要工具。数字证书是PKI的关键组成部分,用于证明公钥的真实性和与实体的身份相关联。用户必须信任CA以确保PKI的有效性。

3.1.3 混合加密方法

在实际应用中,通常会采用混合加密方法,结合了对称加密和非对称加密,以充分利用它们各自的优势。

3.1.3.1 对称加密用于数据传输

对称加密算法通常更快,因此在加密和解密大量数据时效率更高。因此,通常会使用对称加密算法来加密和解密实际的数据流。这要求通信的双方事先共享一个密钥,以便进行加密和解密。

3.1.3.2 协商对称密钥

在进行数据加密之前,通信双方(比如Alice和Bob)需要达成一致,以确定将用于对称加密的密钥值。这个协商过程需要安全的方法来确保第三方不能拦截或篡改密钥。

3.1.3.3 Diffie-Hellman密钥协商协议

Diffie-Hellman协议是一种常用的密钥协商协议,它允许Alice和Bob在没有事先共享密钥的情况下协商出一个共享的对称密钥。这是通过使用各自的公钥和私钥以及协议中的数学运算来实现的。攻击者无法通过监听协商过程来获取共享密钥,因为这涉及到求解离散对数问题,这在当前的计算资源下是非常困难的。

3.1.3.4 混合加密

一旦Alice和Bob协商出了共享的对称密钥,他们可以使用该密钥来加密和解密实际的数据流。这样,他们可以利用对称加密的速度和效率,同时也保持了安全性,因为共享密钥是通过安全的Diffie-Hellman协议协商的。

总之,混合加密方法充分利用了对称加密和非对称加密的优势,以实现安全而高效的数据通信。Diffie-Hellman密钥协商协议用于安全地生成共享密钥,确保通信双方在没有事先共享密钥的情况下可以建立安全的通信通道。这种方法在保护数据安全和保密性方面非常有用。

3.2 TLS协议

3.2.1 背景

IPv4(Internet Protocol Version 4)和TCP(Transmission Control Protocol)是互联网通信的关键协议,但它们本身并不提供安全性功能。

3.2.1.1 IPv4
3.2.1.1.1 不包含安全机制

IPv4本身并没有内置任何安全性机制。它不提供对通信源或目的地的身份验证,这意味着攻击者可以伪造自己的IP地址(IP伪造)。因此,IPv4不提供对通信的真实性和源的身份验证的保证。

3.2.1.1.2 不提供数据隐私

IPv4通信是明文的,没有加密保护,这意味着数据在传输过程中可能会被窃听或拦截。对于保护通信内容的隐私,需要使用其他安全协议,如IPsec或TLS/SSL。

3.2.1.2 TCP
3.2.1.2.1 可靠的传输

TCP是一个可靠的面向连接的传输协议,它确保数据的可靠传输。它具有数据包重新传输机制,以处理在传输过程中丢失的数据包,以确保数据完整性。

3.2.1.2.2 序列号

TCP使用序列号来确保数据包的有序传输和重组。这有助于保持数据的正确顺序,从而提供可靠的数据传输。

3.2.1.2.3 流量控制

TCP还具有流量控制功能,以根据网络条件动态调整数据发送速率,以避免网络拥塞并提高性能。

然而,正如提到的,TCP本身也不提供安全性。要在TCP/IP通信中添加安全性,需要使用其他安全协议,如TLS/SSL(用于加密数据传输)、IPsec(用于网络层安全)、以及其他身份验证和授权机制。这些安全协议和机制可以确保数据的机密性、完整性和身份验证,从而增强了互联网通信的安全性。

3.2.2 TLS的定义

TLS(Transport Layer Security)是SSL(Secure Sockets Layer)的后继者,用于提供基于TCP/IP的应用层安全性。它在传输层与应用层之间添加了一个加密和安全性层,为应用程序提供了以下安全功能:

3.2.2.1 机密性

TLS使用对称加密算法来加密通信数据,以确保数据在传输过程中是加密的,只有授权的受信任实体可以解密和查看数据。

3.2.2.2 身份验证

TLS利用公钥基础设施(PKI)的数字证书来进行身份验证。服务器在通信开始时向客户端提供数字证书,客户端使用服务器的证书来验证其身份。这确保了客户端与正确的服务器建立连接。

3.2.2.3 完整性

TLS使用消息摘要算法来验证传输数据的完整性,以检测数据是否在传输过程中被篡改。

3.2.2.4 密钥交换

TLS使用非对称加密算法(如RSA或ECDH)来进行密钥协商,以安全地交换对称加密的会话密钥。这有助于确保安全的密钥交换,以保护通信的机密性。

3.2.2.5 TLS广泛用于各种应用程序协议

TLS广泛用于各种应用程序协议,以提供安全性,包括:
        HTTPS(HTTP over TLS/SSL):用于安全的Web浏览器通信。
        LDAPS(LDAP over TLS/SSL):用于安全的LDAP目录服务通信。
        IMAPS(IMAP over TLS/SSL):用于安全的电子邮件检索通信。
        POP3S(POP3 over TLS/SSL):用于安全的电子邮件接收通信。
        DNS-over-TLS(DoT):用于安全的DNS查询。

每个应用程序协议的TLS版本通常使用特定的端口号来标识,以确保安全连接。例如,HTTPS通常使用443/tcp端口,IMAPS使用993/tcp端口,DNS-over-TLS使用853/tcp端口等。

总之,TLS是一种用于在TCP/IP通信中提供机密性、身份验证、完整性和密钥交换的加密和安全性协议,广泛用于保护各种应用程序通信。它有助于确保数据在传输过程中是安全的,并提供了一种可信的方式来验证通信的对端身份。

3.2.3 TLS的版本

TLS(Transport Layer Security)最初由Netscape(与RSA Data Security合作)开发,后来由IETF(Internet Engineering Task Force)进行标准化。TLS经历了多个版本的演进,以反映密码学领域的进展,主要版本包括:

SSL 2.0:这是TLS的前身,不建议使用,因为它存在许多严重的安全漏洞。

SSL 3.0:SSL 3.0在SSL 2.0的基础上进行了改进,但后来也被认为不安全,因此不再推荐使用。

TLS 1.0:TLS 1.0是第一个正式的TLS版本,它引入了许多安全性增强功能,并被广泛使用。

TLS 1.1:TLS 1.1在TLS 1.0的基础上进行了一些改进,以增强安全性。

TLS 1.2:TLS 1.2进一步增强了协议的安全性,并引入了一些新的密码学算法。

TLS 1.3:TLS 1.3是最新的TLS版本,于2018年发布。它引入了许多改进,其中包括使用

Diffie-Hellman临时密钥交换来实现持久性机密性。这意味着即使未来的密码破解技术能够破解当前的密钥,以前的通信数据也将保持机密,因为TLS 1.3使用的密钥交换机制是临时的,不会暴露以前的通信。

TLS 1.3还改进了性能和安全性,删除了不安全的密码学选项,并降低了通信的延迟。因此,TLS 1.3被广泛认为是目前最安全和最可靠的TLS版本,推荐用于保护网络通信。

3.2.4 TLS的子协议

TLS(Transport Layer Security)协议包括多个子协议,其中两个关键的子协议是:

3.2.4.1 TLS Handshake Protocol(TLS握手协议)

这是TLS通信的初始阶段,它用于建立安全通信的基础。在握手过程中,通信的双方(通常是客户端和服务器)进行以下操作:
        协商支持的加密算法和协议版本。
        交换随机数以用于后续的密钥生成。
        进行身份验证,通常涉及到服务器提供数字证书并验证客户端。
        协商会话密钥(Session Key),该密钥将用于后续的数据加密和解密。

3.2.4.2 TLS Record Protocol(TLS记录协议)

一旦握手过程完成并且双方都拥有会话密钥,TLS记录协议负责实际的数据传输和安全性。
        数据记录(例如,HTTP请求或响应)在此阶段被分段、加密并封装,以便在传输过程中保持机密性和完整性。
        这个协议还负责数据的解密和验证,以确保数据在接收端被正确还原和验证。

总之,TLS协议包括握手协议和记录协议两个主要子协议。握手协议用于在通信开始时建立安全连接,协商参数并进行身份验证。记录协议用于实际的数据传输,包括分段、加密、解密和验证等操作,以确保通信的机密性和完整性。这两个协议一起提供了TLS安全通信所需的关键功能。

3.2.4 认证模式和协商过程

在TLS(Transport Layer Security)中,有不同的认证模式和协商过程,这些模式和过程用于确保通信的安全性和身份验证。

3.2.4.1 认证模式

服务器认证:在此模式下,服务器使用X.509数字证书进行身份验证,以确保客户端正在连接到正确的服务器。客户端可以选择是否要验证服务器的身份,但通常建议进行验证,以确保安全性。

双向认证:在此模式下,服务器和客户端都使用X.509数字证书进行身份验证。这意味着服务器不仅验证客户端,而且客户端也验证服务器。这种双向认证确保了通信的双方都是合法的。

3.2.4.2 SSL协商

在TLS握手过程中,客户端和服务器会协商一些关键参数,以确定如何保护通信。这些参数包括:
        使用的加密算法(对称加密、非对称加密等)。
        密钥长度。
        使用的哈希算法。
        是否启用双向认证。
        支持的TLS版本。

这个协商过程确保客户端和服务器都选择了最适合它们的安全配置,以确保通信的机密性、完整性和身份验证。

3.2.5 TLS握手协议的简化过程

用于初始化通信并协商安全参数:

3.2.5.1 客户端发送支持的算法列表

通信开始时,客户端向服务器发送一个包含其支持的加密算法、密钥交换算法和哈希算法的列表。

3.2.5.2 服务器选择算法

服务器从客户端提供的算法列表中选择一个适合的加密、密钥交换和哈希算法,并将其通知客户端。

3.2.5.3 服务器发送证书

服务器将其数字证书发送给客户端,该证书包含了服务器的公钥以及与之相关的数字签名,用于身份验证。

3.2.5.4 客户端验证服务器身份

客户端使用服务器的数字证书验证服务器的身份。这包括检查证书的有效性和合法性,并确保它是由受信任的证书颁发机构(CA)签发的。

3.2.5.5 客户端生成会话密钥

一旦服务器的身份被验证,客户端生成一个用于后续通信的会话密钥。这可以通过以下方式之一实现:
        使用服务器的公钥加密一个随机生成的会话密钥。
        使用Diffie-Hellman密钥交换协议,双方协商生成会话密钥。这种方式可以提供前向保密性(Forward Secrecy),即使以后的通信也不会受到当前密钥的威胁。

一旦这个握手过程完成,通信双方都拥有相同的会话密钥,用于后续的加密和解密通信数据。这确保了通信的安全性,包括机密性、完整性和身份验证。握手过程还提供了持久性保密性,因为即使在未来,如果服务器的长期私钥被泄露,以前的通信数据也仍然是安全的,因为它们是使用会话密钥加密的。

3.3 IPsec协议

3.3.1 IPv6协议

IPv6(Internet Protocol version 6)是互联网协议的下一代,于20世纪90年代中期开始开发,旨在满足不断增长的互联设备数量和提高网络安全性的需求。

IPv6引入了许多改进和新特性,以应对以下需求:

3.3.1.1 更大的地址空间

IPv6采用128位的地址长度,相比IPv4的32位地址长度,提供了远远更大的地址空间。这允许IPv6支持更多的设备和节点,以满足不断增长的互联网需求,同时减少了IPv4中的地址枯竭问题。

3.3.1.2 提高安全性

IPv6旨在提高网络通信的安全性。它引入了一些安全功能,如IPsec(Internet Protocol Security),以保护通信的机密性、完整性和身份验证。IPsec在IPv6中更加内置,可以更轻松地为网络通信添加安全性。

3.3.1.3 保密性

IPv6支持将通信内容保密化,以防止窃听。这意味着IPv6可以用于加密通信,以确保数据在传输过程中是加密的。

3.3.1.4 身份验证和完整性

IPv6具有内置的安全机制,可用于验证通信的源和目的地,并确保通信数据的完整性。这有助于防止未经授权的访问和数据篡改。

总之,IPv6是为满足互联网增长和提高网络安全性需求而设计的下一代互联网协议。它提供了更大的地址空间、内置的安全性功能以及支持保密性和身份验证的功能。IPv6的广泛采用有助于推动互联网的持续发展和改进。

3.3.2 IPsec协议

IPsec(Internet Protocol Security)是一套网络安全协议,最初是为IPv6设计的,后来也扩展支持IPv4。它的目标是提供网络通信的安全性,包括身份验证、数据机密性和数据完整性,同时不需要修改整个互联网环境。

以下是IPsec的一些关键特点和组件:

3.3.2.1 认证和加密

IPsec允许对通信进行身份验证,确保通信的两端是合法的。它还提供数据的机密性和完整性,以确保数据在传输过程中不会被篡改或窃听。

3.3.2.2 操作在OSI模型的第三层

IPsec工作在OSI模型的第三层,即网络层。它通过在IP数据包中添加特定的IPsec头部(例如,认证头(AH)和封装安全有效载荷头部(ESP))来实现安全性。

3.3.2.3 认证头(AH)

AH提供身份验证和数据完整性保护。它包括计算和验证数据包的摘要,并验证数据包的发送者身份,以确保数据包未被篡改。

3.3.2.4 封装安全有效载荷头部(ESP)

ESP提供了认证、加密和数据完整性。它可以用于保护通信的机密性,以确保数据在传输过程中是加密的,同时还可以验证数据的完整性和发送者的身份。

3.3.2.5 不仅限于IPv6

尽管最初设计为IPv6的一部分,IPsec已扩展到支持IPv4,并且在IPv4和IPv6网络中都得到广泛应用。

IPsec的部署可以增强网络通信的安全性,特别是在需要跨不安全网络或互联网进行敏感数据传输时。它允许网络管理员配置策略来指定哪些通信需要加密、身份验证和数据完整性保护,从而满足不同的安全需求。

3.3.3 IPsec的子协议

IPSec(Internet Protocol Security)依赖于多个不同的子协议来提供安全性,其中包括:

3.3.3.1 认证头协议(Authentication Header,AH)

AH的主要目标是确保通信的两端的身份验证,以便确定它们是合法的。
        AH不提供数据的机密性,这意味着通信内容未加密,但它可以用于防御一些攻击,如IP地址欺骗(IP spoofing)和重放攻击(replay)。

3.3.3.2 封装安全有效载荷协议(Encapsulating Security Payload,ESP)

ESP的主要目标是提供数据的机密性。它可以用于加密通信的内容,以确保数据在传输过程中是加密的。
        ESP可以在两种模式下使用:传输模式(Transport Mode)和隧道模式(Tunnel Mode)。在传输模式下,只有数据部分被加密,而在隧道模式下,整个IP数据包(包括头部)被加密。
        ESP还可以提供数据完整性,以防止数据在传输过程中被篡改。

3.3.3.3 Internet密钥交换协议(Internet Key Exchange,IKE)

IKE用于建立和管理IPSec连接所需的安全参数,包括密钥协商和身份验证。
        它不用于传输用户数据,而是用于管理安全关联,包括主要的安全关联(用于建立初始通信)和辅助的安全关联(用于建立和管理额外的连接)。
        IKE协助在通信双方之间建立安全的隧道,以确保数据在传输过程中受到保护。

这些子协议可以单独使用,也可以组合在一起以满足不同的安全需求。例如,您可以选择使用AH来进行身份验证,同时使用ESP来提供数据的机密性和完整性。总之,IPSec的灵活性和可配置性使其成为网络通信的强大安全工具。

3.3.4 保护通信的两种模式

IPSec支持两种不同的模式来保护通信:传输模式(Transport Mode)和隧道模式(Tunnel Mode)。

3.3.4.1 传输模式

传输模式不修改原始IP头部,而是插入在IP头部和传输层协议(如TCP、UDP)之间。
        在这个模式下,只有数据部分(即传输层协议的数据负载)被加密和保护,IP头部仍然保持原样。
        这个模式通常用于端到端的通信,其中通信的两端可以是主机或网关(路由器)。

3.3.4.2 隧道模式

隧道模式完全替换了原始IP头部,并将整个IP数据包(包括原始IP头部)封装在一个新的IP包中。
        新的IP包具有不同的源和目的地,通常源地址是IPSec网关的外部地址(例如,防火墙或VPN设备的外部地址),目的地址是IPSec网关的内部地址(例如,受保护网络内部的主机或网关)。
        隧道模式通常用于连接不同网络或子网之间的通信,其中整个通信流量都被加密和保护。

传输模式用于端到端的通信,只保护传输层以上的数据,而隧道模式用于连接不同网络或子网之间的通信,保护整个IP数据包。这两种模式在不同的网络和安全配置中都有其用途。

3.3.5 SA安全关联

安全关联(Security Association,SA)是一种用于在IPSec中建立和维护安全性的关键概念。从物理角度来看,它可以看作是存储在数据库中的记录,用于识别应用于哪种类型的网络流量(数据包)。

每个安全关联包括以下元素,以确定它适用于哪种流量:

源地址和目标地址:这些是通信的源和目标的IP地址,指定了安全关联适用于哪些通信对。

标准化名称:通常以DNS名称的形式表示,这允许关联到特定的用户、主机或域名。

传输协议:指定了安全关联适用于哪种传输层协议,例如TCP或UDP。

源和目标端口:这些是传输层协议中的源端口和目标端口,用于确定关联适用于哪些应用程序或服务。

安全关联还包括关于如何处理相关流量的信息:

认证和机密性参数:这包括用于身份验证和数据加密的算法、密钥、初始化向量等参数,用于确保通信的安全性。

IPSec头部类型:指定了安全关联适用的IPSec头部类型,可以是传输模式或隧道模式。

关联的生存期:指定了关联的有效期,即关联将在多长时间后过期。

反重放数据和选项:用于防止重放攻击的参数,以及用于处理数据包分片的选项。

这些安全关联信息存储在一个数据库中,用于建立和管理IPSec连接,以确保通信的安全性。当数据包到达时,系统会根据数据包的特性匹配适当的安全关联,并根据关联的参数来处理数据包,包括身份验证、加密和完整性验证。安全关联是IPSec中实现网络安全的关键组件之一。

3.4 最新加入:QUIC

3.4.1 QUIC的基本知识

QUIC(Quick UDP Internet Connections)是一种新型的传输协议,最初由Google于2013年发明,旨在克服HTTP/2的一些限制。它已经集成到谷歌Chrome浏览器中,并于最近被IETF(Internet Engineering Task Force)标准化为RFC 9000(于2021年5月发布)。

3.4.2 QUIC的一些关键特点

综合性:QUIC将传输层安全性(TLS 1.3)和TCP的可靠性功能合并到一个协议中。这使得它既能提供数据的加密和身份验证,又能保证数据的可靠传输,而无需像HTTP/2一样执行多次握手。

基于UDP:QUIC运行在UDP(User Datagram Protocol)之上,而不是TCP。这意味着它可以通过UDP的快速连接特性提供更低的延迟,并且可以更好地适应网络变化。

减少握手次数:QUIC的设计目标之一是减少握手次数,从而降低延迟。QUIC通过减少握手次数来加速连接建立,并且可以在连接的生命周期内保持多个流。

HTTP/3是建立在QUIC之上的新版本HTTP协议。它代表了HTTP在QUIC协议下的演进,旨在提供更快的加载速度和更好的性能。根据CloudFlare的数据,HTTP/3目前占据了大约12%的网络流量。

总之,QUIC是一个具有潜力的网络传输协议,它综合了安全性和性能,并在各种网络条件下提供了更好的连接速度和可靠性。它的广泛采用可以改善网络通信的效率和安全性。

3.4.2 HTTP/2

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

HTTP/3是建立在QUIC之上的新版本HTTP协议。它代表了HTTP在QUIC协议下的演进,旨在提供更快的加载速度和更好的性能。根据CloudFlare的数据,HTTP/3目前占据了大约12%的网络流量。

总之,QUIC是一个具有潜力的网络传输协议,它综合了安全性和性能,并在各种网络条件下提供了更好的连接速度和可靠性。它的广泛采用可以改善网络通信的效率和安全性。

3.4.2 HTTP/2

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
[外链图片转存中…(img-jtgmeX7E-1713281555515)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值