On Thu, 21 Mar 2024 at 05:10, Eric Biggers <ebiggers@xxxxxxxxxx> wrote: > On Tue, Mar 19, 2024 at 07:20:54PM +0200, Jarkko Sakkinen wrote: > > I'd like to think that there is common will to eventually get rid of > > all of SHA-1, and thus in cases where it is not yet possible it would > > make sense to guide what to needs to be done to make it happen, right? > > > > BR, Jarkko > > This is supposed to just be a revert, so it's best not to mess around with > adding additional stuff that wasn't in the original commit. The sha1 signatures > are also not unique; iwd is also forcing the kernel to keep supporting MD4, RC4, > KEYCTL_DH_COMPUTE, KEYCTL_PKEY_{QUERY,ENCRYPT,DECRYPT,SIGN,VERIFY}, etc. > Probably more than I don't know about. I guess all of this should be documented > in the code in appropriate places. Probably the iwd folks should step in to do > this, as they know best what they're using and they got a lot of this added to > the kernel in the first place. As far as I know none of these were added specifically for iwd but I could be wrong. RC4 is not in the kernel anymore. With regards to SHA1 it is used by iwd directly through an API but more importantly it's a dependency for x509 support in practice. Outside of module signing most x509 certificates in the wild use SHA1: wifi, https. This thread originally talked about the removal of SHA1 access through some API, not SHA1 in general. Regarding the use of the kernel crypto in iwd, IIRC some of the motivation was: * to avoid duplication. On a small system it's hard to justify having the same algorithms in the kernel and in userspace. openssl is probably larger than all of ell+iwd. * (various arguments can be made about how duplication doesn't help security, but an argument can be made the other way as well) * there is (was?) a plan to use the kernel keys API to abstract passing keys/keyrings between processes to greatly reduce the presence of the actual key contents in memory/filesystem. Network Manager could load a key from file or a PKCS11 device and pass its kernel handle to iwd or other userspace instead of file paths, with the files necessarily being readable by multiple processes and loaded multiple times into memory. The keys could also be loaded once on boot. Or the keys could be in TPM and never be seen in main memory, only their API handles. Best regards