小编Wal*_*eel的帖子

ProtectedData.Protect(DPAPI)的安全性如何?

假设有人访问我的所有硬盘,我想弱点将是我的Windows密码.在不知道/无法检索的情况下,数据应该非常安全,不是吗?

我特别要求,因为维基百科中的EFS条目表明了这一点

在Windows 2000中,本地管理员是默认的数据恢复代理,能够解密任何本地用户使用EFS加密的所有文件.

和EFS碰巧使用DPAPI.这同样适用于我自己使用此保护的数据:

ProtectedData.Protect(plain, null, DataProtectionScope.CurrentUser);
Run Code Online (Sandbox Code Playgroud)

如果确实如此,我怎么能阻止它呢?

[编辑]注:我试图保存凭据WinForms应用程序,使用户不必输入密码每次登录的时间.换句话说,如果有人能够登录为用户(即知道用户密码),那么他们很可能会成为能够读取加密的数据.

哪个 - 不是来自Windows背景 - 现在让我想知道 - 本地管理员不能像任何本地用户一样登录吗?在这种情况下,我不应该担心管理员无论如何都能够检索密码......

[Edit2]正如谷歌所揭示的,看起来管理员不能像任何用户一样登录而不首先重置/更改密码.所以我的问题似乎仍然相关......

.net c# encryption

17
推荐指数
2
解决办法
2万
查看次数

密码更改后,ProtectedData.Unprotect(DPAPI)停止工作

假设我加密数据并将其写入如下文件:

byte[] encrypted =
    ProtectedData.Protect(plain, null, DataProtectionScope.CurrentUser);
File.WriteAllBytes(filename, encrypted);
Run Code Online (Sandbox Code Playgroud)

解密就像直截了当:

byte[] encrypted = File.ReadAllBytes(filename);
byte[] decrypted =
    ProtectedData.Unprotect(encrypted, null, DataProtectionScope.CurrentUser);
Run Code Online (Sandbox Code Playgroud)

现在,当我在保护和取消保护的调用之间更改我的Windows密码时,Unprotect将抛出异常.我确实希望将加密数据链接到我的用户帐户,但我也希望它能够在密码更改后继续使用.

我想我必须交给Windows中的数据,而不是将其写入到我自己的文件,以便Windows可以在更改密码重新加密.我只是找不到告诉我如何的文档.有人知道吗?

c#

7
推荐指数
1
解决办法
1685
查看次数

标签 统计

c# ×2

.net ×1

encryption ×1