【学习笔记】【计算机网络】第7章——网络安全

7.1 网络安全问题概述

7.1.1 计算机网络面临的安全性威胁

(1)计算机网络上的通信面临以下两大类威胁:被动攻击主动攻击
【学习笔记】【计算机网络】第7章——网络安全_第1张图片
(2)被动攻击
指攻击者从网络上窃听他人的通信内容。通常把这类攻击称为截获。在被动攻击中,攻击者只是观察和分析某一个协议数据单元 PDU,以便了解所交换的数据的某种性质。但不干扰信息流。这种被动攻击又称为流量分析。

(3)主动攻击
篡改——故意篡改网络上传送的报文。这种攻击方式有时也称为更改报文流。
恶意程序——种类繁多,对网络安全威胁较大的主要包括:计算机病毒、计算机蠕虫、特洛伊木马、逻辑炸弹、后门入侵、流氓软件等。
拒绝服务——指攻击者向互联网上的某个服务器不停地发送大量分组,使该服务器无法提供正常服务,甚至完全瘫痪。

(4)计算机网络通信安全的目标
对于主动攻击,可以采取适当措施加以检测。对于被动攻击,通常却是检测不出来的。根据这些特点,可得出计算机网络通信安全的目标:
防止分析出报文内容和流量分析
防止恶意程序
检测更改报文流和拒绝服务
对付被动攻击可采用各种数据加密技术。
对付主动攻击则需将加密技术与适当的鉴别技术相结合。

7.1.2 安全的计算机网络

(1)保密性
只有信息的发送方和接收方才能懂得所发送信息的内容。是网络安全通信的最基本的内容,也是对付被动攻击必须具备的功能。为了使网络具有保密性,需要使用各种密码技术

(2)端点鉴别
鉴别信息的发送方和接收方的真实身份。 在对付主动攻击中是非常重要的。

(3)信息的完整性
信息的内容未被篡改过。在应对主动攻击中是必不可少的。信息的完整性与端点鉴别往往是不可分割的。在谈到“鉴别”时,也同时包含了端点鉴别和报文完整性。

(4)运行的安全性
系统能正常运行并提供服务。访问控制对计算机系统的安全性是非常重要的。必须对访问网络的权限加以控制,并规定每个用户的访问权限。

7.1.3 数据加密模型

【学习笔记】【计算机网络】第7章——网络安全_第2张图片
(1)密钥
加密和解密用的密钥K (key) 是一串秘密的字符串(即比特串)。明文通过加密算法 E 和加密密钥 K 变成密文:

Y = E K ( X ) Y = E_K(X) Y=EK(X)

接收端利用解密算法 D 运算和解密密钥 K 解出明文 X。解密算法是加密算法的逆运算。
D K ( Y ) = D K ( E K ( X ) ) = X DK(Y) = DK(EK(X)) = X DK(Y)=DK(EK(X))=X

(2)密码学
密码编码学 (cryptography) 是密码体制的设计学。
密码分析学 (cryptanalysis) 则是在未知密钥的情况下从密文推演出明文或密钥的技术。
密码编码学与密码分析学合起来即为密码学 (cryptology)。

7.2 两类密码体制

7.2.1 对称密钥密码体制

所谓常规密钥密码体制,即加密密钥解密密钥是相同的密码体制
这种加密系统又称为对称密钥系统
【学习笔记】【计算机网络】第7章——网络安全_第3张图片
(1)数据加密标准 DES
数据加密标准 DES 属于对称密钥密码体制,是一种分组密码
在加密前,先对整个明文进行分组。每一个组长为 64 位。然后对每一个 64 位 二进制数据进行加密处理,产生一组 64 位密文 数据。最后将各组密文串接起来,即得出整个的密文。使用的密钥为 64 位(实际密钥长度为 56 位,有 8 位用于奇偶校验)。

(2)DES 的保密性
DES 的保密性仅取决于对密钥的保密,其算法是公开的。

