11

如果使用一种方式 SSL(服务器证书身份验证),则从客户端发送的数据将使用服务器证书的公钥加密。因此,隐私保护可用于从客户端发送的数据。我的问题是

  1. 这是否意味着以一种方式从服务器发送到客户端的 SSL 数据未加密并以纯文本形式发送?

  2. 对于服务器到客户端和客户端到服务器的通信,数据/消息都没有签名,因此不能保证防篡改或数据完整性。在使用基于 SSL 的传输安全而不是消息安全选项时,是否有任何其他方法可以实现数据完整性?

4

2 回答 2

20

SSL 的一种方式只是意味着服务器不验证客户端的身份。它对 SSL 的任何其他安全属性都没有影响。

虽然 SSL 协议有点复杂,但发生的基本要点是:客户端生成一个随机密钥,对其进行加密以便只有服务器可以解密它,然后将其发送到服务器。服务器和客户端现在有一个共享密钥,可用于加密和验证双向通信。

服务器不知道客户端的身份,但除此之外,加密和消息验证是两种方式。

更新:

1) 是的,双向加密是对称的,并且使用会话设置期间生成的共享密钥。

2) 使用共享密钥,消息完整性很容易保证。您只需确保消息具有特定的形式。例如,我可以在我发送的每条消息前面加上一个序列号,并在加密之前附加一个校验和。您使用共享密钥对其进行解密并验证序列号和校验和。攻击者如何在不知道共享秘密的情况下替换或修改消息,并且仍然保持序列号和校验和不变?

于 2011-11-22T16:59:45.553 回答
0

在 SSL 中,会发生两件事:

首先,使用类似 Diffie-Hellman 方法协商会话密钥。这会生成一个共享会话密钥,但不会在各方之间传输密钥。

其次,该会话密钥在连接期间用于正常的对称加密。

SSL 确实以一种方式使用公共/私有,因为 X509 证书用于标识连接的至少一端。这些证书是使用非对称密钥对签署的。

摘自SSL 如何保护仅使用一对密钥的双向通信?

于 2015-01-06T07:23:47.897 回答