You are on page 1of 67

UniverzitetuNiu Elektronskifakultet Predmet:Prenospodatakaiumreavanje

SEMINARSKIRAD

Zatitapodataka primenomkriptografskihmetoda

Profesor: GoranLj.orevi Ni,2010

Student: KovaeviVladimir Br.ind.231/08

Sadraj
1 Uvod ........................................................................................................................................................ 3 1.1 Vrste napada i zatita podataka na mrei .......................................................................................... 4 1.2 Sigurnosni servisi .............................................................................................................................. 5 2 Kriptografija........................................................................................................................................... 7 2.1 Osnovni pojmovi i terminologija u kriptografiji ............................................................................... 7 2.2 Kratak istorijski pregled, opti pojmovi i podela u kriptografiji ...................................................... 7 2.3 Bit stringovi, stream ifrovanje i blok ifrovanje.............................................................................. 8 2.4 Blok ifrovanje ................................................................................................................................ 10 2.5 Simetrina kriptografija .................................................................................................................. 10 2.5.1 DES algoritam .......................................................................................................................... 11 2.5.2 Trostruki DES (3-DES) algoritam ........................................................................................... 15 2.5.3 DES-CBC algoritam sa inicijalizacionim vektorom ................................................................ 16 2.5.4 IDEA algoritam ........................................................................................................................ 17 2.5.5 RC5 algoritam .......................................................................................................................... 19 2.5.6 RC6 algoritam .......................................................................................................................... 22 2.5.7 AES (Rijndael) algoritam......................................................................................................... 25 2.5.8 Blowfish ................................................................................................................................... 29 2.6 Prednosti i nedostatci simetrinog kriptovanja ............................................................................... 30 2.7 Asimetrini kriptosistemi ................................................................................................................ 30 2.7.1 RSA .......................................................................................................................................... 31 2.7.2 Diffie-Hellman-ova eksponencijalna razmena kljueva .......................................................... 33 2.7.3 ELGamal algoritam .................................................................................................................. 34 2.8 Prednosti i nedostatci asimetrinih algoritama ............................................................................... 35 2.9 Hibridni kriptosistemi ..................................................................................................................... 35 3 Tehnika digitalnog potpisa .................................................................................................................. 37 3.1 Potpisivanje cele poruke ................................................................................................................. 37 3.2 Potpisivanje saetka poruke ............................................................................................................ 38 3.3 He funkcije .................................................................................................................................... 40 3.3.1 MD5 ......................................................................................................................................... 40 3.3.2 SHA-1 algoritam ...................................................................................................................... 41 4 Autentifikacija entiteta ........................................................................................................................ 43 4.1 Autentifikacija entiteta pomou simetrinog kriptovanja ............................................................... 43 4.1.1 Prvi vid autentifikacije entiteta ................................................................................................ 43 4.1.2 Drugi vid autentifikacije entiteta.............................................................................................. 43 4.1.3 Bidirekciona autentifikacija ..................................................................................................... 44 4.2 Autentifikacija entiteta korienjem asimetrinog kriptovanja ...................................................... 45 5 Upravljanje kljuevima ....................................................................................................................... 47 5.1 Kreiranje kljua ............................................................................................................................... 47 5.2 Distribucija kljueva ....................................................................................................................... 48 5.2.1 Distribucija kljueva u simetrinim kriptografskim sistemima ............................................... 48 5.2.1.1 Centar za distribuciju kljueva (KDC).............................................................................. 48 5.2.1.2 Needham-Schroeder protokol ........................................................................................... 49 5.2.1.3 Otway-Rees protokol ......................................................................................................... 51 5.2.2 Distribucija kljueva u asimetrinim kriptografskim sistemima ............................................. 52 5.2.2.1 Potvrda identiteta .............................................................................................................. 52 5.2.2.2 X.509 protokol .................................................................................................................. 53 5.2.2.3 Infrastruktura javnog kljua (Public Key Infrastrukture, PKI) ......................................... 54 5.2.2.4 Kerberos ............................................................................................................................ 54 i

Zatita podataka primenom kriptografskih metoda

Sadraj

5.3 Zamena kljua.................................................................................................................................. 57 5.4 Unitenje kljua ............................................................................................................................... 57 6 Sigurnosni servisi u TCP/IP modelu ................................................................................................... 59 6.1 IPSec ................................................................................................................................................ 59 6.2 SSL/TLS .......................................................................................................................................... 61 7 Zakljuak............................................................................................................................................... 65 Literatura ............................................................................................................................................. 66

ii

1 Uvod
Uporedno sa razvojem informacionih tehnologija i telekomunikacionih sistema raste i mogunost zloupotreba podataka koji se tim putem prenose. Brzi razvoj hardvera i softvera, koji se koriste za prenos podataka, uslovljava este promene i usavravanja istih. U toj trci proizvoai esto nemaju vremena za detaljno testiranje opreme. Usled nedovoljnog testiranja, esto se javljaju propusti koji ine osnovu za rad potencijalnih napadaa. Napadai razvijaju sopstvene alate i tehnike pomou kojih zaobilaze sigurnosne mere i na taj nain dolaze do vanih podataka. U cilju eliminisanja ovih nedostataka namee se novi pravac istrazivanja u sferi sigurnosti informacionih sistema, koji se odnosi na zatitu podataka od neovlaenog pristupa, modifikacija ili razliitih zloupotreba. Na vanost zatite podataka ukazuje injenica da je ona postala jedan od najvanijih komponenata nacionalnih bezbednosti zemalja, dravnih administracija, banaka i sl. Isto tako, veliki broj kompanija sve vie poklanja panju merama sigurnosti sopstvenih informacionih sistema i podataka. Kao najzastupljeniji medijum za prenos podataka se koriste raunarske mree. Kao takve logino predstavljaju usko grlo po pitanju sigurnosti informacija koje se tim putem prenose. Iz tog razloga, posebna panja posveena je zatiti podataka koji se prenose putem raunarske mree. U ovom radu je dat pregled osnovnih principa zatite podataka u raunarskim mreama sa naglaskom na metode zatite bazirane na Kriptografiji. Razlog za to se nalazi u injenici da kriptografski protokoli ine osnovicu svih protokola za zatitu podataka koji se implementiraju na viim nivoima. Analizirani su simetrini i asimetrini kriptosistemi, a kasnije je dat princip rada tehnike digitalnog potpisa, i izloeni su problemi upravljanja kljuevima kao i upotreba sigurnosnih servisa u okviru TCP/IP modela. Na poetku, u prvom poglavlju, je dat pregled vrsta napada na podatke koji se prenose putem raunarskih mrea. Pored toga, navedeni su i mehanizmi koji se mogu koristiti za zatitu navedenih podataka. U okviru drugog poglavlja se preko osnovnih termina koji se javljaju u kriptografiji i kratkog istorijskog pregleda, spoznaju osnove koje su neophodne radi lakeg razumevanja kriptografskih protokola i algoritama koji su dati u nastavku istog poglavlja. Algoritmi su podeljeni na simetrine i asimetrine. Nakon opisa algoritama, iskoriena je prilika za razmatranje meusobnih prednosti i nedostataka. Na kraju poglavlja na primeru PGP algoritma, ukratko je pojanjen hibridni nain kriptovanja. Tree poglavlje sadri prikaz metoda za verifikaciju dokumenata ili poruka koje se alju putem mree, odnosno tehnikama digitalnog potpisa. Razmatrane su metode potpisivanja cele poruke i metode potpisivanja saetka poruke i date su dve najee koriene tehnike za formiranje saetka poruke. Verifikacija dokumenata u savremenim komunikacionim sistemima esto ne predstavlja siguran vid razmene poruka. Daleko bolje reenje predstavljaju sistemi koji podravaju meusobnu autentifikaciju obe strane u komunikaciji. Upravo ove metode za autentifikaciju entiteta su prikazane u okviru etvrtog poglavlja. Uokviru petog poglavlja se razmatra jedan od najveih problema sistema za prenos podataka putem raunarske mree, a to je problem upravljanja kljuevima. Upravljanje kljuevima se ne odnosi samo na distribuciju kljueva, ve i na njegovo kreiranje, pamenje, zamenu i na kraju unitenju. Poglavlje pod naslovom Sigurnosni servisi u TCP/IP modelu sadri kratak pregled protokola koji se implementiraju u TCP/IP model u cilju unapreenja modela po pitanju bezbednosti paketa podataka koji se prenose putem Interneta. U nastavku su dati opisi dva protokola koji se koriste na najniim slojevima pomenutog modela.

Zatita podataka primenom kriptografskih metoda

1.1 Vrste napada i zatita podataka na mrei


Kako raunarske mree predstavljaju deo informacionog sistema pomou koga se prenosi najvei broj podataka, posebnu panju treba obratiti upravo na njihovu zatitu. Podaci u okviru informacionih sistema se mogu javiti u sledeim oblicima: Javni podaci podaci koji nisu poverljivi i iji integritet nije vaan, moe ih koristiti bilo ko bez ikakvih posledica. Primeri ovakvih podataka su javni servisi za pruanje informacija. Interni podaci pristup ovim podacima je dozvoljen samo za odreene grupe korisnika. Javno objavljivanje internih podataka nije dozvoljeno, ali objavljivanje ove vrste podataka nije od kritine vanosti. Primer su podaci u razvojnim grupama, firmama, radni dokumenti i projekti, interni telefonski imenici. Poverljivi podaci poverljivi podaci unutar odreene grupe (kompanije) koji su zatieni od neovlaenog pristupa. Neivlaeni pristup ovim podacima moe prouzrokovati znaajane posledice kao to su: finansijski gubitak kompanije ili dobitak konkurentskoj kompaniji, smanjenje poverenja korisnika usluga ili potroaa proizvoda. Primeri ovih informacija su: podaci o platama, podaci o zaposlenima, projektna dokumentacija, raunovodstveni podaci, poverljivi ugovori. Tajni podaci podaci kod kojih je neautorizovan pristup strogo zabranjen. Integritet podataka je na najviem nivou. Broj ljudi koji moe da pristupi ovim podacima trebalo bi da bude ogranien. Prilikom pristupa ovim informacijama moraju se potovati veoma striktna pravila. Primer ovih podataka su: vojni podaci, podaci o veim finansijskim transakcijama, podaci od dravnog znaaja i slino. Ova vrsta podataka se treba uvati u kriptovanom obliku ili u ureajima sa hardverskom zatitom [1].

Kada se govori o zatiti podataka na mrei, uglavnom se misli na zatitu poverljivih i tajnih podataka koji se prenose putem raunarske mree. Sve masovnija upotreba raunarskih mrea iziskuje korienje mehanizama i mera za zatitu podataka koji se tim putem prenose. Mere za zatitu podataka uopte, se zasnivaju na tri principa [5]: Prevencija odnosi se na preduzimanje preventivnih aktivnosti za zatitu podataka i raunarskih sistema od moguih napada Detekcija otkrivanje kako je naruena zatita, kada je naruena i ko je naruio Reakcija preduzimanje aktivnosti koje dovode do restauracije podataka ili do restauracije raunarskog sistema

Zatita podataka koji se prenose putem raunarske mree zasniva se na sva tri principa, ali je ovaj rad fokusiran na zatitu u vidu prevencije. Najvea pretnja podacima koji se prenose putem raunarske mree javlja se usled slabosti komunikacione opreme pomou koje se vri prenos podataka. Ugroavanje podataka u raunarskim mreama se odnosi na prislukivanje, analizu, menjanje, uklanjanje informacija kao i lano predstavljanje [2]. Na Slici 1.1 prikazane su neke od mogunosti napada na raunarske mree. Treba napomenuti da do ovih napada moe doi na bilo kom mestu prenosa informacija od izvora do odredita. Svi napadi na podatke koji se prenose mreom se mogu podeliti u dve grupe: Pasivni napadi i Aktivni napadi

Pasivni napadi se odnose na sva prislukivanja i nadgledanja informacija tokom prenosa, bez ikakvih izmena. Ovom vrstom napada napada na relativno jednostavan nain dolazi do informacija. Pasivni napadi se teko otkrivaju. Kao najee korieni mehanizam zatite od pasivnih napada primenjuje se kriptovanje podataka koji se prenose putem komunikacionih linija. Kriptovanje podataka se odnosi na modifikaciju istih na nain da postanu nerazumljivi ili besmisleni za sve one korisnike 2

1.Uvod

kojima nisu namenjeni. Kao takvo, kriptovanje predstavlja najvaniji element zatite podataka u raunarskim mreama.

Slika 1.1
Vrste napada na mrei Aktivni napadi su svi napadi koji vre promenu sadraja ili toka informacija. Ova vrsta napada je daleko komplikovanija i tea za otkrivanje nego pasivni napadi. U aktivne napade se ubrajaju modifikacije paketa informacija koji se kreu putem mree, slanje lanih paketa, prekidi toka informacija kao i razne vrste preusmeravanja paketa na mrei. Zbog raznovrsnosti ove vrste napada, mehanizmi zatite moraju biti daleko komplikovaniji i napredniji nego kod pasivnih napada [2].

1.2 Sigurnosni servisi


Generalno govorei sigurnosni servisi predstavljaju skup pravila koja se odnose na aktivnosti korisnika koje doprinose bezbednosti podataka na mrei. Postoji est vrsta osnovnih sigurnosnih servisa: Autentifikacija (engl. authentication), Poverljivost ili tajnost podataka (engl. data confidentiality), Neporicljivost poruka (engl. non-repudation), Integritet podataka (engl. data integrity), Autorizacija i kontrola pristupa (engl. authorization and access control) i Raspoloivost resursa (engl. resource availability).

Autentifikacija se odnosi na potvrdu originalnosti poruka, odnosno na identifikaciju izvora poruke ili dokazivanje identiteta korisnika. Pojam autentifikacije se odnosi na linosti, terminale, kreditne kartice, smart kartice, biometrijske itae i slino. Umesto termina autentifikacija u literaturi se esto koristi i termin identifikacija. Poverljivost ili tajnost podataka obezbeuje zatitu podataka od neovlaenih lica. Podatke kroz mreu treba slati u kriptovanom obliku, osim toga, podaci se, takoe, trebaju i uvati u kriptovanom obliku. Poverljivost se najee ostvaruje kriptovanjem podataka ili fizikom zatitom komunikacione linije. 3

Zatita podataka primenom kriptografskih metoda

Servis neporicljivosti prua prevenciju od lanog poricanja slanja date poruke/dokumenta. Isto tako, spreava pojave da primalac poruke sam izmeni sadraj iste i da tvrdi da je takvu primio. Najee korieni mehanizam koji obezbeuje zloupotrebe ove vrste je digitalni potpis. Integritet poruka obezbeuje konzistentnost i tanost poruke, odnosno onemoguava bilo kakvu izmenu, unitenje ili lano generisanje poruke od strane neovlaene osobe. Ovaj servis obezbeuju he (eng. hash) funkcije, kontrolne sume, logovanja i razni kodovi. Autorizacija je servis koji vri proveru da li je identifikovanom korisniku dozvoljen pristup odreenim podacima, a servis kontrole pristupa utvruje prava pristupa korisnika. Za realizaciju ovog servisa potrebno je omoguiti postavljanje privilegija objektima koji im pripadaju i spreiti korisnike sistema da pristupaju korienjem prava pristupa drugih korisnika. Raspoloivost resursa se odnosi na reakciju u cilju odravanja funkcionalnosti resursa u sluaju detekcije otkaza ili napada. Ovaj servis se obezbeuje uvoenjem redundansa i primenom tehnika za toleranciju otkaza ili primenom redundanse [2], [3].

2 Kriptografija
2.1 Osnovni pojmovi i terminologija u kriptografiji
Termini Plaintext ili Cleartext odnose se na izvornu poruku ili izvorni tekst koji je mogue proitati i razumeti bez primene bilo kakvih posebnih metoda. Ukoliko se takav tekst treba preneti sa mesta A do mesta B, on se naziva poruka. Poruka se moe slati putem raunarske mree kao izvorni tekst (svima razumljiva) ili kao nerazumljiv sadraj koji se naziva ifrovan ili kriptovan tekst (eng. ciphertext ili chipher). Postupak pomou koga se izvorni tekst transformie u ifrovan tekst se naziva kriptovanje (eng. encryption). Kriptovanje se koristi da bi se obezbedilo da nijedan korisnik, osim korisnika kome je poruka namenjena, ne moe da sazna sadraj poruke [4]. Ako neovlaeni korisnici dou u posed kriptovanog teksta i vide njegov sadraj ne mogu proitati izvorni tekst. Kriptovanje izvornog teksta se obavlja pomou odreenog pravila za kriptovanje odnosno kriptografskog algoritma. Svaki kriptografski algoritam kao ulazne podatke ima izvorni tekst i klju a kao izlaz daje kriptovani tekst. Postupak koji omoguava da se od kriptovanog teksta dobije originalni izvorni tekst naziva se dekriptovanje (eng. decryption). Dekriptovanje odnosno deifrovanje predstavlja inverzni postupak od kriptovanja. Kriptovani tekst za koji nije poznat klju zove se kriptogram. Nauka koja prouava kriptovanja i dekriptovanja podataka se naziva Kriptografija. Kriptografija se oslanja na matematiku i omoguava uvanje vanih podataka kao i njihov prenos preko raunarske ili telekomunikacione mree a da pri tome niko ne moe da ih proita osim korisnika kome su namenjeni. Dok se Kriptografija bavi zatitom podataka, Kriptoanaliza je nauka o otkrivanju odnosno "razbijanju" kriptovanih poruka. Objedinjene Kriptografija i Kriptoanaliza se nazivaju Kriptologija. Protokol predstavlja skup pravila i konvencija koji definie komunikacioni okvir izmeu dva ili vie uesnika u komunikaciji. Tu spadaju: uspostavljanje veze, odravanje veze, raskid veze i obnavljanje veze u sluaju prekida. Kriptografski protokoli se upotrebljavaju za uspostavljanje sigurne komunikacije preko nepouzdanih globalnih mrea i distribuiranih sistema. Oslanjaju se na kriptografske metode zatite kako bi korisnicima obezbedili osnovne sigurnosne usluge poverljivosti, integriteta i neporicljivosti. Treba napomenuti razlike izmeu termina kodiranje i ifrovanje. Pojam kodiranje se odnosi na transformaciju izvornog teksta koje se vri na osnovu obimne knjige kodova, u kojoj se rei i fraze zamenjuju sluajnim nizom znakova. Na primer, "UWRT" moe biti kod za "Ja se zovem Petar". Nasuprot tome, ifra radi na niem nivou: na nivou pojedinanih slova, malih grupa slova, ili u modernim emama nad pojedinanim bitovima. Uz to se umesto knjige kodova koriste algoritmi koji su utemeljeni nekom matematikom formulom.

2.2 Kratak istorijski pregled, opti pojmovi i podela u kriptografiji


Kao to je ve napomenuto, kriptografija je nauka koja se bavi ouvanjem tajnosti informacija i podataka. Kriptografija kao sredstvo za zatitu informacija datira jo od pojave prvih pisama, kada je bilo neophodno preneti poruku na daljinu i to sauvanu od tuih neeljenih pogleda. Prve metode kriptovanja je koristio Julije Cezar kada je slao poruke svojim vojskovoama. On je te poruke ifrovao tako to je pojedina slova u tekstu pomerao za tri, etri ili vie mesta u abecedi. Takvu poruku mogli su da deifruju samo oni koji su poznavali pravilo pomeranja. Prva poznata studija o kriptografiji pojavila se 1467 godine a napisao je italijanski arhitekta Leone Batista. On je takoe tvorac 5

Zatita podataka primenom kriptografskih metoda

