SSL protokol
PANEVROPSKI UNIVERZITET APEIRON
PANEVROPSKI UNIVERZITET APEIRON
FAKULTET POSLOVNE INFORMATIKE
FAKULTET POSLOVNE INFORMATIKE
Redovne
Redovne
studije
studije
Smer
Smer
„
„
Informatički inžinjering
Informatički inžinjering
”
”
Predmet
Predmet
ZAŠTITA RAČUNARSKI I POSLOVNIH
ZAŠTITA RAČUNARSKI I POSLOVNIH
SISTEMA
SISTEMA
„SSL protokol
„SSL protokol
”
”
(seminarski rad)
(seminarski rad)
Predmetni nastavnik
Predmetni nastavnik
Prof. dr Milan Marković
Student
Student
i
i
student
student
Index br.:161-08/RPI
Index br.:161-08/RPI
Sadržaj
...............................................................
...............................................................
2.1.Opšti prikaz SSL protokola
2.1.Opšti prikaz SSL protokola
...........................................................
...........................................................
.........................................................................
.........................................................................
...............................................................
...............................................................
2.4.SSL ChangeCipherSpec protokol
2.4.SSL ChangeCipherSpec protokol
................................................
................................................
....................................................................
....................................................................
........................................................................
........................................................................
3.Slabosti i ranjivosti SSL protokola
3.Slabosti i ranjivosti SSL protokola
...................................................
...................................................
3.1.Korisnička ubeđenja i pretpostavke
3.1.Korisnička ubeđenja i pretpostavke
.........................................
.........................................
3.2.Lista organizacija za izdavanje potvrda
3.2.Lista organizacija za izdavanje potvrda
...................................
...................................
.....................................................
.....................................................
.............................................................
.............................................................
3.5.Cipher suite - povratni napad
3.5.Cipher suite - povratni napad
....................................................
....................................................
3.6.Problem male dužine ključeva
3.6.Problem male dužine ključeva
...................................................
...................................................
.................................................................................
.................................................................................
4.1.SSL bazirane virtuelne privatne mreže (VPM)
4.1.SSL bazirane virtuelne privatne mreže (VPM)
4.2.On-line plaćanje kreditnim karticama
4.2.On-line plaćanje kreditnim karticama
......................................
......................................
..................................................................................
..................................................................................
......................................................................
......................................................................
...............................................................................................
...............................................................................................
1.http://fly.srk.fer.hr/~peloquin/SSL/ssl.html
1.http://fly.srk.fer.hr/~peloquin/SSL/ssl.html
....................................

podataka- to jest, kada neki proces preda poruku u soket protokola UDP, nema
podataka- to jest, kada neki proces preda poruku u soket protokola UDP, nema
garanciju da će ta poruka zaista stići do prijemnog procesa.
garanciju da će ta poruka zaista stići do prijemnog procesa.
2.Funkcionalni opis protokola
2.Funkcionalni opis protokola
2.1.Opšti prikaz SSL protokola
2.1.Opšti prikaz SSL protokola
Secure Sockets Layer (SSL) je protokol za sigurno slanje poruka (komuniciranje)
Secure Sockets Layer (SSL) je protokol za sigurno slanje poruka (komuniciranje)
putem Interneta, koji omogućuje slanje poverljivih podataka (npr. broj kreditne
putem Interneta, koji omogućuje slanje poverljivih podataka (npr. broj kreditne
kartice) putem Interneta u šifrovanom i sigurnom obliku. SSL protokol ostvaruje
kartice) putem Interneta u šifrovanom i sigurnom obliku. SSL protokol ostvaruje
poseban komunikacioni sloj, koji je smešten na pouzdan transportni sloj (npr.
poseban komunikacioni sloj, koji je smešten na pouzdan transportni sloj (npr.
TCP/IP), dok se na SSL smešta aplikacijski sloj. Od aplikacijskog sloja prima
TCP/IP), dok se na SSL smešta aplikacijski sloj. Od aplikacijskog sloja prima
poruku koju treba poslati, rastavi je u manje delove prikladne za šifrovanje,
poruku koju treba poslati, rastavi je u manje delove prikladne za šifrovanje,
dodaje kontrolni broj, šifruje, eventualno kompresuje, a zatim te delove pošalje.
dodaje kontrolni broj, šifruje, eventualno kompresuje, a zatim te delove pošalje.
Primalac primi delove, dekompresuje, dešifruje, proveri kontrolne brojeve,
Primalac primi delove, dekompresuje, dešifruje, proveri kontrolne brojeve,
sastavi delove poruke, pa ih preda aplikacijskom sloju. Na taj način se putem SSL-
sastavi delove poruke, pa ih preda aplikacijskom sloju. Na taj način se putem SSL-
a ostvaruje zaštićeni kanal prenosa kroz mrežu. Ukoliko su klijent i server
a ostvaruje zaštićeni kanal prenosa kroz mrežu. Ukoliko su klijent i server
neaktivni duže vreme ili razgovor sa istim atributima zaštite potraje predugo,
neaktivni duže vreme ili razgovor sa istim atributima zaštite potraje predugo,
atributi se menjaju.
atributi se menjaju.
SSL protokol je dizajniran i napravljen od Netscape Communications korporacije,
SSL protokol je dizajniran i napravljen od Netscape Communications korporacije,
da bi bio korišćen sa Nescape Navigatorom. Prva verzija, 1.0, je razvijena 1994.
da bi bio korišćen sa Nescape Navigatorom. Prva verzija, 1.0, je razvijena 1994.
godine, meĐutim, to je bila samo probna verzija korišćena unutar ove
godine, meĐutim, to je bila samo probna verzija korišćena unutar ove
korporacije. Verzija 2.0 je bila prva koja je izdata u javnost i koja je isporučivana
korporacije. Verzija 2.0 je bila prva koja je izdata u javnost i koja je isporučivana
sa Netscape Navigatorom, verzijama 1 i 2. Posle verzije SSL 2.0, Microsoft je izdao
sa Netscape Navigatorom, verzijama 1 i 2. Posle verzije SSL 2.0, Microsoft je izdao
svoju verziju ovog protokola, koja je imala naziv PCT. Najnovija verzija SSL 3.0, je
svoju verziju ovog protokola, koja je imala naziv PCT. Najnovija verzija SSL 3.0, je
uključila sva poboljšanja Microsoftovog PCT-a, i time uklonila slabosti verzije SSL
uključila sva poboljšanja Microsoftovog PCT-a, i time uklonila slabosti verzije SSL
2.0. U to vreme je, Internet Engineering Task Force (IETF) Transport Layer
2.0. U to vreme je, Internet Engineering Task Force (IETF) Transport Layer
Security (TLS) grupa, koja je formirana 1996. godine, napravila otvoreni standard
Security (TLS) grupa, koja je formirana 1996. godine, napravila otvoreni standard
za šifrovanje zasnovan na SSL-u 3.0. Ovaj protokol je nazvan TLS verzija 1.0, i
za šifrovanje zasnovan na SSL-u 3.0. Ovaj protokol je nazvan TLS verzija 1.0, i
objavljen je 1999. godine na RFC 22461. Očekuje se da će TLS protokol biti
objavljen je 1999. godine na RFC 22461. Očekuje se da će TLS protokol biti
standardizovan od strane IETF-a, i može se reći da se on razlikuje od SSL-a u
standardizovan od strane IETF-a, i može se reći da se on razlikuje od SSL-a u
nekoliko detalja. On je adaptiran od strane korisnika i projektanata mobilnih
nekoliko detalja. On je adaptiran od strane korisnika i projektanata mobilnih
radio ureĐaja, koji su prilagodili ovaj protokol bežičnim komunikacijama, i
radio ureĐaja, koji su prilagodili ovaj protokol bežičnim komunikacijama, i
nazvali ga WTLS (Wireless TLS - bežični TLS).
nazvali ga WTLS (Wireless TLS - bežični TLS).
SSL omogućava razmenu informacija između klijenta i servera, na transparentan
način. Ovaj protokol je lociran između aplikacijskog i transportnog sloja ISO/OSI
referencnog modela. Koristeći ovaj pristup, moguće je identifikovati SSL protokol
kao deo sloja za prezentaciju. Na slici 1 se može videti mesto SSL-a u okviru
TCP/IP protokola
.
.
Slika 1
Slika 1
: Funkcionalni model SSL protokola2
: Funkcionalni model SSL protokola2
Međutim, SSL ne funkcioniše na vrhu User Datagram protokola (UDP), zato što ne
Međutim, SSL ne funkcioniše na vrhu User Datagram protokola (UDP), zato što ne
nudi pouzdan prenos podataka, što može dovesti do gubitka IP paketa. Zbog toga,
nudi pouzdan prenos podataka, što može dovesti do gubitka IP paketa. Zbog toga,
SSL ne može pružiti zaštitu za sledeće protokole: Simple Network Management
SSL ne može pružiti zaštitu za sledeće protokole: Simple Network Management
Protocol (SNMP), Network File System (NFS), Domain Name Service (DNS), kao i
Protocol (SNMP), Network File System (NFS), Domain Name Service (DNS), kao i
za protokol "voice over IP". SSL se sastoji od dva pod-nivoa: SSL Record i SSL
za protokol "voice over IP". SSL se sastoji od dva pod-nivoa: SSL Record i SSL
Handshake, i koristi još 4 podprotokola:
Handshake, i koristi još 4 podprotokola:
1) SSL Record,
1) SSL Record,
2) SSL Handshake,
2) SSL Handshake,

