中国科学技术大学 密码学与网络安全真题

19k 词

2020年

选择题

  1. 使用非对称密码的私钥加密数据,不能提供( A )安全机制.

​ A.数据保密性 B.数据时效性 C.不可否认性 D.身份认证

私钥加密可以提供 身份认证不可否认性,但无法直接提供 数据时效性,因为它不能保证数据在特定时间内有效或防止重放攻击。因此,数据保密性 是唯一不适用的选项,因为私钥加密本身并不提供保密性,它是用来签名或验证身份的。

  1. SMS4是( C )国家商用密钥标准.

​ A.美国 B.俄罗斯 C.中国 D.以色列

SMS4是中国国家商用密码标准之一,主要用于无线局域网安全协议(WAPI)中的加密算法。

  1. AES加密标准的密钥长度不可以是( D ).

​ A.128比特 B.192比特 C.256比特 D.512比特

  1. 操作系统在保持用户登陆信息时,往往保存的是口令的散列值,以避免被黑客窃取。这要求哈希函数必须有( D ).

​ A.单向性 B.抗弱碰撞性 C.抗强碰撞性 D.以上都应具备

  1. 用于生成随机大素数的伪随机序列应具备( D )性质.

​ A.统计独立 B.统计分布均匀 C.不可预测 D.以上都应具备

  1. 椭圆曲线密码与RSA密码相比,错误的是( B ).

​ A.同等安全级别下,椭圆曲线密码的密钥长短较短 B.相同密钥长度时,椭圆曲线密码的计算量较小 C.两者都可以用于加密和安全 D.两者的安全性是基于不同的数学难题

相同密钥长度下,椭圆曲线密码的计算量比RSA更大,但在相同安全级别下,椭圆曲线的密钥长度较短。

  1. 一个密码是无条件安全的是指( D ).

​ A.破译所需要的时间无法满足 B.破译所需要的计算资源无法满足 C.破译的难度与解决数学难题相当 D.破译时始终存在多个可能的解

无条件安全意味着即使有无限计算能力,也无法唯一确定加密后的明文。

  1. IPSEC在( B )提供安全性.

​ A.链路层 B.网络层 C.传输层 D.应用层

IPSEC工作在网络层,提供安全的IP通信。

  1. 包过滤防火墙检查( A )分组.

​ A.所有 B.连接的第一个 C.概率性选择 D.不同于以上答案

包过滤防火墙主要检查连接的所有分组,并决定是否允许通过或者丢弃该分组。

  1. PGP所提供的安全服务中,加密签名压缩的顺序是( D ).

​ A.加密—签名—压缩 B.签名—加密—压缩 C.加密—压缩—签名 D.签名—压缩—加密

PGP先对数据进行签名,然后压缩,再加密。

  1. 在IPSEC的保护下,完成一次WEB页面的下载,需要至少建立几个SA?( B )

​ A.一个SA B.两个SA C.四个SA D.八个SA

IPSEC在通信的两端至少需要建立两个安全关联(SA),一个用于发送,一个用于接收。

  1. PI,OI分别表示支付、订购信息KUAKRA分别表示Alice的一对公私钥,E[x]表示用密钥key对报文x进行加密,下列哪个是Alice购物时所签的双重数字签名?

双重数字签名是一种利用两次哈希和加密的方式,以确保消息完整性和身份认证。

双重数字签名的流程一般是:

  1. 先对支付信息和订单信息做哈希,生成摘要。
  2. 再将这些摘要进行拼接,并对其再进行一次哈希。
  3. 使用私钥对最终的哈希值进行加密,形成签名。

正确答案应该是用Alice的私钥KRAH( H(PI) || H(OI) )进行加密。

注:双重数字签名是SET协议的内容,主要用于客户、商家和银行之间信息保密性和认证性的实现。

  • 具体使用:

(1)客户将“订购信息+支付信息的消息摘要+双重签名”发给商家,将“支付信息+订购信息的消息摘要+双重签名”发给银行;

(2)商家和银行对收到的信息先生成摘要,再与另一个摘要连接起来,如果它与解密后的双重签名(利用客户的公钥)相等,就可确定消息的真实性。

然商家看不到顾客账户信息、银行不知道客户的购买信息,但都可确认另一方是真实的。

填空题

  1. 数据加密DES采用( Feistel )密码结构,明文分组长度( 64比特 ),有效密钥长度( 56比特 )。当以字节为单位输入密钥时,( 最低 )位比特被丢弃。

DES使用Feistel结构,64比特明文分组,虽然DES的密钥是64比特,但其中8比特用于校验(即每个字节的最右/最低位比特),不参与加密,因此有效密钥长度为56比特。

  1. 好的雪崩效应:当( 明文位 )或( 密钥位 )发生比较变化时,( 密文 )中有随机的( )比较发生了改变。

雪崩效应指的是对输入的微小改动会导致输出的较大变化。

  1. 分组密码的计数器工作模式英文缩写为( CTR ),它( 支持 )预处理和并行处理,( 支持 )分组的随机解密,( )错误传播。

CTR模式允许加密和解密时的并行处理,并且不会引起错误传播。

  1. 散列算法SHA-1的消息摘要长度为( 160 )比特,抗单向性攻击的强度为( 160 ),抗弱碰撞攻击强度( 80 ),抗强碰撞强度( 80 )。

SHA-1生成160比特的摘要,其抗碰撞强度理论上为2的80次方(因为生日悖论)。

  1. 公钥证书是由( CA )签发的,用来证实( 公钥 )的有效性,任何人都可以使用( CA的公钥 )对其进行验证。

证书颁发机构(CA)签发证书,证书中含有公钥,其他人用CA的公钥验证证书的真实性。

  1. SSL上层协议除了用户数据外,还包括的协议为( 握手协议 )、( 警报协议 )、( 变更密码规范协议 )。

SSL上层协议通过这三种协议处理握手、安全参数变更和警报。

  1. 通常意义上的AAA,分别指哪几种安全服务?( 认证 )、( 授权 )和( 计费 )。

AAA通常指认证(Authentication)、授权(Authorization)和计费(Accounting)。

  1. PGP提供的5种主要服务,除签名、加密、压缩、分段外、还包括( 兼容性 ),该服务实际将原报文扩展了( 33% )。

PGP提供的安全服务:

  • 加密:发信人产生一次性会话密钥,以IDEA、3-DES或CAST-128算法加密报文,采用RSA算法用收信人的公钥加密会话密钥,并和消息一起送出。

  • 认证:用SHA-1对报文杂凑,并以发信人的私钥签字,签名算法采用RSA或DSS 。

  • 压缩:ZIP,用于消息的传送或存储。在压缩前签名,压缩后加密。

  • 兼容性:采用Radix-64可将加密的报文转换成ASCII字符

  • 数据分段:PGP具有分段和组装功能,适应最大消息长度限制

PGP报文扩展:基64转换方式的采用将原报文扩展了33%. 把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),先查 对应的基-64表,再对应到ASCII表,首位为0。

  1. 参加SET协议的主要实体包括( 持卡人 )、( 商家 )和( 发卡银行 )。

SET(Secure Electronic Transaction)协议参与方主要包括持卡人、商家和发卡银行。

  1. 在SSL协议中,为了生成Master Secret,KDF函数的输入除了预主密钥外,还包括( 客户端随机数和服务器随机数 )。

Master Secret是由预主密钥、客户端随机数和服务器随机数共同生成的。

  1. 每个SA由一个三元组唯一地进行标识,该三元组为( 安全参数索引(SPI) )、( 协议 )和( 目的地址 )。

SA(Security Association)由这三项参数来唯一标识,用于IPSec等协议中。

解答题

1. 签名与加密顺序不同的区别

当需要对数据进行保密和来源认证双重保护时, 可以对数据采用先签名后加密,先加密后签名两种方式吗?

1)请分析这两种方式各有什么缺陷或局限性

2)请设计一种方案,不更换原有的加密加密和签名算法,保持二者的操作顺序不受限制,以解决上述局限性

1) 关于先签名后加密与先加密后签名的方式分析:

两种方式的局限性:

  • 先签名后加密:
  • 缺陷:如果接收方的私钥泄露,攻击者可以看到签名的明文部分,从而推测出原始数据。此方法还可能暴露发送者的签名信息。
  • 先加密后签名:
    • 缺陷:发送方的签名只保证了加密数据的完整性,而无法直接验证原始数据的完整性。如果加密算法不安全或加密密钥泄露,则接收方无法确认数据来源。