takozvanog ifarskog kruga i nekih drugih reenja dvostrukog prikrivanja teksta koja su u XIX veku prihvatili i kasnije usavravali nemci, englezi i francuzi. Pola veka nakon toga pojavljuje se prva knjiga iz oblasti kriptografije. U toku drugog svetskog rata 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. Pojavom prvih raunara kriptografija se naglo razvija. Kako je vreme odmicalo raunari su bili sve bri i bri, radei i po nekoliko stotina, a kasnije i miliona operacija u sekundi. Novom brzinom rada je omogueno probijanje ifara za sve manje vremena. Uporedo s tim, radilo se i na razvoju novih, sigurnijih i komplikovanijih ema za ifrovanje [6]. Pojavom raunarskih mrea kriptografija naglo dobija na znaaju. Naroito je bitno obezbediti zatitu vanih podataka (na primer finansijskih) koji se prenose mreom. Naime, podaci se razmenjuju raunarskom mreom u formi paketa podataka i oni dospevaju do veeg broja raunara na putu od polaznog do odredinog raunara. Na svakom usputnom raunaru mogue je te pakete podataka "uhvatiti" i proitati njihov sadraj, korienjem analizatora protokola ili nekog programa (sniffera). Kriptovanje podataka podrazumeva korienje raznih kriptografskih algoritama tj. skupova pravila po kojima se vri kriptovanje. Algoritmi za kriptovanje se mogu podeliti u dve grupe: Tajni algoritmi: bezbednost se zasniva na tajnosti algoritma (istorijski interesantni). Algoritmi zasnovani na kljuu: bezbednost se zasniva na kljuevima, a ne na detaljima algoritma koji se moe publikovati i analizirati. Ovde je algoritam javno poznat, a klju se uva u tajnosti, da nije tako korisnici bi morali da razumeju i klju i algoritam. Klju je niz podataka koji se koristi za kriptovanje drugih podataka i koji, prema tome, mora da se koristi i za dekriptovanje podataka.

Danas se najvie koriste algoritami za kriptovanje zasnovani na kljuu, a mogu se klasifikovati u tri grupe: Simetrini, kod kojih se koristi jedan klju, Asimetrini, kod kojih postoje dva kljua i Hibridni, kombinacija predhodna dva. Cena probijanja algoritma mora da bude vea od cene ifrovanih podataka; Vreme potrebno za probijanje algoritma mora da bude due od vremena u kome podaci moraju da ostanu tajni; Broj podataka kriptovanih pomou jednog kljua mora da bude manji od broja potrebnih podataka da se dati algoritam probije [1].

U cilju postizanja to bolje zatite podataka algoritam za kriptovanje mora zadovoljiti sledee zahteve:

Isto tako, prilikom formiranja algoritama za kriptovanje/dekriptovanje, tei se da postupci kriptovanja odnosno dekriptovanja budu identini tj. inverzni. Na taj nain se postie neophodna kompatibilnost izmeu postupaka kriptovanja i dekriptovanja u smislu korienja istih operacija ali obrnutim redosledom i korienje istog kljua u oba postupka. Veoma je vano i da proces kriptovanja/dekriptovanja ima to je mogue krae vreme izvravanja. Postizanje to boljih performansi se ostvaruje ukoliko se ovi procesi realizuju hardverski. Kako bi algoritmi za kriptovanje bili to jednostavniji za hardversku realizaciju potrebno je da se izraunavanja u okviru njih baziraju na skupu jednostavnih operacija, kao to su aritmetiko sabiranje, XOR, operacije rotiranja i druge.

2.3 Bit stringovi, stream ifrovanje i blok ifrovanje


Najjednostavnije metode za ifrovanje teksta koriste klasinu zamenu slova, odnosno kodiraju poruku u sekvencu binarnih cifara (bitova). Najpoznatija metoda za kodiranje teksta je ASCII (eng. 6

2.Kriptografija

American Standard Code for Information Interchange). Ova metoda kodira izvorni tekst u odgovarajue bit stringove. Algoritam za kodiranje na osnovu izvornog teksta i odreenog pravila formira bit stringove. Otuda se namee podela na ifarske redove, gde se izvorni podaci kodiraju metodom bit po bit, i ifarske blokove, gde se izvorni podatak deli na blokove odreene veliine. Ilustracije radi ASCII metoda koristi osam bitova radi reprenzetacije jednog karaktera, odnosno za ifarski blok koji se sastoji od 8 karaktera, primenom ASCII algoritma se dobija blok veliine 64 bita [8]. Jedan bit string moe biti zapisan na vie naina, to zavisi od veliine blokova na koje se string deli. Na primer, sekvencu 100111010110 moemo podeliti u blokove veliine tri bita: 100 111 010 110. Takoe, budui da bit string duine tri bita predstavlja jednu BCD cifru iz opsega od 0 do 7, naa sekvenca se moe zapisati i u obliku 4 7 2 6. Ukoliko istu sekvencu podelimo u blokove veliine 4 bita: 1001 1101 0110, i etiri bita predstavljaju brojeve od 0 do 15 imamo sekvencu 9 13 6. Ako je veliina bloka unapred zadata, za male brojeve, neophodno je dodavati nule poev od MSB bita. Na primer, binarna reprezentacija broja 5 je 101, a koristi se blok veliine 6 bita, potrebno je 5 predstaviti kao 000101, ili ako je veliina bloka 8 bitova broj 5 bi bio 00000101. Dosta koriena metoda je i predstavljanje bit stringova korienjem HEX notacije (Hexadecimal) od po 4 bita. Tokom izraunavanja ifarski algoritam esto koristi operacije nad bit stringovima kao to je XOR ili Exclusive OR. Ova jednostavna operacija se obavlja nad dva operanda iste duine. Mnogi autori esto spominju termin stream ifrovanja, mislei pri tom na metode koje se zasnivaju na ifrovanju pojedinanih rei ili karaktera iz teksta proizvoljne duine. Znai izvorni tekst se ifruje re po re ili karakter po karakter, gde je pravilo kodiranja svake rei ili karaktera odreeno pozicijom u okviru izvornog teksta. Meutim moderniji nain korienja engleskog termina stream ifrovanja se odnosi na ifrovanje izvornog teksta bit po bit. Sve to se moe desiti svakom pojedinanom bitu je da promeni vrednost ili da ostane nepromenjen. Zadatak onoga ko eli deifrovati ovako kodirani tekst, bio bi da se identifikuju sve pozicije na kojima su bitovi promenjeni, i promenjene vrednosti treba vratiti na originalne vrednosti. Da bi izvorni tekst mogao da se deifruje na jednostavan nain, neophodno je poznavati emu koja identifikuje ili na neki nain predvia promene bitova. Jedna ovakva ema se moe predstaviti u obliku kljua 1000110 i izvornog teksta 1100101. Ustanovimo pravilo da ukoliko je jedinica u okviru kljua to znai da treba promeniti bit u okviru izvornog teksta koji je na istoj poziciji. Pratei ovo pravilo dobija se ifrovani niz 0100011. Ukoliko se isti klju primeni dva puta ponovo se dobija izvorni tekst [8]. Ovo znai da je postupak deifrovanja identian procesu ifrovanja. Poto operacija zamene bitova odgovara XOR funkciji moe se koristiti formula koja prati postupak kodiranja: Ci = Pi XOR Ki, gde su Ci kodiran tekst, Pi izvorni tekst i Ki klju koji se formira kao sluajno definisana vrednost, koja je poznata samo poiljaocu i primaocu poruke. Stream ifrovanje zahteva dugake nizove kljua, za ije formiranje se koriste generatori koji proizvode dugake alfabetske nizove nadovezivanjem kratkih kljueva. Ovaj nain nije najbolje reenje zato to postoji velika verovatnoa da e se jedan isti kratak klju ponoviti vei broj puta u dugakom nizu kljueva, to olakava otkrivanje celog kljua. Zato generatori kljueva koji se praktino koriste prilikom stream ifrovanja koriste sofisticiranije metode. Projektovanje kvalitetnog generatora kljua je esto veoma teak prblem, koji zahteva korienje veliki broj matematikih formula. Dobra strana stream ovakvog naina ifrovanja je ta da ukoliko do odredita stigne pogrena informacija, nakon deifrovanja doi e do gubitka samo onih bitova izvornog teksta koji su izmenjeni u prenosu. To znai da ovaj nain ifrovanja nije podloan grekama u prenosu podataka usled poveanog nivoa uma. Ova osobina ini stream ifrovanje jako povoljno za korienje u okviru GSM mobilnih mrea. Ostale prednosti se ogledaju u veoma velikoj brzini ifrovanja/deifrovanja i lakoi implementacije. 7

Zatita podataka primenom kriptografskih metoda

2.4 Blok ifrovanje


Blok ifrovanja se koriste za ifrovanje kratkih poruka kao to su kljuevi, lozinke, potpisi ili autentifikacije korisnika. Kod ovog naina ifrovanja, izvorni podatak se deli u blokove simbola odreene veliine koji se individualno i nezavisno kodiraju u cilju formiranja ifrovanog bloka podataka. Blok ifrovanje odlikuju sledee osobine: - Svaki blok simbola se ifruje uvek na isti nain, nezavisno od mesta koje zauzima u poruci. - Jednake poruke, ifrovane sa istim kljuem, uvek daju jednake ifrovane poruke. - Da bi se deifrovao deo poruke, nije neophodno deifrovati je od poetka, dovoljno je deifrovati blok koji nas interesuje. Kada se ima u vidu nain rada, blok ifre se mogu javiti u sledeim oblicima [8]: Direktna upotreba blok-ifre ECB (eng. Electronic Codebook) Ulanavanje ifrovanih blokova CBC (eng. Cipher Block Chaining). ifrovanje pomou povratne sprege CFB (eng. Cipher Feedback). Formiranje izlaza u povratnoj sprezi OFB (eng. Output Feedback).

Blok ifrovanje je primenjeno u sledeim algoritmima: LUCIFER, DES, FEAL, IDEA, RC5, SKIPJACK, BLOWFISH, TWOFISH, AES (RIJNDAEL), itd.

2.5 Simetrina kriptografija


Osnovna osobina simetrinih kriptosistema ili kriptosistema sa tajnim kljuem (Symetric-Key ili Secret-key Criptosystems) je da se za kriptovanje/dekriptovanje poruka koristi isti klju. Na Slici 2.1 je, u vidu blokova, prikazan princip rada simetrinog kriptosistema. Osoba A ima za cilj slanje poruke M osobi B preko nezatienog komunikacionog kanala. Osoba A najpre generie poruku M (izvorni tekst) koja se upuuje u blok za ifrovanje E. U ovom bloku se vri kriptovanje poruke M uz korienje kljua K dobijenog uz pomo generatora kljua. Na taj nain se kreira kriptovana poruka C. Potom se tako dobijena poruka komunikacionim kanalom alje do osobe B [9], [10].

Slika 2.1
Blokovski prikaz simetrinog kriptosistema Postupak dekriptovanja se obavlja inverznim postupkom od kriptovanja u bloku za dekriptovanje D. Dekriptovanje poruke C se vri pomou istog kljua K koji je korien prilikom kriptovanja. Nakon dekriptovanja se dobija izvorna poruka M. 8

2.Kriptografija

Ukoliko na kanalu za prenos postoji osoba N (napada) moe da presretne kriptovanu poruku i ukoliko doe u posed kljua moe proitati ili zloupotrebiti izvornu poruku. Da bi se izbegle manipulacije, obe strane moraju drati klju u tajnosti, odnosno klju se ne sme prenositi nezatienim komunikacionim kanalom. Za razliku od kljua, kriptovana poruka moe da se alje i po nezatienom kanalu s obzirom na to da sadraj izvorne poruke moe da protumai samo onaj korisnik koji ima klju. Primer slanja kljua razliitim komunikacionim kanalom je kada se PIN (eng. Personal Identification Number) kod za pristup zatienim Internet sajtovima (npr. Banke za uvid stanja na raunu) dostavljaju korisnicima potom, a ne Internetom. Najpoznatiji algoritmi simetrinih kriptosistema koji se danas koriste su: DES, 3DES, DES-CBC, IDEA, RC5, RC6, AES i drugi.

2.5.1 DES algoritam


Poetkom ezdesitih godina prolog veka, kompanija IBM je pokrenula istraivaki projekat u cilju zatite podataka pod nazivom Lucifer. Ovaj projekat okonan je 1971 godine i Lucifer je bio prvi ifrat sa blokovima veliine 64 bita koji je koristio klju od 128 bita. Kompanija je kasnije komercijalizovala ovaj nain kodiranja i nazvala ga DES (eng. Data Encryption Standard). 1976 godine DES je prihvaen kao federalni standard za enkripciju podataka i korien je u komunikacijama Amerike vlade. DES je narednih dvadesetak godina bio najvie korieni standard na svetu. Tokom eksploatacije, DES standard je bio modifikovan i unapreivan svakih pet godina. Svoju slavu zavrio je nakon mnogo debata kasnih devedesetih. Nasledio ga je 2001. god. AES (eng. Advanced Encryption Standard), takoe poznat pod nazivom Rijndael algoritam. U poreenju sa DES novi algoritam je bio dosta napredniji po pitanju sigurnosti podataka. Danas, DES algoritam i dalje koristi veliki broj organizacija u svetu ime je nastavio ivot pruajui zatitu u mrenim komunikacijama, skladitenjima podataka, lozinkama i sistemima za kontrolu pristupa [11], [12]. DES predstavlja simetrini algoritam za kriptovanje blokovskog tipa, odnosno predstavlja direktnu upotrebu blok-ifre (ECB mod). Kao ulaz u algoritam se koristi blok od 64-bita izvornog teksta i 56bitni klju. Izlaz iz algoritma je 64-bitni kriptovan tekst koji se dobija nakon 16 iteracija koje se sastoje od identinih operacija. Klju od 56 bita se formira od inicijalnog 64-bitnog kljua informacije ignorisanjem svakog 8 bita, tj. odsecanjem ukupno 8 bitova. Na Slici 2.2 je prikazan izgled DES algoritam za kriptovanje. Kriptovanje pomou DES algoritma se sprovodi u nekoliko koraka. Prvo se bitovi ulaznog bloka duine 64 bita permutuju poetnom permutacijom. Radi se o permutaciji koja jednostavno vri zamenu pesta bitova Permutovan ulazni blok deli na dva dela od po 32 bita, levi L0 i desni R0 deo. Nad desnim delom bloka se obavlja funkcija f(R0,K1), gde je R0 desnih 32 bita, a K1 je 48-bitni klju. Ova funkcija generie 32-bitni rezultat. Nad dobijenim rezultatom funkcije f i L0 vri se operacija XOR. Rezultat XOR operacije predstavlja novu 32-bitnu vrednost R1 koja se koristi za dalje operacije. Kao levi deo L1 se koristi vrednost R0 iz prethodne iteracije. Nakon ponavljanja 16 istovetnih koraka, blokovi meusobno menjaju mesta te se spajaju. Na kraju se obavlja konana permutacija koja je inverzna poetnoj. Dobijena 64-bitna vrednost ini kriptovani blok podataka [11].

Zatita podataka primenom kriptografskih metoda

Slika 2.2
Izgled DES algoritma za kriptovanje Prilikom kriptovanja/dekriptovanja u svakoj iteraciji se koriste razliiti kljuevi K1, ..., K16 veliine 48-bita. Za generisanje ovih kljueva se koristi poseban algoritam. Na Slici 2.3 ilustrovan je postupak dobijanja kljueva koji se koriste prilikom DES kriptovanja/dekriptovanja.

10

2.Kriptografija

Slika 2.3
Formiranje kljueva u okviru DES algoritma Postupak generisanja esnaest 48-bitnih delova kljueva (K1, K2, ,K16) od zadatog tajnog kljua sprovodi se u nekoliko koraka. Prvo se iz 64-bitnog kljua odstrane bitovi parnosti tj. 8-, 16-, 24-, 32-, 40-, 48-, 56- i 64-bit, zatim se pomou zadate tabele permutacije PC-1 (Tabela 1) iz kljua generiu dva bloka po 28 bita (Ci i Di). Blokovi se formiraju tako to svaki bit sa pozicije i ide na poziciju koja se ita iz i-te stavke ove tabele. Nakon toga, sledi 16 koraka u okviru kojih se svaki blok rotira ulevo za odreeni broj bita (Ls(i) zavisi o kom koraku se radi). Nastali blokovi se spajaju (operacija ||), a onda se pomou permutacije koja je definisana tabelom PC-2 (Tabela 2) genere odgovarajui deo kljua Ki, gde je i redni broj koraka [11]. 11

Zatita podataka primenom kriptografskih metoda

Tabela 1
Tabela permutacije PC-1

Tabela 2
Tabela permutacije PC-2

Sutinski, a ujedno i najkritiniji deo algoritma predstavlja funkcija kriptovanja f tj. Feistel funkcija. Zbog njene kompleksnosti pretpostavlja se da ne postoji nain razotkrivanja DES-a. Funkcija f se formira u nekoliko koraka, to je prikazano na Slici 2.4.

Slika 2.4
Formiranje pomone DES funkcije f 12

2.Kriptografija

Od ulaznih 32-bitnih Ri se proirenjem, na osnovu tabele E, dobija podatak duine 48 bita. Dobijena vrednost se bit po bit sabira sa kljuem Ki (operator predstavlja XOR logiku operaciju). Rezultat je 48-bitna vrednost koja se deli na osam delova od po est bita. Tako dobijene vrednosti se vode u osam blokova za substituciju tkz. S-box (S1,S2, ,S8). Svaki S-box ulaznih 6 bita zamenjuje sa 4 bita na izlazu. Kao primer, u okviru Tabele 3, je prikazana tabela substitucije S5. Prvi i zadnji bit svakog 6-bitnog dela informacije na ulazu u S-box predstavljaju adresu reda, a srednja etiri adresu kolone u tabeli substitucije. Slino se formiraju i ostali S-box-ovi [11], [12].

Tabela 3
Primer tabele za substituciju S5

S5
0yyyy0 0yyyy1 1yyyy0 1yyyy1

x0000x

x0001x

x0010x

x0011x

x0100x

x0101x

x0110x

x0111x

x1000x

x1001x

x1010x

x1011x

x10100x

x1101x

x1110x

x1111x

0010 1110 0100 1011

1100 1011 0010 1000

0100 0010 0001 1100

0001 1100 1011 0111

0111 0100 1010 0001

1010 0111 1101 1110

1011 1101 0111 0010

0110 0001 1000 1101

1000 0101 1111 0110

0101 0000 1001 1111

0011 1111 1100 0000

1111 1010 0101 1001

1101 0011 0110 1010

0000 1001 0011 0100

1110 1000 0000 0101

1001 0110 1110 0011

Istim postupkom nad svakom estorkom od ulaznih 48 bita substitucijom se dobija ukupno 32 bita. Tako formiranih 32 bita dodatno se permutuje zadatom tabelom P(Xi) te se dobija konana vrednost funkcije f. Budui da je algoritam za kriptovanje identian algoritmu za dekriptovanje, postupak dekriptovanja se moe sprovesti tako to se operacije koriene u postupku kriptovanja obavljaju obrnutim redosedom. Zbog simetrinosti algoritma to se postie tako to se kriptovani blok pusti kroz isti algoritam s tom razlikom da se umesto kljua Ki u i-tom koraku upotrijebi klju K16 i + 1. Zanimljivo je da se napomene jedna slabost vezana za DES algoritam. Naime, zbog samog naina kreiranja delova kljueva, postoje etiri kljua za koje je dekripcija jednaka enkripciji. To znai, ako se kriptuje neka poruka dva puta i to sa ba jednim od ta 4 kljua, kao rezultat se dobija originalna poruka. Kako je verovatnoa da se od svih moguih kljueva odabere ba neki od tih mala, to ne utie na sigurnost algoritma. DES algoritam koristi 56-bitni klju za kriptovanje to znai ukupno 72.057.594.037.927.936 mogunosti za osobu koja hoe da probije tkz. brutalnim napadom tekst kriptovan sa DES-om. 1999. god. objedinjene grupe EFF i Distributed.net kao DES Cracker uz pomo 100.000 PC raunara na Internetu, probili su DES za vreme 22 sata i 15 minuta. Pritom je brzina pretraivanja bila 245 biliona kljueva/sekundi [13].

2.5.2 Trostruki DES (3-DES) algoritam


