Cand ne gandim la o aplicatie/site/magazin pe web, ne gandim direct la faptul ca ele lucreaza cu date personale. Fie ca vorbim de adresa de mail si parola, sau chiar adresa unde locuiesti sau date despre cardul tau de cumparaturi, sunt date personale care nu ar trebui sa ajunga pe mainile cui nu trebuie. Prin urmare, atat noi ca developeri/administratori cat si un utilizator, putem spune ca securitatea este prioritara cand avem de-a face cu datele personale pe net.
Ce este SSL, pe scurt? SSL este un protocol securizat de transmis/primit date, asemanator cu HTTP. Tot conceptul de SSL si encriptie bazata pe certificate de securitate este destul de complicat, dar nu atat de greu de inteles.
Daca ai un site sau un magazin online, s-ar putea sa te ajute informatiile de mai jos sau poate esti in cumpana daca merita sau nu sa achizitionezi un certificat SSL(sumele nu sunt fabulos de mari pentru un SSL de baza, pe un domeniu). Incerc sa explic in termeni cat mai usor de inteles toata ideea si procesul de SSL. Sa incepem!
Ce este SSL?
SSL vine de la Secure Socket Layers. Este un proces in care datele dintre utilizator si server sunt criptate si decriptate, astfel incat un atacator sa nu poata patrunde in conexiune pentru a fura date. Prin acest proces este verificata atat identitatea ta cat si a serverului web care gazduieste aplicatia/site-ul pe care il accesezi – iar apoi datele transmise intre client/server sunt criptate si pot fi citite corect doar de server si de client. Face acest lucru folosind certificate. Aceste certificate contin numele detinatorului, o serie, data de expirare, o cheie publica folosita pentru encriptie si una privata pentru a decripta informatiile(de obicei aceasta vine din partea serverului).
(daca vrei sa afli mai multe despre cum iti pot fi furate datele, un exemplu de cautat pe Google ar fi atacurile de tip ‘man in the middle’)
Tot procesul acesta de verificare si criptare/decriptare se intampla extrem de rapid, viteza de navigare a utilizatorului nefiind afectata intr-un mod sesizabil. Site-urile cu un certificat valid SSL, vor putea fi accesate prin prefixul https://, iar cele care nu au, in momentul in care se incearca accesarea lor tastand https:// in loc de http://, utilizatorul va fi avertizat de browser cum ca sesiunea nu este una securizata, serverul ce gazduieste site-ul neavand un certificat SSL prezent sau valid. De asemenea, in momentul in care suntem conectati la un site securizat, avem in bara de adrese web un mic lacat verzui/auriu pe care poti da click pentru detalii – vezi pozele de mai jos.
Cum functioneaza SSL?
Am stabilit faptul ca SSL-ul se comporta ca un pasaport digital si verifica identitatea ta, dar si a serverului care gazduieste site-ul pe care incerci sa il accesezi. Ok, dar cum se intampla asta si cum de este atat de in siguranta tot procesul?
Cand un browser/client acceseaza un site securizat, serverul trimite o cheie criptata cu algoritmul public, unica pe sesiune, clientului pentru a stabili o metoda de criptare. Daca clientul/browserul recunoaste si are incredere in certificatul SSL si cel care l-a emis, transmite cheia criptata serverului pentru a incepe o sesiune securizata care protejeaza toate datele transmise intre server si client. Cheia primita de server este decriptata de server folosindu-se de o cheie privata si incepe sesiunea securizata. Tot procesul asta este cunoscut ca si SSL handshake.
Criptarea cheii publice transmise intre client/server este de obicei realizata prin metode de criptare simetrice(ex: AES) la 128/256biti, iar cheia privata de pe server, prin RSA(metoda de criptare asimetrica – de 2048biti de obicei). In principiu mentionarea bitilor in care datele sunt criptate sunt mai mult replici de marketing care sunt formulate sa sune impresionant – important este modul in care este implementata tehnologia. De fapt, cei care elibereaza certificate vor sa spuna ca folosesc SSL intr-un mod mai destept; adica, se asigura ca cifrul simetric folosit in criptare nu este veriga slaba. Dar, riscurile majore nu sunt neaparat in aceasta parte deci nu ar trebui sa te pierzi in astfel de detalii. In principiu inseamna ca nu au ales o configuratie usor de spart.
Ideea din spatele folosirii a doua metode de criptare, cea simetrica respectiv cea asimetrica, este in viteza. RSA(criptarea asimetrica) este mult mai incet(mult!), asa ca are mai mult sens ca datele rapide sa fie criptate printr-o metoda simetrica atat cat este necesar pentru a stabili conexiunea. Astfel, este asigurata atat securitatea datelor cat si viteza de transmisie a acestora.
Mai jos, este o diagrama care explica pe scurt ce se intampla in momentul in care se realizeaza o conexiune si un transfer de date prin HTTPS.
De ce as vrea un certificat SSL pentru site-ul meu?
In primul rand, daca ai un magazin online si faci tranzactii cu cardul este obligatoriu sa ai activ un certificat SSL, deoarece datele transferate sunt mult prea importante pentru a neglija securitatea acestora. Parerea mea este ca orice magazin online ar trebui sa aiba activ un astfel de certificat, si nu numai. Si noi, pe sinnersprojects.ro, avem activ un certificat SSL de la Comodo. De ce? Pentru ca oferind un grad ridicat de securitate(in cazul nostru ne-am focusat pe paginile cu formulare – prin intermediul carora clientii ne transmit date), arati clientului si utilizatorului ca iti pasa de securitate si esti de incredere.
De obicei, cand achizitionezi un certificat SSL primesti si un badge(o icoana) ce o poti afisa pentru a arata vizitatorilor ca site-ul pe care navigheaza are si o versiune https://, si ca sunt in siguranta cand folosesc site-ul tau. De asemenea, Google a anuntat ca iau in considerare certificatele SSL ca pe un factor pozitiv in ceea ce priveste SEO-ul.
Concluzii
Siguranta sporita, mai multa incredere de la clienti, un mic boost de SEO(ramane de vazut cat e de mare)…ce mai vrei? Eu sunt de parere ca in momentul in care ajungi la un anumit trafic sau esti intr-o anumita nisa, SSL-ul devine obligatoriu. Sunt de parere ca orice site care se ia in serios, trebuie sa investeasca in securitate.
SSL-ul este unul din punctele care nu dureaza mult sa il implementezi, si vine complementar altor practici bune pentru securitate. Un administrator nu ar trebui sa considere SSL-ul ca singurul lucru necesar pentru o securitate buna a serverului si a datelor, iar un utilizator nu ar trebui sa presupuna ca daca site-ul are activ un certificat SSL, isi poate pune parola 1234 la contul sau si totul este roz.
Sper ca ai inteles in mare ce este SSL. Daca ti-a fost util articolul sau ai un amic care crezi ca ar aprecia informatiile, da-ne un share si un like! Daca ai ceva de adaugat, astept comentariul tau in partea de mai jos a paginii.
nota: Cele mai bine vazute si recomandate certificate SSL sunt cele de la: Comodo, Symantec, GeoTrust, GlobalSign, Digicert, GoDaddy si Truste. Consultati-va cu cei care va gazduiesc site-ul sau magazinul online pentru a va usura procesul, daca nu va descurcati. Desi nu ne ocupam cu gazduire, toti clientii nostri au ajutor din partea noastra si in configurarea de certificate SSL si trecerea totala pe https:// indiferent de CMS/platforma sau host.