北航网安2024《信息网络安全》复习资料整理(一至十四章)

本文章内容参考北航网安学院院长刘建伟老师的信息网络安全课程的教材和PPT,如有笔误以原材料为准

因为复习的时候好好整理了一下,所以就顺手发出来,希望可以帮到学习网络安全知识的uu~

第1章 引言

1. 掌握信息安全的四个目标?

保密性、完整性、可用性、合法使用。

2. 信息系统中常见的威胁有哪些?

信息泄露、完整性破坏、拒绝服务、非法使用。

3. 什么是安全策略?安全策略分几个等级?

安全策略:某个安全域内施加给所有与安全相关活动的一套规则。

安全策略分为3个等级:安全策略目标、机构安全策略、系统安全策略。

4. 什么是访问控制策略?它有哪些类型?这些访问控制策略有何区别?

访问控制策略属于系统级安全策略,它迫使计算机系统和网络自动执行授权。

分类

  • 强制访问控制(MAC,Mandatory Access Control):由操作系统内核强制实施授权规则(常见于军事和政府机构)。

  • 自主访问策略(DAC, Discretionary Access Control):用户有权对自己创建的访问对象进行访问,并可将对这些对象的访问权授予其他用户

  • 基于角色的访问控制(RBAC):将访问许可权分配给一定的角色。用户通过饰演不同的角色获得角色拥有的访问许可权。

  • 基于任务的访问控制(TBAC):从任务的角度建立安全模型和实现安全机制。在任务处理的过程中提供动态实时的安全管理。

  • 基于对象的访问控制(OBAC):将访问控制列表与受控对象或受控对象的属性相关联,并将访问控制策略设计为用户,组或角色以及对应权限的集合。

5. 什么是安全域?划分安全域原则是什么?如何划分安全域?

安全域:属于某个组织机构的一系列处理进程和通信资源.

划分原则

  • 隔离和独立:确保每个安全域之间的物理或逻辑隔离,防止未经授权的访问。

  • 最小特权:只赋予每个安全域所需的最小权限,以减少潜在的风险。

  • 生命周期:安全域的划分不仅要考虑静态设计,还要考虑未来的变化,要预留出一定的扩展空间。

  • 结构简化:安全域划分的直接目的和效果是要将整个网络变得更加简单,简单的网络结构便于设计防护体系。

如何划分

  1. 识别资产和资源:首先,识别系统中的关键资源,包括数据、应用程序、硬件和网络设备。
  2. 确定安全需求:评估每个资源的安全需求
  3. 分组和分类:根据安全需求,将资源分组和分类。类似安全需求的资源可以放在同一个安全域中。
  4. 定义边界:明确每个安全域的边界,确保不同安全域之间有清晰的隔离。可以通过防火墙、虚拟局域网(VLAN)等技术实现隔离。
  5. 实施访问控制:根据安全需求,设置访问控制策略,确保只有授权用户可以访问特定安全域内的资源。
  6. 应用安全措施:在每个安全域内,部署适当的安全措施,如加密、防病毒软件、入侵检测系统等。
  7. 监控和管理:持续监控每个安全域的活动,及时发现和响应安全事件。定期审核和更新安全策略,确保安全域划分和管理的有效性。

6. 什么是授权?用户授权有何作用?常用于哪些应用场景?

授权是安全策略的一个基本组成部分,它指主体(用户、终端、程序等) 对客体(数据、程序等)的支配权利,它规定了谁可以对什么做些什么

用户授权的作用

  1. 访问控制:决定了用户可以访问哪些资源和执行哪些操作
  2. 最小权限:确保每个用户只获得完成其用户所需的最小权限,有效减少安全风险。
  3. 审计和追踪:可以记录和监控用户的操作行为,对安全事件进行审计和追踪。
  4. 资源保护:防止系统资源被滥用或恶意使用

常用于哪些场景

  1. 操作系统安全:通过权限设置来控制用户对文件和目录的访问权限
  2. 数据库管理:控制不同角色对数据库的访问和操作权限
  3. 网络安全:通过防火墙和访问控制列表(ACL)来管理网络资源的访问权限
  4. 应用程序安全:通过用户角色和权限管理控制不同用户对应用程序功能的访问权限

7. 安全攻击分几大类?常见的攻击形式有哪些?

安全攻击分类:主动攻击(伪装、重放、消息篡改、拒绝服务)和被动攻击(信息泄露、流量分析)。

常见的攻击形式(8种):口令窃取、欺骗攻击、缺陷和后门攻击、认证失效、协议缺陷、信息泄露、指数攻击、拒绝服务攻击。

协指缺口,信拒欺认

鞋子缺口,新剧气人

8. 熟记X.800标准中的5类安全服务和8种特定安全机制,并简述安全服务和安全机制之间的关系。

安全服务通过安全机制来实现安全策略

安全服务:认证、访问控制、数据保密性、数据完整性、不可否认性;

数数不认访

叔叔不认房

安全机制:加密、数字签名、访问控制、数据完整性、认证交换、流量填充、路由控制、公证;

数数加访,公流认路

叔叔家访,公牛认路

安全服务和安全机制的关系:

  • 安全服务:定义了需要实现的安全目标和功能,如认证、访问控制、数据完整性等。
  • 安全机制:提供了实现这些目标和功能的具体方法和技术,如加密技术、数字签名、访问控制列表等

请添加图片描述

9. 能够理解并画出网络安全模型和网络访问模型。

在这里插入图片描述
在这里插入图片描述

第2章 计算机网络基础

1. 熟记OSI的七层参考模型、TCP/IP的四层模型。

OSI七层参考模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

TCP/IP四层模型:网络接口层、网际层、传输层、应用层。

2. 什么是面向连接的服务?什么是无连接的服务?

面向连接的服务要求通信双方在传输数据之前首先建立连接,数据传输过程包括建立连接、传输数据、释放连接三个阶段。

无连接的服务不要求通信双方在传输数据之前建立连接,是“尽力传递”的服务,它尽最大努力是传输数据到达目标。

3. 必须知道IPv4及IPv6地址的格式及长度

IPv4

  • 格式 = {<网络标识net-id> <主机标识host-id>}
  • 长度:4 * 8 = 32bit
  • 点分十进制
  • CIDR

IPv6

  • 格式 = <网络前缀> <接口标识>
    • 前缀最常见64位
  • 长度:128bit
  • 冒号分16进制
    • 压缩形式表示:多个0的连续片段可以替换成双冒号’::',但一个IPv6中只能出现一个双冒号(eg.FA06:0000:0000:0000:0000:0000:0000:0001/64 --> FA06::1/64)

4. 必须知道MAC地址的长度。

48bit

5. IP地址与MAC地址转换靠哪个网络协议?

ARP协议

6. IPv4的地址分类有哪几种?给定一个IP地址,要能够分析判断出该地址属于哪一类地址。

在这里插入图片描述

网络类别最大网络数每个网络的最大主机数
A 2 7 − 2 2^7-2 272(0和127不能用) 2 24 − 2 2^{24}-2 2242
B 2 14 2^{14} 214 2 16 − 2 2^{16}-2 2162
C 2 21 2^{21} 221 2 8 − 2 2^8-2 282

每个网络中,全0是网络地址,全1是广播地址

7. 给定一个IPv4地址和子网掩码,要求能够计算出网络地址。

  1. 判断网络类型(根据前三位)
  2. 确定子网掩码(确定网络标识和主机标识)

在这里插入图片描述

8. 熟悉CIDR的表示方式,如:128.14.32.0/20表示的地址块范围和子网掩码是什么?

子网掩码:255.255.240.0

地址块范围128.14.32.1 - 128.14.47.254

注意地址块范围不算0和255

在这里插入图片描述

9. 什么是端口号?端口号在网络通信中起什么作用?端口号长度

端口号是按照应用进程的功能对应用进程实行的标识。(端口号长度为16bit, 0~65535)

小于1024的端口为特权端口

端口号的主要作用是表示一台计算机中的特定进程所提供的服务

第3章 Internet 协议的安全性

1. 熟记http / ftp / telnet /pop3/smtp/ imap / ssh / dns等常用通信协议的功能

协议名称端口号功能
httpTCP80超文本传输协议,是一个客户端和服务端请求和应答的标准,是互联网应用最广泛的一种网络协议。
https443TLS加密版本
ftpTCP20 TCP21文件传输协议,是Internet文件传送的基础。数据端口为20,控制端口为21.
telnetTCP23远程登陆协议,是Internet远程登录服务的标准协议和主要方式。
pop3TCP110邮局协议,是一个邮件协议,规定了如何将个人计算机连接到遵循POP3协议的接收邮件服务器并下载邮件,是Internet第一个离线电子邮件协议标准。
smtpTCP25简单邮件传输协议,一组用于由源地址到目的地址传送邮件的规则。
imapTCP143 TCP993消息访问协议,一个邮件获取协议,从邮件服务器上获取邮件信息并下载邮件。相比POP3,IMAP对邮件有更强大的访问控制能力。 端口143 - IMAP的标准端口:这是IMAP协议的默认非加密端口。当使用端口143时,通信不是自动加密的。因此,如果需要安全性,必须通过其他方法(如STARTTLS命令)来启动TLS加密。使用端口143的IMAP连接通常是在“明文”下开始,然后可能升级到加密连接,这取决于客户端和服务器的配置。 端口993 - IMAP的加密端口:这是IMAP协议的默认加密端口,通常用于IMAPS(IMAP over SSL/TLS)。 当通过端口993连接时,从一开始就采用SSL/TLS加密,确保所有传输的数据在客户端与服务器之间都是加密的。使用端口993的连接被认为是更安全的,因为所有数据(包括用户认证信息)都是在加密通道中传输。 总结来说,端口143用于标准的、可能未加密的IMAP连接,而端口993用于从一开始就加密的IMAP连接。在考虑安全性和隐私时,通常推荐使用端口993。
sshTCP22安全壳协议,是一种在不安全的网络上建立安全的远程登录或其他安全网络服务的协议。
dnsUDP53域名系统,是一个分布式数据库系统,用来实现域名和IP地址之间的映射。

2. 熟记一些常用网络协议的端口号。

见上表

3. 网际层协议有哪些?传输层协议有哪些?应用层协议有哪些?

协议种类协议名称
网际层协议IPARP、ICMP、IGMP、OSPF、BGP
传输层协议TCPUDP
应用层协议HTTP、TELNET、SSH、FTP、RIP、SMTP、DNS、POP3、PGP,SNMP等

4. 为什么要进行网络地址转换(NAT)?

NAT是一种实现内网地址与外网地址相互转换的技术

  • 节省公共IP:NAT允许多个内部设备共享一个或少量的公共IP地址,从而节省了宝贵的IPv4地址资源。
  • 增强网络安全性。隐藏内部私有IP,有效地避免来自网络外部的入侵
  • 私有IP通信:NAT允许使用私有IP地址(如RFC 1918定义的地址范围),这些地址在内部网络中是唯一的,但在全球范围内可以重复使用。通信无需消耗公共IP资源。
  • 负载均衡:NAT可以用于负载均衡,将流量分配到多个内部服务器,提高服务的性能和可靠性
  • 提供灵活性和可扩展性:NAT允许网络管理员灵活地分配和管理私有IP地址

5. ARP协议的作用是什么?

将IP地址转换成MAC地址

