Sunday, 28 August 2011

Ma google conosce la mia password? Articolo semi-tecnico

Articolo semi-tecnico, e probabilmente assolutamente errato con il quale tratto, da neofita, un argomento che forse ha incuriosito anche voi.

La domanda che mi è stata posta è la seguente: Google conosce la mia password di gmail?

Il senso di tale quesito probabilmente può formularsi meglio chiedendo se nei server di google siano salvate le nostre password così come noi le scriviamo durante il login.

La risposta credo sia ... no!

Immagino lo stupore, forse lo scetticismo nel lettore a questo punto: come è possibile, vi chiederete, che google non conosca la mia password, se poi è proprio esso a darmi accesso ai suoi servizi solo se io la fornisco?

Semplice: quando noi immettiamo la nostra parola segreta, questa viene trasformata, tramite un algoritmo crittografico chiamato MD5, in una stringa alfa-numerica a 128 bit (ovvero una delle numerose combinazioni di 0 o 1 che contano 128 caratteri ... le quali sono 2^128, ovvero circa 340 miliardi di miliardi di miliardi di miliardi ...).

Questo procedimento, altamente non lineare, non invertibile e solo aggirato con un approccio brute-force estremamente costoso in termini computazionali, avviene, questo è il punto fondamentale, in locale, ovvero sulla nostra macchina.

Noi dunque recapitiamo a google non la nostra password, ma quella detta stringa a 128 bit, ovvero la sua 'trasformata MD5'.

Ad esempio, supponiamo che la password immessa via tastiera sia 'GoogleHaLaMiaPassword'. Quello che viene spedito a google è la sua 'trasformata MD5', ovvero '13a8b542ac8c30166cc9879f27e3459d'.

Ad ogni successivo login, sempre la stessa operazione, su ogni computer, viene eseguita sulla nostra password, e google fa un confronto tra le stringhe alfanumeriche sottomesse ad ogni sessione, dando accesso solo se le due trasformate sono identiche (il che ovviamente significa che non è necessario immettere la password esatta, ma una delle moltissime che sono associate alla medesima trasformata ... interessante, no?).

Supponiamo ora che un maramaldo per caso riesca ad intrufolarsi sui server di google e a fare incetta di queste stringhe: il furfante non riuscirebbe comunque ad accedere alle nostre caselle di posta.

Mentre infatti passare da input a output (ad esempio 'GoogleHaLaMiaPassword'->'13a8b542ac8c30166cc9879f27e3459d') è elementare, ed è proprio l'algoritmo MD5 a farlo, passare da output a input è davvero difficilissimo, e quindi il ladruncolo, che avrà fra le mani '13a8b542ac8c30166cc9879f27e3459d' non riuscirà a risalire tanto facilmente a 'GoogleHaLaMiaPassword'. Ovviamente, usando '13a8b542ac8c30166cc9879f27e3459d' come password, su google manderebbe la sua trasformata, che è 'd8f4e421a7956e6c1673c62d4510b36b'.

La situazione comunque non è rosea quanto si potrebbe credere.

C'è da dire infatti che negli ultimi anni dei farabutti matricolati hanno pubblicato su internet una collezione sterminata di coppie 'password', 'trasformata tramite MD5 di 'password': l'utilizzo quindi di parole chiave 'semplici', ad esempio nomi di persona, o date di nascita, è sconsigliato poichè di queste è nota detta coppia, e quindi in caso di accesso ai server e furto delle password crittate si possa risalire alle password autentiche.

Ad esempio, provate a cercare su google questa stringa: 27cc87dd4a4b49021c8953e8d41ef312 ...

Altri sistemi inoltre posso carpire direttamente la nostra password installando un piccolo programma che registra i comandi impartiti via tastiera, e li invia in chiaro al malandrino di turno.

Direi che è decisamente meglio se parlo di malattia, dolore, donne, paesaggi, avventure e incubi, vero?

2 comments:

  1. Sì, gliel'ho data io...

    :D

    ReplyDelete
  2. Niente Foche Fritte collega per me ;-)

    ReplyDelete