在哪里存储AES密钥?

13

我正在使用ASP.NET MVC创建一个Web应用程序,并想将某些密码存储到数据库中。

这些密码必须是可恢复的。(它们不是为了我自己而存在,我需要密码来与需要真实密码的API进行通信) 因此,我无法使用哈希算法或类似的东西。

我发现AES是我很好的加密算法。

但问题是:在哪里存储AES密钥?仅在web.configappsettings中存储足够吗?如何使密钥更难寻找(对于黑客)?

还有下一个问题:有没有任何想法使这个系统更安全?


当然,你可以用另一个密钥加密一个密钥,然后无限循环地用另一个密钥加密该密钥。但是,值得考虑的是你想要实现的目标,那就是限制对信息的访问。有很多方法可以实现这一点,而其中大部分与加密无关。 - Maarten Bodewes
那么,你推荐哪种方式?将密钥存储在web.config中并加密web.config足够安全吗? - Mahdi Ghiasi
是的,那肯定可以成为您的密钥管理方案的一部分(因此有评论)。我只是想确保您不仅仅关注加密机制。您将在哪里获取解密web.config的密钥?谁可以访问它? - Maarten Bodewes
目前,我将密码的密钥存储在 web.config 的 appsettings 中,然后使用 asp.net 内置方法加密 web.config。(请参见:https://dev59.com/R3VD5IYBdhLWcg3wNIvc)但是,我想让这个过程更安全。 - Mahdi Ghiasi
1个回答

3

您可以加密.config文件的部分内容。这里是有关该主题的MSDN文档(链接),当然您也可以在其他在线教程中找到相关信息。


谢谢,但是仅加密 web.config 足够安全吗?如何使这个系统更安全? - Mahdi Ghiasi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接