Я хочу увеличить время, которое потребуется для полного шифрования диска методом подбора. Я использую Ubuntu и зашифровал Luks при установке. Я читал, что я бы использовал следующую команду, чтобы сделать так, чтобы можно было вводить только один пароль каждые 10 секунд,
$ sudo cryptsetup luksChangeKey --iter-time 10000 <device>
Мне заменить «device» на «/boot»? Не уверен, нужно ли мне это сделать с загрузочным разделом, моим основным разделом или с обоими.
решение1
Любой, кто попытается взломать ваш зашифрованный диск, будет атаковать свои компьютеры против заголовков ваших дисков. Системные параметры вашей ОС будут бессмысленны.
Редактировать
ЗаУ. Виндлскомментарий Я посмотрел более внимательно. Мое первоначальное утверждение выше все еще верно, однакоiter-времяявляетсяне системный параметркак я ошибочно предположил из названия.
iter-времяэто не совсем время, это кажетсяитерацииопределено, как я бы сказал, странным способом с использованием времени. Вместо фиксированного количества итераций, это количество итераций, возможных на этой конкретной машине в определенной мс, указаннойiter-время. Так что даiter-времяпараметром является время, но он приводит к различному количеству итераций в зависимости от скорости конкретной машины.
я нашелLinux-Блог – Доктор Мёнхмейербыть очень информативным.
Несколько цитат из статьи, которые мне показались интересными:
...Именно вычисление главного ключа приводит к огромным задержкам. Само по себе aes-расшифровывание не является основным источником задержки загрузки...
Это говорит о том, что подбор пароля методом грубой силы замедляется, но подбор необработанного ключа не будет затронут. Реалистично подбор необработанного ключа в любом случае был бы безнадежен.
...Также следует учитывать, что злоумышленник, получивший под физический контроль зашифрованный диск, попытается взломать пароли LUKS на гораздо более быстрых машинах, чем ваша. Так что несколько десятков миллионов итераций PBKDF2 в секунду, безусловно, возможны — то есть несколько попыток ввода пароля в секунду. ...
Еще раз спасибоУ. Виндлдля пинка смотреть дальше.
решение2
Эту команду следует запустить на зашифрованном разделе(ах). Обычно это не включается, /boot
поскольку системе необходимо загрузить код для поиска и расшифровки раздела LUKS.
Чтобы найти все зашифрованные LUKS разделы в вашей системе:
sudo fdisk -l |grep ^/dev/ |grep -Eo '^\S+' |xargs --max-args=1 -d '\n' -I DEV bash -c 'sudo cryptsetup isLuks DEV && echo DEV'
Обратите внимание, что cryptsetup
на странице руководства говорится, что использование --iter-time
"соответственно замедляет все последующие операции luksOpen". Другими словами, вам придется подождать 10 секунд, чтобы разблокировать раздел, даже если вы введете правильную парольную фразу. Кроме того, я считаю, что 10 секунд рассчитаны длятвойсистема, поэтому использование более быстрых и/или нескольких компьютеров позволит взломать вашу парольную фразу быстрее.
Обязательно используйте надежную парольную фразу!
решение3
Чтобы узнать, какое устройство LUKS /boot
соответствует, попробуйте mount | grep /boot
, затем проверьте с помощью cat /etc/crypttab
и blkid <your_device>
. Вывод должен быть примерно таким:
/dev/sys/boot: UUID="f3aabb69-d3ca-41cf-87cf-b19585f2c123" TYPE="crypto_LUKS"
Также см. мой комментарий к вопросу.
решение4
Кажется, я не понял, что я пытаюсь сделать. Если это только увеличивает время на моей машине, то в этом действительно нет особого смысла. Спасибо всем за отличную информацию. Было бы здорово, если бы такая функция была встроена в модуль шифрования, чтобы можно было указать тайм-аут, который будет распространяться на любую машину, в которую вставлен зашифрованный диск. Пример: тайм-аут в 10 или 15 секунд независимо от того, в какое устройство вставлен диск. Если у кого-то длинная парольная фраза, как и должно быть, то я не вижу в этом никакого неудобства и это приведет только к дальнейшему упрочнению диска.