2) 改进方案:结合使用数字摘要(Hash)

  1. 步骤
  • 创建数据的哈希值:在签名之前,首先对原始数据进行哈希运算,生成固定长度的哈希值。
    • 签名哈希值:用签名者的私钥对哈希值进行签名,得到签名数据。
    • 加密哈希签名与原始数据:将原始数据和签名数据一起加密,使用接收者的公钥加密后生成密文。
  1. 优点
    • 数据完整性:通过对原始数据进行哈希,可以在解密后直接验证数据的完整性,避免了签名信息被篡改的风险。
    • 提高性能:对数据进行哈希运算的开销较小,尤其是处理大数据时,只需签名哈希值而非整个数据。
    • 保持操作顺序灵活性:虽然整体操作顺序保持不变,但通过引入哈希,可以有效地解决原有方案中的缺陷。

2. DH计算/中间人攻击

Alice和 Bob用 Diffie-Hellman密钥协商协议建立会话密钥,选择模数P=17,本原元a=5:

1)若随机数 X =7和 X =3,请计算协议执行中他们发给对方的数据,以及他们之间形成的会话密钥

2)简述攻击者 Eve如何发起中间人攻击

  1. 计算过程:

image-20241014003235729

计算过程没问题,但结果全错,会话密钥应该为14.

  1. Eve的中间人攻击:
  • Eve可以分别与Alice和Bob建立两个单独的Diffie-Hellman会话:
  • Eve选择自己的随机数并发送给Alice和Bob,分别冒充对方。
    • Alice和Bob的密钥协商实际与Eve进行,从而Eve能够解密并查看双方的通信。

3. RSA计算

RSA算法中,若系统选择大素数 P=17,q=11。并为用户 A选择公钥e=9

1)求 A私钥 d=?

2)用户 B预向 A发送私密信息 M=4,求密文 C=?

3)若用户 A欲对消息 M=157进行签名,求签名结果 S=?

4)继续给用户 B分配公钥/私钥时,可用的公钥有多少个?

image-20241014003526608


4. 一次一密方案设计/密钥交换

Alice将一副牌中的红桃 A至红桃 Q(12张)随机且私密地分一半给Bob。现在,Alice准备大声地告诉 Bob一条秘密消息 M,而偷听着的 Eve可以听到他们说的所有内容:

1)请为 Alice设计一个具体的通讯方案。注意,这个方案她只能大声地告诉Bob,且Eve能听得到。

2)证明:Alice有可能找到一种方法将 9比特的消息安全地传递给Bob,Eve不能获得M的任何信息,但完美安全地传递 10比特信息则是不可能的。

1. 通讯方案

两人的牌可以随机分配,但彼此可以计算出对方的牌,因此可以实现密钥协商。

Alice将自己的所有牌代表的数字相乘得到密钥,Bob用12!除以自己牌数字的乘积即可得到Alice的密钥。

然后将协商出的密钥作为一次一密的密钥,与明文异或,再将异或后的密文大声告诉Bob即可。

另一种解法:

公开约定牌的顺序,对第i个消息比特,Alice大声说出第i张牌是否在自己手中,若i=1,则说真话,即说是否真的在自己手中;反之i=0,则说假话。Bob对照自己手中的牌,即可获取对应比特信息。

2. 证明 Alice 能安全地传递 9 比特的信息,但不可能完美安全地传递 10 比特的信息

Alice 和 Bob 的分牌方式决定了共享密钥的大小和信息量。总共有 C(12,6)=924 种分牌方式,其中 Alice 和 Bob 各持有 6 张牌。对于每一种分牌方式,Alice 和 Bob 都可以协商出一个唯一的共享密钥。

  • 这 924 种可能性对应的密钥数是log⁡2(924)≈9.85比特的信息量。因此,这个密钥空间足够大,足以保证 9 比特消息的完美安全传递。

当 Alice 通过一次一密传递 9 比特的消息时,Eve 面临 924 种可能的密钥,所以她无法区分出哪种密钥是正确的。因此,从信息论的角度来看,Eve 无法从密文中获得任何关于明文的信息,达到完美安全的传输。如果 Alice 尝试传递 10 比特的消息,这超出了密钥的熵(信息量),Eve 可以利用这多出的信息做推测,破坏完美安全性。

一次一密依赖于密文对每个密钥都应该看起来是随机的、均匀分布的。但是,如果要传递的消息长度(10 比特)超过了密钥空间的信息量(9.85 比特),那么密文对于 Eve 来说就不再完全随机。Eve 可以利用这多出来的 0.15 比特信息,逐步缩小她对密钥的猜测范围。

知识点:香农密码理论/一次一密

一次一密(One-Time Pad, OTP)是 信息论意义上完美安全 的加密方式,但它的前提条件是:

  1. 密钥的长度必须至少等于消息的长度
  2. 密钥必须完全随机
  3. 密钥必须只使用一次
  4. 双方都必须准确共享该密钥。

5. 数字信封

什么是数字信封?解释数字信封具有什么作用

数字信封是结合了对称加密和非对称加密的技术。具体而言,用对称密钥加密数据,再用接收方的公钥加密对称密钥。接收方用私钥解密对称密钥,然后解密数据。数字信封确保了数据保密性和密钥安全。


6. 证书撤销

说明什么时候需要撤销一个证书,如何撤销一个证书?

1)需要撤销证书的情况;

  • 用户私钥泄露
  • CA不再被信任
  • CA私钥泄露
  • 证书超过有效期

2)如何撤销证书

向证书颁发机构提交撤销请求

  • 证书持有者需向其证书颁发机构(CA)提交撤销请求。通常,CA 会提供在线表单或 API 接口供用户提交撤销申请。

验证撤销请求

  • CA 会验证撤销请求的真实性,确保请求者是证书的合法持有者,通常需要提供身份验证信息。

更新证书撤销列表(CRL)

  • 一旦撤销请求获得批准,CA 会将该证书的序列号添加到证书撤销列表(CRL)中。CRL 是一个包含所有已撤销证书的列表,通常会定期更新。

发布撤销信息

  • CA 会将更新后的 CRL 发布到其服务器上,用户和应用程序可以查询此列表以验证证书的有效性。

通知相关方

  • 如果可能,证书持有者应通知所有依赖该证书的方,以便他们更新或撤销信任该证书的相关配置。

7. FTP主动模式与防火墙

解释为什么 FTP主动模式在状态检测防火墙下往往无法成功地发起数据连接?

image-20241027235352103

在 FTP 的主动模式下,服务器从其数据端口20主动连接到客户端的指定端口。这会产生以下问题:

  1. 主动连接被阻止
  • 从防火墙的角度看,服务器的数据连接是从外部发起的,而状态检测防火墙一般会默认阻止这种从外部主动发起的连接,因为防火墙并没有看到客户端主动发起对该数据端口的请求。
    • 即便客户端已经通过控制连接发起了请求,但数据连接是由服务器主动发起,防火墙会认为这是未经过授权的连接,导致阻止该数据连接的建立。
  1. 动态端口问题
    • 在主动模式下,客户端指定的端口号是动态生成的,而不是固定的端口。防火墙需要有能力动态识别这些随机端口号并做出相应的规则调整,否则无法处理这些随机的外部连接请求。

8. 填充的作用

网络协议和网络安全协议涉及到填充,给出填充的常用作用:

填充用于确保数据块的长度满足分组加密算法的要求,同时可以防止明文攻击或长度攻击。

  • 对齐数据长度
  • 防止数据泄露
  • 消息完整性校验
  • 隐藏真实数据长度
  • 增强安全性

9. PGP流程

PGP可以同时提供加密、完整性和认证保护

(1)请解释邮件发送端产生 PGP消息的具体操作流程?

(2)进一步地,实际使用时一个用户往往是有一系列的秘钥(首先,每个用户可能拥有多个秘钥对,一个用户也收集了人量别的用户的公钥,这里面每个用户也还可能不止一个公钥。)当 Alice收到一个来自 Bob的 PGP信息时,她怎样才能知道Bob采用的哪个秘钥进行加密和签名的,简要进行描述

