寄托天下
查看: 1777|回复: 0
打印 上一主题 下一主题

密码认知的十大荒谬[转贴] [复制链接]

Rank: 9Rank: 9Rank: 9

声望
1
寄托币
661
注册时间
2003-2-13
精华
13
帖子
166

荣誉版主

楼主
发表于 2003-10-26 21:52:25 |只看该作者

密码认知的十大荒谬[转贴]

转自《电脑爱好者》杂志
作者 北京 甘利

木头导语:谬论是半个真理。本文提到的许多错误认识曾经广为流传,例如:使用ALT+255的方法可以在密码中包含一个别人无法输入的空格;每个月都要更换一次密码等等。但是,一个很简单的道理就是,被大多数人所了解的秘密并不是秘密。因此,亲爱的读者,让我们去思考,而不是去模仿。一个好的密码一定会是一个安全的密码,但是,一个安全的密码并不一定是好的密码:上个星期天,我忘记了工商银行的存折密码,因为我办存折的时候为其设置了一个古怪的密码,安全到以至于我本人都把它忘记了。

密码依然在系统安全中发挥着核心作用。围绕着密码的难题在于,它们往往是最容易被突破的安全机制。虽然我们可以通过技术、制度来增强密码的功能,但我们所抗击的却是任何一个系统中存在的最薄弱环节:人的因素。这就是矛与盾的关系,人的力量将永远受制于人。本文将通过揭露一些常见的密码认识上的谬论来加深你对Windows 2000和Windows XP系统密码的了解。

谬论一:任何密码最终都会被破解
理论上确实是成立的,但是请注意里面的一个词:“最终”。实际上,我们还是有可能创建一个事实上无法在合理时间内被破解的密码:如果一个密码足够长,破解需要花费很长的时间或要求很强大的处理能力,我们几乎可以把它看作是不可破解的了(至少对大部分黑客来说如此)。所以任何密码最终都会被破解的说法是正确的,但也许这个时间会超过一个人的生命周期。当然,人类在计算能力方面的进步也许有一天会使这个谬论成为真理。

谬论二:Rt#wF6L$c是一个好密码
一个广泛流传的错误论断是:由密码生成器随机产生的密码是最好的密码。其实这是不正确的。虽然这些密码从理论上说是好密码,但它们通常不易被记住、输入慢,而且有时容易遭到反密码生成器运算法则的攻击。其实,使用一些简单的技巧就可以产生同样好、但更容易记忆的密码。比如“Makeit20@password.com”这个密码。它使用了大小写字母、两个数字和两个符号。这个密码共有20个字符,不需要花费多少时间就可以记住,也许在看完这篇文章的时候你就已经记住它了。此外,这个密码的输入速度也快。“Makeit20”这部分是由左右手交替按键组成的,这样可以提高速度、减少输入错误并降低其它人偷看到你所输入密码的几率。
生成复杂而又容易记住的密码的技巧就是使用我们习惯记忆的数据结构。这些结构很容易使密码中包含如以上Email地址例子中的标点符号。其他好记的数据结构还包括电话号码、地址、名称、文件路径等。你也可以考虑其他一些增强记忆的因素,比如重复、押韵、幽默、歇后语等都可以用来组成不易忘记的密码。

谬论三:永远不要把密码写下来
这虽然是一个好主意,但有的时候的确需要把密码记录下来。关键是如何恰当地记录密码。贴在显示器上肯定是一个垃圾主意,其实把密码保存在一个安全的、甚至是上了锁的橱柜里就够了。
有许多用于保存多个密码的软件,只要记住一个密码就可以通过这个密码进入软件,查找保存在内的其他密码。这样是有危险的:首先,这个工具是基于软件的,这样它本身就会成为攻击的目标,其次,它是基于唯一的主密码上的,因此这个主密码就成为通向用户所有密码的唯一关口,万一丢失,后果恐怕就是不堪设想的。

谬论四:J0hn99是一个好密码
虽然J0hn99这个密码没有超出Windows 2000密码的复杂要求,但它并不像看上去那样是个好密码。大多数破解程序都有一定的法则,每秒可测试上百万个单词的变种。对于破解程序来说,用数字0代替字母o或者增加一两个数字并不是什么大不了的事。大多数破解程序带有规则,能创造远超出常人想象力和耐力的密码组合。
一个好办法就是减小密码的可预见性,比如,不用0取代o,而是用两个符号,如“()”取代o变成“j()hn”。当然了,把密码变长些会使它更难被破解。

