Stavo pensando a un modo per generare una password che sia facile da ricordare, ma difficile da decifrare, come la famosa "graffetta della batteria del cavallo corretta" suggerita da XKCD , anche discusso qui , e ho capito che non ho mai sentito il suggerimento di combinare parole di lingue diverse. Altre domande su questo sito riguardano la lingua inglese password o dizionari , ma non considerare la possibilità di mescolare i linguaggi, che è quello su cui mi sto concentrando.
Facciamo un esempio. La mia lingua madre è l'italiano. Se avessi tradotto le ultime due parole e avessi proposto "corretta graffetta a cavallo", non sarebbe stato molto più difficile da decifrare della frase inglese?
Molte persone hanno almeno una conoscenza di base di una seconda lingua, quindi dovrebbe essere facile per loro scegliere una parola straniera. Certo, se il loro livello è basso, è probabile che scelgano parole molto semplici (come "ciao", "gatto", "cane") che sarebbe facile indovinare, e questo sarebbe male. Ma escludendo questo caso, cioè assumendo che le parole scelte non siano completamente banali, questo suggerimento funzionerebbe? Fornirebbe password più forti, a parità di tutti gli altri (vale a dire: la lunghezza totale, la presenza di lettere minuscole / maiuscole, numeri e altri simboli, l'entropia ...)?
A mio parere l'efficacia di questa strategia dipende dall'attacco. Se è puramente forza bruta (cioè nessun dizionario), direi che è lo stesso. Ma se l'attacco è basato sul dizionario (come è probabile), questa tecnica non ostacolerebbe molti attacchi? Quanti dizionari ci sono che combinano le parole di più di una lingua? Penso che la mia frase di esempio "correggere graffetta a cavallo" sarebbe abbastanza difficile da indovinare.
Prendiamo questo approccio ancora di più e aggiungiamo un'altra lingua. "Cavallo" in italiano è "cavallo", e in tedesco è "Pferd" (con la P maiuscola, ma ignoriamolo e mantieni tutto in minuscolo). "Horse cavallo pferd" non sarebbe ancora più difficile? E questa è solo una parola tradotta in 3 lingue, che è probabilmente una pessima idea. Prendiamo 3 parole non correlate: finestra, squalo, albicocca. Che mi dici di "window squalo aprikose"? Penso che sarebbe davvero difficile da indovinare.
Naturalmente, questo è "sicurezza attraverso l'oscurità", cioè, questo metodo funziona bene se l'attaccante non sa che viene usato. Assumiamo il caso peggiore: ne è consapevole e sa persino quali lingue parlo. Chiaramente la mia idea sarebbe per lo più inefficace in questo caso, ma ancora: non sarebbe meglio che scegliere le parole da una sola lingua? L'utente malintenzionato sarebbe costretto a utilizzare un dizionario più grande e i suoi attacchi richiederebbero più tempo.
Per concludere: Penso che la creazione di una password combinando parole di lingue diverse possa ridurre notevolmente l'efficacia di un attacco di dizionario non mirato (e possibilmente contrastarlo completamente). Se, invece, l'attacco è mirato, il vantaggio è minore, ma d'altra parte non vi è alcun inconveniente. Pertanto, questo metodo può essere considerato un miglioramento rispetto al suggerimento di XKCD.
Ho ragione? È una buona idea adottare / raccomandare questa tecnica, o mi sto perdendo qualcosa?