Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    D

    David Fifield

    bamsoftware.com · Personal blog · on HN since 2015

    David Fifield, a researcher on Internet censorship circumvention, writes about domain fronting, DNS tunneling, and zip bombs.

    Visit blogRSSHN submissions
    SecurityNetworkingPrivacy & Policy
    What HN says

    HN links it for the domain fronting paper and the better zip bomb; commenters use it to discuss blocking-resistant communication.

    Stats for nerds
    37HN people shared it
    17linked in comments
    1.1Kstory points
    Jul 2025last shared
    2016people per year2025

    Top posts on HN

    1. 1
      A better zip bomb
      10 people · 671 points · first shared 2019 · 131 comments on HN
    2. 2
      Biggest image in the smallest space
      5 people · 360 points · first shared 2015 · 103 comments on HN
    3. 3
      Blocking-resistant communication through domain fronting
      17 people · 8 points · first shared 2016 · Discussion on HN
    4. 4
      Dnstt is a DNS tunnel that can use DNS over HTTPS (DoH) and DNS over TLS (DoT)
      2 people · 8 points · first shared 2020 · 1 comments on HN
    5. 5
      Turbo Tunnel, a good way to design censorship circumvention protocols
      1 person · 4 points · first shared 2020 · Discussion on HN
    6. 6
      Survey of techniques to encode data in DNS messages
      1 person · 3 points · first shared 2020 · Discussion on HN
    7. 7
      Threat modeling and circumvention of Internet censorship
      2 people · 1 points · first shared 2018 · Discussion on HN
    8. 8
      Bam Software
      1 person · 1 points · first shared 2021 · Discussion on HN

    What HN people wrote when they linked it

    • repolfxJul 2018

      Google did not give any engineering reasons at the time. That's misleading. Here's what they said:

      "Domain fronting has never been a supported feature at Google, but until recently it worked because of a quirk of our software stack," a Google spokesperson explained in a statement emailed to The Register. "We're constantly evolving our network, and as part of a planned software update, domain fronting no longer works. We don't have any plans to offer it as a feature."

      This might superficially sound like domain fronting stopped working accidentally, as part of other changes, but notice how carefully it's phrased. They made an update. It stopped working. Nothing in this phrasing would be false if they made a business decision to kill it and did so.

      I find this explanation extremely likely for several reasons:

      1. It happened just when fronting was being adopted by Signal, a high profile app that would have caught attention.

      2. All the other big players made the same change, again, prompted by specific events related to anti-censorship.

      https://www.bamsoftware.com/papers/fronting/

      GreatFire speculated that the attacks were precipitated by the publication of an article in the Wall Street Journal that described in detail domain fronting and other “collateral freedom” techniques. The interview associated with the article also caused CloudFlare to begin matching SNI and Host header, in an apparent attempt to thwart domain fronting.

      This explanation turned out to be correct.…

    • twicMar 2018

      > your client will automatically, in plain text, transmit the full DNS name of whatever server it wants to talk to

      AIUI, it's slightly better than this, because you only actually need to send the name of some domain that the server can serve, not necessarily the one you actually want to talk to. If the domain is on Cloudfront, App Engine, Heroku, etc, that means you can choose one of a billion innocuous sites to use for SNI, before connecting to the one you actually want.

      This is called 'domain fronting':

      https://www.bamsoftware.com/papers/fronting/

      I can't quite work out the trust algebra of this, though. You don't have any cryptographic guarantee that you're connecting to the right site. But you can be sure that you're connecting to whichever server hosts the site whose name you're taking in vain. But if that server was able to serve your site all along, because it had its private key, did you ever really have any guarantee?

      Probably won't help for wikipedia, though, as they're not behind a CDN.

    • schoenJul 2018

      The Chinese government has had a lot of success blocking Tor (and VPNs) most recently. You may know that all of the normal relays are publicly listed in the Tor directory, making them trivial to block by IP address. That will then require Tor users to do extra work to find bridges or configure pluggable transports for censorship circumvention, which most users may not be motivated enough to do. Censors can also try to fingerprint and block some of the circumvention methods.

      In sum, Tor is not trivially or resoundingly winning the censorship arms race, even though it has some good work on censorship circumvention that's often effective in particular countries.

      Some good background on this is in

      https://www.bamsoftware.com/papers/thesis/

    • lgierthDec 2017

      Sure -- but libp2p's network transports underneath are pluggable. There's already Websockets (/ws, think domain fronting! [1]) and Tor (/onion) transports, so there's various options for evading censorship (I personally consider bandwidth throttling a form of censorship).

      [1] Domain fronting lets you use a well-established web frontend for your web service. E.g. we could host /ws nodes in Google Cloud, and to the ISP the TLS handshake looks like it's for google.com, while inside the connection there's e.g. a `Host: libp2p.googlecloud.com` header. More info: https://www.bamsoftware.com/papers/fronting/

      But then again, net neutrality is a political issue! You don't solve it for good with technology.

    • TepixDec 2017

      I had a closer look at this technique after reading the article.

      The cool thing about this hack is that even in the TLS Server Name Indication (SNI) extension, the front domain name shows up, and only the (encrypted) HTTP Host header shows the true covert destination.

      The paper "Blocking-resistant communication through domain fronting" (https://www.bamsoftware.com/papers/fronting/) is very interesting.

      One thing that I'm left wondering is if the front domain owners will be at risk being blocked if domain fronting is being done with their domain.
      If so they may ask the CDN companies to block this routing behaviour.

    • zarothMay 2018

      Interesting. Reading their developer guide [1] pg 293 - CloudFront servers have all the private keys anyway, so it hardly matters—from a security perspective—which key is used to establish the TLS connection to the CloudFront endpoint. The connection between CloudFront and Signal’s own severs would be encrypted with Signal’s key.

      I also found this paper on domain fronting to be a very good read - Blocking-resistant communication through domain fronting [2]

      [1] - https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cf_dg.pdf#page302

      [2] - https://www.bamsoftware.com/papers/fronting/

    Related

    Tim Tauberttimtaubert.de22 people

    More Privacy, Less Latency – Improved Handshakes in TLS v1.3

    Tim Taubert
    Personal · last shared 2019
    Cloudflare Blogblog.cloudflare.com2.9k people

    We Stood Up to a Patent Troll and Won

    Cloudflare Blog
    Company · last shared 2026
    D. J. Bernsteincr.yp.to641 people

    IEEE Refuses to Accept Public-Domain Papers?

    D. J. Bernstein
    Personal · last shared 2026
    I Don't Play Dartsidontplaydarts.com81 people

    Detecting the use of "curl | bash" server-side

    I Don't Play Darts
    Personal · last shared 2024
    Dan Kaminskydankaminsky.com52 people

    The cryptographically provable con man

    Dan Kaminsky
    Personal · last shared 2024
    Daniel J. Bernsteinblog.cr.yp.to144 people

    NSA, NIST, and post-quantum crypto: my second lawsuit against the US government

    Daniel J. Bernstein
    Personal · last shared 2026
    Andrew Ayeragwa.name60 people

    Sign arbitrary data with your SSH keys

    Andrew Ayer
    Personal · last shared 2026
    Patrick McManusbitsup.blogspot.com32 people

    Google fixes nearly decade-old Linux kernel TCP bug

    Patrick McManus
    Personal · last shared 2020