Криптография, Шифрование

#6 Криптография. Полное шифрование диска с использованием dm-crypt и LUKS.

Здравствуйте, дорогие друзья.

Давайте начнем, и я собираюсь зашифровать весь USB-накопитель, с помощью dmcrypt и luks. Вы должны выполнить те же действия. Если Вы хотите зашифровать раздел жесткого диска или внешний жесткий диск USB, следующие действия уничтожат все данные на диске. Я рекомендую Вам сделать резервную копию.

Прежде чем продолжить, имейте в виду, что это решение для полного шифрования диска операционных систем на базе Linux , и если Вы хотите получить доступ к зашифрованному диску в Windows или Mac, Вы должны установить другое программное обеспечение, например, в Windows, Вы можете установить librecrypt для доступа к зашифрованному диску.

Librecrypt — единственный способ читать тома luks в Windows. Первый шаг — установить crypt, если ее еще нет. Cryptsetup — это утилита для настройки зашифрованных файловых систем:

Cryptsetup - это утилита для настройки зашифрованных файловых систем

C помощью устройства сопоставления и dmcrypt, все следующие комментарии будут быть запущенным как root, поэтому, если у Вас нет установки crypt, Вы можете установить ее с помощью apt install cryptsetup:

apt install cryptsetup

В некоторых дистрибутивах Linux, таких как Fedora команда будет выглядеть как: «apt install cryptsetup-luks».

Следующий шаг является необязательным, но рекомендуется и заключается в заполнении раздела, который вы хотите зашифровать, случайными данными. Это гарантирует, что мы увидим какие-то случайные данные и защитит от раскрытия шаблоны использования. В данный момент я вставляю usb-накопитель, и у меня появляется всплывающее окно usb-накопителя:

 В данный момент я вставляю usb-накопитель, и у меня появляется всплывающее окно usb-накопителя

Если Вы работаете в VMware, то у Вас появится то же окно.

К слову сказать, в VirtualBox необходимо установить Extension Pack – это дополнение к VirtualBox. Далее, проверяем, подмонтировался ли USB-накопитель, с помощью команды fdisk –l:

fdisk –l

Отобразился диск как «/dev/sdb».

В Вашем случае может отображаться другое имя, например, sdc или sdd. Если Вы хотите зашифровать только раздел, а не весь диск, используйте это имя раздела имя, которое всегда заканчивается цифрой:

/dev/sdb

Наиболее важным является использование правильного имени.

Убедитесь в том, что Вы сделали резервное копирование файлов, на случай непредвиденных обстоятельств. Один из способов генерации случайных данных – это команда: «dd  if=/dev/urandom of=/dev/sdb status=progress»:

dd  if=/dev/urandom of=/dev/sdb status=progress

Операция займет несколько минут, в зависимости от размера Вашего диска.

Я останавливаю данную операцию, с помощью команды «Ctrl+C». На следующем шаге будет инициализирован раздел luks, и будет установлена ​​начальная кодовая фраза, либо через запрос, либо через файл ключа. В этом примере мы будем использовать парольную фразу. Команда завершится неудачно, если раздел уже смонтирован, поэтому, пожалуйста, отключите его.

Команда будет выглядеть как: «cryptsetup –y –v luksFormat /dev/sdb»:

«cryptsetup –y –v luksFormat /dev/sdb
«cryptsetup –y –v luksFormat /dev/sdb

Далее я набираю прописные буквы, «YES»:

Далее я набираю прописные буквы, «YES»

После этого вводим ключевую фразу. У меня это будет слово «secret»:

После этого вводим ключевую фразу. У меня это будет слово «secret»

Следующим шагом является открытие зашифрованного устройства и настройка имени сопоставления, после успешной проверки. Это делается с помощью команды: «cryptsetup luksOpen /dev/sdb secretdata»:

cryptsetup luksOpen /dev/sdb secretdata

Далее, с помощью команды «ls», я просматриваю содержимое директории «/dev/mapper/secretdata»:

Далее, с помощью команды «ls», я просматриваю содержимое директории «/dev/mapper/secretdata»

Далее нам нужно проверить более расширенное содержимое директории «secretdata». Это делается с помощью команды: «ls –l /dev/mapper/secretdata»:

ls –l /dev/mapper/secretdata

Проверим содержимое «dm-0»:

dm-0

Мы замечаем, что это специальное блочное устройство (символ «b»). Вы можете использовать следующую команду, чтобы увидеть статус состояния настройки сопоставления и имя секрета сопоставления данных. Это делается с помощью команды: «cryptsetup status secretdata»:

cryptsetup status secretdata

Вы можете увидеть, что алгоритм симметричного шифрования использовал длину ключа и многое другое.

Далее мы отформатируем файловую систему, с помощью команды: «mkfs.ext4 /dev/mapper/secretdata»:

mkfs.ext4 /dev/mapper/secretdata

Ext4 – наиболее часто используемая файловая система для Linux.

Наконец, мы монтируем зашифрованную файловую систему к основному файловому дереву, с помощью команды: «mount /dev/mapper/secretdata /mnt»:

mount /dev/mapper/secretdata /mnt

На этом этапе Вы можете использовать смонтированный диск, который Вы обычно копируете, перемещаете или стирайте файлы на нем, а также на любом другом диске. Содержимое диска будет в директории «/mnt/». Вы также можете создать новый каталог и смонтировать зашифрованный диск в этот каталог. Я создаю каталог в секретных данных корневого каталога, и монтирую зашифрованный диск в этот каталог. Это команды: «mkdir /root/secretdata», «mount /dev/mapper/secretdata /root/secretdata/», «df -h»:

mkdir /root/secretdata», «mount /dev/mapper/secretdata /root/secretdata/», «df -h

Я могу получить доступ к секретным данным /dev/mapper, поэтому есть зашифрованный диск как в /mnt/, так и в /secretdata/.

В Linux Вы можете смонтировать устройство хранения или диск в других каталогах. Шифрование прозрачное, и Вы ничего не заметите.

Когда диск смонтирован, он может быть доступен обычным образом любому. Хакер может запустить эксплойт, и подключиться с помощью ssh к Вашей машине, и украсть все Ваши данные.

Как только Вы размонтируете диск, данные станут недоступны.

#1 Криптография. Введение в хеши.

#2 Криптография. Свойства алгоритмов хеширования.

#3 Криптография. Применение алгоритмов хеширования.

#4 Криптография. Атаки на криптографические алгоритмы хеширования.

#5 Криптография. Введение в полное шифрование диска.