XPost: linux.debian.doc
Sorry, didn't receive the follow-up on the bug (and forgot I had filed
the request in the first place). And
https://lists.debian.org/debian-doc/2024/05/msg00003.html never made it
to the bug it seems.
On Sun, 5 May 2024 at 17:29:03 +0100, Justin B Rye wrote:
L wrote (https://lists.debian.org/debian-doc/2024/05/msg00003.html):
Guilhem Moulin <[email protected]> writes:
cryptsetup 2:2.7.0~rc0-1 has a backward incompatible change for plain
mode when relying on defaults cipher and password hashing algorithm.
The change affects users upgrading from bookworm to trixie. Plain mode
is generally advised against but it still makes sense to include the
NEWS entry into the release notes.
The text needs a bit of intro/context to be readable by an end-user. Can
you give some pointers to explain the basic issue here - what is "plain
mode"? is it the default now? what is the change, and what is the user
meant to do about in response to this change? what is the
"incompatability"?
I imagine it's connected with the Changelog entry saying:
[…]
(But I can't answer any of your questions, except that I noticed a
mention elsewhere of plain mode being the default.)
plain mode is the default when the crypttab(5) option field doesn't
specify any other type (luks, tcrypt, etc.). However I suspect most
users don't edit crypttab(5) manually, but instead do it automatically
at installation time (via d-i) which always sets the type explicitly.
d-i's default “LVM-over-crypt” setup sets up LUKS devices, but users can choose (explicit) plain in the menu too if they choose to do so.
Technically, “plain mode” means the device is mapped directly using a
key derived from a passphrase. Unlocking a device in plain mode is
always successful (there is no error checking), and unlocking with
different parameters (cipher, digest algorithm, key size, etc.) yields different mapped devices. Unlike LUKS, there is no header to check
whether the passphrase is correct, nor to store algorithms: consumers
need to always pass algorithms consistently at mapping time for
non-transient devices. (Generally, cryptsetup has consistently advised
not to use plain mode for non-transient devices.) Those who rely on
default algorithms for non-transient devices will experience a
regression when upgrading from bookworm to trixie. To fix the
regression, they will need to explicitly pass the previous defaults
using `--cipher aes-cbc-essiv:sha256 --hash ripemd160` (CLI), or `cipher=aes-cbc-essiv:sha256,hash=ripemd160` (crypttab). I expect the
latter to be far fewer though, since we're already spewing a warning
that default are not be relied upon for plain mode; but only when
processing crypttab(5), the cryptsetup(8) binary didn't spew such a
warning before 2:2.7.0.
Default cipher and password hashing for plain mode have respectively
been changed to aes-xts-plain64 and sha256 (from aes-cbc-essiv:sha256
resp. ripemd160).
It would help to start with "The" before "default".
what does "resp." mean in this context?
This one I know (and there's a clue earlier in the sentence): it's a
common non-native-English-speakerism. "Resp." is short for "and/or respectively",
Yup, and I was not aware that wasn't proper English, thanks.
but it's used where anglophones would be more likely to
use plain "and" or "or", and it's a warning sign of a tortuously
organised sentence. I'd suggest:
The default cipher has been changed to aes-xts-plain64 (from aes-cbc-essiv:sha256), and the default hash to sha256 (from ripemd160).
Make sense.
Is there a crucial word missing after "hashing" - should it be "hash
function"?
That (or "password hashing algorithm") would be more natural English,
but it might be better to stick to "hash" since that's the name of the crypttab field.
I think I meant to write hash algorithm here, but hash probably works
too.
The new values matches what is used for LUKS, but the change does NOT
affect LUKS volumes.
"value" not "values" here
(In fact I think he means "the new values match what is used...")
Correct.
(assuming LUKS is a noun) "by LUKS" not "for LUKS"?
LUKS is an acronym and stands for Linux Unified Key Setup.
the bit after the comma is pretty confusing to a non-expert like me,
what are you trying to say here? would i expect a change in cryptsetup
what *does* the change affect?
I don't understand the second sentence, but hopefully my first paragraph clarifies what I tried to say.
1/ Upstream's choice of new default algorithms for plain devices
matches what has already been used as default for LUKS. In
retrospect that might only be a curiosity though, so not worth
mentioning in the release notes.
2/ The new default don't affect LUKS devices, since those have a
header area where cipher, hash algorithm, etc. are stored as
metadata so don't need to be passed explicitly at mapping time.
This is a backward incompatible change for plain mode when relying on
the defaults, which (for plain mode only) is strongly advised
against.
i'm afraid I cant make any sense out of this paragraph! what is
"strongly advised against"?
"Relying on the defaults" - that is, leaving the fields empty in
crypttab.
Yup, or using the cryptsetup(8) binary without --hash or --cipher
options.
For many releases the Debian wrappers found in the ‘cryptsetup’ binary >>> package have spewed a loud warning for plain devices from crypttab(5)
where ‘cipher=’ or ‘hash=’ are not explicitly specified. The
cryptsetup(8) executable now issue such a warning as well.
Is this an unrelated change or is there some link to the above?
Part of the same deprecation process.
Correct.
Thanks for the reading and suggested improvements!
--
Guilhem.
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEERpy6p3b9sfzUdbME05pJnDwhpVIFAmhxhIoACgkQ05pJnDwh pVKc8w//Ry2KyS73VMJkK2I9wepaCBgskXQ5CBj6mGk6bHcrzQZEvRtnaRculyEj b7MOl8RRrKy3FfB2JYwzG9YMID7+FgeW6dIRWu/iUXFna6V9ynQA/Xz9rp3Fa5Kl kKtAtSdBij3jFp4dVfEwoVetLsFCylhh1GSjCimMK+xbqFD5nFDgPYwuESFIFHBd 150h57bwn91BvAtHC4RzC4DIDLeOqCHVcHg7Ocpe/fbLrLYZnuv2aOujuPMaIVS0 /wuB8qN2YCOKBCF26PlLdAQF9567aFD7GGQ6gy5KSqEsbzHVHKC94KO+RoLQP4kB e5i8jgljO7uAbhr7wRb72J/nenX4NuVTD6/SGcN8cotEvvZGUPq7fDCCu80JEG4I bzwfnLK2QqUo9JygwUwfLE9doFT61HM/tVD/RiYhrM8OtiK0XH6DcYFm4THmM0ds KXcyBtxfMlOFXKTO+vug5LXQ3O0aI5jgPA4RVxUQ8UEYTIqNzTXMBd/m9lCaJg9O gks/Vuqv0+F9mTNznnmwwoE/goqHdSIg9Wr4Xlsb6RGA/Ki6bbuf21Z4RIWUD2gM vvpApuSQx6g+LiswjAxeyDbhN5QS4VrPtesouulFo46tuCRT3vyuTACI8rCGP6LG cX/W0xPu8KgXFNDlv+O0CNFoukzXK8DVuvGSYIQ75vp40M5Abw0=
=/RNP
-----END PGP SIGNATURE-----
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)