我最近和一位同事进行了讨论。
我们需要确保在.config文件中的连接string(对于SOX合规性),并find两个选项:
在MSDN(保护连接信息(ADO.NET)) 这篇文章中提到这两种方法,但不清楚这些选项哪个更安全或哪种方法是推荐的。
那些有这两种或两种经验的人,可以请你分享一下你使用过的,为什么?
澄清我的问题 – 两个选项中哪一个更安全,为什么?
对于在磁盘上存储凭据的相同问题,这是两种不同的解决scheme:
使用Windows身份validation意味着在用户(最好是服务)帐户的上下文中运行客户端进程,并根据您的环境允许使用NTLM Kerberos进行身份validation。 请注意,使用Windows身份validation意味着两个端点在相同或信任的域中运行,或者共享一个“镜像帐户”。 当您允许Windows身份validation时,您不需要将用户名/密码存储在磁盘上,因为使用分配给客户端进程的进程令牌处理身份validation。
encryption连接string意味着你将encryption的用户名/密码存储在磁盘上。 由于使用这些证书进行身份validation需要使用可逆encryption进行存储,并且此解密的密钥也存储在本地系统上,这意味着任何有权访问计算机的人都可以使用这些凭证。
HTH