计算机网络(7):网络安全

网络安全问题

计算机网络上的通信面临以下的四种威胁:
(1)截获(interception)攻击者从网络上窃听他人的通信内容。
(2)中断(interruption)攻击者有意中断他人在网络上的通信。
(3)篡改(modification)攻击者故意篡改网络上传送的报文。
(4)伪造(fabrication)攻击者伪造信息在网络上传送。
四种威胁可划分为两大类,即被动攻击和主动攻击。截获信息的攻击称为被动攻击,而中断、篡改和伪造信息的攻击称为主动攻击。

在被动攻击中,攻击者只是观察和分析某一个协议数据单元 PDU而不干扰信息流。即使这些数据对攻击者来说是不易理解的,他也可通过观察PDU的协议控制信息部分,了解正在通信的协议实体的地址和身份,研究 PDU的长度和传输的频度,以便了解所交换的数据的某种性质。这种被动攻击又称为流量分析(traffic analysis)。

主动攻击是指攻击者对某个连接中通过的PDU进行各种处理。如有选择地更改、删除、延迟这些PDU(当然也包括记录和复制它们),还可在稍后的时间将以前录下的 PDU插入这个连接(即重放攻击)。甚至还可将合成的或伪造的PDU送入到一个连接中去。

计算机网络安全的内容:
1.保密性:为用户提供安全可靠的保密通信是计算机网络安全最为重要的内容。
2.安全协议的设计:目前在安全协议的设计方面,主要是针对具体的攻击(如假冒)设计安全的通信协议。
3.访问控制:也叫做存取控制或接入控制。必须对接入网络的权限加以控制,并规定每个用户的接入权限。

数据加密模型是一种用于保护数据机密性的安全设计。以下是一般的数据加密模型的主要组成部分:

明文(Plaintext):
明文是指未经加密的原始数据,即用户要传输或存储的数据内容。

加密算法(Encryption Algorithm):
加密算法是一种数学运算或处理方法,用于将明文转换为密文。加密算法包括对称加密和非对称加密两种主要类型。
对称加密: 使用相同的密钥进行加密和解密。常见的对称加密算法包括DES(Data Encryption Standard)、AES(Advanced Encryption Standard)等。
非对称加密: 使用一对公钥和私钥,其中一个用于加密,另一个用于解密。常见的非对称加密算法包括RSA(Rivest–Shamir–Adleman)和ECC(Elliptic Curve Cryptography)。

密钥(Key):
密钥是在加密和解密过程中使用的秘密参数。对称加密使用相同的密钥,而非对称加密使用一对公钥和私钥。密钥的安全性对整个加密系统的安全性至关重要。

密文(Ciphertext):
密文是通过加密算法和密钥对明文进行加密而产生的加密后的数据。密文应当在未授权的情况下难以理解,保护了数据的机密性。

解密算法(Decryption Algorithm):
解密算法是用于将密文转换回明文的算法。对称加密使用相同的密钥进行加密和解密,而非对称加密使用不同的密钥进行加密和解密。

密钥管理(Key Management):
密钥管理是确保密钥的安全生成、分发、存储和撤销的过程。它涉及到密钥的生成、更新、分发、存储和销毁等方面。

安全协议和标准:
数据加密模型通常涉及使用安全协议和标准,以确保在数据传输和存储中保持数据的机密性。例如,SSL/TLS用于保护Web通信,IPsec用于安全的网络通信。

随机性(Randomness):
在加密中引入随机性是为了增加密文的复杂性,使得攻击者难以破解加密算法。随机性可以通过使用随机数生成器来实现。

安全性分析(Security Analysis):
对加密模型进行安全性分析是确保系统安全性的一部分。这涉及评估加密算法的强度、密钥的管理流程以及整个加密系统的抗攻击能力。

更新和漏洞管理:
及时更新使用的加密算法和密钥,对已知的漏洞采取措施,以确保数据的安全性。