6. 为什么 UDP 比 TCP 协议更加容易遭到攻击?

  • 无连接性:UDP发送数据前不需要建立连接,这使得UDP更容易被放大攻击(如UDP反射攻击),攻击者可以伪造源地址,向大量的UDP服务器发送请求,服务器会将响应发送到伪造的地址,淹没目标网络。
    而TCP在发送数据前需要三次握手,并在传输过程中进行确认和序列控制
  • 缺乏流量控制和拥塞控制:UDP没有内置的流量控制和拥塞控制机制,数据包可以以任意速度发送而不考虑网络负载。易于造成DoS
  • 缺乏数据包确认和重传机制:UDP不提供数据包重传和确认机制,一旦发送不会确认是否到达目标。攻击者可以发送大量的伪造数据包,目标系统无法区分这些数据包的有效性,容易被淹没在大量的无效数据中。

7. IMAP 协议与 POP3 协议相比,它的安全性有哪些提升?

  • 数据存储和同步:IMAP允许邮件在服务器上存储,并支持多设备同步。这使得即使设备丢失,邮件数据仍可以安全存储在服务器上,减少数据丢失风险
  • 加密传输:IMAP支持SSL/TLS对传输数据进行加密

8. SSH 协议与 Telnet 协议相比,它的安全性有哪些提升?

  • SSH支持身份认证和数据加密,对所有传输的数据进行加密处理,并采用“挑战/响应”机制代替传统的主机名和口令认证。
    Telnet是明文传输,且仅支持用户名和密码的身份验证
  • 数据完整性:ssh使用MAC来确保数据完整性,Telnet无内置的数据完整性检查机制
  • 会话管理:SSH支持安全的会话管理(会话重用,会话恢复,会话超时),而Telnet缺乏对应功能。

9. 什么是 ICMP 重定向攻击?如何防止此类攻击?

重定向攻击:ICMP可以用来对主机之间的消息进行重定向,同样黑客也能够使用ICMP对消息进行重定向,进而使得目标机器遭受连接劫持和拒绝服务等攻击。一般来说,重定向消息应该仅由主机执行,而不是由路由器执行。仅当消息直接来自路由器时,才由路由器执行重定向。在正常情况下,当一个路由器发现一个更好(通常是更短或者更快)的路由到达特定目标时,它会发送一个ICMP重定向消息给发送数据包的主机,告诉它更新路由表信息,以便将未来的数据包发送到更佳路由。

攻击者利用ICMP重定向消息来欺骗网络设备(如路由器或主机),使其将流量重定向到攻击者控制的设备,从而实现流量劫持或中间人攻击(MITM)。

防止重定向攻击的措施

  • 内部主机和路由器上禁用对ICMP重定向消息的响应;
  • 使用防火墙过滤不必要的ICMP重定向消息;
  • 加强IDS,确保IDS能够识别和防御针对ICMP的异常行为和攻击尝试;
  • 加密通信,使用具有安全特性的路由协议(如OSPF、BGP等),这些协议通常具有内置的认证和加密机制,可以防止路由信息被篡改或伪造。

10. 在网络中,为什么不能仅仅靠识别数据包的 IP 地址,来判断一个数据包就是来自该 IP 地址的主机?

  • NAT:NAT设备允许多个设备共享同一个公共IP地址。这意味着来自NAT后面的任何私有地址的数据包在传送到外部网络之前都会被替换为相同的公共IP地址,从而使得外部网络无法区分哪个内部设备实际上发送了该数据包;

  • 动态IP:许多网络使用动态主机配置协议(DHCP)来动态分配IP地址。一个主机的IP地址可能会在不同时间段内发生变化

  • IP欺骗:IP协议本身没有内置的认证机制,无法验证数据包的源IP地址是否真实。攻击者可以伪造数据包的源IP地址,使得这些数据包看起来像是从另一个主机发送的。这种技术常被用于发动反射型分布式拒绝服务(DDoS)攻击,其中攻击者向多个反射服务器发送伪造源地址的查询,导致服务器响应泛滥至被伪造地址的目标。

第4章单钥密码体制

1. 按照对明文消息的处理方式不同,单钥体制可分为哪两类?

  • 流密码:逐比特加密
  • 分组密码:数据分组处理

2. 古典密码中的两个常用的变换是什么?

代换和置换。

3. 什么是理论上安全?什么是计算上安全?理论上安全的密码算法有几个?理论上安全的密码是什么密码?

理论上安全:理论上安全意味着即使攻击者拥有无限的计算资源,他们也无法破解加密,因为密文不包含足够的信息来确定唯一的明文。换句话说,没有任何计算上的方法可以用来破解密码,这种安全是绝对的。

计算上安全:计算上安全是指破解加密所需的计算资源如此巨大,以至于在实际时间内完成解密是不切实际的。换句话说,攻击者可能在理论上能够破解加密,但由于需要非常长的时间,实际上是不可行的。

理论上安全的密码有1个,一次一密密码。

4. 什么是同步流密码、自同步流密码?流密码的安全性取决于什么?

同步流密码:密钥流生成器内部状态与明文消息无关,即密钥流独立于明文

自同步流密码:密钥流生成器内部状态与明文消息有关

流密码的安全性完全依赖于密钥流产生器所生成序列的随机性不可预测性

5. DES 分组长度、密钥长度、轮数是多少?1轮加密包括哪些变换? DES 中的非线性变换是什么变换?

Feistel结构

分组长度为64比特、密钥长度为56比特、轮数为16

在这里插入图片描述

一轮加密:
L i ← R i − 1 R i ← L i − 1 ⊕ f ( R i − 1 , k i ) L_i \leftarrow R_{i-1}\\ R_i \leftarrow L_{i-1}\oplus f(R_{i-1},k_i) LiRi1RiLi1f(Ri1,ki)
在这里插入图片描述

在这里插入图片描述

  1. E盒:把32bits输入变成48bits输出
  2. 异或:与48bits的轮密钥进行异或
  3. S盒:混淆,进行压缩替换和非线性代换
    • 48bits的输入分为8*6bit ( x 0 , x 1 , x 2 , x 3 , x 4 , x 5 ) (x_0,x_1,x_2,x_3,x_4,x_5) (x0,x1,x2,x3,x4,x5)
    • S盒是4行16列的表。 ( x 0 , x 5 ) (x_0,x_5) (x0,x5)用于选择行, ( x 1 , x 2 , x 3 , x 4 ) (x_1,x_2,x_3,x_4) (x1,x2,x3,x4)用于选择列
    • 使用8个不同的S盒分别处理八组数据
  4. P盒:扩散,让明文和密钥的影响迅速扩散到整个密文中。即1比特的明文或密钥的改变会影响到密文的多个比特。

DES中的非线性变换是S盒代换。

6. AES 分组长度、密钥长度、轮数是多少?1轮加密包括哪些变换? AES 中包含的非线性变换是什么变换?

在这里插入图片描述

分组长度为128比特,密钥长度包括128比特、192比特、256比特三种,对应的轮数分别为10轮、12轮、14轮

1轮加密包括字节代换、行移位、列混淆、轮密钥加

非线性变换是字节代换。

7. 加密轮数是否越多越好?密钥是否越长越好?将2个算法串联对数据加密,是否一定更安全?

增加轮数可以增加加密的复杂性和破解难度,但加密轮数并不是越多越好。过多的轮数会显著增加计算开销(处理时间和资源),且当超过某个阈值,增加轮数的边际安全效益递减,对实际应用不太现实。设定合理的轮数是平衡安全性和性能的关键。

通常,密钥越长,强度越高,越难以暴力破解。但需要平衡性能和安全性。虽然更长的密钥可以提供更高的安全性,但同时也会增加计算的复杂度和时间,影响系统性能。因此,在安全需求和性能之间需要寻找平衡点。

将两个或更多加密算法串联使用,理论上可以提高安全性:

  1. 安全冗余:如果一个算法被破译,数据仍然受到第二个算法的保护。这在一定程度上增加了安全冗余,提升了抵抗单点失败的能力。
  2. 不同算法特性组合:不同算法可能有不同的强项和弱点,串联使用可以在一定程度上弥补单一算法的不足。例如,对称加密算法(如AES)的速度快,非对称加密算法(如RSA)提供更加坚固的密钥交换机制。

然而,使用两个加密算法,也会带来复杂性的提高和性能的下降。

  1. 计算开销:串联使用两个算法会增加计算时间和开销,可能导致处理速度变慢。这需要权衡安全性和性能需求。
  2. 复杂度:数据管理和密钥管理的复杂度增加,需要确保每个算法的密钥管理和实施正确无误,防止因复杂度增加而引入新的漏洞。

并且,对于串联使用多个加密算法,需要有更多的安全性分析:

  1. 兼容性问题:某些应用或系统可能不完全支持组合加密,需要确保在整个数据流和处理链中各环节都能正确处理加密和解密过程。
  2. 安全性分析:必须对所使用的每个算法进行独立的安全性验证,并且确定其组合后的效果不会引入新的安全漏洞。例如,某些不兼容的算法组合可能反而引入新的攻击面。

8. 分组密码的5种工作模式是什么?能画出5种工作模式的原理框图。

电码本模式(ECB)、密码分组链接模式(CBC)、密码反馈模式(CFB)、输出反馈模式(OFB)和计数器模式(CTR)。

原理框图略,可以进行简单记忆:

ECB:明文与密钥直接进行加密
C i ← E ( P i ) P i ← D ( C i ) C_i \leftarrow E(P_i)\\ P_i \leftarrow D(C_i) CiE(Pi)PiD(Ci)
优点

  • 简单易实现
  • 支持并行加解密

缺点

  • 确定性加解密。相同的明文映射到相同的密文,安全性低

在这里插入图片描述

CBC:引入向量IV,IV先与明文异或,再与密钥进行加密运算,密文分组为新IV。(输出是n-bit密码分组的一个序列,这些密码分组链接在一起使得每个密码分组不仅依赖于所对应的明文分组,而且依赖于所有以前的数据分组。)
C 0 ← I V ; C i ← E ( P i ⊕ C i − 1 ) P i ← D ( C i ) ⊕ C i − 1 C_0 \leftarrow IV;\\ C_i \leftarrow E(P_i\oplus C_{i-1})\\ P_i \leftarrow D(C_i)\oplus C_{i-1} C0IV;CiE(PiCi1)PiD(Ci)Ci1
优点

  • 安全性好,每轮加密受上一轮输出影响。初始向量增加了随机性

缺点

  • 有误码传播
  • 解密可以并行但加密无法并行

在这里插入图片描述

CFB:引入向量IV,IV先与密钥加密,再与明文进行异或运算,密文分组为新IV

(输出的密码分组反馈至移位寄存器,作为分组密码算法的输入,经分组加密算法加密后形成密钥流分组,再与输入明文分组相异或。)

L S B n − s LSB_{n-s} LSBns表示左移s位

M S B s MSB_s MSBs表示选择左侧的s位
I 1 ← I V I i ← L S B n − s ( I i − 1 ) ∣ ∣ C i − 1 O i ← E ( I i ) C i ← P i ⊕ M S B s ( O i ) P i ← C i ⊕ M S B s ( O i ) I_1 \leftarrow IV\\ I_i \leftarrow LSB_{n-s}(I_{i-1})||C_{i-1}\\ O_i \leftarrow E(I_i)\\ C_i \leftarrow P_i\oplus MSB_s(O_i)\\ P_i \leftarrow C_i \oplus MSB_s(O_i) I1IVIiLSBns(Ii1)∣∣Ci1OiE(Ii)CiPiMSBs(Oi)PiCiMSBs(Oi)
优点

  • 可以处理任意长度的数据,不必是块大小的倍数。
  • 流式加密
  • 不易遭受主动攻击

