Generare e gestire password in tutta sicurezza

Software e Sistemi Operativi Visite: 3877
document_2 Generare e gestire password in tutta sicurezza
Vediamo alcune utilissime nozioni sulla generazione e manipolazione delle password.


PASSWORD SICURE?
Dal punto di vista software esistono diversi servizi che vi permettono di verificare se la password che state utilizzando è più o meno sicura.
Nel mio articolo Windows e l'OpenSource - Freeware trovate la recensione dell'ottimo Password Meter. Password Meter è sia un software che un servizio internet, che data una password, vi dice se è robusta o meno e vi indica come migliorarla. Di contro lo potete utilizzare anche per generare manualmente delle password sicure mediante metodologia try-and-error.

Un altro utilissimo servizio online lo trovate qui offerto dal sito www.windowsforus.com.
Questo servizio vi permette di generare password casuali sicure, tra le altre cose vi permette di generare password a partire da un nome e facili da ricordare.
Ad esempio se digiti facebook mi genera la password f@c3800k, password che in qualche modo ricorda la parola originaria.

Altra chicca, se andate a questo indirizzo howsecureismypassword.net trovate una pagina WEB minimale nella quale dovete semplicemente digitare la password che volete testare ed il sito vi dice in quanto tempo la password può essere craccata. Un modo come un altro per sapere se la vostra password è valida o no.


GESTIONE DELLE PASSWORD
Come gestire le password? Come tenerle al sicuro?
Nel mio articolo Windows e l'OpenSource - Freeware trovate la recensione dell'ottimo KeePass Password Safe. KeePass è un software gratuito, scaricabile sia nella versione installabile che nella versione portable che nella versione per cellulare.
KeePass è un software per la gestione delle proprie password in un archivio sicuro. Oltre alla gestione delle password fornisce tutti i meccanismi per poterle anche generare.

GENERARE LE PASSWORD CON UN PROGRAMMA JAVA
Se usate un programma java per la generazione delle password e soprattutto se usate la classe random fornita da Java fate attenzione! Innanzitutto dovete sapere che la classe randon genera numeri pseudo-casuali.
Il miglior metodo per usarla è il seguente:

SecureRandom seeds = new SecureRandom();
Random rand = new Random(seeds.nextLong());

Double nrTmpD = rand.nextDouble();

Ovvero, si usa la classe SecureRandom per generare un numero long random da dare in pasto alla classe Random come seeds. In questa maniera non si usa il currentTimeMillis di java e neanche il clock di sistema rendendo il tutto molto ma molto più sicuro.
Altro trucco, se non dovete generare una sola password ma un gruppo di password, mette tutte le password in un oggetto ArrayList e poi fate lo shuffle:

ArrayList<Integer> passwords = new ArrayList<Integer>(getPasswords());
Collections.shuffle(passwords);

Ho chiamato una generiche funzione getPasswords() che ritorna un ArrayList contenente le passwords generate. Il tutto viene passato alla funzione shuffle() della classe collection che non fa altro che "ri-mischiare le carte".

RIFERIMENTI
Alcune nozioni di base sulle password le potete leggere qui su wikipedia e in maniera più approfondita su wikipedia inglese qui.