暴力攻击

黑客进行的暴力攻击主要方法是通过快速连续尝试不同的字符组合来破解密码。这类算法非常简单,并且只能尝试尽可能多的字符组合,因此也被称为“穷举搜索”。攻击者通常使用高性能计算机,每秒执行大量计算,因此可以在尽可能短的时间内测试大量的组合。

这种方法在实践中经常被成功使用,因为许多用户使用的密码都很短,通常只由字母表中的字母组成,这大大减少了可能组合的数量,使猜测变得更容易。

破解密码

Distributed.net 公司的项目 RC5-72展示了破解密码的速度。项目RC5-72旨在解密一条采用72位密钥加密的信息。为此,将尝试所有可能的密钥,直至找到正确的密钥为止。自从几位用户为这个项目提供计算机运力以来,截至2012年5月8日,每秒可生成超过8000亿个密钥。Distributed.net 曾经在250天内破解了56位密钥以及在1757天内破解了64位密钥。

密码的组合和长度

一些计算示例将展示不同密码长度和不同字符组的使用对密码安全性的交互作用。在计算示例中,每秒可生成20亿个密钥,这大约相当于一台非常强大计算机的计算速度。

在创建密码时,通常可以使用以下字符:

  • 数字(10个不同元素:0-9)
  • 字母(52个不同元素:A到Z和a到z)
  • 特殊字符(32个不同元素)

密码可能的组合数可用如下公式计算:

可能的组合数 = 可能的字符数密码长度

如下计算示例结果未考虑其他因素,例如字典攻击:

密码组成可能的组合数破解所需时间

5 个字符
(3 个小写字母
2 个数字)

365= 60,466,176

60,466,176 /
2,000,000,000 =
0.03 秒

7 个字符
(1 个大写字母
6 个小写字母)

527= 1,028,071,702,528

1,028,071,702,528 /
2,000,000,000 =
514 秒 =
约9分钟

8 个字符
(4 个小写字母,
2 个特殊字符,
2 个数字)

688= 457,163,239,653,376

457,163,239,653,376 /
2,000,000,000 =
228,581 秒 =
约2.6天

9 个字符
(2 个大写字母,
3 个小写字母,
2 个数字,
2 个特殊字符)

949= 572,994,802,228,616,704

572,994,802,228,616,704 /
2,000,000,000 =
286,497,401 秒 =
约9.1年

12 个字符
(3 个大写字母,
4 个小写字母,
3 个特殊字符,
2 个数字)

9412= 475,920,314,814,253,376,475,136

475,920,314,814,253,376,475,136 /
2,000,000,000 =
237,960,157,407,127 秒 =
约750万年

您可以非常清楚地看到不同密码长度和不同字符组的使用对密码安全性的影响。

阻止暴力攻击

抵御暴力攻击的惟一方法是使用复杂的主密码,该密码要足够长,由字母、特殊字符、数字和大小写元素组成。您的密码越复杂、越长,所使用破解软件随机“猜测”到您密码的可能性越低,正如您从上面的计算示例中看到的那样。

当您在使用Password Depot创建一个新密码或使用密码生成器自动生成一个新密码时,您可以看到破解该密码所需的时间。Password Depot不仅考虑到如上因素,如字符的数量,而且也考虑到其他漏洞,如字典攻击的脆弱性。

另外一种防止暴力攻击的方法是延长两次登录尝试的时间(当输入密码错误后)这样,无论黑客的高性能计算机可以进行多快的运算能力,也能降低他的破解速度。这也是为什么Password Depot在您输错主密码后锁定主密码对话框的原因。随着输入错误的增加,下次输入等待时间会随之延长。