(3)相应的用户和钥需要自行进行安全保存,显然不能直接明文存储,应该采用怎样的手段?

1)邮件发送端产生 PGP 消息的具体操作流程:

image-20241028002326044

在发送端,生成 PGP 消息的过程分为以下几个步骤:

  1. 消息分段

    • 通常邮件的最大报文的长度限制在50,000字节,超过标准长度的报文必须分段,PGP 自动对过长的报文分段,再由接收端将其重组。
  2. 消息签名

    • 为确保消息的完整性和来源认证,发送方(Alice)会生成消息的摘要(通过哈希算法SHA-1),然后用自己的私钥KR_a对摘要进行加密(签名算法使用RSA或者DSS),再与明文连接生成数字签名。
    • 数字签名可以验证消息在传输过程中是否被篡改,并且可以确认消息的发送者。
  3. 消息压缩

    • PGP 将要发送的消息进行压缩,以减少数据大小和传输时间。压缩数据不仅能提高效率,还能增强加密的安全性,因为压缩后的数据更难被预测。使用ZIP,用于消息的传送或存储。
  4. 消息加密

    1. 生成一个会话密钥K_S(随机生成的对称密钥),这个密钥会用于使用对称密码算法加密压缩后的消息数据。
    2. 然后,用接收方(Bob)的公钥KU_b加密这个会话密钥,作为数字信封与加密后的密文数据一起发送。PGP 采用混合加密,即先使用对称加密加密消息,再用非对称加密加密对称密钥。这样既保证了安全性,又提升了加密速度。

整个过程确保了加密性、完整性、认证性,接收方能够解密并验证消息的真实性和完整性。

2)Alice 如何知道 Bob 使用哪个秘钥进行加密和签名

在实际应用中,一个用户可能拥有多个公私钥对,且收集了其他人的多个公钥。因此,Alice 在收到来自 Bob 的 PGP 消息时,需要确定 Bob 使用的具体秘钥。

主要有两种实现方法:

  • 公钥与消息一起发送给接收方
  • 将一个标识符与一个公钥关联,对一个用户来说做到一一对应

这通常通过以下步骤实现:

  1. 公钥标识
    • PGP 公钥中包含一个称为Key ID 的字段,用于唯一标识秘钥对。当 Bob 使用某个秘钥对加密或签名消息时,这个秘钥的Key ID 会包含在加密后的消息中。
    • 当 Alice 接收到 Bob 的消息时,PGP 软件会从消息中读取Key ID,然后在 Alice 本地保存的公钥库中查找与该 ID 匹配的公钥。
  2. 验证签名和解密
    • Alice 的 PGP 软件首先根据消息中的 Key ID 找到相应的公钥,然后使用这个公钥验证 Bob 的签名。
    • 验证通过后,PGP 软件会使用这个公钥对加密的会话密钥进行解密,从而获取原始的对称会话密钥,最终用该会话密钥解密消息内容。

通过 Key ID 机制,Alice 可以确定 Bob 用的是哪个公钥进行的加密和签名,从而安全地解密和验证消息。

3)用户密钥的安全存储方式:

由于用户的私钥是非常敏感的信息,必须采取有效的手段来保证它的安全存储,防止被未经授权的人获取。通常有以下几种措施:

  1. 密钥加密(Key Encryption)
    • PGP 系统会将用户的私钥做加密后存储在硬盘上,用户需要输入口令短语(passphrase)来解锁和使用私钥。
    • 这种方式通过结合口令和加密技术确保即使密钥文件被盗,攻击者也无法直接使用私钥,除非知道正确的口令。
  2. 硬件安全模块(HSM)
    • 使用硬件安全模块智能卡等物理设备存储私钥,这类设备能够提供更高的安全性。私钥存储在硬件设备中,只有通过设备才能进行加密和签名操作,私钥不会离开设备。
  3. 安全环境存储
    • 使用操作系统的安全存储机制,如 Windows 的凭据管理器、macOS 的钥匙串(Keychain)或 Linux 的 GnuPG 管理机制,这些工具都提供了加密和存储秘钥的功能,并通过操作系统的身份认证来限制访问。
  4. 定期备份和更新
    • 私钥应进行安全备份,以防止因设备故障或遗失造成的密钥丢失。同时,用户应定期更新口令短语,并在密钥泄露的情况下迅速吊销旧的密钥并生成新的密钥对。

10. NAT与组网

NATPT是 NAT的一种,转换中结合了 IP地址和传输层端口(拓扑图如下所示)

image-20241015003404015

(1)从数据请求和应答两个方面解释一下从内部主机(假设为 192.168.3.1)对外进行访问(假设访间服务器 202.38.64.3的 WWW服务,端口为 WWW服务器的周知端口)的IP数据包变化过程和 NAT的处理方法?

(2)当内部主机 C需要对外提供 WWW服务,从而让所有的 Internet用户都能访问到其所提供的服务管理员需要做什么样的操作

(1) 从数据请求和应答两方面解释内部主机对外访问的IP数据包变化过程和 NAT 的处理方法?

假设内部主机 192.168.3.1 访问外部 Web 服务器 202.38.64.3 上的 WWW 服务,其 IP 数据包变化和 NAT 处理过程如下:

  • 数据请求阶段
    1. 内部主机发送请求:
      • 主机 192.168.3.1 构造一个 HTTP 请求数据包,目的 IP 是 202.38.64.3,目的端口是 Web 服务器的周知端口 80 (WWW 服务),源 IP 是 192.168.3.1,源端口是本地动态分配的端口,比如 12345
    2. NAT 网关处理请求:
      • NAT 网关接收到该数据包后,会将源 IP 和源端口替换为 NAT 网关的外部 IP(如图所示为202.30.75.87)和一个新的端口号(例如6789)。NAT 记录表会保存这种映射关系,记录:
        • 内部主机 192.168.3.1:12345 对应 NAT 外部 IP 202.30.75.87:6789
      • 经过 NAT 处理后的数据包发送到 Internet,数据包的目的 IP 和端口不变,仍然是 202.38.64.3:80
  • 数据应答阶段
    1. 外部 Web 服务器应答:
      • Web 服务器 202.38.64.3 收到请求并返回响应数据包,源 IP 是 202.38.64.3,源端口为 80,目的 IP 是 NAT 网关的外部 IP 202.30.75.87,目的端口为 6789
    2. NAT 网关处理应答:
      • NAT 网关根据之前记录的映射关系,识别出该数据包是为内部主机 192.168.3.1 准备的,将目的 IP 和目的端口还原为 192.168.3.1:12345,然后将数据包转发给内部主机。

这样,内部主机成功接收到来自外部服务器的响应。

(2) 内部主机 C 需要对外提供 WWW 服务时,服务管理员需要做的操作:

假设内部主机 192.168.3.3(图中的 C 主机)需要提供对外的 WWW 服务,管理员需要进行以下操作:

  1. 端口映射 (Port Forwarding):
    • 在 NAT 网关上进行配置,创建一条端口映射规则。例如,将 NAT 网关的外部 IP(202.30.75.87)的端口 80 映射到内部主机 192.168.3.3 的端口 80。这样,任何从 Internet 发向 202.30.75.87:80 的 HTTP 请求都会转发到 192.168.3.3:80
  2. 配置防火墙:
    • 如果有防火墙,确保允许 HTTP 流量(端口 80443)通过,并且转发到内部主机 192.168.3.3

通过这两步操作,外部用户就可以通过访问 NAT 网关的 IP(202.30.75.87)来访问内部主机 C 提供的 WWW 服务。

2021年

选择题

  1. 关于认证,错误的是:(D)

​ A. alice可用与bob的对称会话密钥作签名,给carol证明身份

​ B. alice可用与bob的对称会话密钥作签名,给bob证明身份

​ C. Alice可用自己的私钥证明自己的身份

​ D. Alice可用自己的公钥证明自己的身份

Alice的公钥不能单独用来证明她的身份,因为公钥是公开的,任何人都可以获得,不能保证身份的唯一性和真实性。只有通过私钥签名的消息才能有效地证明身份。

  1. 不是标准分组密码工作模式的是:(B)

​ A. CTR B. ECB C. CFB D. CBC

  1. D-H交换,错误的是:(D)

