[pkg-cryptsetup-devel] Bug#714331: Bug#714331: Bug#714331: cryptsetup: switch to "more secure" defaults?

Christoph Anton Mitterer calestyo at scientia.net
Fri Jun 28 22:22:29 UTC 2013


On Fri, 2013-06-28 at 23:24 +0200, Jonas Meurer wrote:
> Ok, indeed the examples could be changed to use xts. Feel free to
> provide a patch. I'll happily accept it.
Attached... see the header for the exact changes and intentions and
complain if it's not okay.

I could write two more patches:
1) That changes all keyscript=/lib/cryptsetup/../name to just
keyscript=name ... I think that's supported for keyscripts shipped with
cryptsetup.

2) I'd recommend to replace all /dev/sd[letter][number] or
hd[letter][number] by "/dev/sdaN".
Why?
- AFAIK, hd is no longer used in the current kernels (I guess the old
non libata based IDE drivers were even dropped)...
- literally using "N" instead of an example number... reduces the risk
that someone accidentally copies&pastes these examples and cause real
harm.

Choose what you'd like and I make patches.


Chris.
-------------- next part --------------
In (nearly) all places where essiv or cipher occured in debian/
* Used cipher=aes-xts-plain64,size=512,hash=sha512 instead of previous value.
  This is not cryptsetup's default, which still seem to use AES128 (and therefore size=256)
  and SHA1.
  If you want it exactly to be upstream default just ask for another patch.
* Used one ordering: cipher, size, hash


In one place, twofish was used as an explicit different example. This wasn't changed
but:
* Documented also the hash algo that was different from default.
--- a/debian/README.Debian
+++ b/debian/README.Debian
@@ -66,7 +66,7 @@
  You'll have to add an entry for every swap partition in /etc/crypttab. Be
 sure toeplace the source device (here /dev/hda9) with your swap devices:
 # <target name> <source device>	<key file>	<options>
-cswap1		/dev/hda9	/dev/urandom	swap,cipher=aes-cbc-essiv:sha256,size=256,hash=sha256
+cswap1		/dev/hda9	/dev/urandom	swap,cipher=aes-xts-plain64,size=512,hash=sha512
 
  Now you need to change the swap devices in /etc/fstab to the encrypted swap
 device names (/dev/mapper/cswap1 in this example).
--- a/debian/README.initramfs
+++ b/debian/README.initramfs
@@ -47,7 +47,7 @@
 First of all, you must edit /etc/crypttab and add a line describing your
 root device, for example:
 
-  cryptroot /dev/hda2 none cipher=aes-cbc-essiv:sha256,size=256,hash=sha256
+  cryptroot /dev/hda2 none cipher=aes-xts-plain64,size=512,hash=sha512
 
 This will allow cryptsetup to create /dev/mapper/cryptroot from the 
 encrypted partition /dev/hda2 during boot.
@@ -129,7 +129,7 @@
 one mapping needs to be setup in the initramfs stage of the boot.
 
 Example boot arguments:
-root=/dev/mapper/crypt0 cryptopts=target=crypt0,source=/dev/hda1,cipher=twofish
+root=/dev/mapper/crypt0 cryptopts=target=crypt0,source=/dev/hda1,cipher=aes-xts-plain64,size=512,hash=sha512
 
 8. Resume device support
 ------------------------
@@ -161,7 +161,7 @@
 1) swapoff -a
 2) cryptsetup luksClose cryptswap
 3) edit /etc/crypttab and change the cryptswap line to e.g.:
-cryptswap /dev/hda2 cryptroot cipher=aes-cbc-essiv:sha256,size=256,hash=sha256,keyscript=/lib/cryptsetup/scripts/decrypt_derived,swap
+cryptswap /dev/hda2 cryptroot cipher=aes-xts-plain64,size=512,hash=sha512,keyscript=/lib/cryptsetup/scripts/decrypt_derived,swap
 4) /etc/init.d/cryptdisks start
 5) Make sure that /dev/mapper/cryptswap has been created
 6) swapon -a
@@ -194,7 +194,7 @@
 /dev/disk/*, e.g. /dev/disk/by-label/myusbkey.
 
 This is an example of a suitable line in cryptsetup:
-cryptroot /dev/hda2 /dev/disk/by-label/myusbkey:/keys/root.key cipher=aes-cbc-essiv:sha256,size=256,hash=plain,keyscript=/lib/cryptsetup/scripts/passdev
+cryptroot /dev/hda2 /dev/disk/by-label/myusbkey:/keys/root.key cipher=aes-xts-plain64,size=512,hash=sha512,keyscript=/lib/cryptsetup/scripts/passdev
 
 The above line would cause the boot to pause until /dev/disk/by-label/myusbkey
 appears in the fs, then mount that device and use the file /keys/root.key
--- a/debian/doc/crypttab.xml
+++ b/debian/doc/crypttab.xml
@@ -416,23 +416,23 @@
   <para>
    <screen>
 # Encrypted swap device
-cswap /dev/sda6 /dev/urandom cipher=aes-cbc-essiv:sha256,hash=ripemd160,size=256,swap
+cswap /dev/sda6 /dev/urandom cipher=aes-xts-plain64,size=512,hash=sha512,swap
     
 # Encrypted LUKS disk with interactive password, identified by UUID
 cdisk0 UUID=12345678-9abc-def012345-6789abcdef01 none luks
     
 # Encrypted ext4 disk with interactive password
 # - retry 5 times if the check fails
-cdisk1 /dev/sda2 none cipher=aes-cbc-essiv:sha256,hash=ripemd160,size=256,checkargs=ext4,tries=5
+cdisk1 /dev/sda2 none cipher=aes-xts-plain64,size=512,hash=sha512,checkargs=ext4,tries=5
 
 # Encrypted disk with interactive password
 # - use a nondefault check script
 # - no retries
-cdisk2 /dev/hdc1 none cipher=aes-cbc-essiv:sha256,hash=ripemd160,size=256,check=customscript,tries=1
+cdisk2 /dev/hdc1 none cipher=aes-xts-plain64,size=512,hash=sha512,check=customscript,tries=1
 
 # Encrypted disk with interactive password
-# - twofish as the cipher
-cdisk3 /dev/sda3 none cipher=twofish,hash=ripemd160,size=256
+# - twofish as the cipher, RIPEMD160 as the hast
+cdisk3 /dev/sda3 none cipher=twofish,size=256,hash=ripemd160
    </screen>
   </para>
  </refsect1>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5113 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-cryptsetup-devel/attachments/20130629/af2130d5/attachment.bin>


More information about the pkg-cryptsetup-devel mailing list