(3)三重 DES
使用两个 56 位的密钥。把一个 64 位明文用一个密钥加密,再用另一个密钥解密,然后再使用第一个密钥加密,即
Y = D E S K 1 ( D E S K 2 − 1 ( D E S K 1 ( X ) ) ) Y = DES_{K1}(DES^{-1}_{K2}(DES_{K1}(X))) Y=DESK1(DESK21(DESK1(X)))

【学习笔记】【计算机网络】第7章——网络安全_第4张图片

7.2.2 公钥密码体制

公钥密码体制(又称为公开密钥密码体制)使用不同的加密密钥与解密密钥
(1)加密密钥与解密密钥
在公钥密码体制中,加密密钥 PK(public key,即公钥)是向公众公开的,而解密密钥 SK(secret key,即私钥或秘钥)则是需要保密的。

(2)公钥算法的特点
发送者 A 用 B 的公钥 PKB 对明文 X 加密(E 运算)后,接收者 B 用自己的私钥 SKB 解密(D 运算),即可恢复出明文:
D S K B ( Y ) = D S K B ( E P K B ( X ) ) = X D_{SK_B}(Y) = D_{SK_B}(E_{PK_B}(X)) = X DSKB(Y)=DSKB(EPKB(X))=X

加密密钥是公开的,但不能用它来解密,即:
D P K B ( E P K B ( X ) ) ≠ X D_{PK_B}(E_{PK_B}(X)) \neq X DPKB(EPKB(X))=X

加密和解密运算可以对调,即加密和解密是互逆的:
E P K B ( D S K B ( X ) ) = D S K B ( E P K B ( X ) ) = X E_{PK_B}(D_{SK_B}(X)) = D_{SK_B}(E_{PK_B}(X)) = X EPKB(DSKB(X))=DSKB(EPKB(X))=X

【学习笔记】【计算机网络】第7章——网络安全_第5张图片

7.3 数字签名

(1)用于证明真实性。数字签名必须保证以下三点:
①报文鉴别——接收者能够核实发送者对报文的签名 (证明来源)
②报文的完整性——发送者事后不能抵赖对报文的签名 (防否认)
③不可否认——接收者不能伪造对报文的签名 (防伪造)

(2)基于公钥的数字签名的实现
【学习笔记】【计算机网络】第7章——网络安全_第6张图片
因为除 A 外没有别人能具有 A 的私钥,所以除 A 外没有别人能产生这个密文。因此 B 相信报文 X 是 A 签名发送的。若 A 要抵赖曾发送报文给 B,B 可将明文和对应的密文出示给第三者。第三者很容易用 A 的公钥去证实 A 确实发送 X 给 B。反之,若 B 将 X 伪造成 X’,则 B 不能在第三者前出示对应的密文。这样就证明了 B 伪造了报文。

(3)具有保密性的数字签名
【学习笔记】【计算机网络】第7章——网络安全_第7张图片

7.4 鉴别

在信息的安全领域中,对付被动攻击的重要措施是加密,而对付主动攻击中的篡改和伪造则要用鉴别报文鉴别使得通信的接收方能够验证所收到的报文(发送者和报文内容、发送时间、序列等)的真伪。

7.4.1 报文鉴别

(1)密码散列函数
【学习笔记】【计算机网络】第7章——网络安全_第8张图片
散列函数的输入长度可以很长,但其输出长度则是固定的,并且较短。散列函数的输出叫做散列值,或更简单些,称为散列。不同的散列值肯定对应于不同的输入,但不同的输入却可能得出相同的散列值。这就是说,散列函数的输入和输出并非一一对应,而是多对一的。
在密码学中使用的散列函数称为密码散列函数
特点:单向性
①要找到两个不同的报文,它们具有同样的密码散列函数输出,在计算上是不可行的。
②也就是说,密码散列函数实际上是一种单向函数。

(2)实用的密码散列函数 MD5 和 SHA-1
①MD5 是报文摘要 MD (Message Digest) 的第 5 个版本。报文摘要算法 MD5 公布于 RFC 1321 (1991 年),并获得了非常广泛的应用。
②安全散列算法 SHA是由美国标准与技术协会 NIST 提出的一个散列算法系列。

(3)报文鉴别码 MAC
为防范上述攻击,可以对散列进行一次加密。散列加密后的结果叫做报文鉴别码 MAC (Message Authentication Code)。
【学习笔记】【计算机网络】第7章——网络安全_第9张图片

