保护用于在 .NET 程序集中进行加密的密码
本文关键字:加密 密码 集中 程序集 用于 NET 程序 保护 | 更新日期: 2023-09-27 18:30:38
我继承了一个用C#/.NET 4编写的项目,该项目滚动了自己的对称加密程序集。程序集被编写为使用 RijndaelManage,但在程序集中以明文形式包含种子。程序集的简单反编译会显示种子,并使所有加密变得毫无意义。
所以现在我不想在安全方面改变一切,同时继续使用加密程序集/DLL。那么,暂时提高安全性的最佳方法是将密码存储在注册表中并让 DLL 从那里访问它?至少这样,机器本身也需要被渗透以获取密码,然后才能有人使用它来暴力登录?
可以使用非对称加密来保护种子。
在计算机上安装私钥,并仅向运行 ASP.NET 应用池的帐户授予读取权限。使用公钥加密种子,并将其存储在注册表或磁盘中的某个位置。现在,Web 应用程序可以使用私钥解密种子。
请参阅此处有关非对称加密的部分:http://msdn.microsoft.com/en-us/library/as0w18af(v=vs.110).aspx