Hacks: Smashing SHA-1 to Shambles for less than 1BTC
https://eprint.iacr.org/2020/014 SHA-1 is a Shambles - First Chosen-Prefix Collision on SHA-1 and Application to the PGP Web of Trust Gaëtan Leurent and Thomas Peyrin Abstract: The SHA-1 hash function was designed in 1995 and has been widely used during two decades. A theoretical collision attack was first proposed in 2004 [WYY05], but due to its high complexity it was only implemented in practice in 2017, using a large GPU cluster [SBK+17]. More recently, an almost practical chosen-prefix collision attack against SHA-1 has been proposed [LP19]. This more powerful attack allows to build colliding messages with two arbitrary prefixes, which is much more threatening for real protocols. In this paper, we report the first practical implementation of this attack, and its impact on real-world security with a PGP/GnuPG impersonation attack. We managed to significantly reduce the complexity of collisions attack against SHA-1: on an Nvidia GTX 970, identical-prefix collisions can now be computed with a complexity of 261.2 rather than 264.7, and chosen-prefix collisions with a complexity of 263.4 rather than 267.1. When renting cheap GPUs, this translates to a cost of 11k US\$ for a collision, and 45k US\$ for a chosen-prefix collision, within the means of academic researchers. Our actual attack required two months of computations using 900 Nvidia GTX 1060 GPUs (we paid 75k US\$ because GPU prices were higher, and we wasted some time preparing the attack). Therefore, the same attacks that have been practical on MD5 since 2009 are now practical on SHA-1. In particular, chosen-prefix collisions can break signature schemes and handshake security in secure channel protocols (TLS, SSH). We strongly advise to remove SHA-1 from those type of applications as soon as possible. We exemplify our cryptanalysis by creating a pair of PGP/GnuPG keys with different identities, but colliding SHA-1 certificates. A SHA-1 certification of the first key can therefore be transferred to the second key, leading to a forgery. This proves that SHA-1 signatures now offers virtually no security in practice. The legacy branch of GnuPG still uses SHA-1 by default for identity certifications, but after notifying the authors, the modern branch now rejects SHA-1 signatures (the issue is tracked as CVE-2019-14855).
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Wednesday, December 30, 2020 6:04 AM, grarpamp <grarpamp@gmail.com> wrote:
https://eprint.iacr.org/2020/014 SHA-1 is a Shambles - First Chosen-Prefix Collision on SHA-1 and Application to the PGP Web of Trust ... We managed to significantly reduce the complexity of collisions attack against SHA-1: on an Nvidia GTX 970, identical-prefix collisions can now be computed with a complexity of 261.2 rather than 264.7, and chosen-prefix collisions with a complexity of 263.4 rather than 267.1. When renting cheap GPUs, this translates to a cost of 11k US\$ for a collision, and 45k US\$ for a chosen-prefix collision, within the means of academic researchers. Our actual attack required two months of computations using 900 Nvidia GTX 1060 GPUs (we paid 75k US\$ because GPU prices were higher, and we wasted some time preparing the attack). Therefore, the same attacks that have been practical on MD5 since 2009 are now practical on SHA-1. In particular, chosen-prefix collisions can break signature schemes and handshake security in secure channel protocols (TLS, SSH).
someone could warm some GPUs and really make a mess of commits to public repos. (yes, git uses SHA1 :) see also https://github.com/bk2204/git/blob/transition-stage-4/Documentation/technica... best regards,
1. This is old news 2. This particular type of collision is detectable by sha1dc (which is use by git) last time I checked. -S On Wed, Dec 30, 2020 at 04:07:26PM +0000, coderman wrote:
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Wednesday, December 30, 2020 6:04 AM, grarpamp <grarpamp@gmail.com> wrote:
https://eprint.iacr.org/2020/014 SHA-1 is a Shambles - First Chosen-Prefix Collision on SHA-1 and Application to the PGP Web of Trust ... We managed to significantly reduce the complexity of collisions attack against SHA-1: on an Nvidia GTX 970, identical-prefix collisions can now be computed with a complexity of 261.2 rather than 264.7, and chosen-prefix collisions with a complexity of 263.4 rather than 267.1. When renting cheap GPUs, this translates to a cost of 11k US\$ for a collision, and 45k US\$ for a chosen-prefix collision, within the means of academic researchers. Our actual attack required two months of computations using 900 Nvidia GTX 1060 GPUs (we paid 75k US\$ because GPU prices were higher, and we wasted some time preparing the attack). Therefore, the same attacks that have been practical on MD5 since 2009 are now practical on SHA-1. In particular, chosen-prefix collisions can break signature schemes and handshake security in secure channel protocols (TLS, SSH).
someone could warm some GPUs and really make a mess of commits to public repos. (yes, git uses SHA1 :)
see also https://github.com/bk2204/git/blob/transition-stage-4/Documentation/technica...
best regards,
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Wednesday, December 30, 2020 6:08 PM, Sangy <sangy@riseup.net> wrote:
1. This is old news 2. This particular type of collision is detectable by sha1dc (which is use by git) last time I checked.
if by detect, you mean "die": https://github.com/git/git/blob/master/sha1dc_git.c#L21 :) best regards,
someone could warm some GPUs and really make a mess of commits to public repos.
Which repos will they target for this fun?
https://github.com/bk2204/git/blob/transition-stage-4/Documentation/technica...
Yes yet now with more 2ae12e56 https://github.com/gig/git/blob/transition-stage-4/Documentation/technical/h...
if by detect, you mean "die": https://github.com/git/git/blob/master/sha1dc_git.c#L21
Appears this general thing was integrated now... https://github.com/git/sha1collisiondetection Projects will weasel from adopting sha-256 by stating this handy nag-die forces projects to add needed documentation to their code in order to avoid collision, kills two... collision and docs, with one line of #.
On Thu, Dec 31, 2020 at 12:16:20AM -0500, grarpamp wrote:
someone could warm some GPUs and really make a mess of commits to public repos.
Which repos will they target for this fun?
The Torvald's' "oh we can never ever break userspace, not at any cost ever" refusal to simply put in an initiating version string, in protocol "2", in all clients and libs, ready for the flag day, is moronic in the extreme! Religious zeal proving how brain-firetrucked some folks are... Learn the lesson, pay the price, move on! Instead this stupidity lives with us for years now, perhaps decades to come. Is 5 years reasonable (would have been done already)? 20? Whatever you choose, start NOW ffs! Ridiculous...
participants (4)
-
coderman
-
grarpamp
-
Sangy
-
Zenaan Harkness