信息安全工程师 · 高频练习

AES-CBC 使用固定 IV 会带来什么安全问题?

中级 单选题 第 827 题 中等 信息安全工程师AES-CBC初始化向量固定IV分组密码模式
题目

某系统使用同一把 AES 密钥以 CBC 模式加密多条结构相近的业务报文,但为了便于实现,每次都使用相同的初始化向量 IV。攻击者即使不知道密钥,也可能观察到()。

A 相同的首个明文分组会产生相同的首个密文分组
B 仅凭任意一段密文就能直接还原 AES 密钥
C CBC 模式自动失去全部完整性校验能力并拒绝解密
D 密文长度一定缩短为原明文的一半
题目类型:原创高频练习题 用途:用于帮助理解信息安全工程师相关考点和答案解析,不等同于官方真题。
正确答案
A
答案解析

CBC 的首个密文分组可写成 C1=E(K, P1⊕IV)。同一密钥下重复使用固定 IV 时,只要两条报文的首个明文分组相同,送入分组密码的输入也相同,因此首个密文分组会相同,报文模式和重复关系可能泄露。固定 IV 不等于立即泄露密钥,但会破坏 CBC 加密所需的随机化效果。

选项分析

A

正确。同一密钥、同一 IV、相同首个明文分组会得到相同首个密文分组,从而泄露重复模式。

B

错误。重复 IV 是严重的使用方式错误,但不能据此断言攻击者可直接恢复 AES 密钥。

C

错误。传统 CBC 加密本身不提供完整性保护,但固定 IV 不会让算法自动拒绝解密;完整性通常还需认证机制保障。

D

错误。密文长度由分组大小、填充和封装格式等决定,不会因固定 IV 缩短一半。

本题为什么容易错

容易错在把“泄露明文模式”夸大成“密钥立刻泄露”。安全题常考影响边界:配置错误可能削弱机密性,但不能把后果无限放大。

先看结论

简短答案

AES-CBC 使用固定 IV 会带来什么安全问题,正确答案是 A(相同的首个明文分组会产生相同的首个密文分组)。CBC 的首个密文分组可写成 C1=E(K, P1⊕IV)。同一密钥下重复使用固定 IV 时,只要两条报文的首个明文分组相同,送入分组密码的输入也相同,因此首个密文分组会相同,报文模式和重复关系可能泄露。固定 IV 不等于立即泄露密钥,但会破坏 CBC 加密所需的随机化效果。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
相同的首个明文分组会产生相同的首个密文分组 本题正确答案 正确。同一密钥、同一 IV、相同首个明文分组会得到相同首个密文分组,从而泄露重复模式。 看到题干核心场景时优先联想到它
仅凭任意一段密文就能直接还原 AES 密钥 本题干扰项 错误。重复 IV 是严重的使用方式错误,但不能据此断言攻击者可直接恢复 AES 密钥。 看到该词不要急着选,先判断是否真正解决题干问题
CBC 模式自动失去全部完整性校验能力并拒绝解密 本题干扰项 错误。传统 CBC 加密本身不提供完整性保护,但固定 IV 不会让算法自动拒绝解密;完整性通常还需认证机制保障。 看到该词不要急着选,先判断是否真正解决题干问题
密文长度一定缩短为原明文的一半 本题干扰项 错误。密文长度由分组大小、填充和封装格式等决定,不会因固定 IV 缩短一半。 看到该词不要急着选,先判断是否真正解决题干问题
本题易混淆选项怎么区分
  • 仅凭任意一段密文就能直接还原 AES 密钥:错误。重复 IV 是严重的使用方式错误,但不能据此断言攻击者可直接恢复 AES 密钥。
  • CBC 模式自动失去全部完整性校验能力并拒绝解密:错误。传统 CBC 加密本身不提供完整性保护,但固定 IV 不会让算法自动拒绝解密;完整性通常还需认证机制保障。
  • 密文长度一定缩短为原明文的一半:错误。密文长度由分组大小、填充和封装格式等决定,不会因固定 IV 缩短一半。
复习

知识点详解

CBC 加密第一个分组时,会先将首个明文分组与 IV 异或,再进行分组加密。IV 的作用之一是让相同明文在不同加密操作中产生不同密文。IV 通常可以随密文公开传输,但必须按所用协议和密码库的要求生成;对 CBC 而言,重复或可预测的 IV 都可能带来风险。另一方面,CBC 只解决加密变换问题,并不天然提供消息完整性。现代系统通常优先选用 AES-GCM 等认证加密模式,同时严格遵守 nonce 不重复等使用约束。

备考速记

IV 可以公开,但不能随便固定;同钥同 IV,相同开头会留下相同痕迹。

AES-CBC 在分组密码模式场景中的作用

AES-CBC在本题中的核心价值,是解决“某系统使用同一把 AES 密钥以 CBC 模式加密多条结构相近的业务报文,但为了便于实现,每次都使用相同的初始化向量 IV。攻击者即使不知道密钥,也可能观察到()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。

拓展

同类题怎么考

  • 判断 CBC 固定 IV 会泄露哪类信息。
  • 区分 IV、nonce、盐值和密钥各自解决的问题。
  • 在机密性、完整性、认证性几种安全属性中判断某项措施的作用。
AES-CBC 在信息安全工程师软考中的考法

软考选择题通常不会只考概念定义,还会把AES-CBC放到分组密码模式场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。

解题思路

判断这类题,别先盯着“AES 是否被破解”,先看加密模式怎样处理第一个分组。CBC 在首块明文前异或 IV;IV 固定以后,相同开头就会留下相同密文开头。攻击者未必看得懂内容,却能看出两条报文可能采用了相同模板。

考点定位

CBC 模式下的 IV 不要求保密,但同一密钥加密多条消息时应避免重复,并按方案要求生成不可预测的 IV。

易错提醒

  • 把 IV 当成必须长期保密的第二把密钥。
  • 认为只要算法名称是 AES,IV 如何生成都不影响安全性。
  • 把加密与完整性认证混为一谈,误以为 CBC 会自动发现密文被篡改。

备考提示

  • 复习分组密码模式时,分别记住 ECB、CBC、CTR/GCM 对随机数或 nonce 的要求。
  • 工程中优先使用经过审查的认证加密方案和库,不要自行拼接加密、填充与完整性校验流程。

你可能还想了解

  • AES-CBC 的 IV 为什么不能固定使用?
  • 初始化向量 IV 需要保密吗?
  • IV、nonce 和密码盐值有什么区别?
  • CBC 模式为什么还需要完整性保护?

本文小结

CBC 用 IV 随机化首个明文分组。同一密钥反复使用固定 IV 时,相同的明文开头会产生相同的密文开头,攻击者因此能观察到重复模式。IV 不必作为秘密保存,但生成与唯一性要求不能省略。