编程人员卡梅隆·莫里斯(Cameron Morris)开发了一款密码分析工具,通过分析模式判断密码强度,得出了如下结论:密码创建策略是密码安全的真正敌人。
据莫里斯称,之所以这样,原因就在于密码创建策略通常关注密码的构成,而非强度。破解密码所需要的时间是衡量密码强度和价值的唯一途径。为此,莫里斯开发了一款开放源代码工具Passfault,预测破解一个密码所需要的时间。莫里斯邀请系统管理员和最终用户试用了Analyzer和 Password Creation Slide-Tool。
莫里斯说,“我花30分钟创建了一个很难破解的密码,但后来意识到密码将在30天后被破解。我也认为根据密码强度计算破解时间不够好,但我找不到更好的方法。”
今年1月份,莫里斯将Passfault项目移交给非盈利组织“开放Web应用安全项目”,希望开发者社区将有助于改进Passfault软件,增添新语言,扩充词典。莫里斯已经开发了Java和JavaScript Object Notation版本,正在开发JavaScript版本。
莫里斯希望通过检验模式而非使用基于字母、数字和特定字符的政策,挑战对创建安全密码的传统认识。卡耐基-梅隆大学2011年进行的一项研究显示,密码创建策略使创建安全密码的难度大大提高,密码长度是显著影响密码强度的唯一因素。
莫里斯的目标是使密码强度可以被衡量,易于理解。Passfault表明,合适的模式每次都超过一个大写字母和一个“&”符号。 Passfault的字典模型(英语和西班牙语)包括大小写混合,删除字母或添加特殊字母,存在拼写错误的单词、倒拼的单词。Passfault还检验键盘模式(美国和俄罗斯)和数据模式。
Passfault首先分析一个密码,然后计算存在的模式相似的密码数量。莫里斯称之为“衡量密码复杂性”。
用户输入一个密码后,Passfault的Analyzer会显示一个“破解次数”(time-to-crack)等级。“破解次数”代表一个特定模式中的密码数量。该滑动条工具使系统管理员通过模式大小、密码保护类型、黑客使用的硬件计算密码强度。
当然,Passfault的目的只是创建密码,而非保护密码。一个问题是,用户经常在多个场合使用相同的密码,增加了密码泄露的风险。