mbox series

[RFC,v2,0/3] remove remaining users of SHA-1

Message ID 20220114142015.87974-1-Jason@zx2c4.com
Headers show
Series remove remaining users of SHA-1 | expand

Message

Jason A. Donenfeld Jan. 14, 2022, 2:20 p.m. UTC
Hi,

There are currently two remaining users of SHA-1 left in the kernel: bpf
tag generation, and ipv6 address calculation. In an effort to reduce
code size and rid ourselves of insecure primitives, this RFC patchset
moves to using the more secure BLAKE2s function. I wanted to get your
feedback on how feasible this patchset is, and if there is some
remaining attachment to SHA-1, why exactly, and what could be done to
mitigate it. Rather than sending a mailing list post just asking, "what
do you think?" I figured it'd be easier to send this as an RFC patchset,
so you see specifically what I mean.

Version 2 makes the ipv6 handling a bit cleaner and fixes a build
warning from the last commit. Since this is just an RFC-for-discussion,
there's not technically a need to be sending this, but from the looks of
it, a real solution here might involve a bit more heavy lifting, so I
wanted to at least get my latest on the list in case others want to play
around with solutions in this space too. Also, the original recipient
list was too narrow, so this v2 expands that a bit.

Thoughts? Comments?

Thanks,
Jason

Cc: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Erik Kline <ek@google.com>
Cc: Fernando Gont <fgont@si6networks.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Jean-Philippe Aumasson <jeanphilippe.aumasson@gmail.com>
Cc: Lorenzo Colitti <lorenzo@google.com>

Jason A. Donenfeld (3):
  bpf: move from sha1 to blake2s in tag calculation
  ipv6: move from sha1 to blake2s in address calculation
  crypto: sha1_generic - import lib/sha1.c locally

 crypto/sha1_generic.c | 182 +++++++++++++++++++++++++++++++++++++
 include/crypto/sha1.h |  10 ---
 kernel/bpf/core.c     |  39 +-------
 lib/Makefile          |   2 +-
 lib/sha1.c            | 204 ------------------------------------------
 net/ipv6/addrconf.c   |  56 +++---------
 6 files changed, 201 insertions(+), 292 deletions(-)
 delete mode 100644 lib/sha1.c

Comments

Alexei Starovoitov Jan. 14, 2022, 4:20 p.m. UTC | #1
On Fri, Jan 14, 2022 at 6:20 AM Jason A. Donenfeld <Jason@zx2c4.com> wrote:
>
> BLAKE2s is faster and more secure. SHA-1 has been broken for a long time
> now. This also removes quite a bit of code, and lets us potentially
> remove sha1 from lib, which would further reduce vmlinux size.

Same NACK as before.
Stop this spam. Pls.
Jason A. Donenfeld Jan. 14, 2022, 4:33 p.m. UTC | #2
On Fri, Jan 14, 2022 at 5:20 PM Alexei Starovoitov
<alexei.starovoitov@gmail.com> wrote:
>
> On Fri, Jan 14, 2022 at 6:20 AM Jason A. Donenfeld <Jason@zx2c4.com> wrote:
> >
> > BLAKE2s is faster and more secure. SHA-1 has been broken for a long time
> > now. This also removes quite a bit of code, and lets us potentially
> > remove sha1 from lib, which would further reduce vmlinux size.
>
> Same NACK as before.
> Stop this spam. Pls.

You can read the 0/3 for an explanation of why I sent this v2. I
reject your characterization of this as "spam".

Thanks,
Jason