680 likes | 1.01k Views
CP 336 Bezbednost mreža. Računarski fakultet Beograd. Nakon ove lekcije , Vi bi trebalo da znate da :. o pišete četiri osnovna cilja kriptografske zaštite podataka : tajnost , integritet , neporecivost i autentikacija ;. r azume t e osnovne koncepte klasične kriptografije ;.
E N D
CP336Bezbednost mreža Računarski fakultet Beograd
Nakon ove lekcije, Vi bi trebalo da znate da: • opišete četiri osnovna cilja kriptografske zaštite podataka: tajnost, integritet, neporecivostiautentikacija; • razumete osnovne koncepte klasične kriptografije; • prepoznate koncepte supstitucionih i transpozicionih šifarskih sistema; CS336Bezbednost mreža
Kriptografija • Termin nastao kao kovanica dve grčke reči: krypros+graphia (“tajno pisanje”) CS336Bezbednost mreža
Ciljevi kriptografije • Četiri osnovna cilja kriptografske zaštite podataka. • Veći broj aplikacija istovremeno obezbeđuje realizaciju više funkcija kriptografske zaštite podataka. • Očuvanje tajnosti (Confidentiality) • Očuvanje informacionog sadržaja otvorene poruke se postiže šifrovanjem. • Pošiljalac šifruje poruku koristeći kriptografski ključ. • Primalac dešifruje poruku koristeći kriptografski ključ koji može biti identičan ili različit od ključa koji je koristio pošiljalac. CS336Bezbednost mreža
Ciljevi kriptografije (nast.) • Integritet(Integrity) • Mehanizam koji obezbeđuje da se utvrdi da li je primljena poruka identična poslatoj poruci. • U procesu kreiranja jednoznačnog otiska poruka (Message Digest) primenjuju se hash funkcije. Pošiljalac šalje poruku zajedno sa njenim kriptografskim otiskom. • Primalac koristi istu funkciju koja se primenjuje napredajnoj strani i upoređuje izračunati sa primljenim otiskom poruke. • Navedeni mehanizam osigurava isključivo detekciju promene sadržaja poruke u toku prenosa. • Navedeni postupak se koristi u procesu kreiranja digitalnog potpisa (Digital Signature). CS336Bezbednost mreža
Ciljevi kriptografije (nast.) • Neporecivost (Nonrepudiation) • Pošiljalac ne može naknadno daporekne slanje poruke. • Obezbeđuje se primenom asimetričnih kriptografskih algoritama, korišćenjem tehnologije digitalnog potpisa. • Autentikacija (Authentication) • Obezbeđuje da korisnik ili sistem može da jednoznačno utvrdi identitet pošiljaoca poruke. • U savremenim sistemima najčešće se ostvaruje primenom digitalnih sertifikata (Digital Certificate). • Primer sistema autentikacije: Kerberos. CS336Bezbednost mreža
Osnovna terminologija • Otvoreni tekst (Plaintext) – izvorna poruka. • Šifrat (Ciphertext) – kriptografski kodovana (zaštićena) poruka. • Ključ (Key) – parametar (najčešće tajan) koji se se koristi u procesutransformacije poruke. • Šifrovanje (Encryption, Enciphering) - postupak transformacijeotvorenog tekstau šifrat primenom kriptografskog ključa. • Dešifrovanje (Decryption, Decrypting) - postupak transformaciješifrata u otvoreni tekst primenom kriptografskog ključa. CS336Bezbednost mreža
Operacija šifrovanja CS336Bezbednost mreža
Operacija dešifrovanja CS336Bezbednost mreža
Osnovna terminologija • Kriptografija (Cryptography) – tehnika koja proučava principe i metode šifrovanja podataka. • Kriptoanaliza (Cryptanalysis, Codebreaking) – tehnika koja proučava principe i metode dešifrovanja kriptografski zaštićenih poruka bez poznavanja kriptografskog ključa. • Kriptologija = Kriptografija + Kriptoanaliza CS336Bezbednost mreža
Model kriptografskog sistema CS336Bezbednost mreža
Model simetričnog šifarskog sistema Pojednostavljeni model simetričnog sistema CS336Bezbednost mreža
Tipovi napada – pasivni napadi Napadač Napadač • Cipertext-only attack – kriptoanalitičar (napadač) može da analizira isključivo šifrovani tekst. • Known-plaintext attack – kriptoanalitičaru poznat i otvoreni i njemu odgovarajući šifrovani tekst. CS336Bezbednost mreža
Tipovi napada – aktivni napadi Napadač Napadač • Chosen-plaintext attack – kriptoanalitičar (napadač) odabira poruke otvorenog teksta i upoređuje ih sa dobijenim porukama šifrata. • Chosen-ciphertext attack – kriptoanalitičar (napadač) odabira poruke šifrovanog teksta i upoređuje ih sa porukama dobijenim nakon procesa dešifrovanja. CS336Bezbednost mreža
Kriptografski algoritmi • Dva osnovna tipa kriptografskih algoritama • simetrični, • asimetrični. • Kriptografski algoritmi se koriste u procesu šifrovanja poruka • otvoreni tekst se transformiše u šifrat, kao i u procesu dešifrovanje kriptografski zaštićenih poruka gde se vrši • transformacija šifrata u otvorteni tekst. CS336Bezbednost mreža
Kriptografski algoritmi (nast.) • Sigurnost prvih sistema se zasnivala na tajnosti primenjenog algoritma šifrovanja/dešifrovanja(“security through obscurity”). • Savremeni algoritmi su otvoreni i podložni javnom ispitivanju slabosti. CS336Bezbednost mreža
Simetrični kriptografski sistemi • Simetrični šifarski postupak može da se kategoriše u zavisnosti od: • tipa primenjenih šifarskih operacija: • supstitucioni, • transpozicioni, • kombinovani; • načina na koji se realizuje kriprografska obrada otvorenog teksta: • blok (block), • sekvencijalni (stream). CS336Bezbednost mreža
Simetrični algoritmi Simetrični šifarski sistemi pripadaju jednoj od sledećih kategorija: • Transpozicioni šifarski sistemi, gde se, pri šifrovanju, vrši permutacija simbola otvorenog teksta. • Supstitucioni šifarski sistemi, gde se, pri šifrovanju, svaki simbol (ili grupa simbola) zamenjujesa drugim simbolom (ili grupom simbola). CS336Bezbednost mreža
Transpozicioni šifarski sistemi Transpozicioni šifarski sistemivrše permutaciju simbola otvorenog teksta u skladu sa nekom šemom transformacije. Primenjena šema transformacije često se zasniva na nekoj od geometrijskih figura. Da bi se izvršilo šifrovanje potrebno je da se poznaje kriptografski algoritam i kriptografski ključ. Geometrijska figurai načinupisa simbolaotvorenog teksta predstavljaju kriptografski algoritam, dok određeni parametri koji pobliže određuju datu figuru predstavljaju kriptografski ključ. CS336Bezbednost mreža
Transpozicioni šifarski sistemi (nast.) Primer: DISCONCERTEDCOMPOSER D O R C O I C N E T D O P S R S C E M E DORCOICNETDOPSRSCEME Algoritam: upis simbola otvorenog teksta u strukturu u obliku ograde u tunelima (rail-fence) i njihovo čitanje po redovima. Ključ: ‘Dubina’ ograde (u ovom slučaju 3). CS336Bezbednost mreža
Transpozicija po kolonama Transpozicija po kolonama: • Simboli otvorenog teksta se upisuje po redovima matrice. • Šifrat se dobija čitanjem simbola po kolonama u određenom redosledu. Primer:Korišćenjem 6 kolona, otvoreni tekst SYDNEY OLYMPIC GAMES se upisuje u redove kao: S Y D N E Y O L Y M P I C G A M E S Ukoliko se čitanje vrši u redosledu 6-5-2-4-1-3 rezultujući šifrovani tekst je: YISEPEYLGNMMSOCDYA. CS336Bezbednost mreža
Supstitucioni šifarski sistemi • Supstitucioni sistemi mogu da se podele u: • monoalfabetske (monoalphabetic), • homofonske (homophonic), • polialfabetske (polyalphabetic), • poligramske (polygrams). CS336Bezbednost mreža
Supstitucioni šifarski sistemi Jednostavni suspstitucioni postupci zamenjujusvaki simbol otvorenog teksta(npr. A)sa odgovarajućim simbolom šifrata (npr.C). Šifarski postupak na bazi pomerenog alfabeta (shifted alphabets) se zasniva na pomeranju simbola otvorenog teksta za kpozicija udesno, po modulu veličine alfabeta: f(x) = (x+k) mod n Gde je: n veličina alfabeta A, x označava simbol otvorenog tekstakodovan njegovom numeričkom reprezentacijom i, k je ključ. CS336Bezbednost mreža
Supstitucioni šifarski sistemi Primer:Akok = 3ikoristi se engleski alfabet (Caesar cipher – 75. godina pre Hrista) A C A C A C A D L O W Z B E M P X A C F N Q Y B D G O R Z C E H P S F I Q T G J R U H K S V I L T W J M U X K N V Y CS336Bezbednost mreža
Korišćenje nestandardnog alfabeta K : A . B . L : C . M : C . T U V D . N : E . O : P : F . W X Y G . Q : R : H . S : H-J . Z Churchyard šifrat je ugraviran na nadgrobnom spomeniku Trinity crkve, New York, 1794: . . . . . . . . . . . . . . . . CS336Bezbednost mreža
Korišćenje nestandardnog alfabeta Sličan šifrat je bio ugraviran na nadgrobnom spomenikuudvorištu St. Paul crkve, New York, 1796. Prvo publikovano rešenje za dati šifrat se pojavilo u novinama New York Herald 1896 – preko 100 godina kasnije. Kriptoanalizu monoalfabetskih supstitucionih šifarskih postupaka je relativno jednostavno izvršiti koristeći analizu frekevencije pojavljivanja simbola u otvorenom tekstu. Takođe se može koristiti analiza distribucije digramai trigrama. CS336Bezbednost mreža
Frekvencijapojavljivanja slovauengleskom jeziku Char Percent A 8.0 **************** B 1.5 *** C 3 ****** D 4.0 ******** E 13.0 ************************** F 2.0 **** G 1.5 *** H 6.0 ************ I 6.5 ************* J 0.5 * K 0.5 * L 3.5 ******* M 3.0 ******* N 7.0 ************** O 8.0 **************** P 2.0 **** Q 0.2 R 6.5 ************* S 6.0 ************ T 9.0 ****************** U 3.0 ****** V 1.0 ** W 1.5 *** X 0.5 * Y 2.0 **** Z 0.2 CS336Bezbednost mreža
Relativna frekvencija slova CS336Bezbednost mreža
Diagrami u engleskom jeziku Najfrekventniji digrami (niz od dva karaktera) u engleskom jeziku na rekativnoj skali od 1 do 10: Digram Frekvencija Digram Frekvencija TH 10.00 HE 9.05 IN 7.17 ER 6.65 RE 5.92 ON 5.70 AN 5.63 EN 4.76 AT 4.72 ES 4.24 ED 4.12 TE 4.04 TI 4.00 OR 3.98 ST 3.81 AR 3.54 ND 3.52 TO 3.50 NT 3.44 IS 3.43 OF 3.38 IT 3.26 AL 3.15 AS 3.00 CS336Bezbednost mreža
Triagrami u engleskom jeziku Najfrekventniji trigrami (niz od tri karaktera) u engleskom jeziku su: ENT ION AND ING IVE TIO FOR OUR THI ONE CS336Bezbednost mreža
Kriptoanaliza supstitucionih postupaka • Metoda pokušaja svih mogućih kombinacija (Brute force attacks): testiranjem svih 26! (~4*1026) kombinacija – npr. ukoliko je moguće realizovati jedno dešifrovanje za jednu mikrosekundu, za kriptoanalizu šifrovane poruke bilo bi potrebno više od 10trilionagodina! • Kriptoanaliza se dosta efikasnije realizuje korišćenjem analize frekvencije pojavljivanja simbola u otvorenom tekstu. CS336Bezbednost mreža
Homofonski šifarski postupci Cilj je razvoj kompleksnijeg načina šifrovanja primenom koga se sprečava mogućnost kriptoanalize šifrovanih poruka na osnovu analize frekvencije simbola u otvorenom tekstu. Homofonski supstitucioni šifarski sistem preslikava (mapira) jedan simbol otvorenog teksta xu jedan od, njemu dodeljenih, skupa simbola šiftata f(x). Poruci otvorenog teksta M=m1m2… odgovara poruka šifrata C=c1c2…, gde je svaki simbol cislučajno izabran iz skupahomofona f(mi). CS336Bezbednost mreža
Homofonski šifarski postupci Primer:Pretpostavimo da se slova engleskog alfabeta koduju sa celim brojevima između00 i 99. Broj celih brojeva koji su dodeljeni jednom slovu alfabeta je proporcionalan relativnoj frekvenciji datog karaktera. Jedan ceo broj može da se dodeli samo jednom karakteru alfabeta. CS336Bezbednost mreža
Homofonski šifarski postupci SimbolHomofoni A 17 19 34 41 56 60 67 83 I08 22 53 65 88 90 L 03 44 76 N 02 09 15 27 32 40 59 O 01 11 23 28 42 54 70 80 P 33 91 T 05 10 20 29 45 58 64 78 99 Jedan od mogućih šifrata poruke M M= P L A I N P I L O T je C= 91 44 56 65 59 33 08 76 28 78 CS336Bezbednost mreža
Polialfabetski šifarski sistemi Polialfabetski supstitucioni šifarski sistemieliminišu preslikavanje frekvencije pojavljivanja karaktera u otvorenom tekstu u njihove supstitucione zamene u šifratu korišćenjem višestrukih supstitucija. Razvoj polialfabetskih šifarskih sistema počinje sa Leon Battista Alberti-jem, osnivačemzapadne kriptografije. Alberti je 1568. godine objavio opis ‘šifarskogdiska’ koji je koristio višestruke supstitucije. CS336Bezbednost mreža
Vižnerov šifarski postupak U Vižnerovom šifarskom posupku (Vigenere cipher)ključ K je sekvenca (niz) simbola K = k1k2…kd, gde kiodređujebroj pomeraja u određenom alfabetu, tako da je, fi(x) = (x + ki) mod n Primer: Pretpostavimo da je ključ K = BAND (u numeričkom obliku K = 1 0 13 3), onda seporuka otvorenog tekstaM = RENA ISSA NCE šifruje kaoK = BAND BAND BAN M = RENA ISSA NCE C = Ek (M) = SEAD JSFD OCR CS336Bezbednost mreža
Vižnerova tabela CS336Bezbednost mreža
Poligramski šifarski sistemi Poligramski supstitucioni šifraski postupci,umesto kriptografske transformacije jednog simbola, realizuju se istovremeno šifrovanje bloka simbola (karaktera). Primena datog postupka eliminiše preslikavanje frekvencije pojavljivanja simbola u otvorenom tekstu u korespondirajuće simbole u šifratu čime je otežana mogućnost kriptoanalize. Plejferov šifarski postupak (Playfair cipher)realizuje supstitucije blokova od dva simbola (bigram). Dati šifarski postupak je predložio Charles Wheatstone 1854.godine. Plejferov šifarski postupak su koristili Britanci za vreme I svetskog rata. CS336Bezbednost mreža
Plejferov šifarski postupak Ključ Plejferovog šifarskog postupka je bilamatrica dimenzija 5 5 sa 25 slova (karakter J se nije koristio). Na primer, CS336Bezbednost mreža
Plejferov šifarski postupak Par karektera otvorenog teksta m1m2se šifruje u skaldu sa sledećim pravilima: • Ako su m1i m2u istom redu, tadasu c1i c2dva karakteradesno od m1i m2, respektivno (usvojeno je da je prva kolona susedna desna kolona zadnjoj koloni). • Ako su m1i m2u istoj koloni, tada su c1i c2dva karaktera ispod m1i m2, respektivno (usvojeno je da je prvi red susedni donji zadnjem redu). • Ako su m1i m2u različitim kolonama i redovima, tada su c1i c2ostale dve ivice (temena) pravougaonika koji sadržiivice m1i m2, gdeje c1u istom redu kaoi m1dok je c2u istom redu kao i m2. • Ako je m1 = m2, tada se vrši umetanje neutralnog (null) karaktera (na primer, X) između m1i m2. • Ukoliko poruka otvorenog teksta ima neparan broj karaktera tada se na kraj poruke dodaje neutralni (null) karakter. CS336Bezbednost mreža
Plejferov šifarski postupak Primer:Pretpostavimo da je ključ i neka je poruka otvorenog teksta RENAISSANCE. Onda je poruka šifrata: M = RE NA IS SA NC EX C = HG WC BH HR WF GV CS336Bezbednost mreža
One-Time Pads Sistemi sa jednokratnom upotrebom ključa (One-time pad) su supstitucioni sistemi čiji je ključ slučajna sekvenca simbola čija je dužina veća ili jednaka dužini poruke otvorenog teksta. Implementacija sistema sa jednokratnim ključem se bazira na principu kriptografskog uređaja koji se koristio u telegrafskoj komunikaciji. Dati uređaj je realizovao 1917. godine Gilbert Vernam u kompaniji A.T. & T. (American Telephone and Telegraph Company). CS336Bezbednost mreža
One-Time Pads Uređaj je koristio Bodov kod (Baudot code) sa 32 karaktera, gde se svaki karakter predstavljao na papirnoj traci kao kombinacija od ukupno pet ‘rupa‘ i nebušenih prostora. Svaki probušen prostor (mark) je predstavljao logičku ‘1’ dok je nebušeni prostor (space) predstavljao logičku ‘0’. Ključ je bio jednokratna slučajna sekvenca karaktera, koji se takođe sastojao od bušenih i nebušenih prostora (0 i 1). Navedeni šifarski postupak je poznat kao Vernamova šifra gde se vrši generisanje niza bita šifrata C = Ek(M) = c1c2…gde je ci = (mi + ki) mod 2, i = 1,2,... CS336Bezbednost mreža
One-Time Pads Vernamovšifarski postupak se efikasno implementira u savremenim računarskim sistemimakoristeći exclusive-or operaciju nad svakim bitom poruke otvorenog teksta i ključa: ci = mi ki Dešifrovanje se realizuje primenom identične operacije: mi = ci ki (x x = 0 i x 0 = x , za x=1or 0; tako da jeci ki = mi ki ki = mi 0 = mi ) Primer:Ako je karakter A otvorenog teksta (11000 u Bodovom kodu) šifrovan primenom karaktera D ključa (10010 u Bodovom kodu), rezultujući karakter šifrata je: M = 11000 K = 10010 C = 01010 CS336Bezbednost mreža
Simetrični algoritmi • Simetrični algoritmi koriste identičan ključ i pri šifrovanju i pri dešifrovanju poruka. • Ključ se označava kao tajni ključ (secret key) ili deljeni tajni ključ (shared secret key). • Simetrični kriptografski sistemi se alternativno nazivaju sistemi sa tajnim ključem. • Dužina ključa je najbitnija komponenta u sigurnosti sistema zaštite. CS336Bezbednost mreža
Zahtevi • Nameću se dva osnovna zahteva pri korišćenju simetričnih šifarskih sistema: • primena kriptografski jakog algoritma, • tajni ključtreba da bude poznat samo učesnicima u komunikaciji tj. Y = EK(X) X = DK(Y). • Sigurnost kriptografskog sistema treba da se zasniva isključivo na tajnosti ključa a ne na tajnosti primenjenog postupka. • Podrazumeva se postojanje sigurnog kanala za distribuciju ključeva. CS336Bezbednost mreža
Dužina ključa • Ključevi veće bitske dužine obezbeđuju veći stepen zaštite. • Uobičajni tip napada na kriptosisteme je testiranje svih mogućih kombinacija ključa (brute force attack): • Testiraju se svi mogući ključevi. • Duže ključeve karakteriše ogroman broj mogućih kombinacija, što obesmišljava brute force attack. • Formula za određivanje broja mogućih kombinacija je 2n gde je n bitska dužina ključa. CS336Bezbednost mreža
Dužina ključa Ukupan broj mogućih kombinacija ključa CS336Bezbednost mreža
Data Encryption Standard (DES) • Jedan od najčešće korišćenih simetričnih kriptografskih algoritama. • Koristiključ od 56bita. • Nedostatak: • dužina ključa od 56bitase ne smatra dovoljno sigurnom. • Savremeni sistemikoriste, pri realizaciji (de)šifrovanja svakog bloka poruke, tri uzastopne DES iteracije • Triple DES (3DES). CS336Bezbednost mreža
Data Encryption Standard (DES) U ranim 70-tim godinama prošlog veka, the National Bureau of Standards (sadašnji the National Institute of Standards and Technology - NIST) je objavio zahtev za predlog realizacije standardnog algoritma za šifrovanje. Dati algoritam je trebao da zadovolji sledeće kriterijume: • Algoritam mora da obezbedi visok stepen sigurnosti. • Algoritam mora biti kompletno opisan i lak za razumevanje. • Sigurnost algoritma mora da zavisi isključivo od primenjenog ključa a ne na tajnosti primenjenog postupka. • Algoritam mora biti raspoloživ za sve korisnike. • Algoritam mora biti takav da ga je lako adaptirati za korišćenje u različitim tipovima aplikacija. • Algoritam treba da se lako može implementirati u različitim sistemima. CS336Bezbednost mreža