SSL: can the secret key be sniffed before the actual encryption begins?

烈酒焚心 提交于 2019-12-11 02:09:10

问题


I was looking into SSL and some of the steps that are involved to set up an encrypted connection between a server and a client computer.

I understand that a server key and certificate is sent to the browser, and that a secret code is being calculated, like they say in the following video:

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

around 5:22, they talk about a master secret code that is being calculated to start talking in an encrypted way.

My question now is: before the connection is actually encrypted (the handshake phase), all communication between the server and the client can be sniffed by a packet sniffer. Isn't it then possible to sniff the encryption key or other data that is used to set up a secure connection?


回答1:


From the Wikipedia summary, I think the key part you're interested in is:

The client responds with a ClientKeyExchange message, which may contain a PreMasterSecret, public key, or nothing. (Again, this depends on the selected cipher.) This PreMasterSecret is encrypted using the public key of the server certificate.

This is why the public key is so important. If you use the wrong public key, you're vulnerable to man in middle attacks.

Witness the justified worry whenever bogus SSL certificate issues (e.g. DigiNotar).




回答2:


The secret key itself isn't transmitted at all, so it can't be sniffed. It is computed independently at both ends. The materials it is computed from is called a PreMasterSecret which is encrypted with the public key of the server certificate. So unless the server's private key has been compromised the secret key can be neither sniffed nor calculated independently.



来源:https://stackoverflow.com/questions/8287583/ssl-can-the-secret-key-be-sniffed-before-the-actual-encryption-begins

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!