Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SNI requirement for HTTP/QUIC #794

Closed
igorlord opened this issue Sep 25, 2017 · 7 comments
Closed

SNI requirement for HTTP/QUIC #794

igorlord opened this issue Sep 25, 2017 · 7 comments
Labels
-http design An issue that affects the design of the protocol; resolution requires consensus.

Comments

@igorlord
Copy link
Contributor

Per @martinthomson in #495, SNI is currently not required to be used in QUIC, while it is required to be used in HTTP/2. TLS 1.3 requires SNI to be implemented but apparently does not require it be to used.

This is a proposal to require SNI for QUIC.

The main reason for this is the scarcity of IPv4 addresses. As long as something is not required, someone will not implement it. As long as there are enough clients that do not use SNI, virtual service providers will continue to require a large number of IPv4 addresses. Since IPv4 address conservation is currently a high priority for the Internet, QUIC should strongly encourage (or, better, require) technologies that further this conservation goal.

@hardie
Copy link

hardie commented Sep 25, 2017 via email

@martinthomson
Copy link
Member

@hardie is correct in that QUIC makes TLS-in-TLS more difficult. Though that is not the only alternative available. It is not impossible to do TLS-in-TLS, but it would require some non-trivial effort.

But I think that we should first address the meta-comment. Do we want to change the character of QUIC such that it can/MUST support SNI encryption? That's a different question to the one that I think @igorlord had, which is probably just "should HTTP over QUIC require SNI?" The answer to each might be different.

@martinthomson martinthomson added -http design An issue that affects the design of the protocol; resolution requires consensus. labels Sep 25, 2017
@martinthomson martinthomson changed the title SIN requirement SNI requirement for HTTP/QUIC Sep 25, 2017
@igorlord igorlord changed the title SNI requirement for HTTP/QUIC SNI requirement Sep 26, 2017
@igorlord
Copy link
Contributor Author

Nit: I believe you mean to require SNI, not SIN,

Thanks, fixed. (There are plenty SINs already; no need for requiring a new one.)

SNI privacy

SNI privacy looks like a TLS extension, and it could be developed separately from QUIC. @martinthomson has had enough wisdom to open #795 to make sure we at least discuss the topic.

A solution along the lines of tls-sni-encryption-00 would certainly benefit from a 1-RTT encrypted Finished (as is suggested in #785), since Finished could include bits to trigger "chained SNI" and TLS-in TLS negotiation. It would be a nice solution, since it would allow server side of the application to be relatively oblivious to the TLS tunneling that is going on.

An application-specific implementation, where the client talks first, could provide an application-specific way to trigger SNI chaining and TLS-in-TLS negotiation.

@martinthomson martinthomson changed the title SNI requirement SNI requirement for HTTP/QUIC Sep 26, 2017
@igorlord
Copy link
Contributor Author

"should HTTP over QUIC require SNI?"

This is a fine first question to answer, and I am happy to change this issue to address this specifically.

I think a generic question of whether a client is required to identify whose TLS certificate it is looking for, regardless of the app, is also interesting to settle.

MikeBishop added a commit that referenced this issue Jan 4, 2018
* Expand connection management text (Fixes #940, #794)

* Require cert validation

* Lucas's feedback

* MUST NOT assume
@MikeBishop
Copy link
Contributor

This was supposed to be closed by #1024.

@kovalensky
Copy link

kovalensky commented Dec 27, 2020

In the issues section, it says that you can not send suggestions, and the iron must be forged while it is hot, so I will leave this idea for HTTP/3 here:

Since many system administrators filter QUIC traffic (many ways based on udp ports 80, 443), forcing the user to return to TCP, I would like to suggest a way to speed up the integration of QUIC on the Internet.
It consists in using an optional TXT record with the value or intervals of ports to which the server can accept QUIC connections.
Thus, QUIC ceases to depend on a single port, gaining scalability.
Thank you.

@LPardue
Copy link
Member

LPardue commented Dec 27, 2020

Please see https://tools.ietf.org/html/draft-ietf-dnsop-svcb-httpssvc-03.

But this is not a problem that the base drafts need to solve, so there is really nothing more to discuss here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-http design An issue that affects the design of the protocol; resolution requires consensus.
Projects
None yet
Development

No branches or pull requests

6 participants