【发布时间】:2009-12-17 16:50:52
【问题描述】:
我正在尝试了解 Windows 身份验证/加密如何与 WCF 中的 NetTcpBinding 一起工作。我需要确切地知道使用什么加密算法来加密通过网络传输的数据(以及一些证明它的文档)。如果客户端和/或主机不在域中,Windows 身份验证/加密是否仍然有效?
【问题讨论】:
标签: wcf nettcpbinding
我正在尝试了解 Windows 身份验证/加密如何与 WCF 中的 NetTcpBinding 一起工作。我需要确切地知道使用什么加密算法来加密通过网络传输的数据(以及一些证明它的文档)。如果客户端和/或主机不在域中,Windows 身份验证/加密是否仍然有效?
【问题讨论】:
标签: wcf nettcpbinding
使用 Windows 凭据的 netTcpBinding 要求调用者和服务位于同一域中 - 或至少位于相互信任的域中。否则,服务器将无法验证 Windows 凭据并拒绝服务调用。
至于加密:您甚至可以选择您喜欢的加密方式! :-) TripleDES, AES - 你的名字,也有不同的密钥长度。
请参阅Fundamentals of WCF Security 文章 - 它讨论了安全和加密的各个方面;另请参阅Securing Services 上的 MSDN 文档,其中包含更多详细信息;可以在 here 找到一个很好的概述,其中显示了 basicHttp 传输安全元素的属性。
【讨论】:
去年我不得不使用 wcf 实现一个分布式系统,该系统需要一种跨系统所有层的安全且高性能的机制。我们决定通过创建二进制加密令牌来创建自己的安全架构。加密令牌包含给定用户拥有的所有权限。
因此,例如,用户将登录到系统,如果成功通过身份验证,它将收到一个加密的令牌返回。此令牌本地存储在 Web 客户端上。用户的所有进一步请求都将包含该令牌。该令牌用于架构的多个级别。 Web 服务器将使用它来决定启用或禁用哪些视觉元素。由于服务层暴露在互联网上,每个打开的门都会检查令牌以进行身份验证,并检查该令牌是否具有执行给定任务的适当权限。业务层可以再次检查令牌中包含的更具体的权限。
优点:
我知道它可能无法回答您的具体问题,但它可能会在您仍在决定系统的层内架构时为您提供一些思考。
【讨论】: