# 网络安全复习要点

# 第一章

# 掌握信息安全的四个目标

  • 保密性
  • 完整性
  • 可用性
  • 合法使用

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

  • 🌟基本威胁:信息泄露、完整性破坏、拒绝服务、非法使用

  • 主要的可实现威胁

    • 渗入威胁:假冒攻击、旁路控制、授权侵犯
    • 植入威胁:特洛伊木马、陷门
  • 潜在威胁:网络窃听、流量分析、操作人员不慎导致信息泄漏、媒体废弃物导致信息泄漏

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

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

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

  • 安全策略等级

    • 安全策略目标:机构对所保护资源要达到的安全目标而进行的描述
    • 机构安全策略:对机构的资源进行保护,以达到安全策略规定目标
    • 系统安全策略:在信息系统工程实现时,要支持该机构的安全策略

# 什么是访问控制策略?它分为哪两类?有何不同?

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

  • 分类

    • 强制性访问控制策略:由操作系统内核强制实施授权规则,检查主体的安全属性,并决定是否可以访问
    • 自主性访问控制策略:由客体的属主对自己的客体进行管理,由属主决定是否将自己的客体访问权部分访问权授予其他主体。

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

  • 安全攻击分两大类
    • 被动攻击:窃听攻击、流量分析
    • 主动攻击:伪装攻击、重放攻击、消息篡改、拒绝服务

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

五类安全服务

  • 认证
  • 访问控制
  • 数据保密性
  • 数据完整性
  • 不可否认性
  • (可用性服务)

安全服务与安全机制的关系

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

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

  • 网络安全模型

    网络安全模型

  • 网络访问安全模型

网络访问安全模型

# 第二章

# 熟记 OSI 的七层参考模型、TCP/IP 的四层模型

  • OSI 七层

    OSI体系结构参考模型

  • TCP/IP 四层

    TCP/IP体系结构参考模型

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

  • 面向连接的服务

    面向连接的服务要求通信双方在传输数据之前首先建立连接。数据传输过程包括建立连接传输数据和释放连接三个阶段。在 Internet 中,TCP 协议提供面向连接的服务, 为应用程序提供可靠的端到端字节流服务。为保证传输层服务的可靠性与稳定性,TCP 协议提供检错、重传、流量控制和拥塞控制等许多功能。

  • 无连接的服务

    无连接的服务不要求通信双方在传输数据之前建立连接,是 “尽力传递”(Best-effort Delivery)的服务。在 Internet 中,IP 协议和 UDP 协议提供的都是无连接的服务。IP 不提供差错检查或者追踪,它尽最大努力使传输数据到达目标,但是并不提供任何服务质量保证。同理,UDP 没有拥塞控制,也不提供可靠交付。无连接的服务也叫数据报服务, 因此通常将 IP 协议的协议数据单元称为 IP 数据报,将 UDP 协议的协议数据单元称为 UDP 数据报。

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

  • IPv4:32 位; 192.168.1.1
  • IPv6:128 位; 1234:0000:0000:33ff:bbff:aaee:00aa:2233

IPv6 将 128 位地址按每 16 位分割,每个段用 16 进制数字表示

# 必须知道 MAC 地址的长度

  • MAC:48 位

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

  • ARP 协议

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

  • IPv4 地址划分为 5 类:

    IP地址的类型

  • 特殊地址

    • 网络地址:主机号全 0,用来指明某个特定网络。
    • 直接广播地址:主机号全 1、网络号不为 0,表示一个物理网络上的所有主机。
    • 有限广播地址:32 位全 1,向主机所在网络广播,(系统启动时不知道网络号)
    • 本机地址:32 位全 0,拨号上网时暂代本机地址
  • 判定 IP 地址类别(以 192.168.1.1 为例):

    1. 192 转换为二进制为 1100 0000
    2. 查表知 110 开头为 C 类地址

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

例题:已知 IP 地址 202.112.64.19,子网掩码 255.255.255.240,则 IP 地址 202.11264.19 的二进制形式为

1100001001110000010000000001001111000010 \quad 01110000 \quad 01000000 \quad 00010011

子网掩码 255.255.255.240 的二进制形式为

1111111111111111111111111111000011111111 \quad 11111111 \quad 11111111 \quad 11110000