缺点

  • 误码传播
  • 不适合并行

在这里插入图片描述

OFB(Output FeedBack):引入向量IV,IV先与密钥加密,再与明文进行异或运算,加密后的IV为新IV(将分组密码的输出分组反馈回去,这些反馈分组加密后输出一个密钥流分组,再将密钥流分组与明文分组相异或。)
I 1 ← I V ; I i ← L S B n − s ∣ ∣ O i − 1 O i ← M S B s ( E ( I i ) ) C i ← P i ⊕ O i P i ← C i ⊕ O i I_1 \leftarrow IV;\\ I_i \leftarrow LSB_{n-s}||O_{i-1}\\ O_i \leftarrow MSB_s(E(I_i))\\ C_i \leftarrow P_i\oplus O_i\\ P_i \leftarrow C_i \oplus O_i I1IV;IiLSBns∣∣Oi1OiMSBs(E(Ii))CiPiOiPiCiOi
优点

  • 可以处理任意长度的数据,不必是块大小的倍数。
  • 流式加密

缺点

  • 无完整性检测
  • 安全性不高,易遭受主动攻击

在这里插入图片描述

CTR:与ECB类似,引入计数器,先与密钥加密,再与明文分组异或
C i ← P i ⊕ E ( C t r i ) P i ← C i ⊕ E ( C t r i ) C_i\leftarrow P_i\oplus E(Ctr_i)\\ P_i\leftarrow C_i\oplus E(Ctr_i) CiPiE(Ctri)PiCiE(Ctri)
优点

  • 可并行计算
  • 无误码传播

缺点

  • 对计数器设计要求较高
  • 安全性不高,易遭受主动攻击

在这里插入图片描述

9. 分析5种加密模式中,哪些加密模式没有误码扩展?哪些有误码扩展?如果有误码扩展, 会影响多少个分组?

(1)无误码扩展的模式:

OFB(输出反馈模式)在OFB模式中,一个错误仅影响对应的输出位,不会传播到其他部分。

CTR(计数器模式)CTR模式下,错误也仅限于影响相应的输出位,不会扩展到其他数据块。

(2)解密时有误码扩展的模式:

ECB(电子密码本模式)1bit --> 1组

CBC(密码块链接模式)在CBC模式中,一个错误影响两个连续的明文块:错误的密文块会产生错误的明文块,而这个错误的密文块也会影响下一个明文块的解密。

CFB(密码反馈模式)在CFB模式下,一个密文中的错误会影响 n s + 1 {n\over s}+1 sn+1。但是,错误不会再传播到更远的段。

10. 了解中国商用分组密码算法SM4,知道它的分组长度、密钥长度和加密轮数。

分组长度为128比特,密钥长度为128比特,32轮迭代。

第5章 双钥密码体制

1. 双钥密码体制是基于数学难题构造的,请列举出目前存在的数学难题。用双钥体制加密时采用谁的公钥?解密时采用谁的私钥?

  • 离散对数问题
  • 多项式求根问题
  • 大整数分解问题
  • 背包问题
  • DH问题
  • 二次剩余问题
  • 模n的平方根问题

双钥加密体制中,加密时用解密者的公钥,解密时用解密者的私钥。

  1. 离散对数问题
    • 定义:给定一个素数p,一个生成元g和一个幂h,求x满足 g x ≡ h m o d    p g^x\equiv h \mod p gxhmodp
    • 难点:求解离散对数问题在有限域上被认为是困难的,尤其是当参数p足够大时
    • 应用:ElGamal加密,DH密钥交换,DSA数字签名
  2. 多项式求根问题
    • 定义:给定一个多项式 P ( x ) P(x) P(x),求其根,即找到所有x满足 P ( x ) = 0 P(x)=0 P(x)=0
    • 难点:一般情况下,求解高次多项式的根是复杂的,尤其是当多项式的次数较高且系数较大时。
    • 应用:在某些基于格的密码体制中会涉及到多项式求根问题。
  3. 大整数分解问题
    • 定义:给定一个大整数 n n n,求其质因数分解,即找到 n = p 1 e 1 p 2 e 2 ⋯ p k e k n=p_1^{e_1}p_2^{e_2}\cdots p_k^{e_k} n=p1e1p2e2pkek
    • 难点:对于任意大整数,找到其所有质因数是计算复杂的,特别是当 n n n是由两个大素数乘积构成时。
    • 应用:RSA加密和数字签名
  4. 背包问题
    • 定义:给定一组物品,每个物品有一定的重量和价值,在总重量不超过一定限制的条件下,选择一组物品使得其总价值最大化。
    • 难点:背包问题是一个NP完全问题,通常需要使用启发式算法或近似算法来求解。
    • 应用:Merkle-Hellman背包密码系统
  5. DH问题
    • 定义:给定 g a m o d    p , g b m o d    p g^a\mod p,g^b\mod p gamodp,gbmodp,求解$g^{ab}\mod p $,其中p是一个大素数
    • 难点
    • 应用:DH密钥交换协议
  6. 二次剩余问题
    • 定义:给定一个整数a和一个模数n,判断是否存在一个整数x使得 x 2 ≡ a m o d    n x^2\equiv a\mod n x2amodn
    • 难点
    • 应用:Rabin加密算法
  7. 模n的平方根问题
    • 定义:给定一个整数a和一个模数n,找到是否存在一个整数x使得 x 2 ≡ a m o d    n x^2\equiv a\mod n x2amodn
    • 难点
    • 应用:Rabin加密算法

2. RSA是基于何种数学难题构造的?Diffie-Hellman是基于何种数学难题构造的?

RSA是基于大整数分解的困难性构造的

Diffie-Hellman是基于离散对数问题构造的

3. 请写出RSA加密和解密的数学表达式,并指出什么是公钥,什么是私钥?并能做简单的加密和解密计算。

加密: c = m e m o d    n c = m^e\mod n c=memodn

解密: m = c d m o d    n m = c^d \mod n m=cdmodn

公钥为 n , e n,e n,e,私钥为 d d d

计算过程:

  • 取大素数 p 、 q p、q pq,计算 n = p ∗ q n=p*q n=pq;

  • 计算欧拉函数 ϕ ( n ) = ( p − 1 ) ( q − 1 ) \phi(n) = (p-1)(q-1) ϕ(n)=(p1)(q1)

  • 取随机整数e,计算私钥 d = e − 1 m o d    ϕ ( n ) d=e^{-1}\mod \phi(n) d=e1modϕ(n)

    • 通过扩欧计算
  • 加解密

    • 通过快速模幂计算

4. RSA在各种参数选择上有哪些原则和限制?为什么?

  • n模数足够大(大于1024bit),p , q为大素数,因为RSA的安全性取决于模n 分解的困难性。
  • p−1, q−1有大的素因子,p + 1、q + 1也要有大的素因子,因为p和q是强素数。
  • p和q之差要大,因为当差值很小时可以通过解平方数试验出p和q的值。
  • e满足1 ≤ e < ϕ ( n ),gcd(ϕ(n),e)=1,因为需要满足求逆的条件。
  • e不能太小,因为明文小时可能未取模,可以开e次方求明文,且容易受到低加密指数攻击。
  • d要大于 n 1 / 4 n^{1/4} n1/4,因为d过小会导致已知明文攻击可以试验d的值,也会面临系统攻击法。

5. 写出ElGamal密码体制是基于何种数学难题?请写出它的加密表达式和解密表达式?

离散对数问题。

  • 选择素数 p p p,设 G F ( p ) GF(p) GF(p)上的本原元为 g g g
  • 选择密钥: α \alpha α in G F ( p ) ∗ GF(p)* GF(p)
  • 计算公钥: β = g α m o d    p \beta = g^{\alpha}\mod p β=gαmodp
  • 选择随机数 k k k ( k , p − 1 ) = 1 (k,p-1) = 1 (k,p1)=1
  • 加密: m → ( g k , m β k ) m o d    p = ( y 1 , y 2 ) = c m \rightarrow (g^k,m\beta ^k)\mod p = (y_1,y_2) = c m(gk,mβk)modp=(y1,y2)=c
  • 解密: m = y 2 y 1 − α m o d    p m = y_2y_1^{-\alpha}\mod p m=y2y1αmodp

6. ECC公钥密码基于何种数学难题?写出ECC公钥密码体制的加密表达式和解密表达式?

椭圆曲线上的离散对数问题。

  • 准备阶段
    • A选择一个小于 n n n的整数 n A n_A nA作为私钥,由 P A = n A G P_A=n_AG PA=nAG产生 E p ( a , b ) E_p(a,b) Ep(a,b)上的一点作为公钥
    • B选取自己的私钥 n B n_B nB,并计算自己的公钥 P B = n B G P_B=n_BG PB=nBG
  • 加密阶段
    • A要将消息 m m m加密后发送给B,则A选择一个随机数 k k k,计算:
      C = { C 1 , C 2 } = { k G , m + k P B } C=\{C_1,C_2\}=\{kG,m+kP_B\} C={C1,C2}={kG,m+kPB}
  • 解密阶段
    • B收到密文C后,计算 m m m
      m = C 2 − k C 1 = ( m + P B ) − n B ( k G ) m=C_2 - kC_1 = (m+P_B)-n_B(kG) m=C2kC1=(m+PB)nB(kG)

7. 写出基于ECC的Diffie-Hellman密钥交换协议。

  • 准备阶段

    • 取一个素数 p p p,以及参数 a , b a,b a,b,则椭圆曲线上的点构成Abel群 E p ( a , b ) E_p(a,b) Ep(a,b)
    • E p ( a , b ) E_p(a,b) Ep(a,b)上的一个生成元 G ( x 1 , y 1 ) G(x_1,y_1) G(x1,y1),要求G的阶是非常大的数 n n n(阶的定义是n是满足 n G = 0 nG=0 nG=0的最小正整数)
    • E p ( a , b ) E_p(a,b) Ep(a,b)和生成元G作为公钥密码体制的公开参数对外公布,不保密
  • 密钥生成

    • A选择一个小于 n n n的整数 n A n_A nA作为私钥,由 P A = n A G P_A=n_AG PA=nAG产生 E p ( a , b ) E_p(a,b) Ep(a,b)上的一个点作为公钥
    • B选取自己的私钥 n B n_B nB,并计算自己的公钥 P B = n B G P_B=n_BG PB=nBG
    • A,B可以获得对方的公钥
    • A计算 K = n A P B = n A n B G K=n_AP_B=n_An_BG K=nAPB=nAnBG
    • B计算 K = n B P A = n A n B G K=n_BP_A=n_An_BG K=nBPA=nAnBG

8. RSA和ECC公钥密码算法在加密、解密速度上有何差异?请查阅资料,比较它们分别采用硬件和软件实现时的加密和解密速度。

在达到同等安全性需求时,ECC具有更短的密钥长度,虽然计算更复杂,但加密速度更快。

在这里插入图片描述

9. 对公钥密码的攻击有哪些常见的攻击方式?它们各有什么特点?

选择明文攻击CPA)。攻击者选择明文消息并得到解密服务,产生相应的明文,攻击者通过得到的明密文对来降低目标密码体制的安全性。

