4

У меня есть пара вопросов, связанных с dm-crypt/LUKS.


Настройка dm-crypt/LUKS с этими настройками:

cryptsetup -c aes-xts-plain -h sha256 --key-size=256 -y luksFormat /dev/sda1

(1) Учитывая, что указанный размер ключа равен 256 битам, сколько символов должно быть длиной в парольной фразе? И если по какой-то причине размер может варьироваться, то почему? И какой рекомендуемый размер?


При использовании файла ключа с этими настройками (или, альтернативно, добавление файла в доступный слот):

cryptsetup -c aes-xts-plain -h sha256 --key-size=256 luksFormat /dev/sda1 /path/to/key/file

(2) Какого размера должен быть файл ключа? И снова, если размер может варьироваться, почему и что рекомендуется?

(3) В чем разница между --key-size = BITS и --keyfile-size = байтами?

Я знаю, что одно означает "Размер ключа шифрования", а другое "Ограничивает чтение из ключевого файла", но я не понимаю точного соотношения между ними.

(4) ... а между --keyfile-size = bytes и --new-keyfile-size = bytes?


Я прочитал man-страницу несколько раз и исследовал Интернет, читая много разных статей. Это всего лишь пара вещей, которые смущают меня.

1 ответ1

4

(1) Учитывая, что указанный размер ключа равен 256 битам, сколько символов должно быть длиной в парольной фразе? И если по какой-то причине размер может варьироваться, то почему? И какой рекомендуемый размер?

Это должно быть столько времени, сколько вы можете разумно помнить, и вы готовы печатать. Он запускается через хеш-функцию, но перестает читать после первой новой строки \n . Хеш-функция берет столько текста, сколько вы ее даете, а затем дает результат.

Sha256 хэш для текста superuser.com является 6153a5e4835cfb92fa324bfce5470a0b8d554cadbf7a9fbe21be74460897e021 и хэш для всего текста тела первой версии вашего вопроса f653459aa401efd1f058de5920cb25fe03bb969c90b001fd0f5282164c8b1afa обратите внимание , как выход имеет ту же длину.

(2) Какого размера должен быть файл ключа? И снова, если размер может варьироваться, почему и что рекомендуется?

Обычно LUKS будет использовать только тот объем данных из файла, который ему действительно нужен. Таким образом, вы можете использовать файл размером 1 ГБ, и если ваш размер ключа = 256, то он будет использовать только первые 256 бит. Таким образом, ваш ключевой файл должен быть как минимум таким же большим, как и значение размера ключа, но может быть и больше. Я обычно создаю 4096-байтовый ключевой файл, используя команду типа dd if=/dev/random of=/../mykeyfile bs=4096 count=1 . Это дает вам больше данных, чем вам нужно, но это все еще относительно небольшой файл.

(3) В чем разница между --key-size = BITS и --keyfile-size = байтами?

Я не уверен, какую версию cryptsetup вы используете, опция keyfile-size кажется новой. Кажется, что примечание на этой странице предполагает, что оно позволяет LUKS читать больше данных из файла, чем то, какое у вас значение размера ключа. Я не эксперт по криптографии, но я считаю, что если ваш ключевой файл If как действительно случайные данные, то получение большего количества данных из него для передачи в функцию хеширования на самом деле не сделает вас более безопасным. Если вы используете файл, который не содержит случайных данных, это может быть полезно, но я не уверен.

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