Вопрос или проблема
Я использую 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 кода. Это может происходить по нескольким причинам:
-
Протокол User Verification: Новая прошивка может требовать активации дополнительных аттрибутов для FIDO2 устройства, например, user verification, что может не быть включено в стандартную конфигурацию вашего cryptsetup или systemd-cryptsetup.
-
Различия в API: Обновления прошивки могут также включать изменения в интерфейсе программирования (API), что требует обновления программного обеспечения, которое взаимодействует с Yubikey.
-
Совместимость со старыми системами: Иногда обновления устройства имеют обратную несовместимость с устаревшими библиотеками или ядрами, что требует обновления до последней версии или корректировки конфигурации.
Практическое применение
Для решения вашей проблемы попробуйте следующие шаги:
-
Обновление системного программного обеспечения: Убедитесь, что ваша версия systemd и cryptsetup является актуальной. Выполните обновление системы до последних версий библиотек, поддерживающих FIDO2.
-
Конфигурация user verification: Проверьте конфигурацию вашего systemd-cryptsetup на предмет отсутствия параметров, связанных с ‘user verification’. Для версии 5.7.1 удостоверьтесь, что вы передаете необходимый параметр для активации этого режима, если он требуется.
-
Логи отладки: Продолжайте использовать SYSTEMD_LOG_LEVEL=debug, чтобы выяснить, какие именно ошибки происходят при попытке аутентификации. Внимательно изучите полученные логи.
-
Свяжитесь с поддержкой Yubico: Если вы подозреваете, что речь идет о программной ошибке, не забудьте связаться с поддержкой Yubico для получения актуальной информации и патчей, если они имеются.
-
Сообщество и баг-репорты: Обратитесь к сообществу, форумам Ubuntu или системным администраторам, которые могут сталкиваться с подобными вопросами и предлагать решения или обходные пути.
Применяя этот концептуальный и практический подход, вы двигаетесь в направлении решения проблемы с новыми устройствами на более новой прошивке. Надежная конфигурация и актуальные обновления — это ключевые элементы успешной работы систем, в которых используются токены безопасности для шифрования диска.