gpt4 book ai didi

.net - 如何保护 WCF 客户端应用程序中的敏感数据?

转载 作者:行者123 更新时间:2023-12-01 05:42:01 24 4
gpt4 key购买 nike

我有 WCF Web 服务和调用此服务的客户端,此客户端将部署在许多位置。我必须对每个客户进行唯一身份验证和授权。因此,每个位置都有其唯一的用户名和密码。

现在我的问题是

  • 如何唯一地识别每个客户端?
  • 如何在客户端存储一些敏感数据?

  • 我想了几个办法,
  • 使用证书来识别客户端。我必须生成和部署证书。
  • 在服务器端有一个事件目录,让每个客户端使用一个 Windows 用户帐户。
  • 加密用户名和密码并将它们存储在配置文件中。我相信使用 aspnet_regiis 加密配置文件不会帮助我,因为任何人都可以解密它,如果他们获得对机器的访问权限。
  • 最佳答案

    你的问题可以分为三个部分。两个与 WCF 中的安全性直接相关,一个超出范围。

    认证授权 - 是的,这是可能的。 WCF 提供了多种设置来允许对客户端进行身份验证并提供其角色。您也可以构建自己的。对不在 AD 域中的客户端进行身份验证的最常见方案是使用用户名和密码凭据以及对服务的自定义验证或使用客户端证书。

    保密诚信 - 由于您对安全性的关注,您还应该涉及凭据(和消息数据)的安全传输。如果您不提供安全传输,网络上的任何人都将能够嗅探通信并窃取凭据(或数据)。攻击者还将能够拦截通信并修改传输的数据。为了确保通信安全,您需要传输安全(TLS、SSL/HTTPS)或消息安全 - 在由证书提供的 Internet 场景中。

    保护客户端凭据 - 这主要是你无法控制的。一旦您将带有凭据的客户端应用程序部署到不受您控制的客户端计算机,您将永远无法强制执行所提供凭据的安全性。这取决于您的用户/客户。如果您以某种方式在您的应用程序熟练的最终用户/攻击者中包含凭据,则可能总是能够获得它们。但这是每个安全解决方案的问题 - 必须有人可以访问凭据。

    关于.net - 如何保护 WCF 客户端应用程序中的敏感数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4924595/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com