Windows 凭据管理器的安全性如何?

信息安全 视窗 证书
2021-08-11 23:30:47

我是 Lastpass 用户,很多时候我都想过切换到 Credential Manager,以实现自动同步和对 Windows 环境的一定舒适度。我唯一担心的是它的安全性。我听说一旦某人获得了对您计算机的访问权限,就很容易访问这些凭据,是这样吗?

我应该坚持使用 Lastpass 并在未来检查最终的改进吗?

2个回答

Windows 凭据管理器一点也不安全。它在用户帐户级别是“安全的”,这意味着用户曾经运行的任何进程以及用户本身都必须受到信任,才能直截了当地称该系统“安全”。

使用 Windows 凭据管理器的唯一半安全方式是存储预先散列的值,然后验证这些散列。但是,由于用户运行的任何提升的进程对该用户的凭证存储都具有完整的读/写能力,因此根本无法信任它。

让我们在本地锁定应用程序的意义上考虑“安全”。让我们以内容过滤器为例,该过滤器锁定设置页面以防止孩子启用成人内容,使用凭据管理器存储自定义凭据。试图绕过这一点的同一用户可以轻松地做到这一点。用户可以访问控制面板中的凭据管理器,尽管这些值以星号 (*****) 显示,但他们可以简单地删除该值并替换它。删除你的哈希,放入他们自己的。

更愚蠢的是,控制面板会显示星号,但如果您使用代码访问适用的 API,则可以获取纯文本形式的值。所以密码是不安全的,哈希等你验证锁定的东西是不安全的。它不安全,是一块垃圾,我很长一段时间都在努力理解它的用处,除了微软显然拥有你所有可以出售给 NSA 的密码的纯文本副本。

请注意
,我意识到您可以采取一些措施在存储内容之前对其进行加密,正确地散列它们等,但我的批评仍然适用,因为做这些额外的事情是在创建安全性,而不是 Windows 凭据管理器。我对 Windows 凭据管理器的问题是它宣传通过其提供的 GUI 和/或 API 使用它是安全的。

我听说一旦某人获得了对您计算机的访问权限,就很容易访问这些凭据,是这样吗?

不是这样。

存储在您的凭证保险库中的密码(最终)使用您的 Windows 密码进行加密。为了访问加密的凭据,他们需要知道您的密码。

  • 如果有人知道您的 LastPass 密码,他们可以访问您存储的加密密码
  • 如果有人知道您的 Windows 密码,他们可以访问您存储的加密密码

但是,如果有人访问了您的计算机:

  • 他们无法访问您的 LastPass 密码(因为它们已加密)
  • 他们无法访问您的保险柜密码(因为它们已加密)

奖金阅读

数据保护 API 中的技术细节 🕗