选择密文攻击CCA)。攻击者选择密文消息并得到解密服务,产生相应的明文。攻击者用所得到的明密文对来降低目标密码体制的安全性。在解密服务停止后,即在得到目标密文之后,解密服务立即停止。如果攻击者能够从“目标密文”中得到保密明文的信息,则就说攻击是成功的。

适应性选择密文攻击CCA2)。这是一种CCA,而且除了对“目标密文”解密外,永远能够得到解密服务。

10. 了解中国的商用公钥密码算法SM2。

一组基于椭圆曲线的离散对数问题的公钥密码算法

包含加解密算法、数字签名算法和密钥交换协议

采取了检错措施,提高了系统的数据完整性和可靠性

推荐使用256位素数域上的椭圆曲线

涉及3类辅助函数:杂凑函数、密钥派生函数、随机数发生器

RSA大整数分解困难问题
Diffie-Hellman离散对数问题
Elgamal离散对数问题
ECC椭圆曲线的离散对数问题
SM2椭圆曲线的离散对数算法

第6章消息认证与杂凑函数

1. 请说明 Hash 函数与加密函数有何不同?

Hash函数不可逆,加密函数可逆。

2. 杂凑函数具有哪些性质?

单向性

任意长度输入产生定长输出。

抗原像攻击

抗碰撞攻击

3. 什么是消息认证码 MAC ?如何构造?

MAC(Message Authentication Code)是有密钥参与杂凑运算的算法,也称密码校验和。

构造方法: M A C = H ( m ∣ ∣ k ) MAC=H( m||k ) MAC=H(m∣∣k)

  • 其中,m是一个变长的消息
  • k是收发双方共享的密钥
  • H( m||k )是定长的认证符。

4. 在不知道密钥的情况下,如何对 MAC 算法成功实施攻击?(167页)

穷举、构造、碰撞、差分分析、密码分析

5. 如何采用 Hash 函数和分组加密算法构造 MAC ?

Hash函数构造方法 M A C = H ( m ∣ ∣ k ) MAC=H(m||k) MAC=H(m∣∣k)

分组加密算法构造方法:对消息M进行分组并填充为n个组,设 C 0 = I V C_0 = IV C0=IV为随机初始向量,发送者用CBC加密: C i ← E k ( m i ⊕ C i − 1 ) C_i \leftarrow E_k(m_i⊕C_ {i−1} ) CiEk(miCi1),数值对 ( I V , C n ) ( IV , C_n ) (IV,Cn)作为M的MAC。

6. 什么是消息检测码(或消息摘要) MDC ?简述 MDC 与 MAC 的异同。

MDC是无密钥控制的单向杂凑函数,其杂凑值只是输入字串的函数,任何人都可以计算。

不同点:

  • MDC无密钥控制,不具有身份认证功能;
  • MAC有密钥控制,具有身份认证功能。

相同点:MDC 和MAC都可以检测接收数据的完整性

7. 熟悉迭代杂凑函数的构造方法。

在这里插入图片描述

  • Rabin法
    H 0 = I V H i = E ( M i , H i − 1 )    i = 1 , 2 , … , t H ( M ) = H t \begin{aligned} H_0 &= IV\\ H_i &= E(M_i,H_{i-1})\ \ i = 1,2,\dots ,t\\ H(M) &= H_t \end{aligned} H0HiH(M)=IV=E(Mi,Hi1)  i=1,2,,t=Ht

  • 密码分组链接(CBC)法
    H 0 = I V H i = E ( K , M i ⊕ H i − 1 )    i = 1 , 2 , … , t H ( M ) = H t \begin{aligned} H_0 &= IV\\ H_i &= E(K,M_i\oplus H_{i-1})\ \ i = 1,2,\dots ,t\\ H(M) &= H_t \end{aligned} H0HiH(M)=IV=E(K,MiHi1)  i=1,2,,t=Ht

  • 密码反馈(CFB)法
    H 0 = I V H i = E ( K , H i − 1 ) ⊕ M i    i = 1 , 2 , … , t H ( M ) = H t \begin{aligned} H_0 &= IV\\ H_i &= E(K,H_{i-1})\oplus M_i\ \ i = 1,2,\dots ,t\\ H(M) &= H_t \end{aligned} H0HiH(M)=IV=E(K,Hi1)Mi  i=1,2,,t=Ht

  • 组合明/密文链接法
    M 0 = I V H i = E ( K , M i ⊕ M i − 1 ⊕ H i − 1 )    i = 1 , 2 , … , t H ( M ) = H t + 1 \begin{aligned} M_{0} &= IV\\ H_i &= E(K,M_i\oplus M_{i-1}\oplus H_{i-1})\ \ i = 1,2,\dots ,t\\ H(M) &= H_{t+1} \end{aligned} M0HiH(M)=IV=E(K,MiMi1Hi1)  i=1,2,,t=Ht+1

  • 修正Daveis-Meyer法。
    H 0 = I V H i = E ( H i − 1 , M i , H i − 1 ) \begin{aligned} H_0 &= IV\\ H_i &= E(H_{i-1},M_i,H_{i-1}) \end{aligned} H0Hi=IV=E(Hi1,Mi,Hi1)

8. MD5的明文输入分组长度、字长、输出长度是多少位?

在这里插入图片描述

9. SHA -1的明文输入分组长度、字长、输出长度是多少位?

10. 掌握应用杂凑函数的基本方式,熟悉图6-1、6-2、6-5、6-6所能够提供的安全功能。

共享密钥k

  • 既提供保密性,又提供消息认证

在这里插入图片描述

  • 仅仅提供消息认证:

在这里插入图片描述

  • 既提供消息认证,又提供数字签名:

在这里插入图片描述

  • 既提供保密性,又提供消息认证和数字签名

在这里插入图片描述

共享随机状态S

仅提供消息认证

在这里插入图片描述

既提供保密性,又提供消息认证:

在这里插入图片描述

11. 熟悉中国商用杂凑函数SM3的构造。

SM3是一种采用Merkle-Damgard结构的杂凑函数。

12. 掌握迭代杂凑函数的构造方法。(P171)

见7

第7章数字签名

1. 数字签名应该具有哪些性质?

  • R1:收方能够确认或证实发放的签名,但不能伪造

  • S:发方发出签名的消息给收方后,就不能再否认他所签发的消息

  • R2:收方对已收到的签名消息不能否认,即有收报认证

  • T:第三者可以确认收发双方之间的消息传送,但不能伪造这一过程

2. 数字签名可以分为哪几类?

  • 消息是否被压缩分类:
    • 整体消息进行签名
    • 压缩的消息进行签名
  • 消息/签名的对应关系分类:
    • 确定性数字签名:消息和签名一一对应,对同一消息的签名永不变化(RSA)
    • 随机化数字签名:对同一消息的签名是变化的,取决于算法中随机参数的值
  • 参与方分类:
    • 直接签名:只涉及接收方和发送方
    • 仲裁签名:引入可信的仲裁机构来解决密钥泄漏或时间戳修改的问题

3. RSA签名是基于何种数学难题?

大整数分解难题。

4. ElGamal 签名是基于何种数学难题?请写出 EIGamal 的签名方程。

基于离散对数难题。

在这里插入图片描述
在这里插入图片描述

5. Schnorr 签名与 ElGamal 签名有何不同?请比较两者的异同。

在这里插入图片描述
在这里插入图片描述

相同点

  • 基于离散对数难题构造
  • 随机化数字签名。

不同点

  • 在ElGamal中,g是 Z p ∗ \Z^*_p Zp的本原元,而Schnorr中g是 Z p ∗ \Z^*_p Zp的子集 Z q ∗ \Z^*_q Zq的本原元
  • Schnorr的签名长度比ElGamal短,由|q|以及|H(m)|决定
  • r = g k m o d    p r=g^k\mod p r=gkmodp可以预先计算,签名只需一次乘法和一次加法,签名速度快
  • Schnorr签名较短,安全性比ElGamal差

6. 请写出 DSS 的签名方程,并比较它与 ElGamal 、 Schnorr 的异同。

DSA是DSS签名标准中所采用的数字签名算法

在这里插入图片描述

在这里插入图片描述

不同点

DSS(使用DSA)产生的签名长度是固定的

相同点

  • 都是基于离散对数难题构造
  • 都是随机化数字签名

7. 在以上三种签名方案中,每次签名时,用户都要选择一个随机数 k 。若将随机数 k 替换成为常数,会出现什么安全问题?请加以分析。

可以通过2个使用相同随机数k的签名解密出私钥。

以ElGamal举例:
M 1 = r 1 x + s 1 k m o d    ( p − 1 ) M 2 = r 2 x + s 2 k m o d    ( p − 1 ) M_1 = r_1x+s_1k\mod (p-1)\\ M_2 = r_2x+s_2k\mod (p-1) M1=r1x+s1kmod(p1)M2=r2x+s2kmod(p1)
可以求解出用户的私钥 x m o d    p x\mod p xmodp,无法确定其具体值,但能够大大缩小其取值范围。

8. Diffie-Hellman能用来做数字签名吗?

不能,密钥交换算法。

9. 单钥体制能用来做数字签名吗?

不能。

10. 试比较数字签名在密钥的使用上,与公钥加密算法存在的区别。

在这里插入图片描述

11. 请列举具有特殊功能的数字签名体制有哪些?它们各有什么用途?

不可否认签名:这类签名要求在签名者合作下才能验证签名。如果无签名者合作,这类签名不可验证,从而可以防止恶意的攻击者随意复制和散布签名者所签的文件。这一性质可以用于知识产权的保护等。

防失败签名:是一种强安全性的数字签名,可防范有充足计算资源的攻击者。在分析出私钥的情况下,攻击者也难以伪造Alice的签名。签名者也难以对自己的签名进行抵赖。

盲签名:签名者对一个文件做数字签名,但文件所有者不想让签名者知道文件的内容。可用于选举投票、数字货币协议、电子商务系统。

群签名:只有群中的成员才能代表该群体进行数字签名。接收方用公钥验证群签名,但无法知道由群体中的哪个成员所签。发生争议时,由群体中的成员或可信赖机构识别群签名的签名者。可以用于项目投标。

代理签名:代理签名就是委托人授权某个代理人进行的签名,在委托签名时,签名密钥不交给代理人。

指定证实人签名:在一个机构中,指定一个人负责证实所有人的签名。任何成员的签名都具有不可否认性,但证实工作均由指定人完成。

一次性数字签名:签名者至多只能对一个消息进行签名,否则签名就可能被伪造。

不妨带一群盲纸

12. 了解中国商用数字签名算法SM2。(P197)

基于椭圆曲线上的离散对数难题。

特点

  • 椭圆曲线的公钥密码算法
  • 包含加解密算法数字签名算法密钥交换协议

第8章 密码协议

1. 构成协议的三个主要特征(含义)是什么?

  • 有序性

  • 至少有两个参与者

  • 通过执行协议必须能完成某项任务

注:网络协议的三要素:语法、语义、同步。

2. 什么是仲裁协议?什么是裁决协议?什么是自执行协议?

仲裁协议(无纠纷):存在公正的、各方均信赖的第三方作为仲裁者,帮助两个互不信赖的实体完成协议。

裁决协议(有纠纷):可信赖第三方不直接参与协议,只有发生纠纷时,裁决人才执行协议。

  • 裁决协议建立在通信双方均诚实的基础上
  • 好的裁决协议应当能够确定欺骗者的身份
  • 裁决协议只检测欺骗是否存在,但不能防止欺骗发生

