在Chrome浏览器中保存的密码有多安全?

本文由 伯乐在线 - 黄利民 翻译。未经许可,禁止转载!
英文出处:howtogeek。欢迎加入翻译组

【2013-08-09 更新】:最近又开始讨论“Chrome浏览器明文保存密码这个话题了,国外一位软件工程师 Elliott Kember 在他博客上写文提了这个问题,他认为这是一个安全漏洞。随后,Chrome 浏览器安全技术主管  Justin Schuh 在 HackerNews 发帖做了解释,他的意见和下文提到的『主密码提供了一种虚假的安全感,保护敏感数据的最可行保护方式是要取决于系统的整体安全性』相同。

 

导读:2012年12月3日晚上,有网友在Hacker News提交了一个关于可以在Chrome浏览器“密码管理器”查看已保存密码的帖子,可能那位提交的网友之前不了解Chrome的这个特性及其背后的机制,导致这个贴子在Hacker News首页停留的时间还不短。之后国内网友在微博上发布相关消息后,同样引起不少讨论(链接1链接2链接3)。很多之前不了解Chrome保存密码机制的朋友惊呼 Chrome 坑爹。伯乐在线编译了 howtogeek 网站上的一篇文章,应当可以解除这些朋友的疑问。

 

关于 Google Chrome 浏览器也有一个常见问题,“为什么它没有一个主密码(master password)?” Google 支持论坛中有个非官方的回复,说了Google的立场:主密码提供了一种虚假的安全感,保护敏感数据的最可行保护方式是要取决于系统的整体安全性。

那用户在Chrome浏览器上保存的密码的安全性有多高呢?请见下文。

在Chrome浏览器中保存的密码有多安全?

 

如何查看已保存的密码

Chrome 密码管理器的进入方式:右侧扳手图标→设置→显示高级设置→密码和表单→管理已保存的密码。或者直接在地址栏中复制粘贴:chrome://chrome/settings/passwords,然后回车进入。

如果你允许Chrome保存密码,看到这个界面应该没什么稀奇,或许你早已知道这个特性了。从昨晚微博转发来看,很多用户还是并不知道这个特性。

点击密码区域,显示一个“显示”按钮,再点击“显示”按钮,可看到密码。如果其他人可以无阻碍使用你的电脑,那他就可以拿到你的这些已保存的密码。

在Chrome浏览器中保存的密码有多安全?

 (本文配图中的用户名和密码为测试所用)

密码数据保存在哪里了?

已保存的密码数据存储在一个 SQLite 数据库中,位置是:

[系统盘]:\Documents and Settings$$!用户名]\Local Settings\Application Data\Google\Chrome\User Data\Default\Login Data (这个路径是 Win XP 系统)

你可以用  SQLite Database Browser 打开这个文件(文件名就是“Login Data”),查看“logins”表格,该表就包含了被保存的密码。但你会看到“password_value” 域的值是不可读,因为值已加密。(PS:SQLite数据库查看器的SourceForge下载链接

在Chrome浏览器中保存的密码有多安全?

 

加密后的数据的安全性如何?

为了执行加密(在Windows操作系统上),Chrome使用了Windows提供的API,该API允许用于加密密码的Windows用户账户去解密已加密的数据。所以基本上来说,你的主密码就是你的Windows账户密码。所以,只要你登录了用自己的账号Windows,Chrome就可以解密加密数据。

不过,因为你的Windows账户密码是一个常量,并不是只有Chrome才能读取“主密码”,其他外部工具也能获取加密数据,同样也可以解密加密数据。比如使用NirSoft的免费工具ChromePassNirSoft官方下载,就可以看得你已保存的密码数据,并可以轻松导出为文本文件。

在Chrome浏览器中保存的密码有多安全?

 

既然 ChromePass 可以读取加密的密码数据,那恶意软件也能读取的。当ChromePass.exe被上传至VirusTotal时,超过半数的反病毒(AV)引擎会标记这一行为是危险级别。不过在这个例子中,这个工具是安全的。不过有点囧,微软的Security Essentials并没有把这一行为标记为危险。

在Chrome浏览器中保存的密码有多安全?

 

可以绕过保护机制么?

假设你的电脑被盗,小偷重设了Windows账号密码。如果他们随后尝试在Chrome中查看你的密码,或用ChromePass来查看,密码数据都是不可用。原因很简单,因为“主密码”并不匹配,所以解密失败。

在Chrome浏览器中保存的密码有多安全?

此外,如果有人把那个SQLite数据库文件复制走了,并尝试在另外一台电脑上打开,ChromePass也将显示空密码,原因同上。

在Chrome浏览器中保存的密码有多安全?

 

结论

Chrome浏览器中已保存密码的安全性,完全取决于用户本身。这里有些建议:

●使用一个极高强度的Windows账号密码。必须记住,有不少工具可以解密Windows账号密码。如果有人获取了你的Windows账号密码,那他也就可以知道你在Chrome已保存的密码。

●让你自己远离各种各样的恶意软件吧。如果工具可以轻易获取你已保存的密码,那恶意软件和那些伪安全软件同样可以做到。如果非得下载软件,请到软件官方网站去下载。

●把密码保存至密码管理软件中(比如:KeePass)。当然了,如此一来,浏览器就不能帮你自动填充密码了。

●使用可以整合到Chrome中的第三方工具(比如:LastPass),使用主密码来管理你的那些密码。推荐阅读:《用LastPass管理好你的密码

●用工具(比如:TrueCrypt)完全加密整个硬盘。

●非私人电脑上,一定不能让浏览器保存密码。(原文没有,额外补充)

 

如果经常用浏览器保存登录用户名和密码,离开电脑时最好锁定屏幕。总之一句话,把家里(操作系统)的安全工作做好,家中物件的安全性也应当有保障了。

 

补充信息:如果允许 Firefox 浏览器保存站点密码,同样可以很方便查看。

在Chrome浏览器中保存的密码有多安全?

Firefox 浏览器虽然采用了主密码机制,但默认并不开启。如果用户启用,以后Firefox每次读取已保存的敏感数据时,用户必须输入主密码。。用户必须记住自己设定的主密码,否则……

在Chrome浏览器中保存的密码有多安全?

 

上一篇:机密数据保险箱,RMS确保重要文件安全无忧


下一篇:增强for循环(foreach)、可变参数(...)