There are three different ways how TLS (1.2) can be used:

  1. server and client authenticate
  2. only the server authenticates
  3. neither authenticates

If neither server nor client authenticates using a certificate the connection is not protected against man-in-the-middle (MITM) attacks.

The TLS 1.2 specification says that the connection is safe as soon as the server authenticates. And I wonder:

  1. Does it make any security difference whether the client authenticates or not if the server authenticates?

  2. If both the client and the server need to authenticate, does it matter whether the client sends a trusted certificate in the handshake or just sends a secret (and strong) password as application data?

1 Answer 1


When only the server sends a certificate, but not the client, the SSL connection is fine and dandy, but the server has no clue about who it is talking too. What SSL provides in that case is that the server can be sure that it talks to the same client all along, with no possible eavesdropper in the middle. If the server must still know who the client may be, another additional authentication must take place, e.g. the client sends a username+password to the server. This is how things go on usual HTTPS Web sites.

Certificate-based client authentication is most useful when the client wants to demonstrate its identity to the server but not give any secret to that server. This really makes sense when the client certificate has been issued to the client by a Certification Authority distinct from the server owner. If the server itself is giving certificates to clients, then using a client certificate does not has much conceptual advantage over a simple show-the-password authentication.

(Client certificates may have some implementation advantages: they can be used with certificate-aware smart cards; and since the certificate thing is done in the SSL handshake, it avoids the need to include a show-the-password authentication protocol within the application data.)


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .