哪个更安全 - Windows 身份验证还是加密配置部分?

哪个更安全 - Windows 身份验证还是加密配置部分?

我最近和一位同事讨论过这个问题。

我们需要保护文件中的连接字符串.config(为了符合 SOX 标准),并发现两个选项:

  • 加密连接字符串配置部分
  • 使用带有连接字符串的 Windows 身份验证

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

那些对其中一种或两种都有经验的人,能否分享一下您使用过哪一种以及原因?

为了澄清我的问题 - 这两个选项哪一个更安全以及为什么?

答案1

它们是针对在磁盘上存储凭据的同一问题的两种不同解决方案:

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

  2. 加密连接字符串意味着您将在将用户名/密码存储在磁盘上之前对其进行加密。由于使用这些凭据进行身份验证要求使用可逆加密存储它们,并且解密的密钥也存储在本地系统上,这意味着任何有权访问计算机的人都可能获得这些凭据。

高血压

相关内容