I have been reading a lot of articles regarding Mutual SSL, Two-Way Authentication or Client Authentication and I have a general enquiry which may have been answered in content that I've read but if it has, I haven't understood it.

My understanding of a Public Certificate Authority is that they take care of verifying that an external entity is whom they claim to be. In this case, "Entity A" requests a Public Certificate which contains both client authentication and server authentication key usage. Lets use "Public CA 01" as the fictional CA signing client auth CSRs.

I then have a Web Service that has a certificate issued by "Public CA 01" (Verifying that the web service provider and the server that the certificate is installed on, is indeed owned by the organization that requested the certificate).

If for example "Entity C", generates their own private key, generates a CSR with ClientAuth key usage and has that CSR signed by "Public CA 01" (say for example the same intermediate as "Entity A"), and I trust "Public CA 01 CA's Root, Intermediate or both in a bundle file" which is used for client authentication validation, isn't it possible for either Entity A or C to present their issued Client Authentication Certificates to the Web Service and a successful SSL connection would occur?

The key reason for asking this is two-fold;

  • Web Service company does not want to use Private CA which would have been ideal and ensure that the Web Service company could vet/ensure that the requesting entity is whom they say they are prior to cert issuance. (Client Auth component)

  • Web Service company uses standard Public CA for Server Authentication (stock standard client verifying the authenticity of the web service - 99% of browsers would be trusting the CA that issued the certificate).

Can someone please confirm that if using a Public CA for Client Authentication, that it is imperative that at least some level of white listing is done service side if you would like to restrict access at the SSL level, enabling the lifting of IP white listing on perimeter firewall to selective entities?

Thanks in advance, apologies if this has already been asked or if there is a similar article that explains this specific scenario.

  • 2
    Too many run-on sentences. Please restate your question (at least the penultimate paragraph). – Deer Hunter Mar 9 '16 at 4:45
  • It appears that you accidently created two accounts (because there's a pending edit greatly modifying the question from a user with a very similar name). Please have a look at this page in the help center on how to merge your accounts. – SEJPM Mar 9 '16 at 10:39

Your question is not trivial to understand, however I think to know what your actual question is:

Who authenticates / signs the certificates for both parties involved in a mutually authenticated TLS handshake?

For the server, the answer is clear: A CA trusted by the client (e.g. a standard CA) has to sign the server's certificate.

For the client however, the answer is more flexible.
During the TLS handshake, if the server requests client authentication, the server also sends a list of (direct) CAs it's going to accept. Thereby the server can just run their own Client CA to authenticate their users or the server can send a list of (standard) CAs it is going to accept or the server can just send an external CA with which the owner is contracted.

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.