Aravinda babu wrote:

> During SSL/TLS handshake,a pre master secret is sent from client to the
> server by encrypting pre master secret with server's public key.
> From that both client and server derive master secret and finally one
> symmetric key. My doubt is, why both cannot use pre master secret itself
> as a symmetric key ?

The minor reasons:

1) The scheme used to identify the server may not support encrypting data
large enough to be used as the symmetric key.

2) The client's random number generation may not be sufficiently secure, so
having the server participate in generating the symmetric key provides
greater protection from passive attacks.

3) Using this approach, you would need a phase where the server proves it
can decrypt the symmetric key anyway.

The major reason:

If you did that, you would have no protection against replay attacks.
Nothing would stop an attacker from intercepting the SSL session and playing
it back to the server. Consider a secure web application that receives
commands from a command center to disarm the safe alarm every business
morning and then one to arm it every day at close of business. If an
attacker intercepts the "disarm the safe" session, he could play it back any
time he wanted and disarm the safe alarm at 2AM on a Sunday morning.

DS

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to