-1

如何在数据保护 API 范围内同时使用 LocalMachine 和 CurrentUser?我想加强安全性。

4

1 回答 1

0

你不能。他们有不同的目的。使用 LocalMachine 保护,所有机密(最终)都受到 20 字节 LSA-secret DPAPI_SYSTEM 的保护,这对于给定机器上的所有用户都是相同的。因此,任何一台机器都可以在登录时解密数据块。

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

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

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

于 2016-04-09T05:32:24.890 回答