- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
假设有人可以访问我的所有硬盘,我猜弱点就是我的 Windows 密码。在不知道/无法检索的情况下,数据应该非常安全,不是吗?
我特地询问是因为 EFS entry在维基百科中指出
In Windows 2000, the local administrator is the default Data Recovery Agent, capable of decrypting all files encrypted with EFS by any local user.
而EFS恰好使用了DPAPI。这同样适用于我自己使用此保护的数据:
ProtectedData.Protect(plain, null, DataProtectionScope.CurrentUser);
如果确实是这样,我该如何预防呢?
[编辑] 注意我正在尝试存储 winforms 应用程序的凭据,以便用户不必在每次登录时都输入密码。换句话说,如果某人能够以该用户身份登录(即知道用户密码),那么他们也可以读取加密数据。
哪个 - 不是来自 Windows 背景 - 现在让我想知道 - 本地管理员不能以任何本地用户身份登录吗?在那种情况下,我不应该担心管理员无论如何都能够检索密码......
[Edit2] 正如谷歌所揭示的那样,看起来管理员不能只是以任何用户身份登录而不先重置/更改他们的密码。所以我的问题似乎仍然相关...
最佳答案
EFS 使用 DPAPI,而不是相反。管理员无法像那样读取您的 key 。
在忘记 DPAPI 之前,我会考虑替代方案。如果您自己加密文件,
DPAPI 在 1 到 3 方面做得很好。 4 和 5 没有实际意义。如果 Windows 密码不足以保护数据,问问自己为什么它就足够了 CRUD这些数据放在首位。
为了更好的安全性,如果可能的话,您可以考虑不保存数据,而是保存数据的(加盐)哈希。不过,它使您的数据只写。例如,如果您要验证客户许可证号:
如果您必须读回加密数据而本地加密 key 不够用,请考虑使用存储在智能卡上的私钥加密您的应用程序 key (上述第 2 步)。
无论哪种方式,请记住事情总会发生。您总是在某处需要备份 key 。
关于c# - ProtectedData.Protect (DPAPI) 有多安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4756046/
对于密码加密,我想使用 ProtectedData。 据我所知,这是 CryptProtectData 的包装器。 MSDN 只对基于用户凭据的加密做了一些模糊的说明并且解密通常必须在同一台机器上完成
我正在考虑在我正在处理的应用程序中存储一些敏感数据。我一直在查看 Microsoft 提供的 ProtectedData 类,它看起来非常简单。但是,我有几个关于它如何工作的问题。 首先,我看到它使用
我们有一个构建过程,需要解密密码,然后使用该密码连接到数据库。我们使用数据保护 API (DPAPI) 通过 PowerShell 在构建服务器上的计算机范围内加密密码(我使用自己的域帐户登录): [
我正在编写密码加密例程。我写了下面的应用程序来说明我的问题。大约 20% 的时间,此代码按预期工作。其余时间,解密会抛出加密异常 - “数据无效”。 我认为问题出在加密部分,因为解密部分每次都一样。也
我想以一种安全的方式保存用户详细信息,所以我的目的是获取一个包含凭据的类,对其进行序列化,使用 protectedData 对其进行加密,然后将这个新的加密数据保存在隔离存储中。我有以下保存方法
假设有人可以访问我的所有硬盘,我猜弱点就是我的 Windows 密码。在不知道/无法检索的情况下,数据应该非常安全,不是吗? 我特地询问是因为 EFS entry在维基百科中指出 In Windows
假设我加密数据并将其写入如下文件: byte[] encrypted = ProtectedData.Protect(plain, null, DataProtectionScope.Curr
对于写入 txt 文件的数据的加密/解密,我尝试使用 System.Security.Cryptography.ProtectedData.Protect 和 Unprotect 方法。这些方法的参数
我想知道是否有人在网络农场环境中成功地将 DPAPI 与用户存储一起使用? 因为我们的应用程序是最近从 1.1 转换为 2.0 ASP.NET 应用程序,所以我们使用了直接调用 CryptUnprot
我需要在本地数据库中存储和检索敏感数据 - 此数据由 Web 应用程序使用。 为了保护上述数据,我选择使用 ProtectedData 类。 IIS 应用程序正在使用特定的 AD 用户运行(高级设置中
如果加密是通过 ProtectedData CurrentUser 使用的,并且我有一个使用 Forms 身份验证的站点(带有自定义成员资格模块,我认为这不会有什么不同),它可以跨多个不同的 Web
我在尝试使用 System.Security 的加密代码时收到运行时错误。我添加了对 System.Security 的引用,一切看起来都不错,但我收到此错误:“编译器错误消息:CS0103:名称‘P
所以我尝试在 System.Security.Cryptography.ProtectedData 对象中使用 Unprotect 方法并不断收到异常: cryptographicexception
我在看System.Security.Cryptography.ProtectedData.Protect @ https://docs.microsoft.com/en-gb/dotnet/api/
我正在测试使用 .net v4 的 System.Security.Cryptography.ProtectedData() 和 UnprotectData() 方法与 DataProtectionS
我已经按照 this article 中的描述引用了文件 System.Security.dll但是根据我的 IDE,行 using System.Security.Cryptography; 可以安
我正在尝试在 Windows Server 2012 Datacenter 上部署 .NET Core 应用程序。 我已经安装了.NET Core Windows Server Hosting bun
我有 windows phone8.0 (silverlight) 应用程序,我想升级到 UWP。在 Windows Phone 8.0 应用程序中,我使用“ProtectedData.Protect
我的旧 (WP-8.0-Silverlight) 应用程序使用 ProtectedData.Protect 方法以安全的方式保存数据。我想将我现有的应用程序升级到 Windows Phone 通用应用
我是一名优秀的程序员,十分优秀!