上面两式进行逐位 “与” 运算,得出网络地址为

1100001001110000010000000001000011000010 \quad 01110000 \quad 01000000 \quad 00010000

换算回十进制,可得该网络地址的为

202.112.64.16202.112.64.16

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

唯一的重点:地址块范围不包含 host-id 为全 0 和全 1 的两个地址

  • CIDR 表示方法128.14.32.0/20 ,前面是 IP 地址,后面是网络号位数

  • 128.14.32.0/20 为例:

    1. 子网掩码:20 即子网掩码前 20 位为 1,所以二进制为:

      1111111111111111111100000000000011111111 \quad 11111111 \quad 11110000 \quad 00000000

      对应十进制为:255.255.240.0

    2. 地址块范围:就是 IP 的主机位全 0 和全 1 的范围(其实是抛去全 0 和全 1,因为这两个是特殊地址),即:

      • 起始 IP 地址:

      1000000000001110001000000000000110000000 \quad 00001110 \quad 00100000 \quad 00000001

      • 结束 IP 地址

      1000000000001110001011111111111010000000 \quad 00001110 \quad 00101111 \quad 11111110

      即地址块对应的十进制为:128.14.32.1 ~ 128.14.47.254

# 什么是 “端口号”?“端口号” 在网络通信中起什么作用?

  • 端口号” 是按照应用进程的功能对应用进程实行的标识,主要作用是表示一台计算机中的特定进程所提供的服务,长度为 16 位。

  • 在通信过程中,端口号 IP 地址绑定使用,形成的标识称为插口,在网络中唯一对应某个主机的某个进程。

# 第三章

# 熟记 http/ftp/telnet/pop3/smtp/imap/ssh/dns 等常用通信协议的功能及端口号

  • http(80):超文本传输协议,是一个客户端和服务器端请求和应答的标准,是互联网上应用最广泛的一种网络协议。
  • ftp(传输 20 / 控制 21):文件传输协议,Internet 文件传送的基础,是 TCP/IP 协议族的重要协议之一。
  • telnet(23):远程登录协议,Internet 远程登录服务的标准协议和主要方式。
  • pop3(110):邮局协议,邮件协议的第三个版本。
  • smtp(25):简单邮件传输协议,是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
  • imap4(143,993):邮件访问协议,采用 “挑战 / 响应” 实现用户认证,功能更强大。
  • ssh(22):安全壳协议,一种在不安全的网络上建立安全的远程登录或其他安全网络服务的协议。
  • dns(UDP53):域名系统是一个分布式数据库系统,用来实现域名和 IP 地址之间的映射。

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

TCP/IP协议族不同层次划分

  • 网际层:IP、ARP、ICMP 等
  • 传输层:TCP、UDP 等
  • 应用层:HTTP、SMTP、POP3、FTP 等

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

解决 IPv4 地址短缺问题。

# ARP 协议的作用是什么?

将局域网中的 IP 地址转化为对应的物理地址(MAC 地址)。

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

因为 UDP 没有交换握手信息和序号的过程。

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

  • 支持用户对服务器的远程加密访问
  • 采用 “挑战 / 响应” 机制实现用户认证

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

  • 提供多种身份认证和数据加密机制
  • 对所有传输数据进行加密处理
  • 采用 “挑战 / 响应” 机制替代传统的主机名和口令认证

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

  • 重定向攻击:攻击者可以利用 ICMP 对消息进行重定向,使得目标机器按照攻击者的信息来修改路由表,遭受连接劫持拒绝服务等攻击。

  • 防护:重定向消息应该仅由产生消息的主机或路由器执行,网管员不应使用 ICMP 创建通往目的地的新路由,应该禁用 ICMP 协议配置防火墙的安全策略来预防攻击。

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

IP 层不能保证 IP 数据报一定是从源地址发送的。攻击者可伪装成另一网络主机,发送含有伪造源地址的数据包欺骗接受者。此攻击称为 IP 欺骗攻击

# 第四章

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

  • 分组密码
  • 流密码

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

  • 置换(扩散)
  • 代换(混淆)

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

  • 计算上安全:满足以下两条标准中任意一条就称为计算上安全
    • 破译密码的代价超出密文信息的价值
    • 破译密码的时间超出密文信息的有效生命期
  • 理论上安全(无条件安全):假定攻击者拥有无限的计算资源,无论有多少可使用的密文,都不足以唯一地确定密文所对应的明文
  • 只有一次一密是理论上安全的

