如果我使用 https,设置建立安全上下文 =“假”有啥影响?

Posted

技术标签:

【中文标题】如果我使用 https,设置建立安全上下文 =“假”有啥影响?【英文标题】:What are the impacts of setting establishSecurityContext="False" if i use https?如果我使用 https,设置建立安全上下文 =“假”有什么影响? 【发布时间】:2010-12-13 14:43:20 【问题描述】:

我的 WFC 服务使用 wsHttpBinding 配置:

<security mode="TransportWithMessageCredential">
    <message establishSecurityContext="True" clientCredentialType="UserName"/>
    <transport clientCredentialType="None" proxyCredentialType="None"/>
</security>

我们的一个合作伙伴正在尝试使用 java Metro 库来调用我们的服务。他们有this 的问题。我必须设置 setupSecurityContext="False" 才能正常工作。我们做了一个快速测试,当我将它设置为 false 时它确实有效。

不使用安全会话会有什么影响(通过设置建立安全上下文=“假”)。我已经在https上运行了。那么在安全方面我可以吗?还有其他需要考虑的影响吗(可能是性能)?

谢谢

【问题讨论】:

【参考方案1】:

不同之处在于,在启用了非 SCT(安全上下文令牌)的端点上,密钥交换和验证必须在每次调用时完成,而不是只完成一次并为会话缓存,并且仅在消息中传递 SCT反而。 SCT 基于对称密钥,这使得它们对消息的签名/加密效率更高。当期望客户端连续进行多次调用时,使用 SCT 非常好,因为它减少了每次都进行一次性密钥交换和验证的需要。

我建议您只为不支持 SCT 的客户端公开另一个端点并告诉他们使用它。可以使用您始终指向默认端点的 SCT 的客户端并保留它带来的所有好处。

有关此主题的更多信息,请查看section three of the WS-SecureConversation documentation。

【讨论】:

关于使用单独端点的优秀建议 - 允许每种客户端类型为他们使用“最佳”端点! Drew,我的客户在每次服务调用时都会打开和关闭他们的频道。即使我启用了安全会话;他们没有得到这样的好处。对吗? 没错。如果您关闭,您将终止会话并且将失去任何好处。就像我说的,最好是自己汇集客户或连​​续拨打多个电话。另外,我没有指出,但请记住,使用 SCT 意味着您在服务器端使用会话,因此请记住这一点。例如,maxConcurrentSessions 的默认值为 10。 一个老问题,但仍然相关。 SCT 似乎没有通过 HTTPS 级别的负载平衡器,它充当 SSL 终结器,即使不使用 SSL 卸载。 IE。客户端使用 SSL 访问负载均衡器,后者终止并开始与负载均衡器后面的某些机器建立新的 SSL 连接。这不适用于相互 SSL 身份验证,似乎也不适用于 SCT。

以上是关于如果我使用 https,设置建立安全上下文 =“假”有啥影响?的主要内容,如果未能解决你的问题,请参考以下文章

iOS:如何建立安全的 HTTPS 连接以传递凭据?

linux centos常用命令

Linux命令基础6-mkdir命令

17.mkdir命令和rmdir命令

Linux中 mkdir 创建文件夹命令

lamp服务及正反向代理