Trostruki DES algoritam predstavlja unapreeni DES standard za kriptovanje podataka i najvie se koristi u okviru aplikacija koje se baziraju na internetu. To je DES algoritam, koji koristi dva ili tri razliita DES kljua. Na Slici 2.5 je prikazan nain kriptovanja/dekriptovanja podataka P pomou tri kljua (K1,K2 i K3).

13

Zatita podataka primenom kriptografskih metoda

Slika 2.5
Postupci 3-DES: a) Kriptovanja; b) Dekriptovanja Prvi klju K1 se koristi za kriptovanje bloka podataka izvorne poruke P pomou standardnog DES algoritma. Tako kriptovana poruka se dekriptuje drugim kljuem K2. Dekriptovanjem poruke sa ovim kljuem se dobija nova ifrovana poruka. Na kraju se razultat dekriptovanja opet kriptuje, ovaj put ili treim kljuem K3 ili opet prvim K1. Tako je konano formirana kriptovana poruka C. Naizmeninim korienjem razliitih kljueva poveava se efektivna duina kljua na ukupno 168 bita, a tako i broj kombinacija koje bi eventualni napada morao probati da bi doao do izvorne poruke. Broj kombinacija za dva razliita kljua je 2112, dok za 3 razliita kljua ima ak 2168 kombinacija. 3-DES algoritam, kako ga jo nazivaju, reava problem duine kljua obinog DES-a, a sa druge strane nedostatak mu je to to je mnogo sporiji od standardnog DES-a [11]. Dekriptovanje poruke koja je kriptovana pomou 3-DES algoritma se, kao i kod klasinog DES-a, obavlja inverznim funkcijama u odnosu na kodiranje. Prvo se obavlja dekriptovanje pomou treeg kljua, sledi kriptovanje pomou kljua K2 i na kraju se izvorna poruka P dobija postupkom dekriptovanja pomou kljua K1.

2.5.3 DES-CBC algoritam sa inicijalizacionim vektorom


DES-CBC predstavlja DES algoritam koji prilikom kriptovanja koristi ulanavanje ifrovanih blokova CBC. Ovaj algoritam se koristi kao pouzdan mehanizam u zatiti IP paketa. Ova varijacija DES algoritma koristi inicijalizacioni vektor, IV, duine 64 bita, tj. iste duine kao i blok koji se eli kriptovati. IV mora biti sluajna vrednost kako ne bi dolo do formiranja dva identina kriptovana podatka. Postoji vie naina kriptovanja pomou DES-CBC algoritma kao to su: unutranji CBC i spoljanji CBC, koji su prikazani na Slici 2.6. Razlika izmeu ova dva algoritma je ta to unutranji CBC algoritam zahteva tri razliita inicijalizaciona vektora (IV1, IV2 i IV3) a spoljanji CBC samo jedan IV.

14

2.Kriptografija

Slika 2.6
Unutranji i spoljanji CBC algoritmi Na poetku se blok izvornog teksta P podeli u delove P1,P2,..,Pn i ti delovi se saberu sa IV pomou XOR logike operacije, bez obzira o kom se nainu kriptovanja radi [11]. Slede tri koraka: kriptovanje pomou DES algoritma i kljua K1, zatim dekriptovanje pomou DES algoritma i kljua K2 i ponovo kriptovanje pomou DES algoritma i kljua K3. Matematiki modeli koji opisuju spoljani CBC algoritam za kriptovanje su:

C1 = E K 3 ( DK 2 ( E K 1 ( P1 IV ))) C 2 = E K 3 ( DK 2 ( E K 1 ( P2 C1 ))) C3 = E K 3 ( DK 2 ( E K 1 ( P3 C 2 ))) Meurezultati koji se koriste prilikom kriptovanja metodom unutranjeg DES-CBC-a su opisani sledeim formulama:
S 0 = E K 1 ( P1 ( IV )1 ) T0 = E K 1 ( P2 S 0 ) R0 = E K 1 ( P3 T0 ) S1 = DK 2 ( S 0 ( IV ) 2 ) T1 = DK 2 (T0 S1 ) R1 = DK 2 ( R0 T1 ) Formule koje opisuju kriptovanje metodom unutranjeg CBC-a su: C1 = E K 3 ( S1 ( IV ) 3 ) C 2 = E K 3 (T1 C1 ) C3 = E K 3 ( R1 C 2 )

2.5.4 IDEA algoritam


1990. godine Xuejia Lai i James Massey sa vajcarskog dravnog instituta za tehnologiju su ustanovili novi sistem za ifrovanje blokova podataka. Originalna verzija ovog algoritma za enkripciju je nazvana Proposed Encryption Algorithm (PES). Kasnije je PES preimenovan u IDEA. Ovaj algoritam koristi 128-bitni klju za kriptovanje blokova od po 64 bita podataka [14]. Ilustracija IDEA standarda za kriptovanje/dekriptovanje podataka je prikazana na Slici 2.7. Kao i kod svih ostalih blokovskih ifrovanja, i ovde imamo dve ulazne informacije i to izvorni tekst P i klju za enkripciju K.

15

Zatita podataka primenom kriptografskih metoda

Slika 2.7
IDEA algoritam za: a) Kriptovanje; b) Dekriptovanje Kriptovani blok podataka C se dobija primenom devet koraka nad izvornim tekstom P i delovima kljua K. 64-bitni ulazni blok podataka P se deli na etiri dela od po 16 bit-a (P1, P2, P3 i P4). Od originalnog 128-bitnog kljua formira se 52 dela kljua (od K1 do K52) od po 16 bita. Prvih osam delova kljua (K1,K2,,K8) se izdvajaju direktno od 128-bitnog kljua, i to poevi od K1 kao najniih 16 bitova, K2 kao sledeih 16 bitova i tako dalje. Svaka sledea grupa od po osam kljueva se formira na isti nain s tim to se prethodno 128-bitni klju rotira ulevo za 25 bita [11]. IDEA algoritam za kriptovanje se bazira na ukupno osam koraka u okviru kojih se obavljaju kombinacije tri razliite operacije i to:
Bit po bit XOR nad 16 bitnim sub-blokovima Sabiranje 16 bitnih celobrojnih vrednosti osnove 216 Mnoenje 16 bitnih celobrojnih vrednosti osnove 216 + 1. Na Slici 2.8 je prikazan redosled operacija u okviru jednog koraka, a nakon obavljenih osam identinih koraka sledi deveti polu-korak koji je takoe prikazan na istoj Slici 2.8 [14].

16

2.Kriptografija

Slika 2.8
Redosled operacija u procesu kriptovanja Postupak dekriptovanja pomou IDEA algoritma je slian postupku kriptovanja, s tom razlikom to se koriste razliite kombinacije delova kljua u okviru devet koraka izvravanja algoritma. Algoritam koji se koristi za dekriptovanje takoe je prikazana na Slici 2.7.

2.5.5 RC5 algoritam


Algoritam opisan u ovom delu formirao je Ronald Rivest sa Massachusetts instituta za tehnologiju 1994. godine i nazvao ga RC5. Kompanija RSA Data Security je procenila da e RC5 i njegov naslednik RC6 biti dostojni sledbenici DES algoritma za kriptovanje podataka [16]. RC5, takoe pripada simetrinim ifarskim blokovima pogodan kako za softversku tako i za hardversku realizaciju. RC5 predstavlja algoritam sa promenjivom veliinom bloka ulaznih podataka, 17

Zatita podataka primenom kriptografskih metoda

promenjivim brojem koraka izvravanja i promenjivim duinama kljua. Na ovaj nain RC5 obezbeuje veliku fleksibilnost u performansama i nivoima sigurnosti podataka. RC5 algoritam karakteriu sledei parametri RC5-w/r/b. Gde je w broj bitova u rei, r predstavlja broj koraka RC5 algoritma, a b je duina kljua izraena u bajtovima. Razliitim izborom parametara dobijaju se razliiti RC5 algoritmi. Standardnu re ini 32 bita, dok su mogue i vrednosti 16 bita i 64 bita. RC5 kriptovanje koristi blokove od dve rei (2w) izvornog ili kriptovanog teksta. Mogue vrednosti paramera r su 0,1,,255. Broj bajtova koji ine klju, b, kree se od 0 do 255. Tajni klju K se esto pre upotrebe proiri i na taj nain se formira takozvana proirena tabela kljueva S [11], [15]. RC5 algoritam ine tri komponente: algoritam za proirenje kljua, algoritam za kriptovanje i algoritam za dekriptovanje. Sva tri algoritma koriste sledee jednostavne operacije: Aritmetiko sabiranje po modulu 2w , Bit po bit XOR, <<< Rotacija ulevo za odreeni broj bitova. Tokom procesa kriptovanja, algoritam koristi podatke iz proirene tabele kljueva S[0,1,,t-1], od t = 2(r + 1) rei. Proirena tabela kljueva se formira od vrednosti tajnog kljua K. Algoritam za proirenje kljua koristi dve konstante Pw i Qw koje se definiu kao:

Pw = Odd ((e 2)2 w )


Qw = Odd (( 1)2 w ) , gde su e = 2.71828 (osnova prirodnog logaritma) i = (1 + 5 ) / 2 = 1.61803 , a Odd(x) je celodrojni ostatak od x. Procedura formiranja proirene tabele kljueva se obavlja u okviru tri koraka. U okviru prvog koraka pri formiranju proirene tabele kljueva, tajni klju K[0,1,b-1] se preslikava u niz L[0,1,,c-1] koji se sastoji od c = b/u rei, gde je u = w/8. Proces preslikavanja se obavlja po sledeem pravilu: for i = b 1 down to 0 do L[i/u] = (L[i/u] <<< 8) + K[i] Drugi korak se odnosi na inicijalizaciju niza S pomou dve konstante Pw i Qw pomou sledee procedure: S[0] = Pw for i = 1 to t 1 do S[i] = S[i 1] + Qw U okviru treeg koraka se na osnovu tajnog kljua K i nizova L i S formira proirena tabela kljueva koja se sastoji od elementata S[i] i L[j]. U okviru ovog koraka se koristi sledea procedura: i=j=0 A = B = 0A = S[i] = (S[i] + A + B) <<< 3 B = L[j] = (L[j] + A + B) <<< (A + B) i = (i + 1) (mod t) j = (j + 1) (mod c) Opisana procedura se primenjuje 3 x max(t, c) puta. Na Slici 2.9 je prikazan algoritam koji se koristi za kriptovanje podataka. Ulazni blok RC5 algoritma sadri dve w-bitne rei koje se uvaju u dva registra A i B. U ovim registrima se takoe smetaju i informacije koje su dobijene na izlazu iz algoritma [11].

18

2.Kriptografija

Slika 2.9
Operacije u okviru RC5 algoritma Sledee procedure opisuju operacije prilikom kriptovanja:

A = A + S [0] ; B = B + S [1]; for i = 1 to r do A = (( A B) <<< B ) + S [2i ] ; B = (( B A) <<< A) + S [2i + 1] ; Algoritam za dekriptovanje je prikazan na Slici 2.10. Primeuje se da algoritmi za kriptovanje i dekriptovanje imaju odreenu slinost koja se ogleda u obrnutom redosledu operacija.

19

Zatita podataka primenom kriptografskih metoda

Slika 2.10
Operacije u postupku dekriptovanja pomou RC5 algoritma Formule koje opisuju postupak dekriptovanja podataka su: for i = r down to 1 do B = (( B S [2i + 1]) >>> A) A A = ((a s[2i ]) >>> B ) B B = B S [1] A = A S [0]

Zbog jednostavnosti operacija RC5 je lak za implementaciju. Uz to iznos pomaka u operacijama rotiranja nije fiksan, ve zavisi od ulaznog podatka.

2.5.6 RC6 algoritam


RC6 algoritam se pojavio kao unapreenje RC5 algoritma, naravno sa stroijim zahtevima po pitanju sigurnosti i boljim performansama. Kao i kod RC5 i ovaj algoritam koristi rotacije sa promenjivim pomakom. Novo je jedino to to RC6 koristi etiri umesto dva bloka rei (radna registra). RC6 podrava blokove podataka od po 128 bitova i koristi kljueve veliine 128, 192 i 256 bita [17]. Varijante RC6 se specifikuju kao RC6-w/r/b gde je w veliina rei u bitovima, r predstavlja broj koraka algoritma i b je duina kljua u bajtovima. Operacije koje se koriste prilikom kriptovanja su:
20

2.Kriptografija

a + b Celobrojno sabiranje po modulu 2w a b Celobrojno oduzimanje po modulu 2w a b Bit po bit XOR nad w-bit reima a b Celobrojno mnoenje po modulu 2w a <<< b Rotacija w-bitne rei a ulevo za b bita a >>> b Rotacija w-bitne rei a udesno za b bita

Algoritam koji opisuje RC6 emu za kriptovanje je prikazan na Slici 2.11.

Slika 2.11
Izgled koraka za kriptovanje pomou RC6 algoritma etiri w-bitna radna registra koja sadre izvornu poruku su A, B, C i D. S[0,1,, 2r + 3] predstavljaju w-bitne delove kljua iz proirene tabele kljueva. Dobijeni kriptovani tekst se skladiti u registrima A, B, C i D. Formiranje proirene tabele kljueva se vri isto kao i kod RC5, pomou konstanti Pw i Qw. Procedura koja prati proces kriptovanja je [11]:
B = B + S [0] D = D + S [1] for i = 1 to r do { t = ( B (2 B + 1)) |<<< lg w u = ( D (2 D + 1)) <<< lg w A = (( A t ) <<< u ) + S [2i ]

21

Zatita podataka primenom kriptografskih metoda

C = ((C u ) <<< t ) + S [2i + 1] ( A, B, C , D) = ( B, C , D, A) } A = A + S [2 R + 2] C = C + S [2 R + 3] Gde je lg w logaritam od rei w za osnovu dva.

Proces dekriptovanja je slian kriptovanju s tim to se menja redosled operacija. Na Slici 2.12 je prikazan algioritam koji se koristi za dekriptovanje poruka kriptovanih pomou RC6 algoritma.

Slika 2.12
Operacije za dekriptovanje pomou RC6 algoritma Proces dekriptovanja se moe opisati u vidu sledee procedure:
C = C S [2 R + 3] A = A S [2 R + 2] for i = r down to 1 do { ( A, B, C , D) = ( D, A, B, C ) u = ( D (2 D + 1)) <<< lg w t = ( B (2 B + 1)) <<< lg w C = ((C S [2i + 1]) >>> t ) u A = (( A S [2i ]) >>> u ) t

22

2.Kriptografija

} D = D S [1] B = B S [0]

2.5.7 AES (Rijndael) algoritam


Napredni standard za kriptovanje AES (eng. Advanced Encryption Standard) je zamenio dugogodinji standardni DES nain kriptovanja podataka. Naglim razvojem raunarskih tehnologija i sirove snage procesora algoritmi stari desetak i vie godina postaju neupotrebljivi u smislu da vie ne mogu pruiti zadovoljavajui nivo sigurnosti podataka. Danas se moe govoriti o ne ba nedostinoj sigurnosti podataka koji su kriptovani pomou DES algoritama. Kako je DES prestao zadovoljavati potrebama NIST-a (The National Institute of Standards and Technology) 1997. godine se objavljuje konkurs za novi standard za enkripciju podataka. U konkurenciji su bila 15 kandidata i to: CAST-256, CRYPTON, DEAL, DFC, E2, FROG, HPC, LOKI97, MAGENTA, MARS, RC6, Rijndael, SAFER+, Serpent te Twofish, od kojih je izabrano pet finalista: MARS, RC6, Rijndael i Serpent te Twofish. Za novi AES standard se 2000. godine odabira Rijndael [11],[19]. AES se zasniva na Rijndael algoritmu koji su razvili Daemen i Rijmen 1999 godine. Ovaj algoritam pripada grupi simetrinih ifarskih blokova, koji kriptuje blokove podataka od po 128 bitova koristei kljueve od 128, 192 i 256 bita. Sve vrednosti u okviru AES algoritma predstavljaju se u vektorskom obliku (b7, b6, b5, b4, b3, b2, b1, b0) a koji odgovaraju sledeem polinomu:
b7 x 7 + b6 x 6 + b5 X 5 + b4 X 4 + b3 x 3 + b2 x 2 + b1 x + b0 = bi x i
i =0 7

Kriptovanje podataka pomou AES algoritma se obavlja iz vie iteracija. Izvorni podaci se dele u 4 grupe od po 4 bajta na osnovu kojih se formira dvodimenzionalna matrica ulaznih bajtova [18]. Na osnovu matrice ulaznih podataka formira se matrica zvana matrica stanja. Sve operacije koje se obavljaju u toku AES algoritma se izvode nad matricom stanja. Matricu stanja ine etiri reda duine jedan bajt. Broj redova matrice stanja se kree 0 < r < 4 a broj kolona 0 < c < Nb, gde je Nb duina bloka u bitovima podeljena sa 8 x 4 = 32. Za sluaj kada je ulazni blok 128-bitni vai Nb = 4. Matrica ulaznih podataka se sastoji od elemenata in0, in1, , in15 duine od po jedan bajt. Ova matrica se preslikava u matricu stanja pomou sledee eme:
S r ,c = in(r + 4 c )

za 0 r < 4 i 0 c < Nb

Ukoliko se radi o dekriptovanju proces formiranja matrice izlaznih podataka iz matrice stanja koristi se sledea ema:
out(r +4 c ) = S r ,c za 0 r < 4 i 0 c < Nb

Ilustracija preslikavanja matrica je prikazana na Slici 2.13.

Slika 2.13
Postupci preslikavanja matrica

23

Zatita podataka primenom kriptografskih metoda

U svakoj od 9, 11 ili 13 iteracija izvravaju se operacije nad elementima matrice stanja. Redosled i broj izvravanja ovih operacija je definisan algoritmom za kriptovanje [18], [19]. Mogue su sledee operacije: - SubBytes( ) - ShiftRows( ) - MixColumns( ) - AddRoundKey( )
SubBytes( ) je operacija substitucije koja se obavlja nad svakim bajtom iz matrice stanja tako to se svaki element menja sa elementom iz pomone lookup tabele odnosno S-box-a. Ilustracija operacije substitucije je prikazana na Slici 2.14.

Slika 2.14
Operacija substitucije ShiftRows( ) operacija se odnosi na pomeranje elemenata (bajtova) u okviru kolona za odreeni broj pozicija. Na Slici 2.15 je prikazana ilustracija operacije pomeranja. Prva kolona ostaje nepromenjena, dok se svaka sledea kruno se pomera i to: druga kolona za po jedno mesto ulevo, trea za po dva mesta ulevo itd [19].

Slika 2.15
Operacija pomeranja MixColumns( ) operacija koja koristi odreenu linearnu transformaciju nad svakom kolonom iz matrice stanja. Primer ove operacije je prikazan na Slici 2.16 gde se nad kolonom obavlja operacija mnoenja sa konstantom C (x). Svaka kolona se tretira kao polinom u Galoovom polju GF(28) i mnoi sa nesvodljivim fiksnim polinomom C(x)=3x3+x2+x+2.

24

2.Kriptografija

Slika 2.16
MixColumns( )Operacija AddRoundKey( ) operacija se odnosi na XOR operaciju nad matricom stanja i matricom kljueva. Ilustracija operacije AddRoundKey( ) je prikazana na Slici 2.17.

Slika 2.17
AddRoundKey( ) operacija

25

Zatita podataka primenom kriptografskih metoda

Klju veliine 128/192/256 bita se predstavlja kao matrica koja ima 4 kolone od po 4/6/8 bajta . Zatim se tako dobijena matrica proiruje u niz rei od po 4 bajta, odnosno ukupno 44/52/60 rei wi od 128/192/256 bita. Proirenje kljua se zapoinje kopiranjem prve etiri rei kljua u re (w0, w1, w2, w3). Zatim se formira petlja koja generie sledee etiri rei wi (vidi Sliku 2.18) na osnovu predhodne rei wi-1 i rei koja je za 4 mesta unazad wi-4. U tri od etiri sluaja se primenjuje samo XOR operacija, a svaki etvrti ima sloeniju funkciju g [19].

