微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.net – Windows DPAPI – 如何处理熵?

我正在使用Windows DPAPI为我加密一些敏感数据.密码存储注册表中.这一切都很好,但我想知道是否有人可以澄清我对.NET中的ProtectedData.Protect()提供的“熵”字节的理解.

‘熵’字节数组似乎类似于与其他加密方案一起使用的初始化向量或盐,但我看不到MSDN中熵字节的良好描述.代码示例我刚刚看到熵字节中的硬编码!

熵字节是否提供给ProtectedData.Protect()& ProtectedData.Unprotect类似于IV或盐?因此,熵字节是否可以安全地存储在密码旁边,还是会危及安全性?

熵是特定于正在保护数据的应用程序的次要密钥.如果我记得正确的一般想法是允许多个应用程序在单个用户帐户下加密数据,但仍然保持彼此之间的安全性.例如,您的应用程序可能会加密UserA下的数据.如果我的应用程序希望在UserA下解密该数据,那么DPAPI使用用户密钥确实没有什么可阻止我这样做.然而,如果您考虑应用程序特定的“熵”,那么我需要知道您的熵来解密任何数据以保护UserA.

熵可以被认为类似于盐,因为它是用于进一步抽取加密内容的附加密钥或秘密.与盐不同,您的应用程序的熵将需要在给定凭证下的每个加密操作保持不变.用盐,它通常最好尽可能多地改变它.

熵本质上是一个附加的关键,它应该像任何其他加密密钥一样对待.保持私密和安全.

BTW,我认为“熵”是为了这个目的而使用的一个残酷的话.像“差异化”这样的东西,或者甚至可能使一个像“独特者”一样的词会更好一些. :P非常混乱的术语使用.

原文地址:https://www.jb51.cc/windows/371493.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