|||
你为用户密码而烦恼吗?(130412)
闵应骅
现在几乎人人都有用户密码。密码广泛应用于各种大小网站,如银行、中介、电子商务、大学、政府机构、数据中心等等。现在全世界有100亿个用户密码,而且还在不断增长。你在银行需要密码,用卡消费需要密码,上网更需要密码。你在银行还需要多个密码,一个不够,用同一个太不安全。尤其是用网上银行,密码就更加重要。不过,我总觉得网上银行不安全,我就从来不用网上银行。即使增加硬件来登录,我也不放心。网上购物,到货付现金。但是ATM机总得用吧!iPad上的几乎每个应用程序都要密码。查文献、搞科研都离不了密码。最近听说房产证也要加密码了。
密码对保证信息安全是必要的。但是,多了以后,问题就来了。记不清,那个是那个,可能混了。而且,各网站对密码的要求不一样,势必使自己的密码长长短短,各式各样,更容易混了。而且,试三次就不让你试了。“找回密码”可不是一件容易的事。那本来也不应该太容易。否则,攻击者不是很容易就可以得到密码吗?有人说,记到本子上,那就更不安全了,本子丢了,不就一切都完了吗?
用户密码在1970年代,IBM360那样的多用户计算机系统就开始使用用户密码,以实现存取控制。后来,到PC机的时候,也用密码来防护自己的数据。不过,那时人们常常用自己的生日、家人的生日等容易记的数字做密码。这种密码因为有一定的语义,安全性就比较差。刷卡购物的时候总有人在旁边盯着。其实他们倒不一定是想盗取你的密码,有些中国人就有这习惯,一种不好的习惯。我记得,毛泽东追悼会上,华国锋致悼词的时候,王洪文就盯着他的讲稿,看起来很别扭。
当然,111111和123456不是好密码,很容易被人猜出来。所以,网站对密码加了许多限制。譬如,至少8个字符;至少包含一个大写字母;至少包含一个小写字母;至少包含一个数字;至少包含一个特殊字符,像@,*,^,#等等;不允许包含连续的字符,重复的字符,相同的字符;等等等等。不符合这些规定,它就要你重新选择用户密码。60天不用就要重置。这些规则加得越多,用户创建帐户就越不易,记住它就更难。实验研究表明,其实,密码的限制对安全性作用不大,安全性主要决定于网站大小、用户数(譬如Gmail有1亿用户)、内容的重要性(Bank of America管理的资产是2.2万亿美元)、被保护资产的价值和被攻击的频繁程度(2009年eBay有18738站点攻击它),这些与密码的强度无关。所以,特强的密码要求并不提高安全性,却降低了可用性。
密码强度定义为Nminlog2Cmin,N表示密码长度,C表示允许选择的字符个数。譬如6位数字的密码强度为6×log210≈19.9。8位允许大小写英文字母和数字的密码强度是8×log2(26+26+10)≈47.6。密码强度高,较难侵入,但选择和记忆更困难,降低了可用性。外部攻击包括在线入侵,离线攻击哈希密码文件,重用其他网站的密码等,主要不靠窃取密码。事实上,如果三次登陆失败,就冻结账号24小时,那么,6位密码的在线试探需要100年。玩命揣测可以用一个揣测去试百万账号(但需要知道百万用户名),也可以用百万揣测去试同一个账号。服务器并不是存储所有用户的密码,而是存它的哈希值。公司里不得志的员工可以用已下载的加密文件来推算密码的哈希值。但是费时,可以限制用户时延来约束它。也有的网站有特殊密码规定,以防止使用其它网站的密码。
从已有数据看不出来为了提高安全性就必须加大密码强度。而且,统计表明,接受和发表广告,或者用户可以选择的网站,用有限的密码规定,使密码强度比较小。因为他们需要竞争用户和流量,可用性是第一位的。但是,购物网站必须保证用户的财产安全。这就需要二者的平衡。在政府和大学的网站,进入严格不在乎,但是,可用性也要高。
下图表明密码强度与用户有无选择的关系。譬如银行,用户一般是首先有了银行账户,才去上网,所以,用户没有选择,必须上那个银行的网,其强度中值是41.5。而网站希望更多用户选择本网站时,其强度中值就只有19.9。 过于严格的密码规定会影响流量。
方便和安全往往是一对矛盾,要安全就不太方便,太方便就不安全。问题是怕造成了极大的不方便,只换来安全很少的一点改进。所以,定量地研究安全性和可用性之间的折中很有必要。
图来自http://research.microsoft.com/apps/pubs/default.aspx?id=132623
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-24 01:33
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社