我可以同时使用本地机器和当前用户吗?

本文关键字:用户 机器 我可以 | 更新日期: 2023-09-27 18:36:21

如何在数据保护 API 范围?我想加强安全性。

我可以同时使用本地机器和当前用户吗?

你不能。它们有不同的目的。使用本地计算机保护,所有机密(最终)都受到 20 字节 LSA 机密DPAPI_SYSTEM的保护,该对于给定计算机上的所有用户都是相同的。因此,机器上的任何人都可以在登录时解密 blob 数据。

使用 CurrentUser,只有当前用户(或计算机所属的 Windows 域中的管理员)在登录时才能解密数据,因为密钥受其登录密码的哈希值保护。

因此,添加 LocalMachine 只会降低安全性,因为更多人(可能)可以访问它。并且系统中加密的当前设置(对程序员隐藏)根本不允许它。

我可以同时使用两者的唯一方法是使用 DPAPI 两次:使用 LocalMachine 保护机密,到某个 blob B,然后使用 CurrentUser 标志保护新的最终 blob。(其他顺序也是可能的。但它没有任何增强:同一个用户仍然可以访问它,现在只需要两倍的时间。