Salta al contenuto principale


Ho provato la chiavetta di sicurezza tedesca 3A Mini di Nitrokey


Ho provato la Nitrokey 3A Mini, chiavetta di sicurezza open source e certificata FIDO2, prodotta in Germania. Ecco com'è andata, come impostare il PIN e cosa sapere prima di comprarne una.

Esistono tanti modi per proteggere i propri account, ma pochi sono efficaci quanto una chiavetta di sicurezza fisica. Dopo averne sentito parlare per anni, ho deciso di provarne finalmente una. La scelta non è stata casuale ma, come sempre, ponderata: Nitrokey è un’azienda europea (precisamente tedesca), le chiavette sono prodotte in Germania e i loro firmware tutti open source. Ho chiesto a Nitrokey esplicitamente di poter provare la Nitrokey 3A Mini perché ha ottenuto la certificazione FIDO2 di Livello 1, e mi è stata gentilmente inviata da loro per poterla testare. E volevo raccontarvi com’è andata.

Cosa c’è nella scatola


Pochissimo! Ed è un bene. La confezione è minimale, quasi spartana: dentro trovate la chiavetta e un rimando alla documentazione ufficiale. Niente manualoni giganti o accessori inutili, l’unico accessorio presente è il portachiavi per non perderla. La chiavetta è davvero piccola (d’altronde è la versione mini) ed è pensata per restare inserita nella porta USB-A senza dare alcun fastidio. Sul corpo c’è un micro-pulsante (invisibile) che serve a confermare fisicamente le operazioni.
Immagini della NItrokey 3A Mini

Cos’è una chiavetta di sicurezza


Prima di tutto: cos’è una chiavetta di sicurezza? È un piccolo dispositivo fisico, simile a una comune penna USB, che serve a dimostrare che siete davvero voi a tentare l’accesso a un account. Funziona come secondo fattore di autenticazione: dopo aver inserito la password, il sito vi chiede di collegare la chiavetta e toccarla per confermare. Il vantaggio rispetto ai classici codici via SMS o alle app di autenticazione è che non c’è nulla da copiare, nulla che possa essere intercettato e nessun codice che qualcuno possa estorcervi con una pagina di phishing. La verifica avviene direttamente tra il sito e la chiavetta tramite il protocollo FIDO2, ed è legata al dominio specifico: anche se finite su un sito truffaldino che imita quello vero, la chiavetta semplicemente non risponde. È ad oggi uno dei metodi più solidi per proteggere i propri account.

La prova sul campo


La configurazione iniziale è stata piuttosto rapida. Ho registrato la chiavetta come secondo fattore di autenticazione su diversi servizi nel giro di pochi minuti. Il test più significativo l’ho fatto con Proton Mail, il servizio di posta crittografata che utilizzo quotidianamente: accesso con password e poi conferma tramite la chiavetta, premendo il piccolo pulsante fisico.

Altre prove le ho fatte anche con un account Tuta che utilizzo in maniera secondaria e con altri servizi che permettono di registrare le chiavette fisiche. Tutto liscio, senza intoppi.

Il meccanismo è sempre lo stesso: inserisci la Nitrokey, il sito ti chiede la verifica, premi il bottoncino e sei a posto. Nessun codice da copiare né applicazioni da aprire sullo smartphone.

Perché proprio la 3A Mini


Come dicevo inizialmente ho scelto questo modello specifico per un motivo preciso: al momento è l’unica Nitrokey ad aver ottenuto la certificazione FIDO2 di Livello 1 dalla FIDO Alliance, come annunciato da Nitrokey stessa. Questa certificazione garantisce compatibilità verificata con tutte le piattaforme principali, da Windows a macOS, da Linux ad Android e iOS. Nitrokey mi ha confermato che tutti i modelli della serie 3 sono in fase di certificazione sia per il Livello 1 che per il Livello 2.

La Nitrokey 3A Mini non si limita all’autenticazione FIDO2 che ho provato. Sulla carta le funzionalità sono parecchie: supporto FIDO U2F, generazione di password monouso (TOTP e HOTP), smart card OpenPGP per cifrare email e file, e persino un piccolo archivio password integrato, anche se per un gestore vero e proprio conviene guardare altrove (come ad esempio Proton Pass).

Impostare un PIN: si può e si dovrebbe fare


La Nitrokey 3A Mini permette di impostare un PIN di protezione per il FIDO2. Su Linux, dove ho fatto queste prove, si può fare in almeno due modi. Tramite programmino grafico e installato tramite il comando da terminale pipx install nitrokeyapp per poi avviarlo con nitrokeyapp.

