systemd-cryptsetup не удается для Yubikey 5 с прошивкой 5.7.1, но работает с 5.4.3.

Вопрос или проблема

Я использую Yubikey 5 NFC с прошивкой 5.4.3 для успешного запуска своей системы FDE Ubuntu 24.04, то есть при запуске системы меня просят ввести PIN-код FIDO2, я его ввожу, касаюсь ключа и через несколько секунд система работает.

Теперь я купил несколько дополнительных Yubikey 5 NFC с прошивкой 5.7.1 и не могу запустить их. Меня дважды просят ввести PIN-код Yubikey (в случае, если я ввожу правильный; если нет, я сразу получаю соответствующее сообщение об ошибке), но тот факт, что мой Yubikey разблокирован, полностью игнорируется.

В ходе поиска решения я нашел этот отчет об ошибке: https://github.com/systemd/systemd/issues/36235 – указанные там шаги (с небольшими изменениями) не полностью работают и для меня:

 1. export SYSTEMD_LOG_LEVEL=debug 
 2. dd if=/dev/zero of=test bs=8M count=10
 3. cryptsetup luksFormat test
 4. system-cryptenroll --fido2-device=auto --fido2-with-client-pin=yes --fido2-with-user-presence=yes test
# шаги 1-4 выполняются без ошибок

 5. (sudo) systemd-cryptsetup attach test test - fido2-device=auto
# шаг 5 не работает; меня дважды просят ввести PIN-код 
# и последующее подтверждение присутствия пользователя, но затем ничего не происходит

Чтобы исключить возможность того, что мои новые системы просто больше не регистрируют эти Yubikey, я даже удалил слот FIDO2 на рабочей системе, заново зарегистрировал свой старый ключ, чтобы убедиться, что он все еще работает, и затем попытался использовать новый Yubikey (fw 5.7.1), который не сработал.

Одна разница между прошивками 5.4.3 и 5.7.1, о которой я знаю, это доступность функции проверки пользователя, и я подумал, возможно, мне нужно установить дополнительный параметр, но пока не удалось найти решение (а также найти соответствующий отчет об ошибке).

Кто-нибудь может помочь? Заранее спасибо!

Ответ или решение

Конечно, давайте разберем проблему более детально, обращаясь к вашему описанию ситуации. Рассмотрим теорию, примеры и практическое применение, чтобы понять, почему система systemd-cryptsetup может столкнуться с трудностями при работе с Yubikey 5 NFC на новой прошивке 5.7.1.

Теория

Yubikey 5 NFC – это устройство аутентификации, которое поддерживает различные методы шифрования и аутентификации, включая FIDO2, что делает его особенно популярным для обеспечения безопасности систем полной шифрования диска (Full Disk Encryption, FDE). FIDO2 – это стандарт, который сочетает в себе методики аутентификации с использованием ключей безопасности, таких как беспарольная аутентификация и защита с мультифакторной аутентификацией.

Каждый раз, когда происходит обновление прошивки устройства, изменения могут касаться как улучшения функций, так и обновлений безопасности. В вашем случае различие между прошивками 5.4.3 и 5.7.1 заключается в поддержке функции «проверки пользователя» (User Verification). Это может кардинально изменять процедуру аутентификации и требовать дополнительных настроек в программном обеспечении, таком как systemd-cryptsetup.

Пример

В вашем примере с Ubuntu 24.04 и Yubikey 5 вы сталкиваетесь с ситуацией, когда прошивка версии 5.4.3 работает безупречно, но с версией 5.7.1 процесс прерывается после двойного запроса PIN кода. Это может происходить по нескольким причинам:

  1. Протокол User Verification: Новая прошивка может требовать активации дополнительных аттрибутов для FIDO2 устройства, например, user verification, что может не быть включено в стандартную конфигурацию вашего cryptsetup или systemd-cryptsetup.

  2. Различия в API: Обновления прошивки могут также включать изменения в интерфейсе программирования (API), что требует обновления программного обеспечения, которое взаимодействует с Yubikey.

  3. Совместимость со старыми системами: Иногда обновления устройства имеют обратную несовместимость с устаревшими библиотеками или ядрами, что требует обновления до последней версии или корректировки конфигурации.

Практическое применение

Для решения вашей проблемы попробуйте следующие шаги:

  1. Обновление системного программного обеспечения: Убедитесь, что ваша версия systemd и cryptsetup является актуальной. Выполните обновление системы до последних версий библиотек, поддерживающих FIDO2.

  2. Конфигурация user verification: Проверьте конфигурацию вашего systemd-cryptsetup на предмет отсутствия параметров, связанных с ‘user verification’. Для версии 5.7.1 удостоверьтесь, что вы передаете необходимый параметр для активации этого режима, если он требуется.

  3. Логи отладки: Продолжайте использовать SYSTEMD_LOG_LEVEL=debug, чтобы выяснить, какие именно ошибки происходят при попытке аутентификации. Внимательно изучите полученные логи.

  4. Свяжитесь с поддержкой Yubico: Если вы подозреваете, что речь идет о программной ошибке, не забудьте связаться с поддержкой Yubico для получения актуальной информации и патчей, если они имеются.

  5. Сообщество и баг-репорты: Обратитесь к сообществу, форумам Ubuntu или системным администраторам, которые могут сталкиваться с подобными вопросами и предлагать решения или обходные пути.

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

Оцените материал
Добавить комментарий

Капча загружается...