​ A. 易受中间人攻击 B. 用于对话中交换密钥 C. 不能通过截获交换的随机数得到会话密钥 D. 不支持一方离线

  1. PGP工作顺序(签名-压缩-加密)

  2. 包过滤防火墙检查哪些分组(第一个(X)or每一个(O))

  3. 哈希函数需要满足(单向、强碰撞、弱碰撞)

  4. IPSec的SPI:

SPI 是 IPSec 中用于标识安全关联(SA)的一个唯一标识符。它用于区分不同的安全关联,并在处理 IPSec 数据包时确定正确的加密和解密参数。

填空题

  1. 雪崩效应、代换和置乱改变消息的()

雪崩效应:指输入的微小改变(如一个比特)会导致输出的极大变化。它改变了消息的比特模式,使得小的输入改变会引起加密结果的完全不同。

代换:指通过某种规则替换消息中的数据,也改变消息的比特模式。

置乱:指重新排列消息中的比特或字节,改变消息的比特模式

  1. 信息安全三个特性、分别被什么攻击所破坏
  • 机密性(Confidentiality):被窃听(Eavesdropping)信息泄露(Data Breach)所破坏,未经授权的用户获取信息。
  • 完整性(Integrity):被篡改(Tampering)伪造(Forgery)攻击所破坏,攻击者更改了信息内容。
  • 可用性(Availability):被拒绝服务攻击(Denial of Service, DoS)所破坏,使得合法用户无法访问系统或资源。
  1. SET三主体:商家(Merchant)持卡人(Cardholder)收单行或发卡行(Acquirer/Issuer)

  2. WLAN增强方案举例

WPA(Wi-Fi Protected Access):替代原来的 WEP,增加了加密强度和身份验证机制。

WPA2:基于 AES 加密算法,增强了数据保护和网络访问控制。

WPA3:增强了个人和企业级无线网络的安全,提供更强的加密算法和保护机制。

  1. AAA服务:认证授权计费

  2. 双重数字签名的表示:E_pr[H( H(PI) || H(OI) )]

  3. PGP保证兼容性采用了(MIME),原报文扩展了(64bit签名)

  4. 防火墙的分类:

包过滤防火墙(Packet Filtering Firewall):基于 IP 地址、端口号和协议检查每个数据包。

状态检测防火墙(Stateful Inspection Firewall):跟踪整个连接的状态,并根据连接状态进行过滤。

代理防火墙(Proxy Firewall):通过代理服务器处理请求,隐藏内部网络的结构。

下一代防火墙(Next-Generation Firewall, NGFW):结合了传统防火墙、入侵检测和防病毒功能。

  1. SA由三元组标识:

SPI(Security Parameters Index):唯一标识一个特定的安全关联。

目标 IP 地址(Destination IP Address):标识数据包的目的地。

安全协议(Security Protocol Identifier):标识是使用 AH(认证头部协议)还是 ESP(封装安全载荷协议)。

解答题

1.Feistel结构第i轮,用md5设计轮函数

在 Feistel 结构中,每一轮的轮函数通常用于混淆输入。你可以将 MD5 哈希函数作为轮函数的一部分来处理输入和密钥。在第 i 轮中,轮函数可以设计为:Fi(Li,Ki) = MD5(Li ∣∣ Ki)

其中,L_i是左半部分的输入,K_i是当前轮的密钥,两个值被拼接后通过 MD5 进行哈希计算,输出作为轮函数的结果。

2. 伪随机数发生器

在 GF(2^4)域中,伪随机数发生器X_i+1 = a * X_i mod b

(a) 写出一个周期的输出

(b) 最大周期是多少,a、b要符合的条件,种子要符合的条件

(a) 直接按照发生器的公式写出后续序列即可,到重复时为一个周期的输出

(b) 在 GF(2^4)中,最大周期的理论值为 15(即域中非零元素的个数)。要实现最大周期,必须满足以下条件:

  1. 乘数 a 必须是一个原根:在 GF(2^4) 中,乘数 a 必须是这个域的一个原根,才能产生最大周期。这里的原根是指在有限域中能生成所有非零元素的数。

例如:在GF(2^4)中,3 是一个原根,它可以生成所有的非零元素,因此a = 3是合适的选择。

  1. 模数 b=1:为了不限制生成序列的周期,通常选择b = 1或者直接不取模运算,仅在域内运算即可。

  2. 初始种子 X≠0:种子 X_0 必须是非零元素,因为在 GF(2^4) 中,0 乘以任何数都会是 0,这样会导致序列周期为 1。所以初始值必须是非零的,以避免序列坍缩。

  • 此外伪随机数的种子应该满足完全随机的要求,即伪随机生成器的种子为真随机数。
  • 随机数的要求:独立性、不可预测性、(不可重复性)。【密码学随机数不要求第三个性质】

3. RSA安全性

(a) RSA:给 m 加密,给 c 解密

(b) 对一条消息的每个字节进行单独加密安全吗。安全给理由,不安全给攻击方法

不安全。RSA 是基于模幂运算的,并不是每个字节独立加密的设计。对每个字节单独加密的方式容易导致重复模式和攻击方法,例如字典攻击。攻击者可以预计算所有可能的加密字节模式并通过匹配来解密整个消息。

如果直接按字节分组,RSA 的加密是确定性加密,即相同的明文总是会生成相同的密文,缺乏随机性。攻击者可以利用这一点进行已知明文攻击重放攻击

可能暴露明文结构或者长度。

4. RSA计算

(a) s = m * d mod p*q 中国剩余定理计算 RSA 签名:s1 = md mod p,s2 = md mod q。

(b) 若s1计算错误,s2正确,将s公开出去安全吗

不安全。因为通过已知 s2 和 s 的关系,攻击者可以通过一定的计算推导出 s1,并且可以进一步推导出一些私钥的相关信息,这样会破坏 RSA 的安全性。

5. 数字信封流程,功能和优势

流程

  1. 用对称密钥加密消息。
  2. 用接收方的公钥加密对称密钥。
  3. 将加密的消息和加密的对称密钥一起发送给接收方。

功能:保证消息的机密性。使用对称加密来加密大数据提高效率,同时使用非对称加密安全地传输对称密钥。

优势:结合对称加密和非对称加密的优点,提高了加密速度,同时保障密钥传输的安全。

6. 认证和加密顺序不一样时各自的优缺点

在网络通信中,认证和加密的顺序确实会影响通信的安全性和效率。这里我们分别讨论先认证后加密先加密后认证这两种模式的优缺点。

1. 先认证后加密

流程:通信双方首先进行身份认证,然后再建立加密通道,确保双方身份后传输加密信息。

优点

  • 确保身份合法性:先认证可以确认通信双方身份,防止未经授权的第三方连接到加密通道上。尤其在安全协议(如TLS)中,先认证后加密能够有效防止中间人攻击。
  • 精简加密流量:若认证失败,通信可以终止,避免了不必要的加密和数据传输,节省计算资源和带宽。

缺点

  • 潜在的额外负载:身份认证需要额外的握手和计算,可能会稍微增加延迟,尤其在高并发场景中。

2. 先加密后认证

流程:通信双方首先通过加密通道交换数据,然后在必要时对数据进行认证。

优点

  • 适合匿名通信:在某些场景中(例如点对点加密通信),可以优先进行加密传输,再在必要时验证身份。
  • 隐私保护更强:部分应用中,通信双方不愿意公开身份,因此在隐私敏感的场景下先加密后认证可能更为适合。

缺点

  • 容易遭受中间人攻击:由于没有在加密之前确认身份,恶意用户可能会在未经认证的加密通道中实施攻击,例如重放攻击、篡改数据等。
  • 降低通信效率:若认证失败,已经进行的加密操作将被浪费,消耗了不必要的资源和带宽。

总结

一般来说,先认证后加密是大多数安全通信协议(如TLS)所采用的顺序,能够有效防止攻击并确保通信的机密性和完整性。先加密后认证适用于特殊场景,但需要在设计上采取额外的防御措施以保证通信安全。

7. 数字证书

证书内容,谁产生,产生流程。证书撤销原因,撤销方法

(a) 证书内容:证书通常包含公钥、证书持有者的身份信息、证书颁发机构(CA)的签名、有效期等信息。

