Aktualizace firmwaru

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

Varování

Tento průvodce je stále v experimentálním stavu!

Poznámka

Aktualizace je možná pouze s firmwarem verze 0.11 a novějším.

Důležité

Aktualizace by mohla vést ke ztrátě dat, proto se ujistěte, že máte povoleny správné záložní metody přihlašování a/nebo zajistěte, aby Nitrokey Pro nebyl jediným způsobem ověřování/2FA pro vaše aplikace/služby.

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. Stáhněte si nejnovější stabilní obraz firmwaru.

    Důležité

    Pro produkční použití byste měli zvolit nejnovější stabilní verzi (tedy pouze verze, které neobsahují označení „pre-release“ nebo „RC“).

  3. Chcete-li použít aktualizaci, spusťte:

$ nitropy pro enable-update
$ nitropy pro update nitrokey-pro-firmware-<version>.bin

Alternativní metoda aktualizace

Alternativně lze pro aktualizaci firmwaru použít dfu-util:

  1. Instalace dfu-util

    Binaries for Windows are available at: * http://dfu-util.sourceforge.net/releases/

    For macOS binaries are available via Homebrew: * https://formulae.brew.sh/formula/dfu-util

    pouze pro MacOS: Nainstalujte dfu-util přes Homebrew

    brew install dfu-util
    
  2. Pomocí aplikace Nitrokey App v1.5-RC7 nebo vyšší můžete změnit režim spouštění zařízení Nitrokey Pro na režim aktualizace.

  3. Nyní použijte následující příkaz pro použití aktualizace

    $ dfu-util -D update_binary.bin
    
  4. Režim spouštění lze nyní opět změnit pomocí aplikace Nitrokey.

Řešení problémů

Problém: libnitrokey se nepodařilo najít.

V případě, že libnitrokey nebyl nalezen automaticky, lze cestu k němu zadat pomocí proměnné env:

$ env LIBNK_PATH=/libnk/path/libnitrokey.so nitropy pro enable-update

Pro nalezení libnitrokey v systému použijte:

$ locate libnitrokey.so

Chyba oprávnění v systému Linux

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.