Slika 2.18
Postupak proiravanja kljua

Funkcija g se formira od sledeih operacija: - RotWord ( ) - SubWord ( ) - Rcon (i)


RotWord ( ) se odnosi na kruno pomeranje rei u levo za jedan bajt. Ukoliko je ulazna re (b0, b1, b2, b3) nakon pomeranja se transformie u (b1, b2, b3, b0). SubWord ( ) operacija substitucije koja se obavlja nad svakom od rei veliine etiri bajta. Ova operacija zamenu rei vri pomou S-box-a. Rcon (i) operacija predstavlja matricu konstanti koju ine rei, a rauna se po formuli: Rcon(i ) = x ( 254+i ) Algoritam se na najviem nivou sastoji iz sledeih radnji:

Proirenje kljua Inicijalna iteracija: AddRoundKey( ) Iteracije redom: SubBytes ( ), ShiftRows ( ), MixColumns ( ) i AddRoundKey ( ) Konana iteracija: SubBytes ( ), ShiftRows ( ) i AddRoundKey ( )

26

2.Kriptografija

2.5.8 Blowfish
Blowfish pripada grupi simetrinih blok ifarskih algoritama. Ustanovio ga je Bruce Schneider 1993. godine. Ovaj algoritam prua dobre kriptografske karakteristike u softverskim sistemima za kriptovanje i do danas nije pronaen efikasniji algoritam. Blowfish je zamiljen kao algoritam opte namene, namenjen da zameni DES algoritam i da pri tom rei probleme i ogranienja koja se javljaju upotrebom ostalih algoritama. Ovaj algoritam je bio osloboen vlasnikih prava i patenata, odnosno karijeru je zapoeo kao nepatentiran ali su ga kasnije, kao takvog prihvatile sve zemlje. Tako je algoritam ostao u javnosti kao besplatan za bilo kog korisnika. Blowfish algoritam koristi 64-bitne blokove izvornih podataka i klju promenjive veliine od 32 do 448 bita. Algoritam koristi 16 koraka Feistel ifrovanja i veliki broj S-box-ova koji se koriste za dobijanje kljua. Na Slici 2.19 je prikazan dijagram koji opisuje strukturu Blowfish algoritma [20].

Slika 2.19
Blowfish algoritam: a) Kriptovanje; b) Formiranje pomone funkcije F

Izvorni blok podataka se deli u dve linije od po 32 bita. Algoritam prate dve matrice sa pomonim kljuevima: P matrica sa 18 elementata i etiri S-box-a (blokova za substituciju) sa 256 elemenata. Svaki S-box prihvata 8-bitne elemente na ulazu i generie 32-bitne izlaze. Tokom svakog koraka izvrenja 27

Zatita podataka primenom kriptografskih metoda

algoritma (ukupno 16) koristi se po jedan elemenat P matrice (P1,P2,,P16), a preostala dva elementa (P17 i P18) se koriste na kraju. Nad elementima P matrice i 32-bitnim podacima se primenjuje XOR logika operacija. Na Slici 2.19 (a) se vidi i F funkcija (Feistel) koja se u okviru svakog koraka primenjuje nad podacima sa leve strane. Nad tako dobijenom informacijom i podacima sa desne strane se primenjuje XOR operacija. Neposredno pre izvravanja sledeeg koraka, tako dobijeni podatak i podatak sa leve strane zamene mesta. Blok dijagram koji prikazuje dobijanje F funkcije je prikazan na Slici 2.19 (b). Podatak na ulazu (32-bitni) se deli na etiri 8-bitna podatka koji se koriste kao ulazi u S-box-ove. Izlazi iz S-box-ova S1 i S2 se sabiraju po modulu 232 i nad tako dobijenim podatakom i S3 se primenjuje XOR operacija. Na kraju se u cilju dobijanja konane 32-bitne funkcije F predhodno dobijeni rezultat sabira po modulu 232 sa S4. Formiranje kljueva se zapoinje inicijalizacijom P matrice i S-box-eva sa vrednostima dobijenim na osnovu heksadecimalne vrednosti broja pi. Tajni klju i elementi P matrice se sabiraju pomou XOR operacije. Nakon toga se vri kriptovanje 64-bitnih blokova podataka koji sadri sve nule i kao rezultat se dobijaju elementi P1 i P2. Ovaj postupak se ciklino ponavlja sve dok se ne dobiju svi elementi matrice P i S-box-eva. Da bi se generisali svi elementi potrebno je da algoritam proe 521 put, to ini ukupno 4KB podataka [20]. Proces dekriptovanja identian je postupku kriptovanja s tom razlikom to se elementi matrice P upotrebljavaju obrnutim redosledom.
Blowfish je veoma brz kriptografski metod izuzev u sitacijama kada se vri razmena kljueva. Svaki novi klju zahteva slanje 4 KB teksta.

2.6 Prednosti i nedostatci simetrinog kriptovanja


Algoritmi koji koriste simetrini klju za kriptovanje odlikuju se visokom efikasnou, to se ogleda u kratkom vremenu kriptovanja poruka. Razlog kratkog vremena kriptovanja je upotreba kratkih kljueva. Iz tih razloga se ova vrsta algoritama koristi za kriptovanje/dekriptovanje poruka velike duine. Simetrino kriptovanje ima dva osnovna nedostatka. Oba korisnika (osoba A i osoba B) moraju posedovati jedinstveni simetrini klju, te se javlja problem distribucije kljueva. Naime, korisnici koji ele da razmene poruku prethodno moraju da se dogovore o kljuu. Jedini pouzdan nain je da se oba korisnika fiziki sretnu i izvre razmenu kljua. Meutim, esto su korisnici fiziki razdvojeni i ne mogu da dou u neposredan kontakt, zato moraju da koriste neki zatien kanal da bi sigurno razmenili kljueve. Problem je to to zatien kanal praktino ne postoji. Drugi problem koji se javlja kod simetrinih kriptosistema je veliki broj potrebnih kljueva. Ako imamo N ljudi koji ele da koriste ovu metodu kriptovanja, to zahteva N(N 1)/2 simetrinih kljueva. Na primer za 1 milion ljudi potrebno je 500 milijardi simetrinih kljueva. Radi dobijanja toliko velikog broja razliitih kljueva moraju se koristiti kljuevi vee duine. Tako na primer, duina kljua od 56 bita je danas na granici dovoljnog s obzirom na to da savremeni raunari mogu relativno brzo da otkriju klju te duine.

2.7 Asimetrini kriptosistemi


Tvorci asimetrine kriptografije su Whitefield Diffie i Martin Hellman koji su 1976. godine opisali ideju kriptografije koja se temelji na dva kljua, privatnom (ili esto zvanim tajnim) i javnom kljuu. U literaturi pojam asimetrinog kriptovanja se poistoveuje sa terminom asymmetric-key ili public-key kriptovanjem. 28

2.Kriptografija

Razlika izmeu 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 odnosno dekriptovanje. Informacije koje su kriptovane javnim kljuem mogu se dekriptovati samo tajnim kljuem odnosno to moe samo osoba koja je vlasnik tajnog asimetrinog kljua. Oba kljua moraju biti povezana pomou jedinstvene jednosmerne funkcije. Odnosno ne sme se izraunati tajni klju iz javnog kljua ili se barem ne sme izraunati u razumnom vremenu. Algoritmi asimetrinih kriptosistema zasnivaju se na odreenim svojstvima brojeva. Pri kriptovanju se izvorni tekst tretira kao niz prirodnih brojeva koji se odabranom funkcijom kriptovanja i kljuem Ke preraunavaju u kriptovani niz teksta. Funkcija kriptovanja mora biti takva da se iz kriptovanog teksta ne moe odrediti izvorni tekst, ak ako je poznat i klju za kriptovanje. Meutim, ukoliko se zna klju dekriptovanja Kd mogue je lako raunanje izvornog teksta. Asimetrino kriptovanje predstavlja jako sloen vid zatite podataka. Za njegovu realizaciju svaki od sagovornika mora posedovati dva kljua (javni i tajni). Iako su razliiti, kljuevi su meusobno povezani odreenim transformacijama. Na Slici 2.20 je prikazan primer asimetrinog kriptovanja [9].

Slika 2.20
Postupak asimetrinog kriptovanja

Radi jednostavnije analize rada koristiemo simbole A, B i N. A je osoba koja eli da poalje izvorni tekst, B predstavlja osobu koja bi trebala da primi poslati tekst, a N je osoba koja neovlaeno eli da doe do sigurnih podataka koje osoba A alje osobi B. Scenario asimetrinog kriptovanja bi izgledao ovako: Osoba A kodira poruku radi slanja osobi B upotrebom javnog kljua osobe B koji je svima dostupan (ak i osobi N). Osoba A je javni klju je mogla dobiti putem email-a, preuzeti sa Web sajta i sl. Meutim bilo ko ili osoba N i pored toga to poznaje javni klju ne moe otkriti sadraj poruke. Poruku moe deifrovati samo osoba B korienjem svog tajnog kljua. Na ovaj nain poruka je zatiena od treeg lica. Osnovni nedostatak ovog naina kriptovanja je njegova sporost i neprikladnost za kriptovanje velikih koliina podataka. Takoe, ostaje otvoreno pitanje autentinosti poruke, odnosno kako da osoba B bude sigurna da je poruku koju je primila uistinu poslala osoba A. Najee se koriste sledei asimetrini algoritmi: RSA (eng. Rivest-Shamir-Adleman), Diffie-Hellman, ElGamal, Eliptic Curves, Rabin i drugi.

2.7.1 RSA
Najpopularniji asimetrini metod za kriptovanje podataka je RSA algoritam, koji nosi naziv po svojim izumiteljima: Rivest, Shamir i Adleman. 29

Zatita podataka primenom kriptografskih metoda

Za generisanje javnog i tajnog kljua se koriste prosti brojevi. Tajni klju predstavlja ureeni par brojeva (N,d). Javni klju je takoe ureeni par brojeva (N,e). Treba uoiti da je broj N zajedniki za oba kljua. Osoba koja alje poruku vri kriptovanje pomou sledee jednaine [10]:
C = P e mod N Gde je: P, izvorni tekst koji je prikazan u obliku broja; C, broj koji predstavlja kriptovan tekst; brojevi e i N su komponente javnog kljua. Kada se poruka primi potrebno je dekriptovati pomou sledee jednaine:

P = C d mod N Gde su P i C isto kao i u predhodnoj formuli, a N i d predstavljaju komponente tajnog kljua. Na Slici 2.21 je prikazan primer RSA kriptovanja.

Slika 2.21
Primer RSA kriptovanja

Tajni klju predstavlja ureeni par (119, 77), a javni klju je ureeni par (119,5) i osoba A eli da poalje karakter F osobi B. Ovaj karakter se moe predstaviti kao broj 6 (F je esti karakter u abecedi). Korienjem formule algoritma kriptovanja dobija se C = 65 mod 119 = 41. Ovaj broj se alje kao kriptovan tekst osobi B. Osoba B kada primi broj koristi algoritam za dekriptovanje P = 4177 mod 119 = 6, a nakon toga inverznom transformacijom se broj 6 vrati u karakter F. Postavlja se pitanje koliko je ovaj nain slanja pouzdan. Ukoliko neka osoba C zna formulu za dekriptovanje i N = 119, a nedostaje joj samo d = 77, zato ne bi pokuala da pogodi d. U ovom jednostavnom primeru osoba C bi mogla da pogodi vrednost d, meutim osnovni koncept RSA za d i e predvia korienje veoma velikih brojeva. U praksi korienje jako velikih brojeva za d i e znai veliki broj kombinacija koje se moraju isprobati radi otkrivanja ifre tj. veoma dugo vreme razbijanja koda ak i uz pomo najbrih raunara koji su dostupni danas. Osnovni problem kod RSA algoritma je kako izvriti izbor brojeva N, d i e (veoma velike vrednosti duine od 1024 do 2048), a da ujedno zadovoljavaju formule algoritma. Zapravo RSA koristi teoriju prostih brojeva i sledeu proceduru [21]: Izabrati dva prosta broja p i q Sraunati N = p x q Izabrati e (mora biti manje od N) tako da e i proizvod (p 1)(q 1) budu uzajamno prosti (da nemaju zajednikog delitelja osim 1). Odrediti broj d tako da zadovoljava jednainu (e x d) mod [(p 1)(q 1)] = 1 Kao ilustracija formiranja para kljueva data je sledea procedura: izabrati proste brojeve p = 2357, q = 2551; izraunati N = p x q = 6012707; izraunati (p 1)(q 1) = 6007800; bira se sluajni broj e = 3113390; rauna se d = 3674911. Odreivanje originalne poruke na osnovu kriptovane poruke i javnog kljua ekvivalentno je faktorizaciji proizvoda dva velika prosta broja [22]. Ukoliko bi neka osoba C faktorisala broj N i iz toga pronala proizvod (p 1)(q 1) ne moe doi u posed broja e, zato to on nema zajednikog delitelja sa 30

2.Kriptografija

(p 1)(q 1). Ako se desi da na neki nain sazna broj e, da bi dola do tajnog kljua d mora da faktorie broj N. Poto je broj N veoma veliki i do 309 decimalnih cifara, faktorizacija je skoro nemogua. Veliki prosti brojevi koji se koriste u RSA algoritmu nameu vie problema praktine prirode. Da bi se mnoili ovi brojevi, moraju se koristiti posebni algoritmi za mnoenje, za koje je potrebno vie vremena, samim tim se poveava vreme izvravanja algoritma za kriptovanje. Poreenja radi DES algoritam je u proseku oko 500 puta bri u odnosu na RSA. Sem toga, algoritmi za faktorizaciju su iz dana u dan sve bolji i bolji, te je danas 512-bitni RSA algoritam nedovoljan za bezbedno kriptovanje poruka. Meutim pretpostavlja se da e 1024-bitni RSA biti bezbedan jo petnaestak godina.

2.7.2 Diffie-Hellman-ova eksponencijalna razmena kljueva


Diffie i Hellman su predloili emu za kriptovanje podataka koja kao algoritam za razmenu javnog kljua koristi stepen modula q. Ova ema se u literaturi esto moe sresti kao D-H kriptografski protokol. D-H kriptografski protokol se bazira na emi eksponencijalne razmene tajnog kljua, i nije predvien za razmene poruka. Slika 2.22 prikazuje pomenutu emu [11].

Slika 2.22
Postupak D-H kriptovanja

Osoba A u cilju razmene tajnog kljua sa osobom B alje poruku . Metodom izbora sluajnog broja generie celobrojnu vrednost x iz skupa brojeva {1,2,,p - 1}. Vrednost x koristi za kriptovanje pruke pomou formule:
X = x mod p Ovako formiran podatak X se alje do odredita B. Kada primi poruku i sazna X, i p Osoba B takoe na osnovu sluajnog izbora generie broj y i pomou njega rauna vrednost Y po formuli: Y = y mod p Ovako dobijenu funkciju vraa osobi A. Istovremeno na osnovu podataka koje je dobio od A i broja y (koga je sam generisao) rauna vrednost kljua K po formuli: K = X y mod p Kako je i osoba A dobila vrednost Y moe izraunati vrednost kljua K po formuli: K = Y x mod p

31

Zatita podataka primenom kriptografskih metoda

Kako je Xy = xy mod p = Yx to je zajedniki tajni klju K = xy mod p. Na ovaj nain osobe A i B dolaze do zajednikog tajnog kljua, koga nadalje koriste za kriptovanje odnosno dekriptovanje meusobnih poruka [23]. Ukoliko neka osoba C eli da doe u posed zajednikog tajnog kljua, znajui X, i p, prinuena je da koristi diskretni logaritam y = dlog,p(Y). Sigurnost D-H razmene kljueva lei u injenici da iako je relativno lako nai eksponente po modulu prostog broja, jako je teko nai diskretne logaritme. Ovo je naroito nezamislivo za velike proste brojeve.

2.7.3 ELGamal algoritam


Taher Elgamal je 1985. godine formirao jedan asimetrini kriptografski algoritam koji se bazira na Diffie-Hellman-ovoj razmeni kljueva. ElGamal algoritam je pogodan za kriptovanje poruka, kao i za digitalno potpisivanje, te se danas koristi u okviru PGP (eng. Pretty Good Privacy) softvera za zatitu podataka. Slino kao i kod D-H algoritma bezbednost ElGamal-a se zasniva na tekom ili gotovo nemoguem izraunavanju diskretnog logaritma od velikog prostog broja [11].

Na Slici 2.23 je u vidu blokova prikazan algoritam za slanje izvorne poruke m od strane osobe A ka osobi B.

Slika 2.23
Postupak ElGamal kriptovanja

Prvo se obavlja generisanje i slanje javnog kljua od strane osobe B. Iz skupa prostih brojeva se odabere broj p kao i dva prosta broja g i x. Prilikom izbora brojeva potrebno je da vai g < p i x < p. Broj x predstavlja tajni klju osobe B, a javni klju se rauna po formuli y = gx mod p. Vrednosti y, g i p ine javni klju osobe B, koji se alje osobi A. Kriptovanje podataka m obavlja osoba A. Nakon to je saznala funkciju y (odnosno javni klju osobe B) osoba A generie sluajni broj k iz skupa prostih brojeva koji zadovoljava uslov NZD(k,p 1) = 1. Pomou broja k se formira funkcija r = gk mod p. Uz pomo funkcije y rauna se klju sesije po formuli s = yk (mod p)(m (mod p -1)). Sada se kriptovani tekst moe predstaviti kao ureeni par (r, s). Postupak dekriptovanja obavlja osoba B nakon primanja kriptovane poruke (r, s). Prvo se uz pomo tajnog kljua x rauna vrednost rx po formuli rx = (gk)x mod p. Nakon toga se rauna izvorna poruka pomou jednaine s/rx = ykm/(gk)x = (gx)k m/(gk)x = m (mod p-1). Bezbednost ovog algoritma se moe ugroziti ukoliko napada poseduje par (r, s) na osnovu koga moe rekonstruisati ureeni par (r, 2s) a samim tim i poruku 2m.

32

2.Kriptografija

to se tie efikasnosti kriptovanja, ElGamal algoritam se ne moe pohvaliti zato to je odnos izvornog teksta prema kriptovanom tekstu 2:1. Sa druge strane, izvorni tekst se moe kriptovati u vie oblika kriptovanog teksta to ga ini veoma fleksibilnim [11].

2.8 Prednosti i nedostatci asimetrinih algoritama


Kriptovanje/dekriptovanje pomou asimetrinog kljua ima dve prednosti: Prvo, reava nedostatake deljenja kljua kod simetrinih algoritama prilikom komunikacije izmeu dve osobe (A i B). Kod simetrinog kriptovanja klju se razmenjuje izmeu dve osobe i ne moe se koristiti ukoliko jedna od dve osobe eli komunicirati sa treom osobom. Kod asimetrinih kriptosisitema svaka osoba kreira po dva kljua, jedan je tajni koji osoba uva, a drugi je javni koji se razmenjuje sa drugima. Svaki od entiteta je nezavistan i svoj par kljueva moe koristiti u komunikaciji sa bilo kime. Druga prednost se ogleda u veoma velikom smanjenju broja ukupno potrebnih kljueva. U sistemu u kome komunicira milion korisnika, potrebno je samo 2 miliona kljueva, dok bi u sluaju korienja simetrinog kriptovanja bilo potrebno bar 500 milijardi kljueva. Simetrini algoritmi, takoe, imaju dva nedostatka. Najvei nedostatak je kompleksnost algoritama koji se koriste prilikom kriptovanja. Ako se eli efektno kriptovanje to povlai da algoritam koristi ogromne kljueve prilikom rada. Operisanje sa ogromnim brojevima zahteva mnogo vremena. Zbog toga asimetrini algoritmi nisu preporuljivi za rad sa velikim izvornim podacima. Moe se rei da su asimetrini algoritmi mnogo efikasniji u radu sa kratkim porukama. Isto tako, ova vrsta algoritama zbog svoje sloenosti nisu pogodni za hardversku implementaciju. Drugi nedostatak je taj to se komunikacija izmeu dve strane i javni klju moraju verifikovati. Kako osoba A alje svoj javni klju osobi B putem elektronske pote, osoba B na neki nain mora biti sigurna da je dobijeni klju upravo poslat od strane osobe A. Ovo je naroito vano ukoliko se radi o korienju asimetrinog kriptovanja prilikom identifikacije korisnika na neki sistem.

