all 16 comments

sorted by: hot top controversial new old
[–] 72 points 2 weeks ago* (10 children)

On the internet, to maintain security, you have to have something called a certificate that is used as part of establishing a secure connection using TLS (the secure part of https). The way it works is using a public/private key pair -- one half is public, and is used to verify that the certificate is signed by the correct authority, and the other is secret, where no-one else can figure it out. Each key is just a really big number that goes into a cryptographic math problem. One certificate authority, eMudhra, used 8 different private keys that were extremely small numbers, including one that is just the number 4 (represented as 0000000...4, but literally just the number 4). The math problem is much easier to solve with small numbers, and a common way to break the cypher is to check every possible option starting at 0, which gets to 4 pretty fast. It's remarkable in terms of a security breach because no-one actually had to leak anything for it to be insecure, it's just that the "password" was so easy to guess that we had to "rotate the passwords" for basically the entire internet, because now anyone can sign a certificate using the private key 4 and it will look like a real certificate for google.com or wellsfargo.com or whatever.

  • source
  • hideshow 10 child comments
  • [–] 30 points 2 weeks ago (4 children)

    Why did anyone trust this eMudhra?

  • source
  • parent
  • hideshow 4 child comments
  • [–] 39 points 2 weeks ago*

    A surprisingly good question

    Because it expands to "why does anyone trust any CA?" And most of the time people don't; it's the app making the choice for the user.

    The answer for eMudhra specifically, I'd assume, is that it was simply a regional publicly-traded corp that paid the fees and went through the process and had clients worth having; just like any other CA

  • source
  • parent
  • [–] 21 points 2 weeks ago (2 children)

    Most likely because they didn't assume a certificate signing company could be that bad at their job.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 2 weeks ago (3 children)

    Well I'm off to take my network plus test now. Wish me luck!

  • source
  • parent
  • hideshow 3 child comments
  • [–] 2 points 2 weeks ago (2 children)
  • [–] 7 points 2 weeks ago (4 children)

    Essentially all internet security is based on the fundamental idea that if you have some really big randomly selected prime number, you can do math on it easily to get a final value, but doing the math backwards to find the original prime number is computationally infeasible. Your prime number is secret, the calculated final value is public. You can sign data with your prime number private key and someone can use the corresponding public key to verify that the data was signed with the corresponding private key.

    It's really important that your private key stays private. It's really important that your private key can't be brute forced by trying a bunch of numbers to guess your secret prime number.

    Your private key should be using a number like 11185240471355026063328096486023294694077671402173515074581823211722702563586240744645728206308310973537336052780084.

    It would be really bad if your private key was something like 4. It would be REALLY BAD if that private key was used to sign a bunch of data used for internet security.

    https://scotthelme.co.uk/eight-bits-of-trust-emudhras-ca-keys-cracked-in-milliseconds/

    P.S. I don't actually know if all algorithms use only prime numbers or if some of them can use non-primes.

  • source
  • hideshow 4 child comments
  • [–] 1 point 2 weeks ago (3 children)

    I thought 4 was the password to recover or lock the private key. Been out of IT for awhile, what am I missing? For example, how could I use 4 to get the private key?

  • source
  • parent
  • hideshow 3 child comments
  • [–] 4 points 2 weeks ago (2 children)
  • [–] 1 point 2 weeks ago (1 child)

    JFC, that's worse than I imagined. Thought it was a recovery thing, but now I'm questioning if that's even possible. What am I thinking of? I could swear I've entered a password making key pairs.

  • source
  • parent
  • hideshow 1 child comment