两类密码体制

密码体制是指在信息安全领域中,用于确保通信的机密性、完整性和可用性的一种组织结构和方法。基于密码使用的方式,密码体制可以分为两大类:

1.对称密码体制(Symmetric Cryptography):
对称密码体制使用相同的密钥(称为对称密钥)来进行加密和解密。发送方使用密钥对明文进行加密,接收方使用相同的密钥对密文进行解密。对称密钥必须在通信双方之间共享,并且对方必须能够安全地保管这个密钥。
特点:
加密和解密使用相同的密钥。
算法的设计相对简单,执行速度较快。
密钥管理相对容易,因为每对通信方只需要共享一个密钥。

常见的对称加密算法:
DES(Data Encryption Standard)
3DES(Triple DES)
AES(Advanced Encryption Standard)
IDEA(International Data Encryption Algorithm)

2.非对称密码体制(Asymmetric Cryptography):
非对称密码体制使用一对密钥,分别是公开密钥(Public Key)和私有密钥(Private Key)。发送方使用接收方的公开密钥进行加密,接收方使用自己的私有密钥进行解密。这种体制避免了对称密钥在通信双方之间的共享问题。
特点:
加密和解密使用不同的密钥,即公钥和私钥。
算法相对复杂,执行速度较慢。
密钥管理较为复杂,需要确保公钥的安全性。
常见的非对称加密算法:
RSA(Rivest–Shamir–Adleman)
ECC(Elliptic Curve Cryptography)
DSA(Digital Signature Algorithm)

应用场景:
对称密码体制常用于大量数据的加密,例如在VPN通信中。
非对称密码体制常用于密钥协商、数字签名和安全通信中,特别适合于安全通信双方事先未共享密钥的情况。

混合密码体制:
在实际应用中,通常会将对称密码体制和非对称密码体制结合使用,形成混合密码体制,以发挥它们各自的优势。例如,在使用HTTPS协议进行安全通信时,会使用非对称密码体制来进行密钥协商,然后使用对称密码体制来加密实际的通信数据,从而同时保证了密钥的安全性和通信的效率。

何加密方法的安全性取决于密钥的长度,以及攻破密文所需的计算量 ,而不是简单地取决于加密的体制(公钥密码体制或传统加密体制)。

数字签名

数字签名是一种用于验证消息真实性和完整性的加密技术。数字签名用于确认一份文档或一段消息确实是由特定的发送者创建,并且在传输过程中没有被篡改。
数字签名必须保证能够实现以下三点功能:
(1)接收者能够核实发送者对报文的签名。也就是说,接收者能够确信该报文的确是发送者发送的。其他人无法伪造对报文的签名。这就叫做报文鉴别
(2)接收者确信所收到的数据和发送者发送的完全一样而没有被篡改过。这就叫做报文的完整性
(3)发送者事后不能抵赖对报文的签名。这就叫做不可否认

数字签名的步骤:
1.生成密钥对:
发送者生成一对非对称密钥,包括私钥和公钥。
2.签名:
发送者使用私钥对消息的哈希值进行加密,生成数字签名。
3.传输消息和签名:
发送者将消息和数字签名一起发送给接收者。
4.验证:
接收者使用发送者的公钥对数字签名进行解密,得到消息的哈希值。
接收者计算接收到的消息的哈希值。
如果两者匹配,说明签名有效,消息未被篡改。

鉴别

鉴别和加密并不相同。鉴别是要验证通信的对方的确是自己所要通信的对象,而不是其他的冒充者。
鉴别可分为两种。一种是报文鉴别,即所收到的报文的确是报文的发送者所发送的,而不是其他人伪造的或篡改的。另一种则是实体鉴别。实体可以是一个人,也可以是一个进程(客户或服务器)。
鉴别与**授权(authorization)**是不同的概念。授权涉及到的问题是:所进行的过程是否被允许(如是否可以对某文件进行读或写)。