2.9 Hibridni kriptosistemi


Imajui u vidu da upotreba simetrine ili asimetrine kriptografije pati od izvesnih nedostataka javlja se potreba za sistemima koji kombinuju najbolje pojedinane karakteristike oba sistema. Tako su nastali Hibridni kriptosistemi. Princip rada ovih sistema se ogleda u sledeem: Izvorni tekst se prvo kriptuje upotrebom kljua (ponekad nazvan i session klju), a zatim se taj klju zajedno sa kriptovanom porukom pakuje i ponovo kriptuje sa javnim kljuem osobe kojoj se alje poruka. Postupak dekripcije cele poruke se ostvaruje obrnutim redosledom operacija: Osoba koja je primila poruku prvo dekriptuje istu sa svojim tajnim kljucem, pronalazi zapakovani session klju i koristi ga da bi proitala izvornu poruku [4]. Za generisanje session kljua koristi se generator pseudo-sluajnog broja u kombinaciji sa raznim korisnikovim unosima u toku procesa generisanja. Na ovaj nain se postiu zavidne performanse sistema za kriptovanje, jer se asimetrino kriptuje samo kratak simetrini klju, a ne cela, velika poruka. Znamo da asimetrino kriptovanje nije pogodno za poruke velike duine. Primer uspenog hibridnog kriptosistema je PGP (eng. Pretty Good Privacy) programski paket za kriptovanje podataka koji je formirao Phill Zimmerman 1991. godine. Princip rada PGP algoritma je prikazan ana Slici 2.24.

33

Zatita podataka primenom kriptografskih metoda

Slika 2.24
Postupak kriptovanja pomou PGP algoritma

Osoba A pre slanja poruke M Osobi B prvo izvri kompresiju pomou neke od metoda za kompresiju podataka (npr. ZIP). Komprimovanjem poruke se ubrzava vreme slanja poruke, a istovremeno i dobija na zatiti poruke. Tako kompresovana poruka M se kriptuje pomou nekog od simetrinih algoritama (DES, 3DES, IDEA ili slino) i session kljua. Na taj nain se dobija kriptovana poruka C. Zatim se vri kriptovanje session kljua pomou nekog od asimetrinih algoritama (RSA, ElGamal ili Diffie-Hellman) i javnog kljua osobe B. Tako nastaje kriptovana poruka S koja se alje osobi B zajedno sa porukom C [24]. Proces dekriptovanja se obavlja obrnutim redosledom radnji od procesa kriptovanja. Kada primi kriptovanu poruku osoba B upotrebljava svoj tajni klju i dekriptuje poruku koja sadri session klju. Korienjem session kljua osoba B dekriptuje kriptovanu poruku a kasnije je i dekompresuje u cilju dobijanja izvorne poruke. PGP program nudi nekoliko stepeni zatite: niski, visoki i vojni. Prvi koristi 512-bitni klju, drugi 768-bitni a vojni koristi 1024-bitni klju. Osim generisanja para kljueva, PGP algoritam nudi jo dosta sigurnosnih mera tipa: za generisanje kljueva se ne koristi generator kljueva ve algoritam trai od korisnika da unese neke podatke pomou tastature, a za to vreme meri razmake izmeu vremena udaraca i na osnovu njih generie kljueve. Isto tako PGP nudi potpisivanje poslatih dokumenata u cilju dokazivanja autentinosti.

34

3 Tehnika digitalnog potpisa


Digitalni potpisi se koriste za identifikaciju izvora informacije koji moe biti neka osoba, organizacija ili raunar. Ideja digitalnog potpisa je slina klasinom potpisivanju dokumenata. Ukoliko se neki dokument eli poslati elektronskim putem, takoe se mora potpisati. Za razliku od klasinog potpisa, digitalni potpis je gotovo nemogue falsifikovati. Potpisivanjem dokumenata osoba koja ih alje garantuje autentinost, integritet i neporicljivost osobi koja ih prima. Digitalni potpisi se zasnivaju na reenjima primenjenim u simetrinim, a ee u asimetrinim kriptografskim sistemima. Potpisivanje dokumenata bazira se na matematikoj funkciji i dva kljua, tajnom i javnom ili samo tajnom kljuu. Sistemi za digitalno potpisivanje dokumenata bazirani na simetrinoj kriptografiji koriste tajni klju za potpisivanje i verifikaciju poruke. Ovi sistemi su poznati pod imenom Message Authentication Code (MAC). Princip rada MAC-a se zasniva na nekoliko koraka. Prvo se vri izraunavanje kontrolne sume (eng. checksum) izvorne poruke, zatim se koristi tajni klju za potpisivanje dobijene kontrolne sume. Ovako potpisanu poruku moe verifikovati samo osoba koja poseduje tajni klju. Najpoznatiji tip MACa je HMAC ili Hashed Message Authentication Code. Za potpisivanje kontrolne sume izvorne poruke HAMAC koristi neku od he funkcija (eng. hash functions) kao to su MD5, SHA-1 ili SHA-256 i tajni klju. Sistemi za digitalno potpisivanje dokumenata bazirani na asimetrinoj kriptografiji poseduju dva razliita kljua. Prilikom potpisivanja poruka ovom metodom postoje dve tehnike: potpisivanje cele poruke i potpisivanje kratkog sadraja poruke (saetka) takozvani message digest. Oblasti u kojima se digitalni potpisi najvie koriste su elektronska trgovina, elektronska pota i razne finansijske transakcije, mada se ova tehnika moe nai i u drugim oblastima u cilju reavanja mnogih problema koji se odnose na bezbednost informacija Tehnologija digitalnog potpisa sve vie postaje korisnija i prihvatljivija metoda za zatitu vanih informacija, uzimajui u obzir to da se mnoge zemlje utrkuju u razvoju to boljeg standarda za potpisivanje [27].

3.1 Potpisivanje cele poruke


Osnovu ove metode za potpisivanje ini cela poruka. Osoba koja alje poruku koristi tajni klju za kriptovanje cele poruke i na taj nain je potpisuje. Onaj ko primi tako potpisanu poruku, koristi javni klju da bi dekriptovao primljenu poruku i na taj nain sprovodi verifikaciju osobe koja je poslala poruku. Treba zapaziti da se prilikom korienja tehnike digitalnog potpisa, za kriptovanje koristi tajni, a za dekriptovanje javni klju, to je obrnuti postupak u odnosu na postupak koji sprovode asimetrini algoritmi za kriptovanje. Ovo je mogue zato to su algoritmi koji su danas u upotrebi, kao RSA, bazirani na simetrinim matematikim formulama. Obrnuti postupak korienja kljueva ovde je opravdan iz razloga to je cilj verifikacija identiteta osobe koja je poslala poruku, a ne da se zatiti sadraj poruke. Na Slici 3.1 je prikazan metod potpisivanja cele poruke. Osoba A alje izvorni tekst osobi B ali ga pre toga kriptuje pomou svog tajnog kljua. Osoba B nakon primanja potpisanog teksta (kriptovani tekst) vri dekriptovanje pomou javnog kljua osobe A. Na sledeim primerima se moe pokazati kako se postie autentinost, integritet i neporicljivost potpisivanja cele poruke, to predstavlja svrhu digitalnog potpisivanja dokumenata.

35

Zatita podataka primenom kriptografskih metoda

Slika 3.1
Tehnika potpisivanja cele poruke Ukoliko neka osoba C eli poslati poruku, a da to izgleda kao da ju je poslala osoba A, onda za kriptovanje mora koristiti tajni klju osobe A. Ako osoba C ne poseduje ovakav klju i poalje poruku, takva poruka se ne moe korektno dekriptovati korienjem javnog kljua osobe A. Ako neka osoba C neovlaeno doe do kriptovanog sadraja poslate poruke (uhvati poruku), pokua da je promeni bilo celu ili neki njen deo, kasnijim dekriptovanjem takve poruke se dobija neitljiv sadraj. Na taj nain se odrava integritet poruke. Ako se poruka koju je poslala osoba A zabelei na nekom pomonom mestu i osoba A kasnije ospori da je poslala poruku, osoba B moe nai poruku na snimljenom mestu i pomou javnog kljua osobe A moe formirati duplikat originalne poruke. Znai tehnika potpisivanja cele poruke zadovoljava karakteristiku neporicljivosti [10].

3.2 Potpisivanje saetka poruke


Ukoliko su poruke dugake, korienje kriptovanja sa javnim kljuem za potpisivanje cele poruke je veoma nepraktino. Nepraktinost se ogleda u veoma velikim duinama poruka, to iziskuje dosta resursa i troi mnogo vremena za kriptovanje. Kao logino reenje ovog problema javlja se mogunost , potpisivanja samo saetka umesto potpisivanja cele poruke. Osoba koja alje poruku kreira skraenu verziju poruke tj. njen saetak. Tako formiran saetak potpisuje i alje komunikacionim kanalom. Osoba koja primi tako skraenu poruku proverava njen potpis. Svaka promena izvorne poruke izaziva promenu u sadraju, to se odraava na promenu potpisa, ime se minimizuje mogunost zloupotrebe [10]. Za kreiranje sadraja poruke se koristi pomenuta he funkcija za saimanje. Ova funkcija, bez obzira na duinu poruke, formira sadraj fiksne duine, to je ilustrovano na Slici 3.2.

Slika 3.2
Primena hash funkcije Tehnika potpisivanja sadraja poruke uglavnom koristi neku od dve he funkcije: MD5 (Message Digest 5) sa 128-bitnim sadrajem i SHA-1 (Secure Hash Algorithm 1) sa 160-bitnim sadrajem. Kako 36

3.Tehnika digitalnog potpisa

bi garantovala siguran prenos poruke he funkcija mora da zadovolji dve stvari: Prvo, funkcija saimanja se obavlja u jednom smeru. Sadraj se jedino moe formirati na osnovu originalne poruke ne i obrnuto. Uz to, formiraje sadraja treba biti veoma brzo i jednostavno; Drugo, he funkcija je jednoznana, tj primena iste he funkcije na istoj poruci daje isti saetak. Nakon kreiranja sadraja poruke, vri se kriptovanje (potpisivanje) istog korienjem tajnog kljua osobe koja alje poruku (osoba A). Obino se za kriptovanje koristi RSA algoritam. Kriptovani sadraj se upakovan zajedno sa originalnom porukom alje osobi B. Na Slici 3.3 je prikazan postupak potpisivanja saetka. Osoba A primenom he funkcije formira saetak koji se potpisuje i upakovan sa porukom alje osobi B [10].

Slika 3.3
Postupak slanja sadraja poruke Osoba B prima originalnu poruku i kriptovani sadraj zajedno sa potpisom, a nakon prijema vri razdvajanje. Na Slici 3.4 je prikazana strana osobe B u procesu primanja poruke. Primenom he funkcije na originalnu poruku osoba B kreira drugi sadraj. Takoe, dekriptuje kriptovani sadraj koji je primila od strane osobe A uz pomo javnog kljua osobe A. Konano, vri poreenje predhodno kreiranih sadraja i ukoliko su isti uspeno je obavljena verifikacija poruke.

Slika 3.4
Postupak prijema potpisanog sadraja poruke 37

Zatita podataka primenom kriptografskih metoda

Kada se govori o izvornoj poruci sledea zapaanja ukazuju na njenu sigurnost: Ako sadraj dolazi od verifikovanog poiljaoca, isto tako i poruka dolazi u paketu od verifikovanog poiljaoca, ime je zadovoljena autentinost poruke. Zbog karakteristike jednoznanosti sadraja, ukoliko je sadraj preneen nepromenjen, zakljuuje se da je i poruka preneena nepromenjena ime se zadovoljava integritet. Osoba koja alje poruku ne moe se odrei sadraja, a samim tim i poruke koja se alje zajedno sa sadrajem, to ukazuje na neporicljivost [10].

3.3 He funkcije
3.3.1 MD5
MD5 (eng. Message Digest Algorithm 5) je he funkcija koja se primenjuje u aplikacijama za digitalno potpisivanje dokumenata. Duina sadraja koji se formira na osnovu MD5 funkcije je kratka (128 bita) to ga ini pogodnim za brzu proveru identiteta osoba koje alju obimne dokumente. Algoritam MD5 funkcije je razvio Ron Rivest 1991. godine, kao zamenu za MD4 algoritam. Nakon pet godina otkriveni su mali nedostatci u algoritmu te su kriptografi preporuivali upotrebu drugih he funkcija. Nekoliko narednih godina su otkriveni dodatni nedostaci te je upotreba ovog algoritma dovedena u pitanje. Tokom 2005. godine grupa istraivaa je uspela da formira isti sadraj primenjujui MD5 na dva razliita dokumenta. Zbog pronaenih nedostataka, danas se ovaj algoritam sve ree koristi za digitalno potpisivanje, ali je naao primenu u proveri integriteta fajlova, gde se koristi za izraunavanje kontrolnih suma, kod kojih sigurnost nije prioritetna [11]. MD5 algoritam kao ulaznu informaciju koristi w-bitni broj. Izvorni tekst se moe prikazati kao niz brojeva [26]: m0, m1, m2,,mw-2, mw-1 Gde je broj w, vrednost iz proirenog skupa prirodnih brojeva. Na poetku je potrebno izvriti dopunu ulazne informacije do vrednosti koja se dobija od broja koji je celobrojni umnoak od 512 bita umanjenog za 64 bita. Na primer, ukoliko se izvorna poruka sastoji od 128 bitova (w = 127) potrebno je dopuniti do 448 bitova tj. 512 64 = 448. Dopuna se zapoinje sa poetnim bitom 1 a svi ostali bitovi za popunjavanje imaju vrednost 0. Nakon dopune poruke, izvornoj poruci je potrebno dodati 64-bitnu reprezentaciju broja w. Ukoliko je duina poruke vea i ne moe da se predstavi pomou 64 bita, poruci se dodaje samo niih 64 bita. Dodavanjem ovih 64 bita duina cele poruke postaje deljiva sa 512, odnosno deljiva sa 16 rei od 32bita. Sada se poruka moe prikazati kao:
M [1,2,..., N ]

Gde je N broj deljiv sa 16. Ovako pripremljenu poruku algoritam kasnije koristi prilikom formiranja sadraja. Na Slici 3.5 je prikazan izgled jednog od mogua 64 koraka izvrenja MD5 algoritma. Nakon predhodne pripreme poruke, potrebno je inicijalizovati 128-bitni bafer koji se sastoji od etiri 32-bitna registra A, B, C i D. Kao inicijalne vrednosti koje se upisuju u ove registre koriste se proizvoljne 32bitne konstante [27].

38

3.Tehnika digitalnog potpisa

Slika 3.5
Korak MD5 algoritma Posle zavrene inicijalizacije, pokree se prvi korak MD5 algoritma. Ukupnih 64 koraka se deli u etiri ciklusa od po 16 koraka. Algoritam je formiran za izvrenje 512 bita poruke, to znai da ukoliko je poruka dua od 512 bita izvrenje algoritma se mora ponoviti. Algoritam se sastoji od etiri ciklusa koji imaju isti tok s tim to se prilikom izraunavanja u svakom od ciklusa koristi razliita logika funkcija F, G, H i I. Funkcije se raunaju po formulama:

F ( X , Y , Z ) = ( X Y ) ( X Z ) G ( X , Y , Z ) = ( X Z ) (Y Z ) H ( X ,Y , Z ) = X Y Z I ( X , Y , Z ) = Y ( X Z ) Gde su ,, , operacije AND, OR, NOT i XOR respektivno [27].


Tokom ciklusa se koriste operacije aritmetikog sabiranja po modulu 232 i operacija pomeranja ulevo za s pozicija, gde je s vrednost razliita za svaki ciklus. M[N] predstavlja 32-bitnu ulaznu poruku, a K[N] konstanta koja je drugaija za svaki ciklus. Ukupno 16 M[N]-ova se koristi tokom 16 koraka u okviru svakog od 4 ciklusa. Rezultat jednog koraka se koristi kao poetna vrednost (A, B, C i D) narednog koraka. Na kraju se konana vrednost formiranog sadraja upisuje u registre A, B, C i D.

3.3.2 SHA-1 algoritam


SHA (Secure Hash Algorithm) se pojavio 1993. godine (u literaturi se esto koristi termin SHA-0) od strane amerike vladine agencije Nacionalnog instituta za standarde i tehnologiju (NIST), kao zvanini standard za saimanje poruka. Zbog pronaenih propusta u sigurnosti ubrzo je povuen, a nasledio ga je SHA-1 1995. godine . Obe varijante SHA-0 i SHA-1 formiraju sadraje duine 160 bita, a maksimalna duina izvorne poruke moe biti 264. Neto kasnije su se pojavile varijante ovog algoritama koje formiraju i due
39

Zatita podataka primenom kriptografskih metoda

sadraje. To su SHA-256, SHA-224, SHA-384 i SHA-512 a nazive su dobile po duini sadraja. Zbog dueg sadraja ove varijante su sigurnije reenje u odnosu na SHA-0 i SHA-1. Ovi algoritmi ine grupu nazvanu SHA-2. Iako je ova grupa algoritama po pitanju sigurnosti bolje reenje, danas je zbog jednostavne implementacije i brzine najvie u upotrebi SHA-1. U osnovi SHA-1 je baziran na idejama MD4 i MD5 algoritama. Ulazna poruka se dopuni po potrebi slino kao i kod MD5 a nakon toga smeta u ulazni bafer koji se sastoji od pet 32-bitnih registra. Izraunavanje se vri u okviru 80 koraka i pritom se koriste operacije aritmetikog sabiranja po modulu 232, pomeranja ulevo za odreeni broj pozicija i etiri tipa funkcija. Prvi tip funkcije se koristi u okviru prvih dvadeset koraka a rauna se po formuli [11]:
F ( X , Y , Z ) = ( X Y ) ( X Z )

U okviru drugih dvadeset koraka se koristi funkcija:

G( X , Y , Z ) = X Y Z
Od etrdesetog do ezdesetog koraka se koristi funkcija oblika:
H ( X , Y , Z ) = ( X Y ) ( X Z ) (Y Z )

Funkcija koja se upotrebljava u okviru poslednjih dvadeset koraka je:

I ( X ,Y , Z ) = X Y Z
Gde su ,, , operacije AND, OR, NOT i XOR respektivno. Konaan rezultat se smeta u poetna pet 32-bitna registra. SHA-1 predstavlja industrijski standard u kriptografiji i naao je primenu u mnogim aplikacijama kao to su TLS, SSL, PGP, SSH, S/MIME i IPSec (o kojima e vie rei biti kasnije).

40

4 Autentifikacija entiteta
Autentifikacija predstavlja proceduru pomou koje se vri uzajamna verifikacija identiteta dva entiteta. Kada se govori o entitetu misli se na neku osobu, proces, klijenta ili server. U nastavku e se, radi jednostavnijeg objanjenja procedura, pojam entiteta odnositi na neku osobu. Autentifikacija entiteta se moe obavljati korienjem simetrinog ili asimetrinog kriptovanja.

4.1 Autentifikacija entiteta pomou simetrinog kriptovanja


Kada se radi o tehnikama digitalnog potpisivanja, diskutovano je o autentifikaciji poruke odnosno njenog sadraja, to nikako ne treba poistovetiti sa autentifikacijom osoba. Osnovna razlika izmeu ova dva pojma je ta to se kod autentifikacije poruka verifikacija i provera identiteta obavljaju prilikom slanja svake poruke, dok kod autentifikacije osoba, verifikacija obavlja samo jednom, na poetku sesije. Autentifikacija entiteta pomou simetrinog kriptovanja se javlja u tri vida [10].

4.1.1 Prvi vid autentifikacije entiteta


