Aktualizacja oprogramowania sprzętowego#

Ten przewodnik opisuje jak zaktualizować firmware na Nitrokey 3.

Ważne

Dla firmware v.1.0.0 i niższych aktualizacja usunie wszystkie dane użytkownika! Upewnij się, że masz włączone odpowiednie zapasowe metody logowania i/lub upewnij się, że Nitrokey 3 nie jest jedynym sposobem uwierzytelniania/2FA dla Twoich aplikacji/usług.

Dla firmware v1.0.1 i wyższych dane użytkownika są zachowywane podczas aktualizacji. Tak czy inaczej, pamiętaj, aby zawsze mieć inne urządzenie (lub metodę logowania) zarejestrowane w serwisie, jeśli z jakiegoś powodu Twoje dane nie zostaną zachowane.

Jak zaktualizować#

Ważne

Nigdy nie odłączaj Nitrokey 3 ani nie przerywaj procesu podczas aktualizacji, ponieważ w ten sposób Twoje urządzenie może stać się bezużyteczne!

  1. Upewnij się, że masz zainstalowaną najnowszą wersję pynitrokey, sprawdź instrukcje instalacji dla swojego systemu operacyjnego.

  2. Uruchom nitropy nk3 update.

  3. Po otrzymaniu instrukcji nitropy dotknij urządzenia, aby aktywować bootloader.

  4. tylko dla systemumacOS: Jeśli instrukcja nitropy uruchom ponownie polecenie update.

  5. Proszę poczekać na zakończenie procesu. (Może się to różnić w zależności od systemu operacyjnego)

  6. Optional: uruchom nitropy nk3 test aby sprawdzić czy urządzenie działa poprawnie po flashowaniu

W przypadku wystąpienia jakichkolwiek błędów prosimy o pobranie logów z katalogu /tmp (/tmp/nitropy.log.*).

Typy wydań oprogramowania sprzętowego#

Istnieją trzy rodzaje wydań firmware dla Nitrokey 3:

Stabilne wydania są najważniejsze dla użytkowników. Są one zaprojektowane tak, aby były kompatybilne wstecz i zachowywały wszystkie dane użytkownika oraz są dokładnie przetestowane. Na urządzeniach produkcyjnych należy używać tylko stabilnych wydań.

Kandydat do wydania **** jest zapowiedzią nadchodzącego stabilnego wydania. Powinien być również kompatybilny wstecz, ale nie jest testowany tak dokładnie jak stabilne wydanie.

Wersje testowe (wcześniej: wersje alfa) zawierają dodatkowe funkcje, które nie są jeszcze gotowe do produkcji. Dane użytkownika utworzone za pomocą wydania testowego mogą nie być kompatybilne z innymi wydaniami. Te wydania są wciąż testowane i częściej zawierają błędy.

Zobacz release notes na GitHubie, aby uzyskać więcej informacji na temat funkcji dostępnych w danym wydaniu.

Typ wydania oprogramowania sprzętowego można rozpoznać po numerze wersji:

Typ

Numer wersji

Przykład

wydanie stabilne

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

v1.3.1

kandydat do wydania

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

v1.3.1-rc.1

wydanie testowe

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

v1.3.1-test.20230414

Ochrona przed obniżeniem wartości#

Firmware urządzenia Nitrokey 3 nie może być obniżony. Można jedynie zainstalować aktualizację oprogramowania firmowego o tym samym lub wyższym numerze wersji major, minor i patch niż oprogramowanie firmowe aktualnie zainstalowane w urządzeniu. Chroni to przed atakami typu downgrade, w których bezpieczna wersja firmware zostałaby zastąpiona starą, potencjalnie niezabezpieczoną wersją.

Przykłady:

  • v1.3.1 może być zaktualizowany do v1.3.1-test.20230414 i odwrotnie, ponieważ mają one ten sam numer wersji major, minor i patch.

  • v1.3.1 może być zaktualizowany do v1.3.2 lub v1.4.0 ponieważ numer wersji wzrasta.

  • v1.3.1 nie może być zaktualizowany do v1.3.0-rc.1 ponieważ numer wersji zmniejszyłby się.

Jest to głównie istotne dla użytkowników, którzy polegają na funkcji z wydań testowych. Użytkownicy stabilnego firmware’u mogą zawsze zaktualizować go do najnowszej dostępnej wersji.

Rozwiązywanie problemów (Linux):#

Problem: Dostaję permission denied for /dev/hidrawX podczas aktualizacji.

To prawdopodobnie oznacza, że użytkownik nie ma wymaganych uprawnień do odczytu i zapisu urządzenia. Upewnij się, że skonfigurowałeś poprawne udev-rules. Pobierz ten zestaw udev-rules i umieść go w swoim katalogu udev rules (np. /etc/udev/rules.d). Następnie wyjmij Nitrokey 3 z gniazda USB i uruchom: udevadm control --reload-rules && udevadm trigger lub zrestartuj komputer. Po tym aktualizacja powinna działać bez problemu z uprawnieniami.