this post was submitted on 04 Oct 2023
183 points (98.9% liked)

Privacy

32112 readers
844 users here now

A place to discuss privacy and freedom in the digital world.

Privacy has become a very important issue in modern society, with companies and governments constantly abusing their power, more and more people are waking up to the importance of digital privacy.

In this community everyone is welcome to post links and discuss topics related to privacy.

Some Rules

Related communities

much thanks to @gary_host_laptop for the logo design :)

founded 5 years ago
MODERATORS
 

Say (an encrypted) hello to a more private internet.

https://blog.mozilla.org/en/products/firefox/encrypted-hello/

Nothing big, but kinda interesting. I'm excited to see how this will go ๐Ÿ‘€

#privacy #mozilla #firefox @privacy

top 33 comments
sorted by: hot top controversial new old
[โ€“] rikudou@lemmings.world 41 points 1 year ago (2 children)

It is kinda big, previously you had to send the host unencrypted to support SNI which in turn was needed to support https for multiple sites per one IP address, which was needed because we lack IP addresses. So there were basically two options: compromise privacy a tiny bit (by sending host unencrypted), or make it impossible for most websites to have any privacy at all (by making it impossible to have a https certificate).

Now you can have the best of both worlds. Granted, you need to have DoH (which still isn't the default on most systems AFAIK), but it's still a step in the right direction.

[โ€“] GuillaumeRossolini@infosec.exchange 5 points 1 year ago* (last edited 1 year ago) (1 children)

@rikudou @voxel
ASFAIR it used to be even worse than that, because if you didnโ€™t want SNI (for compatibility reasons or whatever), but you still wanted a certificate, you had to have one server for every hostname (because each had its own IP), assuming you could afford the additional IP space

Granted you didnโ€™t need a physical server, but that was still a bigger cost

Some servers are more flexible on that front, but early SNI didnโ€™t have those

[โ€“] rikudou@lemmings.world 3 points 1 year ago

Yeah, I thought I implied that, but that was the reason SNI started - IPv4 is a scarce resource and thus expensive and the only way to host multiple https websites was having multiple IPs (not necessarily multiple servers, you can easily have multiple IPs for one server, you just had to bind one IP per host), which was adding to the costs quite a bit and hobby projects couldn't really afford it (well, they could, but not many people are spending hundreds of dollars for a hobby website).

[โ€“] GuillaumeRossolini@infosec.exchange 1 points 1 year ago (1 children)

@rikudou @voxel
Wasnโ€™t SNI happening after the handshake? Or is this completely what ECH is about.

RIP Windows XP

[โ€“] rikudou@lemmings.world 1 points 1 year ago* (last edited 1 year ago)

It's happening as part of the handshake. Probably not completely what it's about, but it was the first that came to my mind.

Edit: It has to happen before the encryption is established, because otherwise the server doesn't know which certificate to use, because it doesn't know which host is the client requesting. There's also ESNI (encrypted SNI) to solve this but I'm not sure on how many servers actually deploy it.

[โ€“] shortwavesurfer@monero.town 12 points 1 year ago

This is actually pretty cool. More encrypted things is always the answer.

[โ€“] JCpac@lemmy.today 11 points 1 year ago (4 children)

I don't get it... How does this protect anything? If we want our packets to reach a web server, we need to write the server's IP address on them. If a snooper has the IP, can't they just lookup the domain name from a DNS server? Or is that not a service DNS provides?

If the IP address is encrypted, how will the routers know where to send the packets? Only solution I can think of would be onion routing... Am I wrong??

[โ€“] domi@lemmy.secnd.me 27 points 1 year ago (1 children)

An IP address is no longer associated with just one website/domain name. There could be thousands of websites running on a single IP address.

As is, anyone can currently look at your encrypted traffic and see in plain text which site you're surfing to. So this proposal is long overdue.

[โ€“] Bageler@lemmy.ml 13 points 1 year ago (1 children)

A government will still subpoena the destination IP for the information if they want it.

ECH protects against warrantless monitoring and other non-government bad actors and I'm happy to see it implemented. If there hasn't been a strong enough privacy argument to use Firefox for someone to date, this is a big one.

[โ€“] ReversalHatchery@beehaw.org 8 points 1 year ago (2 children)

A government will still subpoena the destination IP for the information if they want it.

Sure, but they probably won't do that every day, so for the general public this is an improvement.

[โ€“] library_napper@monyet.cc 2 points 1 year ago (1 children)

And also they cant get the info if the logs are deleted

They can't get info that has been deleted yes, but I think it might be possible to coerce the company into starting to collect logs, legally or not.

[โ€“] Bageler@lemmy.ml 1 points 1 year ago

Absolutely!

[โ€“] dannym@lemmy.escapebigtech.info 14 points 1 year ago (1 children)

somebody wiresharking your traffic can see the domain name you're contacting even if you use https; this solves that.

reverse DNS lookup does exist, but it's not always accurate, especially when multiple websites are hosted on the same server (which is more common than you think)

[โ€“] JCpac@lemmy.today 1 points 1 year ago (1 children)

Is it because of the "Host" HTTP header? I always thought it was optional, since the IP address and port were handled by the network and transport layers respectively. Turns out it's required to resolve between different virtual hosts in the same server. Today I Remembered (TIR?) that virtual hosts are a thing...

Is there anything else that might indicate the domain name in the handshake connection?

[โ€“] domi@lemmy.secnd.me 8 points 1 year ago

Is there anything else that might indicate the domain name in the handshake connection?

The SNI (Server Name Indication) happens before any HTTP communication and is done in plain text. It is needed because a single web server might host multiple websites, since each of them has their own certificate it needs to know which one to serve you.

With the new proposal that SNI is now encrypted. It makes the difference between anyone listening in being able to tell "you visited lemmy.world" and "you visited something behind Cloudflare".

[โ€“] Perhyte@lemmy.world 8 points 1 year ago* (last edited 1 year ago)

Technically DNS will let you look up a host name from an IP address, but the catch is that it might not work: it's not automatically configured. And even if it is configured you might not get all of the host names pointing at that address.

Very many webserver operators don't bother adding the server's host name to reverse DNS. For example, lemmy.world's IP address does not map to any host name in reverse DNS, and google.com's IP address maps to some completely different name for me, with no mention of Google in the returned name.

Also, many websites can be served from the same IP address, especially if they are hosted in the cloud. You are correct that someone snooping on the connection would still see the IP address, but if that points them at something like a webhosting company or a CDN (or some other server hosting many different sites) it still doesn't really tell them which specific site is being accessed.

But yes, if the site you're accessing is the only one hosted on that server then the snoop could potentially guess the host name. But even then: how would they know that's the only site hosted there? If some site they've never even heard of uses the same IP address they would never know.

[โ€“] library_napper@monyet.cc 2 points 1 year ago

You need to read how SNI works, then it will make sense

[โ€“] Boring@lemmy.ml 6 points 1 year ago (3 children)

While this is good for survielience circumventing.. It is looking like the beginning of the end of DNS filtering and the popularization of encrypted telemetry.

[โ€“] rikudou@lemmings.world 9 points 1 year ago (2 children)

You can always set up a MITM on your network. But yeah, DNS filtering is doomed in the not so far future.

[โ€“] Cheradenine@sh.itjust.works 2 points 1 year ago (1 children)

Does this preclude on device DNS filters?

[โ€“] rikudou@lemmings.world 1 points 1 year ago (1 children)

I think it doesn't, though I'm not really a network guy.

[โ€“] Cheradenine@sh.itjust.works 1 points 1 year ago (1 children)

I read through it, to me, it seems like on/device piHole etc. Would still be fine. But I am not a network guy either

[โ€“] rikudou@lemmings.world 1 points 1 year ago

PiHole might be a different story than your local device, I think that one might be affected.

[โ€“] Boring@lemmy.ml 1 points 1 year ago (1 children)

That's an option, but its a lot of work and all you get in return is broken apps/websites and not being able to tell if someone is mitm-ing you mitm.

I'm sure some engineer out there is going to find a workaround, hopefully without breaking encryption.

[โ€“] rikudou@lemmings.world 2 points 1 year ago

Never had a broken website due to my own MITM.

Encrypted DNS has been possible and in use for years (including looking up IP addresses over HTTP, which I've caught several apps doing), but this isn't DNS related.

SNI filtering was pretty popular back in the day, but domain fronting is trivial to set up outside the browser. No SNI filtering setups I've come across actually bother to check certificate validity, so generating a self-signed eff.org certificate and using that from within an app would make quick work of most network filters.

I'm afraid firewalls are the only workable solution if you're not in control of the software you're running. You can try to force apps through a MitM setup by blocking all outgoing traffic and configuring something like Privoxy as the only way out, but getting your MitM CA loaded into these apps can be a royal pain.

[โ€“] Hotzilla@sopuli.xyz 2 points 1 year ago

You can do filtering and monitoring in the DNS server itself in corpo environment, like umbrella or AD DNS.

[โ€“] deerdelighted@lemmy.ml 6 points 1 year ago (1 children)

So if I understand it correctly, with this scheme the traffic between my computer and the DNS server is encrypted and so my internet provider won't know which websites I'm visiting?

[โ€“] Boring@lemmy.ml 9 points 1 year ago* (last edited 1 year ago)

DNS of HTTPS or TLS has been available for years, but it hasn't been adopted widely because the hello at the beginning if the three way handshake when connecting to a website ratted you out to your ISP anyways.

Does anyone know how to set this up on a ngnix proxy?

06298aad9d02fff5244d12c366120ca2!

[โ€“] library_napper@monyet.cc 1 points 1 year ago

Do web servers support it tho?