I guess widely used protocols today don't encrypt the domain names in TLS certificates. Does HTTP/3 and TLS 1.3 encrypt domain names of web sites?

  • 2
    What benefit would be achieved by “encrypt[ing] the domain names in TLS certificates”? Are you instead thinking of Server Name Indication (SNI)? – David Apr 7 '19 at 19:44
  • Privacy and access to Wikipedia. github.com/ValdikSS/GoodbyeDPI/issues/118 – ilhan Apr 7 '19 at 19:51

I think you are confusing this with encrypting the domain name send in the TLS handshake by the client, which has nothing to do with encrypting parts of the certificate. In fact, with TLS 1.3 certificates are encrypted anyway inside the handshake.

What is left instead is that the client even with TLS 1.3 sends the expected target domain name inside the ClientHello (SNI - server domain indication). Up-front knowledge of this name is necessary for the server to pick the correct certificate in case when multiple certificates are configured on the same IP address.

There is already a draft to encrypt the SNI too and there are also implementations of this draft. Note that in order to work it must be supported by both client and server, i.e. there is no way to protect connections from the client side with this unless the server also supports this. See Encrypt it or lose it: how encrypted SNI works for more details.

|improve this answer|||||
  • I've enabled it from about:config in Firefox, I've set network.security.esni.enabled to true. – ilhan Apr 7 '19 at 22:44
  • 1
    @ilhan: Your last comments are just links and a sentence thrown at my answer without further context. It is not really clear what you are trying to tell me with these comments. I assume that you are trying to use encrypted SNI today and have problems with it. But that's not what your question originally asked and new questions should not be asked as (mostly by itself meaningless) comments of an existing answer, i.e. please ask a new question for this with sufficient details instead of just some links without further information. – Steffen Ullrich Apr 8 '19 at 4:18
  • I was not aware that Firefox supported encrypted domain names until I followed your link. It appears that Firefox needs only a small setting to enable it. By enabling network.security.esni.enabled my problem has been solved. I guess the only missing thing is that we will need servers to support TLS 1.3 because if I'm not mistaken EFSI requires TLS 1.3. – ilhan Apr 8 '19 at 12:11
  • @ilhan: yes, ESNI requires TLS 1.3. But the missing thing on the server side is not only support for TLS 1.3 but also explicit support for ESNI since ESNI itself is not part of TLS 1.3. – Steffen Ullrich Apr 8 '19 at 12:46

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.