There are some attacks you are vulnerable to on public WiFi that a VPN can help with.
More generally, whoever is transporting your data knows who you are talking to. If you don’t use a VPN, your ISP and whoever owns the router know what websites you are visiting (although they don’t know the specific content). If you use a VPN, your ISP and router know you are using that VPN, but not what websites you are visiting. Now your VPN knows what websites you are visiting, but they still don’t know what the content is.
The ISP will always know the IP you're connecting to. Encrypted DNS might get you slightly more privacy for sites using shared IPs like with Cloudflare. But in a lot of cases, there's only 1 website per IP, so the ISP still knows where you're browsing. A VPN solves this by routing all traffic through the VPNs IP first. But you can still be tracked just the same by the VPN and to an extent, the VPNs ISP.
DoH & DoT still leak the domain name (and of course IP address) you're connecting to. The domain name leak can be solved by Encrypted Client Hello but that's still a draft and not turned on for many servers.
Modern HTTPS connections send the URL you are connecting to in the initial hello, so the remote webserver knows what security certificate to use when you connect. A lot of web servers host multiple sites, especially for smaller webpages, and so it doesn't assume that since you connected to that specific webserver, that you're connecting to the site that the webserver is hosting, even if it's only hosting a single site.
This can leak the data to anyone sniffing the traffic.
You can also determine some traffic by IP address, this is for larger web services like Facebook, youtube and other sites of similar size. They load balance groups of IPs for their traffic, all are serving the same data. So if you connect to an IP that's owned by Facebook, for example, then your actions can be easily derived.
Since the connection is still secured by TLS, the content can't be deciphered, but the location you are going to absolutely can.
You can substitute "Tor" for "VPN" in the above and be largely correct. Tor acts like a VPN, but every packet goes through multiple hops, so an attacker would need to do quite a bit of work (i.e. compromise multiple nodes) to link traffic to you.
So:
TLS (https) - network owner can't see specific content, but can determine what sites you visit
VPN - network owner can't tell what sites you visit, but can tell you're on a VPN; VPN can tell what sites you visit, but not specific content
Tor - network owner can't tell what sites you visit, but can tell you're using Tor; Tor exit node operators can see what sites people using it visit, but can't attribute it to an individual user w/o a sophisticated attack
In most cases, TLS is perfectly fine, provided you make sure to not click through any TLS errors (i.e. certificate can't be validate => probable middle-man attack), and using a VPN is probably overkill. A VPN protects you from that middle-man attack, but honestly, if you're savvy enough to use a VPN, you're probably savvy enough to not get compromised by a middle-man attack. Likewise if you use Tor, you're probably savvy enough to not get compromised by a middle-man attack.
That said, I fully support using Tor and VPNs, I just won't go so far as to say someone is dumb for not using them on public Wi-Fi. Make sure you're connecting to a real Wi-Fi service and don't disable TLS protections and you're probably fine, from a security perspective. If you're likely to be targeted by a government agency, Tor is the bare minimum of what you should use.
Http means your employer knows you watched porn on the company WiFi, and they also know which specific videos and what your username for the site is. If site security is particularly lax, they may even know your password.
Https means your employer can see you watched porn on the company WiFi, but they don’t know which video(s) specifically, and they don’t know your login info.
VPN means your employer only knows you connected to a VPN. They may be able to take educated guesses at what type of content you were viewing (streaming video, for example, has a pretty easily identifiable pattern of data transfer,) but they don’t know what video you were watching, or what site it was coming from. The VPN service knows you watched porn, but the aforementioned rules about http and https still apply; If you’re using https, they don’t know specifics.
Tor means even the VPN doesn’t know which specific video(s) you’re watching, because they just see a connection to another Tor node, which sees another tor node, which sees another tor node… Etc. In order to know what you’re watching, they would need to own every node in the chain. If they own both the entry and exit node they may be able to match it to you with a timing attack, (they see packets going into the Tor network at the same time they see packets coming out towards you). Again, they can make educated guesses based on pattern recognition, but they won’t have a clear picture without owning both your entry and exit nodes and performing a timing attack.
Now you can substitute “your employer” for anyone who is trying to get your info. Public WiFi spoofer, your ISP, etc…
Probably worth noting that, if you are using an employer owned system to watch said porn, they likely have software on the endpoint which will let them see what porn you are watching, regardless of HTTPS/VPN/Tor. Depending on how much your employer cares about such things, that may or may not come back to bite you. I've worked at places where we regularly reported on users watching porn on work computers, and I've worked at places where we only reported on users getting malware while browsing porn at work. But, never assume your activity isn't being monitored on employer owned systems.
Exactly. If it's company-issued, assume there's spyware installed. We recently added a certain level of spyware to ours to monitor system files (afaik it's not screen recording or anything like that) because these aren't company issued devices (we bought them separately.
There are some attacks you are vulnerable to on public WiFi that a VPN can help with.
More generally, whoever is transporting your data knows who you are talking to. If you don’t use a VPN, your ISP and whoever owns the router know what websites you are visiting (although they don’t know the specific content). If you use a VPN, your ISP and router know you are using that VPN, but not what websites you are visiting. Now your VPN knows what websites you are visiting, but they still don’t know what the content is.
I hope that helps.
What about DoH/DoT which comes enabled by default in some browsers I believe? This should "hide" your activity from isp/router as well, shouldn't it?
The ISP will always know the IP you're connecting to. Encrypted DNS might get you slightly more privacy for sites using shared IPs like with Cloudflare. But in a lot of cases, there's only 1 website per IP, so the ISP still knows where you're browsing. A VPN solves this by routing all traffic through the VPNs IP first. But you can still be tracked just the same by the VPN and to an extent, the VPNs ISP.
DoH & DoT still leak the domain name (and of course IP address) you're connecting to. The domain name leak can be solved by Encrypted Client Hello but that's still a draft and not turned on for many servers.
Yes and no.
Modern HTTPS connections send the URL you are connecting to in the initial hello, so the remote webserver knows what security certificate to use when you connect. A lot of web servers host multiple sites, especially for smaller webpages, and so it doesn't assume that since you connected to that specific webserver, that you're connecting to the site that the webserver is hosting, even if it's only hosting a single site.
This can leak the data to anyone sniffing the traffic.
You can also determine some traffic by IP address, this is for larger web services like Facebook, youtube and other sites of similar size. They load balance groups of IPs for their traffic, all are serving the same data. So if you connect to an IP that's owned by Facebook, for example, then your actions can be easily derived.
Since the connection is still secured by TLS, the content can't be deciphered, but the location you are going to absolutely can.
It really depends on a lot of factors.
Ok, thank you and all the others for explanation.
What about using tor instead of a vpn?
You can substitute "Tor" for "VPN" in the above and be largely correct. Tor acts like a VPN, but every packet goes through multiple hops, so an attacker would need to do quite a bit of work (i.e. compromise multiple nodes) to link traffic to you.
So:
In most cases, TLS is perfectly fine, provided you make sure to not click through any TLS errors (i.e. certificate can't be validate => probable middle-man attack), and using a VPN is probably overkill. A VPN protects you from that middle-man attack, but honestly, if you're savvy enough to use a VPN, you're probably savvy enough to not get compromised by a middle-man attack. Likewise if you use Tor, you're probably savvy enough to not get compromised by a middle-man attack.
That said, I fully support using Tor and VPNs, I just won't go so far as to say someone is dumb for not using them on public Wi-Fi. Make sure you're connecting to a real Wi-Fi service and don't disable TLS protections and you're probably fine, from a security perspective. If you're likely to be targeted by a government agency, Tor is the bare minimum of what you should use.
Yup. The way I’ve always described it is this:
Http means your employer knows you watched porn on the company WiFi, and they also know which specific videos and what your username for the site is. If site security is particularly lax, they may even know your password.
Https means your employer can see you watched porn on the company WiFi, but they don’t know which video(s) specifically, and they don’t know your login info.
VPN means your employer only knows you connected to a VPN. They may be able to take educated guesses at what type of content you were viewing (streaming video, for example, has a pretty easily identifiable pattern of data transfer,) but they don’t know what video you were watching, or what site it was coming from. The VPN service knows you watched porn, but the aforementioned rules about http and https still apply; If you’re using https, they don’t know specifics.
Tor means even the VPN doesn’t know which specific video(s) you’re watching, because they just see a connection to another Tor node, which sees another tor node, which sees another tor node… Etc. In order to know what you’re watching, they would need to own every node in the chain. If they own both the entry and exit node they may be able to match it to you with a timing attack, (they see packets going into the Tor network at the same time they see packets coming out towards you). Again, they can make educated guesses based on pattern recognition, but they won’t have a clear picture without owning both your entry and exit nodes and performing a timing attack.
Now you can substitute “your employer” for anyone who is trying to get your info. Public WiFi spoofer, your ISP, etc…
Probably worth noting that, if you are using an employer owned system to watch said porn, they likely have software on the endpoint which will let them see what porn you are watching, regardless of HTTPS/VPN/Tor. Depending on how much your employer cares about such things, that may or may not come back to bite you. I've worked at places where we regularly reported on users watching porn on work computers, and I've worked at places where we only reported on users getting malware while browsing porn at work. But, never assume your activity isn't being monitored on employer owned systems.
Exactly. If it's company-issued, assume there's spyware installed. We recently added a certain level of spyware to ours to monitor system files (afaik it's not screen recording or anything like that) because these aren't company issued devices (we bought them separately.