报文鉴别 是确保在通信过程中传输的消息没有被篡改或伪造的过程。主要目标是验证消息的完整性,以确保它在传输过程中没有被修改。
步骤:
1.生成鉴别标记:
发送方使用密钥对消息进行处理,生成鉴别标记。
2.附加到消息:
生成的鉴别标记附加到消息中,一同发送给接收方。
3.接收方验证:
接收方使用相同的密钥和相同的算法验证鉴别标记,以确保消息的完整性。

实体鉴别是确认参与通信的实体(用户、系统等)的身份真实性的过程。主要目标是确保通信的各方都是合法的实体,防止未经授权的访问。
步骤:
1.身份确认:
实体提供身份信息,例如用户名、证书、生物特征等。
2.身份验证:
系统使用相应的身份验证机制验证提供的身份信息的真实性。
3. 访问控制:
根据身份验证结果,授予或拒绝实体对资源的访问权限。

区别:
1.焦点不同:
报文鉴别关注的是消息在传输过程中的完整性,确保它没有被篡改。实体鉴别关注的是参与通信的实体的身份真实性,确保只有合法实体可以访问系统或资源。
2.应用场景不同:
报文鉴别常用于确保消息的完整性和防止篡改,适用于数据通信和存储。实体鉴别用于确认通信参与者的身份,适用于用户登录、物理门禁等场景。
3.技术实现不同:
报文鉴别通常使用加密技术生成和验证鉴别标记。实体鉴别可以使用多种身份验证方式,如密码、生物特征、智能卡等。

密钥分配

密钥管理包括:密钥的产生、分配、注入、验证和使用。本节只讨论密钥的分配。
密钥分配(或密钥分发) 是密钥管理中最大的问题。密钥必须通过最安全的通路进行分配。
密钥分配的目标是在不安全的通信环境中安全地将密钥传递给通信双方.

对称密钥的分配:
1.直接分发:
在通信双方之间通过安全信道直接传递对称密钥。这通常需要确保密钥分发通道是安全的,例如使用物理手递或其他可靠的手段。
2.预共享密钥:
通信双方事先共享一个预定义的对称密钥。这种方法要求通信双方在通信开始前知道共享密钥。
3. Diffie-Hellman 密钥交换:
使用Diffie-Hellman密钥交换协议,通信双方可以在不直接传递对称密钥的情况下协商出一个共享的对称密钥。
4.密钥分层:
将对称密钥分为多个层次,每个层次的密钥负责不同的安全任务。通信双方首先通过一个更高层次的密钥进行通信,然后根据需要派生出更低层次的密钥。

公钥的分配:
1.数字证书和证书颁发机构(CA):
通信双方可以通过CA颁发的数字证书来确认对方的身份,并获取对方的公钥。CA负责验证证书的真实性。
2.公开分发:
公开将公钥发布到可访问的地方,例如公开的密钥仓库或目录服务。其他方可以通过这些渠道获取公钥。
3.密钥交换协议:
使用安全的密钥交换协议,例如Diffie-Hellman密钥交换,通信双方可以在不直接传递公钥的情况下协商出共享的密钥。
4.内建公钥:
在通信开始前,双方事先知道对方的公钥。这种情况下,公钥可能嵌入在应用程序中,或者通过其他受信任的渠道提前传递。

比较:
对称密钥分配:
通常需要建立一个安全的信道来传递密钥,或者事先共享密钥。密钥的分发和管理相对较为简单。
公钥分配:
使用数字证书和CA可以提供更好的身份验证,但引入了一些复杂性。公钥可以公开分发,但需要注意确保公钥的真实性。

优劣势:
对称密钥通常更快,但在大规模通信环境下,密钥分发和管理可能会变得复杂。公钥提供了更强的身份验证和密钥协商的方式,但计算成本可能较高。

因特网使用的安全协议

网络层安全协议

IPsec 与安全关联 SA