# 什么是同步流密码、自同步流密码?流密码的安全性取決于什么?

  • 同步流密码:密钥流独立于明文的流密码
  • 自同步流密码:密钥流与明文有关的流密码
  • 流密码的安全性完全依赖于伪随机数的强度

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

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

加密算法分组长度密钥长度轮数一轮加密算法非线性变换
DES645616E 盒置换 + 轮密钥加 + S 盒代换 + P 盒置换 + 左右分组交换S 盒置换
AES128128/192/25610/12/14字节代换、行移位、列混淆、轮密钥加字节代换 + 列混淆

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

  • 加密轮数是越多越好
  • 密钥是越长越好
  • 两个算法串联一定更安全

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

  • ECB

    ECB

  • CBC

    CBC

  • CFB

    CFB

  • OFB

    OFB

  • CTR
    CTR

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

  • 误码扩展:密文中 1bit 错误会影响解密的明文中多 bit 错误
  • 无误码扩展:OFB、CTR
  • 有误码扩展:ECB、CBC、CFB
  • 错误传播影响的分组:
    • ECB 影响 1 个分组,即当前分组。
    • CBC 影响 2 个分组,即当前分组和下个分组(的 1bit)。
    • CFB 影响 2 个分组,即当前分组(的 1bit)和下个分组。

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

  • 分组长度:128 位
  • 密钥长度:128 位
  • 轮数:32 轮

# 第五章

# 双钥密码体制是基于数学难题构造的,请列举出目前存在的数学难题

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

# 用双钥体制加密时采用谁的公钥?解密时采用谁的私钥?

加密采用接收方的公钥,解密时采用接收方的私钥

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

RSA:基于大整数分解的困难性

Diffie-Hellman:基于 Diffie-Hellman 问题

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

  • 公钥n,en, e
  • 私钥dd
  • 加密mc=memodnm \rightarrow c = m^e \space mod \space n
  • 解密cm=cdmodnc \rightarrow m = c^d \space mod \space n

简单的加解密计算

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

  • n 的选取
    • ppqq 必须是强素数,否则存在一种可以简单分解 nn 的算法
    • ppqq 之差要大,否则容易推测出ppqq
    • p1p-1q1q-1 的最大公因子要小,否则唯密文攻击下容易算出明文
    • ppqq 要足够大,来使暴力分解 nn 在计算上不可行。
  • e 的选取
    • ee 不可过小,否则容易遭受低指数攻击
    • ee 要与 φ(n)\varphi (n) 互素,否则模 φ(n)\varphi (n)ee 的逆元不存在。
  • d 的选取
    • dd 要大于 n14n^{1\over 4},否则容易由已知明文攻击

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

  • 基于有限域上离散对数问题
  • 加密m(gk,mβk)modp=(y1,y2)=cm \rightarrow (g^k,m\beta^k)mod \space p = (y_1,y_2) = c
  • 解密m=y2y1amodpm = y_2 y_1^{-a}mod \space p

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

  • 基于椭圆曲线离散对数问题
  • 加密:C = \{C_1,C_2\} = \
  • 解密m=(m+kPB)nb(kG)=mm = (m +kP_B)-n_b(kG) = m

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

  1. A 选择一小于 n 的整数 nAn_A 作为私钥, 由 PA=nAGP_A = n_AG 产生 Ep(a,b)E_p(a,b) 上的一点作为公钥。
  2. B 选取自己的私钥 nBn_B , 并计算自己的公钥 PB=nBGP_B = n_BG
  3. A 可以获得 B 得公钥 PBP_B
  4. B 可以获得 A 的公钥 PAP_A
  5. A 计算:$ K = n_A \times P_B = n_An_BG$
  6. B 计算:K=nB×PA=nAnBGK = n_B \times P_A = n_An_BG

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

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

无论硬件还是软件,ECC 都比 RSA 快!

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

  • 选择明文攻击(CPA):攻击者选择明文并得到相应密文。
  • 选择密文攻击(CCA):攻击者选择密文并得到解密消息。
  • 适应性选择密文攻击(CCA2):攻击者在 CCA 的基础上,永远可以获得解密服务

