You are on page 1of 10

SSL ( Secure Sockets Layer )

Većina trgovine na Internetu se temelji na SSL protokolu. Zadatak ovog protokola


je uspostavljanje sigurne komunikacije između klijenta i servera na primer, Web
servera i Browsera. Zadatak SSL protokola je da ostvari zaštićeni prenos
podataka kroz mrežu. SSL obezbeđuje mehanizme za identifikaciju servera,
identifikaciju klijenta i šifrovanu razmenu podataka između njih.
SSL obezbeđuje tri svojstva zaštite:
• Privatnost – Podaci šifrovani simetričnim algoritmom (DES, RC4)
• Provera identiteta – Identitet se proverava javnim ključem koristeći RSA
• Integritet – Za proveru primljenih podataka koristi se SHA ili MD5
SSL ( Secure Sockets Layer )

SSL je smešten iznad transportnog sloja, a ispod aplikacionog. Pošiljalac


prima poruku sa aplikacionog sloja, rastavlja je na delove koji se šifruju,
zatim dodaje kontrolni broj i eventualno komprimuje te delove. Na drugoj
strani primalac prima delove poruke, po potrebi ih dekomprimuje, proverava
kontrolne brojeve, dešifruje i šalje ih ka aplikacionom sloju. SSL protokol je
nezavisan od aplikacionog sloja. SSL se sastoji od dva “podprotokola”

• SSL Handshake – uspostavljanje sesije koja omogućava klijentu i serveru


međusobnu identifikaciju i odabir algoritma i ključeva
• SSL Record – šifrovanje i prenos poruka
SSL ( Secure Sockets Layer )

Pri uspostavljenju zaštićenog prenosa SSL zahteva identifikaciju servera. To


se događa pri uspostavljanju sesije slanjem sertifikata. Za identifikaciju se
koristi javni ključ i digitalni potpis servera. Posle identifikacije razmena
podataka odnosno šifrovanje se vrši uz upotrebu simetričnog algoritma.
Sertifikaciono telo može da posluži za izdavanje sertifikata, ali komunikacija
sa CA serverom nije deo protokola SSL. Uspostavljanje sesije između
klijenta i servera može da se vrši i bez identifikacije između klijenta i
servera, pri čemu je sigurnost podataka koji se prenose na znatno nižem
nivou.
SSL poruke
Komunikacija između klijenta i servera se odvija uz pomoć poruka. Poruke
odnosno njeni formati su unapred definisani:

• Alert – obaveštava entitete u komunikaciji o mogućem sigurnosnom


propustu ili grešci u komunikaciji
• ApplicationData – podaci koje dve strane razmenjuju, šifrovani su,
autentifikovani i verifikovani su od strane SSL-a
• Certificate – poruka koja prenosi sertifikat sa javnim ključem
• CertificateRequest – zahtev servera klijentu za klijentovim sertifikatom
• CertificateVerify – poruka kojom klijent potvrđuje da ima tajni ključ koji
odgovara javnom ključu u sertifikatu
SSL poruke
• ClientHello – poruka od strane klijenta kojom obaveštava server o
sigurnosnim servisima koje želi i koje podržava
• ClientKeyExchange – klijentova poruka koja sadrži kriptografske ključeve
za komunikaciju
• Finished – obaveštenje da su svi koraci pregovora gotovi i da je
uspostavljena sigurna komunikacija
• HelloRequest – zahtev servera klijentu za početak pregovora oko
sigurnosnih parametara u komunikaciji
• ServerHello – poruka kojom server javlja koji će sigurnosni servisi biti
korišćeni
• ServerHelloDone – obaveštenje servera da je poslao sve zahteve klijentu
za uspostavljanje komunikacije
• ServerKeyExchange – poruka servera koja sadrži kriptografske ključeve za
komunikaciju
Opis postupka
• Klijent šalje ClientHello poruku predlažući parametre za SSL komunikaciju
• Server odgovara sa ServerHello porukom i bira parametre
• Server šalje svoj javni ključ u ServerKeyExchange poruci
• Server zaključuje svoj deo pregovora sa ServerHelloDone porukom
• Klijent šalje ključ šifrovan javnim ključem servera u ClientKeyExchange
poruci
• Klijent šalje ChangeCipherSpec poruku da bi aktivirao sigurnosne opcije za
sve buduće poruke
• Klijent šalje poruku Finished i javlja serveru da proveri nove opcije
• Server šalje ChangeCipherSpec poruku kako bi aktivirao sigurnosne opcije
za sve buduće poruke
• Server šalje poruku Finished i javlja klijentu da proveri nove opcije
SSL zapisi

