mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Re: [PATCH v2 15/41] SUNRPC: Enable rpcsec_gss_krb5.ko to be built without CRYPTO_DES
       [not found] ` <167380331214.10651.11224254824457738270.stgit@bazille.1015granger.net>
@ 2023-03-06  8:16   ` Geert Uytterhoeven
  2023-03-06 16:17     ` Chuck Lever III
  0 siblings, 1 reply; 3+ messages in thread
From: Geert Uytterhoeven @ 2023-03-06  8:16 UTC (permalink / raw)
  To: Chuck Lever; +Cc: linux-nfs, dhowells, simo, linux-kselftest, linux-kernel

 	Hi Chuck,

On Sun, 15 Jan 2023, Chuck Lever wrote:
> From: Chuck Lever <chuck.lever@oracle.com>
>
> Because the DES block cipher has been deprecated by Internet
> standard, highly secure configurations might require that DES
> support be blacklisted or not installed. NFS Kerberos should still
> be able to work correctly with only the AES-based enctypes in that
> situation.
>
> Also note that MIT Kerberos has begun a deprecation process for DES
> encryption types. Their README for 1.19.3 states:
>
>> Beginning with the krb5-1.19 release, a warning will be issued
>> if initial credentials are acquired using the des3-cbc-sha1
>> encryption type.  In future releases, this encryption type will
>> be disabled by default and eventually removed.
>>
>> Beginning with the krb5-1.18 release, single-DES encryption
>> types have been removed.
>
> Aside from the CONFIG option name change, there are two important
> policy changes:
>
> 1. The 'insecure enctype' group is now disabled by default.
>   Distributors have to take action to enable support for deprecated
>   enctypes. Implementation of these enctypes will be removed in a
>   future kernel release.
>
> 2. des3-cbc-sha1 is now considered part of the 'insecure enctype'
>   group, having been deprecated by RFC 8429, and is thus disabled
>   by default
>
> After this patch is applied, SunRPC support can be built with
> Kerberos 5 support but without CRYPTO_DES enabled in the kernel.
> And, when these enctypes are disabled, the Linux kernel's SunRPC
> RPCSEC GSS implementation fully complies with BCP 179 / RFC 6649
> and BCP 218 / RFC 8429.
>
> Tested-by: Scott Mayhew <smayhew@redhat.com>
> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

Thanks for your patch, which is now commit dfe9a123451a6e73 ("SUNRPC:
Enable rpcsec_gss_krb5.ko to be built without CRYPTO_DES") in v6.3-rc1.

> --- a/net/sunrpc/Kconfig
> +++ b/net/sunrpc/Kconfig
> @@ -19,10 +19,10 @@ config SUNRPC_SWAP
> config RPCSEC_GSS_KRB5
> 	tristate "Secure RPC: Kerberos V mechanism"
> 	depends on SUNRPC && CRYPTO
> -	depends on CRYPTO_MD5 && CRYPTO_DES && CRYPTO_CBC && CRYPTO_CTS
> -	depends on CRYPTO_ECB && CRYPTO_HMAC && CRYPTO_SHA1 && CRYPTO_AES
> 	default y
> 	select SUNRPC_GSS
> +	select CRYPTO_SKCIPHER
> +	select CRYPTO_HASH
> 	help
> 	  Choose Y here to enable Secure RPC using the Kerberos version 5
> 	  GSS-API mechanism (RFC 1964).

While updating my defconfigs for v6.3-rc1, I noticed this change has an
interesting side-effect: if any of the CRYPTO_* algorithms were modular
before, RPCSEC_GSS_KRB5 was modular, too.
After this change, RPCSEC_GSS_KRB5 is promoted to builtin.

This is not necessarily bad in-se, but you might want to be aware of it,
and perhaps change the "default y".

Gr{oetje,eeting}s,

 						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
 							    -- Linus Torvalds

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2 15/41] SUNRPC: Enable rpcsec_gss_krb5.ko to be built without CRYPTO_DES
  2023-03-06  8:16   ` [PATCH v2 15/41] SUNRPC: Enable rpcsec_gss_krb5.ko to be built without CRYPTO_DES Geert Uytterhoeven
@ 2023-03-06 16:17     ` Chuck Lever III
  2023-03-06 18:01       ` Geert Uytterhoeven
  0 siblings, 1 reply; 3+ messages in thread
From: Chuck Lever III @ 2023-03-06 16:17 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Chuck Lever, Linux NFS Mailing List, David Howells, Simo Sorce,
	linux-kselftest, linux-kernel



