Chrome 浏览器的密码保存为什么显示明文不需要验证主密码确认?这是安全问题吗?

chrome://settings/passwords在地址栏输入上述语句,只需要简单点击一次便可以查看 Chrome 浏览器保存的密码,并不需要像 …
关注者
272
被浏览
83,682

24 个回答

一个研究过chrome的密码保存机制的人员来说一下吧:

chrome保存的密码,实际是通过windows 的一个函数进行加密并存入sqlite3数据库的,而这个数据库又是可以访问到的,至于他能显示明文密码,就是你点击明文的时候,他调用了响应的解密函数。具体过程请看这个 securityxploded.com/chr

从技术上来说,chrome加密的函数调用的是 CryptprotectData 这个函数,这个函数是windows提供的。msdn的描述 msdn.microsoft.com/ZH-C .aspx

The CryptProtectData function performs encryption on the data in a DATA_BLOB structure. Typically, only a user with the same logon credential as the user who encrypted the data can decrypt the data. In addition, the encryption and decryption usually must be done on the same computer. For information about exceptions, see Remarks.

也就是说,要解密这个函数,就必须以相同的用户登陆到系统,才能解密数据chrome使用这个函数的原因,猜测有如下几个方面

第一:chrome密码是以当前用户的计算机是安全的为前提,如果当前计算机不安全,那么密码的作用也就没有了。

第二:简单。这个函数是微软提供的。

第三:简单。

这不是安全问题!

当前所有主流系统都支持多用户。

你把电脑借给别人用不是问题,但如果你给别人用电脑的时候还让别人用自己的帐号登录那就是你自己的问题了。——所以这相当于说把自己脱光光送到异性面前然后还规定别人不允许有非分之想一样搞笑。

真正的 master password 从来都有,有且只有一个,就是你的操作系统帐号密码。即便你要借给别人用,也要给别人创建一个新帐号(这个帐号的权限可以低一些),不能让别人用你自己的帐号登录系统。

当别人用一个新帐号登录你的电脑时,是不会看到你的 chrome 保存的密码的。操作系统级的登录密码,就是主密码,你需要保管好它,而不是去让操作系统中的每个应用软件自己搞一套密码。