自执行协议:是最好的协议,协议本身保证公平性

不需要仲裁者的参与,也不需要仲裁者解决争端。

如果协议中一方试图欺骗,另一方能够立刻检测到欺骗的发生,并停止执行协议。

3. 如果按照密码协议的功能分类,密码协议可以分为哪几类?

密钥建立协议

认证协议

认证的密钥建立协议

4. 什么是中间人攻击?如何对Diffie-Hellman协议进行中间人攻击?请用画图分析对Diffie-Hellman协议进行中间人攻击的详细过程。

攻击者拦截正常的网络通信数据,选择性的进行数据篡改和转发,而通信双发却毫不知情。

DH协议:

  • A产生大整数a作为自己的私钥,向B发送 X = g a m o d    p X = g^a\mod p X=gamodp
  • B产生大整数b作为自己的私钥,向A发送 Y = g b m o d    p Y = g^b\mod p Y=gbmodp
  • A收到Y并计算 K = Y a = g a b m o d    p K = Y^a = g^{ab}\mod p K=Ya=gabmodp
  • B收到X并计算 K = X b = g a b m o d    p K=X^b=g^{ab}\mod p K=Xb=gabmodp
  • 中间人攻击
    • C产生大整数 c c c作为自己的私钥,计算 Z = g c m o d    p Z = g^c\mod p Z=gcmodp
    • C拦截第1步中A发向B的流量,并向B发送Z
    • C拦截第2步中B发向A的流量,并向A发送Z
    • 这样,A收到Z并计算 K ′ = Z a = g a c m o d    p K' = Z^a = g^{ac}\mod p K=Za=gacmodp
    • B收到Z并计算 K ′ ′ = Z b = g b c m o d    p K'' = Z^b = g^{bc}\mod p K′′=Zb=gbcmodp

5. DH协议不能抵抗中间人攻击的本质原因是什么?如何改造DH协议,可以抵抗中间人攻击?

DH不抵抗中间人攻击的本质原因:通信双方没有进行实体认证

改造DH:

  • 利用数字签名
    • 生成用于数字签名的公私钥对
      • Alice对应 P K A , S K A PK_A,SK_A PKA,SKA
      • Bob对应 P K B , S K B PK_B,SK_B PKB,SKB
    • 交换公钥
      • Alice和Bob交换各自的公钥
    • 生成临时的密钥对(用于建立DH)
      • Alice的临时私钥和公钥分别为 a , g a m o d    p a,g^a\mod p a,gamodp
      • Bob的临时私钥和公钥分别为 b , g b m o d    p b,g^b\mod p b,gbmodp
    • 交换临时公钥并签名(这里签名内容可以加时间戳之类的)
      • Alice发送 g a , S i g n S K A ( g a , P K B ) g^a,Sign_{SK_A}(g^a,PK_B) ga,SignSKA(ga,PKB)给Bob
      • Bob发送 g b , S i g n S K B ( g b , P K A ) g^b,Sign_{SK_B}(g^b,PK_A) gb,SignSKB(gb,PKA)给Alice
    • 验证签名
      • Alice使用Bob的公钥可以验证 g b g^b gb
      • Bob同理
    • 计算共享密钥
      • Alice计算共享密钥 S = ( g b ) a S=(g^b)^a S=(gb)a
      • Bob计算共享密钥 S = ( g a ) b S=(g^a)^b S=(ga)b

6. Diffie-Hellman能用来做数字签名吗?

不能。(没有认证功能)

7. 掌握大嘴青蛙协议、Yahalom、Kerberos协议安全协议设计的思想。

大嘴青蛙协议:A和B均与T共享一个密钥,只需要传两条消息,就可以将一个会话密钥发送给B。

在这里插入图片描述

Yahalom :B首先与T接触,而T仅向A发送一条消息。

在这里插入图片描述

Kerberos :A和B均与T共享一个密钥,采用时戳。会话密钥由A生成。

在这里插入图片描述

8. 请画图分析第218页的SKID协议为什么不能抵抗中间人攻击?如何改造这个协议,可以有效抵抗中间人攻击?

SKID2:单向认证

在这里插入图片描述

SKID3:双向认证

在这里插入图片描述

在假设中间人有密钥的情况下,显然是会被中间人攻击的。

解决方法:数字签名

  • 双方首先交换各自的公钥 P K A , P K B PK_A,PK_B PKA,PKB

  • 第一步不变

  • 第二步Bob需要返回的内容多一项对于 R A , R B , B R_A,R_B,B RA,RB,B的签名

  • 第三步中A就可以利用签名来验证B的身份

  • 第四步A同样需要多发送一项对于 R B , A R_B,A RB,A的签名

  • 第五步B就可以对此进行验证

9. 对密码协议的攻击方法有哪些?

  • 已知明文攻击:攻击者拥有明密文对,尝试猜测密钥。
  • 选择密文攻击:攻击者假扮成通信一方,发送精心设计的密文并要求对方解密
  • 预言者会话攻击
    • 攻击者无需破译密钥
    • 攻击者通过伪装介入协议双方的协议交互过程,将一方当做预言者“解密服务器”来对付另一方
  • 并行会话攻击

10. 密码协议的安全性分析的常用方法有哪些?

  • 攻击检验方法

  • 形式语言逻辑证明

  • 可证明安全分析

第9章 数字证书与公钥基础设施

1. 什么是 PKI ? PKI 由哪几部分组成?每个组成部分的作用是什么?

PKI(公钥基础设施):是一种遵循标准利用公钥理论和技术建立的提供安全服务的基础设施。

PKI的组成部分及作用:

  • 证书机构CA:提供网络身份认证服务,负责证书签发后证书生命周期中的所有方面的管理

    • 负责签发和管理数字证书
    • 提供网络身份认证、负责证书签发及证书的管理
      • 跟踪证书状态
      • 在证书需要撤销时发布证书撤销通知
    • 维护证书档案和证书相关的审计
  • 注册机构RA:是数字证书注册审批机构,是认证中心的延伸。RA按照政策与管理规范对用户的资格进行审查,并执行“是否同意给该申请者发放证书、撤销证书”等操作。

  • 证书发布库,用于集中存放CA颁发证书和证书撤销列表。

  • 密钥备份与恢复:备份和恢复用户的加密/解密密钥。

  • 证书撤销,警告其他用户不要再使用该用户的公私钥。

  • PKI应用接口,令用户能方便地使用加密、数字签名等安全服务。

2. 什么是数字证书?一个数字证书包含哪些内容?

数字证书的概念:将用户身份ID与其所持有的公钥PK 绑定,再由CA对该用户身份及对应公钥的组合 { I D ∣ ∣ P K } \{ID||PK\} {ID∣∣PK} 进行数字签名得到S,然后将 { S ∣ ∣ I D ∣ ∣ P K } \{S||ID||PK\} {S∣∣ID∣∣PK}加以存储,即数字证书。

数字证书包含的内容:主体名、公钥、序号、有效期、签发者名

在这里插入图片描述

3. 了解X .509标准规定的数字证书的格式。

在这里插入图片描述

4. 实际中,由谁来签发证书?签发证书时,是由谁的何种密钥(私钥还是公钥)进行签名?验证证书时,是用谁的何种密钥来验证?

实际中,由CA来签发证书

签发证书时使用CA的私钥进行签名

验证证书时使用CA的公钥进行验证。

5. 数字证书的作用是什么?它本质上是为解决网络安全中的何种问题?

数字证书的作用是证明证书中所列用户身份证书中所列公开密钥合法且一致

本质为了解决公钥可信性问题。

6. 在实际应用中,若采用层次化的 CA 架构,如何实现两个位于不同子 CA 中的用户之间的数字证书验证?

在这里插入图片描述

在这里插入图片描述

需要获取验证的证书的证书链,依次获取上一级证书的公钥验证证书的签名,直到可信任的根CA

7. 什么是交叉证书?

交叉证书可以让不同PKI域的根CA进行交叉认证,从而解决根CA不同的信任问题

在这里插入图片描述

8. 如何实现数字证书的撤销?如何实现数字证书的在线查询?

  1. 周期性发布机制:证书撤销列表CRL(Certificate Revocation List)
  2. 在线证书查询机制:OCSP(Online Certificate Status Protocol)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

9. 什么是漫游证书?简述其基本工作原理。

数字证书及私钥移动性存储,容易丢失/损坏

漫游证书:将数字证书和私钥存储在安全的中央服务器

基本原理

  • 将数字证书和私钥存储于安全的中央服务器;
  • 用户需要数字证书时,可向该服务器认证自己;
  • 认证成功后,该服务器将证书和私钥发给用户;
  • 当用户完成工作后,该软件自动删除证书和私钥。

10. 一个 PKI / CA 数字证书系统由哪几部分构成?

签发系统、注册系统、密钥管理中心、在线证书状态查询系统、证书发布系统。

在这里插入图片描述

第10章 网络加密与密钥管理

1. 什么是链路加密?有什么优缺点?

链路加密是对网络中两个相邻节点之间传输的数据进行加密保护;

优点

  • 加密对用户是透明的
  • 通过链路发送的任何信息(报头+数据)在发送前都先被加密;

缺点

  • 要求先对链路两端的加密设备进行同步,对网络性能和可管理性带来副作用
  • 即使仅一小部分数据需要加密,也会使得所有数据被加密
  • 数据在节点内部以明文形式出现,因此要求节点在物理上是安全的。维护结点安全性的代价较高
  • 密钥需定期更换,密钥分配存在困难
  • 随着节点增多,密码机的需求数量很大

2. 什么是节点加密?有什么优缺点?

节点加密指在节点处采用一个与节点设备相连的密码装置,消息在该装置中被加解密的数据加密手段;

在节点加密中,消息报头和路由信息以铭文形式传输

优点

  • 节点加密不允许消息在节点上以明文形式存在。在节点上先解密,再用不同的密钥加密
  • 加解密对用户透明;

缺点

  • 报头和路由信息必须以明文形式传输,对于攻击者分析通信业务是脆弱的;
  • 所有节点都必须有密钥,密钥分发和管理变的困难。

3. 什么是端到端加密?有什么优缺点?

端到端加密是对一对用户之间的数据连续地提供保护;

优点

  • 对两个终端之间的整个通信线路进行加密;
  • 只需要2台密码机,1台在发端,1台在收端;
  • 从发端到收端的传输过程中,报文始终以密文存在;
  • 比链路和节点加密更安全可靠,更容易设计和维护。

缺点

  • 消息报头(源/目的地址)不能加密,不能防止业务流分析攻击。

4. 什么是混合加密?有什么优缺点?

混合加密是端到端加密和链路加密组合而成的加密方式;报文被两次加密,报头被链路加密

优点

  • 报文被两次加密(端到端+链路),报头被一次加密(链路),保护了报头的敏感信息,不会被业务流分析攻击。

缺点

  • 从成本、灵活性和安全性来看,一般端到端加密方式较有吸引力;
  • 信息的安全设计较复杂,成本高,系统开销大;
  • 有些远端设备的设计或管理方法不支持端到端加密方式。

5. 什么是密钥管理?它包括哪些方面的管理?

密钥管理是处理密钥从产生到最终销毁的整个过程中的有关问题

