哪个更安全 – Windows身份validation或encryption的configuration部分?

我最近和一位同事进行了讨论。

我们需要确保在.config文件中的连接string(对于SOX合规性),并find两个选项:

  • encryption连接stringconfiguration部分
  • 对连接string使用Windows身份validation

在MSDN(保护连接信息(ADO.NET)) 这篇文章中提到这两种方法,但不清楚这些选项哪个更安全或哪种方法是推荐的。

那些有这两种或两种经验的人,可以请你分享一下你使用过的,为什么?

澄清我的问题 – 两个选项中哪一个更安全,为什么?

对于在磁盘上存储凭据的相同问题,这是两种不同的解决scheme:

  1. 使用Windows身份validation意味着在用户(最好是服务)帐户的上下文中运行客户端进程,并根据您的环境允许使用NTLM Kerberos进行身份validation。 请注意,使用Windows身份validation意味着两个端点在相同或信任的域中运行,或者共享一个“镜像帐户”。 当您允许Windows身份validation时,您不需要将用户名/密码存储在磁盘上,因为使用分配给客户端进程的进程令牌处理身份validation。

  2. encryption连接string意味着你将encryption的用户名/密码存储在磁盘上。 由于使用这些证书进行身份validation需要使用可逆encryption进行存储,并且此解密的密钥也存储在本地系统上,这意味着任何有权访问计算机的人都可以使用这些凭证。

HTH