Remix.run Logo
▲ Horible public key tricks(maurycyz.com)
55 points by Curiositry 4 hours ago | 23 comments
▲tptacek 3 hours ago | parent | next [-]

All serious attackers are man-in-the-middle attackers (usually by tricking victims into diverting their own traffic, not literally by inserting themselves into the network path). Passive-only attackers went extinct along with the backbone-connected Sun servers that were used to launch those attacks.

I don't so much care about the rest of this analysis, but you can't call an unauthenticated TLS session "secure".

▲stingraycharles 3 hours ago | parent [-]

> usually by tricking victims into diverting their own traffic

What does this mean practically? Getting a VPN profile installed ?

▲tptacek 3 hours ago | parent | next [-]

No, the simplest (but far from the only) example is DNS injection.

▲embedding-shape 2 hours ago | parent | prev [-]

Make the web unusable unless you're protected by your "DDOS" protection, offer a free service to solve the problem. Or provide a free service with as little friction to start replacing private/internal networking with, ideally with wide platform support. Or provide some sort of alternative "private" altnet, promising anonymity and access to clearnet via some sort of gateways, specifically for murky stuff.

▲alwa 2 hours ago | parent [-]

Or, of course, go high-touch: sell hyper-e2e-encrypted, hardware+software mobile devices directly to crime syndicates, explicitly to keep their traffic safe from prying governmental men-in-the-middle…

[0] https://en.wikipedia.org/wiki/EncroChat

▲knotimpressed an hour ago | parent | prev | next [-]

The linked pdf at https://tom7.org/httpv/httpv.pdf is extremely long but a great read if you enjoyed the article.

▲cute_boi 33 minutes ago | parent [-]

"the way, to sign a piece of software, you need to pay an extortive $100/year fee to Apple"

This is the main reason I hate these notarization. And the worst thing is if you want to work on some software that require network extension, you can't even do it without paying apple $99 a year. There are workaround like turning off SIP, but it isn't recommended.

▲LoganDark 14 minutes ago | parent [-]

Apple won't even let you pay the fee in some cases. I've been fighting with them trying to figure out why they won't accept my ID verification since March. They keep saying my devices are linked to another Apple Account, but none of them have ever touched another account and I purchased them all directly from the Apple Store, so what the fuck.

▲sam1r an hour ago | parent | prev | next [-]

Tip: select the the ‘tty’ mode prior to digging in.

I’ve never felt a more relaxed feeling (easy on the eyes) while reading any blog in comparison.

▲arcfour 2 hours ago | parent | prev | next [-]

>Nobody checks your private keys

You're implying that they should???

▲taspeotis 2 hours ago | parent [-]

I suspect private keys should receive a nominal check, that they can't be guessed by smashing the number 4 on a numpad.

▲arcfour 2 hours ago | parent [-]

So we either expose the key material for inspection (very obviously bad) or we try and brute force how many possible "weak" private keys from the public key to see if they check out?

Note that this is on the order of trillions of useless computations at least per year since almost everyone just uses a CSPRNG or HWRNG available in all modern computers to generate their keys sanely.

Now, for CAs, sure because that is a very small number of certificates. But that's a completely different discussion and also however eMudhra managed to lop off all of the entropy except for the final byte was wildly incompetent and not something a layman would even consider doing.

It's also not the job of the CA to detect you being an idiot. You can go post your private key online after getting your certificate if you so wish, the CA may revoke it if they find out but they're just in the business of helping you secure your communications with others. If you wish for them to actually be insecure... You are silly, but that was always allowed.

▲hxtk an hour ago | parent | next [-]

FWIW, at at least some of the ACME CAs still willing to sign RSA certificates will make a cursory attempt at brute forcing your private key to make sure you don’t have one very tiny prime and one big one. Tom7 encountered this when he tried to implement the least secure website he could without being flagged by the browser. He ended up using a public modulus with four prime factors instead of 2.

▲alwa 2 hours ago | parent | prev | next [-]

The “4” affair did make me wonder… as a non-expert, I’d always kind of assumed that—with all the ceremony around key ceremonies and all—there might be some way to provably assert the set of techniques used to arrive at the key in the first place. XYZ hardware-signed source of entropy was sampled at DEF time and input into ABC signed chunk of algorithm to arrive at the private key…

In fact I assumed that’s why somebody might explicitly choose “4” as their key: to make it as easily detected as “TK” in a copy edit, or a prefix-designated API key in a repo, or an “@example.com” that slides by into a serious environment.

We really go on a pinky swear across the public CA ecosystem?

▲hxtk an hour ago | parent | next [-]

You could certainly use zero knowledge proofs to prove some statements about the secret key, like requiring it to be roughly a 1:1 ratio of 0s and 1s and the longest run of the same bit is not significantly larger than log2(n). I think if I were trying to enforce a minimum level of security then I might take that route, requiring that the key passes zero-knowledge proofs of various statistical tests of randomness.

By pigeonhole principle, nearly all numbers have to have a Kolmogrov complexity within some constant of their own length, meaning they are algorithmically random and will by definition pass every statistical test of randomness, so you lose surprisingly few bits entropy per assertion this way.

▲ameliaquining an hour ago | parent | prev [-]

You're looking for https://www.ietf.org/archive/id/draft-ietf-lamps-csr-attesta.... It's gotten enough renewed attention in the wake of the eMudhra fiasco that I'm reasonably optimistic about it becoming required for intermediates.

▲taspeotis 2 hours ago | parent | prev [-]

I am not sure how trillions of computations will occur, simply attempting 0-255 would have found ... all? ... of the eMudhra fuckups. Maybe a few million instructions burnt on a CPU.

▲arcfour an hour ago | parent [-]

Do you know how many SSL certificates are issued per year? LE issued 10 million per day in 2025. https://letsencrypt.org/2025/12/09/10-years

And again, you have to actively work to get a "private key" of 0000 ... 0-255. If you want to be stupid it's not really the CA's job to tell you not to be. It's their job to verify your identity. And, again, a CA itself is a totally separate beast where this thinking does not apply. If you want to be secure it's easy to be secure and if you don't want to be... Why should anyone else care? You are only hurting yourself.

▲lacoolj an hour ago | parent | prev | next [-]

I cant get past the title spelling

▲jansenmac 24 minutes ago | parent [-]

Yes. It’s horrible.

▲Curiositry 14 minutes ago | parent [-]

I suspect there might be something intentional about this. There is a strangely high seeming-typo count in that post (yeild, pivate, relevent, etc), and I have not noticed major typos like this in the author's other work.

▲kaslai an hour ago | parent | prev | next [-]

> So, I've always been somewhat annoyed at SSL/TLS. It requires everyone to go through a complex "ACME" dance just to put up a public website. Worse, certificates expire every few months, so it's not a one and done thing: even with automation, maintaining a certificate requires care to ensure the ACME client always has access to DNS records or the web server.

Not actually all that long ago, people faced down the prospect of $1000+/year E.V. Verisign certs that involved faxing legal documents, phone calls, and other probing. Many jumped for joy when LetsEncrypt was finally mature enough for the mainstream. Kids these days don't know how good they've got it...

▲mplewis 2 hours ago | parent | prev [-]

>the whole system doesn't even work

Yeah, I saw a fire hydrant leaking the other day. Time to tear out all the plumbing, the whole system doesn't even work!