连接字符串中的用户名和密码如何安全?

sni*_*its 6 c# database ado.net sqlconnection

在开发Windows应用程序时:

  1. 如何在连接字符串中保护用户名和密码?

  2. 像银行这样的组织,是否会将数据库的用户名和密码提供给应用程序开发人员?如果不是通常的话,那些应用程序开发人员如何编写数据库连接?

  3. 在连接字符串中保护用户和密码的行业标准是什么?

谢谢

Joe*_*Joe 4

  1. 如何保护连接字符串中的用户名和密码?

使用 Windows 身份验证来消除连接字符串中对密码的需要,或者使用以下一项或多项的组合:

  • 加密,例如使用受保护的配置

  • 限制对配置文件的访问,例如使用 ACL。

请注意,上述技术适用于服务器应用程序(例如 ASP.NET),其中对服务器的访问可以限制为授权管理员。它不适用于直接访问数据库的客户端应用程序。

还要注意,加密本身是不够的:它只是用控制对加密密钥的访问的问题来代替控制对明文配置文件的访问的问题。使用受保护的配置时,您需要决定如何限制对用于加密配置文件的加密密钥的访问。

2. 像银行这样的组织,他们会将其数据库的用户名和密码提供给应用程序开发人员吗?如果不是,那些应用程序开发人员通常如何编写数据库连接?

一般来说,开发人员只会获得在开发/测试环境中访问数据库的凭据。对生产数据库的访问将受到限制。

3. 连接字符串中保护用户和密码安全的行业标准是什么?

没有“行业标准”,但请参见问题1的答案。