Questa è una copia dell'email che ho inviato a google, se la ritenete una buona idea fate pure un copia e incolla e inviatela pure voi sperando che venga implementata. Allora l'idea è legata ovviamente alla sicurezza relativa all'immisione della password, in modo da evitare il furto di password. La soluzione più ovvia sarebbe quella di avere una password “usa e getta”, però questa soluzione è molto scomoda in quanto richiede ogni volta di ricordare una password diversa (tale password può infatti essere utilizzata una sola volta per essere sicura). La mia soluzione è quella di creare una “password dell'account”(come quella che già si utilizza per accedere all'account) ed in più un algoritmo personalizzato (per personalizzato intendo dire che non si tratta di un algortmo valido per tutti, ma che è appunto viene costruito dal singolo utente); Ora quando viene effettuato l'accesso non si inserirà mai la “password dell'account”, ma si inserirà una “password d'accesso” che viene creata dall'utente attraverso l'algoritmo a partire dalla “password dell'account”. Questa soluzione come spiegherò subito dopo consente di inserire una passord diversa ad ogni accesso (definita “password d'accesso”) ricordando però una sola password (definita “password dell'account”), e ricordando ovviamente l'algortimo per generare una “password d'accesso”.
Per capire bene bisogna fare un esempio:
Definiamo una “password dell'account”:
Supponiamo che io scelgo come “password dell'account” la seguente: NaRa237 (: 7 caratteri con minuscole maiuscole e numeri) e chiamiamo con Xi l'i-esimo carattere della “password dell'account”: qundi X1=N, X2=a, X3=R, X4=a, X5=2 , X6=3, X7=7
A questo punto il secondo passo consiste nel creare l'algortmo che in questo caso può avere un massimo di 7 componenti (essendo 7 i caratteri della password di esempio scelta).
Al momento di inserire la “password d'accesso” il server visualizzerà una serie di caratteri (generati random) pari ad il numero dei componenti dell'algoritmo. Supponiamo in questo caso di avere un algoritmo di 7 componenti; avendo 7 componenti il server genererà 7 caratteri random, che possono essere ad esmpio:
1yjD78c
definiamo con Yi l'i-esimo carattere , quindi Y1=1, Y2=y, Y3=j, Y4=D, Y5=7, Y6=8, Y8=c.
Definiamo invece con Zi l'i-esimo “elemento” (elemento in quanto può essere composto da più di un carattere) della “password d'accesso”.
Procediamo alla definizione dell'algoritmo:
1) Se Y1 è un numero allora Z1=X1+Y1, se Y1=lettera allora Z1=X1+5; (in questo caso X1=N, Y1=1 → Z1=X1+Y1 =N+1=M)
2) Se Y2=lettera minuscola allora trasforma lettera in numero o viceversa (a=1,b=2, c=3 ,ecc..) in caso contrario Z2=X2+3 (in questo caso X1=a quindi Z1=1)
3) Se 0<Y3<5 allora Z3=X3; altrimenti Z3=X3-3 (in questo caso Y3=j, X3=R quindi Z3=X3-3=R-3=O)
4) Se f<Y4<z OR F<Y4>Z allora Z4=X4-5; altrimenti Z4=X4-2 (in questo caso Y4=D, X4=a quindi Z4=X4-2=a-2=y)
5) Se 3<Y5<8 allora Z5=X5; altrimenti Z5=X5+10 (in questo caso Y5=7, X5=2 quindi Z5=X5=2)
6) Se Y6=lettera Z6=X6-6; altrimenti Z6=X6+Y6+1 (in questo caso Y6=8, X6=3 quindi Z6= Z6=X6+Y6+1=3+8+1=12 (nota che Z6 ha due caratteri quindi la “password d'accesso” può anche risultare più lunga della “password dell'account”)
7) Se a<Y7<m OR A<Y7< M allora Z7=X7; altrimenti Z7=X7+7 (in questo caso Y7=c, X7=7 quindi Z7=X7=7)
quindi ricapitolando abbiamo:
password dell'account= NaRa237
codice random generato dal server=1yjD78c (viene ovviamente generato un codice diverso ad ogni login)
password d'accesso= M1Oy2127 (come si può notare la lunghezza può essere anche maggiore della lunghezza della “password dell'account”)
Quindi se anche un hacker riesce a rubare la password ruberà solo ed esclusivamente una “password d'accesso” e non riuscirà ad accedere al nostro account.
All'inizio risulta un pò complicato, ma con l'abitudine dovrebbe diventare abbastenza semplice, anchè perchè un utente può elaborare un algoritmo facile da applicare e allo stesso tempo difficile da scovare.