Делая поиски, кажется, что у других есть более сложные проблемы из-за настроек шифра, но моя проблема при выполнении чего-то простого.
Используя главным образом новую установку Lubuntu 18.10 32 бита (ядро было обновлено), я могу создать зашифрованный раздел таким образом:
cryptsetup --verbose --verify-passphrase luksFormat /dev/mmcblk0
WARNING: Device /dev/mmcblk0 already contains a 'crypto_LUKS' superblock signature.
WARNING!
========
This will overwrite data on /dev/mmcblk0 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase for /dev/mmcblk0:
Verify passphrase:
Existing 'crypto_LUKS' superblock signature on device /dev/mmcblk0 will be wiped.
Key slot 0 created.
Command successful.
Если данный пароль является буквой a
, Я не могу разблокировать его таким образом:
cryptsetup --verbose luksOpen /dev/mmcblk0 crypt
Enter passphrase for /dev/mmcblk0:
No key available with this passphrase.
Enter passphrase for /dev/mmcblk0:
(Я также попробовал zulucrypt тем же результатом),
Так как я установил Lubuntu с помощью функциональности шифрования его установщика, я могу сделать сравнение между тем, что моя система использует исходно, и что cryptsetup
сделанный на моем диске mmc.
cryptsetup luksDump /dev/sda1
Соответствующая часть, кажется:
Version: 1
Cipher name: aes
Cipher mode: xts-plain64
Hash spec: sha256
Payload offset: 4096
MK bits: 512
Единственная разница, которую я вижу между двумя дампами, - то, что для моего локального диска, нижняя часть "биты МК" 512, но для mmc это 256.
Я не знаю, релевантно ли это, но я также вижу, что мой локальный диск имеет два ключевых слота, и mmc имеет только один. (То, что мой локальный диск имеет два ключевых слота, заставляет меня надеяться/задаваться вопросом, вставил ли установщик дублирующийся ключ в случае, если первое повреждено.)
Комментатор попросил, чтобы я попытался предоставить паролю этот путь:
echo -n 'a' | cryptsetup --verbose luksOpen /dev/mmcblk0 crypt
Can't do passphrase verification on non-tty inputs.
No key available with this passphrase.
Command failed with code -2 (no permission or bad passphrase).
Другой способ обеспечить пароль:
echo 'a' > interactive_pass
cat interactive_pass | cryptsetup luksAddKey /dev/mmcblk0
No key available with this passphrase.
Используя файл ключей.
Я не могу постигать это. Я возился вокруг некоторое время, но остановился, потому что я не могу сказать различие между использованием его неправильно и им имеющий его собственные проблемы.
zulucrypt имеет способ создать файл ключей, но он просто говорит Failed To Generate Key
. Это просто, таким образом, я уверен, что использую его правильно (работал как корень, имейте полномочия записи в файл, который я хотел бы создать),
TL; DR - Проверка, если медиа надежно; luksFormat
и luksOpen
не делать.
Проблема могла думаться по крайней мере несколькими способами:
Из любопытства я решил сделать полный формат диска mmc (для "запуска с нуля), но с проверкой:
sudo mkfs.ext4 /dev/mmcblk0 -cc
mke2fs 1.44.4 (18-Aug-2018)
/dev/mmcblk0 contains a ext4 file system
last mounted on Tue Mar 5 11:30:02 2019
Proceed anyway? (y,N) y
Discarding device blocks: done
Creating filesystem with 15591936 4k blocks and 3899392 inodes
Filesystem UUID: 0ab72f40-d2a2-408d-b4ca-d5e8fcc27ec7
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Testing with pattern 0xaa: done
Reading and comparing: done
Testing with pattern 0x55: done rs)
Reading and comparing: done rs)
Testing with pattern 0xff: done rs)
Reading and comparing: done rs)
Testing with pattern 0x00: done rs)
Reading and comparing: done rs)
Block 0 in primary superblock/group descriptor area bad.
Blocks 0 through 9 must be good in order to build a filesystem.
Aborting....
Я мог уже видеть, куда это шло..
Так как я никогда не форматировал как этот прежде, я отформатировал второе устройство хранения (карта с интерфейсом USB) с проверкой, и это - формат, завершенный успешно. Прохождение через того же cryptsetup
обработайте, чтобы отформатировать и открыться, та карта с интерфейсом USB работала. Это показывает другую проблему, которая происходила:
Я подозреваю это luksFormat
не делает никакой проверки исправности, чтобы видеть, что ее данные могут на самом деле быть считаны.
Как продолжение, я уже сделал небыстрое форматирование в соответствии с Windows, и он хорошо работал. Я также выполнил полный тест write-read-compare, и это был также успех. У меня есть другие тесты для выполнения, только из любопытства, но это может (так или иначе) быть конкретным вопросом Linux. Я не буду диагностировать вниз, что кроличья нора, но я приду к заключению, что важно сделать все форматирование и тестирование на определенной платформе, на которой замечена проблема.