首页 > 解决方案 > DPAPI 主密钥迁移到新计算机

问题描述


首先,如果这个问题应该进入另一个 stackexchange 站点,请告诉我。
我有一台我用了很多年的电脑,所以它在我的谷歌浏览器文件夹中有很多存储的密码、cookie 等。我最近买了一台新电脑,想保留以前的所有东西,特别是我的 cookie、扩展程序等。
起初,我只是将 %APPDATA%\local\google 文件夹从旧电脑复制到新电脑。当我启动 Chrome 时,我可以看到我的历史记录、扩展程序等,但是当我访问 facebook、gmail 等常用网站时,它要求我登录。
然后我去阅读有关 Chrome 如何使用 DPAPI 加密该数据的信息,因此我更改了新计算机中的密码和用户名以匹配旧计算机,然后再次复制该文件夹,但仍然没有。
因此,我阅读了更多内容,发现 DPAPI 使用主密钥文件,因此我继续将 %APPDATA%\roaming\microsoft 文件夹(应该包含该文件)复制到我的新 PC。所以现在我有相同的密码、用户名和主密钥文件,但我仍然无法让它工作。它要求我每次登录而不是使用 cookie/保存的密码。
有谁知道我在访问网站时还缺少什么让 Chrome 能够解密这些东西?
同样,如果有其他网站更适合这个,请告诉我。谢谢你。

标签: windowsgoogle-chromeencryptiondpapi

解决方案


至于 DPAPI 方面:用户的 S 标识符(这是一个内部“LSA 名称”(LSA=本地安全权限子系统),它是 Mastery 文件驻留在 Protect 目录下的文件夹的名称)两台计算机上的 Windows 操作系统)也用于从用户密码中获取密钥以解密主密钥文件。所以这些不能在任何其他计算机上使用(因为 S 标识符的大部分是在 PC 上创建用户时随机生成的,我相信不能手动设置)。理论上,使用开源工具可以重新加密旧 PC 的主密钥,使它们在新 PC 上有效,但坦率地说,这是一个 PITA。而且您仍然必须对最新的主密钥文件等进行一些处理。甚至没有 100% 的保证。

在 Chrome 本身中,当您在旧 PC 上打开它时,您可以以某种结构化格式导出所有密码信息,然后将它们传输到新 PC(例如通过 USB)并再次将它们导入 Chrome。您还可以打开 Chrome 同步(需要 Google 登录)并让“云”处理传输(密码同步是可选的,您可以选择通过 Google 凭据加密作为额外的安全选项;我不知道机制的内部结构。大多数密码管理器还提供了一种在不同计算机上的浏览器之间同步密码的方法,特别是如果它们已经提供浏览器集成。导出-导入选项对我来说似乎是最实用的。


推荐阅读