Ideea de verificare vine din partea unui comentator ştiinţa.info care acuză precedentul articol de penibilitate pentru că există o frază ce suna cam aşa:
După care vor fi decodate parolele în funcţie de username, şi întoarse la client pentru verificare – ceea ce nu este tocmai greu, însă depinde foarte mult de encodarea lor. Dacă sunt pe md5, md4 – diferă.
Articolul este bazat pe ipoteze. Teoretic, nici dacă s-ar şti tipul de codificare folosit de către cei de la Yahoo nu s-ar fi publicat. MD5, MD4, Hexadecimale, Hash, etc – sunt simple exemple.
Revenind la subiect: un sistem server client funcţionează pe principiul schimbului de date. Permanent. Asta înseamnă că un utilizator se conectează printr-un client la server. Luând exemplul yahoo messenger-ului, el, adică utilizatorul, va trebui să introducă informaţii gen username şi password. În traducere – numele de utilizator şi parola.
După ce face asta, clientul trimite datele spre server. Pentru asta, informaţiile respective nu pot circula aşa cum au fost trecute. Fiind vorba de securitate, ele sunt codate (encodate). Trec pe linie, prin routere, până la server. Serverul decodifică informaţia, însă nu pe acelaşi limbaj de interfaţă, ci într-unul la fel de securizat. Teoretic nici cei de la Yahoo nu ar cunoaşte parola reală ci doar echivalentul ei codat, însă nu e neapărat să fie aşa.
Mai departe – informaţia verificată de server pleacă înapoi, într-o alta codificare. Circulă pe linie, prin routere şi ajunge la client. Acesta face verificare daca informaţiile trimise de server sunt corecte. Dacă e aşa, înseamnă că are acces şi poate intra pe contul respectiv fără nicio problemă.
Dacă nu e aşa, serverul incrementează un număr de greşeli şi trimite la client o informaţie prin care acesta va afişa: username şi parola greşit(e). Utilizatorul poate atunci să introducă din nou datele respective. Dacă sunt greşite iar, serverul mai face o incrementare. La un anumit număr de autentificări eşuate, contul respectiv poate fi blocat.
Şi cam ăsta ar fi un mecanism prin care s-ar baza, în mod logic, un sistem server client sau client server de tipul Yahoo Messenger. Dacă clientul nu va fi nevoit să facă decodificarea şi verificarea menţionată, datele ar fi reprimite într-un mod ce ar lăsa pe oricare ar folosi un software gen sniffer să vadă ce şi cum se retransmite.
Aşadar, cam cât de greşită ar fi acum expresia din articolul anterior?
Ca să nu uit – Iarăşi informaţiile folosite sunt ipotetice. (Nu voi intra in detalii despre coduri binare, transferul pe biti, pachete, etc)