注意:在 CCA 和 CCA2 中,攻击者不能直接解密目标密文

# 了解中国的商用公钥密码算法 SM2

  • 一组基于椭圆曲线的公钥密码算法
  • 包含加解密算法、数字签名算法和密钥交换协议
  • 采取了检错措施,提高了系统的数据完整性和可靠性
    推荐使用 256 位素数域上的椭圆曲线
    涉及 3 类辅助函数:杂凑函数、密钥派生函数、随机数发生器

# 第六章

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

  • hash 函数生成定长的消息摘要,加密函数生成的密文长度和明文长度有关
  • hash 算法不可逆,加密函数可逆

# 杂凑函数具有哪些性质?

  1. 快速性:由 xx 计算 H(x)H(x) 容易
  2. 单向性:由 H(x)H(x) 计算 xx 困难
  3. 无碰撞:寻找 x1x2x_1 \ne x_2 ,使 H(x1)=H(x2)H(x_1) = H(x_2) 困难

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

  • MAC:有密钥参与杂凑运算的算法
  • 构造方法MAC=H(mk)MAC = H(m||k)

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

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

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

  • Hash 函数构造方法:MAC=H(mk)MAC = H(m||k)
  • 分组加密算法构造方法:对消息 mm 进行分组并填充为 ll 个组,设 C0=IVC_0 = IV 为随机初始向量,发送者用 CBC 加密:CiEk(miCi1)C_i \leftarrow E_k(m_i \oplus C_{i-1}) ,数值对 (IV,Cl)(IV, C_l) 作为 mm 的 MAC。

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

  • MDC:无密钥参与杂凑运算的算法
  • 异同
    • 同:二者都可以检测消息的完整性
    • 异:MAC 带有身份认证,MDC 不带有身份认证

# 熟悉迭代杂凑函数的构造方法

  • Rabin 法
  • CBC 法
  • CFB 法
  • 修正 Daveis-Meyer 法
  • 组合明 / 密文链接法

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

  • 分组长度:512 位
  • 字长:32 位
  • 输出长度:128 位

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

  • 分组长度:512 位
  • 字长:32 位
  • 输出长度:160 位

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

  • 应用杂凑函数的基本方式

    应用杂凑函数的基本方式

  • 消息加密的基本用途

    消息加密的基本用途

  • 内部和外部错误控制

    内部和外部错误控制

  • MAC 的基本用途

    MAC的基本用途

# 熟悉中国商用杂凑函数 SM3 的构造

  • SM3 采用 Merkle-Damgard 结构
  • 分组长度:512 位
  • 输出长度:256 位

# 第七章

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

  • 收方能证实签名,但不能伪造(R1 - 条件)
  • 收方已收到后不能否认(收报认证)(R2 - 条件)
  • 发方不能否认签发的消息(S - 条件)
  • 第三方可以确认双方的消息发送,但不能伪造(T - 条件)

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

  • 按照消息是否被压缩分类
    • 整体消息签名
    • 压缩的消息签名
  • 🌟按照消息 / 签名的对应关系分类
    • 确定性签名
    • 随即化签名
  • 按照参与方式分类
    • 直接签名
    • 仲裁签名

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

大合数分解困难问题

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

  • 基于:离散对数问题

  • 签名过程

    1. 给定消息 mm ,选择随机数 kZpk \in \mathbb{Z}^*_p,使 1kp11\le k \le p-1gcd(k,p1)=1gcd(k, p-1)=1
    2. 计算 H(m)H(m)
    3. 计算 rgkmodpr \equiv g^k mod \space p ,计算 s[H(m)xr]k1mod(p1)s \equiv [H(m) - x\cdot r]\cdot k ^{-1} mod \space (p-1)
    4. 签名为 Sigsk(m)=(r,s)Sig_{sk}(m)=(r,s) ,将 mm(r,s)(r,s) 发送给接收方。

