3 ms·
If a site doesn't use SNI, therefore serves no more than one HTTPS site from any single IP, don't you still leak the same amount of information simply from conn
by hamandcheese 5y ago
If a site doesn't use SNI, therefore serves no more than one HTTPS site from any single IP, don't you still leak the same amount of information simply from connecting to that IP on port 443?
- 1vuio0pswjnm7 5y agoNo. SNI sends more information. It sends a "servername" in the ClientHello. With earlier TLS versions the host could also be leaked in the server certificate that is sent to the client to be verified. With TLS1.3 that is fixed. All that remains is to plug the SNI leak. Experimental encrypted ClientHello is available, but not in popular graphical browsers. Popular graphical browsers send a servername in the ClienHello even when SNI is not required! (Most HTTPS site submitted to HN do not require SNI.) To see how SNI leaks host names, https://github.com/kontaxis/snidump https://github.com/kontaxis/snidump # example.com - with no SNI echo -e "GET / HTTP/1.1\r\nHost: example.com\r\nConnection: close\r\n\r\n"|openssl s_client -connect example.com:443 -ign_eof -noservername # example.org - with SNI echo -e "GET / HTTP/1.1\r\nHost: example.org\r\nConnection: close\r\n\r\n"|openssl s_client -connect example.org:443 -ign_eof -servername example.org You should see "example.org" in the snidump output. Neither the example.com nor the example.org sites require SNI.
- johncolanduoni 5y agoBut since there’s no ability to share IPs between different sites without SNI, haven’t you just made things easier for censors/snoops? Instead of having to sessionize TCP and decode TLS, they can get everything they need with stateless L3 monitoring.
- deleted 5y ago[deleted]