我正在用ASP.NET MVC创建一个Web应用程序,并且我想在数据库中存储一些密码。何处存储AES密钥?
密码必须是可恢复的。 (他们不是为我自己,我需要密码来与API通信,这需要真正的密码)所以我不能使用散列算法等。
我发现AES
对我来说是一个很好的加密算法。
但问题是:在哪里存储AES密钥?存储在appsettings
里面web.config
够了吗?如何使关键更难找到(黑客)?
接下来的问题:任何想法使这个系统更安全?
我正在用ASP.NET MVC创建一个Web应用程序,并且我想在数据库中存储一些密码。何处存储AES密钥?
密码必须是可恢复的。 (他们不是为我自己,我需要密码来与API通信,这需要真正的密码)所以我不能使用散列算法等。
我发现AES
对我来说是一个很好的加密算法。
但问题是:在哪里存储AES密钥?存储在appsettings
里面web.config
够了吗?如何使关键更难找到(黑客)?
接下来的问题:任何想法使这个系统更安全?
可以加密.config文件的各个部分。 Here is the msdn documentation,但您也可以在网上找到其他演练。
谢谢,但加密'web.config'有足够的安全性吗?如何使这个系统更安全? –
当然,您可以用另一个密钥加密一个密钥,然后使用另一个关键广告的恶心加密该密钥。但是,想想你想要达到的目标是否值得,那就是限制信息的获取。实现这一点的方法有很多,其中大部分都不是加密。 –
那么,你推荐什么方式?将密钥存储在web.config中并且足够加密web.config? –
是的,这当然可以成为你的*密钥管理*方案的一部分(因此评论)。我只是确保你不只是在看加密机制。你去哪里解密'web.config'的密钥?谁有权访问它? –