# Schnorr 签名与 EIGamal 签名有何不同?请比较两者的异同。

  • 在 EIGamal 体制中,ggZp\mathbb{Z}^*_p 的本原元素;在 Schnorr 体制中,ggZp\mathbb{Z}^*_p 中的子集 Zq\mathbb{Z}^*_q 的本原元,它不是 Zp\mathbb{Z}^*_p 的本原元;
  • Schnorr 的签名长度要比 EIGamal 短,由 q|q| 以及 H(m)H(m) 决定
  • Schnorr 签名的 r=gkmodpr= g^k mod \space p 可以预先计算,签名只需 1 次乘法和 1 次加法,签名速度快, 适用于智能卡应用
  • 由于 Schnorr 签名较短, Schnor 体制安全性比 BIGamal 体制差

# 请写出 DSS 的签名方程,并比较它与 EIGamal、Schnorr 的异同

  • 签名过程
    1. 给定消息 mMm \in M ,选择秘密随机数 kk0<k<q0<k<q,计算 H(m)H(m)
    2. 计算 r(gkmodp)modqr \equiv (g^k mod \space p) mod \space q ,计算 s[k1(H(m)+xr)]modqs \equiv [k^{-1} \cdot (H(m) + xr)] mod \space q
    3. 签名为 Sigsk(m)=(r,s)Sig_{sk}(m) = (r,s), 将 mm(r,s)(r,s) 发送给接收方

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

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

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

不能

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

不能

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

数字签名是用签名者的私钥进行签名,用签名者的公钥进行验证,双钥加密为发送方用接受方的公钥进行消息的加密,接受方用自己的私钥进行解密

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

  • 不可否认签名:签名者合作下才能验证签名(知识产权保护)
  • 防失败签名:防范有充足计算资源的攻击者,及时攻击者分析出私钥也难以伪造(一次性签名方案)
  • 盲签名:文件所有者不想让签名者知道文件的内容(选举投票、电子商务等)
  • 群签名:群众成员可签、外界不可知谁签、争议时群成员或可信赖三方可鉴别签名者(项目投标)
  • 代理签名:委托人授权某个代理人签名,签名密钥无需交给代理人
  • 指定证实人签名:一个机构中,指定一个人负责证实所有人签名(有助于防止签名失效)
  • 一次性签名:每个签名采用一个新的公钥,优点是签名和验证速度非常快

# 了解中国商用数字签名算法 SM2。

# 第八章

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

  • 必须依次执行
  • 至少两个参与者
  • 必须能够完成某项任务

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

  • 仲裁协议:可信赖第三方 Trent 参与协议。

    仲裁协议

  • 裁决协议:Trent 不直接参与协议,纠纷时裁决。

    裁决协议

  • 自执行协议:最好的协议,若一方试图欺骗另一方,那么另一方回立刻检测到该欺骗的发生并终止协议。

    自执行协议

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

  • 认证协议
  • 密钥建立协议
  • 认证的密钥建立协议

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

  • 中间人攻击参考

    中间人攻击

    当 B 与 A 会话时,M 可以冒充 B,当 A 与 B 会话时,M 可以冒充 A。

# DH 协议不能抵抗中间人攻击的原因是什么?如何改造 DH 协议可以使其抵抗中间人攻击?

  • DH 不抵抗中间人攻击的本质原因:通信双方没有进行实体认证
  • 改造 DH:引入 CA,用公钥向 CA 请求证书,将证书发送给对方

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

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

    大嘴青蛙

  • Yahalom:由 B 先向 T 接触,T 仅向 A 发送一条消息

    Yahalom

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

    Kerberos

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

  • SKID 采用 MAC 来提供安全性,并假设 A 和 B 共享一个密钥 K
  • SKID2 是单向身份识别协议(只有 1~3 步)
  • SKID3 是双向身份识别协议,如下图

SKID3

  • 中间人攻击:采用预言者会话攻击

    预言者会话攻击

  • 改造协议:在这个协议中,A 无法确定消息来源于 B,所以会导致中间人攻击,所以可以引入数字签名、数字证书来解决这个问题。

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

  • 已知明文攻击:通过长期窃听获得一个加密表
  • 选择密文攻击:可选择将明文转换为密文,可选择全 “0” 或全 “1” 的密文串来加速解密
  • 预言者会话攻击:将一方当作另一方的预言者 “解密服务器”
  • 并行会话攻击:曾经使用过的信息流在新的协议执行过程中被使用

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

  • 攻击检验法
  • 形式语言逻辑分析法
  • 可证明安全性分析法