7.4.2 实体鉴别

(1)最简单的实体鉴别过程
【学习笔记】【计算机网络】第7章——网络安全_第10张图片
可以使用共享的对称密钥实现实体鉴别。A 发送给 B 的报文的被加密,使用的是对称密钥 K A B K_{AB} KAB 。B 收到此报文后,用共享对称密钥 K A B K_{AB} KAB 进行解密,因而鉴别了实体 A 的身份。 因为该密钥只有 A 和 B 知道。

(2)重放攻击
入侵者 C 可以从网络上截获 A 发给 B 的报文。C 并不需要破译这个报文,而是直接把这个截获的、由A加密的报文发送给 B,使 B 误认为 C 就是 A。然后 B 就向伪装是 A 的 C 发送应发给 A 的报文。
这种攻击被称为重放攻击 (replay attack)。C 甚至还可以截获 A 的 IP 地址,然后把 A 的 IP 地址冒充为自己的 IP 地址(这叫做 IP 欺骗),使 B 更加容易受骗。

(3)不重数鉴别
【学习笔记】【计算机网络】第7章——网络安全_第11张图片
不重数 (nonce) 就是一个不重复使用的大随机数,即“一次一数”。由于不重数不能重复使用,所以 C 在进行重放攻击时无法重复使用所截获的不重数。

(4)中间人攻击
【学习笔记】【计算机网络】第7章——网络安全_第12张图片

7.5 密钥分配

密钥管理包括:密钥的产生、分配、注入、验证和使用。

7.5.1 对称密钥的分配

目前常用的密钥分配方式是设立密钥分配中心 KDC (Key Distribution Center)。KDC 是大家都信任的机构,其任务就是给需要进行秘密通信的用户临时分配一个会话密钥(仅使用一次)。
(1)KDC对会话密钥的分配
【学习笔记】【计算机网络】第7章——网络安全_第13张图片
(2)Kerberos的工作原理
【学习笔记】【计算机网络】第7章——网络安全_第14张图片
①A 用明文(包括登记的身份)向鉴别服务器 AS 表明自己的身份。
②AS 向 A 发送用 A 的对称密钥 K A K_A KA 加密的报文,这个报文包含 A 和 TGS 通信的会话密钥 K S K_S KS ,以及 AS 要发送给 TGS 的票据(这个票据是用 TGS 的对称密钥 K T G K_{TG} KTG 加密的)。
③A 向 TGS 发送三个项目:
转发鉴别服务器 AS 发来的票据。
服务器 B 的名字。这表明 A 请求 B 的服务。请注意,现在 A 向 TGS 证明自己的身份并非通过键入口令(因为入侵者能够从网上截获明文口令),而是通过转发 AS 发出的票据(只有 A 才能提取出)。票据是加密的,入侵者伪造不了。
K S K_S KS 加密的时间戳 T 。它用来防止入侵者的重放攻击。
④TGS 发送两个票据,每一个都包含 A 和 B 通信的会话密钥 K A B K_{AB} KAB 。给 A 的票据用 K S K_{S} KS 加密;给 B 的票据用 B 的密钥 K B K_{B} KB 加密。请注意,现在入侵者不能提取 K A B K_{AB} KAB ,因为不知道 K A K_{A} KA K B K_{B} KB 。入侵者也不能重放步骤 3,因为入侵者不能把时间戳更换为一个新的(因为不知道 K S K_{S} KS )。
⑤A 向 B 转发 TGS 发来的票据,同时发送用 K A B K_{AB} KAB 加密的时间戳 T。
⑥B 把时间戳 T 加 1 来证实收到了票据。B 向 A 发送的报文用密钥 K A B K_{AB} KAB 加密。
以后,A 和 B 就使用 TGS 给出的会话密钥 K A B K_{AB} KAB 进行通信。

7.5.2 公钥的分配

需要有一个值得信赖的机构——即认证中心 CA (Certification Authority),来将公钥与其对应的实体(人或机器)进行绑定。

7.6 互联网使用的安全协议

