Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何保护熵?_C#_Security_Encryption_Dpapi - Fatal编程技术网

C# 如何保护熵?

C# 如何保护熵?,c#,security,encryption,dpapi,C#,Security,Encryption,Dpapi,DPAPI非常适合保护敏感信息!不幸的是,DPAPI“可选熵”基本上是另一条必须保护的敏感信息。讽刺的是 我可以使用哪些可能(秘密)的“熵”来源,这些来源很难猜测?或者,我如何保护熵?也许是隐写术 仅供参考:我并不完全依赖熵本身。我将有其他障碍和加密层。我只是想设置另一个障碍 其他仅供参考:出于偏执和好奇,我正在保护这只是一个个人项目。您可以使用RMS(Windows Rights Management Services),这是DRM安全方案用于非常类似目的的工具(在您的情况下,他们会将密钥(即

DPAPI非常适合保护敏感信息!不幸的是,DPAPI“可选熵”基本上是另一条必须保护的敏感信息。讽刺的是

我可以使用哪些可能(秘密)的“熵”来源,这些来源很难猜测?或者,我如何保护熵?也许是隐写术

仅供参考:我并不完全依赖熵本身。我将有其他障碍和加密层。我只是想设置另一个障碍


其他仅供参考:出于偏执和好奇,我正在保护这只是一个个人项目。

您可以使用RMS(Windows Rights Management Services),这是DRM安全方案用于非常类似目的的工具(在您的情况下,他们会将密钥(即熵)对用户隐藏,但用户帐户和计算机上的密钥除外).RMS再次依赖于DPAPI,但通过一个Microsoft称之为lockbox的系统。

用于DPAPI的熵不一定是敏感信息。它可以是一种简单的salt,用于防止字典/彩虹表类攻击,或者,如果需要额外保护,也可以是用户输入的密码。DPAPI确保通过用户凭据增强安全性,用户凭据被用作加密实际使用的密钥。因此熵也可以是硬编码到应用程序中的一些随机字符串。只要用户凭据得到很好的保护,您的数据就不会有风险。

@Teoman Soygul:奇怪,我找不到任何与.Ne一起使用的链接t、 无论如何,我知道这是正确的答案(我只需要做一些工作来实现它),所以我接受了它。谢谢!@Teoman,这个答案毫无意义。AD RMS用于完全不同的事情,例如保护Office文档的权限,而且安装起来也相当复杂。DRM->RMS->DPAPI(这项技术通常被称为“锁箱”技术)。尤其是“锁箱”技术的信息非常少(为了保密).AD RMS使用DPAPI存储一些敏感信息。这并不意味着您可以使用RMS存储敏感信息以用作DPAPI的熵…我认为您对其中的概念感到困惑。AD RMS是一个比DPAPI更大、更复杂的系统。