# 第九章

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

  • PKI:公钥基础设施(Public Key Infrastructure),一种遵循标准的利用公钥理论和技术建立的提供安全服务的基础设施。
  • 组成部分和功能
    • 证书机构 CA:发放和管理证书等。(生成和颁发数字证书)
    • 注册机构 RA:证书注册和审批。(接受与验证信息,为用户生成密钥,接受撤销请求)
    • 证书发布库:集中存放 CA 颁发的证书和撤销列表。
    • 密钥备份与恢复:备份和恢复用户的私钥(用于数据加密的私钥才会备份)。
    • 证书撤销:当证书作废时警告其他用户不要继续使用该证书。
    • PKI 应用接口:使用户更方便的使用加密、数字签名等安全服务。

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

  • 数字证书:数字证书就是一个用户的身份与其所持有的公钥的结合,在结合之前由一个可信任的权威机构 CA 来证实用户的身份,然后由该机构对用户身份及对应公钥相结合的证书进行数字签名,以证明其证书的有效性。

  • 包含

    • 主体名
    • 公钥
    • 序号
    • 有效期
    • 签发者名

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

数字证书的格式

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

实际中,由 CA 签发证书。签发时采用 CA 的私钥,验证时采用 CA 的公钥

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

作用:证明网络实体在特定安全应用的相关信息。解决了公钥的可信性问题。

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

逐级往上,直到验证到根 CA

逐级验证

以 Alice 要验证 Bob 的证书为例:

  1. Bob 发送自己的证书
  2. Alice 请求 B11 的公钥
  3. Bob 发送 B11 的证书
  4. Alice 请求 A3 的公钥
  5. Bob 发送 A3 的证书
  6. Alice 用根 CA 证书验证 A3 的证书

# 什么是交叉证书?

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

交叉证书

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

  • 撤销检查:维护证书撤销列表(CRL)或是执行联机证书状态协议,对证书的撤销状态进行检查

    数字证书的撤销

  • 在线查询

    数字证书在线查询

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

  • 漫游证书:通过第三方软件提供,在任何系统中,只需正确配置,该软件就可以允许用户访问自己的公 / 私钥对。
  • 工作原理
    • 将数字证书和私钥存储于安全的中央服务器
    • 用户需要数字证书时,可向该服务器认证自己
    • 认证成功后,该服务器将证书和私钥发给用户
    • 当用户完成工作后,该软件自动删除证书和私钥

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

证书机构、注册机构、密钥备份与恢复、证书发布库、证书撤销

# 第十章

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

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

    链路加密

  • 优点:

    • 加密对用户是透明的,通过链路发送的任何信息在发送前都先被加密。

    • 每个链路只需要一对密钥。

    • 提供了信号流安全机制。

  • 缺点:

    • 数据在中间结点以明文形式出现,维护结点安全性的代价较高
    • 密钥分配困难
    • 节点增多后密码机需求量大

# 什么是节点加密?有什么优缺点?

  • 节点加密

    节点加密

  • 优点:

    • 消息的加、解密在安全模块中进行,这使消息内容不会被泄密。

    • 加密对用户透明。

  • 缺点:

    • 某些信息(如报头和路由信息)必须以明文形式传输,可能遭到流量分析攻击。

    • 因为所有节点都必须有密钥,密钥分发和管理变的困难。

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

  • 端到端加密

    端到端加密

  • 优点:

    • 对两个终端之间的整个通信线路进行加密。

    • 只需要 2 台加密机,1 台在发端,1 台在收端。

    • 从发端到收端的传输过程中,报文始终以密文存在。

    • 比链路和节点加密更安全可靠,更容易设计和维护。

  • 缺点:不能防止业务流分析攻击

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

  • 混合加密:链路加密 + 端到端加密

    混合加密

  • 优点:报文被两次加密,保护了报头的敏感信息,不会被业务流分析攻击。

  • 缺点:信息的安全设计较复杂,成本高,系统开销大。

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

  • 密钥管理:处理密钥从产生到最终销毁的整个过程中的有关问题,包括系统的初始化及密钥的产生存储备份 / 恢复装入分配保护更新控制丢失撤销销毁等内容。

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

密钥的种类

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

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

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

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

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

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

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

