From: Andy Lutomirski <luto@kernel.org> To: Daniel Borkmann <daniel@iogearbox.net>, Netdev <netdev@vger.kernel.org>, LKML <linux-kernel@vger.kernel.org>, Linux Crypto Mailing List <linux-crypto@vger.kernel.org> Cc: "Jason A. Donenfeld" <Jason@zx2c4.com>, Hannes Frederic Sowa <hannes@stressinduktion.org>, Alexei Starovoitov <alexei.starovoitov@gmail.com>, Eric Dumazet <edumazet@google.com>, Eric Biggers <ebiggers3@gmail.com>, Tom Herbert <tom@herbertland.com>, "David S. Miller" <davem@davemloft.net>, Andy Lutomirski <luto@kernel.org> Subject: [PATCH v2 0/8] Switch BPF's digest to SHA256 Date: Tue, 10 Jan 2017 15:24:38 -0800 [thread overview] Message-ID: <cover.1484090585.git.luto@kernel.org> (raw) I can imagine future uses for the new-in-4.10 BPF digest feature that would be problematic if malicious users could produce collisions, and SHA-1 is no longer consdiered to be collision-free. Even without needing collision resistance, SHA-1 is no longer recommended for new applications. Switch the BPF digest to SHA-256 instead. The actual switchover is trivial. Most of this series consists of cleanups to the SHA256 code to make it usable as a standalone library (since BPF should not depend on crypto). The cleaned up library is much more user-friendly than the SHA-1 code, so this also significantly tidies up the BPF digest code. This is intended for 4.10. If this series misses 4.10 and nothing takes its place, then we'll have an unpleasant ABI stability situation. NB: I would be happy to make parallel changes to the SHA-512 code if the crypto folks would like for me to do so. I haven't yet because I wanted to minimize churn. Also, the changes will be essentially identical to the SHA-256 changes and I want to get the latter reviewed first. Andy Lutomirski (8): crypto/sha256: Factor out the parts of base API that don't use shash_desc crypto/sha256: Export a sha256_{init,update,final}_direct() API crypto/sha256: Build the SHA256 core separately from the crypto module bpf: Use SHA256 instead of SHA1 for bpf digests bpf: Avoid copying the entire BPF program when hashing it bpf: Rename fdinfo's prog_digest to prog_sha256 net: Rename TCA*BPF_DIGEST to ..._SHA256 crypto/testmgr: Allocate only the required output size for hash tests crypto/Kconfig | 8 ++ crypto/Makefile | 1 + crypto/sha256_direct.c | 238 +++++++++++++++++++++++++++++++++++++ crypto/sha256_generic.c | 215 ++------------------------------- crypto/testmgr.c | 9 +- include/crypto/sha.h | 24 ++++ include/crypto/sha256_base.h | 58 +++++---- include/linux/filter.h | 11 +- include/uapi/linux/pkt_cls.h | 2 +- include/uapi/linux/tc_act/tc_bpf.h | 2 +- init/Kconfig | 1 + kernel/bpf/core.c | 63 +++------- kernel/bpf/syscall.c | 2 +- net/sched/act_bpf.c | 2 +- net/sched/cls_bpf.c | 2 +- 15 files changed, 343 insertions(+), 295 deletions(-) create mode 100644 crypto/sha256_direct.c -- 2.9.3
next reply other threads:[~2017-01-10 23:24 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-01-10 23:24 Andy Lutomirski [this message] 2017-01-10 23:24 ` [PATCH v2 1/8] crypto/sha256: Factor out the parts of base API that don't use shash_desc Andy Lutomirski 2017-01-10 23:24 ` [PATCH v2 2/8] crypto/sha256: Export a sha256_{init,update,final}_direct() API Andy Lutomirski 2017-01-10 23:24 ` [PATCH v2 3/8] crypto/sha256: Build the SHA256 core separately from the crypto module Andy Lutomirski 2017-01-10 23:24 ` [PATCH v2 4/8] bpf: Use SHA256 instead of SHA1 for bpf digests Andy Lutomirski 2017-01-10 23:24 ` [PATCH v2 5/8] bpf: Avoid copying the entire BPF program when hashing it Andy Lutomirski 2017-01-10 23:24 ` [PATCH v2 6/8] bpf: Rename fdinfo's prog_digest to prog_sha256 Andy Lutomirski 2017-01-10 23:24 ` [PATCH v2 7/8] net: Rename TCA*BPF_DIGEST to ..._SHA256 Andy Lutomirski 2017-01-11 0:50 ` Daniel Borkmann 2017-01-11 3:11 ` Andy Lutomirski 2017-01-11 9:09 ` Daniel Borkmann 2017-01-11 18:19 ` Andy Lutomirski 2017-01-13 23:08 ` Daniel Borkmann 2017-01-10 23:24 ` [PATCH v2 8/8] crypto/testmgr: Allocate only the required output size for hash tests Andy Lutomirski 2017-01-11 15:13 ` David Laight 2017-01-11 18:10 ` Andy Lutomirski 2017-01-12 7:47 ` Herbert Xu 2017-01-12 7:52 ` Andy Lutomirski 2017-01-12 16:44 ` Herbert Xu 2017-01-11 1:09 ` [PATCH v2 0/8] Switch BPF's digest to SHA256 Alexei Starovoitov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=cover.1484090585.git.luto@kernel.org \ --to=luto@kernel.org \ --cc=Jason@zx2c4.com \ --cc=alexei.starovoitov@gmail.com \ --cc=daniel@iogearbox.net \ --cc=davem@davemloft.net \ --cc=ebiggers3@gmail.com \ --cc=edumazet@google.com \ --cc=hannes@stressinduktion.org \ --cc=linux-crypto@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=netdev@vger.kernel.org \ --cc=tom@herbertland.com \ --subject='Re: [PATCH v2 0/8] Switch BPF'\''s digest to SHA256' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).