Flaw crippling millions of crypto keys is worse than first disclosed
arstechnica.com
arstechnica.com
http://blog.cr.yp.to/20171105-infineon.html
Really, all he's saying is:
* Estonia is expediting the replacement of their ID cards. They probably should have done that earlier.
* More Estonian ID cards are vulnerable than were previously known. But so many were known to be vulnerable in the first place that ROCA already represented a grave problem.
* Dan Bernstein and Tanja Lange were, unsurprisingly, able to outdo the exploit implementation that the original ROCA team came up with. Someone else will get a faster implementation. The vulnerability was only recently published; Bernstein and Lange got their competing attack by re-discovering it from clues from the partial "teaser" discovery. There's been no serious competition for exploits and probably won't be.
All the ROCA exploits we know of place broken Infineon keys in the category of "breakable by with a 5-figure budget". That was the case both before and after Bernstein's post. Obviously, you can't use RSA keys that are 5-figures away from being factorized. Someone may get the budget down to 4 figures, but if you're still using a vulnerable key by that point, you've got bigger problems.
The most irritating thing about this reporting is the angle Goodin chose: "flaw more serious than anticipated". No, even given just the teaser details, ROCA was known (and widely acknowledged) to be a game-over problem. And not just for Estonia: everyone using a Y4 key to protect a VPN or SSH connection also needs to have their keys recalled, so the security nerds were pretty alert to the problem.
The better angle for the story is "partial disclosure doesn't work". Disclose or don't disclose. Don't create an easter egg hunt by releasing a teaser disclosure. Nobody working in crypto or software security was too surprised that Bernstein and Lange were able to reproduce the attack from clues (there were a lot of clues). They're right when they say in their blog post that others have probably figured out this exploit before the ROCA team (especially since it was sort of teased from an earlier paper). Which leaves the question of why the ROCA authors bothered to withhold publication after announcing the flaw.
1: http://blog.cr.yp.to/20171105-infineon.html
2: https://crocs.fi.muni.cz/_media/public/papers/nemec_roca_ccs...
"The flaw resides in the Infineon-developed RSA Library version v1.02.013, specifically within an algorithm it implements for RSA primes generation."
"The flaw affects only keys generated with the RSA algorithm, and then only when they were generated on a smartcard or other embedded device that uses the Infineon library."
"All told, the researchers estimate that Infineon's faulty library may have generated tens of millions of RSA keys in the five or so years it has been commercially available."
https://arstechnica.com/information-technology/2017/10/crypt...
He has used the system from the outset and describes it as dated. It was built for a pre-mobile era and does not have a full-featured ecosystem for mobile devices.
- Is there a trick to getting "Load picture" (my own photo) to work? All I've ever gotten is "invalid response," and this is on Windows, OS X, and Linux.
- Supposedly new Estonian IDs use ECC rather than RSA, but some articles seem to be confusing whether the once-vulnerable-but-now-regenerated IDs use ECC as well. I don't think that's possible, as the smart-card hardware doesn't appear to support it. Does an ECC key require new hardware for pre-November 2017 cards?
- For those of you who have been following Estonian ID technology for a while, why didn't they use regular OpenPGP cards that would enable cardholders to use ordinary PGP/GPG clients? Did the Estonian standard predate the OpenPGP standard? Or were there technical reasons the Estonian government needed something else?
No idea. It doesn't work for me either.
Anyone has estimated the impact of this on crypto currency or crypto wallet system?
It would be interesting to see how many if any of the public keys use n crypto currency systems are potentially impacted by this type of hack.
In addition, in Bitcoin, the ECDSA public key for unspent transaction outputs is not itself stored in the blockchain; only the SHA256 hash of the key is stored. If the same private key isn't reused (and reuse is discouraged for privacy reasons), an attacker wouldn't have access to the public key.
Can someone explain why a 2048-bit key isn't 2^1024 times as costly to break?
Any educated guesses?
edit: As it is also required to have an ID card this should cover 100% of the population of Belgium.
In Czech Republic chip ID is optional and you have to pay (~20EUR) for the chip itself. As it does not have any meaningful purpose that is legal (loading your own certificate onto the card is technically possible but explicitly outlawed) even the local authorities issuing IDs will advise you that you don't want chip ID.
In contrast to that in the above mentioned countries I've seen state issued smartcards (regardless of whether they are EU-wide ID or just additional smartcard) used for useful purposes (eg. to submit VAT returns online, which is something that in .cz you can do with any PKCS#11 token of you choosing or by using state-run OAuth-ish ID provider)
I cannot provide any citation for that, but I believe that the EU regulations related to digital signatures require that the private key to not be available to the state, which implies either on-card generation or same process as is used by commercial CAs (which is the case in .cz, where you can choose from three or so CAs which are at least notionally commercial entities)
Actually signing is performed differently and since this summer they switched to a cloud signing process where you don't have access to your key. You cannot get a certificate for a key on the card anymore. Not that anyone actually used that feature.
Edit: otherwise you confirm my suspicion that essentially nobody uses the chip on ID cards outside of Estonia (Slovakia is mentioned due to their recent massive rollout of chip IDs inspired by Estonia, but I assume that actual usefullnes is nil)
Googling suggests that they might be another user of the ~~infected~~ infineon SLE78 platform.
Return of Coppersmith’s Attack [ROCA]: Vulnerable RSA Generation | https://news.ycombinator.com/item?id=15482441 (2017Oct:142points,22comments)
https://www.yubico.com/support/security-advisories/ysa-2017-...
The NSA wants cryptographic vulnerabilities that are cryptographically "NOBUS". Dual_EC was a useful backdoor (if surprisingly clunky) because even if you understand the weakness, you can't take advantage of it without having custody of a private key.
That depends on who is going to use the vulnerable system and for what purpose.
The NSA finds and exploits vulnerabilities for their own uses, suggesting that they might create some is hardly a stretch.
If you're setting up a honeypot, why would you use an extremely complex cryptographic vulnerability? There's tens of thousands of straightforward software vulnerabilities that allow you to set up honeypots.
These don't sound like plausible reasons for NSA to effectively allow its own assets to be compromised needlessly.
Of course not. If the public key came from the intelligence community and is a possible vector for attack, then a successful attack implicates them as the likely holders of the private key. BTW, "plausibility" doesn't imply "proof".
> If you're setting up a honeypot, why would you use an extremely complex cryptographic vulnerability?
Because of it's complexity, the honey pot is less suspicious to your adversary. If you compromise a 3rd party, then install a straightforward vulnerability, that raises flags. But letting your adversary compromise the system using the same vulnerability as you is perfectly natural.
If the crypto can be broken for ~1000$, as mentioned, that seems like a serious problem...