(b) 谁产生,产生流程:证书由 CA 生成。流程包括:

  1. 用户生成密钥对并提交公钥和身份信息给 CA。
  2. CA 验证用户身份后,将公钥与身份信息绑定,生成证书,并用 CA 的私钥对其签名。

(c) 证书撤销原因:私钥泄露、证书到期、持有者身份不再有效等。

(d) 撤销方法:通过发布证书撤销列表(CRL)或在线证书状态协议(OCSP)。

8. IPSec

(a)IPSec 的 AH、ESP 作用

(b)画两种模式 AH 的位置

(c)画两种模式 AH 的认证范围

(a) AH(Authentication Header):提供数据包的完整性验证和来源身份认证,不提供加密。

ESP(Encapsulating Security Payload):提供加密、完整性验证、和身份认证。

(b) 两种模式 AH 的位置

  • 传输模式(Transport Mode):AH 位于 IP 包头之后,封装上层协议(如 TCP)。
  • 隧道模式(Tunnel Mode):AH 包裹整个原始 IP 数据包,包括包头。

(c) 两种模式下 AH 的认证范围

  • 传输模式:AH 仅认证 IP 数据包的载荷部分。
  • 隧道模式:AH 认证整个 IP 数据包,包括包头和载荷。

9. PGP流程

(a)PGP 流程(指明使用的算法)。

(b)PGP 接收者拥有的自己的和其他人的密钥很多,怎么确定 bob 使用哪个密钥对签名哪个密钥对加密。

(c)Alice 该怎么保管自己的私钥防止泄露。

(a) PGP 流程

  1. 使用对称密钥(如 AES)加密消息。
  2. 用接收方的公钥加密对称密钥。
  3. 接收方用其私钥解密对称密钥,然后用该密钥解密消息。

(b) 确定 Bob 使用哪个密钥对签名哪个密钥对加密: PGP 使用公钥证书和密钥标识符KeyID来确定 Bob 的密钥。消息中包含公钥标识符,Bob 可以使用对应的私钥进行解密或签名验证。

(c) Alice 保管私钥防止泄露:Alice 应该将私钥存储在安全的地方(如硬件安全模块或加密的密钥库)并设置强密码/强口令。

10. TLS/SSL

(a)密钥派生及作用。

(b)什么是会话重用,作用?会话重用用在什么协议

(a) 密钥派生:从一个主密钥生成多个会话密钥或其他加密材料。用于提高安全性,防止长期密钥泄露导致所有加密内容被破解。

(b) 会话重用:在安全通信中,客户端和服务器可以在多个会话之间重用以前协商的会话密钥,避免重新进行完整的密钥协商过程,提升性能。会话重用通常用于 TLS 协议中。

11. VPN的类型举例

远程访问 VPN:允许远程用户通过公共网络访问企业内部网络资源。

站点到站点 VPN:连接不同地理位置的分支机构,使它们通过 VPN 实现安全通信。

MPLS VPN:多协议标签交换 VPN,提供基于服务提供商的虚拟网络。

SSL VPN:使用 SSL/TLS 协议建立加密通道,常用于通过浏览器访问网络资源。

(IPSec、TLS)

2022年

选择题

  1. WEP缺点包括哪些,其中不包括哪个?( C )

​ A. 所有设备都用一个密钥 B. 40bit密钥 C. 使用流密码加密 D. 用CRC校验

使用RC4流密码是特征,不是缺点

  1. 公钥和私钥的关系 ( A )

​ A.私钥也能作为加密密钥 B.公钥不需要也不可能保密

3.AAA不包括什么 ( D )

​ A.授权 B.认证 C.计费 D.审计

  1. 双重数字签名可以表示为:( A )

​ A. E(PRa,(H(H(OI)||H(PI))))

  1. Feistel结构哪项说法是正确的:( D )

​ A.每次都有一半的分组明文没有进行任何操作 B.加解密过程完全一样 C.明文开始被分为分组的一半分别进行操作 D.轮函数中始终用初始密钥加密

Feistel结构在每一轮中使用的是不同的子密钥(通过密钥调度算法生成的子密钥),而不是始终使用相同的初始密钥。

  1. 以下哪个为邮件提供了完整性和保密性:( A )

​ A.S/MIME B. STMP C. pop3 D. SET

  1. CBC分组模式以下哪个说法错误:( A )

​ A.一组密文传输错误会导致后面所有密文无法正确解密 B.明文输入时产生错误则会影响后续所有分组 C.需要解密算法 D.CBC可用于加密大量密文数据传输/认证

CBC明文出错导致后面所有无法加密,但密文出错只会导致当前和后一个无法解密

填空题

  1. DES明文分组多少位(64),多少轮(16)。AES明文分组多少(128),密钥最短多少(128),最短密钥对应多少(10)轮,最长对于多少轮(14)。

  2. 信息安全三特性是什么,什么攻击对应破坏了哪个特性

保密性(Confidentiality):防止未经授权的访问。

  • 破坏:窃听攻击。

完整性(Integrity):确保数据在传输或存储过程中没有被篡改。

  • 破坏:篡改攻击。

可用性(Availability):确保合法用户能访问所需资源。

  • 破坏:拒绝服务(DoS)攻击。
  1. CFB分组模式下,32bit向量分组,密文传输错误后发现对应解密出的明文第10组到第20组全部出错,问原来密文分组中最少有几组出错,第一组出错是在哪组,最后一组出错是在哪组?

密文传输错误影响的明文是基于反馈机制的。在32位的CFB模式下,第10组到第20组解密出的明文全部出错,表明错误影响了多个分组。

最少有几组密文出错:由于CFB的错误传播模式是逐组影响,传输错误影响的明文组数多于密文出错组数,所以最少只需要1组密文出错即可。

第一组出错:第10组明文出错,意味着第9组密文已经受到了错误影响。因此,第一组出错的密文应为第9组

最后一组出错:明文的第20组受影响,最可能对应的密文组为第20组

  1. DH交换计算(正常顺序的计算,没有已知结果反向求什么东西)

  2. RSA密文和明文的计算。常规,但计算量大。底数指数模数都是两位数的

  3. IPSec三元组是:

SPI、目标IP地址、安全协议

  1. IPsec 中(AH)提供数据源认证,(ESP)提供数据保密性。

  2. PGP加密签名压缩顺序,报文扩展了多少

顺序:先签名,然后压缩,再加密。

PGP报文通常因压缩和数据结构而略微扩展,但具体扩展量取决于消息内容、密钥大小等。

一般扩展64比特

  1. SSL基于传输层的(TCP)协议。

解答题

1. 密码学Hash函数

简述hash函数的三个性质(单向性,抗弱碰撞性,抗强碰撞性),用于签名的必须要满足哪些性质?

  • 单向性(Pre-image Resistance):给定哈希值 H(x),找到对应的原始输入 x 是计算上不可行的。这意味着从哈希值无法轻易推回原始数据。
  • 抗弱碰撞性(Second Pre-image Resistance):给定某个输入x,找到一个不同的输入 x′ 使得H(x) = H(x′)是计算上不可行的。
  • 抗强碰撞性(Collision Resistance):找到任意两个不同的输入x 和 x′ 使得H(x) = H(x′)是计算上不可行的。

用于签名的Hash函数必须满足:单向性、抗弱碰撞性、抗强碰撞性。因为签名要防止攻击者伪造信息或找到同样哈希值的伪造文件。

2. 线性同余发生器

线性同余生成器Xn = a * Xn-1 + b (mod M), 观测发现最大生成为39,现有序列5,31,23,

(1)求M

(2)求a,b (枚举和瞎猜均不给分)

M明显是39 + 1 = 40

再代入三个序列写出一次同余方程组解即可(注意有两个解)

解一次同余方程

image-20241025005347830

image-20241025005407823

解一次同余方程的基本步骤是:

  1. 检查是否有解。
  2. 约简方程。
  3. 找到乘法逆元(如果存在)。
  4. 计算解或通解。

通过扩展欧几里得算法,可以快速找到逆元并求出解。

3. Rabin体制

题目先给出了材料,Rabin的定义和计算方法,m*m=C mod N,C=16,N=pq=77已知,求解m所有可能的解,

是否可以抵挡选择密文攻击,给出理由。

Rabin 加密定义:m^2 = C mod N,其中 C=16, N = pq = 77。

解密时,找到所有 m 使得 m^2 ≡ 16 mod 77。