IPsec 是 IP安全(security)协议 的缩写。
网络层保密是指所有在IP数据报中的数据都是加密的。
此外,网络层还应提供源点鉴别(source authentication) ,即当目的站收到 IP 数据报时,能确信这是从该数据报的源 IP 地址的主机发来的。
在 IPsec 中最主要的两个协议就是:鉴别首部 AH (Authentication Header) 协议和封装安全有效载荷 ESP (Encapsulation Security Payload)协议 。AH 提供源点鉴别和数据完整性,但不能保密。而 ESP 比 AH 复杂得多,它提供源点鉴别、数据完整性和保密。

IPsec 支持 IPv4 和 IPv6。但在IPv6中,AH和ESP都是扩展首部的一部分。虽然 AH 协议的功能都已包含在 ESP 协议中,但 AH 协议早已使用在一些商品中,因此 AH 协议还不能废弃。

在使用 AH 或 ESP 之前,先要从源主机到目的主机建立一条网络层的逻辑连接。此逻辑连接叫做 安全关联 SA (Security Association) 。这样,IPsec 就把传统的因特网无连接的网络层转换为具有逻辑连接的层 。安全关联是一个单向连接。如进行双向的安全通信则需要建立两个安全关联。一般个安全关联 SA 由一个三元组唯一地确定,它包括:
(1)安全协议(使用 AH 或 ESP 协议)的标识符。
(2)此单向连接的目的 IP 地址。
(3)一个 32 位的连接标识符,称为 安全参数索引SPI (Security Parameter Index)
对于一个给定的安全关联 SA,每一个 IPsec 数据报都有一个存放 SPI 的字段。通过此 SA 的所有数据报都使用同样的 SPI 值。

鉴别首部协议 AH

在使用鉴别首部协议 AH 时,把 AH 首部插在原数据报数据部分的前面,同时将 IP 首部中的协议字段置为51。此字段原来是为了区分在数据部分是何种协议(如 TCP,UDP 或 ICMP )。当目的主机检查到协议字段是 51 时,就知道在IP首部后面紧接着的是 AH 首部。在传输过程中,中间的路由器都不查看 AH 首部。当数据报到达终点时,目的主机才处理 AH 字段,以鉴别源点和检查数据报的完整性。
在这里插入图片描述

AH 首部具有如下的一些字段:
(1)下一个首部(8 位) 。标志紧接着本首部的下一个首部的类型(如 TCP或UDP)。
(2)有效载荷长度(8位)。即鉴别数据字段的长度,以 32 位字为单位。
(3)安全参数索引 SPI(32位)。标志一个安全关联。
(4)序号(32位)。鉴别数据字段的长度,以 32 位字为单位。
(5)保留(16位)。为今后用。
(6)鉴别数据(可变)。为 32 位字的整数倍,它包含了经数字签名的报文摘要(对原来的数据报进行报文摘要运算)。因此可用来鉴别源主机和检查 IP 数据报的完整性。

封装安全有效载荷协议 ESP

使用 ESP 时,IP 数据报首部的协议字段置为 50。当目的主机检查到协议字段是 50 时,就知道在 IP 首部后面紧接着的是 ESP 首部,同时在原 IP 数据报后面增加了两个字段,即 ESP 尾部和 ESP 数据。在 ESP 首部中,有标志一个安全关联的 安全参数索引 SPI(32位)和序号(32位) 。在 ESP尾部中有下一个首部(8位,作用和 AH 首部的一样)。ESP尾部和原来数据报的数据部分一起进行加密,因此攻击者无法得知所使用的运输层协议(它在IP数据报的数据部分中)。ESP 的鉴别数据和 AH 中的鉴别数据的作用是一样的。因此,用ESP封装的数据报既有鉴别源点和检查数据报完整性的功能,又能提供保密。
在这里插入图片描述

运输层安全协议

