I think it technically was not “brute forcing” (since it wasn’t found by searching the entire key space), but specifically someone tried generating CA cert private keys from numbers 0-255, and surprisingly found a few.
We don’t know whether anyone tried it before April 2025, because that’s when the vulnerable certificates were issued. If someone did try it before then, they would not find any certificates (as expected) and probably wouldn’t even talk to anyone about it.
It feels like the kind if thing that someone, somewhere would have a script running constantly testing for private keys with low values. That it went 18 months without being found is a miracle!
I think there’s a good chance people will be looking for this now so will get caught a lot quicker next time.
I think there’s a good chance people will be looking for this now so will get caught a lot quicker next time.
That’s pretty much guaranteed from now on, yes.
It feels like the kind if thing that someone, somewhere would have a script running constantly testing for private keys with low values. That it went 18 months without being found is a miracle!
It’s not the kind of thing you’d expect to need to guard against, or even really think of. It should not happen. It sounds like someone was kind of just fooling around with making private keys and stumbled upon it.
I guess now someone needs to try seeding some of the most popular PRNGs with 0-255 and seeing whether any keys come up in the first few hundred numbers.
It’s just as arbitrary as any other number. You can pick at random, but starting with a dictionary attack of easy, non-random keys would probably be a better start.
I remember playing a game of dvd-deal or no deal, where you would pick random number from one to twenty and see if you won money. The people I was playing with were mad because I just started guessing 1, 2, 3, 4…
I told them statistically it was just as likely to be those numbers as anything else.
Security by obscurity is what it’s called in the industry, and yeah it’s not a good way to do it. Automation and scripts would make it trivial to guess.
It’s kinda like locking your door by putting a wedge in the crack. Probably, no one is going to try to open your door anyways, and probably, even if they did no one is going to take 5 seconds to examine the door and figure it out
But if someone does, it’s laughably easy to figure it out
I think their analogy is still good. Just add “…and your door opens onto Times Square.”
That doesn’t quite get the full scope, but it does imply the danger pretty well. Plus, if you add in “…Times Square of robots, and the robots are all thieves, and your most expensive possession is visibly sitting right inside, and…” it starts to get pretty unwieldy.
Its a very simple concept and so there’s no reason to give it a scientific name which doesnt mean anything to most people
And by the way I would say that entropy isnt even a useful term here. Entropy is defined as
k ln(O)
where O is the total number of microstates (here the number of unique keys that can be made in the system) and k is the boltzmann constant. For the purpose of brute-force attacks we’re interested in the total number of microstates O, and so the logarithmic scaling of entropy isn’t meaningful.
No it absolutely does, the method they used to generate private keys ended up having just 8 shannons of entropy which led to the discovery we are discussing
But, since nobody would expect an organization like that to have a one digit key, wouldn’t that make it extremely hard to guess?
Half kidding here.
Not if you’re brute forcing it.
I think it technically was not “brute forcing” (since it wasn’t found by searching the entire key space), but specifically someone tried generating CA cert private keys from numbers 0-255, and surprisingly found a few.
So why did it take so long for someone to try it?
Kind of like how you don’t expect to walk up to an atm, press 1234, and hope for a million dollars to spit out.
We don’t know whether anyone tried it before April 2025, because that’s when the vulnerable certificates were issued. If someone did try it before then, they would not find any certificates (as expected) and probably wouldn’t even talk to anyone about it.
It feels like the kind if thing that someone, somewhere would have a script running constantly testing for private keys with low values. That it went 18 months without being found is a miracle!
I think there’s a good chance people will be looking for this now so will get caught a lot quicker next time.
That’s pretty much guaranteed from now on, yes.
It’s not the kind of thing you’d expect to need to guard against, or even really think of. It should not happen. It sounds like someone was kind of just fooling around with making private keys and stumbled upon it.
I guess now someone needs to try seeding some of the most popular PRNGs with 0-255 and seeing whether any keys come up in the first few hundred numbers.
Ain’t no way I’m starting from 0 if the standard key is 256-bit
It’s just as arbitrary as any other number. You can pick at random, but starting with a dictionary attack of easy, non-random keys would probably be a better start.
I remember playing a game of dvd-deal or no deal, where you would pick random number from one to twenty and see if you won money. The people I was playing with were mad because I just started guessing 1, 2, 3, 4…
I told them statistically it was just as likely to be those numbers as anything else.
“Time to brute force this key, I guess I will go get some lun… What do you mean it’s already done? Who uses 4???”
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100
Security by obscurity is what it’s called in the industry, and yeah it’s not a good way to do it. Automation and scripts would make it trivial to guess.
It’s kinda like locking your door by putting a wedge in the crack. Probably, no one is going to try to open your door anyways, and probably, even if they did no one is going to take 5 seconds to examine the door and figure it out
But if someone does, it’s laughably easy to figure it out
Except this is internet and pretty much anybody on the planet could test the security of your doors.
I like the analogy but I think it doesn’t really apply when it comes to devices that are connected to the internet.
I think their analogy is still good. Just add “…and your door opens onto Times Square.”
That doesn’t quite get the full scope, but it does imply the danger pretty well. Plus, if you add in “…Times Square of robots, and the robots are all thieves, and your most expensive possession is visibly sitting right inside, and…” it starts to get pretty unwieldy.
Well, someone did guess it so it’s not that hard. The entropy was really low.
‘Entropy’ doesnt apply here
It does doesn’t it?
The higher the number of bits, the more entropy in the system.
It’s a pointlessly obscure way of saying there are more numbers
Its a measure of the randomness of numbers in the system, ie the definition of entropy.
People do use it to sound cool, but this use still fits its mathematic definition.
I know. Its still pointlessly obscure
Aren’t all words you don’t understand obscure ?
Entropy is the correct word and is commonly use in cryptography.
Its a very simple concept and so there’s no reason to give it a scientific name which doesnt mean anything to most people
And by the way I would say that entropy isnt even a useful term here. Entropy is defined as
where O is the total number of microstates (here the number of unique keys that can be made in the system) and k is the boltzmann constant. For the purpose of brute-force attacks we’re interested in the total number of microstates O, and so the logarithmic scaling of entropy isn’t meaningful.
No it absolutely does, the method they used to generate private keys ended up having just 8 shannons of entropy which led to the discovery we are discussing