Horible public key tricks

(maurycyz.com)

40 points | by Curiositry 2 hours ago

6 comments

  • tptacek 1 hour ago
    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 1 hour ago
      > usually by tricking victims into diverting their own traffic

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

      • tptacek 1 hour ago
        No, the simplest (but far from the only) example is DNS injection.
      • embedding-shape 1 hour ago
        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 56 minutes ago
          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

  • arcfour 1 hour ago
    >Nobody checks your private keys

    You're implying that they should???

    • taspeotis 1 hour ago
      I suspect private keys should receive a nominal check, that they can't be guessed by smashing the number 4 on a numpad.
      • arcfour 1 hour ago
        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 6 minutes ago
          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 48 minutes ago
          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 a “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?

        • taspeotis 45 minutes ago
          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.
  • minfazhai 4 minutes ago
    [flagged]
  • lacoolj 14 minutes ago
    I cant get past the title spelling
  • kaslai 21 minutes ago
    > 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 1 hour ago
    >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!