Na Slici 1 je prikazana procedura koja opisuje prvi vid autentifikacije. Osoba A alje svoj identitet i lozinku u okviru kriptovane poruke. Za kriptovanje ove poruke koristi se tajni klju KAB. Na Slici 4.1 je klju prikazan u okviru katanca kako bi prikazao da je poruka kriptovana.

Slika 4.1
Prvi vid autentifikacije entiteta Postavlja se pitanje da li je ovaj vid autentifikacije dovoljno bezbedan. injenica je da napada, odnosno osoba C ne moe videti sadraj ili lozinku zato to ne poseduje klju KAB. Meutim, ukoliko osoba C uhvati obe poruke i autentifikacionu i poruku koja nosi podatke, moe da ih snimi negde i kasnije ih poalje ka B. Osoba B ne zna da li je poruka poslata od osobe A ili od osobe C. Znai, tokom ovog vida autentifikacije ne postoji nita to moe garantovati autentinost izvora poruke. Posledice usled zloupotrebe mogu biti znaajne. Na primer, Osoba A poalje poruku osobi B (na primer bankarski menader) da izvri plaanje nekoj osobi C. Osoba C moe da uhvati poruku i da je poalje osobi B. Ne znajui da poruka dolazi od osobe C (a ne od A) osoba B moe po drugi put izvriti isplatu. Na taj nain je osoba C izvrila zloupotrebu koja se naziva ponovljeni napad [10].

4.1.2 Drugi vid autentifikacije entiteta


Da bi se izbegla opasnost od ponovljenog napada, u proceduru za autentifikaciju se mora dodati neto to e osobi koja prima poruku omoguiti da identifikuje ponovljeni autentifikacioni zahtev. To se postie korienjem jednog velikog broja (128 bita) dobijenog sluajnim odabirom. Ovaj broj se koristi samo jednom u toku sesije i naziva se jednokratni (one-time) broj. Na Slici 4.2 je prikazana procedura drugog vida autentifikacije. 41

Zatita podataka primenom kriptografskih metoda

Slika 4.2
Drugi vid autentifikacije Autentifikacija entiteta se obavlja u tri koraka: Prvo, osoba A alje osobi B svoju identifikaciju u obliku izvornog teksta. Nakon toga, Osoba B proziva osobu A slanjem one-time broja RB takoe u obliku izvornog teksta. Na ovaj nain osoba B saznaje da osoba A eli razmenu poruka, a slanjem broja RB ona eli da proveri da li je poruka zaista stigla od osobe A. U poslednjem koraku, nakon prepoznavanja prozivke od strane osobe B, osoba A se odaziva vraanjem kriptovanog broja RB nazad ka osobi B. Za kriptovanje broja RB se najee koristi metoda simetrinog kriptovanja pomou tajnog kljua. U okviru ovog koraka osoba A dokazuje da je ona upravo ta koja eli razmenu sa osobom B [10]. Prednost ove metode za autentifikaciju entiteta se ogleda u jednostavnosti implementacije, odnosno sprovoenje uzajamne autentifikacije pomou relativno malog broja koraka. Osnovni nedostatak je taj to je izvrena samo verifikacija osobe A, dok je identitet osobe B nepoznat.

4.1.3 Bidirekciona autentifikacija


Naprednija verzija drugog vida autentifikacije entiteta predstavlja takozvana bidirekciona autentifikacija. Na Slici 4.3 je prikazana metoda bidirekcione autentifikacije. Prednost ovog vida autentifikacije se ogleda u tome to se za isti broj koraka (tri koraka) ostvaruje uzajamna autentifikacija entiteta [10]. Na poetku, osoba A alje sopstvenu identifikaciju u obliku izvornog teksta i one time broja RA radi pozivanja osobe B, sa kojom eli izvriti uzajamnu verifikaciju.

Slika 4.3
Bidirekciona autentifikacija entiteta 42

4.Autentifikacija entiteta

U drugom koraku, osoba B se odaziva na poziv osobe A slanjem kriptovanog broja RA (pomou tajnog kljua KAB) i slanjem sopstvenog broja RB. Time osoba B obavetava osobu A da je primila poziv, a ujedno eli da proveri da li je poruka stvarno poslata od strane osobe A. Nakon poslate poruke osoba B oekuje povratnu poruku koja e joj dokazati da je osoba A proitala predhodno poslatu poruku i pokazati da poseduje tajni klju KAB. Kada je primila poruku od strane osobe B, osoba A je ustanovila da je poruka sigurno dola od osobe B (vraen joj je poslati broj RA), a ujedno i stekla utisak da osoba B poznaje tajni klju KAB. Ukoliko to nije tako, ve je poruku poslala osoba koja se lano prestavlja kao osoba B, osoba A bi dekriptovanjem dobijene poruke dobila neispravnu vrednost broja RA [10]. U treem koraku, osoba A se odaziva osobi B slanjem kriptovanog (KAB) broja RB. Imajui u vidu injenicu da se za svaku sesiju koriste razliiti setovi brojeva za RA i RB i da prilikom jedne sesije se jednovremeno obavlja samo jedna autentifikacija, moe se zakljuiti da je ova metoda veoma jednostavna i bezbedna u smislu ponovljenog napada. Kao takva predstavlja odlino reenje za uzajamnu autentifikaciju entiteta [10].

4.2 Autentifikacija entiteta korienjem asimetrinog kriptovanja


Pored korienja simetrinog naina kriptovanja za autentifikaciju se mogu koristiti i asimetrine metode. Na Slici 4.4 je prikazana autentifikacija entiteta asimetrinim kriptovanjem. Prilikom autentifikacije entiteta, korienjem asimetrinog kriptovanja, osobe u komunikaciji (osoba A i osoba B) koriste usluge servera za autentifikaciju.

Slika 4.4
Autentifikacija entiteta korienjem asimetrinog kriptovanja Osoba A pre nego to zapone komunikaciju sa osobom B, obraa se serveru za autentifikaciju i od njega trai javni klju osobe B (KB). Kada server ustanovi identitet osobe A alje joj poruku sa kljuem KB. Poto je primila poruku, osoba A formira pseudo-sluajni broj RA i zajedno sa svojim identitetom ga kriptuje pomou javnog kljua KB. Poruka je kriptovana pomou javnog kljua osobe B to znai da je moe dekriptovati jedino osoba B pomou svog tajnog kljua. Osoba B, kada primi poruku dekriptuje je 43

Zatita podataka primenom kriptografskih metoda

sa svojim tajnim kljuem, i trai od servera javni klju osobe A, KA. Server, takoe proverava identitet osobe B i ako je sve u redu alje joj traeni klju KA. Koristei javni klju KA, osoba B kriptuje poruku koja sadri primljeni broj RA, njen broj RB i klju sesije KS. Ovako formiranu poruku osoba B alje osobi A, i na taj nain joj dokazuje da je uspeno dola do broja RA i da je ona upravo ta osoba kojoj su poruke namenjene. Istovremeno formira klju sesije KS koji e kasnije sluiti kao zajedniki klju za sigurnu razmenu podataka izmeu ova dva entiteta. Na kraju, osoba A kada primi poruku dekriptuje je sa svojim tajnim kljuem, uzima broj RB i koristei klju sesije KS kriptuje poruku. Tako kriptovanu poruku alje nazad ka osobi B. Na ovaj nain je osoba A dokazala osobi B da je uspeno dekriptovala poruku i da je primila klju za obavljanje razmene podataka KS [10], [28].

44

5 Upravljanje kljuevima
Ukoliko neka osoba poseduje odreeni klju za dekriptovanje lako moe proitati odgovarajuu poruku, a ukoliko se klju ne poseduje itanje poruke je nemogue. Upravo ta injenica ukazuje na to da su kljuevi najbitnije informacije u kriptografiji, a samim tim upravljanje kljuevima je od sutinske vanosti u svim kriptosistemima. Na Slici 5.1 je prikazan ivotni vek kljua. Svaki klju zapoinje svoj ivot kreiranjem, a zavrava sa unitenjem. Pre upotrebe klju mora da proe kroz fazu distribucije do korisnika i uvanje kljua do upotrebe. U dosta sluajeva se deava da je potrebno da se klju, usled nekog nedostatka, zameni odgovarajuim novim kljuem.

Slika 5.1
Zivotni vek kljua Zadatak upravljanja kljuevima je da u svakom trenutku obezbedi tajnost i integritet kljueva. Upravljanje kljuevima se ne odnosi samo na zatitu kljueva tokom upotrebe, nego i na kreiranje sigurnog kljua, njegovu distribuciju do udaljenog korisnika, utvrivanje korektnosti kljua i njegovo unitavanje u sluaju da se dovede u sumnju ili izgubi. Veoma je vaan odabir odgovarajueg kljua za kriptovanje odreene vrste podataka. Ranije je bilo govora o korienju simetrine i asimetrine kriptografije u zatiti poruka i autentifikaciji, meutim nije bilo rei kako se vri distribucija kljueva u okviru simetrine kriptografije ili kako se vri provera kljueva u okviru asimetrine kriptografije. Distribucija i provera kljueva su takoe od kljune vanosti u sigurnosnim sistemima.

5.1 Kreiranje kljua


Pojedini kljuevi mogu imati nezadovoljavajue karakteristike ako se upotrebe u odreenim algoritmima za kriptovanje. Na primer, ako se u okviru DES algoritma upotrebi klju koji sadri sve nule, po pitanju sigurnosti nee dati zadovoljavajue rezultate. Isto tako, kada se koristi RSA algoritam brojevi p i q se moraju birati iz skupa prostih brojeva. Veina sistema za kriptovanje poseduje vie metoda za generisanje kljueva. Obino korisnik formira klju izborom odreene lozinke. Lozinka se posredstvom nekog algoritma transformie u klju. Na ovaj nain se korisniku omoguava pamenje jednostavne lozinke, umesto pamenja kljua velike 45

Zatita podataka primenom kriptografskih metoda

duine. Pametan izbor lozinke ukljuuje korienje brojeva i specijalnih karaktera. Treba napomenuti da je prostor predvien za ukucavanje lozinke promenjive veliine i da je poeljno koristiti to vei broj karaktera. Ovo smanjuje mogunost, a i produava vreme koje je potrebno, za otkrivanje kljua. Neki kljuevi se dobijaju uz pomo pseudo-sluajnog broja. Za ovakav nain dobijanja kljua potrebni su generatori sluajnih brojeva. Ukoliko generator generie ba sluajne brojeve malo je verovatno da e napada otkriti klju predviajui cifre koje ga ine. Jedna od najvanijih karakteristika koja se mora imati u vidu je duina kljua. Neki od algoritama koriste kljueve fiksne duine, kao to je DES algoritam sa kljuem od 56 bita, meutim najbolja varijanta je kada korisnik moe da vri izbor duine kljua. Klju duine 1024 bita u okviru RSA algoritma je sigurniji nego klju od 512 bita kod istog algoritma.

5.2 Distribucija kljueva


Nakon generisanja kljueva, isti se mogu koristiti na razliitim lokacijama i sa razliitom opremom. Da bi se dopremili do udaljenih lokacija, kljuevi se po pravilu transportuju preko nezatienih komunikacionih linija. Ako se kljuevi tokom transporta ne zatite, mogu biti ukradeni, to ceo sistem za kriptovanje ini nesigurnim. Preporuljivo reenje je da se za prenos kljueva koriste sigurne linije, kao to je na primer dostavljanje kljua korisnicima putem pote. Isto tako, format zapisivanja kljua treba biti razumljiv i na neki nain univerzalan, tj. mora biti prepoznatljiv za svakog korisnika ili mainu. Zbog razlika u nainu funkcionisanja simetrinih i asimetrinih sistema namee se razliita upotreba kljueva to rezultuje razliitim problemima prilikom distribucije istih.

5.2.1 Distribucija kljueva u simetrinim kriptografskim sistemima


Prilikom korienja simetrinih kljueva javljaju se tri osnovna problema: Prvi, ukoliko n osoba eli da ostvari neku komunikaciju, potrebno je da raspolae sa n(n 1)/2 simetrinih kljueva. Treba imati u vidu to da svaki od n osoba moe komunicirati sa (n 1) drugih, to iziskuje upotrebu n(n 1) kljueva. Zbog toga to se simetrino kriptovanje odnosi na komunikaciju izmeu dve osobe, potrebno je n(n 1)/2 kljueva. Problem nastaje ukoliko je n veliki broj. Na primer, ako n iznosi 1 milion osoba za sigurnu komunikaciju je neophodno pola milijarde kljueva. Drugo, u grupi od n osoba, svaka osoba mora posedovati a i zapamtiti (n 1) kljueva, po jedan za po svaku osobu u grupi. To znai da ukoliko 1 milion ljudi eli da komunicira sa ostalima, mora da zapamti oko 1 milion kljueva. Tree, kljuevi se moraju prenositi preko sigurne komunikacione linije, nikako preko telefona ili interneta. Razmatrajui navedene probleme, kao najbolje, namee se reenje da se kljuevi kreiraju dinamiki za svaku sesiju i nakon nje unitavaju. U tom sluaju se ne zahteva pamenje kljueva od strane osoba koje komuniciraju. Kao najjednostavnija metoda za distribuciju kljua putem raunarske mree predstavlja ranije opisana Diffie-Hellman ili D-H metoda (videti poglavlje 2.7.2). Ova metoda se najee koristi za sesije sa kljuevima za jednokratnu upotrebu (eng. one-time key). Dve strane u komunikaciji koriste ove kljueve za razmenu podataka bez pamenja istih. Prilikom razmene kljueva ova metoda ne prua mogunost autentifikacije strana koje su u komunikaciji, to predstavlja veliki nedostatak po pitanju sigurnosti. 5.2.1.1 Centar za distribuciju kljueva (KDC) Ranije opisana D-H metoda se zasniva na slanju nezatienih kljueva putem komunikacione linije, ime je ugroena njihova bezbednost. Sa druge strane, da bi se uspostavila komunikacija izmeu dva entiteta obe strane moraju posedovati isti par kljueva. U cilju sigurne razmene kljueva meu entitetima 46

5.Upravljanje kljuevima

koristi se neki trei entitet kome veruju obe strane u komunikaciji. Ovaj entitet se naziva centar za distribuciju kljueva ili KDC (eng. Key Distribution Center). Osobe A i B su klijenti KDC-a (Slika 5.2). Izmeu osobe A i KDC-a se koristi jedan simetrini tajni klju do koga osoba A dolazi na siguran nain, na primer linim odlaskom u centar. KA je tajni klju osobe A, dok je KB tajni klju osobe B. Ove tajne kljueve mora posedovati svako ko eli komunicirati pomou KDC-a [10].

Slika 5.2
Proces razmene kljueva pomou KDC-a Klju KAB je zajedniki klju za sesiju izmeu osobe A i B. Postupak razmene kljua se obino obavlja u nekoliko koraka: Korak1. Osoba A alje poruku KDC-u sa zahtevom za komunikacijom sa osobom B, a u cilju kreiranja zajednikog kljua sesije KAB. Poruka sadri podatke o identitetu osobe A i identitetu osobe B. Treba napomenuti da ova poruka nije kriptovana. Korak2. KDC prima poruku i kreira takozvani tiket namenjen osobi B. Poto KDC zna tajni klju osobe B, koristi ga kako bi kriptovao pomenuti tiket. Tiket sadri identitete osoba A i B i zajedniki klju KAB. Ovako formiran tiket se upakuje zajedno sa zajednikim kljuem za jednu sesiju KAB, kriptuje sa kljuem KA i na kraju poalje osobi A, kao poruku. Nakon prijema poruke osoba A je dekriptuje, a zatim otpakuje zajedniki klju, KAB. Poto nema klju KB ne moe da otpakuje tiket namenjen osobi B. Korak3. U okviru ovog koraka osoba A prosleuje tiket namenjen osobi B. Osoba B poto primi tiket, otpakuje ga i pamti klju KAB koji joj je neophodan radi razmene poruka sa osobom A [10].

Nakon treeg koraka, Osobe A i B mogu razmeniti podatke korienjem kljua KAB kao kljua za one-time sesiju. Pored navedenog standardnog naina razmene kljueva sa KDC-om postoji nekoliko drugih varijanti odnosno protokola za razmenu kljueva. 5.2.1.2 Needham-Schroeder protokol Kako bi postigao to sigurniju razmenu kljueva izmeu entiteta ovaj protokol ini vie naizmeninih akcija gde se pod akcijom smatra razmena poruka tipa izazov-odgovor izmeu dva entiteta. Tokom akcija razmene kljueva Needham-Schroeder protokol koristi KDC i predstavlja odlino 47

Zatita podataka primenom kriptografskih metoda

reenje po pitanju sigurnosti. Vai za fundamentalni protokol na osnovu koga su nastali mnogi drugi protokoli. Prema poslednjoj verziji ovog protokola tokom akcija se koriste etiri sluajna broja: RA, RB, R1 i R2. Ovi brojevi se generiu samo za jednu sesiju. Na Slici 5.3 je prikazana razmena kljua pomou Needham-Schroeder protokola [10].

Slika 5.3
Proces razmene kljua pomou Needham-Schroeder protokola Protokol se sastoji od sedam koraka: Korak 1. Osoba A alje svoj identitet osobi B, i na taj nain joj saoptava da eli komunikaciju. Korak 2. Osoba B pomou svog tajnog kljua KB kriptuje predhodno generisani broj RB koji namenjuje KDC-u, ali ga alje osobi A. Kada primi poruku, osoba A e je proslediti do KDC-a u cilju dokazivanja da je osoba koja komunicira sa osobom B jedina koja e komunicirati sa KDC, odnosno da nije napada. Korak 3. Poruka koju osoba A alje ka KDC sadri sluajan broj RA, identitet osobe A, identitet osobe B i kriptovani broj RB. Treba napomenuti da ova poruka nije kriptovana, i da predstavlja zahtev osobe A namenjen KDC-u u cilju obezbeivanja tajnog kljua sesije KAB za obavljanje sigurne razmene podataka izmeu osoba A i B. Korak 4. KDC vraa osobi A poruku sa sledeim sadrajem: broj RA, identitet osobe B, klju sesije KAB i kriptovani tiket koji je namenjen osobi B. Ovaj tiket je kriptovan tajnim kljuem osobe B, a sadri klju sesije KAB, identitet osobe A i broj koji je predhodno generisala osoba B,

48

5.Upravljanje kljuevima

RB. Na taj nain je osoba A dobila odziv od KDC-a koji sadri sve neophodne podatke za bezbednu komunikaciju sa osobom B. Korak 5. Osoba A prosleuje osobi B tiket dobijen od KDC i novi broj R1 u cilju prozivanja i verifikacije osobe B. Korak 6. Osoba B odgovara na poziv osobe A slanjem kriptovanog broja R1 1 i pozivom osobe A brojem R2. Ako osoba A nakon dekriptovanja primljene poruke dobije oekivani broj R1-1, to znai da je identitet osobe B verifikovan, jer je onaj ko je poslao ovu poruku bio u stanju da primenom KB doe do KAB, a to moe samo osoba B. Korak 7. U okviru poslednjeg koraka osoba A ponovo odgovara na poziv slanjem kriptovanog (pomou kljua KAB) broja R2 1. Ovom porukom osoba A obavetava osobu B da je primila verifikaciju i istovremeno verifikuje sebe osobi B [10].

5.2.1.3 Otway-Rees protokol Otway-Rees protokol je takoe baziran na metodi razmene poruka pomou KDC-a. Protokol ini nekoliko koraka koji su prikazani na Slici 5.4.

Slika 5.4
Razmena poruka pomou Otway-Rees protokola Prednost ovog protokola u odnosu na predhodnu metodu je u manjem broju poruka koje se razmenjuju, odnosno, pet poruka u odnosu na ranijih sedam. Tanije, protokol ini sledeih pet koraka: Korak 1. Na poetku, osoba A alje poruku osobi B, koja sadri sluajni broj R, identitete osoba A i B i kriptovani tiket namenjen KDC-u koji ukljuuje broj RA, kopiju zajednikog broja R i identitete osoba A i B. Korak 2. Osoba B kreira tiket istog tipa namenjen KDC-u, a ine ga broj RB, broj R, identiteti osoba A i B. Ovaj tiket kriptuje pomou kljua KB i zajedno sa tiketom koji je primila od osobe A alje ka KDC-u. Ova poruka se alje u cilju dokazivanja identiteta KDC-u od strane osoba A i B.

49

Zatita podataka primenom kriptografskih metoda

Korak 3. KDC kreira poruku koja sadri zajedniki broj R, tikete namenjene osobama A i B i tako kreiranu poruku alje osobi B. Tiketi sadre odgovarajue brojeve RA ili RB i zajedniki klju sesije KAB. Korak 4. Osoba B prosleuje tiket namenjen osobi A. Korak 5. Osoba A alje kriptovanu poruku sa kljuem KAB, koji je dobila od osobe B [10].

5.2.2 Distribucija kljueva u asimetrinim kriptografskim sistemima


U okviru asimetrinih kriptografskih sistema ne postoji potreba za razmenom tajnih kljueva. Ukoliko osoba A eli da poalje poruku osobi B, potrebno je da zna samo javni klju osobe B. Do ovog kljua se dolazi na jednostavan nain i on je dostupan za bilo koga. Takoe, ako osoba B eli da poalje poruku osobi A, mora da zna samo javni klju osobe kojoj eli poslati poruku. Moe se naglasiti prednost asimetrinih sistema za kriptovanje da svako moe imati svaiji javni klju. Predhodna konstatacija namee pitanje da li je kod asimetrinih sistema uopte potrebna bezbedna razmena kljueva. Svako ko eli da primi neku poruku od nekoga, treba da objavi svoj javni klju osobi koja alje poruku. Upravo tu se javlja problem kako objaviti javni klju, a da ga neka osoba C ili napada ne moe zloupotrebiti. Ako osoba B objavi javni klju da bi ga osoba A iskoristila za slanje poruke osobi B, neka osoba C ga moe uhvatiti. Nakon hvatanja, osoba C moe poslati svoj javni klju umesto javnog kljua osobe B. Neznajui od koga dolazi klju osoba A prihvata podmetnuti klju i kriptuje poruku pomou njega a zatim je alje osobi B. Sada opet nastupa osoba C koja hvata kriptovanu poruku umesto osobe B i lako je dekriptuje pomou svog tajnog kljua. Iz navedenog primera se vidi da je i kod asimetrinih sistema za kriptografiju jako bitno da entiteti koji komuniciraju ili razmenjuju poruke potvrde identitete jedan drugom [10]. 5.2.2.1 Potvrda identiteta Za potvrdu identiteta osoba koje vre razmenu podataka na Internetu se dodeljuju tkz. digitalni sertifikati. Digitalni sertifikati se esto koriste prilikom elektronskog poslovanja, a mogu ih koristiti fizika i pravna lica, dravne uprave, javne slube, preduzea, organizacije i drugi. Digitalne sertifikate (ili elektronske sertifikate) izdaju organizacije pod nazivom sertifikaciona tela (eng. Certification Authority, CA). Za izdavanje digitalnih sertifikata, sertifikaciona tela koriste infrastrukturu javnih kljueva (eng. Public Key Infrastructure, PKI). PKI je sloena infrastruktura koja se sastoji od kriptografskih protokola, standarda, procedura, servisa i aplikacija koje slue za izdavanje digitalnih sertifikata. Najzastupljeniji standard za izdavanje digitalnih sertifikata je X.509. Digitalni sertifikat sadri podatke o identitetu korisnika (ime i prezime, E-mail, adresa), korisnikov javni klju i podatke o izdavaocu sertifikata odnosno sertifikacionom telu. Sertifikaciono telo koje izdaje sertifikat garantuje autentinost podataka koji se nalaze u sertifikatu. Digitalni sertifikat je nemogue falsifikovati jer je potpisan tajnim kljuem sertifikacionog tela [30]. Postupak izdavanja sertifikata u praksi se moe pojasniti na sledeem primeru: Osoba A podnosi zahtev za izdavanje sertifikata nekoj od CA organizacija. CA proverava njen identitet na osnovu uvida u lina dokumenta koje je osoba A prikazala pri podnoenju zahteva. Ako je sve u redu, osoba A prosleuje svoj javni klju CA organizaciji za koji ona kreira digitalni potpis i nakon toga izdaje sertifikat kojim se potvruje da taj javni klju zaista pripada osobi A. Ako osoba A kasnije eli da komunicira sa nekim, alje mu digitalni sertifikat i svoj javni klju. S obzirom da primalac veruje CA organizaciji lako moe proveriti validnost sertifikata odnosno identitet osobe A. Postoji vie vrsta digitalnih sertifikata: Kvalifikovani sertifikat predstavlja osnovni vid digitalnog sertifikata u vidu digitalnog potpisa koji je istovetan obinom potpisu. Web sertifikat se koristi u okviru aplikacija za autentifikaciju, kriptovanje/dekriptovanje, potpis i verifikaciju datoteka, elektronske pote i raznih transakcija.

50

5.Upravljanje kljuevima

Sertifikat namenjen za Web servere, a koriste se za konfigurisanje SSL (eng. Secure Sockets Layer) i/ili TLS (eng. Transport Layer Security) protokola na Web serverima (Microsoft IIS, Apache, Sun-Netscape iPlanet, Red Hat Stronghold, Sun ONE, IBM HTTP Server,...). Namena SSL i TLS protokola je uspostavljanje zatienog komunikacionog kanala izmeu Web servera i Web klijenata. Ovo praktino znai da ako se eli da se na nekoj Web prodavnici kupcima omogui plaanje kreditnim karticama ili pruanje poverljivih informacija, neophodno je da server na kome se nalazi ta Web prezentacija radi kao Secure Web Server. Uslov koji mora da ispuni pomenuti Web server je da poseduje digitalni sertifikat od nekog CA [29]. Za uvanje digitalnih sertifikata se koriste sledei mediji: hard disk raunara, CD, USB flash memorija, PKI smart kartica ili PKI USB smart token. 5.2.2.2 X.509 protokol Iako sertifikaciono telo reava problem zloupotrebe javnog kljua javljaja se jedan nedostatak. Ovaj nedostatak se odnosi na razliitost formata koje sertifikati mogu imati. To znai da jedan sertifikat moe imati javni klju u jednom formatu, a drugi u drugom formatu. Javni klju moe biti u okviru prve linije nekog sertifikata, a kod nekog drugog moe biti i u okviru tree linije. Radi eliminisanja predhodno opisanog nedostatka, ustanovljen je protokol koji se naziva X.509. Nakon nekih izmena ovaj protokol je iroko prihvaen na Internetu. X.509 je postupak pomou koga se opisuje sertifikat na strukturalnom nivou. X.509 sertifikat na strukturalnom nivou sadri [31]: - Verziju, - Serijski broj, - Algoritam za identifikaciju, - Izdavalac, - Validnost, - Naslov, - Informacije o javnom kljuu, - Jedinstveni identifikator izdavaa sertifikata (opciono), - Naslov jedinstvenog identifikatora (opciono), - Ekstenzija (opciono), - Algoritam potpisa sertifikata, - Potpis sertifikata. Na Slici 5.5 je prikazan sadraj jednog X.509 sertifikata.

51

Zatita podataka primenom kriptografskih metoda

Slika 5.5
Izgled X.509 sertifikata 5.2.2.3 Infrastruktura javnog kljua (Public Key Infrastrukture, PKI) Upotrebom javnih kljueva se javlja problem slian DNS-u (eng. Domain Name System). Problem se sastoji u tome da jedan DNS server ne moe da opslui sve zahteve na internetu. Iz tog razloga se uvodi vie servera koji zajedno opsluuju zahteve, uz to dolo se do reenja da je najbolje da se izmeu servera uspostavi hijerarhijski odnos. To znai da ukoliko neka osoba A ima potrebu za IP adresom osobe B, osoba A alje zahtev lokalnom serveru koji moe a ne mora imati traenu IP adresu. Ukoliko ne poseduje IP adresu osobe B server prosleuje zahtev ka drugom serveru koji se nalazi na viem nivou, i tako nadalje sve dok se ne pronae zahtevana adresa [10]. Slino DNS-u, problem pribavljanja javnih kljueva se reava upotrebom hijerarhijske strukture koja se naziva PKI (eng. Public Key Infrastructure). Primer jedne ovakve strukture je dat na Slici 5.6.

Slika 5.6
Hijerarhijska strruktura PKI-a U okviru prvog nivoa strukture, nalazi se Root CA koji moe da sertifikuje CA-ove u okviru sledeeg nieg nivoa kao to su: Level-1 CA1 i Level-1 CA2. Ovi CA-ovi operiu nad velikim 52

5.Upravljanje kljuevima

geografskim i logikim oblastima. Na nivou Level-2 se nalaze CA-ovi koji operiu nad manjim oblastima. CA-ove u okviru ovog nivoa mogu da sertifikuju CA-ovi koji se nalaze na nivou vie. Ovakvom hijerarhijom upravlja Root CA, tako da svi korisnici imaju poverenje u njega. Za razliku od Root CA ostalim CA-ima mogu, a i ne moraju verovati svi korisnici. Na primer, ako osoba A trai sertifikat osobe B moe ga pribaviti od bilo kog CA, ali mu ne mora verovati. Ukoliko mu ne veruje osoba A moe zatraiti sertifikat od CA koji se nalazi u nekom viem nivou. Traganje za validnim sertifikatom se moe nastaviti u pravcu Root-a. 5.2.2.4 Kerberos Kerberos je istovremeno autentifikacioni protokol i KDC. U poslednje vreme jako popularan, i koristi se u velikom broju aplikacija i operativnih sistema. Kerberos se moe opisati kao siguran protokol za autentifikaciju koji koristi prijavljivanje tipa prijavi se samo jednom (eng. Single Sign On) to omoguava veliku efikasnost u radu. Korisnicima je omogueno da se samo jednom prijave na sistem i da nakon toga, u skladu sa svojim ovlaenjima, imaju pristup resursima u sistemu ili mrei [32]. Postoji vie implementacija Kerberos protokola, koje su razvijane za razliite namene: Osnovnu verziju kerberosa je formirao MIT (Massachusetts Institute of Technology) ranih devedesetih godina. Do danas se pojavilo vie verzija ovog protokola, a najpopularnije su MIT verzija 4 i verzija 5. Heimdal kerberos je vedska kopija MIT Kerberos-a sa kojim je u potpunosti kompatibilan. Aktivni direktorijum je razvio Microsoft i sam po sebi nije Kerberos ali sadri neke njegove elemente u kombinaciji sa drugim servisima, kao to je LDAP (eng. Lightweight Directory Access Protocol). Treba napomenuti da Aktivni direktorijum nije kompatibilan sa MIT i Heimdal Kerberosom. Trust Broker predstavlja komercijalnu implementaciju Kerberos protokola. Ovu implementaciju podrava veina operativnih sistema. Uz to, Trust Broker je potpuno kompatibilna sa svim navedenim implementacijama Kerberos protokola, to je ini jako fleksibilnom. Shishi je GNU implementacija MIT Kerberosa verzije 5.

U cilju razumevanja redosleda operacija i naina rada Kerberos protokola, najpre je potrebno objasniti nekoliko pojmova vezanih za njega. Komunikacije izmeu entiteta u okviru Kerberos protokola se baziraju na razmeni tiketa. Tiket predstavlja vrstu kriptovanih podataka koji se prenose putem mree, i dostavljaju klijentu koji ih uva i kasnije koristi kao propusnicu za uspostavljanje komunikacije sa odgovarajuim serverom. Prilikom kriptovanja poruka/tiketa Kerberos protokol koristi simetrini DES algoritam ili njegove varijante kao to je 3DES a Kerberos verzija 5 koristi iskljuivo AES algoritam za kriptovanje. Okruenje Kerberosa ine tri servera i to: server za autentifikaciju (eng. Authentication server, AS), server za izdavanje tiketa (eng. Ticket-Granting Server) i server za podatke koji se titi opteg tipa. Na Slici 1 je prikazan odnos izmeu pomenutih servera [32],.

53

Zatita podataka primenom kriptografskih metoda

Slika 5.7
Serveri koji se koriste u okviru Kerberos protokola Server za autentifikaciju (AS) koji se koristi u Kerberos protokolu ima ulogu KDC-a. Svaki entitet, ukoliko eli pristup serveru za podatke koji se titi, mora se registrovati kod AS. AS poseduje bazu podataka u kojoj uva identitete i odgovarajue ifre za pristup serveru koji se titi. Poto dobije zahtev za pristupom od strane nekog entiteta (Osobe A), AS vri utvrivanje identiteta entiteta (osobe A), izdaje klju koji se moe koristiti za jednu sesiju izmeu osobe A i servera za izdavanje tiketa i alje tiket TGT (eng. Ticket GrantingTicket) ka osobi A, kao odgovor. Server za izdavanje tiketa izdaje tiket TGS (eng. Ticket Granting Service) namenjen osobi A i serveru B a obezbeuje klju sesije KAB koji se koristi u komunikaciji izmeu osobe A i servera B. Kerberos razdvaja servise provere identiteta i izdavanja tiketa, to predstavlja pravo reenje u sluaju kada neka osoba eli koristiti usluge vie razliitih servera. Dovoljno je da ta osoba izvri verifikaciju svog identiteta kod AS samo jednom, onda se vie puta obrati serveru za dozvolu tiketa u cilju dobijanja tiketa za pristup razliitim serverima. Svaki zatieni server prua izvesne usluge entitetu, pri emu se razmena podataka izmeu entiteta i servera iskljuivo obavlja pomou klijent-server aplikacija kao to je FTP (eng. File Transfer Protocol). Princip rada procesa pristupa klijenta serveru, pomou Kerberos protokola, je prikazan na Slici 5.8.

54

5.Upravljanje kljuevima

Slika 5.8
Primer Kerberos protokola Postupak pristupa klijenta (Osoba A) serveru B, u cilju bezbednog korienje njegovih usluga, se obavlja u okviru sledeih est koraka: Korak 1. Osoba A alje zahtev ka AS. Zahtev sadri identitet osobe A u nekriptovanom obliku. Korak 2. Kada primi zahtev, AS alje osobi A poruku, u vidu tiketa TGT, kriptovanu pomou KA odnosno simetrinog kljua osobe A. Poslati TGT se sastoji od dva podatka: Klju sesije KS koji e osoba A koristiti za komunikaciju sa serverom za dozvolu tiketa i tiket namenjen serveru za dozvolu tiketa koji je kriptovan sa simetrinim kljuem KTG. Osoba A ne mora da uva svoj klju KA u originalnom obliku, ali ga po potrebi moe formirati. Kada primi poruku od AS, osoba A unosi odgovarajuu ifru koja (ukoliko je korektna) uz pomo odgovarajueg algoritma kreira klju KA. Neposredno nakon uspenog kreiranja kljua, uneta ifra se uklanja sa raunara, radi spreavanja eventualnih zloupotreba. Pomou kljua KA se uspeno dekriptuje poruka dobijena od strane AS-a ime osoba A dobija KS i tiket namenjen serveru za dozvolu tiketa. Korak 3. Osoba A alje ka serveru za dozvolu tiketa tri podatka: tiket primljen od AS-a, ime servera ije usluge eli koristiti (server B) i kriptovani (pomou kljua KS) vremenski zapis T, koji sadri informacije o datumu i vremenu trajanja sesije. Vremenski zapis se koristi kao preventivna mera od eventualnog kasnijeg pristupa neke osobe C. Ovako upakovani podaci, namenjeni serveru za dozvolu tiketa, predstavljaju zahtev za izdavanje TGS tiketa. Korak 4. Poto je primio zahtev, server za dozvolu tiketa alje odgovor u vidu TGS tiketa ka osobi A. TGS tiket sadri dva tiketa i to: jedan tiket namenjen upravo osobi A, a drugi namenjen serveru B. Tiket namenjen osobi A sadri klju sesije KAB i identitet servera B, a kriptovan je pomou kljua KS. Tiket namenjen serveru B, takoe sadri klju sesije KAB, identitet osobe A, a kriptovan je pomou tajnog kljua servera B, KB. Ukoliko neka osoba C doe u posed kljua sesije KAB moe nesmetano obaviti razmenu podataka sa serverom B, meutim poto ne poseduje tajne kljueve KS ili KB nije u mogunosti da dekriptuje neki od tiketa koji sadre klju sesije. Korak 5. Osoba A alje tiket namenjen serveru B i vremenski marker koji je kriptovan kljuem sesije KAB. Korak 6. Na kraju server vraa poruku osobi A, kao potvrdu komunikacije. Poruka se sastoji od primljenog vremenskog zapisa T uveanog za 1 koji je kriptovan pomou kljua sesije KAB [10]. 55

Zatita podataka primenom kriptografskih metoda

Ukoliko osoba A eli da koristi usluge nekog drugog servera, potrebno je da ponovi operacije samo u okviru poslednja etiri koraka. Prva dva koraka se odnose na proveru identiteta osobe A i nisu neophodna. Osoba A moe zahtevati od servera za dozvolu tiketa da mu izda tikete za pristup razliitim serverima. Kerberos protokol predstavlja pouzdanu metodu za autentifikaciju u okviru javnih mrea kao to je na primer Internet. Na pouzdanost i opravdanost korienja utiu sledee konstatacije: Kerberos se koristi ve due vreme, to ukazuje na injenicu da je opstao i da je dosta testiran. Projektovan je da odgovori na strogo definisane zahteve po pitanju sigurne autentifikacije u otvorenim okruenjima koja koriste nezatiene komunikacione linije. Sastoji se iz seta jednostavnih arhitekturalnih i funkcionalnih pojmova, koji omoguavaju jednostavnu integraciju sa drugim sistemima to ga ini jako fleksibilnim. Veina operativnih sistema i softverskih aplikacija ga ve ima implementiranog u svom kodu, odnosno predstavlja deo IT infrastrukture dananjice [33].

5.3 Zamena kljua


Svi kriptografski sistemi moraju imati mogunost zamene kljua. Moe postojati vie razloga za promenom, a te promene mogu biti planirane redovnim obnavljanjem ili usled sumnje u ranije korieni klju. Ukoliko se radi o sumnji zamena bi trebala da bude izvedena to pre. Redovnim obnavljanjem kljua smanjuje se mogunost zloupotrebe. Mera uspenosti napada direktno zavisi od vremena i truda koje napada mora da uloi u cilju otkrivanja kljua. Na smanjenje mere uspenosti napada naroito utiu sistemi koji za svaku transakciju koriste razliite kljueve (eng. one time key). Kod ovakvih sistema napada ulae velike napore za otkrivanje kljua. Kad pree na novu transakciju, sistem vri zamenu kljua., ime odvraa napadaa u daljim pokuajima, produavajui vreme potrebno za otkrivanje novog kljua za novu transakciju. Kada poseduje jedan klju napada moe dekriptovati samo jednu transakciju. Jedna transakcija ne znai cela sesija. Ne postoji jasno pravilo o frekvenciji zamene kljueva. Jedno je sigurno, kada se neki klju upotrebljava dui vremenski period preporuljiva je zamena. Za upravljanje rokom vanosti kljua odgovorno je sertifikaciono telo.

5.4 Unitenje kljua


Nakon formiranja kljuevi imaju svoj vek trajanja. esto se upotrebljavaju kljuevi namenjeni samo za jednu sesiju. Na kraju sesije klju se unitava i ubudue se ne moe koristiti. Neki kljuevi se mogu sertifikovati za odreeni vremenski period. Javni kljuevi se u proseku sertifikuju za period od jedne do dve godine. Prilikom prenosa, klju se moe izgubiti ili otetiti. Kada se to desi, vlasnik kljua mora obavestiti ostale korisnike da klju vie nije validan i da se ubudue ne moe koristiti. Ako se par kljueva oteti ili kompromituje ne moraju se obavetavati svi korisnici kljueva, naroito ako se kljuevi uvaju na serveru. Periodinim pregledom podataka na serveru se moe videti koji su kljuevi van upotrebe. Kada se utvrdi koji kljuevi nisu u upotrebi, pristupa se unitenju ali se informacija o unitenju kljua uva na serveru sve dok ne istekne originalni sertifikat. Upravo ove karakteristike ine asimetrine sisteme pogodnim za korienje na Internetu.

56

6 Sigurnosni servisi u TCP/IP modelu


Savremene raunarske mree se uglavnom zasnivaju na TCP/IP protokolima. Prenos podataka pomou TCP/IP protokola se vri u obliku paketa te je relativno jednostavno ubacivanje poruka uz nemogunost kasnijeg odreivanja njihovog porekla i sadraja. Stoga, ovi protokoli sa aspekta bezbednosti poseduju brojne slabosti, i kao takvi su nezamislivi bez upotrebe sigurnosnih protokola. Sigurnosni protokoli se baziraju na kriptotehnologijama i implementiraju se u arhitekturu TCP/IP modela u cilju unapreenja modela po pitanju bezbednosti. Na Slici 6.1 je prikazan TCP/IP model sa implementiranim sigurnosnim protokolima.

Slika 6.1
Sigurnosni protokoli u okviru TCP/IP modela U okviru modela se moe primetiti upotreba razliitih sigurnosnih protokola za zatitu podataka u zavisnosti o kom se TCP/IP sloju radi. Zatita na mrenom sloju obezbeuje se izmeu mrenih vorova pri emu se vri zatita IP paketa. Zatita IP paketa se ostvaruje primenom kriptografskih algoritama (simetrini i asimetrini algoritmi za kriptovanje, he funkcije, digitalni potpis i drugi). Najpoznatiji sigurnosni protokol na ovom nivou je IPSec protokol. Na transportnom sloju se ostvaruje zatita tajnosti podataka primenom simetrinih kriptografskih algoritama i proverama identiteta (digitalni potpis, he funkcije, digitalni sertifikati) strana koje komuniciraju . Najpoznatiji sigurnosni protokoli koji se koriste na ovom sloju su: SSL, SSH, TLS i WTLS. Na aplikacionom sloju primenjuju se tehnologije poput digitalnog potpisa i zatita podataka primenom simetrinih kriptografskih algoritama. Najpoznatiji sigurnosni protokoli koji se primenjuju na ovom sloju su: S/MIME, Kerberos, PGP, i drugi.

6.1 IPSec
IPsec (eng. IP security) predstavlja skup sigurnosnih protokola namenjenih zatiti paketa koji se prenose putem Interneta. Ovi protokoli funkcioniu na transportnom sloju TCP/IP modela i implementirani su u okviru IPv6 sistema, a mogu se opcionalno ukljuiti i unutar IPv4 sistema. Zbog injenice da funkcionie na transportnom sloju, IPsec prua jednostavnu i efikasnu zatitu i za TCP i za UDP protokole komunikacije preko raunarske mree. IPsec moe da radi u dva naina rada: 57

Zatita podataka primenom kriptografskih metoda

transportni nain rada i tunelski nain rada.

U okviru transportnog naina rada paketi se alju izmeu dva krajnja entiteta u mrei, pri emu entitet koji prima paket izvrava sigurnosne provere pre isporuivanja paketa viim slojevima. U okviru ovog naina rada IPSec heder se umee odmah nakon IP hedera, a pre ostatka paketa kao to je prikazano na Slici 6.2 (a). Kod tunelskog naina rada nekoliko entiteta ili cela jedna lokalna mrea sakriva se iza jednog vora te je kao takva nevidljiva ostatku mree, a samim tim i zatiena od napada. Shodno tome, IPSec heder se dodaje ispred IP hedera poruke pa se ovako formiranoj poruci dodaje novi IP heder, shodno Slici 6.2(b).

(a)

(b)

Slika 6.2
Prikaz paketa prilikom: a) Transportnog naina rada; b) Tunelskog naina rada Kako standardni IP protokol nije pruao nikakve elemente zatite, pred IPSec postavljeni su i sledei zahtevi: kriptovanje podataka koji se prenose provera integriteta podataka autentificiranje entiteta kroz koje paket prolazi AH protokol (eng. Authentication Header) i ESP protokol (eng. Encapsulating Security Payload),

U osnovi se IPsec deli na dva tipa protokola:

Authentication Header (AH) protokol je projektovan tako da garantuje autentinost i integritet paketa podataka koji se prenose. Protokol korienjem neke od ranije navedenih he funkcija (vidi poglavlje 3.3.) formira saetak koji umee u AH heder. AH heder se kasnije doda na odgovarajuu lokaciju u paketu, zavisno koji se nain rada koristi (transportni ili tunelski). Izgled AH hedera je prikazan na Slici 6.3.

Slika 6.3
Izgled AH hedera 58

6.Sigurnosni protokoli

Znaenje pojedinih polja u okviru AH je: Next Header oznaava protokol koji se koristi za prenos podataka (TCP ili UDP) Payload Length polje koje definie duinu AH Reserved polje koje se jo uvek ne koristi (svi bitovi se postavljaju na nulu) Security Parameters Index (SPI) polje koje sadri kombinacije sigurnosnih parametara Sequence Number redni broj paketa, a koristi se za zatitu od replay napada (radi se o napadima koji se zasnivaju na uzastopnom slanju istih paketa) Authentication Data polje se koristi za umetanje saetka poruke u cilju autentifikacije

AH protokol ne vri autentifikaciju entiteta koji je poslao paket podataka, to predstavlja veliki nedostatak zbog koga je uveden alternativni protokol nazvan Encapsulating Security Payload. Encapsulating Security Payload (ESP) protokol sadri dva polja: ESP heder i ESP trailer. ESP heder se umee odmah nakon IP hedera poruke a ESP trailer (veliine 32 bita) se umee neposredno ispred podataka za autentifikaciju koji se nalaze na kraju poruke. Na Slici 6.4 je prikazana poruka koja sadri pomenuta zaglavlja [34].

Slika 6.4
Prikaz paketa u okviru ESP protokola Znaenje pojedinanih polja je: Security Parameters Index (SPI) - kombinacija sigurnosnih parametara slino kao i kod AH Sequence Number - redni broj paketa, koristi se za zatitu od replay napada Payload Data podaci koji se alju Padding koristi se za popunu podataka do veliine celog bloka (32 bita). Pad Length polje oznaava duinu Padding polja Next Header oznaava protokol koji se koristi za prenos podataka (TCP ili UDP) Authentication Data polje koje sadri podatke potrebne za autentifikaciju entiteta i poruke. Skup pravila koji definie koje e strane u komunikaciji koristiti za zatitu meusobnog saobraaja je SA (eng. Security Association). SA sadri sve sigurnosne parametre potrebne za siguran transport IPSec paketa kroz mreu. SA su uvek jednosmerne, odnosno koriste se za zatitu paketa u jednom smeru. Ukoliko je potrebno zatititi saobraaj u oba smera, potrebno je posedovati dve SA, i to po jedna na svakoj strani. SA se uvaju u okviru SA baze podataka SADB (eng. SA Data Base). Skup pravila se uva u SP (eng. Security Policy). Parametri koji ine SA su: 32-bitni sigurnosni parametar SPI, tip IPSec protokola (AH ili ESP) i izvorna IP adresa [10].

6.2 SSL/TLS
SSL (Secure Socket Layer) protokol koji je razvila firma Netscape, je trenutno najvie metod za obavljanje sigurnih transakcija na Internetu. Podrava ga veina Web servera kao i ukljuujui Microsoft Internet Explorer, Netscape Navigator, Mozilla Firefox i drugi. nezatiena verzija SSL protokola 3.0 je poznata po imenu TLS (Transport Layer Security). korien klijenata Posebna esto se 59

Zatita podataka primenom kriptografskih metoda

SSL i TLS poistoveuju. WTLS (Wap Transport Layer Security) je specijalna verzija TLS protokola koja je razvijena za upotrebu u Wap aplikacijama [35]. SSL obezbeuje tajnost, integritet podataka i autentinost poiljalaca korienjem kombinacije kriptovanja javnim kljuem (RSA), simetrinog kriptovanja (DES, RC5) i digitalnih sertifikata (SHA-1, MD5). Drugim reima, SSL obezbeuje mehanizme za identifikaciju servera, identifikaciju klijenta i kriptovanu razmenu podataka izmeu njih. SSL je smeten iznad transportnog sloja, a ispod aplikativnog sloja od koga je nezavisan [36]. SSL se sastoji od dva protokola: SSL Handshake protokol SSL Record protokol

SSL Handshake protokol ini najsloeniji deo SSL protokola i omoguava uspostavljanje sesije. Tom prilikom SSL Handshake vri proveru identiteta klijenta i identiteta servera, usaglaavanje algoritma za kriptovanje, izraunavanje saetka i razmenu kljueva. Koristi se u fazi uspostavljanja konekcije pre bilo kakve razmene aplikacionih podataka. Ovaj protokol se sastoji od niza poruka koje se razmenjuju izmeu starana u komunikaciji. Uspostavljanje veze se moe prikazati kroz sledee etiri faze: Postavljanje parametara veze Autentifikacija servera i razmena kljueva Autentifikacija klijenta i razmena kljueva Kraj uspostavljanja sigurne veze

Nakon uspostavljene veze otpoinje se sa razmenom kriptovanih aplikativnih podataka izmeu klijenta i servera. SSL Record protokol koji se koristi na predajnoj strani vri pripremu podataka za slanje (Slika 6.5). Prvo prihvata podatke od strane aplikativnog sloja, vri njihovu podelu u blokove i ako je potrebno vri komprimovanje. Nakon toga, u cilju autentifikacije vri potpisivanje saetka poruke pomou neke od he funkcija i poruci dodaje saetak u vidu autentifikacionog koda (eng. Message Authentation Code MAC). Tako formiranu poruku kriptuje, dodaje zaglavlje i predaje ih TCP sloju u cilju slanja. Na prijemnoj strani SSL Record protokol preuzima podatke od TCP nivoa, dekriptuje ih, vri verifikaciju MAC-a, ukoliko je potrebno vri dekompresiju podataka, spaja blokove kako bi ih u celini poslao aplikativnom sloju [10].

Slika 6.5
SSL Record protokol 60

6.Sigurnosni protokoli

SSL omoguava proveru identiteta pomou sertifikata koji izdaje sertifikaciono telo CA. Ovaj vid SSL transakcije nudi zadovoljavajui nivo sigurnosti, te je relativno brzo postao standard za sigurnu komunikaciju. Upravo zbog ove injenice, SSL protocol se najee koristi u aplikacijama za plaanje kreditnim karticama.

61

7 Zakljuak
Nagli razvoj tehnologije raunarskih sistema i mrea, doveo je do masovne razmene informacija i podataka. U toj razmeni pojavila se potreba za zatitom poverljivih podataka od raznih kraa i zloupotreba, to je uslovilo pojavu novog pravca u oblasti bezbednosti podataka. Dalji razvoj tehnologije doprineo je poboljanju karakteristika metoda koje doprinose bezbednosti podataka. Meutim, isti taj napredak doveo je do breg otkrivanja nedostataka i dodatno omoguio eventualne zloupotrebe. Tako su, tokom vremena, metode za zatitu podataka postajale sve sloenije i naprednije. U osnovi prie o bezbednosti podataka u raunarskim mreama nalazi se Kriptografija. Kriptografija je veoma dinamina nauka koju odlikuje uska povezanost izmeu teorije i prakse. Na ovo ukazuje injenica da se napredak u teoriji brzo implementira u praksi, gde se jo bre testira. Otkrivanjem nedostataka odmah se unapreuje teorijski rad i steena iskustva se upotrebljavaju za izradu nove i bolje metode. Kriptografija je veoma iroka oblast, a u praksi se bazira na upotrebi kriptosistema koji se sastoje od algoritama za kriptovanje, jednog ili vie kljueva, sistema za upravljanje kljuevima, podataka u vidu standardnog i kriptovanog teksta. Na sloenost dodatno ukazuju i injenice da se kriptosistemi mogu realizovati hardverski, softverski ili hardversko-softverski, kao i to da se prilikom realizacije moraju zadovoljiti osnovni sigurnosni servisi. Za realizaciju kriptografskih algoritma, koji su danas u upotrebi, koriste se sloeni matematiki izrazi kao i znanja iz elektronike i programiranja. Uprkos tome, napredak u postojeim kriptografskim algoritmima nastavlja se rastuim tempom, da bi zadovoljio potrebe irenja IT drutva u kome ivimo. Teko je zamisliti ozbiljnu PC aplikaciju koja u sebi nema implementiran neki sigurnosni algoritam, poev od bankarskih aplikacija, internet trgovine, pa sve do operativnih sistema. Takoe, kriptografski algoritmi za zatitu su primenjivi u telekomunikacionim sistemima, televiziji, i drgim oblastima za koje esto nismo ni svesni da ih ine ovi algoritami. Imajui u vidu injenice da je Kriptografija veoma dinamina oblast, da je aktuelna i da je veoma rasprostranjena, ovim radom su obuhvaeni samo njeni osnovni koncepti. Razmatrane su kriptografske metode i algoritmi, bez upotrebe apstraktnih matematikih izraza i teorija o brojevima. Ukazano je na osnovne sigurnosne servise koji se u cilju sigurnosti moraju zadovoljiti primenom kriptografskih metoda. Bilo je govora i o efikasnosti pojedinih algoritama, kao i o isplativosti njihove hardverske realizacije. Obraeni su problemi kojii se javljaju tokom upotrebe i distribucije kljueva koji se koriste prilikom kriptovanja. Na kraju su dati primeri sigurnosnih servisa koji se upotrebljavaju za zatitu podataka u okviru TCP/IP modela, a koji se baziraju na opisanim kriptografskim algoritmima. Cilj ovog rada je da ukae na nunost zatite podataka i prikae osnovne mehanizme za njihovu zatitu, koji se prenose putem raunarske mree. Zbog fizikih i funkcionalnih karakteristika raunarskih mrea, veoma esto se javlja opasnost od ugroavanja podataka prilikom prenosa. Predmet istraivanja rada je upoznavanje sa metodama koje se danas koriste da onemogue zloupotrebu podataka. Pregledom najee korienih algoritama za kriptovanje, tehnika za autentifikaciju, problema prilikom upravljanja sa kljuevima i sigurnosnim servisima u TCP/IP modelu, saznaju se osnove o zatiti podataka. Uporednom analizom karakteristika odreenih metoda za zatitu ukazuje se na prednosti i/ili nedostatke. U cilju to efikasnijeg prikaza sloenih procedura upotrebljen je veliki broj praktinih primera i ilustracija. Sigurno je da e se kriptografija razvijati sve brim i brim koracima. Upotreba kvantnih raunara, raunarskih gridova kao i sve masovnije upotrebe raunarskih mrea samo su jedan od nagovetaja budunosti. U skladu sa tim e se postavljati sve vei sigurnosni zahtevi u smislu ranog otkrivanja i spreavanja zloupotreba. Odgovor na ove zahteve je upravo upotreba savremenijih i sigurnijih kriptografskih algoritama, koji e prevazilaziti granice jednostavne bezbednosti.

63

Literatura
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Dejan Simi, Tehnike zatite u raunarskim mreama, Fakultet Organizacionih Nauka Beograd, PPT Prezentacija, Beograd, Jun 2002. Zatita podataka u raunarskim mreama, MTVU lekcije, (http://www.knowledgebank1.org/poslovna_informatika_fpsvs_1_svi_06/lekcije/lekcija7.pdf), 2009. S. Sinkovski, B. Lui, Informaciona bezbednost i kriptografija, Jugoimport SDPR Beograd, ZITEH 06-R27.pdf, 2006. Dragan Spasi, Kriptozatita podataka u raunarskim mreama primenom simetrinih i asimetrinih kriptosistema, Direkcija za potanski saobraaj, Zoran Bobar, Zatita raunarskih mrea Ministarstva odbrane i vojske srbije primenom virtuelnog honeyneta, Vojnotehniki glasnik 3/09, UDC: 004.7.056.53, Beograd, 2009 http://sr.wikipedia.org/sr-el/, 2009. Henk C.A. van Tilborg, Encyclopedia of Cryptography and Security, University of Technology Eindhoven, ISBN038723473-X, New York, 2005. Fred Piper, Sean Murphy, Cryptography: A very short Introduction, Oxford University press, ISBN:0192803158, 2002. Z. . Avramovi, Draen Petrovi, Kriptografija simetrini i asimetrini algoritmi, Seminarski rad Fakultet poslovne informatike, Banja Luka, maj 2008. Behrouz A. Forouzan, Sophia Chung Fegan, TCP/IP Protocol Suite, Mc Graw Hill book, ISBN 0071115838, 3rd edition, New York, 2006. Man Young Rhee, Internet Security Cryptographic principles, algorithms and protocols, School of Electrical and Computer Engineering Seoul, John Wiley & Sons ISBN 0470852852, Wiltshire, 2003. http://en.wikipedia.org/wiki/Data_Encryption_Standard, 2009. http://www.rsa.com/rsalabs/node.asp?id=2100, 2009. http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm, 2009. Ronald L. Rivest, The RC5 Encryption Algorithm, MIT Laboratory for Computer Science, Mass. 02139, Cambridge, March 1997. http://en.wikipedia.org/wiki/RC5, 2009. http://en.wikipedia.org/wiki/RC6, 2009. arko Stanisavljevi, Simetrini algoritmi zatite AES, Nastavni materijal iz predmeta Zatita podataka, ETF Beograd, 04 AES1.pdf, Beograd, 2004. (http://rti.etf.bg.ac.yu/rti/ir4zp/materijali/index.html) http://en.wikipedia.org/wiki/Advanced_Encryption_Standard, 2009. http://en.wikipedia.org/wiki/Blowfish_(cipher), 2009. Johannes A. Buchmann, Introduction to Cryptography, Technical University Dramstadt, ISBN 0387950346, New York, 2002. http://sr.wikipedia.org/sr-el/RSA, 2009.

[12] [13] [14] [15] [16] [17] [18]

[19] [20] [21] [22]

65

Zatita podataka primenom kriptografskih metoda

Literatura

[23] [24] [25] [26] [27] [28]

William Stalings, Cryptography and Network Security Principles and Practices", Book Prentice Hall, ISBN 100131873164, 4th edition, London, Nov. 2005, pp. 298 http://www.pgpi.org/doc/pgpintro/#p10, 2009. Behrouz A. Forouzan, Data Communications and Networking, Book Mc Graw Hill, ISBN 9780072967753, 4th edition, 2007. http://www.freesoft.org/CIE/RFC/1321/3.htm, 2009. http://en.wikipedia.org/wiki/MD5, 2009. Brown K., Kaufman C, et al., Web Service Security Guide, Microsoft patern and practies, MS_WSS_Dec_05.pdf, 2007. (http://www.microsoft.com/downloads/details.aspx?FamilyId=3E02A6C8-128A-47C2-9F39-4082582F3FE1&displaylang=en) Spasi Dragan, Elektronsko potpisivanje korienjem digitalnih sertifikata sertifikacionog tela pote, JP PTT saobraaja Srbije, Beograd. http://www3.ptt.rs/help_desk/zastita.php?id=sertifikati, 2009. C. Adams, S. Ferrell, Internet X.509 Public Key Infrastructure, IETF RFC 2510, 1999. (http://tools.ietf.org/html/rfc2510), Jean-Yves Migeon, The MIT Kerberos Administrators How-to Guide, MIT Kerberos Consortium, Ver. 1., July 2008, Thomas Hardjono, Why is Kerberos a credible security solution?, MIT Kerberos Consortium, Dec 2008. (http://www.kerberos.org/software/whitepapers.html) http://bazzz84.wordpress.com/2009/03/06/ipsec-internet-protocol-security/, 2010 http://www.scribd.com/doc/24344342/SSL-PROTOKOL-TRANSPORTNI-SLOJ, 2010 Joseph Migga Kizza, A Guide to computer Network Security, University of TennesseeChattanooga, ISBN 9781848009165, London, 2009.

[29] [30] [31] [32] [33] [34] [35] [36]

66

You might also like