运输层安全协议主要是指用于保障运输层(通常是TCP或UDP)上数据传输的安全性的协议。
最常见的运输层安全协议是 Transport Layer Security(TLS)。TLS是 SSL(Secure Sockets Layer)的继任者,用于加密和确保在计算机网络上进行的数据传输的安全性。因此在很多情况下,SSL和TLS两个术语被交替使用。这两者的核心目标都是确保通信的安全性,包括加密数据、身份验证和保护数据完整性。

SSL提供以下三个功能:
(1) SSL 服务器鉴别
允许用户证实服务器的身份。具有 SSL 功能的浏览器维持一个表,上面有一些可信的认证中心 CA 及其公钥。当浏览器要和一个具有 SSL 功能的服务器进行商务活动时,浏览器就从服务器得到含有服务器的公钥的证书。此证书是由某个认证中心 CA 发出的(此CA在客户的表中)。这就使得客户在提交其信用卡之前能够鉴别服务器的身份。
(2)加密的 SSL会话
客户和服务器交互的所有数据都在发送方加密,在接收方解密。SSL 还提供了一种检测信息是否被攻击者篡改的机制。
(3) SSL客户鉴别
允许服务器证实客户的身份。这个信息对服务器是重要的。例如,当银行把有关财务的保密信息发送给客户时,就必须检验接收者的身份。

应用层的安全协议

PGP(Pretty Good Privacy)协议:
PGP 是一种用于电子邮件加密和签名的协议。它在应用层为电子邮件提供了端到端的加密,确保只有预期的收件人能够解密和阅读邮件内容。
PEM(Privacy Enhanced Mail) 是一种基于文本的文件格式和协议,最初设计用于安全地传输电子邮件。随着时间的推移,PEM 格式也被广泛应用于存储和传输各种类型的数据,尤其是证书和密钥。
PEM 格式的优势在于它是文本文件,易于阅读和编辑,同时由于使用 Base64 编码,也可以在文本协议中进行安全传输。这使得 PEM 格式成为广泛使用的格式,特别是在处理与安全相关的证书和密钥时。

链路加密与端到端加密

链路加密(Link Encryption):
链路加密是指在通信的传输链路上(通常是物理链路或数据链路)进行加密。这种加密通常发生在网络底层,涵盖了整个通信链路。链路加密的典型例子是在网络链路上使用的虚拟专用网(VPN)。

端到端加密(End-to-End Encryption):
端到端加密是指在通信的两个端点之间进行加密,保护通信内容在整个传输过程中不被中间任何人(包括服务提供商)读取或篡改。这种加密通常发生在应用层。

范围不同: 链路加密涵盖了通信链路的整个过程,而端到端加密仅保护通信的两个端点之间的数据。
层次不同: 链路加密通常发生在网络底层,而端到端加密通常发生在应用层。
参与设备不同: 链路加密通常需要网络设备的支持,而端到端加密通常由通信的两个端点的应用程序负责实现。
应对威胁不同: 链路加密更强调对通信链路上的中间人攻击的防范,而端到端加密更注重对用户隐私的保护。

防火墙

防火墙(firewall) 是一种特殊编程的路由器,安装在一个网点和网络的其余部分之间,目的是实施访问控制策略。这个访问控制策略是由使用防火墙的单位自行制定的。这种安全策略应当最适合本单位的需要。
防火墙位于因特网和内部网络之间。因特网这边是防火墙的外面,而内部网络这边是防火墙的里面。一般都把防火墙里面的网络称为“可信的网络”(trusted network)",而把防火墙外面的网络称为“不可信的网络”(untrustednetwork)

防火墙的功能有两个:一个是阻止,另一个是允许
“阻止”就是阻止某种类型的流量通过防火墙(从外部网络到内部网络,或反过来)。
“允许”的功能与“阻止”恰好相反。可见防火墙必须能够识别流量的各种类型。不过在大多数情况下防火墙的主要功能是“阻止”。

