D13 Bezbednost

  • View
    79

  • Download
    3

Embed Size (px)

Transcript

BezbednostDistribuirani sistemi Distribuirano programiranje

Uvod Bezbednost u (distribuiranim) raunarskim sistemima je usko povezana sa pojmom pouzdanosti (depandability) Pouzdan je sistem od koga oekujemo da ispuni obedanje da isporui servis Pouzdanost ukljuuje (vidi D09): Raspoloivost ili dostupnost (availability) Pouzdanost (reliability) Sigurnost (safety) Odrivost (maintainability) Tajnost (confidentiality) informacija se daje samo ovlaenim (autorizovanim) strankama Integritet (integrity) modifikacija resursa sistema samo na autorizovan nain

Pretnje Druga moguda definicija: da se podaci i servisi ouvaju od bezbednosnih pretnji Tipovi pretnji: Presretanje (interception) neautorizovana stranka dobije pristup podacima ili servisima. Ovde spada i ilegalno kopiranje podataka. Prekidanje (interruption) servis ili podatak postane nedostupan, neupotrebljiv ili uniten. Npr. denial of service (DoS) Modifikacija (modification) neautorizovana izmena podataka ili izmena servisa, koji vie nije u skladu sa specifikacijom Fabrikacija (fabrication) generisanje dodatnih podataka ili aktivnosti koji ne bi postojali u normalnim situacijama. Npr. ilegalno ponavljanje ranijeg zahteva za prenos novca ili dodavanja zapisa u datoteku sa lozinkama

Poslednje tri pretnje se mogu posmatrati kao falsifikovanje podataka

Bezbednosna politika Da bi se izgradio siguran distribuirani sistem, potrebno je definisati sigurnosne zahteve Bezbednosna politika (security policy) sistema tano opisuje ta je entitetima u sistemu dozvoljeno i ta nije Entiteti u ovom kontekstu su: Korisnici Servisi Podaci Maine (raunari) itd.

Usvojena bezbednosna politika se sprovodi sigurnosnim mehanizmima.

Sigurnosni mehanizmi Kada je definisana sigurnosna politika za odreeni sistem, mogude je predi na odabir sigurnosnih mehanizama kojima de se ta politika obezbediti. Enkripcija (encryption) transformie podatke u format koji nije razumljiv za napadae Autentifikacija (authentication) verifikacija identiteta korisnika, klijenata, servera, itd. Autorizacija (authorization) provera da li entitet ima pravo na izvravanje odreene akcije Beleenje istorijata aktivnosti (auditing) upisivanje u dnevnike dogaaja (uglavnom tekstualne) koji je entitet emu pristupio i na koji nain. Ovaj mehanizam ne obezbeuje direktnu zatitu od napada, ali omogudava naknadnu analizu sigurnosnih problema.

Dizajn bezbednog sistema Distribuirani sistem, kao i svaki raunar, treba da ima irok dijapazon bezbednosnih mehanizama preko kojih je mogude primeniti razliite bezbednosne politike Kod planiranja bezbednosnog sistema je bitna: Zatita (distribuiranih) aplikacija preko kontrole pristupa Slojevitost sigurnosnih mehanizama Jednostavnost

Kontrola pristupa Kod kontrole pristupa imamo tri mogudnosti:1. Naglasak na podacima Najvanije kod ovog pristupa je ouvanje integriteta podataka Nisu vane operacije koje se mogu izvravati nad podacima Tipian primer je baza podataka koji ima razliita pravila za ouvanje integriteta podataka koja se automatski primenjuju kada se podatak promeni

2.

Naglasak na operacijama Specificira se koje se operacije mogu izvravati i od strane kojih entiteta Primer je server koji zna koji korisnik sme da pozove koju metodu na serverskom objektu. Mogude su i vede granulacije, da se pristup definie na nivou interfejsa ili ak serverskih objekata

3.

Naglasak na korisnicima Samo pojedini korisnici imaju pristup aplikacijama Korisnici se dele u grupe prava pristupa se definiu za grupe Jedan korisnik moe da bude lan vedeg broja grupa Primer: u raunarskom sistemu univerziteta je pristup nekim aplikacijama mogud samo za nastavno osoblje (ne i za studente)

Kontrola pristupa1) Kontrola podataka

2) Kontrola metoda

3) Kontrola korisnika

Slojevitost Distribuirani sistemi funkcioniu na slededim slojevima: Aplikacije koje koriste distribuirane resurse Middleware srednji sloj koji sakriva heterogenost distribuiranih sistema Servisi operativnog sistema Kernel (jezgro) operativnog sistema

Pitanje slojevitosti se svodi na odluku na kojem od gornjih slojevima da se implementiraju bezbednosni mehanizmi Ako su bezbednosni mehanizmi na viim slojevima, onda ukupna bezbednost u mnogome zavisi od niih slojeva

Jednostavnost Tei se postizanju bezbednosti sa manjim brojem jednostavnih bezbednosnih mehanizama koji su lako razumljivi i provereno rade

Jednostavnost je naroito potrebna kod sloenih sistema, kao to su sistemi naplate: digitalni protokoli naplate vie entiteta se moraju dogovoriti da bi se naplata izvrila

Ako je korisnik u stanju da shvati bezbednosne mehanizme, onda je veda verovatnoda da de imati poverenje u pouzdanost sistema

Kriptografija Ako stranka A eli da poalje poruku m stranci B onda da bi zatitila poruku od sigurnosnih pretnji A de izvriti enkripciju poruke m (dobija se m) A de poslati enkriptovanu poruku (m) B de izvriti dekodiranje poruke (m i dobide m)

