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

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:

本文由 伯乐在线 - 黄利民 翻译。未经许可,禁止转载!
英文出处: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 clock security

 

如何查看已保存的密码

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

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

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

How Secure are Your Saved Chrome Browser Passwords

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

密码数据保存在哪里了?

已保存的密码数据存储在一个 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下载链接

How Secure are Your Saved Chrome Browser Passwords

 

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

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

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

How Secure are Your Saved Chrome Browser Passwords

 

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

 

可以绕过保护机制么?

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

How Secure are Your Saved Chrome Browser Passwords

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

How Secure are Your Saved Chrome Browser Passwords

 

结论

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

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

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

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

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

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

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

 

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

 

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

saved passwords in Firefox

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

master password in Firefox

 

目录
相关文章
|
22天前
|
安全
浏览器安全
采用匿名方式浏览,你在登录网站时会产生一种叫cookie(即临时文件,可以保存你浏览网页的痕迹)的信息存储器,许多网站会利用cookie跟踪你在互联网上的活动。 你可以在使用浏览器的时候在参数选项中选择关闭计算机接收cookie的选项。(打开E浏览器,点击“工具”—“Internet选项”,在打开的选项中,选择“隐私”,保持“Cookies”该复选框为未选中状态,点击按钮"确定")
|
1月前
|
Web App开发 缓存 安全
WIN11 Chrome 双击打不开闪退及Chrome浏览器不能拖拽文件crx
【11月更文挑战第6天】本文介绍了 WIN11 系统中 Chrome 浏览器双击打不开闪退及不能拖拽文件 crx 的原因和解决方法。包括浏览器版本过旧、扩展程序冲突、硬件加速问题、缓存过多、安全软件冲突、系统文件损坏、用户配置文件损坏等问题的解决方案,以及 crx 文件的屏蔽、权限问题和文件格式问题的处理方法。
123 2
|
1月前
|
Web App开发 Linux iOS开发
Chrome浏览器如何导出所有书签并导入书签
【11月更文挑战第4天】本文介绍了如何在 Chrome 浏览器中导出和导入书签。导出时,打开书签管理器,点击“整理”按钮选择“导出书签”,保存为 HTML 文件。导入时,同样打开书签管理器,点击“整理”按钮选择“导入书签”,选择之前导出的 HTML 文件即可。其他主流浏览器也支持导入这种格式的书签文件。
296 2
|
1月前
|
Web App开发 JavaScript 前端开发
使用 Chrome 浏览器的内存分析工具来检测 JavaScript 中的内存泄漏
【10月更文挑战第25天】利用 Chrome 浏览器的内存分析工具,可以较为准确地检测 JavaScript 中的内存泄漏问题,并帮助我们找出潜在的泄漏点,以便采取相应的解决措施。
276 9
|
2月前
|
Web App开发 开发者
|
2月前
|
Web App开发 JSON 安全
Chrome浏览器的跨域问题
【10月更文挑战第6天】
|
2月前
|
Web App开发 缓存 安全
Chrome浏览器启动参数大全
这是一组用于定制浏览器行为的命令行参数,包括但不限于:不停用过期插件、放行非安全内容、允许应用中心脚本、停用GPU加速视频、禁用桌面通知、禁用拓展及各类API、调整缓存设置、启用打印预览、隐身模式启动、设定语言、使用代理服务器、无头模式运行等。通过这些参数,用户可以根据需求灵活调整浏览器功能与性能。
|
3月前
|
Web App开发 存储 前端开发
Chrome浏览器的跨域问题
Chrome浏览器的跨域问题
|
1月前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式
|
1月前
|
JavaScript 前端开发 数据处理
模板字符串和普通字符串在浏览器和 Node.js 中的性能表现是否一致?
综上所述,模板字符串和普通字符串在浏览器和 Node.js 中的性能表现既有相似之处,也有不同之处。在实际应用中,需要根据具体的场景和性能需求来选择使用哪种字符串处理方式,以达到最佳的性能和开发效率。