基本功能:
数据包过滤:
防火墙根据预定义的规则和策略检查传入和传出的数据包,决定是否允许通过或阻止。
网络地址转换(NAT):
防火墙可以执行网络地址转换,隐藏内部网络中计算机的真实 IP 地址,增加网络的安全性。
代理服务:
防火墙可以充当代理服务器,代替内部计算机与外部服务器进行通信,从而控制和监视通信。
虚拟专用网络(VPN)支持:
防火墙可以支持 VPN 连接,通过加密和隧道技术提供安全的远程访问。
应用层过滤:
高级防火墙可以进行应用层过滤,检查特定应用程序的数据流,以提高安全性。
入侵检测和预防系统(IDPS):
一些防火墙集成了入侵检测和预防系统功能,用于检测和防止网络上的恶意活动。

工作原理:
数据包检查:
防火墙根据预定义的规则和策略检查传入和传出的数据包。这些规则可以基于源 IP 地址、目标 IP 地址、端口号、协议类型等进行定义。
决策:
防火墙根据规则的匹配结果决定是否允许数据包通过。如果数据包符合允许规则,防火墙将其传递到目标;如果不符合规则,防火墙将其阻止或丢弃。
网络地址转换(NAT):
防火墙执行网络地址转换,将内部网络中计算机的真实 IP 地址映射为防火墙的 IP 地址,以隐藏内部网络结构。
代理服务:
防火墙可以充当代理服务器,代替内部计算机与外部服务器进行通信。这样可以对通信进行监控和控制,提高安全性。
日志记录:
防火墙通常记录网络活动的日志,包括允许和阻止的数据包、入侵检测警报等信息,以进行安全审计和故障排除。

谢希仁第五版《计算机网络》学习笔记

相关推荐

  1. 计算机网络——网络安全

    2024-01-06 18:38:02       30 阅读
  2. 计算机网络——网络安全

    2024-01-06 18:38:02       25 阅读
  3. 计算机网络——网络安全

    2024-01-06 18:38:02       9 阅读
  4. 计算机网络 网络安全技术

    2024-01-06 18:38:02       55 阅读

最近更新

  1. splice方法的使用#Vue3

    2024-01-06 18:38:02       0 阅读
  2. 使用Dockerfile和ENTRYPOINT运行Python 3脚本

    2024-01-06 18:38:02       0 阅读
  3. 黑龙江等保测评对中小企业成本效益分析

    2024-01-06 18:38:02       0 阅读
  4. 6、Redis系统-数据结构-01-String

    2024-01-06 18:38:02       1 阅读
  5. STM32学习和实践笔记(39):I2C EEPROM实验

    2024-01-06 18:38:02       1 阅读
  6. Python面试题:请解释什么是反射(reflection)?

    2024-01-06 18:38:02       1 阅读
  7. Rudolf and k Bridges——Codeforces Round 933 (Div. 3) E

    2024-01-06 18:38:02       1 阅读

热门阅读

  1. 提供小红书笔记详情API的使用说明

    2024-01-06 18:38:02       55 阅读
  2. (C语言)指针的进阶

    2024-01-06 18:38:02       47 阅读
  3. golang 的那些花样

    2024-01-06 18:38:02       44 阅读
  4. 并发编程:线程同步基础:7、StampedLock DEMO

    2024-01-06 18:38:02       41 阅读
  5. uni静态资源引入及css图片图标引用规范

    2024-01-06 18:38:02       48 阅读
  6. 【复习笔记】学术英语

    2024-01-06 18:38:02       38 阅读
  7. C++中几个常用的类型选择模板函数

    2024-01-06 18:38:02       36 阅读
  8. Web网页开发-总结笔记2

    2024-01-06 18:38:02       35 阅读
  9. 今日学习的 jdbc statement的增删改

    2024-01-06 18:38:02       37 阅读
  10. vs code导入excel文件并且解析excel文件数据

    2024-01-06 18:38:02       37 阅读