利于分级管理。极少数密钥以明文形式存储在有严密物理保护的主机密码器件中,其余密钥则以密文形式存储在密码器之外。这样,密钥管理就可以大大简化,安全性也高。

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

密钥管理系统

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

  • 四个阶段

    1. 预运行阶段:此时密钥还不能用
    2. 运行阶段:正常使用
    3. 后运行阶段:不能正常使用,特殊目的下可以脱机下接入
    4. 报废阶段:将有关密钥从所有记录中删掉,不能使用
  • 12 个工作步骤

    • 用户注册
    • 用户初始化
    • 密钥生成
    • 密钥输入
    • 密钥注册
    • 正常使用
    • 密钥备份
    • 密钥更新
    • 密钥档案
    • 密钥注销与销毁
    • 密钥恢复
    • 密钥吊销

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

  1. 真正随机、等概率。
  2. 避免使用特定算法的弱密钥。
  3. 双钥系统的密钥必须满足一定的数学关系。
  4. 密钥一般会选伪随机数,循环周期应尽可能大。
  5. 采用密钥揉搓或杂凑技术,将易记的长句子变换成伪随机串存放。

# 第十一章

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

  • 被动攻击
    1. 通话窃听
    2. 服务区标志符泄露
  • 主动攻击
    1. 数据注入与篡改
    2. 中间人攻击
    3. 通信阻断
    4. 客户端假冒
    5. 接入点伪装
    6. 重放攻击
    7. 匿名攻击
    8. 端对端攻击
    9. 隐匿无线信道

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

GSM蜂窝系统保密与认证协议的工作过程

  • 三元组
    • RAND:随机数,用于用户认证和会话密钥的产生时的挑战值。
    • SRES':签名回应,即挑战的答案,用于比对用户是否成功响应。
    • Kc:会话密钥,用于手机与 GSM 网络之间的通信数据加密的密钥。

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

  1. 首次开机时泄漏 IMSI 信息,可能导致用户身份泄漏。
  2. 用户无法验证基站,伪基站向用户发送欺诈信息。
  3. 骨干网数据传输无加密,中间节点可截获会话密钥。
  4. 无数据完整性验证机制,不能检测数据是否被篡改。
  5. 主密钥 K 直接参与认证与加密,存在泄漏主密钥的风险。
  6. 主密钥 K 存在 SIM 卡中,有复制 SIM 卡的风险。

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

3G蜂窝系统保密与认证协议的工作过程

  • 五元组
    • RAND:随机数
    • XRES:认证应答
    • CK:保密性令牌
    • IK:完整性令牌
    • AUTH:网络认证令牌

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

  • 安全功能
    • 实现了用户和网络双向认证
    • 增加了数据完整性验证功能
    • 建立了了用户与网络之间的会话密钥
    • 保持了会话密钥的新鲜性
  • 安全缺陷
    • 首次开机时泄漏 IMSI 信息,可能导致用户身份泄漏。
    • 骨干网上传输无加密:中间节点可截获会话密钥。
    • K 直接参与认证与加密:主密钥缺乏层次化保护。
    • CK 和 IK 直接传输,存在窃听风险。
    • 主密钥 K 存在 SIM 卡中,有复制 SIM 卡的风险。
    • 采用 10 种安全算法,算法过多存在被攻破风险。
  • 改进点
    • 双向认证
    • 数据完整性

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

  • 安全功能
    • 实现了用户与网络双向认证
    • 建立了用户与网络的会话密钥
    • 增加了数据的完整性校验
    • 实现了层次化密钥管理
    • 隐藏了加密密钥 CK 和数据完整性验证密钥 IK
  • 安全缺陷
    • 首次开机泄漏 IMSI
    • 骨干网无加密
  • 改进点:
    • 层次化密钥管理
    • 隐藏 CK 和 IK

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

可以防止强力攻击:以 2G 为例,一个 128 比特的随机数意味着 3.4×10383.4×10^{38} 种可能的组合。因此即使黑客知道 A3 算法,也很难猜出正确的 RAND/SRES。

若替换为常数值,即每一次 SRES 相同,一旦被截获,用户就有可能被攻击者冒充。

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

新增了身份标识隐私保护


更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Gality 微信支付

微信支付

Gality 支付宝

支付宝