Pagine

domenica 28 luglio 2013

Password Hasher Plus (mod) per Firefox, Una password sola per domarle tutte



Avete mai pensato che se vi registrate su un sito poco affidabile, potrebbe usare la password di registrazione per accedere ai vostri account?
Lo dicono sempre, per ogni sito va usata una password diversa, proprio come per le chiavi di casa, del garage, dell'ufficio e della macchina.

Il problema è che è difficile ricordarcele tutte, così finiamo per mettere la stessa password ovunque o usiamo al massimo due password diverse.

Una soluzione efficace è di generare tutte le password combinando il nome del sito con un'unica password principale mediante degli algoritmi di Hash.


Questo sistema ci garantisce che da una password generata non si possa risalire ne alla password principale, ne alle altre password generate.

Questa cosa si può realizzare mediante un' estensione per Firefox che si chiama Password Hasher (Plus per Chrome)
(vi mostrerò anche come modificare l'addon per Firefox in modo che funzioni in modo simile alla versione Plus)



Esiste in diverse versioni:

[per Firefox]   [per Chrome] [per Android]

Qui vi mostro la versione per firefox:

andate nel menu strumenti->componenti aggiuntivi
e andate su estensioni->password hasher->opzioni


Vi consiglio di disattivare "Mostra tasto Password Hasher" e "Mostra tasto rivela password" perchè anche se sono comodi, possono alterare il layout di alcune pagine. Per il resto configuratelo a piacimento.


Quando state per digitare una password per accedere ad un sito, posizionate il cursore del campo della password e premete ctrl + F6, oppure andate nel menu Strumenti -> password hasher.
A questo punto digitate la password principale e automaticamente il programma genererà una password specifica per il sito.

nel caso voleste cambiare la password di un sito, usate il tasto "varia"

che aggiungerà il carattere ":" seguito da un numero progressivo che aumenta ogni volta che premete "Varia". Ciò è sufficiente a far si che il programma a partire dalla stessa password principale, generi una password completamente diversa.

La versione per Google Chrome (ed anche l'app Android) ha una funzione in più:
Ovvero la "Private Key", che è una stringa che viene combinata con la password e in modo tale che se qualcuno scoprisse la vostra password principale, senza avere la Private Key non potrà in nessun modo generare le vostre password.

L'inconveniente è che dovete stare attenti a custodire gelosamente e accuratamente questa chiave, perchè nel caso la perdeste, non potreste più accedere a nessun sito sul quale avete usato il generatore di password.

A questo punto lascio una miniguida per i più smanettoni, ovvero come fare in modo che l'estensione per firefox usi la Private Key.

NB. la seguente procedura è testata con password hasher 1.1.7, nel caso dovesse aggiornarsi il plugin (volendo potete impostare gli aggiornamenti manuali) bisognerà ripeterla o modificarla.

chiudete firefox
Individuate il percorso che contiene il profilo di firefox:

su linux:
~/.mozilla/firefox/[caratteri a caso].default/

su windows 7:
C:\users\[tuo utente]\AppData\Roaming\Mozilla\Firefox\Profiles\[caratteri a caso].default\


Poi a partire dal percorso del profilo andate nella cartella extensions/passhash@mozilla.wijjo.com/chrome/content/

nella quale sono contenuti i file che ci interessano:
passhash-dialog.js
passhash-portable.js

ovviamente sostituite nei codici di seguito
09B0B0A8-F8A8-43DE-9ACA-2DD4E6DFDA0D
con la vostra private key, potete farne generare una nuova a google crome
oppure Scriverla voi, basta che rispettate i trattini e usate solo lettere maiuscole dalla A alla F e numeri da 0 a 9.

Modifichiamo il file:
passhash-dialog.js
alla riga 245 dopo "var hashWordOrig = ctlHashWord.value;"
aggiungete il seguente codice:

//----------- MY MOD BEGIN HERE !!! ------------------------

       
        var newTag = PassHashCommon.generateHashWord (
            "09B0B0A8-F8A8-43DE-9ACA-2DD4E6DFDA0D",
            ctlSiteTag.value,
            24,
            true, // require digits
            true, // require punctuation
            true, // require mixed case
            false, // no special characters
            false // only digits
        );
       
        ctlHashWord.value = PassHashCommon.generateHashWord(
                newTag,
                ctlMasterKey.value,
                this.hashWordSize,
                this.requireDigit,
                this.requirePunctuation,
                this.requireMixedCase,
                this.restrictSpecial,
                this.restrictDigits
        );
               
//----------- MY MOD END HERE !!! -------------------------
E salvate.

Modifichiamo il File:
passhash-portable.js
alla riga 72 dopo "else if (document.getElementById("s26").checked) hashWordSize = 26;"
aggiungiamo il seguente codice:

//----------- MY MOD BEGIN HERE !!! -------------------------------------
       
        var newTag = PassHashCommon.generateHashWord (
            "09B0B0A8-F8A8-43DE-9ACA-2DD4E6DFDA0D",
            siteTag.value,
            24,
            true, // require digits
            true, // require punctuation
            true, // require mixed case
            false, // no special characters
            false // only digits
        );
       
        hashWord.value = PassHashCommon.generateHashWord(
                newTag,
                masterKey.value,
                hashWordSize,
                requireDigit,
                requirePunctuation,
                requireMixedCase,
                restrictSpecial,
                restrictDigits
        );
       
//----------- MY MOD END HERE !!! ---------------------------------------
e salvate.

A questo punto avviate firefox e vedrete che se mettete la stessa private key su chrome o sulla app android avrete le stesse password.

andate nel menu strumenti->componenti aggiuntivi
e andate su estensioni->password hasher->opzioni


usate il tasto "crea password html" per generare una pagina html che potete mettere ovunque, anche su una chiavetta usb, nella quale c'è il software per generare le vostre password e la private key memorizzata dentro.

può essere utile conservare questo file, così in caso di problemi, avrete sempre la possibilità di accedere alle vostre password.