Kako SSL komunikacija sigurno funkcionira?

U ovom blog postu objasnit ćemo osnovne koncepte i proces SSL komunikacije jednostavnim riječima koristeći stvarni primjer online kupovine.

 

Zašto je SSL potreban?

S obzirom na široku primjenu pametnih telefona i mogućnost povezivanja s internetom bilo kada i bilo gdje, što postaje dio naše svakodnevice, potreba za sigurnom zaštitom osobnih i financijskih podataka postala je važnija nego ikad. Nedavne velike povrede podataka jasno pokazuju koliko lako podaci koje prenosimo mogu biti izloženi putem mreže. U ovom okruženju, ako u adresnoj traci web-mjesta vidite "https://" umjesto "http://", to znači da je komunikacija između vas i web-mjesta osigurana, a jedna od ključnih tehnologija iza ove sigurnosti je SSL (Secure Sockets Layer).
Jednostavno rečeno, SSL je tehnologija koja šifrira podatke koji se prenose putem mreže kako bi ih zaštitila od prisluškivanja i neovlaštenog mijenjanja. Mnoge web stranice koriste HTTPS za sigurnu razmjenu podataka između korisnika i poslužitelja, a to je posebno važno pri razmjeni osjetljivih informacija, kao što je online kupovina ili internetsko bankarstvo.

 

Metode šifriranja: simetrični ključ i asimetrični ključ

Metode šifriranja se grubo dijele na metode sa simetričnim ključem i metode sa asimetričnim ključem. Šifriranje sa simetričnim ključem je metoda koja šifrira informacije pomoću jednog tajnog ključa i dešifrira ih pomoću istog ključa. Baš kao i odnos između brave i ključa u stvarnom životu, svatko tko zna ključ može pročitati šifrirani sadržaj. Ima prednosti velike brzine obrade i jednostavne implementacije.
Nasuprot tome, asimetrična enkripcija koristi drugačiji javni ključ za enkripciju i privatni ključ za dešifriranje. Izdavatelj stvara par javnog i privatnog ključa te široko distribuira javni ključ drugima. Budući da se sadržaj šifriran javnim ključem može dešifrirati samo odgovarajućim privatnim ključem, visoka razina povjerljivosti osigurana je ako se privatni ključ čuva na sigurnom. Međutim, izračuni su složeni, što rezultira relativno sporijim brzinama.
SSL kombinira snage i slabosti ove dvije metode. Asimetrična enkripcija koristi se za sigurnosno osjetljive, ali kratke računalne procese, kao što su autentifikacija poslužitelja i razmjena ključeva sesije, dok stvarni prijenos podataka koristi brzu simetričnu enkripciju ključa kako bi se postigla i učinkovitost i sigurnost.

 

Kako funkcionira SSL komunikacija – primjer korištenja internetske trgovine

Ispitajmo kako SSL funkcionira koristeći tipičan scenarij online kupovine. Pretpostavimo da studentica po imenu gđa. CM unosi svoje podatke za kupnju odjeće na web stranici za online kupovinu „12th Street“ i klikne gumb „Kupi“. Tijekom ovog procesa prenose se osjetljive informacije poput brojeva kreditnih kartica; ako je web stranica za kupovinu lažna i predstavlja se kao legitimna, podaci gđe. CM mogli bi biti ukradeni. Kako bi se spriječio ovaj problem, SSL prvo prolazi kroz fazu autentifikacije poslužitelja.
Početni proces kojim klijent (CM) i poslužitelj (12th Street) uspostavljaju vezu naziva se "rukovanje", tijekom kojeg međusobno provjeravaju status. Tijekom rukovanja, klijent šalje poruku poslužitelju u kojoj navodi da "želi sigurnu vezu", a poslužitelj prenosi svoj certifikat i javni ključ. Ovaj certifikat izdaje pouzdani izdavatelj certifikata (CA) i jamči da je javni ključ poslužitelja povezan s identitetom poslužitelja. Klijent provjerava certifikat kako bi potvrdio da ovaj javni ključ pripada originalnoj 12th Street, a zatim s povjerenjem nastavlja komunikaciju.
Sljedeći korak je proces dijeljenja ključeva koji će se koristiti za stvarnu šifriranu komunikaciju. Klijent generira token poznat samo objema stranama (npr. unaprijed dogovorenu tajnu vrijednost ili 'pre-master secret') i šifrira ga pomoću javnog ključa poslužitelja prije slanja. Poslužitelj ga dešifrira pomoću svog privatnog ključa kako bi dohvatio token, a obje strane koriste ovu vrijednost za generiranje simetričnih ključeva koji će se koristiti u sesiji. To osigurava da čak i ako prisluškivač presreće poruku usred, ne može generirati sljedeće simetrične ključeve bez tokena.
Ključevi sesije koji se zapravo koriste u SSL-u obično se dijele u četiri vrste. To su: ključ za šifriranje podataka koje šalje klijent, ključ za šifriranje podataka koje šalje poslužitelj, ključ za provjeru integriteta i podrijetla poruka koje šalje klijent i ključ za provjeru integriteta i podrijetla poruka koje šalje poslužitelj. Drugim riječima, sustav se sastoji od dvije vrste ključeva za šifriranje i dvije vrste ključeva za provjeru poruka, osiguravajući povjerljivost, integritet i autentičnost komunikacije.
U praksi, prilikom razmjene poruka, svaka strana dodaje vlastite podatke za provjeru podacima koje šalje, šifrira ih i prenosi. Primatelj dešifrira podatke i provjerava te podatke kako bi potvrdio da poruka nije izmijenjena ili krivotvorena tijekom prijenosa. Ovaj postupak sprječava da itko mijenja ili krivotvori poruku tijekom prijenosa.

 

Sažetak i osobne mjere opreza

Ukratko, SSL komunikacija je metoda koja autentificira identitet druge strane i šifrira podatke pomoću sesijskog ključa poznatog samo dvjema stranama. To sprječava treće strane da čitaju ili mijenjaju sadržaj podataka te provjerava i podrijetlo i integritet poruke. Međutim, metode napadača se nastavljaju razvijati, a sigurnosne tehnologije napreduju u skladu s tim.
U načinu života u kojem smo stalno povezani putem pametnih telefona, osobni podaci mogu biti široko raspršeni, a postoje mnogi slučajevi u kojima ovlaštene institucije ili pružatelji usluga legalno prikupljaju i koriste takve podatke. Uz napore za jačanje tehničke sigurnosti, ključno je da korisnici prepoznaju važnost svojih podataka i razviju naviku provjere je li stranica pouzdana.

 

O autoru