Windows DPAPI 和密码重置

Windows DPAPI 和密码重置

我想以只有授权用户才能使用的方式存储应用程序的私钥。在这种情况下,域管理员无权使用此私钥。

我想设置一个帐户,以便将密钥存储在帐户证书存储中,并使用 DPAPI 加密。据我所知,域帐户是不可能的 - 基于https://support.microsoft.com/en-us/help/309408/how-to-troubleshoot-the-data-protection-api-dpapi,域管理员可以重置密码并且商店重新加密。

但这留下了使用本地帐户的选项 - 如果本地管理员重置密码,是否会丢失对主密钥的访问权限?

答案1

DPAPI 的主密钥使用用户的 SID 加上用户密码的哈希值进行加密。可以使用多个密码哈希值。

如果用户通过提供旧密码和新密码来更改密码,则仍然可以访问 DPAPI 数据,新密码哈希用于输入主密钥。

但是,如果管理员使用net user或其他命令重置密码并且不知道旧密码,则对 DPAPI 数据的所有访问权限都将丢失。

如果将密码改回原来的密码,则可以再次访问数据,因为原始加密仍然可用。

对您来说,测试这一点应该相当容易。

相关内容