On 5/17/25 8:27 AM, Jaroslaw Rafa via mailop wrote:
There is nothing wrong with using a client certificate for authentication *as such*, but the server cert and client cert functions should be separated.

Except when /the/ /authenticated/ /server/ /is/ /the/ /client/.

E.g. my use case wherein MTAs authenticate to each other using their server certificate. -- This could be done via IP in most cases. But dynamic IPs at client offices really benefit from the known subject from an authorized public CA being allowed to do things despite the IP changing out from under them. (Think outbound relay at a spoke office authenticating to a central MTA in corporate HQ.)

Why?

I understand -- what I consider to be -- the small but real security posture improvement that is being chased.

My concern is that this, like the forthcoming 47 day TLS cert (from public CAs), is going to end up causing people to downgrade their security thereby worsening the overall security posture.

Server cert, like the one obtained from Lets Encrypt, identifies a *server*, not a particular user.

Sometimes, as in my case, /the/ /server/ /is/ /the/ /user/.

Even if you specify a contact email address in the cert request, that address is not verified (as far as I remember), and it is also intended to be a generic administrative address under which the server operator can be contacted, rather than an address identifying a particular user.

My understanding is that the subject (alternative name(s)) is (are) what is verified.

In my use case, Let's Encrypt has verified my server as the subject. And the verified subject is what's being authenticated (or not) based on the certificate subject.

Client cert, on the other hand, identifies a particular *user*.

I think we're using a different definition of "user" in our two contexts. I suspect lawyers might call these alternative facts, each valid in their own context.

In our case, the user's identity would be determined by a particular email address.

And said email address should be the subject of the certificate, not just a contact field.

It's my understanding that the extended key usage flags are -- IMHO -- somewhat arbitrary and disassociated from what the subject is set to. I say arbitrary as it's possible to create certificates with any combination of the server vs client authentication EKU values.

I can totally imagine that Lets Encrypt, besides server certs, *could* issue separate client certs, where you specify your email address in the cert request, and that address is verified eg. by the usual method - you receive a confirmation link in email and you have to click on it. Such a cert would identify a particular email account and could be used to authenticate to the email server (instead of login and password).

That would be for putting an email address in the certificate's subject.

I don't think there's anything other than Let's Encrypt's validation requirements / infrastructure preventing that today. As in the underlying X.509 ${BAILIWICK} supports this as is.

But these functions should not be mixed in the same cert.

That's one opinion.  I have a different opinion.

There are times when /the/ /client/ /is/ /the/ /server/ which has been authenticated and is the subject of the certificate.

There are other times when the client is some completely separate entity.



--
Grant. . . .
_______________________________________________
mailop mailing list
mailop@mailop.org
https://list.mailop.org/listinfo/mailop

Reply via email to