Piccola nota sull’importanza di non dimenticarsi i PIN: hai 8 tentativi totali. Ogni 3 errori devi staccare e riattaccare la chiavetta (questo serve a evitare blocchi accidentali, non ti dà tentativi infiniti). Se li esaurisci tutti e 8, la funzione FIDO2 si blocca. Per sbloccarla è necessario fare un reset della funzione FIDO2, il che significa che perdi tutte le registrazioni FIDO2 salvate sulla chiavetta. Dovresti quindi ri-registrarla su tutti i siti dove l’avevi configurata. Lo stesso vale per il cosiddetto PIN Secrets (per le password). Per il PIN OpenPGP invece la situazione sembra essere ancora più seria: 3 tentativi per il PIN utente (sbloccabile con l’Admin PIN), 3 tentativi per l’Admin PIN. Se esaurisci anche quelli, reset completo ai valori di fabbrica.

In questo modo è possibile fare tutto graficamente ed è quindi adatto a chiunque, anche senza alcuna conoscenza tecnica. Da qui si può impostare il PIN o modificarlo e si può anche creare una sorta di “mini” password manager da utilizzare anche questo con un PIN o una password (possibilmente diversa da quella scelta in precedenza).

Per visualizzare o modificare queste informazioni basterà inserire la chiavetta e avviare il programma. Come vedete dalle immagini poco sopra è tutto abbastanza intuitivo.

Anche via CLI


Tutto quello che viene spiegato in questi paragrafi è dedicato a chi utilizzerà la chiavetta via terminale. Non c’è una vera e propria guida per la versione grafica dell’applicazione perché è decisamente intuitiva e tutto quello che leggerete qui si può fare facilmente dall’applicazione eseguita.

Tuttavia per gli amanti dei comandi scritti tramite console esiste si può fare anche tutto in questo modo utilizzando Nitropy. Una volta installato sulla vostra distribuzione preferita potete impostare il PIN scrivendo

nitropy fido2 set-pin

vi verrà chiesto di scegliere un PIN e di confermarlo. Da quel momento, in teoria, ogni volta che un sito richiede la verifica, oltre al tocco fisico vi verrà chiesto anche il codice.

In teoria, appunto. Perché nella pratica la richiesta del PIN dipende dal sito, non dalla chiavetta. Servizi come Proton e Tuta usano la Nitrokey come secondo fattore di autenticazione (dopo la password), e in quel contesto il PIN viene considerato superfluo: avete già dimostrato la vostra identità con la password, la chiavetta serve solo a confermare che siete fisicamente presenti. Il risultato è che il PIN non viene mai richiesto, basta toccare la chiavetta per confermare l’accesso.

Ho fatto una prova con Google, che invece gestisce la cosa diversamente, e lì il PIN mi è stato chiesto regolarmente. Lo stesso dovrebbe succedere con i servizi Microsoft aziendali e in generale con tutti quelli che usano la chiavetta come metodo di accesso principale, senza password.

Morale: impostatelo comunque. Non costa nulla, richiede un minuto, e vi protegge nel caso qualcuno metta le mani sulla vostra chiavetta e provi a usarla su un servizio che richiede la verifica completa. Meglio averlo e non averne bisogno che il contrario.

Il gestore di password via CLI


Anche da terminale si può usare la chiavetta come password manager. Va innanzitutto impostato un “secrets” cioè una password o un PIN possibilmente diverso da quello della chiavetta impostato prima e va fatto con il comando nitropy nk3 secrets set-pin. Scegli un PIN e confermalo. E tocca la chiavetta se lampeggia e ti viene chiesto di farlo.

Per salvare una password si usa il comando

nitropy nk3 secrets add-password --touch-button --protect-with-pin --password "LaTuaPasswordDiProva123" ProvaYoota

dove ProvaYoota è il nome che dai alla credenziale e LaTuaPasswordDiProva123 è la password vera e propria. L’opzione --touch-button richiede il tocco fisico, --protect-with-pin richiede invece il PIN per accedervi.

Per recuperare la password salvata si può usare il comando

nitropy nk3 secrets get-password ProvaYoota

e in questo caso chiederà il PIN e poi il tocco, e restituirà infine la password.

Per vedere tutte le credenziali salvate si usa il comando

nitropy nk3 secrets list.
La chiavetta per generare codici TOTP


La Nitrokey, volendo, può sostituire le app tipo Google Authenticator o Authy per generare quei codici a 6 cifre che scadono ogni 30 secondi. Per farlo basta andare sul sito dove vuoi attivare il 2FA con TOTP (tipo GitHub, Nextcloud, ecc.) e scegli “Aggiungi app di autenticazione”. Il sito ti mostrerà un QR code ma anche una chiave segreta testuale (una stringa tipo JBSWY3DPEHPK3PXP). È quella che ti serve.

Registra il segreto sulla Nitrokey con il comando

nitropy nk3 secrets register --kind TOTP --touch-button NomeServizio JBSWY3DPEHPK3PXP

dove NomeServizio è un nome a scelta (tipo “GitHub” o “Nextcloud”) e la stringa finale è la chiave segreta che ti ha dato il sito. Se vuoi che richieda anche il PIN aggiungi --protect-with-pin.

Per generare il codice quando ti serve basta fare invece

nitropy nk3 secrets get NomeServizio

che ti restituirà il codice a 6 cifre valido in quel momento, come farebbe qualsiasi applicazione TOTP.

Per HOTP è lo stesso ma con --kind HOTP (cambia solo il meccanismo: HOTP è basato su un contatore, TOTP sul tempo).

Attenzione pratica: il segreto va copiato senza spazi. Alcuni siti lo mostrano con spazi tipo JBSW Y3DP EHPK 3PXP ma sarebbe il caso incollarlo tutto attaccato. E se il sito usa SHA256 invece di SHA1 (raro potrebbe succedere), va aggiunto --hash SHA256.

La cosa bella è che così i segreti TOTP sono salvati sulla chiavetta fisica e non sul telefono, il che è oggettivamente più sicuro anche se ovviamente più scomodo.

Il firmware è scritto in Rust, completamente open source, e il cuore crittografico si basa su un elemento sicuro certificato Common Criteria EAL 6+, lo stesso livello che trovate nelle smart card bancarie. Io per il momento mi sono limitato a usarla come secondo fattore di autenticazione, che è probabilmente anche il caso d’uso più comune.

Attenzione: se la perdete, sono guai


Come forse avrete già intuito se impostate come unico accesso la chiavetta e poi la perdete… beh, è un disastro e rischiate di restare chiusi fuori dai vostri account senza un vero e proprio piano B. Non è una possibilità remota, è una certezza. Per questo il consiglio più importante che posso darvi se decidete di usare una chiavetta di sicurezza è quello di acquistarne almeno due e registrarle entrambe su tutti i servizi che utilizzate. Se una finisce in lavatrice, cade in un tombino o semplicemente sparisce, l’altra vi salva.

In alternativa, molti servizi generano dei codici di recupero al momento dell’attivazione del secondo fattore. Stampateli, scriveteli a mano, conservateli in un posto sicuro, qualunque metodo va bene purché non restino solo in formato digitale sullo stesso dispositivo che state cercando di proteggere. Sembra banale, ma è il tipo di cosa a cui si pensa solo quando è troppo tardi.

Oppure, ma qui dipende anche dai siti, potete impostare sia un metodo, come la 2FA tramite applicazione o la passkey tramite password manager, che la chiavetta fisica. In questo modo se anche perdete la chiavetta potete comunque entrare nei vostri account con il piano B. Ovviamente più modi avete per entrare e meno sicuro sarà il vostro account ma è, come sempre, tutta una questione di compromessi e necessità personali.

Ecco il paragrafo:

Integrazione con KeePassXC


Una delle domande ricevute quando ho detto che avrei ricevuto una chiavetta Nitrokey è stata l’integrazione con KeePassXC, il popolare gestore di password open source. Non è un programma che uso personalmente, ma la curiosità era legittima e ho voluto provare.

Dalla versione 2.7.6, KeePassXC supporta le Nitrokey 3 come fattore aggiuntivo per sbloccare il database delle password. Il meccanismo si chiama Challenge-Response e funziona in modo diverso dal FIDO2: la chiavetta non si limita a confermare la vostra presenza, ma partecipa attivamente alla decrittazione del database. Senza di lei, il file resta inaccessibile anche conoscendo la password.

Per chi volesse replicare la prova su Linux, servono pochi passaggi. Prima di tutto bisogna installare KeePassXC e il servizio pcscd, che è il demone che consente alle applicazioni di comunicare con le smart card (e quindi anche con la Nitrokey):

sudo apt install keepassxc pcscd
sudo systemctl start pcscd
sudo systemctl enable pcscd

A questo punto va generato un segreto casuale da salvare sulla chiavetta. Con il primo comando creiamo 20 byte casuali (la dimensione richiesta dal protocollo HMAC-SHA1), con il secondo li convertiamo in formato base32 e li scriviamo nello slot 2 della Nitrokey, che è quello utilizzato da KeePassXC:
dd if=/dev/urandom of=/tmp/nk bs=20 count=1
nitropy nk3 secrets add-challenge-response 2 $(base32 /tmp/nk)

Consiglio di annotarsi il segreto generato lanciando base32 /tmp/nk prima di perdere quel file temporaneo: se un domani voleste configurare una seconda chiavetta di backup con lo stesso segreto, vi servirà quella stringa.

Fatto questo, basta aprire KeePassXC e, nella schermata delle credenziali del database (raggiungibile anche su un database già esistente da Database → Sicurezza del database), cliccare su Aggiungi protezione aggiuntiva. In fondo trovate la voce Challenge-Response: selezionandola dovrebbe comparire la Nitrokey nel menu a tendina (potrebbe apparire genericamente come “YubiKey”, è normale). Confermate e salvate.

Da quel momento, per aprire il database servono sia la password che la chiavetta fisicamente inserita. Nel mio test ha funzionato tutto al primo tentativo, senza particolari intoppi ma appunto non è il mio setup quotidiano quindi non ho fatto altre prove. Il PIN della chiavetta non viene richiesto in questo contesto, ma la presenza fisica della Nitrokey sì, il che aggiunge un livello di protezione concreto al vostro archivio di password.

Qualcosa da migliorare


Il modello che ho testato è esclusivamente USB-A, il che nel 2026 può risultare un po’ limitante se usate prevalentemente dispositivi con USB-C anche se come detto è stata una mia scelta e una mia richiesta. Per chi ha bisogno di maggiore flessibilità, Nitrokey offre la variante 3A NFC (che aggiunge la connettività senza fili per gli smartphone) e la 3C NFC con connettore USB-C. Costano qualcosina in più, ma la comodità dell’NFC con il telefono potrebbe valerne la pena.

Un’altra nota: l’applicazione desktop Nitrokey App 2 funziona bene per la gestione del dispositivo e gli aggiornamenti firmware, ma il gestore di password integrato è piuttosto essenziale. Se cercate un password manager vero e proprio vi conviene affidarvi a soluzioni dedicate come il già accennato Proton Pass.

Non solo chiavette per Nitrokey


Nitrokey non produce solo chiavette di sicurezza. L’azienda tedesca ha costruito negli anni un catalogo piuttosto ampio di prodotti hardware, tutti accomunati dalla stessa impostazione: firmware aperto, produzione in Germania, nessuna dipendenza da servizi cloud proprietari.

Il prodotto più particolare è probabilmente il NitroPhone, uno smartphone basato su hardware Google Pixel con preinstallato il sistema operativo open source GrapheneOS al posto di Android. Il Pixel viene scelto perché è uno dei pochi telefoni che consente di installare un sistema operativo alternativo mantenendo attivo il Verified Boot tramite il chip Titan M2. GrapheneOS non è semplicemente un Android ripulito da Google: interviene in profondità su kernel, gestione della memoria, sandbox delle applicazioni e permessi. I servizi Google, se servono, si possono reinstallare come app isolate senza privilegi speciali. La gamma parte dal NitroPhone 5a (Pixel 9a, supporto fino al 2032) e arriva fino al pieghevole. Su richiesta, Nitrokey può rimuovere fisicamente i microfoni e i sensori di movimento prima della spedizione, un’opzione pensata per contesti dove la riservatezza è una necessità concreta, non un vezzo.

Nel catalogo ci sono anche i NitroPad (portatili basati su ThinkPad con firmware Coreboot e Intel Management Engine disabilitato), i NitroPC (desktop con la stessa impostazione) e i NitroWall, firewall hardware con OPNsense o OpenWRT per la sicurezza di rete. I prezzi non sono popolari e l’approccio resta di nicchia, ma il catalogo esiste e vale la pena conoscerlo.

Prezzo e verdetto


La Nitrokey 3A Mini si trova sullo shop ufficiale a 49 euro. Non è poco, soprattutto se ne comprate due come consiglio, ma considerate che si tratta di un acquisto che protegge un numero illimitato di account. A differenza di altre soluzioni il firmware è aggiornabile e completamente open source, il che è un vantaggio non trascurabile nel lungo periodo.

Nel complesso, l’ho trovata pratica e facile da usare anche per chi non mastica sicurezza informatica tutti i giorni. Non è perfetta, il vincolo USB-A pesa e il prezzo non è proprio popolare, ma se volete un metodo concreto per blindare i vostri account più importanti è una delle opzioni più serie sul mercato. Soprattutto per chi tiene alla trasparenza del software e preferisce affidarsi a un prodotto europeo.

Potete acquistare la Nitrokey 3A Mini e tutti gli altri modelli tramite Nitrokey.

Questa voce è stata modificata (5 giorni fa)