网络空间安全复习资料
- 第1章 引言
- 第2章 计算机网络基础
- 第3章 Internet协议的安全性
- 第4章 单钥密码体制
- 1. 按照对明文消息的处理方式不同,单钥体制可分为哪两类?
- 2. 古典密码中的两个常用的变换是什么?
- 3. 什么是理论上安全?什么是计算上安全?理论上安全的密码算法有几个?理论上安全的密码是什么密码?
- 4. 什么是同步流密码、自同步流密码?流密码的安全性取决于什么?
- 5. DES分组长度、密钥长度、轮数是多少?1轮加密包括哪些变换?DES的非线性变换是什么变换?
- 6. AES分组长度、密钥长度、轮数是多少?1轮加密包括哪些变换?AES的非线性变换是什么变换?
- 7. 加密轮数是否越多越好?密钥是否越长越好?将2个算法串联对数据加密,是否一定更安全?
- 8. 分组密码的5种工作模式是什么?能画出5种工作模式的原理框图。
- 9. 分析5种加密模式中,哪些加密模式没有误码扩展?哪些有误码扩展?如果有误码扩展,会影响几个分组?
- 10. 了解中国商用分组密码算法SM4,知道它的分组长度、密钥长度和加密轮数。
- 第5章 双钥密码体制
- 1. 双钥密码体制是基于数学难题构造的,请列举出目前存在的数学难题。用双钥体制加密时采用谁的公钥?解密时采用谁的公钥?
- 2. RSA是基于何种数学难题构造的?Diffie-Hellman是基于何种数学难题构造的?
- 3. 请写出RSA加密和解密的数学表达式,并指出什么是公钥,什么是私钥?并能做简单的加密和解密计算
- 4. RSA在各种参数选择上有哪些原则和限制?为什么?
- 5. 写出ELGamal密码体制是基于何种数学难题?请写出他的加密表达式和解密表达式?
- 6. ECC公钥密码体制是基于何种数学难题?请写出他的加密表达式和解密表达式?
- 7. 写出基于ECC的Diffie-Hellman密钥交换协议。
- 8. RSA和ECC公钥密码算法在加密、解密速度上有何差异?请查阅资料,比较它们分别采用硬件和软件实现时的加密和解密速度。
- 9. 对公钥密码的攻击有哪些常见的攻击方式?它们各有什么特点?
- 10. 了解中国的商用公钥密码算法SM2。
- 第6章 消息认证与杂凑函数
- 1. 请说明Hash函数与加密函数有何不同?
- 2. 杂凑函数具有哪些性质?
- 3. 什么是消息认证码MAC?如何构造?
- 4. 在不知道密钥的情况下,如何对MAC算法成功实施攻击?(167页)
- 5. 如何采用Hash函数和分组加密算法构造MAC?
- 6. 什么是消息检测码(或消息摘要)MDC?简述MDC与MAC的异同。
- 7. 熟悉迭代杂凑函数的构造方法。
- 8. MD5的明文输入分组长度、字长、输出长度是多少位?
- 9. SHA-1的明文输入分组长度、字长、输出长度是多少位?
- 10. 掌握应用杂凑函数的基本方式,熟悉图6-1、图6-2、图6-5、图6-6几个图所能够提供的安全功能。
- 11. 熟悉中国商用杂凑函数SM3的构造。
- 第7章 数字签名
- 1. 数字签名应该具有哪些性质?
- 2. 数字签名可以分为哪几类?
- 3. RSA签名是基于何种数学难题?
- 4. ElGamal签名是基于何种数学难题?请写出ElGamal的签名方程。
- 5. Schnorr签名与ElGamal签名有何不同?请比较两者的异同。
- 6. 请写出DSS的签名方程,并比较它与ElGamal、Schnorr的异同。
- 7. 在以上三种签名方案中,每次签名时,用户都要选择一个随机数k。若将随机数k替换成为常数,会出现什么安全问题?请加以分析。
- 8. Diffie-Hellman能用来做数字签名吗?
- 9. 单钥体制能用来做数字签名吗?
- 10. 试比较数字签名在密钥的使用上,与公钥加密算法存在的区别。
- 11. 请列举具有特殊功能的数字签名体制有哪些?它们各有什么用途?
- 12. 了解中国商用数字签名算法SM2。
- 第8章 密码协议
- 1. 构成协议的三个主要特征(含义)是什么?
- 2. 什么是仲裁协议?什么是裁决协议?什么是自执行协议?
- 3. 如果按照密码协议的功能分类,密码协议可以分为哪几类?
- 4. 什么是中间人攻击?如何对Diffie-Hellman协议进行中间人攻击?请用画图分析对Diffie-Hellman协议进行中间人攻击的详细过程。
- 5. DH协议不能抵抗中间人攻击的本质原因是什么?如何改造DH协议,可以抵抗中间人攻击?
- 6. Diffie-Hellman能用来做数字签名吗?
- 7. 掌握大嘴青蛙协议、Yahalom、Kerberos协议安全协议设计的思想。
- 8. 请画图分析第218页的SKID协议为什么不能抵抗中间人攻击?如何改造这个协议,可以有效抵抗中间人攻击?
- 9. 对密码协议的攻击方法有哪些?
- 10. 密码协议的安全性分析的常用方法有哪些?
- 第9章 数字证书与公钥基础设施
- 第10章 网络加密与密钥管理
- 第11章 无线网络安全
- 1. 无线网络面临哪些主要安全威胁?要能识别哪些是主动攻击,哪些是被动攻击。
- 2. GSM系统有哪些主要安全缺陷?
- 3. 3G系统有哪些安全功能?有哪些主要安全缺陷?与2G相比,3G作出了哪些安全性改进?
- 4. 4G系统有哪些安全功能?有哪些主要安全缺陷?与3G相比, 4G作出了哪些安全性改进?
- 5. 请画图分析GSM蜂窝系统保密与认证协议的工作过程,指出三元组认证向量中的每个元素所发挥的安全性作用。
- 6. 请画图分析3G蜂窝系统保密与认证协议的工作过程,指出五元组认证向量中的每个元素所发挥的安全性作用。
- 7. 为何2G/3G/4G系统的挑战值RAND是一个随机数而不能是常数?如果挑战值RAND为常数,会产生何种安全问题?请加以分析。
- 8. 与2G/3G/4G相比,5G在哪些方面提升了安全性?
第1章 引言
1. 掌握信息安全的四个目标?
(CIA+合法使用)
- 保密性
- 完整性
- 可用性
- 合法使用
2. 信息系统中常见的威胁有哪些?
(CIA+非法使用)
- 信息泄露
- 完整性破坏
- 拒绝服务
- 非法使用
3. 什么是安全策略?安全策略分几个等级?
在某个安全域内,施加给所有与安全相关活动的一套规则。
分为3个等级:
- 安全策略目标
- 机构安全策略
- 系统安全策略。
4. 什么是访问控制策略?它分为哪两类?有何不同?
访问控制策略属于系统级安全策略,它迫使计算机系统和网络自动执行授权。
分为两类:
- 强制性访问策略:由操作系统内核强制实施授权规则,检查主体的安全属性,并决定是否可以访问
- 自主性访问策略:由客体的属主对自己的客体进行管理,由属主决定是否将自己的客体访问权或部分访问权授予其他主体。
5. 安全攻击分几大类?常见的攻击形式有哪些?
- 被动攻击
- 窃听攻击
- 流量分析
- 主动攻击
- 伪装攻击
- 重放攻击
- 消息篡改
- 拒绝服务
6. 熟记X.800标准中的5类安全服务和8种特定安全机制,并简述安全服务和安全机制之间的关系。
- 安全服务(CI+认证+访问控制(合法使用)+不可否认(可用性))
- 认证
- 访问控制
- 数据保密性
- 数据完整性
- 不可否认性
- 安全机制
- 加密
- 数字签名
- 访问控制
- 数据完整性
- 认证交换
- 流量填充
- 路由控制
- 公证
- 安全服务和安全机制的关系
安全服务通过安全机制实现安全策略
7. 能够理解并画出网络安全模型和网络访问模型。
网络安全模型
网络访问模型
第2章 计算机网络基础
1. 熟记OSI的七层参考模型、TCP/IP的四层模型。
OSI七层参考模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
TCP/IP四层模型:网际接口层、网络层、传输层、应用层。
2. 什么是面向连接的服务?什么是无连接的服务?
面向连接的服务要求通信双方在传输数据之前首先建立连接,数据传输过程包括建立连接、传输数据、释放连接三个阶段。
无连接的服务不要求通信双方在传输数据之前建立连接,是“尽力传递(交付)”的服务,它尽最大努力是传输数据到达目标。
3. 必须知道IPv4及IPv6地址的格式及长度。
- IPv4格式 = <网络标识net-id> <主机标识host-id>
IPv4长度:32bit - IPv6格式 = <站点前缀> <子网ID><接口ID>
IPv6长度:128bit
4. 必须知道MAC地址的长度。
48bit
5. IP地址与MAC地址转换靠哪个网络协议?
ARP协议
6. IPv4的地址分类有哪几种?给定一个IP地址,要能够分析判断出该地址属于哪一类地址。
注意A类地址不包括本机的127范围地址。
7. 给定一个IPv4地址和子网掩码,要求能够计算出网络地址。
IPv4格式 = <网络标识net-id> <主机标识host-id>
8. 熟悉CIDR的表示方式,如:128.14.32.0/20表示的地址块范围和子网掩码是什么?
子网掩码:255.255.240.0
地址块范围128.14.32.1 - 128.14.47.254
9. 什么是端口号?端口号在网络通信中起什么作用?
端口号是按照应用进程的功能对应用进程实行的标识。(端口号长度为16bit)
在通信过程中,端口号和IP地址绑定使用,形成的标识称为插口,在网络中唯一对应某个主机的某个进程。
第3章 Internet协议的安全性
1. 熟记http/ftp/telnet/pop3/smtp/imap/ssh/dns等常用通信协议的功能。
- Http(TCP80):超文本传输协议用于传送Web数据
- FTP(TCP20/21):文件传输协议是Internet文件传送的基础
- Telnet(TCP23):远程登录协议提供远程登录服务
- Pop3(TCP110):接收邮件
- SMTP(TCP25):发送邮件
- SSH(TCP22):为远程登录会话和其他网络服务提供安全性的协议
- DNS(UDP53):分布式的数据库系统,用来实现域名与IP之间的映射
- DHCP(UDP 67/68):动态主机配置协议,用于分配IP地址,提供启动计算机其他信息的协议
- IMAP(TCP143):邮件获取协议,支持离线阅读,支持用户认证和用户对服务器的远程加密访问
2. 熟记一些常用网络协议的端口号。
3. 网际层协议有哪些?传输层协议有哪些?应用层协议有哪些?
-
网际层:
-
IP
网际协议(Internet Protocol,IP)是TCP/IP协议族的核心,也是网际层最重要的协议。首部前一部分是固定长度 20字节,是数据报必有的 -
ARP
地址解析协议(Address Resolution Protocol,ARP)是根据IP地址获取物理地址的一个TCP/IP协议。 -
ICMP
控制报文协议(Internet Control Message Protocol, ICMP)是一个重要的错误处理和信息处理协议。 -
IGMP
组管理协议(Internet Group Management Protocol,IGMP) 是TCP/IP 协议族中负责IP 组播成员管理的协议。 -
OSPF
开放最短路径优先协议(Open Shortest Path First, OSPF)是一个内部网关协议,用于在单一自治系统内决策路由。 -
BGP
边界网关协议(Border Gateway Protocol,BGP)将 单一管理的网络转化为由多个自治系统分散互连的网络。
-
-
传输层:
-
TCP
传输控制协议(Transmission Control Protocol,TCP) 是一种面向连接的、可靠的的传输层通信协议。 -
UDP
用户数据报协议(User Datagram Protocol,UDP)是 一种无连接的传输层协议,提供面向事务的简单不可靠 信息传送服务。
-
-
应用层:
-
HTTP
TCP80
超文本传输协议(Hyper Text Transfer Protocol,HTTP) 是一个客户端和服务器端请求和应答的标准,是互联网上 应用最广泛的一种网络协议。 -
TELNET
TCP23
远程登录协议(Teletype Network,TELNET)是TCP/IP 协议族中的一员,是Internet远程登录服务的标准协议和主要方式。 -
SSH
TCP22
安全壳协议(Secure Shell,SSH)是一种在不安全的网 络上建立安全的远程登录或其他安全网络服务的协议。 -
DNS
UDP53
域名系统(Domain Name System,DNS)是一个分布式 数据库系统,用来实现域名与IP地址之间的映射。 -
SMTP
TCP25
简单邮件传输协议(Simple Mail Transfer Protocol,SMTP) 是一组用于由源地址到目的地址传送邮件的规则,由它来控制信 件的中转方式。 -
POP3
TCP110
邮局协议(Post Office Protocol,POP)是一个邮件协议, 它的第3个版本称为POP3。 -
IMAP4
TCP 143,993
消息访问协议(Internet Message Access Protocol,IMAP)是 一个邮件获取协议,第4个版本是IMAP4。 -
FTP
TCP20/21
文件传输协议(File Transfer Protocol,FTP)是Internet文件传送 的基础,是TCP/IP协议族的重要协议之一。 -
TFIP
UDP69
简单文件传输协议(Trivial File Transfer Protocol,TFTP)是用来 在客户机与服务器之间进行简单文件传输的协议。 -
NFS
UDP2049
网络文件系统(Network File System,NFS)是一个基于TCP/IP网 络的文件共享协议。 -
SNMP
UDP161/162
简单网络管理协议(Simple Network Management Protocol, SNMP)是用于支持网络管理系统的协议。 -
DHCP
UDP67/68
动态主机配置协议(Dynamic Host Configuration Protocol, DHCP)用于分配IP地址、提供启动计算机其他信息的协议。 -
H.323
H.323是一种用于VoIP(Voice over IP)在分组网上提供实 时音频、视频和数据通信的标准(NetMeeting)。 -
SIP
会话启动协议(Session Initiation Protocol,SIP)是由IETF制定的 基于文本编码的多媒体通信协议(如VoLTE)。 -
NTP
UDP123
网络时间协议(Network Time Protocol,NTP)可在分布式 时间服务器和客户端之间进行时间同步。 -
FINGER
UDP79
Finger协议可以帮助用户查询系统中某一个用户的细节,如 其全名、住址、电话号码、登录细节等。 -
Whois
TCP43
Whois协议是用来查询域名的IP以及所有者等信息的传输协议。 -
LDAP
TCP389
轻量级目录访问协议(Lightweight Directory Access Protocol, LDAP)是基于X.500的目录访问协议,以目录的形式来管理资源。 -
NNTP
TCP119
网络消息通常通过网络消息传输协议NNTP进行传输,采用的 网络新闻传输协议(Network News Transfer Protocol,NNTP) 会话与SMTP相类似,接收和发送的消息条目通过网关来处理和 是一个用于阅读和张贴新闻文章到Usenet上的Internet应用协议。 转发。这种协议只用来阅读新闻。 -
PGP
PGP(Pretty Good Privacy)协议是常用的安全电子邮件标准。 PGP包括5种服务:认证、保密、压缩、电子邮件兼容和分段。 -
RIP
UDP520
动态路由选择协议 ( Routing Information Protocol , RIP)是一种动态内部路由/网关协议,用于自治系统内的 路由信息的传递。 -
MIME
多用途网间邮件扩充协议(Multipurpose Internet E-mail Extention, MIME)是广泛应用的一种电子邮件技术规范
-
4. 为什么要进行网络地址转换(NAT)
亚洲国家IP地址短缺,NAT可解决地址紧缺的问题。NAT的优点:隐藏内部网络的拓扑结构,提升网络安全性。
5. ARP协议的作用是什么?
根据IP地址获取物理地址,确定两者之间的映射关系。
以太网发送的是48位以太地址的数据包; IP驱动程序必须将32位IP目标地址转换成48位地址; 两类地址存在静态或算法上的映射; ARP用来确定两者之间的映射关系。
6. 为什么UDP比TCP协议更加容易遭到攻击?
UDP没有交换握手信息和序列号,是无连接的传输层协议,不可靠。
7. IMAP与POP3协议相比,它的安全性有那些提升?
POP3中口令以明文传输,IMAP协议使用SSL/TLS对传输的数据进行加密。
8. SSH与Telnet协议相比,它的安全性有那些提升?
Telnet通过用户输入账户名称和明文口令进行登录,可能会造成秘密信息泄露和Telnet会话劫持;SSH支持多种身份认证和数据加密,对所有传输的数据进行加密处理,并采用**“挑战/响应”机制替代传统的主机名和口令认证,能有效防止中间人攻击**。
9. 什么是ICMP重定向攻击?如何防止此类攻击?
攻击:攻击者可以利用ICMP对消息进行重定向,使得目标机器按照攻击者的信息来修改路由表,遭受连接劫持和拒绝服务等攻击。
防止:重定向消息应该仅由产生消息的主机或路由器执行,网管员不应使用ICMP创建通往目的地的新路由,应当禁用ICMP协议或配置防火墙的安全策略以预防攻击。
10. 在网络中,为什么不能仅仅靠识别数据包的IP地址,来判断一个数据包就是来自该IP地址的主机?
IP层不能保证IP数据报一定是从源地址发送的。攻击者可伪装成另一网络主机,发送含有伪造源地址的数据包欺骗接受者。此攻击称为IP欺骗攻击。
第4章 单钥密码体制
1. 按照对明文消息的处理方式不同,单钥体制可分为哪两类?
分组密码、流密码。
2. 古典密码中的两个常用的变换是什么?
代换、置换。
3. 什么是理论上安全?什么是计算上安全?理论上安全的密码算法有几个?理论上安全的密码是什么密码?
理论上安全:假定攻击者拥有无限的计算资源,但仍然无法得到任何优势。
计算上安全:假定攻击者拥有在多项式时间内运行的有限算力,并且攻击者能够得到的优势是可忽略的。
理论上安全的密码算法有1个,是一次一密(One-time pad)。
4. 什么是同步流密码、自同步流密码?流密码的安全性取决于什么?
若某一时刻密钥流生成器内部状态与明文消息无关,则密钥流将独立于明文,称此类流密码为同步流密码。
密钥流与明文有关,称这类流密码为自同步流密码。
流密码的安全性完全依赖于伪随机数的强度。
5. DES分组长度、密钥长度、轮数是多少?1轮加密包括哪些变换?DES的非线性变换是什么变换?
6. AES分组长度、密钥长度、轮数是多少?1轮加密包括哪些变换?AES的非线性变换是什么变换?
密码算法 | 分组长度 | 密钥长度 | 轮数 | 1轮加密包括变换 | 非线性变换 |
---|---|---|---|---|---|
DES | 64bit | 56bit | 16 | E盒置换+轮密钥加+S盒代换+P盒置换+左右分组交换 | 8个S盒代换 |
AES | 128bit | 128/192/256bit | 10/12/14 | 字节代换+行移位+列混淆+轮密钥加 | 字节代换、列混淆 |
DES算法
AES算法
7. 加密轮数是否越多越好?密钥是否越长越好?将2个算法串联对数据加密,是否一定更安全?
加密轮数不是越多越好,密钥不是越长越好,串联不一定更安全。
8. 分组密码的5种工作模式是什么?能画出5种工作模式的原理框图。
电码本模式ECB:
密文分组链接模式CBC:
密码反馈模式CFB:
输出反馈模式OFB:
计数器模式CTR:
9. 分析5种加密模式中,哪些加密模式没有误码扩展?哪些有误码扩展?如果有误码扩展,会影响几个分组?
没有误码扩展:CTR、OFB
有误码扩展:
ECB影响1个分组,即当前分组。
CBC影响2个分组,即当前分组和下个分组(的1bit)。
CFB影响2个分组,即当前分组(的1bit)和下个分组。
考虑移位寄存器时最多影响
⌈
n
s
⌉
\lceil \frac{n}{s} \rceil
⌈sn⌉(有可能提前移出,影响分组会较少)。
10. 了解中国商用分组密码算法SM4,知道它的分组长度、密钥长度和加密轮数。
128bit,128bit,32。
第5章 双钥密码体制
1. 双钥密码体制是基于数学难题构造的,请列举出目前存在的数学难题。用双钥体制加密时采用谁的公钥?解密时采用谁的公钥?
多项式求根,大整数分解,离散对数,背包问题,DH问题,二次剩余问题,模n的平方根问题。
加密时用解密者的公钥,解密时用解密者的私钥。
2. RSA是基于何种数学难题构造的?Diffie-Hellman是基于何种数学难题构造的?
RSA是基于模n大整数分解的困难性构造的。
Diffie-Hellman是基于Diffie-Hellman问题构造的。
3. 请写出RSA加密和解密的数学表达式,并指出什么是公钥,什么是私钥?并能做简单的加密和解密计算
RSA加解密数学表达式:
- c = m e ( m o d n ) c = m^e \pmod n c=me(modn)
-
m
=
c
d
(
m
o
d
n
)
m = c^d \pmod n
m=cd(modn)
公钥: e e e
私钥: d d d
4. RSA在各种参数选择上有哪些原则和限制?为什么?
- n n n模数足够大(大于1024bit), p , q p, q p,q为大素数。因为RSA的安全性取决于模 n n n分解的困难性。
- p − 1 p-1 p−1, q − 1 q-1 q−1有大的素因子, p + 1 p+1 p+1、 q + 1 q+1 q+1也要有大的素因子。因为 p p p和 q q q是强素数。
- p p p和 q q q之差要大。因为当差值很小时可以通过解平方数试验出 p p p和 q q q的值。
- e e e满足 1 ≤ e < ϕ ( n ) 1 ≤ e < \phi(n) 1≤e<ϕ(n), g c d ( ϕ ( n ) , e ) = 1 gcd(\phi(n),e) =1 gcd(ϕ(n),e)=1。因为需要满足求逆的条件。
- e e e不能太小。因为明文小时可能未取模,可以开 e e e次方求取明文,并且容易受到低加密指数攻击。
- d d d要大于 n 1 / 4 n^{1/4} n1/4。因为 d d d过小会导致已知明文攻击可以试验 d d d的值,也会面临系统攻击法。
5. 写出ELGamal密码体制是基于何种数学难题?请写出他的加密表达式和解密表达式?
离散对数问题。
6. ECC公钥密码体制是基于何种数学难题?请写出他的加密表达式和解密表达式?
椭圆曲线上的离散对数问题。
7. 写出基于ECC的Diffie-Hellman密钥交换协议。
8. RSA和ECC公钥密码算法在加密、解密速度上有何差异?请查阅资料,比较它们分别采用硬件和软件实现时的加密和解密速度。
在达到同等安全性需求时,ECC具有更短的密钥长度,虽然计算更复杂,但加密速度更快。
9. 对公钥密码的攻击有哪些常见的攻击方式?它们各有什么特点?
- 选择明文攻击(CPA)。攻击者选择明文消息并得到解密服务,产生相应的明文,攻击者通过得到的明密文对来降低目标密码体制的安全性。
- 选择密文攻击(CCA)。攻击者选择密文消息并得到解密服务,产生相应的明文。攻击者用所得到的明密文对来降低目标密码体制的安全性。在解密服务停止后,即在得到目标密文之后,解密服务立即停止。如果攻击者能够从“目标密文”中得到保密明文的信息,则就说攻击是成功的。
- 适应性选择明文攻击(CCA2)。这是一种CCA,而且除了对“目标密文”解密外,永远能够得到解密服务。
10. 了解中国的商用公钥密码算法SM2。
SM2特点
- 一组基于椭圆曲线的公钥密码算法
- 包含加解密算法、数字签名算法和密钥交换协议
- 采取了检错措施,提高了系统的数据完整性和可靠性
推荐使用256位素数域上的椭圆曲线
涉及3类辅助函数:杂凑函数、密钥派生函数、随机数发生器
第6章 消息认证与杂凑函数
1. 请说明Hash函数与加密函数有何不同?
Hash函数不可逆,加密函数可逆。
2. 杂凑函数具有哪些性质?
- 单向性。
- 任意长度输入产生定长输出。
- 抗原像攻击
- 抗碰撞攻击
3. 什么是消息认证码MAC?如何构造?
MAC是有密钥参与杂凑运算的算法,也称密码校验和。
构造方法:
M
A
C
=
H
(
m
∣
∣
k
)
MAC = H(m||k)
MAC=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
m
m进行分组并填充为
l
l
l个组,设
C
0
=
I
V
C_0=IV
C0=IV为随机初始向量,发送者用CBC加密:
C
i
←
E
k
(
m
i
⊕
C
i
−
1
)
C_i\gets E_k(m_i \oplus C_{i-1})
Ci←Ek(mi⊕Ci−1),数值对
(
I
V
,
C
l
)
(IV,C_l)
(IV,Cl)作为
M
M
M的MAC。
6. 什么是消息检测码(或消息摘要)MDC?简述MDC与MAC的异同。
MDC是无密钥控制的单向杂凑函数,其杂凑值只是输入字串的函数,任何人都可以计算。
不同点:MDC不具有身份认证功能,MAC具有身份认证功能
相同点:MDC 和MAC都可以检测接收数据的完整性
7. 熟悉迭代杂凑函数的构造方法。
8. MD5的明文输入分组长度、字长、输出长度是多少位?
9. SHA-1的明文输入分组长度、字长、输出长度是多少位?
10. 掌握应用杂凑函数的基本方式,熟悉图6-1、图6-2、图6-5、图6-6几个图所能够提供的安全功能。
既提供保密性,又提供消息认证:
仅仅提供消息认证:
既提供消息认证,又提供数字签名
既提供保密性,又提供消息认证和数字签名
仅提供消息认证
既提供保密性,又提供消息认证:
11. 熟悉中国商用杂凑函数SM3的构造。
见第8、9题图。
构造Merkle-Damgard。
第7章 数字签名
1. 数字签名应该具有哪些性质?
- 收方能够确认或证实发放的签名,但不能伪造(R1)
- 发方发出签名的消息给收方后,就不能再否认他所签发的消息(S)
- 收方对已收到的签名消息不能否认,即有收报认证(R2)
- 第三者可以确认收发双方之间的消息传送,但不能伪造这一过程(T)
2. 数字签名可以分为哪几类?
确定性数字签名,随机化数字签名。
3. RSA签名是基于何种数学难题?
大整数分解难题。
4. ElGamal签名是基于何种数学难题?请写出ElGamal的签名方程。
基于离散对数难问题。
5. Schnorr签名与ElGamal签名有何不同?请比较两者的异同。
相同点:都是基于离散对数难题构造,都是随机化数字签名。
6. 请写出DSS的签名方程,并比较它与ElGamal、Schnorr的异同。
不同点:
相同点:都是基于离散对数难题构造,都是随机化数字签名。
7. 在以上三种签名方案中,每次签名时,用户都要选择一个随机数k。若将随机数k替换成为常数,会出现什么安全问题?请加以分析。
可以通过2个使用相同随机数的签名解密出私钥。
8. Diffie-Hellman能用来做数字签名吗?
不能。
9. 单钥体制能用来做数字签名吗?
不能。
10. 试比较数字签名在密钥的使用上,与公钥加密算法存在的区别。
11. 请列举具有特殊功能的数字签名体制有哪些?它们各有什么用途?
- 不可否认签名:这类签名要求在签名者合作下才能验证签名。如果无签名者合作,这类签名不可验证,从而可以防止恶意的攻击者随意复制和散布签名者所签的文件。这一性质可以用于知识产权的保护等。
- 防失败签名:是一种强安全性的数字签名,可防范有充足计算资源的攻击者。在分析出私钥的情况下,攻击者也难以伪造Alice的签名。签名者也难以对自己的签名进行抵赖。
- 盲签名:签名者对一个文件做数字签名,但文件所有者不想让签名者知道文件的内容。可用于选举投票、数字货币协议、电子商务系统。
- 群签名:只有群中的成员才能代表该群体进行数字签名。接收方用公钥验证群签名,但无法知道由群体中的哪个成员所签。发生争议时,由群体中的成员或可信赖机构识别群签名的签名者。可以用于项目投标。
- 代理签名:代理签名就是委托人授权某个代理人进行的签名,在委托签名时,
签名密钥不交给代理人。 - 指定证实人签名:在一个机构中,指定一个人负责证实所有人的签名。任何成员的签名都具有不可否认性,但证实工作均由指定人完成。
- 一次性数字签名:签名者至多只能对一个消息进行签名,否则签名就可能被伪造。
12. 了解中国商用数字签名算法SM2。
基于椭圆曲线上的离散对数难题
第8章 密码协议
1. 构成协议的三个主要特征(含义)是什么?
- 有序性
- 至少有两个参与者
- 通过执行协议必须能完成某项任务
注:网络协议的三要素:语法、语义、同步。
2. 什么是仲裁协议?什么是裁决协议?什么是自执行协议?
- 仲裁协议:存在公正的、各方均信赖的第三方作为仲裁者,帮助两个互不信赖的实体完成协议。
- 裁决协议:可信赖第三方不直接参与协议,只有发生纠纷时,裁决人才执行协议。
- 自执行协议:协议本身保证公平性,如果协议中一方试图欺骗,另一方能够立刻检测到欺骗的发生,并停止执行协议。
3. 如果按照密码协议的功能分类,密码协议可以分为哪几类?
- 密钥建立协议
- 认证建立协议
- 认证的密钥建立协议
4. 什么是中间人攻击?如何对Diffie-Hellman协议进行中间人攻击?请用画图分析对Diffie-Hellman协议进行中间人攻击的详细过程。
攻击者拦截正常的网络通信数据,选择性的进行数据篡改和转发,而通信双发却毫不知情。
Mallory不仅能够窃听A和B之间交换的信息,而且能够修改消息,删除消息,甚至生成全新的消息。当B与A会话时,M可以冒充B,当A与B会话时,M可以冒充A。
5. DH协议不能抵抗中间人攻击的本质原因是什么?如何改造DH协议,可以抵抗中间人攻击?
DH不抵抗中间人攻击的本质原因:通信双方没有进行实体认证。
改造DH:将公钥向CA请求证书,将证书发送给对方。
6. Diffie-Hellman能用来做数字签名吗?
不能。
7. 掌握大嘴青蛙协议、Yahalom、Kerberos协议安全协议设计的思想。
大嘴青蛙协议:A和B均与T共享一个密钥,只需要传两条消息,就可以将一个会话密钥发送给B。
Yahalom :B首先与T接触,而T仅向A发送一条消息。
Kerberos :A和B均与T共享一个密钥,采用时戳。会话密钥由A生成。
8. 请画图分析第218页的SKID协议为什么不能抵抗中间人攻击?如何改造这个协议,可以有效抵抗中间人攻击?
(本题的意思最开始并不理解,实际上协议的目的在密钥协商后进行认证。假设已经攻击成功,希望这一协议能够发现受到攻击,当然在题目中是不行的)
假设中间人已经实施了攻击,通过与A、B的密钥进行加密和解密,可以伪造出消息,A、B仍不知情。
(假如两方满足课本中的“涉及某种秘密”,如共享密钥或时钟,就可以引入秘密,但不包含在消息中,那么就攻击者因为缺少秘密信息就无法重构消息)
解决方法:数字签名,数字证书。
9. 对密码协议的攻击方法有哪些?
- 已知明文攻击
- 选择密文攻击
- 预言者会话攻击
- 并行会话攻击
10. 密码协议的安全性分析的常用方法有哪些?
- 攻击检验方法
- 形式语言逻辑证明
- 可证明安全分析
第9章 数字证书与公钥基础设施
1. 什么是PKI?PKI由哪几部分组成?每个组成部分的作用是什么?
PKI是一种遵循标准的利用公钥理论和技术建立的提供安全服务的基础设施。
PKI由证书机构、注册机构、证书发布库、密钥备份与恢复、证书撤销、PKI应用接口组成。
-
证书机构(CA)负责发放和管理数字证书。
-
注册机构(RA)按照特定政策与管理规范对用户的资格进行审查,并执行“是否同意给该申请者发放证书、撤销证书”等操作,承担因审核错误而引起的一切后果。
-
证书发布库是网上可供公众进行开放式查询的公共信息库。
-
密钥备份与恢复提供密钥备份与恢复机制。
-
证书撤销警告其他用户不要再使用该用户的公钥证书。
-
PKI应用接口令用户能方便地使用加密、数字签名等安全服务。
2、什么是数字证书?一个数字证书包含哪些内容?
数字证书就是一个用户的身份与其所持有的公钥的结合,在结合之前由一个可信任的权威机构CA来证实用户的身份,然后由该机构对用户身份及对应公钥相结合的证书进行数字签名,以证明其证书的有效性。
3. 了解X.509标准规定的数字证书的格式。
版本号、证书序号、签名算法标识符、签名者、有效期(之前/之后)、主体名、主体公钥信息、签发者唯一标识符、主体唯一标识符、扩展信息、CA签名。
4. 实际中,由谁来签发证书?签发证书时,是由谁的何种密钥(私钥还是公钥)进行签名?验证证书时,是用谁的何种密钥来验证?
CA,CA的私钥进行签名,CA的公钥进行验证。
5. 数字证书的作用是什么?它本质上是为解决网络安全中的何种问题?
数字证书将用户身份和所持公钥进行绑定,可以证明网络实体在特定安全应用的相关信息。
为了解决公钥可信性问题。
6. 在实际应用中,若采用层次化的CA架构,如何实现两个位于不同子CA中的用户之间的数字证书验证?
获取需验证的证书的证书链,依次获取上一级证书的公钥验证证书的签名,直至到可信任的根节点CA。
7. 什么是交叉证书?
交叉证书可以让不同PKI域的根CA进行交叉认证,从而解决根CA不同的信任问题
8. 如何实现数字证书的撤销?如何实现数字证书的在线查询?
维护证书撤销列表(CRL)或是执行联机证书状态协议,对证书的撤销状态进行检查。
客户机向OCSP响应器发送联机证书状态查询请求(OCSP Request),检查该证书是否撤销
OCSP响应器查询服务器的X.500目录,以明确特定证书是否有效
根据查找的状态检查结构,OCSP响应器向客户机发送数字签名的OCSP响应
9. 什么是漫游证书?简述其基本工作原理。
漫游证书是通过第三方软件提供的,允许用户访问自己的公私钥对。
基本原理:
(1)将数字证书和私钥存储于安全的中央服务器;
(2)用户需要数字证书时,可向该服务器认证自己;
(3)认证成功后,该服务器将证书和私钥发给用户;
(4)当用户完成工作后,该软件自动删除证书和私钥。
10. 一个PKI/CA数字证书系统由哪几部分构成?
签发中心、密钥管理中心、注册系统、证书发布系统、在线证书状态查询系统。
第10章 网络加密与密钥管理
1. 什么是链路加密?有什么优缺点?
优点:
- 加密对用户是透明的,通过链路发送的任何信息在发送前都先被加密。
- 每个链路只需要一对密钥。
- 提供了信号流安全机制。
缺点:数据在中间结点以明文形式出现,维护结点安全性的代价较高。
2. 什么是节点加密?有什么优缺点?
优点:
- 消息的加、解密在安全模块中进行,这使消息内容不会被泄密。
- 加密对用户透明。
缺点:
- 某些信息(如报头和路由信息)必须以明文形式传输,可能遭到流量分析攻击。
- 因为所有节点都必须有密钥,密钥分发和管理变的困难。
3、什么是端到端加密?有什么优缺点?
优点:
- 对两个终端之间的整个通信线路进行加密。
- 只需要2台加密机,1台在发端,1台在收端。
- 从发端到收端的传输过程中,报文始终以密文存在。
- 比链路和节点加密更安全可靠,更容易设计和维护。
缺点:不能防止业务流分析攻击。
4、什么是混合加密?有什么优缺点?
混合加密的是链路和端到端混合加密组成。
优点:从成本、灵活性和安全性来看,一般端到端加密方式较有吸引力。报文被两次加密,保护了报头的敏感信息,不会被业务流分析攻击。
缺点:信息的安全设计较复杂,成本高,系统开销大。
5. 什么是密钥管理?它包括哪些方面的管理?
密钥管理是处理密钥从产生到最终销毁的整个过程中的有关问题,包括系统的初始化及密钥的产生、存储、备份/恢复、装入、分配、保护、更新、控制、丢失、撤销和销毁等内容。
6. 密钥有哪些种类?它们各自有什么用途?
-
基本密钥或称初始密钥,是由用户选定或由系统分配、可在较长时间内由一对用户专用的密钥。其用途是与会话密钥一起去启动和控制某种算法所构造的密钥产生器,产生用于加密数据的密钥流。
-
主机主密钥,作用是对密钥加密密钥进行加密的密钥,存储于主机处理器中。
-
密钥加密密钥,用于对传送的会话或文件密钥进行加密时采用的密钥,也称为次主密钥、辅助密钥或密钥传送密钥。
-
会话密钥,是两个通信终端用户在一次通话或交换数据时所用的密钥。
-
数据加密密钥,也称工作密钥,在不增大更换密钥工作量的条件下扩大可使用的密钥量。
7. 有哪些密钥分配的基本方法?
利用安全信道实现密钥传递
利用双钥体制建立安全信道传递
量子技术实现密钥传递
8. 在用密钥枪注入密钥时,如何验证密钥注入的正确性?
9. 密钥管理为什么要将密钥划分成不同的层次?
保证极少数密钥以明文形式存储在有严密物理保护的主机密码器件中,其他密钥则以加密后的密文形式存于密码器之外的存储器中,因而大大简化了密钥管理,并增强了密钥的安全性。
10. 一个密钥管理系统由哪几部分构成?(本题没找到)
密钥的产生、密钥的存储、密钥的备份与恢复、密钥的更新、密钥的销毁与撤销。
11. 密钥的生存期分哪四个阶段?了解密钥管理的12个工作步骤。
四个阶段:
-
预运行阶段
-
运行阶段
-
后运行阶段
-
报废阶段
12个工作步骤:用户注册、用户初始化、密钥生成、密钥输入、密钥注册、正常使用、密钥备份、密钥更新、密钥档案、密钥注销与销毁、密钥恢复、密钥吊销
12. 查找资料,了解一个好的密钥应具备哪些数学特性?
- 真正随机、等概率
- 避免使用特定算法的弱密钥
- 满足一定的数学关系
- 易记而难猜中
- 采用密钥揉搓或杂凑技术,将易记的长句子经单向杂凑函数变换成伪随机数串
第11章 无线网络安全
1. 无线网络面临哪些主要安全威胁?要能识别哪些是主动攻击,哪些是被动攻击。
被动攻击:窃听,服务区标识符泄露
主动攻击:通信阻断,数据的注入和篡改,中间人攻击,客户端假冒,接入点伪装,匿名攻击,客户端对客户端的攻击,隐匿无线信道,重放攻击。
2. GSM系统有哪些主要安全缺陷?
-
首次开机时泄漏IMSI信息,可能导致用户身份泄露。
-
基站对用户实施单向认证,伪基站向用户发送欺诈信息。
-
骨干网数据传输无加密,中间节点可截获会话密钥。
-
无数据完整性验证机制,不能检测数据是否被篡改。
-
K直接参与认证与加密,存在泄露主密钥的风险。
-
主密钥K存在SIM卡中,有复制SIM卡的风险。
3. 3G系统有哪些安全功能?有哪些主要安全缺陷?与2G相比,3G作出了哪些安全性改进?
实现了用户网络间的双向认证,建立了用户网络间的会话密钥,保持了会话密钥的新鲜性,增加了数据完整性验证功能。
缺陷:
-
首次开机时泄漏IMSI信息,可能导致用户身份泄露
-
骨干网数据传输无加密,中间节点可截获会话密钥
-
K直接参与认证与加密,主密钥缺少层次化保护
-
C K CK CK和 I K IK IK直接传输,存在被窃听的风险
-
主密钥K存在SIM卡中,有复制SIM卡的风险
-
采用10种安全算法 f 1 ∼ f 10 f_1 ∼ f_{10} f1∼f10 ,算法过多存在被攻破的风险
4. 4G系统有哪些安全功能?有哪些主要安全缺陷?与3G相比, 4G作出了哪些安全性改进?
实现了用户网络间的双向认证,建立了用户网络间的会话密钥,增加了数据完整性验证,实现了层次化密钥管理,隐藏了加密密钥C K CKCK和完整性验证密钥I K IKIK
缺陷:
-
首次开机时泄漏IMSI信息 可能导致用户身份泄露
-
骨干网数据传输无加密 中间节点可截获会话密钥
改进与功能如下:
5. 请画图分析GSM蜂窝系统保密与认证协议的工作过程,指出三元组认证向量中的每个元素所发挥的安全性作用。
三元组认证向量
R A N D RAND RAND:用于用户认证和会话密钥的产生时的挑战值。
S R E S ′ SRES' SRES′:用于VLR进行用户认证时与用户传输的认证响应 S R E S SRES SRES比较。
K c K_c Kc:会话密钥,用于加密会话数据。
6. 请画图分析3G蜂窝系统保密与认证协议的工作过程,指出五元组认证向量中的每个元素所发挥的安全性作用。
R
A
N
D
RAND
RAND:用于用户和网络双向认证和会话密钥的产生
X R E S XRES XRES:用于网络对用户的认证
C K CK CK:数据加密密钥
I K IK IK:完整性验证密钥
A U T N AUTN AUTN:用于用户对网络的认证
7. 为何2G/3G/4G系统的挑战值RAND是一个随机数而不能是常数?如果挑战值RAND为常数,会产生何种安全问题?请加以分析。
常数存在安全问题,随机数可以保持密钥的新鲜性。挑战值是随机数可以防止强力攻击,一个128b的随机数意味着3.4*1038 种可能的组合,即使一个黑客知道A3算法,猜出有效的RAND/SRES的可能性也非常小。
重放攻击,会话密钥的攻破,设备的伪装等等。
8. 与2G/3G/4G相比,5G在哪些方面提升了安全性?
增加了用户身份标识保护,实现了用户网络间的双向认证,建立了用户网络间的会话密钥和数据完整性验证密钥,实现了层次化密钥管理,隐藏了加密密钥 C K CK CK和完整性验证密钥