Skip to content

Latest commit

 

History

History
72 lines (44 loc) · 5.16 KB

File metadata and controls

72 lines (44 loc) · 5.16 KB

R19 假定 Bob 从 Alice 处接收到一个 PGP 报文。Bob 怎样才能确定 Alice (而不是 Trudy) 生成了该报文?PGP 为了保证报文完整性使用了 MAC 吗?

  • PGP 使用了数字签名,而不是 MAC

  • A 给 B 发 PGP 的加密流程如下:

    • A 使用 Ks 加密报文 m,得到 Ks(m),A 使用 B 的公钥 Kb+ 加密该对称密钥 Ks,得到 Kb+(Ks),组合两者形成一个包 P1,P1 包内容是 [Ks(m) + Kb+(Ks)]

    • 上述步骤提供了机密性,接下来提供完整性和发送者鉴别性。使用摘要算法 SHA 或者 MD5 计算出 P1 的摘要信息 MAC(P1),使用 A 的私钥加密该摘要信息得到 数字签名 Ka-(MAC(P1)),然后组合形成一个包 P2,P2 包的内容是 (P1 + Ka-(MAC(P1)))

  • B 收到 A 发送的 PGP 的解密流程如下:

    • 用 Ka+ 解密 Ka-(MAC(P1)) 得到 MAC(P1),用摘要算法计算 MAC(P1)',比较 MAC(P1) == MAC(P1)',若相等,则报文完整性得到鉴别,并且能够证明此报文确实来自 A。

    • 用 Kb- 解密 Kb+(Ks) 得到 Ks,然后用 Ks 解密 Ks(m) 得到 m。

R20 在 SSL 记录中,有一个字段用于 SSL 序号,这种说法是正确还是错误?

  • SSL 的流程如下:
    • 握手
      • TCP 三次握手
      • C 向 S 发送支持的加密算法列表,以及一个不重数
      • S 向 C 发送确认的加密算法,一个不重数,以及自己的证书
      • C 生成一个随机数 Pre-Master Secret,然后从 S 的证书中提取出 S 的公钥,使用该公钥加密随机数,然后发送给 S。
      • S 收到该随机数,然后告知 C,接着 S 和 C 使用相同的密钥导出函数生成四个密钥。Ec, Mc, Es, Ms。
      • C 向 S 发送发送和接收的所有报文的 MAC
      • S 收到该 MAC,然后与自己的记录校验,如果没有发现篡改,则 ACK 给 C
      • S 也向 C 发送发送和接收到的所有报文的 MAC
      • C 收到该 MAC,然后与自己的记录校验
    • 加密数据通信
      • | 类型 | 版本 | 长度 | 数据 | MAC | <== SSL 记录项
      • 发送端维护一个 SSL 的发送序号,对于每一个 TCP 报文段,使用【序号】+【数据】+【Mc】计算出一个 MAC,添加在数据字段的尾部,然后用 Ec 加密 【数据 + MAC】,然后添加类型,版本,长度构成一个 SSL 记录项。
      • 接收端维护一个 SSL 的接收序号,对于每一个 SSL 记录项,使用 Ec 解密得到【数据项 + MAC】,使用【序号】+【数据】+【Mc】计算出 MAC',以此来验证数据没有遭到篡改。
* 从上面的流程可以看出,SSL 的记录项中,没有字段用于 SSL 序号,SSL 序号是用来防止中间人重排序攻击的,它用来加入 MAC 的计算中。

R21 在 SSL 握手中不重数的目的是什么?

  • 防止重放攻击。用过的不重数在一定期间内不会再被使用。

⚠️ R22 假设某 SSL 会话应用了具有 CBC 的块密码。服务器以明文向客户发送了 IV。这种说法是正确还是错误?

  • 服务器不会以明文向客户端发送 IV,客户端在密钥导出阶段独立的使用 Pre-Master Secret 生成四个通信密钥和 IV (如果使用了 CBC 块密码的话)。

R23 假设 Bob 向 Trudy 发起了一条 TCP 连接,而 Trudy 正在伪装她是 Alice。在握手期间,Trudy 向 Bob 发送 Alice 的证书。在 SSL 握手算法的哪一步,Bob 将发现他没有与 Alice 通信?

  • Bob 给 Trudy 发送支持的加密算法列表,以及一个不重数
  • Trudy 给 Bob 确认加密算法,以及一个不重数,以及 Alice 的证书
  • Bob 提取了 Alice 的公钥,加密 PMS,然后发送给 Trudy,因为 Trudy 没有 Alice 的私钥,所以无法得到 PMS,然后他随机选了一个 PMS'。接着双方导出各自的 4 个密钥。
  • 在最后的所有发送和接收报文的 MAC 发送阶段,Bob 测试 MAC 失败,断开与 Trudy 的连接。(计算该 MAC 时使用了使用 PMS 生成的 4 个密钥)。

R24 考虑使用 IPsec 从主机 A 向主机 B 发送分组流。通常,为该流中的每个发送分组创建一个新 SA。这种说法是正确还是错误?

  • 错误,SA 首先在主机 A 和主机 B 之间建立,就像 TCP 一样,之后该条连接的每个分组都使用同一个 SA

R25 假设在图 8-28 中总部和分支机构之间通过 IPsec 运行 TCP。如果 TCP 重新传输相同的分组,则由 R1 发送的两个对应的分组将在 ESP 首部中具有相同的序号。这种说法是正确还是错误?

  • 错误,IPsec 将会增加每个它所发送 IP 数据报的序号字段。

R26 IKE SA 和 IPsec SA 是相同的东西。这种说法是正确的还是错误的?

  • 错误,一个 IKE SA 用于创建一个或多个 IPsec SA

R27 考虑 802.11 的 WEP。假定数据是 10101100 并且密钥流是 11110000。相应的密文是什么?

  • ci = di XOR ki = 10101100 XOR 11110000 = 01011100

R28 在 WEP 中,在每个帧中以明文发送 IV。这种说法是正确还是错误?

  • 正确