7.6.1 网络层安全协议

(1)IPsec 协议
①IPsec 由三部分组成
IP 安全数据报格式的两个协议:鉴别首部 AH (Authentication Header) 协议和封装安全有效载荷 ESP (Encapsulation Security Payload) 协议
有关加密算法的三个协议(在此不讨论)
互联网密钥交换 IKE (Internet Key Exchange) 协议

(2)IP 安全数据报有两种工作方式
运输方式
在整个运输层报文段的前后分别添加若干控制信息,再加上 IP 首部,构成 IP 安全数据报。
适合于主机到主机之间的安全传送。 需要使用 IPsec 的主机都运行 IPsec 协议。
【学习笔记】【计算机网络】第7章——网络安全_第15张图片
隧道方式
在原始的 IP 数据报的前后分别添加若干控制信息,再加上新的 IP 首部,构成一个 IP 安全数据报。
需要在 IPsec 数据报所经过的所有路由器上都运行 IPsec 协议。隧道方式常用来实现虚拟专用网 VPN。
【学习笔记】【计算机网络】第7章——网络安全_第16张图片
(3)安全关联 SA
在发送 IP 安全数据报之前,在源实体和目的实体之间必须创建一条网络层的逻辑连接。此逻辑连接叫做安全关联 SA (Security Association) 。

(4)IP 安全数据报的格式
【学习笔记】【计算机网络】第7章——网络安全_第17张图片
(5)IPsec 的其他构件
安全关联数据库 SAD (Security Association Database) :存放SA。
安全策略数据库 SPD (Security Policy Database) :指明什么样的数据报需要进行 IPsec 处理。
互联网密钥交换 IKE (Internet Key Exchange) :为 IP 安全数据报创建安全关联 SA。

7.6.2 运输层安全协议

(1)安全套接字层 SSL (Secure Socket Layer)
SSL 服务器鉴别,允许用户证实服务器的身份。支持 SSL 的客户端 通过验证来自服务器的证书,来鉴别服务器的真实身份并获得服务 器的公钥。
SSL 客户鉴别,SSL 的可选安全服务,允许服务器证实客户的身份。
加密的 SSL 会话,对客户和服务器间发送的所有报文进行加密,并 检测报文是否被篡改。

(2)SSL 安全会话建立过程
【学习笔记】【计算机网络】第7章——网络安全_第18张图片
①协商加密算法。 ❶ 浏览器 A 向服务器 B 发送浏览器的 SSL 版本号和一些可选的加密算法。 ❷ B 从中选定自己所支持的算法(如 RSA),并告知 A。
②服务器鉴别。 ❸ 服务器 B 向浏览器 A 发送包含其 RSA 公钥的数字证书。 ❹ A 使用该证书的认证机构 CA 公开发布的RSA公钥对该证书进行验证。
③会话密钥计算。由浏览器 A 随机产生一个秘密数。 ❺ 用服务器 B 的 RSA 公钥进行加密后发送给 B。 ❻ 双方根据协商的算法产生共享的对称会话密钥。
④安全数据传输。 ❼ 双方用会话密钥加密和解密它们之间传送的数据并验证其完整性。

(2)运输层安全 TLS (Transport Layer Security)

7.6.3 应用层安全协议

(1)PGP (Pretty Good Privacy)
PGP 是一个完整的电子邮件安全软件包,包括加密、鉴别、电子签名和压缩等技术。PGP 并没有使用什么新的概念,它只是将现有的一些算法如 MD5,RSA,以及 IDEA 等综合在一起而已。

(2)发送方 A 的工作
【学习笔记】【计算机网络】第7章——网络安全_第19张图片
①对明文邮件 X 进行 MD5 运算,得出 MD5 报文摘要 H。用 A 的私 钥对 H 进行加密(即数字签名),得出报文鉴别码 MAC,把它拼接在明文 X 后面,得到扩展的邮件 (X, MAC)。
②使用 A 自己生成的一次性密钥对扩展的邮件 (X, MAC)进行加密。
③用 B 的公钥对 A 生成的一次性密钥进行加密。
④把加了密的一次性密钥和加了密的扩展的邮件发送给 B。