> On Mar 6, 2023, at 3:16 AM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> 
> 	Hi Chuck,
> 
> On Sun, 15 Jan 2023, Chuck Lever wrote:
>> From: Chuck Lever <chuck.lever@oracle.com>
>> 
>> Because the DES block cipher has been deprecated by Internet
>> standard, highly secure configurations might require that DES
>> support be blacklisted or not installed. NFS Kerberos should still
>> be able to work correctly with only the AES-based enctypes in that
>> situation.
>> 
>> Also note that MIT Kerberos has begun a deprecation process for DES
>> encryption types. Their README for 1.19.3 states:
>> 
>>> Beginning with the krb5-1.19 release, a warning will be issued
>>> if initial credentials are acquired using the des3-cbc-sha1
>>> encryption type.  In future releases, this encryption type will
>>> be disabled by default and eventually removed.
>>> 
>>> Beginning with the krb5-1.18 release, single-DES encryption
>>> types have been removed.
>> 
>> Aside from the CONFIG option name change, there are two important
>> policy changes:
>> 
>> 1. The 'insecure enctype' group is now disabled by default.
>>  Distributors have to take action to enable support for deprecated
>>  enctypes. Implementation of these enctypes will be removed in a
>>  future kernel release.
>> 
>> 2. des3-cbc-sha1 is now considered part of the 'insecure enctype'
>>  group, having been deprecated by RFC 8429, and is thus disabled
>>  by default
>> 
>> After this patch is applied, SunRPC support can be built with
>> Kerberos 5 support but without CRYPTO_DES enabled in the kernel.
>> And, when these enctypes are disabled, the Linux kernel's SunRPC
>> RPCSEC GSS implementation fully complies with BCP 179 / RFC 6649
>> and BCP 218 / RFC 8429.
>> 
>> Tested-by: Scott Mayhew <smayhew@redhat.com>
>> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
> 
> Thanks for your patch, which is now commit dfe9a123451a6e73 ("SUNRPC:
> Enable rpcsec_gss_krb5.ko to be built without CRYPTO_DES") in v6.3-rc1.
> 
>> --- a/net/sunrpc/Kconfig
>> +++ b/net/sunrpc/Kconfig
>> @@ -19,10 +19,10 @@ config SUNRPC_SWAP
>> config RPCSEC_GSS_KRB5
>> 	tristate "Secure RPC: Kerberos V mechanism"
>> 	depends on SUNRPC && CRYPTO
>> -	depends on CRYPTO_MD5 && CRYPTO_DES && CRYPTO_CBC && CRYPTO_CTS
>> -	depends on CRYPTO_ECB && CRYPTO_HMAC && CRYPTO_SHA1 && CRYPTO_AES
>> 	default y
>> 	select SUNRPC_GSS
>> +	select CRYPTO_SKCIPHER
>> +	select CRYPTO_HASH
>> 	help
>> 	  Choose Y here to enable Secure RPC using the Kerberos version 5
>> 	  GSS-API mechanism (RFC 1964).
> 
> While updating my defconfigs for v6.3-rc1, I noticed this change has an
> interesting side-effect: if any of the CRYPTO_* algorithms were modular
> before, RPCSEC_GSS_KRB5 was modular, too.
> After this change, RPCSEC_GSS_KRB5 is promoted to builtin.

I'm not following. Which CRYPTO_ options trigger the behavior?
On my test system, CONFIG_RPCSEC_GSS_KRB5=m and the CRYPTO stuff
is all =y.


> This is not necessarily bad in-se, but you might want to be aware of it,
> and perhaps change the "default y".

Well that might be there to address the need for GSS to be
enabled if NFSv4 support is built. See commit df486a25900f
("NFS: Fix the selection of security flavours in Kconfig")

I'm not claiming I understand exactly how that fix works.

--
Chuck Lever



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2 15/41] SUNRPC: Enable rpcsec_gss_krb5.ko to be built without CRYPTO_DES
  2023-03-06 16:17     ` Chuck Lever III
@ 2023-03-06 18:01       ` Geert Uytterhoeven
  0 siblings, 0 replies; 3+ messages in thread
From: Geert Uytterhoeven @ 2023-03-06 18:01 UTC (permalink / raw)
  To: Chuck Lever III
  Cc: Chuck Lever, Linux NFS Mailing List, David Howells, Simo Sorce,
	linux-kselftest, linux-kernel

Hi Chuck,