计算:m^2 = 16 mod 77,使用分解 N = 7 × 11 来求解。

选择密文攻击防御:Rabin加密无法抵挡选择密文攻击,因为选择密文攻击能够利用平方根性质进行解密。

知识点:不经意传输(Oblivious Transfer)

情景1:◦ Alice有一个秘密,想用100元的价格卖给Bob。而Bob只有50元,秘密又不可分割。两人 协商的结果是:Bob付50元,以50%的几率得到消息;Alice对Bob是否得到消息不知情。

• Rabin的抽象描述:

​ ◦ Alice以0.5的概率给Bob传递了秘密

​ ◦ Bob以0.5的概率得到Alice的秘密,以0.5的概率什么也得不到

​ ◦ Alice对Bob是否获得秘密一无所知

• 协议(秘密是p和q):

image-20241016234546064

4. RSA盲签名

RSA盲签名,e=9,n=55,Alice拿M1文件给Bob让Bob签名,第二天Bob发现M2文件上被签上了名,其中M2=6,A选择的盲化因子为2.

(1)描述Alice骗取签名的流程

(2)计算M1

Alice骗取签名的流程

  1. Alice 选择一个盲化因子 r = 2。
  2. Alice 计算 M′ = M ⋅ r^e mod  n,并将 M′ 发送给 Bob 进行签名。
  3. Bob 返回 S′=(M′)^d mod n。
  4. Alice 解除盲化:S = S′⋅r^(−1) mod  n,得到 Bob 对 M 的签名。

计算M1: 通过已知的 M2 = 6 和盲化因子 r = 2,可以根据 RSA 公式反向计算 M1。

知识点:盲签名

盲签名方案是发送者A和签名者B之间的协议

◦ 基本思想:

​ • A发送给B一段消息,B对它签名并送回给A

​ • 由这个签名,A能够计算B关于A预先所选消息m的签名

​ • 但B既不知道消息m,也不知道消息m的签名

◦ 目的: 防止B看到消息和签名

image-20241016234121333

5. 安全云盘系统设计

一个公司将文件上传到云盘中,设计一个系统满足:上传的人不知道谁将被授权,任何人都可以下载云盘中文件,但只有被授权的人才能解密被授权的文件;文件制作者制作并上传文件;授权部门负责授予权利,但不制作密钥;公司内任何信道都是公开的。

需求:上传者不知道谁会被授权,任何人可以下载,但只有授权者可以解密。

系统设计思路

  1. 文件制作者使用对称加密算法加密文件,生成密文和对称密钥。
  2. 对称密钥使用公钥加密,授权者使用私钥解密密钥后可以解密文件。
  3. 授权部门生成授权信息,控制哪些人有权限下载或解密文件。
  4. 通过公钥基础设施(PKI)管理密钥的分发和使用。

6. 证书撤销和证书过期的区别,以及给出证书撤销的几个原因

证书过期:证书到达设定的有效期,不再被信任。

证书撤销:证书在到期前失效,可能是因为私钥泄露、主体不再可信或证书被误发。

撤销原因

  • 私钥泄露或被盗。
  • 主体不再需要证书。
  • 证书的使用违反了政策或协议。

7. 填充的应用场景及作用

场景:在对称加密中,明文块长度不足加密算法的分组长度时需要填充,如 AES、DES 分组加密。

作用:确保明文块满足分组加密的长度要求,防止数据长度泄露。

  • 对齐数据长度
  • 防止数据泄露
  • 消息完整性校验
  • 隐藏真实数据长度
  • 增强安全性

8. 数字签名设计

利用数字签名,设计一个”一个用户向另一个用户证明自己的身份”的流程。

  1. 用户 A 生成消息并对其计算哈希值。
  2. 用户 A 用自己的私钥对哈希值进行签名,生成数字签名。
  3. 用户 A 将消息和签名发送给用户 B。
  4. 用户 B 使用用户 A 的公钥验证签名,确认消息是由用户 A 发出的,且未被篡改。

9. FTP与防火墙

ftp的主动模式为什么面对状态检测型防火墙往往不能成功进行数据连接?

在 FTP 主动模式下,服务器主动连接客户端的随机端口。

状态检测型防火墙通常阻止服务器主动发起的连接,导致数据连接无法建立,因为防火墙只允许客户端发起的连接。

10. TLS/SSL会话重用

什么是会话重用?为什么会使用会话重用?

定义:在 SSL/TLS 协议中,客户端和服务器可以重用之前的会话状态,避免每次都重新进行完整的握手过程。

原因:会话重用减少了握手的时间和计算成本,特别是在高频次连接的场景下,有助于提高性能。

11. 密钥派生

密钥派生的作用,密钥派生的流程。

作用:从一个主密钥(如会话密钥或根密钥)生成多个子密钥,确保每次通信使用不同的密钥,增强安全性。

流程

  1. 主密钥结合上下文信息(如会话 ID、非对称加密参数等)生成密钥材料。
  2. 通过密钥派生函数(如 HMAC 或 KDF)生成多个子密钥,用于不同的加密和认证操作。

2023年

选择题

  1. 不属于数据流的主动攻击的是
  • 主动攻击通常是指篡改或伪造数据的攻击。常见的主动攻击包括中间人攻击、重放攻击、伪造数据包等。不属于主动攻击的则是被动攻击,如窃听、流量分析等。
  1. Feistel密码结构描述正确的是
  • Feistel结构是一种对称加密结构,其中的加密和解密过程非常相似,主要是对明文分组(如左右两半部分),然后进行若干轮的处理,每一轮通过一个复杂的函数(Feistel函数)对其中一半进行处理并与另一半进行交换,最后合并得到密文。解密时,只需要按反顺序进行同样的操作。典型的例子是DES算法。
  1. Alice 获取证书包括RSA的公钥和私钥,并把公钥公开,然后谁可以计算模数?
  • 如果Alice将她的RSA公钥公开,公钥通常包括模数(n)和公钥指数(e)。模数是公开的,任何人都可以通过查看公钥获得模数。公钥是供所有人使用的,任何需要加密或验证Alice的签名的人都可以访问模数。
  1. 会话密钥的使用正确的是(什么时候更新)
  • 会话密钥是一种临时的对称密钥,用于保护单次会话中的数据传输。会话密钥应该定期更新,特别是在长时间的通信过程中,或者当会话结束时。通常,新的会话开始或出现特定的事件(如用户身份验证、加密协议的重新协商)时会更新会话密钥。
  1. D-H协议的解释,下来说法正确的是
  • Diffie-Hellman (D-H) 密钥交换协议允许两方在不安全的网络上安全地生成共享的会话密钥。双方分别生成各自的私钥和公钥,然后通过交换公钥并进行计算生成共享的密钥。正确的说法包括:
    • D-H 协议本身不提供身份认证,因此容易受到中间人攻击,除非结合其他机制(如数字签名)使用。
    • D-H 依赖于离散对数问题的困难性来保证安全性。
  1. WEP 说法正确的
  • WEP(Wired Equivalent Privacy)是一种早期的无线网络安全协议,设计目的是提供与有线网络类似的安全性。然而,WEP存在许多已知的漏洞,容易受到攻击,特别是密钥调度算法存在问题。常见的正确说法是:
    • WEP 使用的密钥相对较短(通常为40位或104位)。
    • WEP 使用RC4流密码进行加密。
    • WEP 的密钥管理不够安全,导致容易受到密钥重放攻击。
  1. WLAN 安全接入协议
  • WLAN的安全接入协议包括WEP、WPA(Wi-Fi Protected Access)、WPA2和WPA3等:
    • WPA/WPA2使用TKIP和AES加密。
    • WPA2是目前广泛使用的协议,它提供了更强的加密(AES)和更好的密钥管理机制。
    • WPA3是最新的安全标准,引入了SAE(Simultaneous Authentication of Equals)协议,进一步增强了安全性。

填空题

  1. 伪随机序列生成器有n个元件,则生成多长的序列,若其中只能异或,能出现多长序列。
  • 伪随机序列生成器通常根据其内部状态的不同组合生成序列。
  • 对任意伪随机序列生成器,最多生成2^n长度的序列;
  • 对只能使用异或的线性反馈移位寄存器(LFSR)来说,如果采用最大周期的反馈函数,能够生成的伪随机序列的最大长度是2^n − 1,即n位的所有可能状态(除全零状态)。
  1. 经过一定的置乱之后也可能出现明文,分组密码分组长度为3,结果几次置乱出现明文?分组密码分组长度为6,经过几次置乱出现明文?分组密码分组长度为7,几次置乱出现明文?