(3)接收方 B 的工作
【学习笔记】【计算机网络】第7章——网络安全_第20张图片
①把被加密的一次性密钥和被加密的扩展报文 (X, MAC) 分离开。
②用 B 自己的私钥解出 A 的一次性密钥。
③用解出的一次性密钥对报文进行解密,然后分离出明文 X 和 MAC。
④用 A 的公钥对 MAC 进行解密(即签名核实),得出报文摘要 H。这个报文摘要就是 A 原先用明文邮件 X 通过 MD5 运算生成的那个报文摘要。
⑤对分离出的明文邮件 X 进行 MD5 报文摘要运算,得出另一个报文摘要 H(X)。把 H(X) 和前面得出的 H 进行比较,是否一样。如一样,则对邮件的发送方的鉴别就通过了,报文的完整性也得到肯定。

7.7 系统安全:防火墙与入侵检测

7.7.1 防火墙

防火墙是由软件、硬件构成的系统,是一种特殊编程的路由器,用来在两个网络之间实施访问控制策略。防火墙的功能有两个:阻止允许
【学习笔记】【计算机网络】第7章——网络安全_第21张图片
(1)分组过滤路由器
是一种具有分组过滤功能的路由器,它根据过滤规则对进出内部网络的分组执行转发或者丢弃(即过滤)。过滤规则基于分组的网络层或运输层首部的信息。分组过滤可以是无状态的,即独立地处理每一个分组。也可以是有状态的,即要跟踪每个连接或会话的通信状态,并根据这些状态信息来决定是否转发分组。简单高效,对用户透明,但不能对高层数据进行过滤。

(2)应用网关(代理服务器)
它在应用层通信中扮演报文中继的角色。每种网络应用需要一个应用网关。在应用网关中,可以实现基于应用层数据的过滤和高层用户鉴别。所有进出网络的应用程序报文都必须通过应用网关。
应用网关也有一些缺点:
①每种应用都需要一个不同的应用网关。
②在应用层转发和处理报文,处理负担较重。
③对应用程序不透明,需要在应用程序客户端配置应用网关地址。

7.7.2 入侵检测系统

入侵检测系统 IDS (Intrusion Detection System) 能够在入侵已经开始,但还没有造成危害或在造成更大危害前,及时检测到入侵,以便尽快阻止入侵,把危害降低到最小。
IDS 对进入网络的分组执行深度分组检查,当观察到可疑分组时,向网络管理员发出告警或执行阻断操作(由于 IDS 的“误报”率通常较高,多数情况不执行自动阻断)。
IDS 能用于检测多种网络攻击,包括网络映射、端口扫描、DoS 攻击、蠕虫和病毒、系统漏洞攻击等。

(1)基于特征的 IDS
基于特征的 IDS 维护一个所有已知攻击标志性特征的数据库。这些特征和规则通常由网络安全专家生成,由机构的网络管理员定制并将其加入到数据库中。基于特征的 IDS 只能检测已知攻击,对于未知攻击则束手无策。

(2)基于异常的 IDS
基于异常的 IDS 通过观察正常运行的网络流量,学习正常流量的统计特性和规律。当检测到网络中流量某种统计规律不符合正常情况时,则认为可能发生了入侵行为。

7.8 一些未来的发展方向

(1)椭圆曲线密码 (Elliptic Curve Cryptography,简写为 ECC) 与 AES ——这一系统现在已广泛用于电子护照中,也是下一代金融系统使用的加密系统。
(2)移动安全 (Mobile Security) —— 移动通信带来的广泛应用 (如移动支付,Mobile Payment)向网络安全提出了更高的要求。
(3)量子密码 (Quantum Cryptography) —— 量子计算机的到来将使得目前许多使用中的密码技术无效,后量子密码学(Post-Quantum Cryptography)的研究方兴未艾。

小结

网络安全这一章主要讲述了一些基本的网络安全常识:公钥与私钥、加密与解密等。因为这本教材是主讲计算机网络的,所以网络安全就很简单地过了一遍,网络安全作为一个专业其实还有很多要学的知识。

你可能感兴趣的:(#,计算机网络)