Definicije poruka (P) podatak ili deo podatka koji stranka A alje stranci B kodirana poruka (C) poruka koja je promenjena sa ciljem da bude nerazumljiva za potencijalne napadae klju (K) tajni podatak koji omogudava strankama da poruke ifriraju enkripcija (kodiranje) (E) proces u kojem stranka modifikuje poruku sa ciljem da ona bude nerazumljiva za potencijalne napadae. Rezultat ovog procesa je kodirana poruka dekripcija (dekodiranje) (D) proces u kojem se od kodirane poruke pravi izvorna poruka

Enkripcija/dekripcija Kodiranje poruka treba da spei akcije uljeza (pretnje bezbednosti): presretanje, modifikaciju i fabrikacijuPresretanje Modifikacija Fabrikacija

C Ek (P)

P Dk (C )

Enkripcija i dekripcija Enkripcija (kodovanje) Generie kodiranu poruku na osnovu originalne poruke i tajnog kljua

C Ek (P)

Dekripcija (dekodovanje) Generie originalnu poruku na osnovu kodirane poruke i tajnog kljua

P Dk (C )

Vane osobine: Nemogude je nadi klju K ako su poznate poruka P i kodirana poruka C Nemogude je nadi drugi klju K za koji bi bilo EK(P)=EK(P)

Simetrina kriptografija Isti klju za enkripciju i dekripciju Drugo ime: kriptografski sistemi sa deljenim kljuem Da bi komunikacija bila bezbedna, kljuevi moraju biti tajni (kao i kod svih kriptografskih sistema) Oznaka za deljeni klju: KA,B

P DK ( E K ( P)) P DK A,B ( E K A,B ( P))

Asimetrina kriptografija Odvojeni kljuevi za enkripciju i dekripciju Oznake za kljueve: KE i KD Jedan od kljueva se uva u tajnosti Jedan klju moe da bude javan zbog toga se ovakvi sistemi zovu se jo i sistemi sa javnim kljuevima Da bi komunikacija bila bezbedna, kljuevi moraju biti tajni (kao i kod svih kriptografskih sistema) Oznaka za javni klju strane A: K Oznaka za privatni kljua strane A: K A A

P DK D ( E K E ( P)) P DK ( E K ( P))A A

Hash funkcije Slue za igosanje poruke prave ig na osnovu poruke Hash funkcija H je jednosmerna funkcija na osnovu iga se ne moe rekonstruisati poruka

Vane osobine Slaba otpornost na koliziju za poruku m se ne moe nadi poruka m koja za koju je H(m)=H(m) Jaka otpornost na koliziju nemogude nadi dve poruke m i m za koje de biti H(m)=H(m)

Primer: MD5 (Message Digest 5) od poruke proizvoljne duine pravi jedinstveni 128-bitni message digest

Obaveze sigurnosnih sistema U klijent-server modelu komunikacije u (distribuiranom) sistemu koncepti bitni za bezbednost su: Bezbedan komunikacioni kanal Autorizacija uesnika kontrola pristupa Upravljanje (menadment) bezbednostnim mehanizmima

BEZBEDNI KOMUNIKACIONI KANALI

Sadraj bezbedni komunikacioni kanali Autentifikacija Deljeni kljuevi Centar za distribuciju kljueva Kriptografija sa javnim kljuevima

Integritet i poverljivost Digitalni potpisi Kljuevi sesija

Sigurne komunikacije u grupama Sigurni replicirani serveri

Uvod Za bezbednu komunikaciju je potrebno da se zna taan identitet obe (ili vie) strane da se ouva integritet poruka da se ouva tajnost poruka

Za bezbednu komunikaciju je potrebno uspostavljanje bezbednog komunikacionog kanala izmeu dva (ili vie) entiteta Bezbedanim komunikacionim kanalom se branimo od: presretanja, modifikacije i fabrikacije.

Bezbedan komunikacioni kanal nas ne brani od: Prekidanja (interruption)

Autentifikacija Autentifikacija je provera identiteta nekog uesnika (korisnika, procesa, raunara, itd.) Autentifikacija i integritet poruka se ne mogu implementirati odvojeno Autentifikacija je prvi korak kod uspostavljanja sigurnih kanala mora se utvrditi identitet svih strana (uesnika) koje komuniciraju

Sprovoenje autentifikacije se moe zasnivati na (nekom od nabrojanih postupaka):1. 2. 3. deljenim tajnim kljuevima centrima za distribuciju kljueva javnim kljuevima

1) Autentifikacija deljenim tajnim kljuevima Strane A i B direktno komuniciraju Koraci:1. 2. 3. Iniciranje komunikacije: A alje svoj identitet u B B proverava identitet A: B alje challenge (RB) strani A A odgovara na proveru: A kodira RB zajednikim kljuem KA,B i vrada u B A proverava identitet B: A alje challenge RA strani B B odgovara na proveru: B kodira RA zajednikim kljuem KA,B i vrada u A

4. 5.

2) Centar za distribuciju kljueva Problem: mnogo uesnika zahteva mnogo kljueva = N*(N-1)/2 svaki uesnik ima po jedan klju za svakog drugog uesnika

Skalabilnost omogudava centar za distribuciju kljueva - KDC (Key Distribution Center) Centar generie kljueve na zahtev: A alje u KDC svoj identitet (A) i identitet sagovornika (B) KDC generie poseban klju KA,B samo za njihovu komunikaciju i alje ga obema stranama (A i B) kodira ga razliitim kljuevima koje deli sa stranama A i B (KA,KDC i KB,KDC respektivno)

2) Centar za distribuciju kljueva (2) Prethodno opisan post