0
$\begingroup$

If I have a TLS authentication process between two entities A and B, like the one outlined below, what would happen to it, if I remove the client's (A) certificate from it? In this case, the certificate of the client is defined as {A,pk(A)}inv(pk(s)).

A->B: A,NA,Sid,PA

B->A: NB,Sid,PB,
  {B,pk(B)}inv(pk(s))
A->B: {A,pk(A)}inv(pk(s))
{PMS}pk(B),
{hash(NB,B,PMS)}inv(pk(A)),
{|hash(prf(PMS,NA,NB),A,B,NA,NB,Sid,PA,PB,PMS)|}
  clientK(NA,NB,prf(PMS,NA,NB))

B->A:   {|hash(prf(PMS,NA,NB),A,B,NA,NB,Sid,PA,PB,PMS)|}
  serverK(NA,NB,prf(PMS,NA,NB))

Of course the client loses it's way of authenticating itself with the server (B), but in what way exactly does this make the message exchanges vulnerable to attacks?

Another way to frame the question would be by looking at the Wiki description of the TLS handshake. In the client-authenticated TLS handshake, what would happen if we omit the client certificate?

$\endgroup$
  • $\begingroup$ If you remove the client certificate, the server can no longer check itself if the connection is under a man-in-the-middle attack, this responsibility is now entirely pushed to the client. $\endgroup$ – SEJPM Sep 29 '16 at 12:32
0
$\begingroup$

As SEJPM already has indicated, if you loose the client certificates the server loses client authentication and thus all the data authenticity and even confidentiality under active (man-in -the-middle) attacks.

On the internet this is usually not a big problem for e-commerce. The client can still authenticate the server and have a secure connection. The server doesn't care too much - it simply authenticates the payment transaction.

On the other hand, for e.g. B2B connections the lack of authentication on one side can be catastrophic.


Note: the client certificates is required for client authentication. If you leave it out you'll end up with regular server authenticated TLS.

$\endgroup$
  • $\begingroup$ So in which situation would one actually want a client certificate? It's my understanding that websites already have systems in place for a lack of client certificates, since it's cumbersome from a user perspective to deal with CA's is just passwords or alternative authentication methods? $\endgroup$ – Left4Cookies Sep 29 '16 at 18:01
  • $\begingroup$ With smart cards you can have client authentication. But that's on the way out and some browsers or devices won't even support it anymore. Client certificates won't go away for the simple reason that it is required for authenticated communication between servers. The term "client" should be interpreted as "initiator" in those circumstances. $\endgroup$ – Maarten Bodewes Sep 29 '16 at 18:48

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.