包括系统的初始化及密钥的产生、存储、备份/恢复、装入、分配、保护、更新、控制、丢失、撤销和销毁等内容。

6. 密钥有哪些种类?它们各自有什么用途?

基本密钥/初始密钥:是由用户选定或由系统分配、可在较长时间内由一对用户专用的密钥。其用途是与会话密钥一起去启动和控制某种算法所构造的密钥产生器,产生用于加密数据的密钥流。

主机主密钥:作用是对密钥加密密钥进行加密的密钥,存储于主机处理器中。

密钥加密密钥:用于对传送的会话或文件密钥进行加密时采用的密钥,也称为次主密钥、辅助密钥或密钥传送密钥。

会话密钥:是两个通信终端用户在一次通话或交换数据时所用的密钥。

数据加密密钥:也称工作密钥,在不增大更换密钥工作量的条件下扩大可使用的密钥量。

双钥体制下,有公钥和私钥/签名密钥和验证密钥之分

在这里插入图片描述

在这里插入图片描述

7. 有哪些密钥分配的基本方法?

  • 利用安全信道实现密钥传递

  • 利用双钥体制建立安全信道传递

  • 利用量子技术实现密钥传递。

8. 在用密钥枪注入密钥时,如何验证密钥注入的正确性?

即确认保密机中主密钥 K m K_m Km的正确性

  1. 密钥枪将一随机数 R N R_N RN注入保密机;
  2. 保密机用主密钥 K m K_m Km加密: E K m ( R N ) E_{K_m}(R_N) EKm(RN)
  3. 保密机计算 K m K_m Km的杂凑函数值: h ( K m ) h(K_m) h(Km)
  4. 保密机将 E K m ( R N ) E_{K_m}(R_N) EKm(RN) h ( K m ) h(K_m) h(Km)回送到密钥枪;
  5. 密钥枪检验 h ( K m ) h(K_m) h(Km)值,并检验解密的 R N R_N RN

9. 密钥管理为什么要将密钥划分成不同的层次?

(1)书中答案:

保证只有极少数密钥以明文形式存储在有严密物理保护的主机密码器件中,其他密钥则以加密后的密文形式存于密码器之外的存储器中,因而大大简化了密钥管理,并增强了密钥的安全性

(2)网络答案:

提高安全性:高层密钥具有更高的权限,可以管理和控制低层密钥的生成、分配、更新和撤销,这种分层管理可以降低密钥被攻击或泄露的风险;

密钥的独立性:低层密钥具有相对独立性,它们的生成方式、结构、内容可以根据某种协议不断变换。即使某个低层密钥被破解,也不会影响到上级密钥的安全;

提高效率:每个层次都有专门的密钥管理系统进行操作,如此可以提高密钥管理的效率,减少操作错误和混乱。

自动化管理:例如,只有高层密钥需要人工装入,其他各级密钥均可以由密钥管理系统按照某些协议进行自动地分配、更换、撤销等。如此可以提高管理效率,减少人为错误和干预,同时也可以提高安全性。

10. 一个密钥管理系统由哪几部分构成?

在这里插入图片描述

密钥生成器:用于生成密钥的硬件或软件设备,可以根据特定的算法生成密钥,确保密钥的随机性和唯一性;

密钥存储器:用于存储密钥的设备,可以是硬件设备,如智能卡、USB密钥等,也可以是软件设备,如加密文件或数据库;

密钥分发器:用于将密钥分发给用户或设备的系统。密钥分发器可以通过安全的方式将密钥发送给需要它的用户或设备,确保密钥的安全性和正确性;

密钥注册和撤销系统:用于注册和撤销用户或设备的密钥的系统。密钥注册系统可以接受用户或设备的注册请求,为其分配一个唯一的密钥,并将其存储在密钥存储器中。密钥撤销系统可以接受用户的撤销请求,将该用户的密钥从密钥存储器中删除,以确保密钥的安全性;

密钥使用和审计系统:用于使用和审计密钥的系统。密钥使用系统可以接受用户的加密或解密请求,使用相应的密钥进行加密或解密操作。审计系统可以对密钥的使用情况进行审计,确保密钥的安全性和正确性。

11. 密钥的生存期分哪四个阶段?了解密钥管理的12个工作步骤。

四个阶段

  • 预运行阶段:密钥尚不能正常使用
  • 运行阶段:密钥正常使用
  • 后运行阶段:密钥不再提供正常使用,但为了特殊目的可以脱机下接入
  • 报废阶段:将被吊销密钥从所有记录中删去

12个工作步骤:用户注册、用户初始化、密钥生成、密钥输入、密钥注册、正常使用、密钥备份、密钥更新、密钥档案、密钥注销与销毁、密钥恢复、密钥吊销

12. 查找资料,了解一个好的密钥应具备哪些数学特性?

  • 真正随机、等概率;
  • 避免使用特定算法的弱密钥;
  • 双钥系统的密钥必须满足一定的数学关系;
  • 一般会选伪随机数,循环周期应尽可能大;
  • 为便于记忆,密钥不能选得过长,要选用易记而难猜中的密钥;
  • 采用密钥揉搓或杂凑技术,变换成伪随机数串。

第11章 无线网络安全

1. 无线网络面临哪些主要安全威胁?要能识别哪些是主动攻击,哪些是被动攻击。

被动攻击:通话窃听,服务区标识符泄露;

主动攻击:通信阻断,数据的注入和篡改,中间人攻击,客户端假冒,接入点伪装,匿名攻击,端对端攻击,隐匿无线信道,重放攻击。

2. GSM系统有哪些主要安全缺陷?

首次开机时泄漏IMSI信息,可能导致用户身份泄露;

基站对用户实施单向认证,伪基站向用户发送欺诈信息;(用户并不能认证基站的身份)

骨干网数据传输无加密,中间节点可截获会话密钥;

无数据完整性验证机制,不能检测数据是否被篡改;

K直接参与认证与加密,存在泄露主密钥的风险;

主密钥K存在SIM卡中,有复制SIM卡的风险。

3. 3G系统有哪些安全功能?有哪些主要安全缺陷?与2G相比,3G作出了哪些安全性改进?

3G系统安全功能:

  • 实现了用户网络间的双向认证
  • 建立了用户网络间的会话密钥
  • 保持了会话密钥的新鲜性
  • 增加了数据完整性验证功能

主要安全缺陷

首次开机时泄漏IMSI信息,可能导致用户身份泄露;

骨干网数据传输无加密,中间节点可截获会话密钥;

K直接参与认证与加密,主密钥缺少层次化保护;

CK和IK直接传输,存在被窃听的风险;

主密钥K存在SIM卡中,有复制SIM卡的风险;

采用10种安全算法f1~f10,算法过多存在被攻破的风险。

相比2G作出的安全性改进

  • 实现了用户网络间的双向认证
  • 增加了数据完整性验证

4. 4G系统有哪些安全功能?有哪些主要安全缺陷?与3G相比,4G作出了哪些安全性改进?

4G系统安全功能:

  • 实现了用户网络间的双向认证

  • 建立了用户网络间的会话密钥

  • 增加了数据完整性验证

  • 实现了层次化密钥管理

  • 隐藏了加密密钥CK和完整性验证密钥IK

主要安全缺陷:

首次开机时泄漏IMSI信息,可能导致用户身份泄露;

骨干网数据传输无加密,中间节点可截获会话密钥;

相比3G作出的安全性改进:

  • 实现了层次化密钥管理,
  • 隐藏了加密密钥 C K C_K CK和完整性验证密钥 I K I_K IK

5. 请画图分析 GSM 蜂窝系统保密与认证协议的工作过程,指出三元组认证向量中的每个元素所发挥的安全性作用。

在这里插入图片描述

  • IMSI是移动用户身份标识,存储在SIM卡中,独一无二。攻击者可以利用这个来非法克隆SIM卡,所以应尽量减少IMSI在电波中的传递次数。

IMSI仅在初次接入或VLR中数据丢失的情况下使用。在认证时采用临时用户身份标识(TMSI)。当一个用户开始拨打电话时,GSM网络的VLR会认证用户身份,VLR会立刻与HLR建立联系,HLR从AuC获取用户信息。

  1. AuC(右上角HLR的位置)产生一个128bit的随机数或询问数 RAND
  2. AuC使用A3算法和密钥K将RAND加密,产生一个32bit的签名回应SERS;同时AuC通过A8算法计算Kc
  3. AuC将认证三元组发送给VLR
  4. VLR存储三元组,并将RAND经由基站发送给主机
  5. 手机接收到RAND后,因为SIM卡中存有K和A3算法,计算出响应值SERS’
  6. 手机将SERS‘传送到基站,基站转发到VLR
  7. VLR将收到的SERS和SERS’进行比较
  8. 如果SERS == SERS’,说明认证成功,用户可以使用网络
  9. 如果SERS ≠ \not= = SERS’,说明认证失败,连接终止,错误信息报告至手机

三元组认证向量:RAND、SRES、Kc

  • RAND用于用户认证和会话密钥的产生时的挑战值;

  • SRES用于VLR进行用户认证时与用户传输的认证响应SRES’比较;

  • Kc为会话密钥,用于加密会话数据。

6.请画图分析 3G 蜂窝系统保密与认证协议的工作过程,指出五元组认证向量中的每个元素所发挥的安全性作用。

在这里插入图片描述

  1. MS --> VLR: IMSI, HLR
  2. VLR --> HLR: IMSI
  3. HLR --> VLR: AV=RAND || XRES || CK || IK || AUTN
  4. VLR --> MS: RAND || AUTN
    用户计算XMAC并与收到的AUTN中的MAC比较,若相同则利用RAND计算RES
  5. MS --> VLR: RES
    VLR比较RES和XRES,相同则告诉MS开启加密模式,计算CK和IK

五元组认证向量:RAND、XRES、CK、IK、AUTN

RAND:用于挑战用户,用户设备将使用此随机数与自己存储的加密密钥一起,通过算法生成响应和会话密钥

XRES:网络侧计算的用户应该返回的正确的响应值。用户将计算得出的响应与XRES进行对比,以便网络认证用户

CK用于数据加密;

IK用于保护通信的完整性;

AUTN用于用户设备验证网络的合法性,用户设备将使用这个认证令牌来鉴别网络的合法性,确保不是被仿冒的。

7. 为何2G/3G/4G系统的挑战值 RAND 是一个随机数而不能是常数?如果挑战值 RAND 为常数,会产生何种安全问题?请加以分析。

常数存在安全问题,随机数可以保持密钥的新鲜性。挑战值是随机数可以防止强力攻击,一个128b的随机数意味着多种可能的组合,即使一个黑客知道A3算法,猜出有效的RAND/SRES的可能性也非常小。

如果挑战值RAND为常数,可能会遇到:

  • 重放攻击:攻击者可以重放以前的认证消息,冒充合法用户进行认证
  • 预测攻击:攻击者可以提前计算和准备认证和加密向量,从而攻破会话密钥

8. 与2G/3G/4G相比,5G在哪些方面提升了安全性?

  • 增加了用户身份标识隐私保护(相对来说,只增加了此项)
  • 实现了用户网络间的双向认证
  • 建立了用户网络间的会话密钥和数据完整性验证密钥
  • 实现了层次化密钥管理
  • 隐藏了加密密钥 C K C_K CK和完整性验证密钥 I K I_K IK

在这里插入图片描述

第12章 防火墙原理与设计

1. 什么是防火墙?防护墙的主要功能是什么?防护墙的默认规则是什么?

防火墙是由软件和硬件组成的系统,它处于安全的网络和不安全的网络之间,属于网络边界防护设备

主要功能:由系统管理员设置访问控制规则,对进出网络边界的数据流进行过滤

防火墙默认规则:凡是没有明确允许的,一律都是禁止的。

2. 按防火墙的技术分类,可分为哪几类?若按防火墙的结构分类,又可以分为哪几类?

按技术分类

  • 包过滤防火墙
  • 电路级网关防火墙
  • 应用级网关防火墙

按防火墙结构分类

  • 静态包过滤防火墙
  • 动态包过滤防火墙
  • 电路级网关防火墙
  • 应用层网关防火墙
  • 状态检查包过滤防火墙
  • 切换代理防火墙
  • 空气隙防火墙(物理隔离)

3. 防火墙工作于OSI七层模型的层次越高,其安全性是不是越高?

防火墙工作于OSI模型的层次越高,能提供的安全保护等级就越高

在这里插入图片描述

4. 什么是网络地址转换NAT?防火墙为什么要做NAT转换?NAT的类型有哪些?

概念:前述

分类

  • 静态NAT:内部(私有)IP地址与外部Internet IP(公网)地址一一对应
  • 动态NAT:动态NAT指在将私有IP地址转换为公网IP地址时,IP地址是随机的, 所有私有IP地址可随机转换为任何指定的Internet IP地址
    若内网私有IP数超过了可用的公网IP范围,则必须采用动态PAT
  • PAT:在进行网络地址转换时,不仅网络地址发生改变,而且协议端口也会发生改变。NAT优先,公网地址不够时再使用PAT
  • SNAT(Source):当内部用户使用内部地址访问Internet时,必须将IP头部中的数据源地址转换成合法Internet地址
  • DNAT(Destination):当数据包进入内网时,必须将数据包中的目的地址转换成内网中服务器的专用地址,使公网IP地址与内网专用地址相对应

5. 掌握NAT路由器的工作原理,要知道外出的数据包和进入的数据包地址是如何替换的?

在这里插入图片描述

内部数据包离开内部网络

  • 在内部数据包离开内部网络时,其源地址字段总包含NAT 路由器的外部地址

  • 因此,对于所有输出的数据包,NAT路由器用其外部地址替换数据包的源地址

外部数据包进入内部网络

  • 在外部数据包进入内部网络之前,其目的地址字段总包含 NAT路由器的外部地址

  • 因此对于所有输入数据包, NAT路由器必须采用最终目标主机的IP地址替换数据包的目的地址

在这里插入图片描述

在这里插入图片描述

6. 静态包过滤防护墙工作于OSI的哪一层?它对数据包的哪些参数进行过滤?有何优缺点?

工作在网络层

取决于对数据包中IP头协议头等特定域的检查和判定

  • 目的地址
  • 数据源地址
  • 目的端口号
  • 源端口号
  • 应用或协议

优点

  • 成本较低
  • 对网络性能影响较小

缺点

  • 较低的安全性
  • 缺少状态感知能力
  • 容易遭受IP欺骗攻击
  • 创建访问控制规则比较困难

7. 动态包过滤防护墙工作于OSI的哪一层?它对数据包的哪些参数进行过滤?有何优缺点?

工作在网络层(大部分)/传输层(安全性较高的)

动态包过滤防火墙的不同点:对外出数据包进行身份记录, 便于下次让具有相同连接的数据包通过

动态包过滤防火墙需要对已建连接和规则表进行动态维护, 因此是动态的和有状态的。

典型的动态包过滤防火墙能够感知新建连接已建连接之间的差别,所以说它具有动态状态感知功能

过滤内容:

  • 源地址
  • 目的地址
  • 应用或协议
  • 源端口号
  • 目的端口号

优点

  • 采用对称多处理SMP技术时,对网络性能影响非常小
  • 动态包过滤防火墙的安全性优于静态包过滤防火墙
  • 状态感知”能力使其性能显著提高
  • 如果不考虑操作系统成本,则成本很低

缺点

  • 仅工作于网络层,仅检测IP头和TCP头
  • 没过滤数据包的净荷部分,安全性仍旧较低
  • 容易受IP欺骗攻击
  • 难于创建规则,管理员需要考虑规则的先后次序
  • 如果在建立连接时没有遵循三步握手协议,会引入风险

8. 电路级网关防火墙工作于OSI的哪一层?它对数据包的哪些参数进行过滤?有何优缺点?

工作在会话层

检查内容:除了进行基本的包过滤检查外,还要增加对连接建立过程中的握手信息 SYN、ACK及序列号合法性的验证

  • 源地址
  • 目的地址
  • 应用或协议
  • 源端口号
  • 目的端口号
  • 握手信息及序列号

在这里插入图片描述

优点

  • 网络性能比包过滤防火墙稍差,但是比应用代理防火墙好。
  • 切断了外部网络到防火墙后的服务器直接连接。
  • 比静态或动态包过滤防火墙具有更高的安全性。

缺点

  • 具有一些固有缺陷。例如,电路级网关不能对数据净荷进行检测,无法抵御应用层攻击等。
  • 仅提供一定程度的安全性。
  • 当增加新的内部程序或资源时,往往需要修改电路级网关的代码

9. 应用级网关防火墙工作于OSI的哪一层?它对数据包的哪些参数进行过滤?有何优缺点?

工作在应用层

在这里插入图片描述

检查内容:代理对整个数据包进行检查

优点

  • 在已有的安全模型中安全性较高
  • 具有强大的认证功能
  • 具有超强的日志功能
  • 规则配置比较简单

缺点

  • 灵活性很差,对每一种应用都需要设置一个代理
  • 配置繁琐,增加管理员的工作量
  • 流量吞吐性能不高,有可能成为网络瓶颈

10. 状态检测防火墙工作于OSI的哪一层?它对数据包的哪些参数进行过滤?有何优缺点?

工作在所有7层

在这里插入图片描述

优点

  • 具备动态包过滤所有优点,同时具有更高的安全性
  • 它没有打破C/S结构,因此不需要修改很多应用程序
  • 提供集成的动态(状态)包过滤功能
  • 当以动态包过滤模式运行时,其速度很快
  • 当采用对称多处理器SMP模式时,其速度更快

缺点

  • 采用单线程进程,对防火墙性能产生很大影响
  • 因未打破C/S结构,可能会产生很大的安全风险
  • 不能满足对高并发连接数量的要求

11. 切换代理防护墙工作于OSI的哪一层?它对数据包的哪些参数进行过滤?有何优缺点?

先在会话层,后在网络层

在这里插入图片描述

优点

  • 与传统电路级网关相比,对网络性能造成影响要小
  • 由于对三步握手进行了验证,降低了IP欺骗的风险

缺点

  • 它不是一个电路级网关
  • 它仍然具有动态包过滤器遗留的许多缺陷
  • 由于没检查数据包的净荷部分,因此具有较低的安全性
  • 难于创建规则(受先后次序的影响)
  • 安全性不及传统的电路级网关

12. 空气隙防火墙工作于OSI的哪一层?它对数据包的哪些参数进行过滤?有何优缺点?

工作在物理层

在这里插入图片描述

过滤内容:物理隔离

优点

  • 切断与防火墙后面服务器的直接连接,消除隐信道攻击的风险
  • 采用应用代理对协议头长度进行检测,消除缓冲器溢出攻击
  • 与应用级网关结合使用,空气隙防火墙能提供很高的安全性

缺点

  • 降低网络的性能
  • 不支持交互式访问
  • 适用范围窄
  • 结构复杂,实施费用高
  • 系统配置复杂
  • 带来网络瓶颈问题

第13章 入侵检测技术

1. 什么是入侵检测系统IDS?IDS的主要功能是什么?评价IDS好坏的标准是什么?

入侵检测是对企图入侵正在进行的入侵已经发生的入侵行为进行识别的过程。

主要功能

  • 网络流量的跟踪与分析功能
  • 已知攻击特征的识别功能
  • 异常行为的分析,统计和响应功能
  • 特征库的在线和离线升级功能
  • 数据文件的完整性检查功能
  • 自定义的响应功能
  • 系统漏洞的预报警功能
  • IDS探测器集中管理功能

评价标准

  • 性能测试:衡量入侵检测系统在高工作负荷下的运行情况。
  • 功能测试:衡量入侵检测系统自身功能特征。
  • 可用性测试:衡量用户在使用入侵检测系统时的操作友好性

2. 异常检测的方法有哪些?误用检测的方法有哪些?入侵检测技术有哪些?

异常检测的方法

  • 统计异常检测方法

  • 特征选择异常检测方法

  • 基于贝叶斯推理异常检测方法

  • 基于贝叶斯网络异常检测方法

  • 基于模式预测异常检测方法

误用检测的方法

  • 基于条件的概率误用检测方法
  • 基于专家系统的误用检测方法
  • 基于状态迁移分析误用检测方法
  • 基于键盘监控误用检测方法
  • 基于模型误用检测方法

入侵检测的方法

  • 基于概率统计的检测
  • 基于神经网络的检测
  • 基于专家系统的检测
  • 基于模型推理的检测
  • 基于免疫的检测
  • 入侵检测的新技术:数据挖掘,移动代理,AI技术…

3. IDS的结构由哪几部分组成?各自有何功能?

在这里插入图片描述

事件提取:负责提取相关运行数据或记录,并对数据进行简单过滤

入侵分析:找出入侵很急,发现异常行为,分析异常行为并定位入侵者

入侵响应:分析出入侵行为后被触发,根据入侵行为产生响应

远程管理:在一台管理站上实现统一的管理监控

4. 按照数据来源分类,IDS分哪几类?按照检测技术分类,IDS分哪几类?

按数据来源分类

  • NIDS(基于网络的IDS)截获数据包,提取特征并与知识库中已知的攻击签名相比较
  • HIDS(基于主机的IDS):通过对日志和审计记录的监控分析来发现攻击后的误操作
  • DIDS(分布式IDS):同时分析来自主机系统审计日志和网络数据流

按检测技术分类

  • 误用检测:将收集的信息与数据库作比较

  • 异常检测:测量属性的平均值,并用来与系统行为比较

  • 完整性检测:关注数据内容是否被更改

5. 什么是NIDS?NIDS在网络中是如何部署的?NIDS有何优缺点?

定义

根据网络流量、网络数据包和协议来分析入侵检测

利用网络适配器监视并分析通过网络的所有通信业务

部署位置

  • 防火墙内外
  • 路由器和交换机之间

在这里插入图片描述

优点

  • 拥有成本低,易于部署和管理
  • 攻击者转移证据困难
  • 可做到实时检测和响应
  • 能够检测未成功的攻击企图
  • 独立于主机所使用的操作系统

缺点

  • NIDS无法分析加密的网络流量(如HTTPS),因此可能无法检测到加密通信中的攻击
  • 在高流量环境中,NIDS可能无法实时处理和分析所有流量,导致漏报或误报
  • NIDS缺乏对主机内部操作的详细上下文信息,难以关联和分析复杂攻击

6. 什么是HIDS?HIDS在网络中是如何部署的?HIDS有何优缺点?

定义

根据主机系统的系统日志和审计记录进行入侵检测

检测针对主机的攻击,通常被部署在关键服务器上, 被认为是保护关键服务器的最后一道防线

部署位置

直接部署在各个被监控的主机上(服务器,工作站,终端…)