On Mon, Mar 6, 2023 at 5:17 PM Chuck Lever III <chuck.lever@oracle.com> wrote:
> > On Mar 6, 2023, at 3:16 AM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> > On Sun, 15 Jan 2023, Chuck Lever wrote:
> >> From: Chuck Lever <chuck.lever@oracle.com>
> >>
> >> Because the DES block cipher has been deprecated by Internet
> >> standard, highly secure configurations might require that DES
> >> support be blacklisted or not installed. NFS Kerberos should still
> >> be able to work correctly with only the AES-based enctypes in that
> >> situation.
> >>
> >> Also note that MIT Kerberos has begun a deprecation process for DES
> >> encryption types. Their README for 1.19.3 states:
> >>
> >>> Beginning with the krb5-1.19 release, a warning will be issued
> >>> if initial credentials are acquired using the des3-cbc-sha1
> >>> encryption type.  In future releases, this encryption type will
> >>> be disabled by default and eventually removed.
> >>>
> >>> Beginning with the krb5-1.18 release, single-DES encryption
> >>> types have been removed.
> >>
> >> Aside from the CONFIG option name change, there are two important
> >> policy changes:
> >>
> >> 1. The 'insecure enctype' group is now disabled by default.
> >>  Distributors have to take action to enable support for deprecated
> >>  enctypes. Implementation of these enctypes will be removed in a
> >>  future kernel release.
> >>
> >> 2. des3-cbc-sha1 is now considered part of the 'insecure enctype'
> >>  group, having been deprecated by RFC 8429, and is thus disabled
> >>  by default
> >>
> >> After this patch is applied, SunRPC support can be built with
> >> Kerberos 5 support but without CRYPTO_DES enabled in the kernel.
> >> And, when these enctypes are disabled, the Linux kernel's SunRPC
> >> RPCSEC GSS implementation fully complies with BCP 179 / RFC 6649
> >> and BCP 218 / RFC 8429.
> >>
> >> Tested-by: Scott Mayhew <smayhew@redhat.com>
> >> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
> >
> > Thanks for your patch, which is now commit dfe9a123451a6e73 ("SUNRPC:
> > Enable rpcsec_gss_krb5.ko to be built without CRYPTO_DES") in v6.3-rc1.
> >
> >> --- a/net/sunrpc/Kconfig
> >> +++ b/net/sunrpc/Kconfig
> >> @@ -19,10 +19,10 @@ config SUNRPC_SWAP
> >> config RPCSEC_GSS_KRB5
> >>      tristate "Secure RPC: Kerberos V mechanism"
> >>      depends on SUNRPC && CRYPTO
> >> -    depends on CRYPTO_MD5 && CRYPTO_DES && CRYPTO_CBC && CRYPTO_CTS
> >> -    depends on CRYPTO_ECB && CRYPTO_HMAC && CRYPTO_SHA1 && CRYPTO_AES
> >>      default y
> >>      select SUNRPC_GSS
> >> +    select CRYPTO_SKCIPHER
> >> +    select CRYPTO_HASH
> >>      help
> >>        Choose Y here to enable Secure RPC using the Kerberos version 5
> >>        GSS-API mechanism (RFC 1964).
> >
> > While updating my defconfigs for v6.3-rc1, I noticed this change has an
> > interesting side-effect: if any of the CRYPTO_* algorithms were modular
> > before, RPCSEC_GSS_KRB5 was modular, too.
> > After this change, RPCSEC_GSS_KRB5 is promoted to builtin.
>
> I'm not following. Which CRYPTO_ options trigger the behavior?
> On my test system, CONFIG_RPCSEC_GSS_KRB5=m and the CRYPTO stuff
> is all =y.

On v6.2, "make ARCH=m68k defconfig" gives you
CONFIG_RPCSEC_GSS_KRB5=m
On v6.3, it became builtin, due to dropping the dependencies on
the individual crypto modules.

$ grep -E "CRYPTO_(MD5|DES|CBC|CTS|ECB|HMAC|SHA1|AES)" .config
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_SHA1=m

> > This is not necessarily bad in-se, but you might want to be aware of it,
> > and perhaps change the "default y".
>
> Well that might be there to address the need for GSS to be
> enabled if NFSv4 support is built. See commit df486a25900f
> ("NFS: Fix the selection of security flavours in Kconfig")
>
> I'm not claiming I understand exactly how that fix works.

And that was changed again a little bit later in commit
e3b2854faabd1043 ("SUNRPC: Fix the SUNRPC Kerberos V RPCSEC_GSS
module dependencies").

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-03-06 18:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <167380196429.10651.4103075913257868035.stgit@bazille.1015granger.net>
     [not found] ` <167380331214.10651.11224254824457738270.stgit@bazille.1015granger.net>
2023-03-06  8:16   ` [PATCH v2 15/41] SUNRPC: Enable rpcsec_gss_krb5.ko to be built without CRYPTO_DES Geert Uytterhoeven
2023-03-06 16:17     ` Chuck Lever III
2023-03-06 18:01       ` Geert Uytterhoeven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®