知道Rfc2898DeriveBytes中使用的盐有安全隐患吗?

时间:2013-05-28 22:32:30

标签: security encryption rijndaelmanaged

很抱歉,如果这是重复的,但我找不到任何与数据库加密无关的内容。我的问题不在于数据库。我有一组使用RijndaelManaged加密的文件。在加密代码中,我使用Rfc2898DeriveBytes生成密钥,给定密码和盐以及一定数量的迭代。实际上,盐并不是安全存储的(只是一个字符串)。

我想知道:有权访问我的代码的人可以轻松获取盐(例如,反汇编dll),当然还有迭代次数。

这是多少安全风险,理所当然地认为密码本身并不容易检索(是的,现在让我们理所当然)?

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

一个明显的担忧是被窃取的代码比被盗的数据库更容易被发现......

1 个答案:

答案 0 :(得分:0)

简而言之,盐可以用明文保存。但是,您应该为文件中的每个密码存储唯一的salt(请参阅this)。这样,没有人可以为存储在文件中的所有密码创建Rainbow table(请注意,他们仍然可以为文件中的一个密码创建彩虹表)。

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

Hashing