1

Я безуспешно пытался использовать cryptsetup - как в modi plain, так и в LUKS - для создания устройства с потоковым шифром [Chacha20 *, ARC4] вместо одного из блочных шифров по умолчанию.

Поведение одинаково для разных дистрибутивов / ядер (Fedora, Ubuntu), где ядро в принципе поддерживает шифры [/ proc / crypto, / lib / modules / * / kernel / crypto /]

Для Chacha20 chacha20poly1305 cryptsetup завершается ошибкой во время создания, так как отсутствует поддержка cbc-plain (доступно по умолчанию) - что, я полагаю, разумно для потокового шифра, чтобы не заботиться о блочных модах.

Для RC4 я могу создать устройство и получить к нему доступ, но после закрытия повторное открытие завершается неудачно, и устройство не может быть восстановлено.

Мой подход к RC4:

> dd if=/dev/zero of=/dev/shm/container bs=1M count=200
> dd if=/dev/urandom of=/tmp/keyfile bs=1k count=8
> cryptsetup --cipher arc4 --key-file=/tmp/keyfile open --type plain /dev/shm/container ramdisk
> mkfs.ext4 /dev/mapper/ramdisk
> echo "test" > /dev/mapper/ramdisk/test.foo
> cryptsetup close ramdisk

> cryptsetup --cipher arc4 --key-file=/tmp/keyfile open --type plain /dev/shm/container ramdisk
  -- fails

При использовании LUKS информация заголовка выглядит

> cryptsetup luksDump /dev/shm/container 
 LUKS header information for /dev/shm/container
 Version:        1
 Cipher name:    arc4
 Cipher mode:    cbc-plain
 Hash spec:      sha256
 Payload offset: 4096

На самом деле, я могу также отформатировать устройство с различными комбинациями arc-modi-IV - я полагаю, что обычный контейнер по умолчанию использует также cbc-plain (что не звучит разумно, или?).

Я предполагаю, что cryptsetup/dm-crypt не поддерживает потоковые шифры и что сбой, как и в случае chacha20, должен быть поведением по умолчанию, а arc4 не перехватывается изящно ??

Вопрос в том, правильно ли это предположение или как можно использовать потоковые шифры с dm-crypt?

1 ответ1

0

На трекере проблем с cryptsetup я узнал, что поддерживаются только блочные шифры, но потоковые шифры отсутствуют. Таким образом, непротиворечивое поведение должно быть, по-видимому, для ARC4, как для Chacha20, т. Е. Сбой, но не позволяющий создать устройство / контейнер.

см. https://gitlab.com/cryptsetup/cryptsetup/issues/301

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .