【问题标题】:Windows Authentication / Encryption in WCF With NetTcpBinding使用 NetTcpBinding 在 WCF 中进行 Windows 身份验证/加密
【发布时间】:2009-12-17 16:50:52
【问题描述】:

我正在尝试了解 Windows 身份验证/加密如何与 WCF 中的 NetTcpBinding 一起工作。我需要确切地知道使用什么加密算法来加密通过网络传输的数据(以及一些证明它的文档)。如果客户端和/或主机不在域中,Windows 身份验证/加密是否仍然有效?

【问题讨论】:

    标签: wcf nettcpbinding


    【解决方案1】:

    使用 Windows 凭据的 netTcpBinding 要求调用者和服务位于同一域中 - 或至少位于相互信任的域中。否则,服务器将无法验证 Windows 凭据并拒绝服务调用。

    至于加密:您甚至可以选择您喜欢的加密方式! :-) TripleDES, AES - 你的名字,也有不同的密钥长度。

    请参阅Fundamentals of WCF Security 文章 - 它讨论了安全和加密的各个方面;另请参阅Securing Services 上的 MSDN 文档,其中包含更多详细信息;可以在 here 找到一个很好的概述,其中显示了 basicHttp 传输安全元素的属性。

    【讨论】:

      【解决方案2】:

      去年我不得不使用 wcf 实现一个分布式系统,该系统需要一种跨系统所有层的安全且高性能的机制。我们决定通过创建二进制加密令牌来创建自己的安全架构。加密令牌包含给定用户拥有的所有权限。

      因此,例如,用户将登录到系统,如果成功通过身份验证,它将收到一个加密的令牌返回。此令牌本地存储在 Web 客户端上。用户的所有进一步请求都将包含该令牌。该令牌用于架构的多个级别。 Web 服务器将使用它来决定启用或禁用哪些视觉元素。由于服务层暴露在互联网上,每个打开的门都会检查令牌以进行身份​​验证,并检查该令牌是否具有执行给定任务的适当权限。业务层可以再次检查令牌中包含的更具体的权限。

      优点:

      • 不管我们使用的是 NetTcpBinding 还是任何其他类型的绑定(而且我们确实使用了不止一种类型的绑定)。
      • 我们节省了很多往返数据库的次数
      • 我们可以在不同的平台上使用相同的令牌

      我知道它可能无法回答您的具体问题,但它可能会在您仍在决定系统的层内架构时为您提供一些思考。

      【讨论】:

      • 这听起来很有趣。您是否有任何示例或参考可以指向我以实现此目的?初始登录数据是否加密? (用户名和密码)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-24
      • 1970-01-01
      • 2012-09-30
      相关资源
      最近更新 更多