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

开发
Windows应用程序时:

>我如何保护连接字符串中的用户名和密码?
>银行等组织是否会向应用程序开发人员提供其数据库的用户名和密码?如果不是典型的那些应用程序开发人员如何编写DB Connections?
>在连接字符串中保护用户和密码的行业标准是什么?

谢谢

最佳答案

  1. How I secure the user name and password in the connection string?

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

>加密,例如使用Protected Configuration.
>限制对配置文件的访问,例如使用ACL.

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

另请注意,加密本身是不够的:它只是通过控制对加密密钥的访问的问题来取代控制对纯文本配置文件的访问的问题.使用受保护的配置时,您需要决定如何限制对用于加密配置文件的加密密钥的访问.

2.
Organizations like banks, would they give out the user name and password of their DB to application developers? if not typically how those applications developers write the DB Connections?

通常,开发人员只能获得在开发/测试环境中访问数据库的凭据.将限制对生产数据库的访问.

3.
What is the industry standard to secure user and password in the connection string?

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

点赞