| To give some easier explanation: This is an attack against faulty RSA implementations.
There is a common optimization in RSA signature implementations that splits up an expensive mathematical operation into two smaller operations. If one of these throws out a bad result then you can break the key. Why does this happen? Multiple reasons. Implementations of big number math can and does contain bugs. (I used to hunt for those via fuzzing, which turned up an amazing number of them.) Hardware failures. Other bugs that corrupt numbers in memory. The basic attack is well known. Florian Weimer has demonstrated this against TLS in the wild:
https://www.redhat.com/en/blog/factoring-rsa-keys-tls-perfec... The new thing this paper adds is applying this attack to SSH. There is a countermeasure against this attack, and this is to verify the signature before revealing it. It works. As the paper says, openssh uses openssl's RSA implementation, and it has been doing that since forever (2001). So in summary: Applying a well-known attack against RSA to its use in SSH. Only works if you have an RSA implementation that outputs results of flawed computations. Countermeasures exist, and RSA implementations should use them. |
[1] https://blog.trailofbits.com/2019/07/08/fuck-rsa/