知道Rfc2898DeriveBytes中使用的盐存在安全风险吗?



抱歉,如果这是一个重复,但我找不到任何不是以某种方式与DB加密相关的东西。我的问题不是DB。我有一组用RijndaelManaged加密的文件。在加密代码中,我使用Rfc2898DeriveBytes来生成给定密码和盐以及一定次数的迭代的密钥。碰巧的是,盐不是安全存储的(只是一个字符串)。

我想知道:访问我的代码的人可以很容易地获得盐(例如反汇编dll),当然还有迭代的次数。

假定密码本身不那么容易检索(是的,让我们现在假定它是理所当然的),那么这样做的安全风险是什么?

我假设没有密码解密是不可能的,或者至少需要一些时间来暴力破解…或者是对解密文件的分析?

一个明显的问题是被盗的代码比被盗的数据库更不容易检测…

总之,盐以明文形式储存是很好的。但是,您应该在文件中为每个密码存储一个惟一的salt(参见此)。这样,没有人可以为文件中存储的所有密码创建彩虹表(注意,他们仍然可以为文件中的一个密码创建彩虹表)。

有关整个哈希/密码存储过程的更多上下文,请参阅:

哈希

相关内容

  • 没有找到相关文章

最新更新