Проблема с алгоритмом шифрования "aes256"

Я использую этот метод для шифрования внешнего жесткого диска, но существует проблема с псевдонимом алгоритма aes.

sudo modprobe dm-crypt
sudo modprobe sha256
sudo modprobe aes

Я получаю следующую ошибку после команды aes

modprobe: ERROR: could not insert 'padlock_aes': No such device

Я попробовал обходной путь, упомянутый в ссылке, но в моем каталоге /etc/modprobe.d/ нет файла псевдонимов

user@user:/home/$ cd /etc/modprobe.d/

user@user:/etc/modprobe.d$ ls | grep aliases

user@user:/etc/modprobe.d$ [no output]

Я не знаю, как с этим справиться, но потом, когда я попытался зашифровать диск, он был успешно зашифрован с помощью следующей команды

sudo cryptsetup --verify-passphrase luksFormat /dev/sdb1 -c aes -s 256 -h sha256

Я не знаю, как он нашел алгоритм aes256, или просто проигнорировал aes256, или сделал что-то магическое.

Поэтому я хочу получить ответ на следующие вопросы

  1. Как crypt-setup смог успешно зашифровать мой диск?
  2. Как подтвердить, что aes256 также реализован в том шифровании, которое выполняется crypt-setup?

  3. Почему у меня нет /etc/modprobe.d/alaises файл? Это связано с более новой версией? так как решение было в последний раз проверено на версии 10.04.

1 ответ

Общее предупреждение заранее: не меняйте вручную cryptsetup параметры с параметрами, такими как -c (--cipher), -s (--key-size) а также -h (--hash). Значения по умолчанию, как правило, достаточно нормальные, и если вы не знаете, что делаете, вы можете выбрать худшие параметры.

Эти значения по умолчанию показаны с cryptsetup --help, Для справки: в Ubuntu 16.04 с cryptsetup 1.7.2 значения по умолчанию:

LUKS1: aes-xts-plain64, ключ: 256 бит, хэширование заголовка LUKS: sha1, RNG: /dev/urandom

В Arch Linux с cryptsetup 1.7.2 значения по умолчанию:

LUKS1: aes-xts-plain64, ключ: 256 бит, хэширование заголовка LUKS: sha256, RNG: /dev/urandom


Связанные вами инструкции были написаны для версии Ubuntu, выпущенной в 2010 году. В настоящее время (и, возможно, даже тогда) вам не нужно вручную загружать модули ядра для настройки полного шифрования диска. Они автоматически загружаются при cryptsetup вызывается.

В контексте модулей ядра Linux aes name- это имя модуля и псевдоним для нескольких возможных реализаций. Есть один общий aes модуль, который встроен в образ ядра. Тогда есть альтернативные, более быстрые реализации, которые зависят от некоторых аппаратных или процессорных возможностей (например padlock-aes а также aesni-intel).

Даже если эти модули с аппаратным ускорением не могут быть загружены, все еще существует запасной вариант к общей реализации AES, поэтому cryptsetup все еще могу использовать это.

Чтобы подтвердить, что шифрование AES256 действительно используется, вы можете использовать cryptsetup luksDump /dev/sdb1 команда, которая показывает что-то вроде:

...                                        
Cipher name:    aes
Cipher mode:    xts-plain64
Hash spec:      sha256
Payload offset: 4096
MK bits:        256

Здесь вы можете видеть, что шифр AES использовался с использованием хеш-функции SHA256 для получения пароля. Размер ключа составляет 256 бит (поэтому вы действительно используете AES256).

На ваш последний вопрос (почему у вас нет /etc/modprobe/aliases файл), этот файл не существует в последних версиях Ubuntu.

Другие вопросы по тегам