我正在使用AES算法加密和解密密码当 PasswordFormat是加密的asp.net成员制度。如果格式是哈希格式,我将为每个密码生成唯一的盐渍值,并将其存储在存储密码的表中的一个列中。但是对于加密,我担心的是下面的不同
1
如果我为每个密码生成唯一的IV,Key,那么我必须在某个地方维护它们。从安全的角度来看,这种做法正确吗?
2
如果我在应用程序configuration(web.config)文件中使用HardCode IV和Key,那么我将不得不担心当上面的任何一对更改时会发生什么?我该如何处理这种情况?
3.
告诉我你对我该做什么的想法。我将把它们放在这里:)
发布于 2012-02-15 23:17:53
答案:
选择像PBKDF2这样的函数并存储其结果要好得多。关键管理是一件棘手的事情,如果不知道如何进行(如果你这样做的话,请聘请专业人员),就不应该选择。
最后,IV的全部思想是,当使用相同的键时,它保护纯文本。如果每个纯文本/密码文本对都有一个键,则可以将IV设置为全部为零。但是,您可以使用存储在某个保存位置的单个密钥,以及存储在密码文本中的随机IV。
如前所述,如果您还不知道这一点,那么您的计划是不安全的,因为有许多其他的事情需要考虑,而您可能没有。
PS Microsoft有一些在系统中安全存储密钥的方法,您可能需要搜索堆栈溢出。然而,我并不是MS的专家。
https://stackoverflow.com/questions/9077293
复制相似问题