在哪里存储AesCryptoServiceProvider的Key和IV?

5Yr*_*DBA 8 .net c# security

我们有一个C#(.net 3.5)应用程序.在安装过程中,我们使用AesCryptoServiceProvider加密配置文件中的一些有用信息.这些信息将在应用程序运行时由应用程序解密.所以应用程序需要知道KeyIV

我们正在考虑存储KeyIV机器上的安全地方的byte [].我知道有一个machine store可以存储RSA密钥对.我可以在那里存储KeyIVbyte []吗?我在网上搜索并阅读了MSDN文档,但找不到办法.

你知道怎么做吗?你有什么好主意吗?

roo*_*ook 5

你正在尝试的是加密违规.加密密钥通常以纯文本形式存储在配置文件中.IV通常与数据存储中的密文一起存储.只要您不违反CWE-329,您就应该采用这种设计.

所有这些都打破了你的意思是你试图隐藏与密钥相同的机器上的密文.攻击者在哪里?如果他已经在你的机器上,那么他可以启动调试器并读取内存中的密钥或纯文本.密码学无法解决这个问题,您正在寻找的是Security It Obscurity(这不是一个安全的解决方案).