Aktualizace firmwaru#

Tento návod popisuje, jak aktualizovat firmware zařízení Nitrokey 3.

Důležité

U firmwaru v.1.0.0 a nižšího dojde při aktualizaci ke smazání všech uživatelských dat! Ujistěte se, že máte povoleny správné záložní metody přihlašování a/nebo zajistěte, aby Nitrokey 3 nebyl jediným způsobem ověřování/2FA pro vaše aplikace/služby.

U firmwaru v1.0.1 a vyšších verzí se během aktualizace zachovávají uživatelská data. Každopádně se ujistěte, že máte vždy zaregistrované jiné zařízení (nebo způsob přihlášení) ke službě, pokud se z nějakého důvodu vaše data neuchovají.

Jak aktualizovat#

Důležité

Během aktualizace nikdy neodpojujte Nitrokey 3 ani nepřerušujte proces, protože by se tím zařízení pravděpodobně stalo nepoužitelným!

  1. Ujistěte se, že máte nainstalovanou nejnovější verzi pynitrokey, zkontrolujte prosím instalační pokyny pro váš operační systém.

  2. Spustit nitropy nk3 update.

  3. Po pokynu nitropy se dotkněte zařízení a aktivujte zavaděč.

  4. pouze pro systém MacOS: Podle pokynů nitropy spusťte znovu příkaz update.

  5. Vyčkejte na dokončení procesu. (Tato doba se může lišit v závislosti na operačním systému).

  6. Volitelné: spustit nitropy nk3 test pro kontrolu, zda zařízení po flashování funguje správně.

V případě chyb si prosím vezměte protokoly z adresáře /tmp (/tmp/nitropy.log.*).

Typy verzí firmwaru#

Pro Nitrokey 3 existují tři typy verzí firmwaru:

Pro uživatele jsou nejdůležitější stabilní verze. Jsou navrženy tak, aby byly zpětně kompatibilní, zachovávaly všechna uživatelská data a byly důkladně testovány. Na produkčních zařízeních by se měly používat pouze stabilní verze.

Kandidátská verze **** je náhled nadcházející stabilní verze. Měla by být také zpětně kompatibilní, ale není testována tak důkladně jako stabilní verze.

Testovací verze (dříve: alfa verze) obsahují další funkce, které zatím nejsou připraveny pro produkční verzi. Uživatelská data vytvořená pomocí testovací verze nemusí být kompatibilní s jinými verzemi. Tato vydání jsou stále testována a je pravděpodobnější, že budou obsahovat chyby.

Další informace o funkcích dostupných v dané verzi naleznete v poznámkách k vydání `na GitHubu.

Typ verze firmwaru poznáte podle čísla verze:

Typ

Číslo verze

Příklad

stabilní verze

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

v1.3.1

kandidát na vydání

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

v1.3.1-rc.1

testovací verze

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

v1.3.1-test.20230414

Ochrana před snížením úrovně#

Firmware zařízení Nitrokey 3 nelze downgradovat. Lze nainstalovat pouze aktualizaci firmwaru se stejným nebo vyšším číslem verze major, minor a patch, než má firmware aktuálně nainstalovaný v zařízení. To chrání před útoky typu downgrade, kdy by byla bezpečná verze firmwaru nahrazena starou, potenciálně nezabezpečenou verzí.

Příklady:

  • v1.3.1 lze aktualizovat na v1.3.1-test.20230414 a naopak, protože mají stejné hlavní, vedlejší a opravné číslo verze.

  • v1.3.1 lze aktualizovat na v1.3.2 nebo v1.4.0, protože číslo verze se zvyšuje.

  • v1.3.1 nelze aktualizovat na v1.3.0-rc.1, protože by se snížilo číslo verze.

To se týká především uživatelů, kteří spoléhají na funkci z testovacích verzí. Uživatelé stabilního firmwaru mohou vždy aktualizovat na nejnovější dostupnou verzi firmwaru.

Řešení problémů#

Problém: Při aktualizaci se mi zobrazí permission denied for /dev/hidrawX.

To pravděpodobně znamená, že váš uživatel nemá potřebná oprávnění ke čtení a zápisu zařízení. Ujistěte se, že jste nastavili správná udev-rules. Stáhněte si tuto sadu udev-rules a umístěte ji do adresáře udev rules (např. /etc/udev/rules.d). Poté vyjměte klíč Nitrokey 3 ze slotu USB a spusťte jej: udevadm control --reload-rules && udevadm trigger nebo restartujte počítač. Poté by měla aktualizace fungovat bez problému s oprávněním.