置乱次数的周期性

若分组长度为 n,则置乱周期为 n 的最小正整数 k,满足在 k 次置乱操作后,分组顺序恢复到最初的状态。这个 k 的值通常与分组长度 n 的因数结构相关。

解答:
  1. 分组长度为 3 时
  • 对于分组长度 n=3,一个可能的置乱顺序是将每个块的位置进行交换。
  • 通过实验或排列理论,可以验证分组长度为 3 的置乱周期为 2
  • 因此,分组长度为 3 的分组密码经过 log6 ~ 3 次置乱后会再次出现明文
  1. 分组长度为 6 时
  • 对于分组长度 n=6,可以将每个块的位置进行交换。
  • 分组长度为 6 的置乱周期为 6
  • 因此,分组长度为 6 的分组密码经过 9 次置乱后会再次出现明文
  1. 分组长度为 7 时
  • 对于分组长度 n=7,因其是质数,每个位置必须经历完整的循环才能恢复。
  • 分组长度为 7 的置乱周期为 7
  • 因此,分组长度为 7 的分组密码经过 13 次置乱后会再次出现明文
  1. 2^2022 mod 11

由欧拉定理:a ^ fi(p) = 1 mod p

且11为素数,故有fi(11) = 11 - 1 = 10

=> 2^2022 mod 11 = 4

  1. 模3系2,模7系3,模11系3最小正整数。

    • 这个问题涉及中国剩余定理。给定模数条件如下:

      • x ≡ 2 mod 3

      • x ≡ 3 mod 7

      • x ≡ 3 mod 11

      • 需要找到最小的正整数 x 满足这些条件。通过中国剩余定理,可以通过构建模数方程组并解出最小解。

  2. 通常意义上的AAA,分别指哪几种安全服务?

    • AAA 是指三种安全服务:
      • Authentication(认证):验证用户或实体的身份。
      • Authorization(授权):确定已认证用户能够访问的资源和权限。
      • Accounting(计费):跟踪用户的活动和资源使用情况,通常用于审计和计费。
  3. 每个 SA 由一个三元组唯一地进行标识,该三元组为

    • 在IPSec中,安全关联(SA)是由三元组来唯一标识的:
      • 安全协议(Security Protocol):比如ESP或AH。
      • 目的IP地址(Destination IP Address)
      • 安全参数索引(SPI, Security Parameters Index):用于区分不同的安全会话(ESP/AH)。
  4. SSL 中会话重用回复的消息中有用户发送的消息有同样的()

    • SSL/TLS协议中,会话重用通过发送一个Session ID来识别并重用先前会话。在重用会话时,用户不需要重新进行完整的握手过程,从而节省资源和时间。
  5. SSL 在传输层()协议之上

    • SSL/TLS 位于传输层协议(TCP)之上,用于在网络通信中提供加密和安全性。
  6. CA 中心的实体名称 认证实体的是,签发证书的是

    • CA(Certificate Authority,证书颁发机构)是负责颁发、撤销和管理数字证书的实体。
      • 认证实体:通常是指想要获得数字证书的实体(如个人、服务器)。
      • 签发证书的是:证书颁发机构(CA)是负责签发证书的。
  7. IPSEC 会话重用

  • 在IPSec中,安全关联(SA)用于建立和维护安全会话,通常不涉及会话重用。IPSec的每个会话根据不同的安全关联进行处理,并通过SPI等参数进行区分。
  1. Email 安全协议

Email 安全协议用于保护电子邮件在传输和存储过程中的机密性、完整性和真实性。常见的 Email 安全协议有:

  • **SMTP over SSL/TLS (SMTPS)**:对邮件传输协议 (SMTP) 的数据流进行加密,以保护邮件的传输。SMTPS 使用 SSL 或 TLS 协议来加密数据,从而防止第三方拦截或窃听内容。
  • **POP3 over SSL/TLS (POP3S) 和 IMAP over SSL/TLS (IMAPS)**:这些协议用于邮件客户端接收邮件时的数据加密。通过 SSL 或 TLS 加密 POP3 和 IMAP 的数据流,确保邮件在接收时的安全性。
  • PGP(Pretty Good Privacy)和 S/MIME(Secure/Multipurpose Internet Mail Extensions):用于邮件内容的端到端加密和签名,确保邮件的机密性和不可否认性。PGP 和 S/MIME 都可以对邮件进行加密和签名,但它们使用的证书格式和密钥管理机制不同。
  1. DNAT 的解释

DNAT(Destination Network Address Translation,目标网络地址转换)是 NAT 的一种形式,主要用于将外部请求映射到内部网络上的特定 IP 地址或端口。DNAT 常用于端口转发负载均衡,以便外部设备能够访问内部网络的服务器或服务。

  • 工作原理:在数据包到达防火墙或路由器时,DNAT 会将目标 IP 地址和端口更改为内部网络的相应地址,从而将请求转发到特定服务器。例如,访问某一公网 IP 的请求可以被 DNAT 转换为内部服务器的私有 IP 地址。
  • 应用场景:DNAT 常用于将多个外部请求转发到内网服务器上,尤其是在私有网络中托管 Web 服务器、FTP 服务器等对外公开的服务时。
  1. Hash 函数的抗强碰撞性

抗强碰撞性是 hash 函数的一个重要安全属性,表示在已知某一 hash 函数的情况下,难以找到两个不同的输入 x 和 y,使得它们的 hash 值相同,即 H(x)=H(y)。这意味着:

  • 强碰撞性要求:攻击者在已知 hash 函数的情况下,不能有效找到两组不同的输入得到相同的输出值。
  • 安全性作用:强碰撞性保证了 hash 函数的完整性,可以防止恶意篡改数据,例如数字签名和文件完整性校验中需要此特性来避免伪造。

解答题

1. DES 加密方法的抗选择明文攻击性能和代价

题目描述了一种加密方法为:

image-20241026000648592

其中 r 是随机数,M 是明文,k1 和 k2 是两个不同的密钥。我们需要评估这种加密方法对选择明文攻击的抗性和其代价。

性能评价:

  • 抗选择明文攻击能力: 这种双重加密方法通过使用两个密钥 k1 和 k2 增强了安全性。随机数 r 的引入增加了攻击者进行明文选择的难度,使得攻击者难以预知加密输出,尤其是通过修改明文来推测密钥的可能性显著降低。这种机制也类似于随机填充的策略,阻止了对相同明文多次加密得到相同密文的情况。因此,这种方法在理论上增强了对选择明文攻击的防护能力。
  • 代价:代价主要体现在计算复杂度和密钥管理上:
  1. 计算复杂度:由于每个加密过程需要进行两次 DES 加密,整体计算代价翻倍(相比于普通的单轮 DES)。因此,效率较低。
  2. 密钥管理:使用了两个密钥 k1 和 k2,增加了密钥管理的复杂性。

总结:

该方案增强了对选择明文攻击的抵抗能力,但增加了计算开销和密钥管理的复杂性。


2. Hash 函数的抗单向性攻击、抗弱碰撞和抗强碰撞能力

题目给出了一种用公钥加密的 hash 函数结构,类似于基于分组加密的 hash 函数设计。这个结构可能类似于Merkle-Damgård 结构,使用了块 M1,M2,…并通过多个加密运算(包括公钥加密)来产生最终的 hash 值。

抗单向性攻击能力:

  • 单向性是 hash 函数的基本性质,要求攻击者在给定 hash 值的情况下,难以反推出相应的输入消息
  • 由于这种设计中使用了公钥加密 E_k,公钥加密算法通常具有单向性和抗逆性特征,因此该设计有望具有良好的单向性保护。

抗弱碰撞能力:

  • 弱碰撞抗性要求在给定一个消息 M 的情况下,难以找到另一个消息 M′,使得 Hash(M) = Hash(M′)
  • 由于这个 hash 函数依赖于多个加密步骤(类似于分组加密),每个加密步骤都对输入块进行变换,因此要找到不同的输入 M′导致相同的输出 hash 是较为困难的。不过,具体的抗性依赖于加密算法本身的强度。

