Documentazione
In questa pagina
Concetti
HardenedPass si basa su tre strumenti. Non serve padroneggiarli, ma sapere cosa fa ciascuno rende facili da seguire tutte le altre pagine.
pass: un file per ogni password
pass è un gestore di password per sistemi Unix. Non ha un database: ogni password è un piccolo file cifrato, e le cartelle le raggruppano. Questo albero di cartelle si chiama archivio.
|
|
Una volta decifrata, una voce è testo semplice. La prima riga è la password, tutto quello che sta sotto sono informazioni aggiuntive:
|
|
HardenedPass legge queste righe e le mostra come campi separati. Qualsiasi programma
che capisce pass può aprire lo stesso archivio, quindi le tue password non restano
mai bloccate dentro questa app.
OpenPGP: il lucchetto su ogni file
Ogni voce è cifrata con OpenPGP, usando una coppia di chiavi:
- La chiave pubblica chiude i file. Non è segreta.
- La chiave privata li apre. Non lascia mai i tuoi dispositivi.
- La passphrase protegge la chiave privata: una copia del file della chiave, da sola, non serve a nulla a chi la trova.
Il file .gpg-id, in cima all’archivio, dice per quali chiavi sono cifrate le voci.
git: sincronizzazione e cronologia
Git registra ogni modifica all’archivio e la copia tra i dispositivi attraverso un remote, cioè un repository su un server. Modifichi una voce sul telefono, l’app registra la modifica e la invia al remote, e gli altri dispositivi la scaricano da lì. Le vecchie versioni restano nella cronologia, quindi un errore si può annullare.
Il server contiene solo file cifrati, ma ne può leggere i nomi. Chi lo gestisce può
vedere che hai una voce chiamata example.org. Usa un repository privato, su un server
di cui ti fidi.
Come si incastra il tutto
- Su un computer crei una coppia di chiavi, un archivio e un remote.
- Sul telefono, HardenedPass clona l’archivio dal remote.
- Importi la chiave privata nell’app.
- L’app decifra le voci quando le apri e sincronizza le modifiche con git.