In molte discussioni ritorna come off-topic l'argomento, per chi, visto che lo ritengo molto interessante e da approfondire, ho aperto una discussione dedicata.
Vorrei creare un confronto e avere consigli sulle pratiche migliori per gestire le proprie password/chiavi private/fattori di autenticazione nella vita quotidiana.
Premetto che fino a poco fa sono stato molto incosciente - come immagino molti,a devo dire anche che non avevo attività "critiche" da proteggere. Diventando grande e vedendo aumentare le responsabilità ho deciso di pari passo di rivedere i miei criteri di password management.
Inizialmente usavo la stessa password ovunque (da quando mi è stata generata automaticamente per il mio primo account su OGame), password del tipo [a-z0-9]{10}, molto molto male.
Successivamente, per rispondere ai requisiti dei siti ho fatto piccole variazioni sul tema a partire della stessa password, un simbolo là, una maiuscola qua.... Ancora molto molto male.
nota a margine, la password di base da cui ho generato le successive è nei db delle password compromesse da 5 anni, ma non ho dato troppo peso a questa cosa, visto che usavo variazioni malissimo!!!
Eccomi quindi negli ultimi mesi ad aver ripensato completamente la gestione delle mie credenziali. Sto cercando di implementare gradualmente le seguenti policy:
- Password diverse per ogni sito
- Una classe di password 'top secret', idealmente > 20 caratteri, con ogni simbolo ASCII permesso, disponibili solo su una serie di macchine 'fidate'.
- Una classe di password 'common use', idealmente > 13 caratteri, [A-Za-z0-9] e qualche simbolo, utilizzando l'opzione di pwgen per favorire la memorizzabilità, disponibili sulle macchine che uso e di cui ho accesso, eventualmente stampate su carta quello che devo usare sporadicamente su macchine non esclusive.
Ho scelto come soluzione pass e la sua interfaccia grafica QtPass, compatibili entrambi con Win e Linux. Praticamente pass
funziona creando un file di testo contente la password, e opzionalmente altri dati, per ciascuna utenza. Il file poi viene criptato con una o più chiavi pubbliche GnuPG e il processo è reso trasparente all'utente. Si possono creare più sottocartelle e in ciascuna definire, attraverso un file di testo, quali chiavi pubbliche saranno utilizzate per cifrare i password file all'interno. Se l'URL del sito compare nel nome del file o di una sottocartella,ci sono estensioni che possono proporre il completamento da browser.
Inoltre sempre in maniera trasparente questo tool può gestire la sincronizzazione delle password (criptate) con un repository git. Ho quindi:
- creato un repository git per le password su un server a casa mia, accessibile via SSH da tutte le mie macchine in locale o remoto
- ho creato il mio repository per le password con tre sottocartelle (Secure, Unsecure, Lavoro)
- ho generato su una macchina fidata una master key gpg con cui saranno cifrate le password in tutte e tre le cartelle
- ho messo sul repository la master key pubblica, per renderla disponibile a tutte le macchine (così possono aggiungere password)
- ho copiato manualmente la master key privata su macchine 'fidate' (partizione Linux cifrata del mio notebook, fisso a casa)
- ho generato una coppia di chiavi Insecure per la cartella corrisponde, lo stesso per Lavoro
- anche qui ho condiviso tra tutte le macchine le chiavi pubbliche e lasciato quelle private solo su quelle interessate (Insecure: notebook partizione win non cifrata, Lavoro: fisso in ufficio) - in questo modo posso aggiungere da qualsiasi macchina una password e sceglier esattamente quali classi di macchine possono vederla.
Dopo questa lunga descrizione i miei principali interrogativi restano:
- Ha senso tutto questo lavoro, quando un indirizzo email, molto spesso sufficiente per ottenere la reimpostazione della password, rappresenta un single point of failure per tutti gli utenti?
- Vorrei tanto aggiungere della 2FA, almeno per la casella di posta associata agli account più importanti, ma il telefono mi sembra qualcosa di troppo facile da perdere, e comunque un altro grosso single point of failure (account email associato, app 2FA e SMS). Inoltre sono spaventato dalla possibilità di un lockout completo da tutto il mondo digitale in occasione di spostamenti lontano da casa (viaggio anche spesso all'estero). Come potrei mantenere livelli di sicurezza alti sapendo che anche se mi ritrovassi in mutande in un aeroporto del Burundi con due spicci per un internet caffè potrei accedere almeno alla mia mail, rubrica o calendario? Chiedo troppo?
Scusate il post lungo ma penso possa essere un argomento utile per molti!