抗强碰撞能力:

  • 强碰撞抗性要求难以找到任意两条不同的消息 M 和 M′,使得它们的 hash 值相同。
  • 在这种基于加密的 hash 函数中,如果每个加密步骤和块处理是不可逆且具有高随机性,那么抵抗强碰撞的能力会较强。不过,强碰撞抗性依赖于加密算法的内部安全性,特别是如果加密算法容易受到碰撞攻击,这种 hash 函数的强碰撞抗性会受到影响。

3. RSA 方案评价(消息加随机数后加密)

RSA把消息按字节分组,然后为了避免使明文中出现0或1,给明文加上一个随机数x=mi+r,然后加密传输。从密码学的角度评价一下这种方案。

在描述的 RSA 加密方案中,把消息按字节分组,消息 m_i 被加上一个随机数 r,形成新消息 x = m_i + r 进行加密传输。这种设计是为了防止明文中包含 0 或 1,并增加随机性。

从密码学角度来看:

  • 优点
  • 增强随机性:加入随机数 r 能增加消息的随机性,减小因相同明文导致相同密文的可能性,防止简单的重放攻击和已知明文攻击。
  • 缺点
  • 安全性风险:简单的加法对消息进行扰动并不足以提供额外的安全性。攻击者仍可能使用数学分析或模式识别来推断出明文。此外,随机数的选择和分发也可能成为一个安全漏洞。
  • 增加开销:需要处理随机数的生成、分发和存储,也增加了加密前处理的复杂度。

改进建议:可以考虑使用更安全的填充方案(如 PKCS#1)来代替随机数扰动,确保消息随机化并能正确解密。

知识点:RSA按字节分组的安全性

RSA按字节分组的缺点:

无随机性

  • 如果直接按字节分组,RSA 的加密是确定性加密,即相同的明文总是会生成相同的密文,缺乏随机性。攻击者可以利用这一点进行已知明文攻击重放攻击

小明文攻击

  • 按字节分组会生成非常小的明文块,攻击者可以通过分析密文之间的关系,推断出明文。例如,如果加密的明文只是一些简单的 ASCII 字符,攻击者很容易进行字典攻击或频率分析。

明文模式泄露

  • 如果每次加密的分组大小很小(如 1 字节或几个字节),某些固定模式或结构可能在密文中反映出来。例如,当加密多个相同的分组时,密文可能会重复,暴露了明文的模式。

效率低下

  • RSA 加密是基于复杂的数学运算(大数的模幂运算),其处理速度较慢。直接对每个字节或小块明文进行 RSA 加密会导致性能低下,而这种做法完全不利用对称加密的高效性。

4. DH 密钥交换计算

Diffie-Hellman (DH) 密钥交换算法允许双方在不直接交换密钥的情况下,协商出一个共享的秘密密钥。假设 Alice 和 Bob 想通过 DH 协商一个共享密钥,他们会进行如下计算:

  • 公共信息
  • 选择一个大素数 p 和生成元 g,这些信息是公开的。
  • 双方的计算
  • Alice 选择一个私有密钥 a,计算 A = g^a mod p,并将 A 发送给 Bob。
  • Bob 选择一个私有密钥 b,计算 B = g^b mod p,并将 B 发送给 Alice。
  • 生成共享密钥
  • Alice 计算 K = B^a mod p。
  • Bob 计算 K = A^b mod p。
  • 最终,Alice 和 Bob 都计算出相同的共享密钥 K。

5. 数字信封的形成及作用

数字信封如何形成,有什么作用?

数字信封是一种结合对称加密和非对称加密的技术,用于安全传输数据。它的作用是通过加密来保护机密信息的传输,同时也能确保加密密钥的安全性。

  • 形成过程
  1. 发送者选择一个对称密钥(如 AES 密钥)来加密消息,并用该密钥对消息进行加密。
  2. 使用接收者的公钥对该对称密钥进行加密。
  3. 发送加密的消息和加密的对称密钥给接收者。
  • 接收者解密过程
  1. 使用自己的私钥解密对称密钥。
  2. 使用解密后的对称密钥来解密消息。

作用:数字信封的优势在于结合了对称加密和非对称加密的优点,实现了高效的消息加密和安全的密钥传输。

6. 密钥派生的作用与方法

密钥派生在数据安全传输的作用,怎么进行秘钥派生?

密钥派生用于从主密钥或初始密钥派生出多个密钥,以满足不同的加密需求。密钥派生的重要性在于减少密钥的重复使用,确保不同数据传输的安全性。

  • 作用
  • 防止重放攻击
  • 为不同的数据流或会话生成唯一密钥,保证安全。
  • 常见的派生方法
  • **KDF (Key Derivation Function)**:常用的 KDF 是基于 hash 函数或 HMAC(如 PBKDF2、HKDF)。KDF 通过输入主密钥和其他参数(如盐值、标签等)生成子密钥。
  • 对称密钥扩展:从一个随机生成的密钥通过数学方式生成多个用于加密的密钥。

7. 身份认证:公钥密码和私钥签名的认证方案

使用公钥密码和非私钥签名的认证方案,使得A向B证明自己的身份。

使用公钥密码和数字签名的身份认证方案可用于让A 向 B 证明自己的身份

  1. A 向 B 发送公钥证书:A 向 B 发送由可信 CA 签名的公钥证书,证书中包含 A 的公钥 K_A。
  2. B 验证证书:B 使用 CA 的公钥验证 A 的公钥证书,确认证书的合法性。
  3. A 使用私钥签名消息:A 使用自己的私钥 SK_A 对一条消息或挑战值 M 进行签名 S = Sign(SK_A, M)。
  4. B 验证签名:B 使用 A 的公钥 K_A 来验证签名 S,确认该签名来自 A,进而确认 A 的身份。

8. 隧道模式下的 IPSEC ESP 隧道入口流程

在隧道模式下的 IPSEC ESP(Encapsulating Security Payload)用于加密和认证整个 IP 包的载荷。在隧道入口,ESP 流程如下:

  1. 输入数据:将原始 IP 包作为载荷。
  2. 加密数据:ESP 对原始 IP 包的载荷部分进行加密(通常使用对称加密,如 AES)。
  3. 附加头部:ESP 会在加密后的数据前附加新的 IP 头部(用于隧道传输)。
  4. 生成认证标签:对加密后的数据进行完整性检查,生成认证标签并附加到 ESP 包中。
  5. 封装:最终的 ESP 包将被封装并传送给接收者。

9. PGP 在发送端的操作及私钥保护

PGP在发送端的操作,如何保护本地的私钥,如何确定对方发送的消息使用的是哪个密钥对?

在 PGP(Pretty Good Privacy)中:

  • 发送端操作
  1. 发送端使用对称加密加密消息,并生成一个对称密钥。
  2. 使用接收方的公钥对该对称密钥进行加密。
  3. 将加密的消息和加密的对称密钥发送给接收方。
  • 私钥保护:PGP 私钥通常通过口令短语保护,确保只有正确的口令才能解锁和使用私钥。此外,私钥也可以存储在硬件安全模块(HSM)中,防止泄露。
  • 确定使用的密钥对:PGP 使用接收方的公钥来加密会话密钥,发送方通过与接收方交换的公钥指纹来确定对方的密钥对。

10. 16 人会议的会话密钥协商方案

设计一个方案,16人的会议,如何协商会话秘钥,以及有人加入和退出时的操作。

在 16 人的会议中,协商会话密钥可以采用分层的 Diffie-Hellman 协议或通过中央服务器的方式。以下是一个简单方案:

  • 初始协商
  1. 每个人生成一个临时公私钥对,互相广播自己的公钥。
  2. 每两个人执行 DH 密钥交换,生成共享密钥。
  3. 将这些共享密钥通过中央节点整合,生成一个全局的会话密钥。
  • 新成员加入
  1. 新加入的成员广播自己的公钥。
  2. 其他成员与新成员执行 DH 密钥交换,更新会话密钥。
  • 成员退出
  1. 现有成员重新进行 DH 密钥交换,排除退出者的公钥。
  2. 生成新的会话密钥,保证安全性。

这种方案可以通过多轮 DH 计算或利用专门的协议(如 Group Key Management)实现。

留言