Обновление микропрограммы#

В этом руководстве описано, как обновить микропрограмму на Nitrokey 3.

Важно

Для прошивки v.1.0.0 и ниже обновление удалит все данные пользователя! Убедитесь, что у вас включены надлежащие резервные методы входа и/или что Nitrokey 3 не является единственным способом аутентификации/2FA для ваших приложений/сервисов.

Для прошивки v1.0.1 и выше данные пользователя сохраняются во время обновления. В любом случае, убедитесь, что в сервисе всегда зарегистрировано другое устройство (или способ входа), если по какой-то причине ваши данные не сохраняются.

Как обновить#

Важно

Никогда не отключайте Nitrokey 3 и не прерывайте процесс обновления, это может привести к тому, что ваше устройство станет бесполезным!

  1. Убедитесь, что у вас установлена последняя версия pynitrokey, пожалуйста, проверьте инструкции по установке для вашей ОС.

  2. Выполнить nitropy nk3 update.

  3. После получения инструкций nitropy коснитесь устройства, чтобы активировать загрузчик.

  4. только для macOS: По указанию nitropy выполните команду update еще раз.

  5. Пожалуйста, подождите, пока процесс завершится. (Это может зависеть от вашей операционной системы)

  6. Опционально: запустите nitropy nk3 test для проверки работоспособности устройства после прошивки.

В случае возникновения ошибок, пожалуйста, возьмите логи из каталога /tmp (/tmp/nitropy.log.*).

Типы выпусков микропрограммного обеспечения#

Существует три типа прошивок для Nitrokey 3:

Стабильные релизы наиболее важны для пользователей. Они разработаны с учетом обратной совместимости, сохраняют все пользовательские данные и тщательно тестируются. На производственных устройствах следует использовать только стабильные релизы.

Релиз-кандидат **** - это предварительный просмотр предстоящего стабильного релиза. Он также должен быть обратно совместим, но не тестируется так тщательно, как стабильный релиз.

Тестовые релизы (ранее: альфа-релизы) содержат дополнительные возможности, которые еще не готовы для производства. Пользовательские данные, созданные в тестовом релизе, могут быть несовместимы с другими релизами. Эти релизы все еще тестируются и, скорее всего, содержат ошибки.

Более подробную информацию о возможностях, доступных в релизе, смотрите в release notes на GitHub.

Тип выпуска прошивки можно определить по номеру версии:

Тип

Номер версии

Пример

стабильный релиз

v<major>.<minor>.<patch>

v1.3.1

кандидат на освобождение

v<major>.<minor>.<patch>-rc.<counter>

v1.3.1-rc.1

тестовый релиз

v<major>.<minor>.<patch>-test.<date>

v1.3.1-test.20230414

Защита от понижения рейтинга#

Микропрограмму Nitrokey 3 нельзя понизить. Вы можете установить только обновление микропрограммы с тем же или более высоким номером главной, второстепенной версии и версии патча, чем микропрограмма, установленная на устройстве в настоящее время. Это защищает от атак с понижением версии, когда безопасная версия прошивки заменяется старой, потенциально небезопасной версией.

Примеры:

  • v1.3.1 может быть обновлен до v1.3.1-test.20230414 и наоборот, поскольку они имеют одинаковые номера мажорной, минорной и патч-версии.

  • v1.3.1 может быть обновлен до v1.3.2 или v1.4.0, поскольку номер версии увеличивается.

  • v1.3.1 не может быть обновлен до v1.3.0-rc.1, потому что номер версии уменьшится.

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

Устранение неполадок#

Проблема: Я получаю permission denied for /dev/hidrawX во время обновления.

Это, скорее всего, означает, что у вашего пользователя нет необходимых прав на чтение/запись устройства. Убедитесь, что вы установили правильные udev-rules. Скачайте этот набор udev-rules и поместите его в каталог правил udev (например, /etc/udev/rules.d). Затем извлеките Nitrokey 3 из USB-разъема и запустите: udevadm control --reload-rules && udevadm trigger или перезагрузите машину. После этого обновление должно работать без проблем с разрешениями.