这片土地上有一种鉴定瘟疫。我们必须对着一群身份验证喷子反复声明自己的身份,每个人都小心翼翼地保护着某种互联网服务。每个喷子都有特定的密码规则,而这些规则千差万别,令人难以理解。
密码的长度要求各不相同:Dartmouth要求恰好是8个字符;我的经纪人,6到8;富国银行,八个或更多。我们通常鼓励或要求使用特殊字符,但有些字符太特殊了:许多字符不允许使用空格、单引号或双引号、下划线或连字符。有些系统不允许在密码开头使用某些字符;查字典比比皆是,包括查外语词典。
当然,经纪公司、银行和医疗网站需要保护账户免受未经授权的使用。像亚马逊这样的购物网站也是如此。一个电子邮件账户可能同样重要:问问萨拉·佩林。帐户的价值可以随着时间的推移而改变:可能在以前不重要的帐户上增加了一个新的在线商店。
身份验证对服务提供者可能比客户端更重要:我是否关心是否有人获得了访问我的报纸账户的权限?(毫无疑问,使用条款说我应该关心,但我没有。)在这种情况下,报纸对密码的要求非常恼人,而密码“强化”规则只会增加我的烦恼。市场在这方面确实发挥了作用:研究表明,竞争压力往往会迫使网站采用更简单的密码。4
不仅这些身份验证规则差异很大,而且这些规则本身通常被认为是安全机密的一部分,在登录时不可用,这时关于规则的提示会很有帮助。我所说的这些蝾螈之眼密码规则:它们让我想起了莎士比亚魔法药水的公式。他们往往是特别的,苛刻的,有时很难满足。您能想出一个不重复任何字符超过四次的长密码短语吗?
问题很紧急:如果我们只有一个帐户,身份验证就会容易得多。但一个活跃的互联网用户可以拥有一到二十多个账户,有些重要,有些不重要。这些身份验证陷阱困扰着大多数在线用户,很容易引起普通用户的一连串抱怨。
今天的许多规则都根植于过去对安全问题的深切关注,当时的准入、威胁和目标都不同。这些想法很多都在密码管理指南, (CSC- std -002-85技术报告),由国防部计算机安全中心(DoD CSC)于1985年发布。2这份报告被称为“绿皮书”,是美国政府在20世纪80年代和90年代推出的彩虹系列书籍之一。它的建议在当时很好,其中许多仍然有效,但我们的许多密码格言来自于对威胁和技术的陈旧假设。
这并不是在批评最初的作者或他们的文件:任何明智的安全人员都不会期望这些规则在几十年内不被修改。传说根本跟不上威胁和弱点的步伐。
的密码管理指南在更著名的《橙书》(可信计算机系统评价标准)出版后不久。绿皮书是国防部访问机密或敏感政府计算机的管理指南。它也是目前大多数密码规则的基础。当时大多数计算机访问要么通过本地批处理(用卡!),要么通过使用终端的本地或远程串行线。个人电脑和麦金塔电脑是可用的,但它们与安全计算没有特别的关系,当然也没有联网。
以下是报告早期发现的一个重要注释:
因为预计不同的用户群体将采用这一指导方针,所以所有的建议都是一般化的,而不是具体的术语……在需要设置特定值(例如,密码最大生存期)的特性中,建议将这些设计为参数设置,让本地安全管理决定准确值……
对于今天的安全专家来说,问题是,1985年的指导方针还有什么意义?当前的认证混乱表明我们没有跟上这项任务。也许这篇文章将促使人们沿着这些思路重新思考。
国防部的报告提供了关于认证和密码的具体建议。该报告指出,在ADP(自动数据处理)系统所采用的以密码为基础的认证机制中,密码很容易被破解,因为密码系统有五个基本方面:
此外,报告指出:
登录(1)
命令。这仍然是一个好主意。在Unix/Linux个人帐户中,被盗密码只是一个开始。系统是有根的,安装了后门,而且,通常,其他安全弱点是固定的。安装SSH (secure shell)客户端,捕获其他密码。在给定用户帐户的情况下,root Unix主机往往更容易。表1SUID(根)程序的数量是几个示例操作系统上的一个示例,使用命令找到/ -user root -perm 4000 -print
.
每一个例子表1是一个潜在的根折衷,攻击者通常可以找到至少一个。
对密码系统提供的安全性最明显的威胁是密码的泄露。密码用于身份验证的时间越长,暴露密码的机会就越多。在一个有用的密码系统中,密码在其生命周期内被泄露的概率会增加。
本节参考《绿皮书》附录C,其中涉及到面对字典攻击时的密码强度和生命周期。提供了几个简单的公式(ASCII布局和拼写错误使得在线版本的数学更难理解),以及当时典型情况的计算结果。
目标是抵御一年的字典攻击,破解概率为106(或1020.对敏感系统)。举一个报告中的例子,假设每分钟猜测8.5次,在每秒30个字符的终端会话中,一个只有9个大写字母的9个字符的密码可以抵御长达一年的字典攻击。该报告对大写字母数字字符和从23300个词条中选择的单词提供了类似的计算,该词典包含4到6个字符的英语单词。作者承认,如果手头的文件有密码保护,那么猜测的概率会高得多。
让我们代入每秒使用1亿次和70亿次试验的现代字典攻击的数字。第一种是运行在典型密码哈希算法上的多核计算机的简单速率。第二个速率是由商业源在现代gpu上实现的攻击。在一个多核处理器、计算机集群和僵尸网络时代,这些数字有些保守。如果你认为他们太咄咄逼人,那就等一年。表2显示破解时间和密码更改率的一些变化。
表中显示的第二种密码比现在认为安全的密码更困难:它是8随机从键盘上找到的93个字符中选择的字符(比蝾螈眼多一点)。这个强密码需要每一次修改31日毫秒出于安全目的。(在我的网站上可以找到探索这个问题的原始电子表格。1)
一旦账户被入侵,腐败就会开始,并通过进一步的攻击和信任传播。其他账户也会被相同的密码攻击,而且往往会成功。
表中的最后两个方案大致符合本文档的标准:在一年的字典攻击后,每年修改密码的风险不超过百万分之一。它们对应的工作系数为77-79位,这可能会让您感到惊讶,因为这比通常所需的密码强度(通常为20 -40之间)要大得多。3.增加的比特数来自于10的要求6猜测成功概率,将密码长度增加20位。(规范实际上要求的概率是1020.对于分类访问:这增加了66位!)
百万分之一的要求可能是不合理的。由于安装了非常昂贵的暴力硬件,我不太可能在一年内部署它来访问一个高价值的目标,如果我成功的机会只有1%的话。另一方面,历史上有很多这样的例子:防守方低估了进攻方愿意承担的工作量。
大多数遵循此规则的从业者使用基本密码,并通过一些服务相关部分进行修改。如果这个可变的部分是显而易见的,他们可能不应该麻烦。在这种情况下,最好选择不同的强密码,忽略下一条建议。
不过,将密码写下来可能比在多台机器上使用相同的密码要安全得多。在今天的大多数情况下,攻击者并不一定要在场才能获胜。你的机器从很远的地方就可能被破坏。或者攻击者将受感染的USB操纵杆留在公司停车场。查看便利贴的攻击比网络黑客攻击要少见得多。
当然,没有必要把事情弄得太简单。在密码上写下注释或变体,这足以提醒你真正的密码。有时我发现,只要提醒我某个网站的蝾螈之眼规则就足够了。
密码钱包是存储密码的好主意,但它让你回到了在可能不安全的电脑上存储秘密的游戏,有网络访问。你办公室里的黄色记事本可能更安全。
对于很少使用的密码来说,这可能是一个特别的问题。例如,在美国,企业提供的医疗保险要求员工每年审查并修改保险范围。这些系统需要强大的身份验证,而且往往每年只使用一次,所以为了记住密码,我要么把它写下来,要么依赖于密码恢复方案。在某些系统上,我在较长的时间内循环使用了几个强密码,这比身份验证服务器记得的时间要长。那些真正优秀的密码太好了,让人无法释怀。
指望人们选择并记住能够抵抗字典攻击的密码,是一种糟糕的工程。用户培训不起作用:人们会不顾一切地写下自己的密码。
幸运的是,字典攻击很少出现这种问题。他们因为退出游戏而彻底受挫:将尝试次数限制在少数,然后禁用帐户。多因素认证和从妥协中更好地恢复也有帮助。
这不是一个新想法。20世纪70年代初,我拿到了自己的第一张银行ATM卡;它的密码是四位数字。我不记得我是否被允许自己选择密码,但这无关紧要:这是我唯一的密码,而且这项服务足够独特和有用,所以我把密码记在了记忆里。如果我忘了,卡就会被吃掉,或者账户被锁定。大约四十年后,美国的银行系统仍在使用这一政策,证明它是有效的。这也不是一个罕见的解决方案。大多数身份验证系统会在用户多次尝试后将其锁定。
更重要的是,威胁已经改变。字典对密码的攻击已经不像以前那么严重了。今天的威胁包括:
客户系统几乎不安全,因为我们把房子建在沙子上。为什么单击鼠标会造成安全威胁?
字典攻击可以对密码钱包、SSH代理密码短语、PGP(相当好的隐私)密钥环和被盗的密码数据库发起。对于强密码,文字比蝾螈眼的字符串更容易输入和记忆。从Brown语料库的23300个常用英语单词中,我按照STD-002和xkcd的精神生成了几个随机的密码短语:5
这些密码的搜索空间超过43位,与目前最强密码的估计强度相匹配。它们也提供了一个扩大词汇量的机会。唉,它们可能不符合蝾螈眼的大多数规则。
我的梦想是,认证可能会变得不那么讨厌,甚至有趣。密码和密码短语应该更容易输入,并包括对输入和“字幕”错误的自动纠正(在智能手机上)。这可以在不丧失安全性的情况下完成。
为什么蝾螈眼的规则仍然存在?帐户解锁是一个问题,需要相对昂贵或不安全的二次身份验证工作。在某些情况下,让其他人(例如共享后台的授权配偶)负责临时身份验证和随后的密码更改是合适的。“亲爱的,我又来了”可能比在周末打800电话容易得多。
如果有一种以上的方式登录到一个网站,每种方式都有相同的强度,那就好了。这让用户可以选择身份验证方法,并使用其他方法作为备份登录。(母亲娘家姓是不我在这里所说的。次要密码往往要弱得多,不应该使用。安全历史中充满了迫使防御者退回到次要的、不那么有效的防御的攻击。)
如果有人在一个会话中两次尝试相同的密码,那不应该算作两次尝试。我们都会犯,或者怀疑自己会犯排版错误。我输入的密码正确吗?我会更仔细地再试一次。这不能算作密码喷子的第二个愿望。
我不乐观这些变化会很快发生,甚至根本不会发生。有一个庞大的安装基地。“我们和其他人做同样的事情”是对渎职行为的有效法律辩护,那么为什么要改变呢?(我讨厌这个词遗产!)
认证系统至关重要,对它们的改变可能会导致广泛而尴尬的失败。目前还不清楚更容易的认证是否会带来市场优势。一个公司是否因为更容易登录而比另一个公司更不安全?这样做会获得市场份额吗?
尽管如此,这一体系似乎正在发挥作用。我们正在向世界各地的攻击者泄露军事和工业机密,但每天有数百万人成功地使用互联网,它是世界经济的一个重要组成部分。不管怎样,我们还是熬过去了。
最后,我希望看到这些系统设计成这样,用户只需要记住一个安全准则:别犯傻了.不要选择那些知道你在几次尝试后就能猜出来的密码,或者那些看着你打字的人很容易就能猜出来的密码。
与蝾螈之眼的密码规则不同,最后一条规则对普通用户来说是有意义的,很容易记住。我们要做的就是把剩下的设计成合理的安全。
相关文章
在queue.acm.org
安全——问题解决了吗?
约翰Viega
http://queue.aom.org/detail.cfm?id=1071728
构建安全的Web应用程序
乔治诉Neville-Neil
http://queue.aom.org/detail.cfm?id=1281889
领英密码泄露:用盐腌他们的皮
Poul-Henning坎普
http://queue.aom.org/detail.cfm?id=2254400
1.Cheswick, w . 2012;http://www.cheswick.com/ches/papers/std-002-results.xls;而且http://www.cheswick.com/ches/papers/std-002-results.numbers.
2.国防部计算机安全中心。密码管理指南, 1985年。技术报告csc - std - 002 - 85。
3.Florêncio, D.和Herley, C.我们所知道的关于密码窃取的一切都是错误的吗?安全与隐私(2012)。DOI 10.1109 / MSP.2012.57。
4.Florêncio, D.和Herley, C.安全策略从何而来?在第六届可用隐私与安全研讨会论文集(2012)。Acm, ny, doi 10.1145/1837110.1837124。http://doi.acm.org/10.1145/1837110.1837124.
5.xkcd;http://xkcd.com/936/.
©2013 0001 - 0782/13/02 ACM
如果您不是为了盈利或商业利益而制作或分发本作品的部分或全部,并在第一页注明本通知和完整引用,则允许您免费制作本作品的部分或全部数字或纸质副本,供个人或课堂使用。本作品的组成部分必须由ACM以外的其他人享有版权。信用文摘是允许的。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,需要事先获得特定的许可和/或费用。请求发布的权限permissions@acm.org或传真(212)869-0481。
数字图书馆是由计算机协会出版的。版权所有©2013 ACM有限公司
没有发现记录