0

我想创建新的 WCF 服务和客户端。两方将使用 2-way SSL 进行通信。

我只想将 SSL 用于身份验证阶段。在此认证之后,不需要加密。我可以将我的服务(和客户端)配置为仅使用 SSL 进行身份验证,并且不加密连接(性能问题)吗?

4

2 回答 2

1

如果您想使用客户端证书执行身份验证(我认为您的意思是“2-way”SSL),您可以使用具有 NULL 加密的密码套件,例如TLS_RSA_WITH_NULL_SHA.

否则,如果您的身份验证方案是 SSL/TLS 之上的应用层的一部分,您当然应该考虑使用加密。

请注意,使用TLS_RSA_WITH_NULL_SHA仍将在握手中进行 RSA 密钥交换(即使最终没有实际使用共享加密密钥)。SSL/TLS 握手是使用 SSL/TLS 中计算量最大的部分。实际的加密不应该对性能产生几乎同样的影响,因此您不妨保留它。

于 2012-06-18T17:04:09.783 回答
1

为什么要在身份验证后不加密连接?

用户名和密码将以一种或另一种方式通过网络传递,因此您应该考虑始终加密连接以避免泄露该信息。

编辑: 如果您使用的是证书,则必须始终对其进行加密,因为我知道您不能使用证书进行身份验证,然后再返回简单的 HTTP。WCF 需要为每个请求对客户端进行身份验证(如果该客户端暂时无法获得证书,则将其删除并使用您的 WCF 服务,就像什么都没发生一样,因为不再需要身份验证,这在您的情况下是不正常的) .

于 2012-06-18T09:26:37.487 回答