谬论五:使用Alt+255可以得到最好的密码
我们经常会看到推荐使用ASCII字符的小技巧。虽然这些字符在有些情况下有用,但你也要考虑到它们的缺点。首先,按住ALT键再点击数字键盘很容易被别人发现。其次,使用这样一个字符需要记住多次按键,以后每次输入密码时也要按这几个按键。
ASCII字符就是指不能在正常方式下键入,必须按住Alt键并在数字输入区(数字小键盘)键入字符的ASCII值才能输入的字符。比如,按住Alt并顺次输入0255就可以得到字符“”。
另一个需要考虑的是有些命令行工具可能不支持ASCII字符。比如,你可以在Windows中使用ALT+0127字符,但却无法在命令行中输入。反之,有些字符代码可以在命令行中输入却不能在任何Windows对话框中使用(某些情况下倒可能是一个好的副作用)。

谬论六:我使用了NTLMv2,所以我的密码散列是安全的
许多读者也许知道Windows系统中的LanManager(LM)的密码散列中有漏洞,这也是为什么L0phtcrack (一个在NT平台上破解用户口令的软件)很受欢迎的原因。NTLM通过使用一个长的散列和允许大小写字母存在的方法使密码散列更强大。NTLMv2在此基础上更进一步,它可以计算128位的密钥空间,并使用单独的密钥来保持信息的完整与机密性。尽管如此,Windows 2000还是经常可能在网络上发送密码散列,而且NTLMv2也容易受到in-transit攻击。此外,由于LM和NTLM密码散列都是保存在注册表中的,因此很容易暴露。

谬论七:14个字符是最佳的密码长度
NTLM使用14个字符来存储密码散列。因此得出了14个字符的密码是最安全的密码长度的结论。但是在Windows 2000和XP中密码的长度最大可达127个字符,所以14个字符已经不再是上限了。另外,如果一个密码长于15个字符,Windows就不能正确地保存散列。这实际上使你不易受到专门针对那些散列中脆弱的运算法则的暴力攻击。如果你的密码长度大于或等于15个字符,Windows会把常数AAD3B435B51404EEAAD3B435B51404EE保存为你的LM的散列,这等同于空密码,而你的密码显然不是空的,所以任何破解该散列的企图都将失败。

谬论八:密码应该每30天更改一次
对普通用户来说,这完全没有必要。经常性地更改密码会使黑客了解用户创建密码的习惯,最终降低密码的有效性。而且,每30天就要想出并记住一个密码也不是一件很容易的事。对普通用户来说,更实际的时间段是90~120天。

谬论九:密码不能包含空格
实际上,Windows 2000和Windows XP都允许密码中包括空格。所以说,空格是完全有效的密码符号。但是,由于一些程序会删掉字符首尾的空格,所以最好不要在密码的开头和结尾带有空格。空格有助于用户创建更为复杂的密码,空格能在单词中间使用,这样就可以让用户在密码中使用多个单词。
不过,有利也有弊。使用空格的缺点就是在敲击空格键的时候会发出独特的响声,所以不难听出一个人是否在密码中敲入了空格键。所以说,可以使用空格,但注意不要过多使用。

谬论十:总是使用Passfilt.dll
Passfilt.dll是Windows NT 4.0 Service Pack 2及其后续版本中的一个密码筛选器文件,可以强制用户对密码进行强加密。这虽然是一个不错的方针,但是有些用户的密码常因为不够复杂而被拒绝。即使是有经验的系统管理员可能也要多次输入密码才能通过密码复杂要求。因此,在帮助别人设置安全系统的时候,或者不采取这个策略,或者要求用户采用更长的密码作为替代。
Passfilt.dll 使用下列密码策略:
密码不得少于 6 个字符。
密码必须包含下列 4 类字符中至少 3 类的字符:
英语大写字母、英语小写字母、阿拉伯数字以及非文字数字(“特殊字符”)如标点符号等,而且密码不能包含用户名和全名的任意部分。
最后要说明的是,一个好的密码不仅是一个复杂的密码。一个好的密码不仅不容易被猜出来,而且应该容易被记住。它应该很长,由字母、数字和符号组成,输入快又不易出错。它应该具有只有电脑才有的随意性,同时又具有只有人脑才有的易记性。大家看过这篇文章后,希望可以给自己制定一个独特的规则。在密码的认知误区中,最大的谬论就是密码安全有不变的法则。
Maybe all in your mind
Perhaps that we all died, say, years ago
Now what do you have left
Future dreams of passion plays and dancing people
All, so, lonely

使用道具 举报

RE: 密码认知的十大荒谬[转贴] [修改]
您需要登录后才可以回帖 登录 | 立即注册

转发
转发该帖子
密码认知的十大荒谬[转贴]
https://bbs.gter.net/thread-145221-1-1.html
复制链接
发送
回顶部