(OWASP汉化)攻击系列大全(二十三):密码分析

最新版本(mm/dd/yy): 05/27/2009

漏洞描述

密码分析是通过寻找密码算法中的弱点,在不知道密钥的情况下利用其弱点进行破译(实例推导)的过程。有时候,这种弱点不一定存在于密码算法本身,而是在于怎么利用它成功对密码进行分析。对攻击者来说,他也可能有其他目标,例如:

  • 完全破译-寻找密钥。
  • 整体推演-在不知道密钥的情况下,寻找一个在功能上与其等效的加密和解密算法。
  • 信息推理-获得一些之前不知道的明文或密文的信息。
  • 辨析算法-攻击者能够通过随机置换位来分析加密算法的输出(密文)。
    攻击者进行密码分析的目的取决于其在特定环境下的特定需求。大多数情况下,如果加密算法完全被成功分析,攻击者就能够推断出一些与明文相关的信息(目标3),再通过结合上下文的方式进行解读,对于攻击者而言,达到这种程度已经足矣。

风险因素

待定

攻击示例

一个非常容易理解(但不适合用于现代密码)的例子就是被称为频率分析的密码分析技术,它非常适用于基本经典加密算法——利用来自相同字母表的字母对明文中的每一个字母进行单字母替换的加密方式。还有一种对基础技术的改进就是:简单地将明文中的所有字符移动一定位置,并用新字母替换掉原始字母和字母位置。尽管单字母替换的加密方法对盲目的暴力破解具有抵抗性,但是它只需要用纸和笔就能轻易破解。因为自然语言并不是随机的,单字母的替换并不能隐藏它的统计特性,所以可以通过这一特性对其进行频率分析。因此,如果英文中的字母“E”以某个已知的频率(约为12.7%)出现,无论它被如何替换形成密文,都会以相似的频率出现。当拥有这个频率信息后,分析者就能很快地确定被替换的情况以及对密文进行解密。频率分析技术并不适用于现代加密技术,因为它们都对其有抵抗性(除非这是一个非常糟糕的本土加密算法)。这个例子只是说明了一个基本的密码分析案例。

相关的威胁代理

相关攻击

相关的漏洞

  • 待定

相关控件

使用通过检验的加密算法与推荐大小的密钥。
确保算法被正确使用。这意味着:

  • 不泄露自己的加密方法;使用经检验的加密算法以及工具。
  • 采用足够的随机数来初始化向量。
  • 使用好的随机性素材生成密钥,并且避免已知的弱密钥。
  • 使用经过验证的协议及其实施方法。
  • 为你的使环境以及数据选择最合适的加密算法。

参考