2

我正在研究 SSL 以及在服务器和客户端计算机之间建立加密连接所涉及的一些步骤。

我知道服务器密钥和证书已发送到浏览器,并且正在计算密码,就像他们在以下视频中所说的那样:

http://www.youtube.com/watch?v=iQsKdtjwtYI

大约在 5 点 22 分左右,他们谈论了一个主密码,该密码被计算出来以加密方式开始交谈。

我现在的问题是:在实际加密连接之前(握手阶段),服务器和客户端之间的所有通信都可以被数据包嗅探器嗅探。那么是否可以嗅探用于建立安全连接的加密密钥或其他数据?

4

2 回答 2

3

Wikipedia summary中,我认为您感兴趣的关键部分是:

客户端以 ClientKeyExchange 消息进行响应,该消息可能包含 PreMasterSecret、公钥或任何内容。(同样,这取决于选择的密码。)这个 PreMasterSecret 是使用服务器证书的公钥加密的。

这就是为什么公钥如此重要的原因。如果您使用错误的公钥,您很容易受到中间人攻击。

每当出现虚假 SSL 证书(例如DigiNotar)时,都会有正当的担心。

于 2011-11-27T17:54:25.553 回答
2

密钥本身根本不传输,因此无法被嗅探。它在两端独立计算。计算它的材料称为 PreMasterSecret,它使用服务器证书的公钥加密。因此,除非服务器的私钥被泄露,否则密钥既不能被嗅探也不能被独立计算。

于 2011-11-28T09:19:19.510 回答