Boing Boing sta supportando un'inziativa per la privacy online chiamata Reset the Net. Parte dell'iniziativa è consigliare l'uso di software per sicurezza. Uno di questi mi ha incuriosito per l'originalità dell'approccio: Master Password.

Master Password è un generatore di password particolare, perché non ha bisogno di memorizzare nulla. Una master password è una password unica e molto forte che l'utente deve ricordare per accedere a tutte la altre password. Solitamente la master password è usata per cifrare un database di password generate in modo casuale. In Master Password invece le password sono generate sempre uguali per la tripla master password, nome del sito, nome dell'utente. A partire da queste informazioni si può risalire alla password su ogni dispositivo, rendendo quindi inutile il salvataggio e la sincronizzazione di un database di password su ogni dispositivo.

Sono disponibili diversi template per la generazione della password, dal PIN numerico a quattro cifre fino alla password forte con caratteri, numeri e simboli.

In caso di necessità di cambiare una password, sia perché la vecchia è stata compromessa o per policy (molte aziende richiedono di cambiare periodicamente la password), è possibile specificare un parametro contatore. Non mi è chiaro però come si suppone che uno debba ricordare a quale indice di contatore è arrivato ciascun sito.

Esiste anche un modo per salvare in modo cifrato le password che non possono essere generate (ad esempio il PIN del bancomat).

In caso di necessità di cambiare master password, magari perché compromessa, è necessario cambiare le password in tutti i siti in cui si è utilizzato questo sistema, perché sarebbero compromesse anche loro. Bisogna quindi inserire ovunque la nuova password generata con la nuova master password.

Sarebbe interessante se ci fosse abbinato un piccolo database, magari criptato con la master password e condiviso tramite Dropbox o simili, in cui registrare tutti gli account.

Il sito fornisce solo la versione iOS e command line, ma il progetto è open source (ospitato su Git). Cercando masterpassword su Google Play si trovano una serie di app che funzionano su un principio analogo, ma mi sfugge se l'algoritmo sia esattamente lo stesso, ovvero se le password che vengono generate siano le stesse.
Appena riesco a mettere le mani su una versione Android lo proverò.

EDIT: sembra che la versione per Android sia in sviluppo: http://support.lyndir.com/topic/455635-please-make-an-android-and-pc-version/