在这里插入图片描述

优点

  • 捕获应用层入侵
  • 监视特定的系统活动
  • 非常适应与加密和交换环境
  • 近实时的检测和应答
  • 不需要额外的硬件

缺点

  • HIDS在主机上运行,需要占用系统资源,可能影响主机性能
  • 需要在每台主机上安装和配置软件,增加了管理复杂性和工作量

7. 什么是DIDS?DIDS在网络中是如何部署的?DIDS有何优缺点?

NIDS和HIDS的缺点

  • 系统的弱点和漏洞分散在网络的各个主机上,这些弱点 有可能被入侵者一起利用。
  • 入侵不再是单一的行为,表现出协作入侵的特点,如分 布式拒绝服务攻击(DDoS)。
  • 入侵检测依靠的数据分散化,收集原始数据变得困难, 如交换网络使得监听网络数据包受到限制。
  • 网络传输速度加快,网络的流量大,集中处理原始数据 的方式往往造成检测瓶颈,从而导致漏检。

部署位置

在这里插入图片描述

优点

综合检测能力更强

缺点

  • 高复杂性

  • 计算和存储资源占用

  • 分布式组件带来延迟和带宽

8. 评价一个IDS优劣的关键性能、功能指标有哪些?

  • 检测入侵能力:用户安装上IDS后,在默认设置情况下,应该对各种服务可能遇到的攻击进行告警检测。这个能力主要体现在知识库的完备性,体现在规则是否可提供更新下载和规则的数量与质量。
  • 抗欺骗能力:入侵者会想方设法逃避IDS的检测,逃避方法可分成两大类: 让IDS出现漏报和误报。因此,漏报率、误报率是IDS的关键指标。漏报比误报更危险。
  • 远程管理能力:用户希望坐在办公室中实时查看和管理机房里的IDS,IDS产品应满足用户的这种需求,为用户提供远程管理功能。此外,IDS还应支持各种远程告警方式,如打电话、发邮件等。
  • 自身安全性:IDS程序自身的鲁棒性是衡量一个IDS系统好坏的重要指标。IDS的鲁棒性主要体现在两个方面: 一是IDS设备在各种网络环境下具有抗DDoS等网络攻击的能力; 二是程序各个模块之间的通信不被破坏,不可仿冒

9. IDS的异常检测规则是否越多越好?

From GPT

并不是说异常检测规则越多越好。虽然理论上拥有更多的检测规则能覆盖更多的异常行为,但实际应用中,规则的数量和质量必须平衡。以下是一些潜在的问题和考虑因素:

  1. 误报率:规则越多,可能会增加误报(False Positives)的数量,也就是正常行为被错误标记为异常的情况。这会导致安全团队不得不花费大量时间和资源去确认和排除这些误报。
  2. 性能影响:大量规则可能会增加IDS的处理负荷,从而对网络性能产生影响。这包括延迟、处理速度下降等。
  3. 管理难度:每个规则都需维护和更新,规则越多,管理和优化难度越大。
  4. 规则覆盖范围:某些规则可能会有重叠,导致检测的效率不是最优的。有时候,一个精心设计的规则比多个粗糙的规则更有效。
  5. 适应性和灵活性:随着网络环境的不断变化,规则集也需要相应更新和调整。规则数量过多可能会导致灵活性下降,适应新的威胁更加困难。
  6. 真实威胁的检测:有时候过于侧重于量可能会分散关注点,降低检测真正危害网络安全事件的能力。

10. IDS是否能够主动发现并阻断入侵?若要阻断入侵,应该如何去做才能阻断攻击?

侵入检测系统(IDS)本身主要是被动的监测和分析网络或系统里的事件,以便于检测潜在的入侵活动或者策略违规行为。IDS能够识别出可疑的行为和已知的攻击模式,但它并不会主动介入或修改网络流量来阻断这些攻击。

主动阻断入侵,则需要使用入侵防御系统(IPS),或者在IDS监测到威胁时,结合其他安全设备主动进行阻断:

  1. 使用IPS:入侵防御系统(IPS)可以看作是IDS的进阶版本,它不仅能够检测入侵尝试,还能够在攻击发生前阻断它。IPS通常部署在网络的关键出入口处,监视经过的流量,并根据定义的规则实时拦截和阻断可疑的交互。
  2. 网络防火墙整合:将IDS与网络防火墙整合,可以使网络防火墙根据IDS提供的信息动态地调整过滤规则,从而阻止特定的入侵尝试。例如,一旦IDS检测到攻击,它可以通知防火墙阻止来自攻击者IP地址的流量。
  3. 系统级防护:在发现异常行为或潜在威胁时,可以通过自动化脚本或配置管理工具对受影响的系统进行紧急的配置更改,比如关闭特定端口,结束可疑进程等措施。
  4. 利用安全信息和事件管理(SIEM)系统:SIEM系统可以收集和分析来自于IDS、防火墙、服务器日志以及其他安全设备的信息,通过综合分析来进行威胁检测,并基于此采取自动化的响应措施。
  5. 采用零信任架构:通过实施零信任安全模型,对所有访问请求进行身份验证、授权与加密,即使攻击者绕过了IDS/IPS,也难以进一步渗透或访问敏感资源。

11. 在一个实际网络中,IDS的探测器接口一般用网线接在哪个网络设备的哪个位置? 给你1台防火墙、1台IDS、1台交换机、1台路由器,请画出它们的连接图。

见14.12

第14章 VPN技术

1. 什么是虚拟专网VPN?VPN的主要功能是什么?

定义

物理上分布在不同地点的网络,通过公用网络连接而构成逻辑上独立的虚拟子网

功能

采用认证,访问控制,机密性,数据完整性等安全机制在公用网络上构建专用网络,使得数据通过**安全的“加密管道”**在公用网络中传播

2. 按照应用场景分类,VPN可分为哪几类?按隧道协议分类,VPN可分为哪几类?

按应用场景分类

  • 内联网VPN:同一组织内部的不同部门之间
  • 外联网VPN:连接一个组织和另一个组织
  • 远程访问VPN:允许个人用户通过互联网安全地访问组织内部网络

在这里插入图片描述

按隧道协议分类

在这里插入图片描述

3. VPN 所采用的关键技术有哪些?OSI模型第3层的隧道协议有哪些?

关键技术

  • 隧道技术
  • 加解密技术
  • 身份认证技术
  • 密钥管理技术
  • 访问控制

第三层的隧道协议

  • IPSec:IPSec是专为IP设计提供安全服务的一种协议。主要由AH(认证头)、ESP(封装安全载荷)、 IKE(Internet密钥交换)3个协议组成。
  • GRE:隧道允许用户使用IP包封装IP、IPX、AppleTalk包, 并支持全部路由协议。GRE只提供数据包封装没有采用加密功能防止网络侦听和攻击
  • MPLS:用标签机制将选路和转发分开,用标签规定一个分组通过网络的路径,适于对服务质量、服务等级及 网络资源利用率、网络可靠性有较高要求的VPN业务

4. IPSec 协议主要由哪两种协议构成?每种协议又有哪两种工作模式?

在这里插入图片描述

5. IPSecVPN在采用传输模式、隧道模式时,它们对IP数据包的封装模式有何差异?

在这里插入图片描述

  • 采用传输模式时,IPSec只对IP数据包的净荷进行加密或认证;
    • 封装数据包继续使用原IP头部,只对部分域进行修改;
    • IPSec协议头部插入到原IP头部和传送层头部之间。

在这里插入图片描述

  • 采用隧道模式时,IPSec对整个IP数据包进行加密或认证;
    • 产生一个新的IP头,原IP头被放在新IP头和原IP数据包之间。

6. IPSecVPN在功能实现上,由哪几个系统模块组成?

  • 管理模块
  • 密钥分配和生成模块
  • 身份认证模块
  • 数据加解密模块
  • 数据分组封装/分解模块
  • 加密函数库

7. IPSec VPN有何优缺点?它适用于何种应用场景?

优点

  • 高安全性:使用强加密算法(AES,3DES)和认证协议(IKE)来保护数据,确保数据的完整性,真实性,机密性
  • 透明性:工作在网络层,对应用层透明,不需要修改应用程序或用户行为

缺点

  • 配置复杂:需要配置和管理多个参数,包括密钥管理,加密算法选择,安全策略配置
  • 性能开销:加密和认证操作可能会影响网络性能
  • 防火墙穿越问题:无法穿过防火墙

应用场景:适用于需要高安全性和灵活性的网络环境

站点到站点VPN

远程访问VPN

8. 什么是TLS VPN?TLS VPN有何优缺点?它适用于何种应用场景?

TLS协议是主要用于HTTPS协议中构造VPN的技术

在这里插入图片描述

适用于需要应用层加密的场景

9. IPSecVPN和TLS VPN是否可以相互替代?试比较IPSec VPN和TLS VPN的异同点 。

在这里插入图片描述

10. 什么是MPLS VPN?MPLS VPN基于何种IP路由选择技术?

MPLS VPN是一种基于多协议标记交换技术的IP VPN

在这里插入图片描述

11. 京东商城用何种VPN?网银用何种VPN ?北航老校区和新校区用何种VPN相连?

京东商城

  • 背景

    • 京东商城是一个大型电子商务平台,需要确保用户数据传输的安全以及内部系统之间的通信安全。
  • VPN类型

    1. 外联网(Extranet)VPN

      • 用途:主要用于与合作伙伴、供应商和第三方服务之间的安全通信。京东可能会与物流公司、支付服务提供商等合作伙伴建立安全的外联网VPN连接,确保数据交换和协作的安全性。
      • 应用场景:供应链管理、合作伙伴数据传输、第三方服务集成。
    2. 内联网(Intranet)VPN

      • 用途:用于京东内部网络之间的安全通信,如总部与各分支机构、数据中心之间的通信。内联网VPN确保内部网络的安全性和数据传输的保密性。

      • 应用场景:内部系统通信、数据中心互联、企业内部通信。

网银

  • 背景

    • 网银系统需要确保用户银行交易、登录信息以及其他敏感数据的安全传输。
  • VPN类型

    1. 外联网(Extranet)VPN

      • 用途:用于与其他金融机构、支付网关和第三方服务提供商的安全通信。银行可能会使用外联网VPN来与信用卡公司、支付处理器和金融监管机构进行数据交换和通信。
      • 应用场景:跨银行交易处理、支付网关连接、金融数据共享。
    2. 远程访问(Remote Access)VPN

      • 用途:用于银行员工和客户的远程安全访问。银行员工可以通过远程访问VPN安全地连接到银行内部网络,进行工作和管理操作。客户可以通过远程访问VPN进行安全的在线银行操作。

      • 应用场景:员工远程办公、客户在线银行、移动银行应用。

北航老校区和新校区

  • 背景

    • 北航老校区和新校区需要建立安全的通信通道,以便进行数据传输和资源共享。
  • VPN类型

    1. 内联网(Intranet)VPN

      • 用途:用于北航老校区与新校区之间的安全通信。内联网VPN确保两个校区之间的数据传输的安全性和保密性,支持内部资源的共享和访问。

      • 应用场景:校区间数据传输、内部资源共享、统一校园网管理。

12.在一个实际网络中,VPN部署在网络中的哪个位置?给你1台VPN、1台防火墙、1台 IDS、1台交换机、1台路由器,请画出它们的连接图。

在这里插入图片描述

  • 13
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值