Identifikacija se utvrđuje za svaki od razgovora, i sledeći parametri ostaju
Identifikacija se utvrđuje za svaki od razgovora, i sledeći parametri ostaju
konstantni tokom razgovora:
konstantni tokom razgovora:
1) redni broj razgovora (ID),
1) redni broj razgovora (ID),
2) potvrda,
2) potvrda,
3) algoritam za kompresiju,
3) algoritam za kompresiju,
4) algoritmi za šifrovanje i potpis, i
4) algoritmi za šifrovanje i potpis, i
5) MasterSecret koji se razmenjuje između klijenta i servera.
5) MasterSecret koji se razmenjuje između klijenta i servera.
Za svaku novu vezu u razgovoru,"handshake" postavlja sledeće parametre: dva
Za svaku novu vezu u razgovoru,"handshake" postavlja sledeće parametre: dva
slučajna broja, jedan za klijenta a drugi za server, parametre "hashing" algoritma
slučajna broja, jedan za klijenta a drugi za server, parametre "hashing" algoritma
na klijentskoj strani i serverskoj strani, blok šifrovanih ključeva za klijenta i
na klijentskoj strani i serverskoj strani, blok šifrovanih ključeva za klijenta i
servera, inicijalni vektor za blok šifrovanja na obe strane. Niz brojeva je
servera, inicijalni vektor za blok šifrovanja na obe strane. Niz brojeva je
specifičan za svaku vezu, i on se incijalizuje posle poruke ChangeCipherSpec. Kad
specifičan za svaku vezu, i on se incijalizuje posle poruke ChangeCipherSpec. Kad
god se klijent spoji na server, novi razgovor je pokrenut. Ako se isti klijent spoji
god se klijent spoji na server, novi razgovor je pokrenut. Ako se isti klijent spoji
na drugi server, novi razgovor će biti pokrenut bez prekida prethodnog. Ako se
na drugi server, novi razgovor će biti pokrenut bez prekida prethodnog. Ako se
klijent kasnije vrati na prvi server, i poželi da sačuva izabrane sigurnosne
klijent kasnije vrati na prvi server, i poželi da sačuva izabrane sigurnosne
parametre koji su već napravljeni, klijent će zatražiti od servera da nastavi stari
parametre koji su već napravljeni, klijent će zatražiti od servera da nastavi stari
razgovor umesto pokretanja novog. SSL dokumentacija sugeriše da se dužina
razgovor umesto pokretanja novog. SSL dokumentacija sugeriše da se dužina
razgovora limitira na 24 sata, ali stvarna dužina razgovora je obično određena na
razgovora limitira na 24 sata, ali stvarna dužina razgovora je obično određena na
serveru. Record protokol koristi parametre tokom procesa povezivanja
serveru. Record protokol koristi parametre tokom procesa povezivanja
("handshake") da bi ih prosledio transportnom sloju. U suštini, ovaj protokol je
("handshake") da bi ih prosledio transportnom sloju. U suštini, ovaj protokol je
odgovoran za deljenje podataka na blokove i njihovo slanje na strani pošiljaoca,
odgovoran za deljenje podataka na blokove i njihovo slanje na strani pošiljaoca,
kao i za deljenje na strani prijema. Druge funkcija uključuju kompresiju, kao i
kao i za deljenje na strani prijema. Druge funkcija uključuju kompresiju, kao i
šifrovanje i dešifrovanje poruka.
šifrovanje i dešifrovanje poruka.
2.2.Generisanje ključa
2.2.Generisanje ključa
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti