Univerzitet Singidunum, Departman za informatiku i raunarstvo
Smer: Programiranje i projektovanje
Seminarksi rad
Osnove kriptografije
Predmet: Zatita informacionih sistema
Profesor: Studenti: dr Gojko Grubor Aleksandar Miloevi E-210/07 Mirjana Risti E-50/07
Januar 2011, Ni, DLS SADRAJ: 1. Uvod ................................................................................................................................... 3 2. Pojam kriptografije i osnovni termini........................................................................... 3 3. Istorijat kriptografije ...................................................................................................4 3.1. sistemi papira i olovke................................................................................................. 5 3.2. Doba elektricnih i mehanikih ureaja za ifrovanje .....................................................6 3.3. Kompijutersko doba ................................................................................................... 7 4. Ciljevi kriptografije .........................................................................................................7 5. Osnovni kriptografski algoritmi ...................................................................................8 5.1. Simetrina kriptografija ...............................................................................................9 5.2. Simetrini algoritmi .....................................................................................................10 5.2.1. Lucifer ...................................................................................................................10 5.2.2. DES (Data Encryption Standard) ............................................................................10 5.2.3. AES (Advanced Encryption Standard) .....................................................................13 5.3. Asimetrina kriptografija .................................................................................................14 5.3.1. Digitalni potpis .......................................................................................................... 15 5.3.2. Digitalni sertifikati .................................................................................................16 5.4. Asimetrini algoritmi .......................................................................................................17 5.4.1. RSA algoritam ..........................................................................................................17 5.4.2. PGP (Pretty Good Privacy)........................................................................................18 6. Kriptoanaliza ..............................................................................................................18 6.1. Vrste napada .............................................................................................................18 6.2. Osnovna pravila zastite ..............................................................................................20 7. Budunost kriptografije ..............................................................................................20 8. Zakljuak ....................................................................................................................21 9. Literatura ..........................................................................................................................21 1. UVOD
Sigurnost raunarskih sistema postaje sve vanija, jer sve vie korisnika na sve vie naina koristi sve vie informacija u raunarskom svetu. U takvom sistemu postoji i sve vea opasnost od neovlaene upotrebe informacija, podmetanja pogrenih informacija ili unitavanja informacija.
U raunarskim sistemima informacije se prenose raznovrsnim otvorenim i nesigurnim komunikacijskim putevima. Pristup do tih puteva ne moe se fiziki zatititi pa svaki neprijateljski nastrojen napada moe naruiti sigurnost sistema. Zbog toga zatitni komunikacijski mehanizmi nad nesigurnim komunikacijskim kanalom postaju najvaniji oblik ostvarenja sigurnosti. Pokazuje se da je najdelotvornija zatita poruka njihovo kriptovanje.
2. POJAM KRIPTOGRAFIJE I OSNOVNI TERMINI
Izraz kriptografija potie iz grkog jezika i znai "tajno pisanje". Izvedenica je grkog prideva (skriven) i glagola grfo (pisati). Kriptografija ima dugu i zanimljivu istoriju koja see hiljadama godina unazad. Istorijski posmatrano, kriptografiji su svoj doprinos dale etiri grupe ljudi: vojnici, diplomate, letopisci i ljubavnici. Najvei doprinos tokom vekova davali su vojnici, jer im je bio najznaajniji. Danas je to moderna nauka bazirana na primenjenoj matematici.
Kriptografija je nauka koja koristi matematiku i matematike metode za kriptovanje i dekriptovanje podataka. Kriptografija nam omoguava transport "osetljivih informacija" preko nesigurnih komunikacijskih kanala bilo to korienjem staromodnih pisama ili u dananje vreme interneta, na nain da niko ne moe proitati sadraj tajne informacije osim osobe kojoj je stvarno namijenjena. Sama enkripcija se sastoji od toga da se ist tekst (ili bilo kakva druga informacija) sakrije tj. prikae na nerazumljiv nain svima osim osobama koje ne poznaju dekripcijski klju. Pored gore navedenog, valja spomenuti jednu bitnu razliku izmeu termina kriptografija i termina kriptologija.
- Kriptografija je nauka koja se bavi svim aspektima sigurnosnog transporta podataka kao to su na primer autentifikacija (web, lokalne mree i sl.), digitalni potpisi, razmena elektronskog novca. - Kriptologija, je za razliku grana matematike koja se bavi matematikim naelima, te matematikom implementacijom kriptografskih metoda.
Profesionalci prave razliku izmeu ifre i koda. -ifra omoguava zamenu znak za znak (bit za bit), bez obzira na jeziku strukturu poruke. -Kodom se jedna re zamenjuje drugom reju ili simbolom. Kodovi se vie ne koriste, mada su imali burnu istoriju.
Kriptografija je nauka koja se bavi metodima ouvanja tajnosti informacija. Kada se line, finansijske, vojne ili informacije dravne bezbednosti prenose sa mesta na mesto, one postaju ranjive na prislukivake taktike. Ovakvi problemi se mogu izbei kriptovanjem (ifrovanjem) informacija koje ih ini nedostupnim neeljenoj strani. ifra i digitalni potpis su kriptografske tehnike koje se koriste da bi se implementirali bezbednosni servisi. Osnovni element koji se koristi naziva se ifarski sistem ili algoritam ifrovanja. Svaki ifarski sistem obuhvata par transformacija podataka, koje se nazivaju ifrovanje i deifrovanje.
ifrovanje je procedura koja transformie originalnu informaciju (otvoreni tekst) u ifrovane podatke (ifrat). Obrnut proces, deifrovanje, rekonstruie otvoreni tekst na osnovu ifrata. Prilikom ifrovanja, pored otvorenog teksta, koristi se jedna nezavisna vrednost koja se naziva klju ifrovanja. Slino, transformacija za deifrovanje koristi klju deifrovanja. Broj simbola koji predstavljaju klju (duina kljua) zavisi od ifarskog sistema i predstavlja jedan od parametara sigurnosti tog sistema.
Kriptoanaliza je nauka koja se bavi razbijanjem ifri, odnosno otkrivanjem sadraja otvorenog teksta na osnovu ifrata, a bez poznavanja kljua. U irem smislu, kriptoanaliza obuhvata i prouavanje slabosti kriptografskih elemenata, kao to su, na primer, he funkcije ili protokoli autentifikacije. Razliite tehnike kriptoanalize nazivaju se napadi.
Originalna poruka koju e poiljaoc slati u daljnjem razmatranju e se zvati isti tekst ili original. Zatim, kodiranje poruke tj. postupak pretvaranja originala (istog teksta) u neitljiv oblik emo nazvati enkripcija. Tako enkriptujen tekst ima engleski termin ciphertext, a mi emo je jednostavno nazvati kodiranom porukom. Nadalje, postupak dekodiranja poruke, tj. vraanja poruke iz njenog enkriptujenog oblika u originalni (isti tekst) oblik naziva se dekripcija. Vrlo vaan termin u kriptografiji je klju. Klju ima veliku ulogu u enkripciji i dekripciji poruke.
3. ISTORIJAT KRIPTOGRAFIJE
Kada je pismo postalo sredstvo komunikacije, pojavila se potreba da se neka pisma sauvaju od tuih pogleda. Tada je i kriptografija ugledala svetlost dana. Od samog poetka, enkripcija podataka koristila se prvenstveno u vojne svrhe. Kriptografija ima dugu i fascinantnu istoriju. Postoje ak podaci da su Egipani pre vie od 4000 godina koristili kriptografiju za zatitu informacija. Jedan od prvih velikih vojskovoa koji je koristio ifrovane poruke bio je Julije Cezar. Naime, kada je Cezar slao poruke svojim vojskovoama, on je te poruke ifrovao tako to su sav ili pojedina slova u tekstu bila pomerana za tri, etri ili vie mesta u abecedi. Takvu poruku mogli su da deifruju samo oni koji su poznavali "pomeri za" pravilo. Poznata Cezarova izjava prilikom prelaska Rubikona u ifrirovanom dopisivanju glasila bi: "fqkf ofhzf kyz". Pomeranjem svakog slova za est mesta u abecedi lako se moe proitati pravi smisao poruke: Alea iacta est (kocka je baena) .
Prvu poznatu raspravu o kriptografiji, napisao je na 25 stranica italijanski arhitekta Leone Batista Alberti 1467. godine. On je takoe tvorac takozvanog ifarskog kruga i nekih drugih reenja dvostrukog prikrivanja teksta koja su u XIX veku prihvatili i usavravali nemaki, engleski i francuski ifrantski biroi. Pola veka nakon toga objavljeno je u pet svezaka delo Johanesa Trithemusa prva knjiga iz podruja kriptografije. Kasnije znaajan doprinos daju milanski doktor Girolamo Kardano, matematiar Batisto Porta i francuski diplomata Blaise de Vigener.
Sve do Drugog svetskog rata ifrovane poruke mogle su se koliko-toliko i deifrovati. Na nemakoj strani pojavila se maina koja je ifrovala poruke na do tada jo nevien nain. Nemci su mainu nazvali Enigma. Meutim ma koliko je ona u to vreme bila revoluciona saveznici su uspeli da razbiju poruke ifrovane Enigmom. Posle Drugog svetskog rata i pojavom prvih raunara otvorila su se nova vrata kriptografiji. Raunari su vremenom postajali sve bri i bri, radei i po nekoliko stotina, a kasnije i miliona operacija u sekundi. Novom brzinom rada je omogueno probijanje ifri za sve manje vremena. Uporedo s tim, radilo se i na izmiljanju novih, sigurnijih i komplikovanijih algoritama za ifrovanje.
Poetkom 60-ih sa razvojem raunara dolo je do sve veih zahtjeva za zatitom informacija, a time i do razvoja kriptografije. U zadnjih 20-ak godina desila se prava eksplozija u razvoju kriptografije. Dok je klasina kriptografija bila u upotrebi kod obinih ljudi ve due vreme, kompijuterska kriptografija je bila u potpunosti u vojnom domenu jo od 2. svjetskog rata. Amerika NSA (National Security Agency) i njihovi ekvivalenti u bivem Sovjetskom savezu, Engleskoj, Izraelu, Francuskoj i drugde potroili su milijarde dolara na razno razne igre osiguranja svojih komunikacija i pritom elei razbiti tue. Privatne osobe sa manje znanja i novaca su bile bespomone u zatiti svoje privatnosti od takvih vlada.
Danas je situacija bitno drugaija. Postoji puno materijala, to besplatnih koji omoguavaju vrlo visoki nivo kriptovanja svakome ko eli. Dodue u nekim dravama i danas postoje zakoni o ogranienju korienja kriptografskih alata, ali sve je to uzaludno kada se na internetu mogu nai gotovo sve implementacije kriptografskih metoda.
3.1. SISTEMI PAPIRA I OLOVKE
Prvi poceci kriptovanja datiraju jos iz antikih vremena. Jedan od prvih modela je supstitucija (Slika 1).
Slika 1. ifrovanje poruke tehnikom papirai olovke
Ona se zasniva na zameni slova sa nekim dugim znakovima. Ovim nainom kodiranja koristili su se Hebreji koji su zamenjivali jedna slova drugima. Tri takva nacina kodiranja prikazana su u nastavku teksta. Treba primetiti da je ovo kodiranje reciprono, odnosno da ako jedno slovo postaje drugo, onda ovo drugo postaje ono prvo. Takodje treba primetiti da tablica gore sadi i numeriku vrednost svakog slova napisanu ispod imena pojedinog slova, originalni izgled tog slova na herbejskom je "Crzptic Script B" koje je korieno u delovima svitaka pergamenata mrtvog mora.
Drugi poznati nain je transpozicija. Njome su se koristili stari Spartaci. Zasniva se na tome da se menja redosled slova u tekstu odnosno da se rotira pozicija slova. Jedna od poznatih verzija je stupiasta (Slika 2).
Slika 2. Stupiasta ifra
Tu se koristimo reju kao kljuem. Svako slovo rei oznacimo sa brojem. Prvo brojeve reamo po redosledu u abecedi a drugo ako su dva ista slova onda po poziciji rei. Zatim ispod toga napiemo tekst bez razmaka te zapisujemo stupce teksta po redosledu kako rastu brojevi. Konana koncepirana poruka izgleda:
s tim da treba uzeti u obzir da u njoj ne bi bilo razmaka, jer oni olakavaju dekodiranje. Pored ovih najpoznatijih sistema papirom i olovkom postoje i nomenklatori i homophoni, poligrafski ifrarnici i frakcionacija kao i polialfabetna supstitucija.
3.2. DOBA ELEKTRINIH I MEHANIKIH UREAJA ZA IFROVANJE
Uvoenje elektrinih i mehanikih ureaja u svet ifrovanja i kodiranja omoguilo je puno vii nivo komplikovanosti postupka ifrovanja a samim tim i razbijanja ifre. Neki od prvih oblika mehanikih naprava bili su:
Bazerie-ov cilindar (Slika 3). U osnovi njega je ve pre otkrio Thomas Jefferson, ali se poeo koristiti tek nakon ponovnog Bazerie-ovog otkria. Sastoji se od 20 do 30 diskova na ijem obodu su nasumino ispisana slova abecede, a u sredini imaju rupu tako da se mogu poslagati na osovinu. Diskovi su numerisani tako da njihov redosled moemo koristiti kao klju. Poruke se ifriraju tako da okreemo diskove dok u jednom redu ne dobijemo odgovarajuu poruku koju elimo poslati. Tada posaljemo poruku iz nekog drugog reda koja nema smisla i klju, te e se pomou ta dva podatka poruka moi rekonstruirati na identinom cilindru.
Slika 3. Bazerie-ov cilindar
Kryha kriptograph - sastoji se od dve ploe od kojih je na svakoj ispremetana abeceda. One se mogu menjati a okreu se na zupanicima tako da za jedno slovo na prvom disku drugi disk se pomakne za pet.
Crvena maina- sastoji se od dva tzv. polurotora od kojih je jedan korien za 20 suglasnika a jedan za 5 samoglasnika plus slovo y. Polurotor je u stvari vrsta rotora(osnovni deo rotacijskog ureaja) koja na jednoj strani ima disk sa N kontakata a ne drugoj strani vreteno sa N traka. Ovakvom konstrukcijom garantuje da e pri svakom okretu dovesti slovo do druge zamene. Ovu napravu su koristili japanci u drugom svetskom ratu. Najpoznatiji uredjaji ovog doba su: "Purple", "Coral", "Jade", "Enigma" i ECM-MarcII. A teleifrarnici: Lorentz SZ40 i M-228 SIGCUM.
3.3. KOMPIJUTERSKO DOBA
Era kompijutera i elektronskih naprava omoguila je slobodu kreatorima ureaja za ifrovanje, te im omoguila upotrebu puno sloenijih dizajna, koji bi bili previe podloni grekama kad bi se upotrebljavali po principu olovke i papira, a sa druge strane njihova implementacija preko elektromehanikih ureaja bi bila preskupa. Njen poetak oznaen je sa razvojem blokovnih ifrarnika poevi sa LUCIFEROM, projektom IBM-a koji je osnovni predak DES-a (Data Encryption Standard). Oni su obraivali blok po blok podataka i to tako da su proces ifrovanja ponavljali i vie puta nad istim blokom koristei se sistemima slinim autokey sistemu. S vremenom i jaanjem procesora ovi sistemi postaju podloni brute force napadima te se razvija AES (Advanced Encryption Standard), koji za razliku od 56 bitnih blokova korienih u DES-u, koristi 128 bitne blokove sa duinom kljua od 128 do 256 bitova, te je samim time tei za probiti.
4. CILJEVI KRIPTOGRAFIJE
Od svih ciljeva sigurnosti informacije sledea etiri ine temelj od koga e svi ostali biti izvedeni:
(1) privatnost ili poverljivost; (2) integritet podataka; (3) autentifikacija; i (4) neporecivost.
1. Poverljivost je jo poznata i kao tajnost. Poverljivost je svojstvo koje osigurava da je informacija dostupna samo autorizovanim korisnicima. Samo autorizovani primaoc bi trebao moi izvui sadraj poruke iz njene kriptovane forme. Inae, ne bi smelo biti mogue dobiti vredne informacije o sadraju poruke. Postoje brojni pristupi pruanju poverljivosti, od fizike zatite do matematikih algoritama koji ine podatke nerazgovetnim.
2. Integritet podataka je svojstvo koje se bavi detekcijom ne autorizovane promene podataka. Kako bi osigurali integritet podataka, pojedinac mora imati mogunost otkrivanja manipulacije podataka od strane ne autorizovanih pojedinaca. Manipulacija podataka ukljuuje takve stvari kao to su ubacivanje, brisanje i zamena.
3. Autentifikacija je postupak utvrivanja da li je neko uistinu onaj za kog se predstavlja da jeste. Autentifikacija i identifikacija su razliite. Identifikacija zahteva da verifikator proveri dobijene informacije sa svim entitetima za koje zna, dok autentifikacija zahteva da se informacija proveri za jedan, prethodno identifikovan, entitet. Dok identifikacija mora, prema definiciji, jedinstveno identifiikovati dati entitet, autentifikacija ne zahteva jedinstvenost.
4. Neporecivost je svojstvo koje spreava entitet da porie preanje obaveze ili akcije. Neporecivost osigurava da ugovor, posebno onaj koji je dogovoren preko Interneta ne moe kasnije biti opovrgnut od bilo koje ukljuene stranke. Neporecivost znai da se moe potvrditi da su poiljaoc i primaoc zaista entiteti koji su poslali odnosno primili poruku.
Kriptografija moe osigurati mehanizme koji e pomoi pri postizanju navedenih svojstava. Medutim, neka svojstva nisu uvek potrebna, praktina ili ak poeljna u odreenim situacijama. Na primer, poiljaoc poruke moe poeleti ostati anoniman, oito je da u ovom sluaju neporecivost bi bila neprikladna. Kriptografija se bavi spreavanjem i detekcijom varanja i drugih zlonamernih aktivnosti. Kriptografski algoritam je matematika funkcija koja se koristi za ifrovanje i deifrovanje (uopteno, radi se o dve funkcije, jednoj za ifrovanje, a drugoj za deifrovanje). Njeni argumenti su klju i otvoreni tekst, odnosno klju i ifrat. Skup svih moguih vrednosti kljueva zovemo prostor kljueva. Kriptosistem se sastoji od kriptografskog algoritma, te svih moguih otvorenih tekstova, ifrata i kljueva.
5. OSNOVNI KRIPTOGRAFSKI ALGORITMI
Nekada, pre nego to su raunari uli u iroku upotrebu, tj. pre nego su se dovoljno razvili, veina kriptografskih metoda ifrovanja se bazirala na tajnosti ifre. No, tako bazirani algortimi su se pokazali dosta nepouzdani, te su se morale pronai neke druge metode ifrovanja. Dananje metode ifrovanja zasnivaju se na upotrebi kljua. Klju je najvaniji deo u pravilnom enkriptovanju i dekriptovanju poruka.
Upravo zavisno o nainu korienja kljua, razvile su se dve klase algoritama. Jedna je simetrina, a druga asimetrina klasa. Drugim reima, postoje simetrini algoritmi kriptovanja i asimetrini algoritmi kriptovanja. Osnovna razlika je u tome da simetrini algoritmi koriste isti klju za enkripciju i dekripciju neke poruke (ili se klju za dekripciju moe lako proizvesti iz originalnog kljua za enkripciju), dok asimetrini algoritmi koriste razliite kljueve za enkripciju i dekripciju iste.
Simetrini algoritmi:
Ove algoritme delimo u dve grupe: stream ifrovanje i blok ifrovanje. Stream ifrovanje radi tako da se enkripcija poruke (originala) vri bit po bit, dok se kod blok ifrovanja enkripcija vri po blokovima podataka, tj. uzimaju se blokovi od vie bitova (64, 128, 196, 256...), te se enkriptuju kao celina. Dekripcija se najee vri inverznim enkriptovanjem, tj. algoritam je isti, ali se podkljuevi enkripcije koriste obrnutim redosledom.
Asimetrini algoritmi:
Ove algoritme nazivamo jo i public-key algorithms, tj. algoritmi s javnim kljuem. Razlog ovakvom nazivu je taj to je dozvoljeno da se jedan od kljueva potreban za enkripciju/dekripciju objavi javno (npr. Internet, novine). Ovde treba obratiti panju na rei "jedan od kljueva". Ono to je specifino za ovaj tip algoritma je to da se koriste dva kljua za enkripciju/dekripciju poruke (originala). Ideja je sljedea: osoba A objavi svoj javni klju preko nekog medija (npr. Internet). Osoba B, koja osobi A eli poslati tajnu poruku enkriptuje tu svoju poruku s kljuem koju je osoba A javno objavila te joj takvu poruku poalje (recimo preko e-mail servisa). Jedino osoba A sa svojim privatnim (tajnim) kljuem moe dekriptovati poruku poslanu od osobe B i niko drugi.
Uglavnom, simetrini algoritmi su po svojoj prirodi bri, tj. implementacija na raunaru se bre odvija od implementacije asimetrinih algoritama. No, zbog nekih prednosti Poglavlje: Osnovni asimetrinih algoritama u praksi se obe vrste algoritama isprepleu u cilju bolje zatite poruka. Obino se asimetrini algoritmi koriste za enkripciju sluajno generisanog broja koji slui kao klju za enkripciju originalne poruke metodama simetrinih algoritama. Ovo se naziva hibridna enkripcija.
5.1. SIMETRINA KRIPTOGRAFIJA
Simetrina kriptografija je najstariji oblik kriptografije, stara gotovo koliko i ljudska komunikacija (naziva se i kriptografijom tajnog kljua jer se podatak kriptuje i dekriptuje istim kljuem). Za proces kriptovanja u simetrinoj kriptografiji potrebno je znati algoritam kriptovanja i tajni klju. Nekad su se algoritmi drali u tajnosti, ali se pokazalo da skrivanje algoritma ne doprinosi sigurnosti. Svi savremeni simetrini algoritmi javno su objavljeni. Zbog toga ih je u potpunosti mogue testirati i proveriti njihovu otpornost na napade, odnosno mogue ih je analizirati (kriptoanaliza). Sigurnost simetrinih algoritama zavisi od sigurnosti samog algoritma i duini kljua.
Najpoznatiji simetrini algoritam je DES (Data Encryption Standard), koji je razvio IBM-a 1977. godine. Bio je standardni simetrini algoritam sve do 2000. godine kad ga je zamijenio AES (Advanced Encryption Standard), koji rukuje kljuevima duine 128, 192 i 256 bita. Glavni razlog zbog kojeg je DES zamijenjen AES-om je taj to DES ima duinu kljua od 56 bita. Ve smo rekli da je simetrina kriptografija tajnim kljuem postupak kojim se koristi jednak klju za enkripciju i dekripciju podataka. Simetrinu kriptografiju moemo matematiki prikazati izrazima:
Enkripcija: C = Ek (M ) Dekripcija: M = Dk (C )
gdje E predstavlja enkripcijsku funkciju, D dekripcijsku funkciju, k je tajni klju jedinstven za obe strane, M je originalna (plaintext) poruka, a C je pripadajua enkriptovana poruka (ciphertext).
Nain korienja simetrine enkripcije najlake je pokazati sledeim primerom. Poiljaoc i primaoc poseduju zajedniki tajni klju, koji samo oni znaju te su prethodno dogovorili zajedniki kriptografski algoritam koji e koristiti. Kada poiljaoc eli poslati poruku primaocu, on enkriptuje originalnu poruku (plaintext) korienjem tajnog kljua i prethodno dogovorenog algoritma. Time dobija enkriptovanu poruku (ciphertext) koju dalje alje primaocu . Primaoc prima enkriptovanu poruku (ciphertext) od poiljaoca i dekriptuje je svojim privatnim kljuem kako bi opet dobio originalnu poruku (plaintext).
Ukoliko neko prislukuje njihovu komunikaciju, prima samo enkriptovanu poruku, jer je jedino ona slana preko otvorenog kanala tako da je tajnost komunikacije sauvana. Mana simetrine enkripcije je to se podrazumeva da su se dve strane poiljaoc i primaoc unapred dogovorili o vrednosti enkripcijsko/dekripcijskog kljua koji mora ostati u tajnosti od neautorizovanih korisnika.
Kod takvog prenosa gde se koristi jedinstveni klju je, takoe, mogu i tzv. napad sirovom silom ili brute-force attack, koji podrazumeva isprobavanje svih moguih kombinacija tajnog kljua sve dok se ne pronae koriena kombinacija.
5.2. SIMETRINI ALGORITMI
5.2.1. LUCIFER
Lucifer je prvi simetrini algoritam za kriptovanje koji je osmislio Horst Fiestel, razvijen od strane IBM a u ranim sedamdesetima. Prethodnik je DES a i mnogo je jednostavniji od njega.
injenice: prvi simetrini algoritam sa blok ifrovanjem prethodnik DES-a enkriptuje blok veliine 128 bita koristi klju veliine 128 bita 16 podkljueva duine 72 bita koristi 16 'Feistel runda' (iteracije) kod enkriptovanja dekripcija se vri inverznom enkripcijom
Slabosti: slabosti u korienju kljua (key scheduling) slab je na napade diferencijalne kriptoanalize
Danas se smatra nesigurnim, ali zbog duine kljua, te brzine enkriptovanja moe se koristiti za enkriptovanje u kombinaciji s nekim dobrim simetrinim algoritmom kao to je DES.
5.2.2. DES (DATA ENCRYPTION STANDARD)
DES (Data Encryption Standard) je simetrini enkripcijski algoritam razvijen sredinom 70- tih u IBM-u, a prihvaen kao federalni standard u SAD-u u kasnim sedamdesetim, te je poetkom osamdesetih, tacnije 1981 godine ANSI potvrdio DES kao ANSI standard (ANSI X3.92 Data Encription Standard). DES predstavlja kriptovanje koje transformie 64 bitne blokove podataka u 64 bitne kriptovane blokove podataka. Duina kljua kriptovanja je 64 bita, od kojih 8 otpada na proveru pariteta, tako da je efektivna duina kljua 56 bita.
DES kriptovanje/dekriptovanje se sprovodi u nekoliko koraka (Slika 4). Prvo se bitovi ulaznog bloka duine 64 bita permutiraju nekom permutacijom IP. Tada se ulazni blok podieli na dva dela po 32 bita, levi L0 i desni deo R0. Nad desnim blokom se obavlja funkcija F(Ri,Ki), odnosno F(Ri,K16 i + 1) kod dekriptovanja, gde je Ri desnih 32 bita, a Ki je 48 bitni klju koji se generie iz zadatog tajnog kljua kriptovanja. Vrednost dobijena operacijom XOR izmeu vrednosti funkcije F i levih 32 bita podataka, postaje Ri + 1, tj. desnih 32 bita za sledei korak iteracije. Li + 1 za sledei korak je Ri. Nakon 16 takvih koraka blokovi se zamenjuju te se spajaju i obavlja se konana permutacija koja je inverzna poetnoj, tj. IP 1. Dobijenih 64 bita su kriptovani blokovi. Budui da se nakon dve uzastopne operacije XOR sa istim brojem dobija poetna vrednost, tj. a = (a b) b, postupak dekriptovanja moe se sprovesti tako da se operacije obavljaju obrnutim redosedom. Zbog simetrinosti algoritma to se postie tako da se kriptovani blok pusti kroz isti algoritam sa tom razlikom da se umesto kljua Ki u i-tom koraku upotrebi klju K16 i + 1.
Postupak generisanja estnaest 48 bitnih kljueva od zadanog, tajnog kljua sprovodi se u nekoliko koraka. Prvo se pomou zadane tablice permutacije iz kljua generiu dva bloka po 28 bita. Zatim sledi 16 sledeih koraka: svaki se blok rotira u levo za odreeni broj bita (u zavisnosti o kojem je koraku re), te se iz nastalih blokova (2x28) pomou tablicom zadate permutacije genere klju Ki, gde je i broj koraka. Funkcija enkripcije F jeste zapravo najkritiniji deo algoritma, tj. upravo zbog njene kompleksnosti ne postoji (barem koliko je za sada poznato) nain provaljivanja DES-a (osim grubom raunarskom silom).
Vrednost funkcije dobija se u nekoliko koraka. Najpre se od ulaznih 32 bita (Ri) proirenjem zadanom tablicom dobija 48 bita. Ta se vrednost se zbraja logikom operacijom XOR sa kljuem Ki paralelno nad svakim bitom. Dobijena 48 bitna vrednost se deli na osam delova od po est bita. Prvi i zadnji bit svakog dela predstavlja adresu reda, a srednja etiri adresu kolone u tablici selekcije, odnosno, pomou est odreena su etiri bita. Istim postupkom nad svakom estorkom od ulaznih 48 bita selekcijom dobijamo 32 bita. Tih se 32 bita jo permutuje zadatom tablicom te se dobija konana vrednost funkcije F.
injenice: nastao od LUCIFER-a, (NBS,IBM,NSA) enkriptuje blok veliine 64 bita koristi klju duine 64 bita (56 efektivno) broj rundi varijabilan (zavisi od duine kljua i duine bloka) koristi 16 podkljua duine 48 bita koriste se Feistel runde
Zanimljivost vezana uz DES je na alost i njegova slabost. Naime, zbog naina na koji DES kreira podkljueve, postoje 4 kljua za koje je dekripcija jednaka enkricpiji. To znai da ako s tim kljuem elimo enkriptovati poruku dvaput, dobili bi smo kao rezultat originalnu poruku. No, verovatnost enkriptovanja ba tim kljuevima je jako mala pa ne utie znaajno na sigurnost.
Slika 4. DES enkripcija
5.2.2.1. PROBIJANJE DES-A
DES je nastao poetkom 70-ih godina, a odobren je 1977. Moe se rei da je kao enkripcijski standard zadovoljio ciljeve (sigurnost) i predvien mu je vek trajanja (20-25 godina), ali krajem 90-ih (1997), RSA Laboratories obrazuje RSA Secret Key Challenge. Cilj izazova bio je probijanje nekih od najkorienijih algoritama enkripcije u to doba. Takoe, pored samog dokaza o ranjivosti dananjih algoritama (DES, RC5), oekivala su se i neka dodatna saznanja koja bi se stekla kroz izazov. Izazov se u poetku sastojao od 13 zadataka. Dvanaest od njih su se sastojala od probijanja RC5 algoritma i to razliitih duina kljueva (od 40-128 bitova), dok je jedan zadatak bio probijanje DES-a. Nie je hronoloki redosled probijanja algoritama:
januar, 1997. - RSA izdaje RSA Secret Key Challenge ($10,000) septembar, 1997. - razbijen 56-bitni RC5 nakon 250 dana brutte-force (exhaustive key search) napada sa 10,000 raunara. Projekt se zvao Bovine RC5 Effort, grupa koja je vodila projekt zvala se Distributed.net group, a koriena metoda povezivanja raunara zove se distribuirano mreno raunarstvo. Dosta vaan podatak vezan za ovaj nain obrade podataka je to da je korieno samo idle vreme procesora, tj. koristilo se ono vreme dok je procesor bio nezaposlen. Kada bi se posvetilo potpuno vreme svih korienih raunara samo ovom zadatku, vreme probijanja kljua bilo bi puno krae. 1997. - razbijen 56-bitni DES - za razbijanje brutte-force metodom, bilo je potrebno 96 dana. Grupa se zvala Deschall i korieno je takoe distribuirano mreno raunarstvo s 15,000-20,000 raunara. januar, 1998. - RSA izdaje DES challenge II izazov. Cilj RSA je bio da dvaput na godinu dana izda novi izazov za razbijanje DES-a. Po njihovim procenama, svakom novom uspelom pokuaju trebalo bi znatno manje vremena za razbijanje. februar, 1998. - razbijen 56-bitni DES grupa Distributed.net u puno kraem roku probija DES (41 dan). I ovaj put se koristilo distribuirano mreno raunarstvo uz ukupno 50,000 procesora. Projekt je nazvan Monarch i pretraeno je ukupno 85% 56- bitnog prostora kljua. jul, 1998. - razbijen 56-bitni DES drugi u nizu izazova te godine (DES challenge II-2) koji je dobijen od Electronic Frontier Foundation (EFF) organizacije. EFF je kreirala posebno projektovan raunar nazvan DES Cracker koji je kotao $220,000 i koji je probio DES za 56 sati. Brzina pretraivanja ovog custom-made raunara bila je 90 biliona kljueva/sekundi. januar, 1999. - razbijen 56-bitni DES. Na izazov DES challenge III odazvali su se opet EFF i Distributed.net grupa, samo ovaj put su ujednili snage. DES Cracker, sada uz pomo distribuiranog mrenog raunarstva koje je objedinjavalo 100,000 PC raunara na Internetu, probilo je poruku kodiranu 56- bitnim DES kljuem za 22 sata i 15 minuta. To je bio ujedno i novi rekord u probijanju DES ifre. Brzina pretraivanja DES prostora je bila 245 biliona kljueva/sekundi. Vano je napomenuti da osim brutte-force napada, postoje jo neke slabosti u DES-u za koje se sumnja da su namerno uvedene. 5.2.2.2. TRIPLE DES I 2-KEY 3DES
"Triple data" enkripcijski standard koji pojaava standardnu DES enkripciju. To je DES bazirani algoritam, ali koristi 2 ili 3 razliita DES kljua. Prvi klju se koristi za enkriptovanje bloka podataka izvorne poruke. Tako enkriptovana poruka se dekriptuje drugim kljuem. Normalno je da se dekripcijom sa ovim kljuem nee dobiti originalna poruka, ve nova ifrovana poruka. Na kraju se razultat dekripcije opet enkriptuje, ovaj put ili treim kljuem ili opet prvim. Time se poveao broj kombinacija koje bi eventualni napada morao probati da bi pronaao klju. Broj kombinacija se penje (za 2 razliita kljua) na 2112, dok za 3 razliita kljua ak na 2168 kombinacija.
3-DES (kako ga jo nazivaju) reava problem duine kljua obinog DES-a, no sa sobom unosi novi problem. Puno je sporiji od obinog DES-a (barem dvaput). To je i jedan od razloga zato je raspisan konkurs za AES. Preporuen od RSA Security-a.
5.2.3. AES (ADVANCED ENCRYPTION STANDARD)
AES je novi algoritam enkripcije koji je zamenio DES kao standardni algoritam enkripcije. Zato AES? Razlog je jednostavan. Naglim razvojem informacijske tehnologije algoritmi koji su nastali pre deset, dvadeset i vie godina su zastareli u smislu da vie ne pruaju dovoljnu sigurnost. Naime, zadnjih dvadeset godina kriptoanaliza (kao i kriptografija) je takoe profitirala od razvoja raunarske moi.
Algoritmi kao DES za koje se nekad smatralo da su neprobojni, danas je mogue kompromitovati. Tok konkursa za AES kako je DES prestao udovoljavati sigurnosnim zahtevima bilo je nuno uvesti novi standard. Poetnu ideju za rad na novom kriptografskom standardu nazvanom AES (engl. Advanced Encryption Standard) NIST (engl. The National Institute of Standards and Technology) objavljuje 2. januara 1997. godine, da bi 12. septembara iste godine i slubeno otvorio javni konkurs. 3DES (engl. Triple DES) je oznaen kao privremeni standard do kraja konkursa. Na konkurs se mogu prijaviti samo algoritmi sa sljedeim svojstvima:
simetrini blokovski algoritmi sa javnim kodom, podravanje veliine bloka od minimalno 128 bita i podravanje veliine kljua od 128, 192 i 256 bita.
Na prvoj AES konferenciji (nazvanoj AES1) 20. oktobra 1998. NIST objavljuje prihvaanje u konkurs 15 kandidata: CAST-256, CRYPTON, DEAL, DFC, E2, FROG, HPC, LOKI97, MAGENTA, MARS, RC6, Rijndael, SAFER+, Serpent te Twofish. Na istoj konferenciji NIST trai javne komentare na pristigle algoritme i u tu svrhu otvara i slubene stranice te forum gdje ljudi iz celog sveta mogu videti kodove algoritama i uestvovati u javnim raspravama i analizama algoritama. Svi pristigli komentari su diskutovani i analizovani na drugoj konferenciji (AES2) odranoj u martu 1999. Na temelju komentara, kritika i analiza 20. avgusta 1999. odabrano je pet finalista: MARS, RC6, Rijndael, Serpent te Twofish. Na treoj AES konferenciji (AES3) odranoj u aprilu 2000. nastavlja se sa javnom analizom finalista sve do 15. marta 2000. godine, kada se za novi standard odabire AES. 5.3. ASIMETRINA KRIPTOGRAFIJA
Utemeljitelji asimetrine kriptografije su W. Diffie i E. Hellman koji su 1976. godine opisali ideju kriptografije koja se temelji na dva kljua, privatnom i javnom kljuu. Razlika simetrinih i asimetrinih algoritama je u tome to simetrini algoritmi koriste isti klju za kriptovanje i dekriptovanje, dok asimetrini algoritmi koriste razliite kljueve za kriptovanje i dekriptovanje. Informacije kriptovane javnim kljuem mogu se dekriptovati samo privatnim kljuem, odnosno to moe samo osoba koja je vlasnik tajnog asimetrinog kljua. Osim toga kriptovanje javnim a dekriptovanje tajnim kljuem, pokazalo se takoe kao odlino svojstvo i omoguava digitalno potpisivanje informacija gdje potpis moe biti proveren javnim kljuem od bilo koga. Kljuevi trebaju biti povezani jednosmernom funkcijom. Odnosno ne sme se moi izraunati privatni klju iz javnog kljua ili se barem ne sme izraunati u razumnom vremenu.
Slika 5. ema asimetrine kriptografije
Asimetrini kriptosistemi zasnivaju se na odreenim svojstvima brojeva koji spadaju u teoriju brojeva. Pri kriptovanju se razumljiv tekst kodira kao niz prirodnih brojeva koji se odabranom funkcijom kriptovanja i kljuem kriptovanja Ke preraunavaju u niz brojeva kriptovanog teksta. Funkcija kriptovanja mora biti takva da iz niza brojeva kriptovanog teksta napada samo s velikim naporima moe odrediti izvorni niz brojeva. Meutim, poznavajui klju dekriptovanja Kd omoguuje lako izraunavanje izvornog niza brojeva. Asimetrino kriptovanje, slika dole, predstavlja sloeniji vid zatite podataka. Za njegovu realizaciju potrebna su nam dva kljua kod svakog od sagovornika. Jedan klju je dostupan svima preko javnih kataloga ili imenika, te se zbog te osobine i naziva javni klju. Drugi klju poznat je samo vlasniku i naziva se tajnim. Iako su razliiti, kljuevi su meusobno povezani odreenim transformacijama (Slika 5) .
Ako ponovo pogledamo prethodni primer, sada je situacija bitno drukija:Pero ifrira poruku Ani upotrebom njenog javnog kljua koji je svima dostupan. Mogao ga je dobiti putem email-a, preuzeti sa njenog Web sajta i sl. Bilo ko ko presretne ovu komunikaciju i pored toga to poznaje Anin javni klju nemoe otkriti sadraj poruke. Poruku moe deifrovati samo Ana korienjem svog tajnog kljua. Na ovaj nain poruka je zatiena od treeg lica koji je prilikom presretanja ifrirane poruke onemoguen u njenom deifrovanju jer mu je za to poreban klju kojeg strogo u tajnosti uva ciljni sagovornik. Glavne mane ovog kriptovanja su njegova sporost i neprikladnost za ifrovanje velikih koliina podataka.
esto korieni asimetrini algoritmi: RSA (Rivest-Shamir-Adleman), Diffie- Hellman, i ostali: ElGamal, Rabin, Eliptic Curves. Ovaj sistem predstavlja reenje za prva dva uslova koja smo na poetku ovog teksta postavili - zatitu tajnosti informacija i ouvanje njihovog integriteta. Ostaje otvoreno pitanje kako da Ana bude sigurna da je poruku koju je primila uistinu poslao Pero. Osiguravanje autentinosti informacija tj. definisanje i provera identiteta poiljaoca postie se upotrebom digitalnih potpisa i digitalnih sertifikata.
5.3.1. DIGITALNI POTPIS
Tehnologija digitalnog potpisa, takoe, koristi tehniku asimetrinog kriptovanja. Dakle, poiljaoc i primaoc imaju par kljueva od kojih je jedan tajni, a drugi svima dostupan javni klju. Kluevi predstavljaju matematike algoritme koje je izdalo sertifikacijsko telo.
Svrha digitalnog potpisa je da potvrdi autentinost sadraja poruke ili integritet podataka (dokaz da poruka nije promenjena na putu od poiljaoca do primaoca), kao i da osigura garanciju identiteta poiljaoca poruke (Slika 6). Osnovu digitalnog potpisa ini sadraj same poruke. Poiljaoc primenom odreenih kriptografskih algoritama prvo od svoje poruke koja je proizvoljne duine stvara zapis fiksne duine (pr. 512 ili 1024 bita) koji u potpunosti oslikava sadraj poruke.To prakticno znai da svaka promena u sadraju poruke dovodi do promene potpisa. Ovako dobijen zapis on dalje ifrira svojim tajnim kljuem i tako formira digitalni potpis koji se alje zajedno porukom.
Slika 6. ema digitalnog potpisa
Da vidimo kako to funkcionie na naem primeru. Pero kreira digitalni potpis na osnovu poruke koju eli da poalje Ani. ifrira ga svojim tajnim kljuem i alje zajedno sa porukom. Ana po prijemu poruke deifruje Perin potpis njegovim javnim kljuem. Zatim primenom istog postupka kao i Pero i ona kreira potpis na osnovu poruke koju je primila i uporeuje ga sa primljenim potpisom. Ako su potpisi identini, moe biti sigurna da je poruku zaista poslao Pero (jer je njegovim javnim kljuem uspeno deifrovala potpis) i da je ona stigla do nje nepromenjena (jer je utvrdila da su potpisi identini). I pored velike sigurnosti koje prua ova metoda zatite, i dalje postoji mogunost prevare. Neko je mogao poslati Ani svoj javni klju tvrdei da je Perin, a zatim joj slati poruke za koje bi ona mislila da ih alje Pero. Reenje ovog problema prua upotreba digitalnih sertifikata.
5.3.2. DIGITALNI SERTIFIKATI
Ako koristite sistem ifrovanja javnim kljuem i elite da nekom poaljete poruku, morate prvo dobiti njegov javni klju. Meutim, kako moete biti sigurni da je to zaista njegov klju? Reenje ovog problema postie se upotrebom Digitalnih sertifikata. Moemo ih nazvati i digitalnom linom kartom, jer oni stvarno to i jesu - digitalna lina karta u syber prostoru, sredstvo kojim ete vi ili osoba sa kojom komunicirate dokazati identitet na Internetu. Poto na Internetu nema policije koja bi proverila vae podatke i izdala vam linu kartu, pojavile su se kompanije koje imaju ulogu poverljive tree strane, CA(Certificate Authority) ija je uloga da provere i utvrde neiji identitet i nakon toga mu izdaju digitalni sertifikat.
Kako to funkcionie u praksi, npr. Pero podnosi zahtev za izdavanje sertifikata CA kompaniji. CA provjerava njegov identitet na osnovu linih dokumenata koje im je prikazao pri podnoenju zahteva. Ako je sve u redu Pero im prosleuje svoj javni klju za koji CA kreira digitalni potpis i nakon toga izdaje sertifikat kojim se potvruje da taj javni klju zaista pripada Peri. Ako Pero kasnije eli da komunicira sa nekim, pri prvom kontaktu mu alje digitalni sertifikat i svoj javni klju. S obzirom da svi poznatiji komunikacijski programi u sebi ve imaju ukljuene javne kljueve, CA kompanija kojima se veruje, primaoc po prijemu ove poruke lako utvruje validnost Perinog sertifikata. Ovde je opisan samo jedan deo primene digitalnih sertifikata.
Ako elite da na vaoj Web prodavnici omoguite kupcima plaanje kreditnim karticama ili prodaju i pruanje poverljivih informacija, va Web server ( server na kome se nalazi vaa prezentacija ) mora imati mogunosti da radi kao Secure Web server. Neophodan uslov za sve ovo je da zatraite i dobijete digitalni sertifikat za va server od nekog CA. Digitalni sertifikat vaeg servera izdat od strane CA mora da sadri sljedee:
Naziv vae organizacije Dodatne podatke za identifikaciju Va javni klju Datum do koga vai va javni klju Ime CA koji je izdao digitalni sertifikat Jedinstveni serijski broj
Svi ovi podaci formiraju sertifikat koji se na kraju ifrira koristei tajni klju CA. Ako korisnik ima povjerenja u CA i ima CA javni klju, moe biti siguran u ispravnost sertifikata. Velika je verojatnost da Web browser koji korisnik poseduje i ve sadri javni klju CA jer su Netscape i Microsoft procenili kojim se CA moe najvie verovati, pa su njihove javne kljueve ukljuili u svoje browsere. Najee korieni standard za digitalne sertifikate je X.509.
5.4. ASIMETRINI ALGORITMI
5.4.1. RSA ALGORITAM
Pod pojmom algoritma podrazumevamo precizno opisan postupak za reavanje nekog problema. Obicno je to spisak uputstava ili skup pravila kojima je, korak po korak, opisan postupak za reavanje zadatog problema. Svaki korak algoritma odnosno svako upustvo iz spiska mora da bude definisana operacija. Algoritmi moraju da budu nedvosmisleni i da se zavravaju u konanom broju koraka. RSA algoritam jedan od najkorienijih asimetrinih algoritama danas.
RSA je skraenica koja je nastala od prezimena njegovih tvoraca: Rona Rivesta, Adi Shamira i Leonarda Adlemana. Svetlost dana ugledao je davne 1977. godine. U RSA algoritmu kljunu ulogu imaju veliki prosti brojevi. To su, kao to znamo, brojevi koji su deljivi samo samim sobom i jedinicom. Prosti brojevi (p i q) u ovom algoritmu slue za generisanje javnog i tajnog kljua: 1. Izabrati proste brojeve p and q. o Iz bezbednosnih razloga celi brojevi p i q treba da budu sluajni i sline bitske duine. 2. Izraunati n = pq. 3. N se koristi kao moduo za javne i privatne kljueve. Njegova bitska duina se obino izraava kao duina kljua. 4. Izraunati (n) = (p)(q) = (p 1)(q 1), gde je: Ojlerova funkcija. 5. Izabrati ceo broj e tako da je uzajamno prost sa (n) i manje od (n), tj. 1 < e < (n), a gcd (e, (n)) = 1; tj., e i (n) su uzajamno prosti (coprime). o e je eksponent javnog kljua. o e ima malu duinu bita i malu Hamingovu teinu to rezultira u efikasnijoj enkripciji uobiajeno 2 16 + 1 = 65,537. Pokazalo se da je mnogo manja duina e (npr. 3), manje bezbedna. 6. Odrediti d takvo da je d = e -1 (mod (n)) ili d 1 e (mod (n)), tj., d je multiplikativna inverzija od e (modulo (n)). Ovo reenje za d se jasnije izraava kao de 1 (mod (n)) Ovo se esto rauna pomou proirenog Euklidovog algoritma. d se uva kao privatni klju. Iz de 1 (mod (n)), javni klju se sastoji od modula N i javnog eksponenta e (n,e), a tajni klju (privatni) je d.Takoe p, q, i (n) se moraju uvati u tajnosti jer se mogu iskoristiti za izraunvanje d. Enkripcija: Ana poalje svoj javni klju (n, e) Peri i uva svoj privatni klju. Zatim, Pero alje ifrovanu poruku M Ani. On prvo pretvori M u ceo broj m, tako da je 0 m < n, upotrebom dogovorenog reverzibilnog protokola poznatog kao ema za dopunu (padding scheme). Pero, zatim, rauna i alje Ani ifrat c prema:
Dekripcija: Ana moe deifrovati m iz c koristei svoj eksponent privatnog kljua d raunanjem:
Iz datog m, Ana moe dobiti poruku M reverznom emom dopune. U sledeoj tabeli dato je vreme u odnosu na duinu kljua potrebno da kompjuter brzine 117 MIPS iz javnog kljua izrauna tajni klju (na primer, Pentium I kompjuter ima oko 150 MIPS-a). Za enkripciju fajlova koriste se kljuevi veliine 1024, 2048 ili 4096 bita. Duina kljua u bitovima (50, 100, 150, 200) i potrebno vreme: 50 - 3.9 h 100 - 74 god 150 - 10 6 god 200 - 3,8 * 10 9 god
5.4.2. PGP (PRETTY GOOD PRIVACY)
PGP je hibridni sistem za enkripciju, jer kombinuje i simetrinu i asimetrinu enkripciju. Podaci se pre ifrovanja pakuju, ako je mogue. Ovo je korisno iz dva razloga. Prvi je manja koliina podataka za prenos. Drugi je dodatna sigurnost, jer se pakovanjem eliminie pojavljivanje slinih delova u izvornoj datoteci. Mnoge tehnike kriptoanalize iskoriavaju ba te sline delove da bi probile zatitu. Naravno, fajlovi koji su ili prekratki za pakovanje ili se ne mogu spakovati dovoljno, ostavljaju se u izvornom obliku. Posle pakovanja, PGP pravi privremeni kljuc, odnosno slucajan broj koji se generie korisnikovim pokretima mia i pritiskanjem tastera, jer su i oni takoe sluajni.
Ovaj klju ima jednokratnu upotrebu, jer se koristi da bi se podaci ifrovali simetrinom enkripcijom. PGP zatim ifruje samo privremeni klju asimetrinom enkripcijom i pridruuje ifrovanim podacima. Deifrovanje se vri suprotnim procesom. Prvo PGP pomou tajnog kljua deifruje privremeni klju, a njim se onda dalje deifruju podaci.
5.4.2.1. ZASTO PGP KORISTI HIBRIDNU ENKRIPCIJU?
Razlog je jednostavan: simetrina enkripcija je oko hiljadu puta bra od asimetrine, ali kod simetrine enkripcije postoji problem prenosa kljua (ako se presretne klju, podaci se mogu deifrovati). Kada se ukombinuju ova dva naina enkripcije, dobija se eljeni efekat: brza enkripcija sa sigurnim prenosom kljua. Klju se, dakle, prenosi, ali ifrovan tako da ga samo osoba koja ima tajni klju moze deifrovati.
Posto PGP koristi asimetrinu enkripciju, to znaci da ima mogunost digitalnog potpisivanja dokumenata, uz jednu razliku. Umesto da se ceo dokument ifruje tajnim kljuem i od njega generie potpis, to se radi samo na kontrolnom kodu dokumenta (veoma slicno CRC-u). Bilo kakva promena na dokumentu rezultuje promenom u kontrolnom kodu, samim tim potpis vie nije vazei, a vi znate da je u pitanju falsifikat. Time se izbegava dupliranje duine dokumenta, jer se potpis ne generie od celog dokumenta.
6. KRIPTOANALIZA
Kriptoanaliza upravo je suprotno od kriptografije. To je nauka koja se bavi razbijanjem ifri, dekodiranjem, zaobilaenjem sistema autentifikacije, uopte provaljivanjem kriptografskih protokola. Znai kriptoanaliza je nauna disciplina koja prouava postupke otkrivanja otvorenog teksta bez poznavanja kljua, te postupke otkrivanja kljua uz poznavanje otvorenih i/ili kriptiranih tekstova, ili uz poznavanje nekih informacija o otvorenim i/ili kriptiranim tekstovima. Razlicite tehnike kriptoanalize nazivaju se napadi.
Napadi na sigurnost se mogu razdvojiti u pasivne i aktivne napade. Pasivnim napadom se samo prislukuje poslana poruka. Pasivni napad je puno tee detektovati nego aktivni napad. Aktivni napad ukljuuje menjanje poruke, maskiranje, ponovno slanje i DoS ('Denial of Service') napade.
6.1. Vrste napada
Napad poznatim ifriraniim tekstom: ovaj napad je najtei. Kriptoanalitiar poznaje samo algoritam kriptovanja i kriptovane tekstove. Napad poznatim otvorenim tekstom: zadani kriptovani tekst kriptoanalitiar poznaje odgovarajui otvoreni tekst ili njegov deo. Kriptoanalitiar zna algoritam i 1 do N otvorenih i kriptovanih tekstova, ali ne zna klju. Napad odabranim otvorenim tekstom: kriptoanalitiar bira otvoreni tekst i kriptuje ga. Ovaj napad omoguuje pronalaenje slabosti u algoritmu. Kriptoanalitiar zna algoritam, kriptovani tekst i 1 do N odabranih parova otvorenih i kriptovanih tekstova, ali ne zna klju. Napad odabranim kripovranim tekstom: kriptoanalitiar moe odabrati kriptirani tekst i na neki nain ga dekriptovati i dobiti otvoreni tekst. Takoe moe odabrati neki otvoreni tekst po svojoj elji. Kriptoanalitiar zna algoritam, kriptirani tekst i 1 do N navodnih kriptovanih tekstova sa otvorenim tekstovima, ali ne zna klju. Adaptivan napad odabranim otvorenim tekstom: kriptoanalitiar koristi napad odabranim otvorenim tekstom. Rezultati napada se koriste za biranje nekog drugog otvorenog teksta. Ovim nainom mogue je unaprediti napad. Ovaj napad poznat je pod nazivom "diferencijalna kriptoanaliza". Kriptoanalitiaru je poznat algoritam, kriptovani tekst, odabrani otvoreni tekst sa kriptovanim tekstom, te odabrani kriptovani tekst sa otvorenim tekstom. Birthday attack: ovaj napad je dobio ime po paradoksu roendana. Meet in the Middle: napad je slian birthday napadu, osim to kriptoanalitiar moe proveriti sredite izmeu dva skupa, a ne mora ekati pojavljivanje vrednosti dvaput u jednom skupu. Napad korienjem srodnih kljueva: u ovom napadu pretpostavlja seznanje o odnosu izmeu kljueva u dva razliita kriptovanja. Napad moe otkriti slabosti u postupku generiranja podkljueva. Delimino znanje o kljuu: napada poseduje delimino znanje o tajnom kljluu (npr. zbog rupe u postupku generisanja podkljueva). U dobrim kriptosistemima, delimino znanje o kljuu ne bi trebalo olakati pronalaenje ostatka kljua. Ako nije tako, lake je izvesti iscrpno pretraivanje. Prema koliini i kvalitetu otkrivenih tajnih informacija moe se klasifikovati uspeh kriptoanalize:
1. Potpuno probijanje ("Total break") - napada otkriva klju. 2. Globalna dedukcija ("Global deduction") - napada otkriva funkcijski ekvivalent algoritma za kriptovanje i dekriptovanje, ali ne nalazi klju. 3. Lokalna dedukcija ("Instance (local) deduction") - napada otkriva dodatne otvorene tekstove (ili kriptovane tekstove), nepoznate od pre. 4. Informacijska dedukcija ("Information deduction") - napada dobija Shannon-ove informacije o otvorenim tekstovima (ili kriptovane tekstovima), nepoznatih od pre. 5. Algoritam koji omoguuje razlikovanje ("Distinguishing algorithm") -napada moe razlikovati kriptovane tekst od sluajne permutacije.
6.2. OSNOVNA PRAVILA ZASTITE
Skoro svi programi za enkripciju umesto brojeva kao kljua, koriste niz slova i brojeva, tj. lozinku. Svi ovi algoritmi su u velikom stepenu sigurni, bilo da se radi o simetrinim ili asimetrinim, ali postoji ansa da se lozinka otkrije ako se ne pridravamo nekih pravila pri njenoj izradi.
Idealna kombinacija zatite je kombinacija hardver-softver i pridravanje dole navedenog pravila o vie niza sluajnih slova i brojeva prilikom smiljanja lozinke. Evo nekoliko pravila kojih bi trebalo da se pridravamo prilikom smiljanja lozinke:
Idealno je da se za lozinku uzme niz sluajnih slova i brojeva. Pri tom bi trebalo da se koristi vie od jednog niza sluajnih slova i brojeva. Ovakve lozinke mnogi izbegavaju jer ih smatraju tekim za pamcenje i upotrebljavaju rei iz svakodnevnog govora. U tom slucaju potrebno je pridravati se sledeih pravila: Ne koristiti rei koje se lako mogu pogoditi: na primer, godinu roenja, devojako prezime supruge (ili svoje, ako je u pitanju korisnik enskog pola) , ime deteta, suprunika, roditelja, bliskog roaka, psa/macke/kanarinca ili nekog drugog kucnog ljubimca itd. Trebalo bi koristiti vie od jedne rei. Izbegavajte upotrebu rei iz renika u neizmenjenom obliku. Korisno je upotrebiti barem kombinaciju jedne rei sa nekim brojem. Budite inventivni. Najbolja lozinka moze biti deo citata iz neke knjige ili neka besmislena reenica.
7. BUDUNOST KRIPTOGRAFIJE
Kvantna i DNK kriptografija e moda u nekoj skorijoj budunosti predstavljati osnov za zatitu poverljivih dokumenata. Kvantna kriptografija nastala je kao posledica otkria u oblasti kvantnog raunarstva. Ona se zasniva na jednom od osnovnih principa kvantne fizike: Hajzenbergovom principu neodreenosti. Jedan od tvoraca RSA algoritma, Leonard Ejdlman, doao je na ideju korienja DNK kao raunara. On je pretpostavio da se DNK moe posmatrati kao raunar ogromne snage sposobne za paralelno izvravanje operacija. Time se brzina izvravanja eksponencijalno poveava u odnosu na obine raunare.
8. ZAKLJUAK
Kada su se pojavile raunarske mree, nije se mnogo vodilo rauna o njihovoj sigurnosti, jer su se tada uglavnom koristile za razmenu elektronske pote izmeu istraivaa sa raznih univerziteta ili za tampanje dokumenata u kompanijama koje su posedovale vie raunara koji su preko mree bili povezani na jedan zajedniki tampa. Danas, kada su raunarske mree dostupne svakome, njihovoj sigurnosti se posveuje velika panja. Da nije toga, u dananje vreme se ne bi moglo kupovati preko mree niti obavljati razne bankarske transakcije. Veliki je broj ljudi koji na razne naine pokuavaju da narue sigurnost mrea, elei time da naude drugim ljudima i da prvenstveno steknu neku korist od toga. Oni pokuavaju da itaju ili da menjaju sadraj poruka dostupnih preko mree, iako nisu ovlaeni za to. Tako, na primer:
- uenik ili student e, itajui tue e-mail poruke, sebi prekratiti vreme, - haker e testirati neiji sigurnosni sistem pokuavajui da mu ukrade podatke, - poslovni ljudi e pokuati da otkriju planove konkurentne kompanije, - otputeni radnik e probati da se poslodavcu osveti zbog otputanja, - raunovoa e proneveriti novac od kompanije, - lopov e pokuati da ukrade broj tue kreditne kartice da bi pomou nje kupovao, - pijun e pokuati da sazna sa kakvom vojnom silom raspolae neprijatelj
Svi ovi primeri ukazuju na to da je neophodno stvoriti inteligentne mehanizme koji e raunarsku mreu uiniti sigurnom. Zadovoljavajui rezultati su postignuti upotrebom raznih algoritama ifrovanja, kojima se podaci maskiraju i tako bivaju osigurani za prenos. Korienjem protokola za autentifikaciju, osigurava se sigurna komunikacija izmeu dve strane. Osim toga, pojavom digitalnih potpisa i SSL protokola omogueno je da se razne bankarske transakcije i razmena dokumenata od velike vanosti obavljaju na siguran nain.
9. LITERATURA
1. A. Dujella, M. Mareti: Kriptografija, Element, Zagreb, 2007. 2. Operacijski sastavi 2: Radovi studenata iz podruja raunarske sigurnosti, Fakultet elektrotehnike i raunarstva, Zagreb. http://os2.zemris.fer.hr 3. Pretty Good Privacy, http://www.pgpi.org/ 4. J. J. Savard: A Cryptographic Compendium, http://www.quadibloc.com/crypto/intro.htm 5. RSA Laboratories: Frequently Asked Questions About Today's Cryptography, http://www.rsasecurity.com/rsalabs/faq/ 6. D. Pleskonji, N. Maek, B. orevi, M. Cari, Sigurnost raunarskih sistema i mrea, Mikro knjiga, Beograd, 2007. 7. NIST: AES Round 2 Information, http://csrc.nist.gov/CryptoToolkit/aes/round2/round2.htm 8. D. Mller: Ars Cryptographica, http://www.apprendre-en-ligne.net/crypto/menu/ 9. Wikipedia: Cryptography, http://en.wikipedia.org/wiki/Category:Cryptography 10. http://web.math.hr/~duje/kript.html