0
$\begingroup$

I spent a lot of time looking for an answer to this question, but the majority of answers never explicitly explain why the client's public key is never used; it's always the server's public key that's used in SSL encryption. Similarly-phrased questions (such as this, this, and this) don't actually explain why the server's public key is not used. Rather, they just explain why public-key encryption is not used for the actual messages, or they explain some other topic instead.

So, my question is: why do we not use the client's public key in SSL encryption instead of using the server's public key? Theoretically, it shouldn't matter whether the client's public key or the server's public key is used, right, since in either case a master secret key is always established?

$\endgroup$
  • 1
    $\begingroup$ How many clients HAVE a verifiable public key? $\endgroup$ – Eugene Styer Apr 5 at 23:23
1
$\begingroup$

Why is the server's public key always used in SSL encryption ...
... why do we not use the client's public key in SSL encryption instead of using the server's public key?

Neither the servers nor the clients public key is used for encrypting application data.

The servers public key is only used for encrypting the premaster secret during the obsolete RSA key exchange. And this is done since this way the server gets implicitly authenticated because only the server can decrypt the encrypted premaster secret using its (the servers) private key. And proper authentication of the server is essential to protect against active man in the middle attacks.

Apart from that there usually isn't even a client key involved in TLS. A client key is only involved when mutual authentication is done, i.e. when the client is required to authenticate against the server using a client certificate. Thus, in most cases the client does not even have a key.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.