• justinh_tx@lemmy.ml
    link
    fedilink
    English
    arrow-up
    17
    arrow-down
    1
    ·
    9 months ago

    If a packet is traversing an ISP’s network the ISP should have to know where it is coming from and where it is going, right? So even if you “encrypt the first hello” packet, the ISP would still know where it was routed, right?

    I’ll freely admit I have only a very basic (and likely outdated) understanding of IP networking, but I don’t see how this protects my browsing habits from my ISP. Even if they can’t understand my “hello” to lemmy.ml, they still know I’m talking to lemmy.ml’s IP address about something.

    What am I missing?

    • NaN@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      15
      ·
      edit-2
      9 months ago

      They would know you’re talking to that IP, not necessarily lemmy.ml. It is very common for multiple sites to be hosted on the same ip. The reason SNI exists is so the browser can tell the server which site it was looking for in an encrypted session. If it is 1:1 then it would be true.

    • onelikeandidie@lemmy.world
      link
      fedilink
      arrow-up
      8
      arrow-down
      1
      ·
      9 months ago

      When you type in www.example.com, you request the IP of the server for that site using a DNS server. The DNS server sends you the IP and then you connect to it. If they are using https for DNS it means that your ISP or onlookers have to reverse which domain you’re accessing from that IP to know that you’re accessing www.example.com.

      At least I think that’s what is happening.

      • NaN@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        10
        ·
        edit-2
        9 months ago

        The problem doesn’t involve DNS, it’s after that step.

        SNI is when your browser connects to the server. A server may host multiple sites on the same IP, so your browser says “I would like to open an encrypted session to lemmy.ml”. It does this in the clear. If it was an unencrypted http site it would be in headers, but in https those headers aren’t passed until after the encrypted session is set up, so there has to be some way for the server to know the specific site. Anybody listening to SNI traffic knows the exact site you connected to, even if there are hundreds at that ip.

        This adds a public key to the DNS record, so your browser is able to encrypt that initial hello message before the https session is encrypted. Someone listening might see something like “ECH: randomgibberish” but the server can decrypt it.

    • achsonaja@lemm.ee
      link
      fedilink
      arrow-up
      5
      ·
      9 months ago

      Yeah I think it has the same limitations that pretty much anything not through a vpn has because you still have to tell your isp where to send the data. Your isp will still see some things, even if it’s encrypted (metadata, DPI, habits, and things beyond my knowledge). This sounds like a step in the right direction for the majority of people though, even if it’s minor.

      I kind of see it like differentiating between them seeing lemmy.ml via this vs lemmy.ml/thing-i-want-private/peronal.html without it, but I could be wrong about that.

      • NaN@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        6
        ·
        edit-2
        9 months ago

        HTTPS already prevents them from knowing exactly what content you’re looking at. Hiding SNI prevents them from knowing exactly what site you are connecting to via HTTPS.

        They can still figure that out if you’re using unencrypted DNS or if there is a 1:1 IP to rDNS mapping though.