Вопрос или проблема
Я только что установил Ubuntu 24.04.1 LTS с полным шифрованием диска TPM, всё работает нормально. Только мой swap-пространство слишком мало для гибернации. Как я могу получить / добавить пароль для расшифровки раздела данных для изменения его размера? У меня есть только ключ восстановления, который не принимается при загрузке с live-USB.
При обычной загрузке диск разблокирован, поэтому я надеялся просто добавить пароль
sudo cryptsetup luksAddKey /dev/nvme0n1p4
К сожалению, эта команда запросит существующий пароль
Мне посоветовали получить мастер-ключ
sudo dmsetup table --showkeys ubuntu-data-<UUID>
Ожидаемый ответ выглядит примерно так
0 976773168 crypt aes-xts-plain64 0123456789abcdef... [другие детали]
Где 0123456789abcdef… является мастер-ключом. Я получил что-то вроде
0 976773168 crypt aes-xts-plain64 :64:logon:cryptsetup:18ae10b4... [другие детали]
А 18ae10b4.. – это не мастер-ключ.
Диск разблокирован во время обычной загрузки, поэтому мне предложили использовать неотображаемый диск в качестве (мастер) ключевого файла
sudo cryptsetup luksAddKey /dev/nvme0n1p4 --key-file=/dev/mapper/ubuntu-data-<UUID>
sudo head -c 8192 /dev/mapper/ubuntu-data-<UUID> | sudo cryptsetup luksAddKey /dev/nvme0n1p4 --key-file=-
sudo head -c 65536 /dev/mapper/ubuntu-data-<UUID> | sudo cryptsetup luksAddKey /dev/nvme0n1p4 --key-file=-
sudo cryptsetup --master-key-file=/dev/mapper/ubuntu-data-<UUID> luksAddKey /dev/nvme0n1p4
К сожалению, это не работает. Раздел, который разблокирован, слишком велик для ключевого файла, и обрезка его до 8k / 64 kb делает его меньше, но его не распознают как ключевой файл.
Поэтому я ищу лучшие варианты.
Ответ или решение
Как добавить пароль для расшифровки раздела данных при использовании TPM FDE в Ubuntu 24.04.1 LTS
Установка Ubuntu 24.04.1 LTS с использованием полной шифровки диска (FDE) через TPM (Trusted Platform Module) предоставляет мощные средства защиты данных. Однако, как вы заметили, у вас есть сложности с добавлением пароля для расшифровки, что ограничивает возможность изменения размеров раздела (например, для увеличения пространства под swap для гибернации). Давайте рассмотрим, как можно решить вашу проблему, сохраняя при этом безопасность ваших данных.
Проблема текущей ситуации
Ваша установка работает корректно, однако вы обладаете лишь аварийным ключом (recovery key), который не может быть использован для доступа к файловой системе в режиме Live, что усложняет процесс добавления пароля. При попытке использовать команду cryptsetup luksAddKey
, система требует уже существующий пароль для продолжения, что в вашей ситуации также является проблемой, так как у вас его нет.
Шаги для решения проблемы
1. Получение доступа к зашифрованному разделу
Сначала убедимся, что можно извлечь мастер-ключ, который позволит управлять шифрованием без существующего пароля. Однако, как вы заметили, команда dmsetup table --showkeys
не возвращает ожидаемый результат.
Вместо попыток получить мастер-ключ с помощью dmsetup
, можно попробовать воспользоваться функцией cryptsetup
для доступа к данным, когда раздел уже расшифрован — это может быть менее тривиальным подходом.
2. Использование ключа файла
Поскольку существует ключ типа key-file
, модифицированный файл может быть использован для добавления нового ключа. Однако ваш подход с извлечением данных из /dev/mapper/ubuntu-data-<UUID>
имеет свои ограничения. Вместо попыток взять произвольные куски данных, стоит попробовать следующее:
- Убедитесь, что раздел расшифрован и смонтирован — это первый шаг для доступа к данным.
- Создайте новый ключевой файл, используя безопасную генерацию ключа:
head -c 32 /dev/urandom > /path/to/new_keyfile
- Добавьте новый ключ к LUKS:
sudo cryptsetup luksAddKey /dev/nvme0n1p4 /path/to/new_keyfile
- Теперь вы можете добавить новый пароль.
3. Резервное копирование данных и восстановление
Если вышеописанные методы не сработают, резервное копирование данных должно стать вашим следующим шагом:
- Загружаемся в Live-режим Ubuntu.
- Используя ваш аварийный ключ для расшифровки диска, сделайте резервную копию всех данных на внешний носитель или облачное хранилище.
- После успешного резервного копирования, попробуйте переустановить раздел с новыми параметрами шифрования и с добавлением паролей.
Заключение
Работа с полным шифрованием дисков требует тщательного подхода и понимания процессов, связанных с шифрованием и безопасностью данных. Ваша текущая ситуация подчеркивает важность правильного управления ключами и паролями. Дайте себе достаточно времени для планирования и резервного копирования данных перед испытанием новых методов.
Если у вас возникают дополнительные вопросы или неопределенности, рекомендуется проконсультироваться с специалистами в области IT-безопасности, чтобы избежать потери данных или нарушения безопасности в будущем.