шифрование диска с помощью потоковых шифров в Linux с cryptsetup / dm-crypt?

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

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

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

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

мой подход для 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?

7
задан THX
12.04.2023 9:17 Количество просмотров материала 3455
Распечатать страницу

1 ответ

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

посмотреть https://gitlab.com/cryptsetup/cryptsetup/issues/301

0
отвечен THX 2023-04-13 17:05

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх