Salta al contenuto principale

Il tuo archivio di password #3

Usalo ogni giorno

Questa è la parte in cui tutto ripaga. Nella prima parte abbiamo creato una chiave e un archivio di password, e nella seconda parte l’abbiamo mandato su un server. Oggi lo mettiamo sul telefono, e poi vediamo come conviverci giorno per giorno. Ti serviranno l’indirizzo del tuo repository e il file private-key.asc che hai esportato.

Installa HardenedPass

Vai sull’ultima release e scarica HardenedPass_vX.Y.Z.apk e HardenedPass_vX.Y.Z.apk.sha256. Ti serve Android 12 o più recente, e nessun servizio Google: gira benissimo su GrapheneOS.

Un gestore di password è proprio una brutta cosa da installare da un file manomesso, quindi controlla il download. Nella cartella con i due file, sul computer o in Termux, esegui:

bash
1
sha256sum -c HardenedPass_vX.Y.Z.apk.sha256

Deve dire OK. La pagina di installazione spiega anche come verificare chi ha firmato l’APK, che è il controllo più forte. Copia l’APK sul telefono se non è già lì, aprilo dal file manager e consenti l’installazione.

Collega l’app

Apri l’app e tocca Clona repo remoto.

Schermata di benvenuto con i pulsanti Clona repo remoto, Crea repo locale e Impostazioni.
Per ora non usare Crea repo locale
Crea repo locale va bene per un archivio che vive solo sul telefono, ma al momento un archivio creato così non riesce a fare il pull delle modifiche se in seguito gli aggiungi un server. Visto che hai già un repository, non ti serve.

Incolla l’indirizzo del tuo repository in URL del repository. Chiave SSH è già selezionata, ed è quello che vogliamo.

Schermata Informazioni del repository con l'indirizzo compilato e Chiave SSH selezionata.

Il telefono ha bisogno di una chiave SSH tutta sua. Tocca Gestisci, poi Genera coppia di chiavi SSH.

Schermata Chiave SSH con i pulsanti Importa chiave SSH e Genera coppia di chiavi SSH.

Scegli Ed25519, lascia attivo Proteggi con credenziali di blocco schermo e tocca Genera. Ora l’app ti chiederà impronta o PIN ogni volta che usa questa chiave, e la metà privata non lascia mai il telefono.

Schermata Genera coppia di chiavi SSH con Ed25519 selezionato e la protezione del blocco schermo attiva.

L’app ti mostra la chiave pubblica. Tocca Condividi per mandartela, poi aggiungila sul sito del tuo provider, nello stesso posto in cui hai aggiunto la prima. Una chiave separata per ogni dispositivo vuol dire che se perdi il telefono puoi rimuovere solo quella.

Finestra che mostra la chiave pubblica generata, con i pulsanti Più tardi e Condividi.

Torna alla schermata del repository e tocca Clona. Alla prima connessione l’app memorizza l’identità del server, e da quel momento si rifiuta di collegarsi se cambia.

Finito il clone, l’app ti dice per quale chiave è cifrato l’archivio. Copia private-key.asc sul telefono via USB, se non è già nella cartella Download, tocca Importa chiave PGP e scegli il file.

Schermata Importa chiave PGP con il destinatario dell'archivio you@example.org e il pulsante Importa chiave PGP.

Ed eccolo lì, il tuo archivio!

L'elenco dell'archivio, con la voce example.org.
Cancella il file della chiave
L’app contiene una sua copia, quindi cancella subito private-key.asc dalla memoria del telefono, e anche dal disco del computer. L’unica altra copia deve essere il tuo backup offline.

Tocca la tua voce. L’app chiede la passphrase della tua chiave GPG (la finestra dice solo Password) e ti mostra cosa c’è dentro.

Finestra che chiede la password, con la tastiera aperta.
La voce example.org, con password, nome utente e url e un pulsante per copiare ciascuno.

Se sei arrivato fin qui funziona, e la parte difficile è finita. Ce l’hai fatta!

L’uso di tutti i giorni

Aggiungere una password

Tocca Nuova voce, poi Crea nuova password. Dalle un nome, di solito l’indirizzo del sito, così la compilazione automatica la trova in seguito. Anche una cartella aiuta, se ti piace tenere le cose in ordine.

Editor della nuova voce con i campi nome, cartella, password, nome utente e contenuto extra.

Tocca i tre puntini nel campo della password per aprire il generatore. Casuale crea password fatte di caratteri e Diceware password fatte di parole. Per la maggior parte dei login vai su Casuale: tanto non le digiterai mai, ci pensa l’app. Diceware è meglio per quelle poche che devi scrivere a mano, tipo la password dell’account di streaming sulla TV. Le parole sono in inglese.

Generatore di password sulla scheda Diceware, con una password di cinque parole, lunghezza e separatore.

Tocca Usa, poi Salva. Nella documentazione c’è di più sulle voci, compresi i codici monouso se vuoi tenere la 2FA nell’archivio.

Sincronizzare

Questa è l’unica cosa a cui devi abituarti: salvare una voce sul telefono non la manda da nessuna parte. Resta sul telefono finché non sincronizzi. Trascina verso il basso l’elenco, oppure usa il menu nella barra di ricerca e tocca Sincronizza repository.

Il menu dell'elenco con Sincronizza repository, Pull dal remote, Push sul remote, Impostazioni e Informazioni.

Se non vuoi pensarci, attiva Push dopo ogni modifica in Impostazioni, Repository. Sul computer la stessa cosa si fa con due comandi:

bash
1
2
pass git pull
pass git push

Sincronizza spesso, e sempre prima di modificare qualcosa su un altro dispositivo: due dispositivi che cambiano la stessa voce sono l’unico caso in cui git ha bisogno del tuo aiuto. La pagina sulla sincronizzazione spiega come uscirne.

Compilazione automatica

Copia e incolla funziona, ma compilare direttamente i login è molto più comodo. Apri Impostazioni, Compilazione automatica, attiva Attiva la compilazione automatica e scegli HardenedPass nella finestra di sistema. Si fida solo dei browser che conosce, e Firefox è quello con il supporto migliore. La pagina sulla compilazione automatica ha l’elenco completo.

Quando qualcosa va storto

Hai perso il telefono. Le tue voci sono cifrate e la chiave dentro l’app è protetta dalla passphrase, quindi niente panico. Vai sul sito del tuo provider e rimuovi la chiave SSH del telefono, così non può più raggiungere il repository, poi configura l’app sul nuovo telefono partendo dal backup. Se pensi che qualcuno possa avere anche la tua passphrase, leggi il punto successivo.

Pensi che ti abbiano rubato la chiave privata. Dai per scontato che le tue password verranno lette: crea una nuova chiave, cifra di nuovo l’archivio con pass init nuovo@example.org e cambia le password che contano, a partire dalla tua email. Passare a una nuova chiave non serve per le vecchie copie dei file, perché la cronologia di git le conserva.

Hai dimenticato la passphrase. Mi dispiace, ma la strada finisce qui. Nessuno può aiutarti, ed è proprio il senso della cifratura. Ecco perché sta su un foglio, in un cassetto, mentre la impari.

Hai perso la chiave e non hai un backup. Come sopra. Fai il backup della chiave.

Si è rotto qualcos’altro. Dai un’occhiata alla pagina di risoluzione dei problemi, e se è un bug fammelo sapere.

E adesso?

Ora hai un gestore di password che controlli del tutto, che non dipende da nessuna azienda e che funziona con qualsiasi strumento parli pass. Se domani smetto di lavorare su HardenedPass, le tue password sono ancora lì, ed è proprio il motivo per cui mi piace questo sistema.

Si può fare ancora di più per renderlo sicuro: l’autenticazione a due fattori sul tuo account git, chiavi limitate a un solo repository, nascondere i nomi delle voci, chiavi hardware. È un argomento a sé e ne parlerò in un prossimo articolo, per ora goditi il tuo nuovo archivio di password.

La documentazione completa ha tutti i dettagli su quello che abbiamo visto qui, e se ti blocchi da qualche parte, fammelo sapere.

Alla prossima 👋