There are several problems with TLS Client Authentication, which have impeded its adoption across the Web some of which are noted below.
Bad User Experience#Obtaining a certificate usually requires interaction with a Certification Authority (CA), with a lengthy process for identifying the user, setting up an account with the CA, and at the very least dealing with the UI presented by the <keygen> tag. Most non-technical users don't understand the trust model behind CAs, and don't want to be bothered with questions about RSA key lengths, etc.
Another example is browser multi-login. Google, for example, allows multiple users to be logged into the same HTTP session. Today, Google uses this feature mostly to show users a little "fast account switching" widget at the top right of the page, but it's easy to imagine that some products like Calendar or Docs show an aggregate view of the data belonging to all logged-in accounts. TLS Client Authentication doesn't allow this use case, either.certificate. The user can now choose to not be logged in at all, or use the same Digital Identity at the new site that they use with other sites on the web. That is a poor choice. Creating different certificates for different sites makes the User Experience worse: Now the user is presented with a list of certificates every time they visit a web site requiring TLS Client Authentication.
TLS Client Authentication Information Leakage#TLS is not the best privacy protecting protocol in that Server Name Indication leaks what DNS Domain the client connects to. There is also the failure to protect user information when using TLS Client Authentication mentioned, but it's likely that TLS Client Authentication is so rarely used, that this have not been on anyone's radar.
More Information#There might be more information for this subject on one of the following:
- [#1] - TLS Client Authentication - based on information obtained 2018-11-01-
- [#2] - TLS Client Authentication On The Edge - based on information obtained 2017-11-01
- [#3] - TLS Client Authentication Leaks User Info (pre-TLS1.3) - based on information obtained 2018-11-01-
- [#4] - Transport_Layer_Security#Client-authenticated_TLS_handshake - based on information obtained 2018-11-01-