Tag: 密码存储

使用Windows .NET或ASP.NET应用程序时,存储数据库密码的位置

我有一个困扰我多年的情景。 如果必须使用用户名和密码连接到数据库或其他服务(如Web服务),那么在通过.NET程序集连接时,哪里是存储此信息的最安全的位置? 我知道你必须加密密码,但是你遇到了一种鸡蛋问题 – 很好 – 你可以加密它,但是你把密钥放在哪里? 在.NET中,您无法对密码进行硬编码,因为您可以反编译.NET代码。 我查看了使用基于程序集的权限与隔离存储,但MS建议不要存储未加密的秘密项目,因为有资格的用户可以获得访问权限,所以我们再次将问题从A点移动到B点。所以对于例如,域管理员无需知道数据库中的信息就能够访问,因为能够成为域上任何工作站的管理员。 您可以加密App.Config和Web.Config,但我相信用户可以访问密钥。 我认为你遇到了与DPAPI相同的问题。 我曾考虑过存储密码,在远程数据库中加密并通过操作系统身份validation获取密码,但我们的部门禁止在数据库服务器上存储密码。 我很确定我被卡住并想要确认。