SSL protokol podatke prima sa višeg sloja u blokovima proizvoljnih


dužina, šifruje i kao takve šalje drugom entitetu u komunikaciji.
Primljeni podaci se dele na blokove. Svi delovi protokola za zapise
se komprimuju sa algoritmom koji je dogovoren prilikom uspostave
sesije. Podaci se ne smeju gubiti tokom kompresije. Podaci se zatim
štite simetričnim algoritmom koji je opet dogovoren prilikom
uspostave sesije. Posle šifrovanja i komprimovanja delova poruke
dodaje se MAC vrednost. Tako šifrovani delovi poruke su spremni
za slanje. Na drugoj strani primalac dešifruje delove poruke
izračunava MAC vrednost i upoređuje je sa vrednostima koje je
dobio od strane pošiljaoca. Ukoliko su vrednosti identične poruka se
prihvata. U suprotnom poruka se vraća uz izveštaj o grešci.
Moguće greške u SSL protokolu

• Neispravna MAC vrednost – prekid veze, sumnja na napad

• Greška prilikom dekomprimovanja delova poruke

• Greška pri uspostavljanju sesije – neusklađeni predloženi atributi zaštite

• Neočekivana poruka – prekid veze

• Neodgovarajući parametri koji se odnose na sertifikate – nevažeći sertifikat,


nepodržavanje sertifikata od strane protokola ili nepostojanje istog
Man-in-the-middle
Ova vrsta napada je oblik narušavanja sigurnosti u kome se napadač smesti
između dve strane koje komuniciraju i zatim presreće i modifikuje podatke
koji se šalju. Postoje dve vrste ovakvih napada. Jedna vrsta se odnosi na
takozvane pasivne napade gde se karakteristika ovakvih napada ogleda u
prisluškivanju. Drugi oblik i znatno opasniji se odnosi na uspešno
presretanje sigurne komunikacije između dve osobe i izmena podataka koji
se razmenjuju. Ovakvu vrstu napada opisaćemo na primru Boba i Alise koji
žele tajno da razmenjuju informacije. U trenutku kada Bob šalje Alisi svoj
javni ključ, napadač presreće poruku i Alisi dalje šalje svoj javni ključ. Alisa
ne sluteći da se odvija napad uzima dobijeni ključ, za koji misli da je Bobov
javni ključ, te u nastavku komunikacije nazad šalje svoj javni ključ. Napadač
zatim ponovo presreće poruku i svoj javni ključ prosleđuje Bobu. Bob za
dobijeni ključ predpostavlja da je Alisin i počinje komunikaciju koristeći taj
ključ, ne sluteći da nije Alisin. Sve dalje poruke napadač presreće, dešifruje
i po želji menja, a da ni Bob ni Alisa nisu svesni toga. U slučaju SSL
protokola postoje mnoge mogućnosti za izvođenje napada sa čovekom u
sredini. Korisnik koji želi da razmeni šifrovane fajlove može biti preusmeren
raznim tehnikama. Primera radi može se izvršiti napad na privremeni sloj
protokola za razreševanje IP adresa, zavaravanje DNS-a i sl.
Primena SSL-a

Najčešće se koristi pri plaćanju kreditnom karticom. Za ovakve transakcije


SSL nudi zadovoljavajući nivo sigurnosti. SSL omogućava proveru
integriteta pomoću sertifikata. Koristi asimetričnu i simetričnu kriptografiju.
Za uspešnost SSL protokola važan je davaoc sertifikata, odnosno
sertifikaciono telo. Korisnici veruju sertifikatima koji su najčešće izdati od
strane poznatih kompanija koje se bave distribucijom istih. Atributi
uspostavljeni tokom sesije se menjaju usled neaktivnosti sagovornika u
zaštićenoj komunikaciji. SSL je relativno brzo postao standard za sigurnu
komunikaciju.

You might also like