Upload
nikola-karaklajic
View
25
Download
3
Embed Size (px)
DESCRIPTION
05 Sigurnosni Aspekti Elektronskog Poslovanja
Citation preview
Sigurnosni aspekti Sigurnosni aspekti elektronskog poslovanjaelektronskog poslovanja
Dejan Lacmanovićasistent
Tehnički fakultet “Mihajlo Pupin” Zrenjanin
Bezbednost svetske mreže Internet kao globalna mreža danas sve više postaje
mesto za obavljanje različitih vrednosnih transakcija.
Prisustvo ogromnog broja "zainteresovanih strana" na globalnoj mreži uslovljavaju i izuzetnu nebezbednost svetske mreže
Da bismo takvu sredinu ukrotili i učinili je potpuno bezbednom za poslovanje, moramo primeniti mere obezbeđivanja sigurnosti podataka na Internetu.
Uslovi bezbednosti Postoje četiri osnovna uslova bezbednosti:
integritet podataka - podaci moraju stići do korisnika bez neželjenih transformacija i modifikacija. Ovo podrazumeva da korisnik može da proveri korektnost i verodostojnost pristiglog sadržaja.
identifikacija pošiljaoca i primaoca poruke - ovaj uslov omogućava obema stranama proveru porekla poruke. Ukoliko se implementira pravilno, identifikacija mora da bude jednostavna i da ne ostavlja prostora sumnji u verodostojnost druge strane. Drugim rečima, ne može se desiti da neki "piratski" sajt preuzme identitet pravog i dođe do osetljivih podataka koje bi poslala druga strana, u uverenju da podatke šalje na pravo odredište.
Uslovi bezbednosti neporecivost poruke - pošiljalac poruke nema načina da
negira da je poruku poslao. Ovo je, pored ostalog, i mera zaštite biznis strane elektronskog poslovanja, jer klijent nema načina da, recimo, opovrgne sopstvenu narudžbu.
poverljivost i tajnost podataka - podaci koji se prenose od pošiljaoca do primaoca moraju na neki način biti zaštićeni od "prisluškivanja".
Bezbednost se obezbeđuje kontrolom pristupa mrežnim resursima, kao i posebnim tehnikama zaštite samih podataka, poznatim pod imenom kriptografija.
Kriptografske metode Kriptografija obuhvata matematičke transformacije
kojima se modifikuju podaci tako da samo korisnici sa pravom pristupa, odnosno "pravim ključem" mogu da ih prepoznaju.
Tokom kriptografskog postupka originalni podaci, koji se često nazivaju i "čist tekst" (clear text ili plain text) određenom matematičkom funkcijom se transformišu u zaštićeni ili enkriptovani format (ciphertext).
Enkripcija i dekripcija podataka Primenjena funkcija se zasniva na enkripcionom
algoritmu (cipher), koji za ulazne parametre ima originalnu poruku i jedan ili više kriptografskih ključeva, specijalno izabranih brojeva konačne dužine.
Obrnuti proces, transformacija iz zaštićenog oblika poruke u originalnu poruku naziva se dekripcija, i takođe je baziran na primeni matematičke funkcije, koja za ulazne podatke ima prethodno zaštićenu poruku i jedan ili više dekripcionih ključeva, koji mogu biti različiti od enkripcionih ključeva.
Podela kripto-algoritama Kriptografski se algoritmi dele na simetrične i
asimetrične. Simetrični su bazirani na korišćenju istog tajnog
ključa za enkripciju i dekripciju (shared secret key cryptography)
Asimetrični se baziraju na korišćenju različitih ključeva za enkripciju i dekripciju od kojih je jedan javni i poznat svima, a drugi tajni i poznat samo jednom od učesnika u komunikaciji (public key cryptography).
Simetrična kriptografija Kod simetrične kriptografije postupak enkripcije i
dekripcije zasniva se na dve matematički srodne funkcije:
Originalnaporuka
(clear-text)
m
Zaštićenaporuka
(cipher-text)
c
Originalnaporuka
(clear-text)
m
Pošiljalac poruke Primalac poruke
k k
E(k,m) = c D(k,c) = m
enkripcija dekripcija
Enkripciona funkcija E, na osnovu ključa k i ulazne poruke m, kreira zaštićenu poruku c. Dekripciona funkcija D, na osnovu
istog ključa k i zaštićene poruke c, restaurira originalnu poruku m.
Simetrična kriptografija Prednost ovog načina kriptografije u odnosu na
asimetričnu kriptografiju: manje je računski intenzivna, tako da se veće količine podataka brže enkriptuju/dekriptuju.
Velika mana: moramo pronaći bezbedan način za distribuciju tajnog ključa, tj. osigurati bezbedan kanal za razmenu ključeva između zainteresovanih strana. Šta će nam onda kriptografija, ako takav kanal već postoji?
Takođe, mana je i potreba za velikim brojem ključeva, po jedan par za komunikaciju sa svakim klijentom
Asimetrična kriptografija Proces enkripcije i dekripcije se kod ovih algoritama
takođe zasniva na dve funkcije - imamo enkripcionu funkciju E i dekripcionu funkciju D.
One opet manipulišu originalnom porukom m, odnosno zaštićenom porukom c, ali se ovog puta za enkripciju i dekripciju koriste dva ključa - jedan za enkripciju (ključ e), a jedan za dekripciju (ključ d).
Asimetrična kriptografija Prvi od ovih ključeva se naziva javni ključ (public
key) i poznat je svima, a drugi se zove privatni ključ (private key), i poznat je samo jednoj strani:
Originalnaporuka
(clear-text)
m
Zaštićenaporuka
(cipher-text)
c
Originalnaporuka
(clear-text)
m
Pošiljalac poruke Primalac poruke
Privatni ključ e
E(e,m) = c D(d,c) = m
enkripcija dekripcija
Javni ključ d
Asimetrična kriptografija Enkripcija podataka se može obaviti, u principu, na
dva načina: enkripcija originalne poruke javnim ključem - samo
vlasnik privatnog ključa može dekriptovati poruku, ali ne može biti siguran ko je poruku poslao, jer je javni ključ dostupan svima;
enkripcija originalne poruke privatnim ključem - ovog puta je poreklo poruke nedvosmisleno, kao i nemogućnost poricanja vlasnika javnog ključa da je poruku poslao, ali je tajnost poruke kompromitovana - svako ko ima javni ključ koji odgovara tajnom ključu korišćenom za enkripciju može videti poruku. Ova mana se ispravlja mehanizmom digitalnih potpisa i sertifikata.
Asimetrična kriptografija Prednosti korišćenja infrastrukture javnog ključa
(public key infrastructure, PKI) - potrebno je znatno manje ključeva za komunikaciju, nije potreban siguran kanal za distribuciju ključeva. Loša strana - računski su intenzivni, tako da su nepogodni za enkripciju većeg obima podataka.
Moderna kriptografija – hibridni pristup U današnjim modernim enkripcionim sistemima
koristićemo i simetričnu i asimetričnu kriptografiju za postizanje potrebnog nivoa zaštite podataka - najpre ćemo asimetričnom kriptografijom razmeniti tajni ključ za ostvarivanje simetrične kriptografije, koju ćemo kasnije koristiti za prenos velike količine podataka.
Na taj način funkcioniše SSL (Secure Sockets Layer) tehnologija, sa kojom ćemo se kasnije upoznati.
Digitalni potpisi Digitalni potpis (digital signature) predstavlja
digitalnu verziju svojeručnog potpisa - kao što takav potpis jednoznačno identifikuje osobu, digitalni potpis može da identifikuje autora neke poruke, ali i da dokaže da poruka prilikom prenosa komunikacionim kanalom nije izmenjena.
Svaki potpis, bio on digitalni ili vlastoručni, mora da zadovolji pet osnovnih pravila: mora da pruži identifikaciju; ne može biti manipulisan; ne može biti kopiran; mora da bude verodostojan; ne može biti opovrgnut.
Digitalni potpisi U najvećem broju slučajeva nije potrebna enkripcija
celokupne poruke - dovoljno je enkriptovati samo digitalni potpis, a poruku ostaviti nepromenjenu. Naravno, ako je tajnost poruke kritična, i ona može biti zaštićena.
Za kreiranje digitalnih potpisa koriste se tzv. hash funkcije.
To su funkcije slične enkripcionim, koje imaju osnovnu karakteristiku da na osnovu ulaznih podataka promenljive dužine definišu niz konačne dužine, a koji na jedinstven način definiše ulazni podatak:
Digitalni potpisi
Digitalnopotpisana
poruka
Originalnaporuka
(clear-text)
Hashfunkcija
Hashvrednost
hPrivatni ključ e
Enkriptovanahash
vrednosth'
(digitalnipotpis)
Originalnaporuka
(clear-text)
Javni ključ d
Hashfunkcija
Hashvrednost
h
Hashvrednost
h
Poređenje
Digitalni sertifikati Digitalni sertifikat je elektronska datoteka koja
jedinstveno identifikuje pojedince i web sajtove na Internetu i omogućuje sigurnu, poverljivu komunikaciju.
On povezuje ime entiteta koji učestvuje u sigurnoj transakciji (e-mail adresu ili web adresu) sa javnim ključem (public key) koji je korišćen za zaštitu komunikacije sa tim entitetom u kriptografskom sistemu.
Digitalni sertifikati "Potpisnik" digitalnog sertifikata je "sigurna treća
strana", odnosno telo poznato pod imenom Certificate Authority (CA), kao što su VeriSign, Thawte i slično.
To su tela specijalizovana za brigu o digitalnim sertifikatima, i ta tela izdaju, kreiraju i potpisuju sertifikate, te učestvuju i u njihovoj distribuciji.
Digitalni sertifikati Sertifikat koji je izdat od odgovarajućeg CA nosi i
digitalni potpis tog CA, i ta je činjenica ključna za jednoznačnu identifikaciju organizacije koja je sertifikat dobila.
Kada korisnikov browser pristupi sajtu organizacije koja poseduje digitalni sertifikat, taj sertifikat se automatski prenosi do klijenta u formi datoteke određenog formata.
Browser čita ovaj fajl i odlučuje da li će verovati udaljenom serveru, na osnovu činjenice da je sertifikat digitalno potpisan od strane CA, a javni ključevi svih većih CA su ugrađeni u sam browser.
Postupak kreiranja digitalnog sertifikata
PRVI KORAK:Aplikant generiše par ključeva, privatni i javni.
DRUGI KORAK:Aplikant prikuplja informacije
koje traži sertifikaciono telo (podaci o organizaciji, overe, e-mail adrese, čak i otisci prstiju ako CA to
zatraži)
Postupak kreiranja digitalnog sertifikata
TREĆI KORAK:Aplikant šalje zahtev za sertifikatom, koji se sastoji iz njegovog javnog ključa,
i traženih podataka. Zahtev se enkriptuje
javnim ključem sertifikacionog tela.
ČETVRTI KORAK:Dostavljene informacije se
proveravaju.
Postupak kreiranja digitalnog sertifikataPETI KORAK:
CA kreira i digitalno potpisuje sertifikat koji se sastoji iz
aplikantovog javnog ključa i ostalih dostavljenih
informacija. Potpis CA vezuje javni ključ aplikanta sa
podacima koje je dostavio – za tu vezu sada garantuje CA. Sertifikat je zaštićen javnim
ključem aplikanta.
ŠESTI KORAK:Sertifikat se prosleđuje aplikantu.
SSL komunikacija SSL (Secure Sockets Layer) je tehnologija koja služi
za siguran prenos podataka preko weba, a izvorno je razvijena od strane Netscape Communications.
Zasniva se upravo na mehanizmu digitalnih serverskih sertifikata, izdatih od strane nezavisnih CA.
SSL omogućuje dve krucijelne stvari u sigurnim komunikacijama: autentifikaciju, putem gore opisanog mehanizma serverskih sertifikata izdatih od strane CA, i enkripciju, čime se vrši zaštita podataka koji se razmenjuju.
Da bi se uspostavila SSL konekcija, najpre se vrši tzv. SSL handshake
1
Kupac kontaktira zaštićeni URL (prefiks adrese jehttps umesto uobičajenog http, ili se javlja poruka
od strane browsera). To je obično zaštićenaforma za prikupljanje podataka od kupca, kao što
su lični podaci ili broj kreditne kartice.
2Browser klijenta automatski šalje verziju SSL
protokola koju podržava, jačinu enkripcije (dužinuključa) i ostale informacije koje su potrebne za
komuniciranje sa klijentom preko SSL.
3Server odgovara, automatski šalje browseru
klijenta digitalni sertifikat sajta, zajedno sa SSLverzijom servera, jačinom enkripcije itd.
SSL handshake
klijent
server
4
Klijentov browser proverava informacije izdigitalnog sertifikata servera:
1. da li je sertifikat validan i da li ima validandatum;2. da li je sertifikat izdat od strane CA koji je naspisku browsera kao CA kojem se veruje;3. da li javni ključ CA, koji je ugrađen u browser,može da izvrši dekripciju digitalnog potpisa CAkoji je stigao sa sertifikatom (ako može, u pitanjuje verodostojan sertifikat);4. da li ime domena kojem smo pristupiliodgovara imenu domena koje je navedeno usertifikatu.
5
Ako je server uspešno autentifikovan, webbrowser klijenta generiše jedinstveni sesijskiključ. Taj ključ će biti korišćen za simetričnu
enkripciju podataka tokom zaštićenekomunikacije sa serverom,
SSL handshake
klijent
server
6
Vrši se enkripcija samog sesijskog ključa javnimključem sajta (koji je stigao sa digitalnimsertifikatom), tako da samo sajt može da
dekriptuje ključ, te se ključ šalje serveru. Tako serešava problem sigurne distribucije ključa u
simetričnoj kriptografiji.
7 Server dekriptuje sesijski ključ koristeći svojprivatni ključ.
SSL handshake
klijent
server
8Klijent i server razmenjuju poruke u kojimadecidno kažu da će sve buduće poruke biti
enkriptovane sesijskim ključem.
9
SSL zaštićena sesija je uspostavljena. Koristi sesimetrična enkripcija, koja je mnogo brža od
asimetrične, za enkripciju velike količinepodataka. Uspostavljen je «SSL pipeline». Nakon
završetka zaštićene komunikacije SSL veza seraskida, a sesijski ključ eliminiše.
SSL handshake
klijent
server