kriptozaštita

28
BANJALUKA COLLEGE Seminarski rad iz predmeta Informacione tehnologije na temu: „Kriptozaštita

Upload: sdragan

Post on 25-Jun-2015

704 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Kriptozaštita

BANJALUKA COLLEGE

Seminarski rad

iz predmeta Informacione tehnologije na temu:

„Kriptozaštita“

Profesor: Student:

prof.dr.Mladen Radivojević Skrobonja Draganmr.Mirjana Tepšić 377/07

Srbac,19.11.2009.godine

Page 2: Kriptozaštita

Sadržaj

Uvod.................................................................................................................................. 3

1.Višeslojna arhitektura zaštite.................................................................................. 3 - 5

1.1 Zaštita na aplikativnom nivo................................................................................. 61.2 Zaštita na transportnom nivou.......................................................................... 6 - 91.3 Zaštita na mrežnom nivou.................................................................................... 9

2.Šifre i kriptosistemi.................................................................................................10-11

2.1 Simetrični kriptosistemi...................................................................................11-122.2 Asimetrični kriptosistemi.................................................................................13-152.3 Hibridni kriptosistem PGP..............................................................................15-162.4 Tehnika digitalnog potpisa..............................................................................16-17

Zaključak....................................................................................................................17-18

Literatura........................................................................................................................ 18

2

Page 3: Kriptozaštita

UVOD

U računarskim mrežama posebnu pažnju je potrebno posvetiti zaštiti podataka, kako onih podataka koji su dostupni putem mreže tako i onih koji se prenose mrežom. Šifrovanjem se postiže visok nivo zaštite podataka koji se skladište na računarima i podataka koji se posredstvom računarske mreže razmenjuju između korisnika ili računara. Naročito je bitno obezbediti zaštitu važnih podataka (primer: finansijskih) koji se prenose mrežom. Naime,podaci se razmenjuju računarskom mrežom u formi paketa podataka i oni dospevaju do većeg broja računara na putu od polaznog do odredišnog računara. Na svakom usputnom računaru moguće je te pakete podataka "uhvatiti" i pročitati njihov sadržaj, korišćenjem analizatora protokola ili nekog sniffer programa.Ukoliko se izvrši šifrovanje podataka korišćenjem odgovarajućeg kriptosistema, onemogućava se uvid u njihov sadržaj neovlašćenim korisnicima.

Tekst koji je moguće pročitati i razumeti bez primene bilo kakvih posebnih metoda naziva se otvoren tekst (plain text ili clear text). Ukoliko je takav tekst potrebno dostaviti nekom korisniku, on se naziva poruka. Metod koji omogućava da se kod otvorenog teksta sakrije njegov čitljiv sadržaj naziva se šifrovanje (encryption). Šifrovanjem otvorenog teksta on se transformiše u nečitljiv i nerazumljiv sadržaj koji se naziva šifrovan tekst ili šifrat(cipher text ili cipher), dok se šifrat za koji nije poznat ključ zove kriptogram. Šifrovanje se koristi da bi se obezbedilo da nijedan korisnik osim korisnika kome je poruka namenjena ne može da sazna sadržaj te poruke, čak i ukoliko neovlašćeni korisnici dođu u posed šifrata i vide njegov sadržaj tj. šifrovane podatke. Postupak koji omogućava da se od šifrata dobije originalni otvoren tekst naziva se dešifrovanje (decryption).

Kriptografija je nauka koja se snažno oslanjajući na matematiku bavi proučavanjem i pronalaženjem metoda za šifrovanje/dešifrovanje podataka. Kriptografija omogućava čuvanje važnih podataka kao i njihov prenos preko računarske mreže a da pri tome niko ne može da ih pročita osim korisnika kome su namenjeni. Dok je kriptografija nauka koja se bavi zaštitom podataka, kriptoanaliza je nauka o "razbijanju" šifara. Kriptologija je nauka koja objedinjuje i kriptografiju i kriptoanalizu.

1. VIŠESLOJNA ARHITEKTURA ZAŠTITE

Uglavnom, za pristup korisnika odgovarajućoj aplikaciji informacionog sistema organizacije neophodno je definisati sledeće procese:

Identifikacija korisnika – da se u aplikaciji jednoznačno utvrdi o kom konkretnom korisniku se radi,

Autentikacija korisnika – da dati korisnik potvrdi da je to taj korisnik koji se identifikovao,

3

Page 4: Kriptozaštita

Autorizacija korisnika – da se definiše šta dati identifikovani i autentikovani korisnik ima prava da uradi u datoj aplikaciji.

Identifikacija korisnika se najčešće vrši putem odgovarajućeg jednoznačnog korisničkog identifikatora u sistemu, kao što je na primer korisničko ime (username, UserID).

Autentikacija korisnika se može vršiti korišćenjem korisničke lozinke (password, pasphrase, PIN) ili korišćenjem digitalnog sertifikata izdatog od strane uspostavljenog ili prihvaćenog PKI sistema u okviru informacionog sistema organizacije.

Autorizacija korisnika se najčešće vrši putem provere kojoj specifičnoj ulozi (roli) u sistemu pripada dati identifikovani i autentikovani korisnik, kao i koja prava korisnik u okviru date role ima na sistemu.

Predlog mogućih vidova autentikacije korisnika u okviru informacionog sistema organizacije:

Korisničko ime i lozinka;

Korišćenje standardne SSL klijentske autentikacije (jaka dvo-faktorska autentikacija) na bazi digitalnog sertifikata korisnika i asimetričnog privatnog ključa koji se generiše i čuva na smart kartici korisnika.

Korisnici pristupaju aplikacijama informacionog sistema organizacije na jedan od sledećih mogućih načina:

Putem Web pretraživačkog programa;

Putem specifične standalone aplikacije koja pristupa serverskoj aplikaciji putem SOAP protokola.

U sistemu bezbednosti organizacije je neophodno primeniti kombinovani sistem zaštite koji se sastoji od primene mehanizama kriptozaštite na sledećim nivoima:

o Aplikativni nivo – primena tehnologija digitalnog potpisa i digitalne envelope;

o Transportni nivo – primena SSL ili TLS protokola za zaštitu podataka na transportnom nivou;

o Mrežni nivo – primena IPSec protokola zaštite podataka na mrežnom nivou;

Aplikacije u okviru organizacije treba da omoguće opcionu integraciju sa Windows operativnim sistemom (Windows autentikacija), kao i da poseduju sopstvene sisteme autorizacije korisnika koji se baziraju na ulogama (engl. role).

Centralna baza podataka treba da bude zaštićena od zloupotreba, i to po mogućstvu korišćenjem mehanizama šifrovanja podataka u bazi koji su poverljivi.

Mehanizmi zaštite koji se predlažu za implementaciju u okviru sistema bezbednosti organizacije baziraju se na:

infrastrukturi javnih ključeva (PKI – Public Key Infrastructure);

4

Page 5: Kriptozaštita

digitalnim sertifikatima kao jednoznačnim elektronskim identifikatorima korisnika u sistemu;

smart karticama za odgovarajuće korisnike.

Kao što smo već napomenuli, u cilju optimalne odbrane informacionog sistema organizacije od potencijalnih opasnosti i raznovrsnih napada kojima se ugrožavaju različiti servisi i resursi, koristi se arhitektura sistema zaštite koja se sastoji od mehanizama zaštite primenjenih na tri nezavisna bezbednosna nivoa koji su namenjeni za odbranu od različitih tipova napada.

Ovi nivoi su projektovani da minimizuju i ograniče moguću štetu tako što eventualno ugrožavanje jednog nivoa ne može kompromitovati ostale bezbednosne nivoe arhitekture sistema zaštite.

U tom smislu, mehanizmi zaštite informacionog sistema organizacije mogu da se sastoje od primenjenih mehanizama na sledeća tri nivoa:

Zaštita “s kraja na kraj” (end-to-end security) na aplikativnom nivou. Primenom ovog nivoa zaštite globalno se obezbeđuje:

o provera autentičnosti korisnika servisa kako u smislu komunikacije (end-user authentication) tako i (opciono) u smislu kontrole pristupa mreži (access control),

o zaštita integriteta podataka koji se prenose,

o zaštita od mogućnosti naknadnog poricanja odgovornosti za poslate podatke i

o zaštita tajnosti podataka.

Ovaj nivo zaštite generalno služi za odbranu od internih napada.

Zaštita na transportnom nivou predstavlja zaštitu tajnosti podataka primenom simetričnih kriptografskih algoritama i autentikacije čvorova komunikacionog segmenta mreže na transportnom nivou.

Zaštita na mrežnom IP nivou obezbeđuje kriptografsku i logičku zaštitu na nivou IP paketa koji se razmenjuju između mrežnih čvorova i štiti čitavu mrežu od eksternih napada korišćenjem zaštitnih mehanizama koje pruža standardna komunikaciona oprema.

Suština predloga primene višeslojne arhitekture zaštite je u preporuci korišćenja kombinovanih mehanizama zaštite na više različitih nivoa ISO/OSI modela. Dakle, ukoliko nije moguće koristiti mehanizme na svim nivoima, kao minimalna arhitektura, predlaže se primena kombinacije mehanizama na dva nivoa, i to:

Zaštita na aplikativnom nivou (kao obavezna) i

Dodatna zaštita na transportnom ili mrežnom nivou.

Na taj način, sistem se brani kako od internih (aplikativna zaštita) tako i od eksternih napada (transportna ili mrežna zaštita).

5

Page 6: Kriptozaštita

1.1 Zaštita na aplikativnom nivou

U cilju realizacije mehanizama zaštite na aplikativnom nivou u okviru informacionog sistema organizacije, predlaže se primena digitalnog potpisa i digitalne envelope, na bazi smart kartica za korisnike.

Za realizaciju zaštite na aplikativnom nivou, neophodno je primeniti odgovarajuću kriptografsku biblioteku kako na klijentu, u okviru odgovarajuće klijentske aplikacije (standalone) ili programa za Internet pretraživanje, tako i za primenu na odgovarajućem web ili aplikativnom serveru. Ove kriptografske biblioteke na klijentu i serveru su u potpunosti odgovorne za realizaciju kriptografskih funkcija na aplikativnom nivou.

Naime, klijentska offline aplikacija (standalone) sa ugrađenom kriptografskom bibliotekom (ili odgovarajućom ActiveX kontrolom) ili web pretraživački program iz koga se poziva odgovarajuća ActiveX kontrola (ili JAVA aplet u non-Windows baziranim aplikativnim sistemima), treba da ima sledeće kriptografske karakteristike:

Autentičnost potpisnika (asimetrični kriptografski algoritam i tehnologija digitalnog potpisa);

Zaštita integriteta fajlova (asimetrični kriptografski algoritam i tehnologija digitalnog potpisa);

Obezbeđenje neporecivosti (asimetični kriptografski algoritam i generisanje ključeva na samim smart karticama i tehnologija digitalnog potpisa);

Zaštita tajnosti podataka (simetrični kriptografski algoritam i tehnologija digitalne envelope).

U okviru mehanizama zaštite na aplikativnom nivou mogla bi se integrisati i odgovarajuća challenge-response procedura jake autentikacije korisnika na aplikativnom nivou.

1.2 Zaštita na transportnom nivou

U vezi realizacije transportnih mehanizama zaštite, predlaže se primena standardnog SSL (Secure Sockets Layer) protokola (novija verzija je TLS (Transport Layer Security) protokol) između korisnika i web servera (ili web servisa).

U stvari, u informacionom sistemu organizacije predlaže se primena:

SSL protokola sa serverskom autentikacijom – neophodan je SSL serverski sertifikat izdat za dati web server i

SSL protokola sa klijentskom i serverskom autentikacijom na bazi digitalnih sertifikata i smart kartica korisnika. U ovom slučaju je takođe neophodno da web server (ili odgovarajući web servis) ima SSL serverski sertifikat.

6

Page 7: Kriptozaštita

Naime, za potrebe autentikacije korisnika informacionog sistema organizacije, predlaže se primena zaštite na transportnom nivou i jake autentikacije korisnika na bazi SSL protokola sa klijentskom i serverskom autentikacijom.

Dakle, u ovom slučaju nije samo dovoljno da web server poseduje sertifikat (serverska autentikacija) već je neophodno da u sistemu postoji/koristi se i odgovarajuće Sertifikaciono telo (CA) koje izdaje sertifikate klijentima na smart karticama. Na ovaj način se postiže da samo klijenti sa smart karticama i odgovarajućim digitalnim sertifikatima mogu da pristupe datom web serveru, a samim tim da izvršavaju poslovne procese u okviru informacionog sistema organizacije.

Pomenuti mehanizmi zaštite na transportnom nivou predstavljaju SSL protokol sa klijentskom i serverskom autentikacijom. Svi navedeni tipovi korisnika imaju smart kartice na kojima je izgenerisan i smešten asimetrični privatni ključ i sertifikat.

Pri tome, korisnik se može autentikovati WEB serveru ili nekom web servisu a za autentikaciju može koristiti ili sam sertifikat (web aplikacije) ili thumbprint svog sertifikata, zajedno sa sertifikatom (web servis). U slučaju klijentske autentikacije na neki web servis sa kojim komunikacija podrazumeva prethodno uspostavljenu SSL sesiju sa uključenom klijentskom autentikacijom, tada sertifikat korisnika treba da, pored smart kartice, bude i na direktorijumu standalone softverske aplikacije koja služi za eventualni poziv web servisa ili se autentikacija sertifikata korisnika koji može da pristupi vrši na bazi thumbprint-a njegovog sertifikata. Šta će se koristiti za autentikaciju zavisi od konfiguracionog fajla u kome se nalazi zapisan način pozivanja datog web servisa.

Serverski SSL sertifikat treba da bude izgenerisan od strane odgovarajućeg CA tela sa dužinom ključa od 1024 ili 2048 bita. Takođe, treba primeniti default opciju za simetrični kriptografski algoritam: RC4 algoritam i dužinu ključa od 128 bita.

Mehanizme zaštite na aplikativnom nivou između korisnika i web/aplikativnog servera na bazi digitalnog potpisa i digitalne envelope na bazi smart kartica korisnika, moguće je realizovati na dva načina:

Korisnik koristi web pretraživački (Internet browser) program (Internet Explorer), autentikuje se na bazi smart kartice i SSL klijentske autentikacije, a zatim koristi mehanizme zaštite na aplikativnom nivou za zaštitu fajlova ili html strana koje se dostavljaju do web/aplikativnog servera.

Korisnik koristi klijentsku standalone aplikaciju (Windows aplikaciju) za čiji pristup se autentikuje na bazi smart kartice i izdatog digitalnog sertifikata. Komunikacija sa web serverom se realizuje putem web servisa koji se izvršavaju na web serveru. U klijentskoj aplikaciji se koristi digitalni potpis i digitalna envelopa kao mehanizmi zaštite na aplikativnom nivou, kao i SSL protokol sa klijentskom autentikacijom između klijentske aplikacije i web servisa na strani web servera.

7

Page 8: Kriptozaštita

Što se tiče predloga primenjenih algoritama, kao i ranije predlaže se:

Asimetrični privatni ključ korisnika – generisan na smart kartici i dužine 2048 bita.

Asimetrični algoritam – RSA. Hash algoritam – najmanje SHA-1, ali i ostali pomenuti SHA algoritmi. Simetrični algoritam - 3DES ili AES sa dužinama ključeva 168 ili 128,

192 i 256 bita, respektivno. SSL serverski sertifikat – izdat od CA. Asimetrični par ključeva serverskog SSL sertifikata – 1024 bita. Simetrični algoritam u SSL protokolu – RC4 sa dužinom ključa 128 bita.

Svi dokumenti koji se razmenjuju u okviru informacionog sistema bi morali biti digitalno potpisani a samo pojedini (koji imaju odgovarajući stepen tajnosti) i šifrovani putem digitalne envelope.

Potrebno je zapaziti da se ovde radi i dvostrukom šifrovanju:

primenom digitalne envelope na aplikativnom nivou u okviru SSL protokola na transportnom nivou.

To je neophodno iz razloga što se SSL šifrovanje terminira na web serveru koji je uobičajeno u DMZ zoni, dok se aplikativno šifrovanje (digitalna envelopa) terminira na aplikativnom serveru koji je obično u internoj zoni. Pored toga, šifrovanje digitalnom envelopom je procedura šifrovanja za namenjenog primaoca (u ovom slučaju aplikativni server) i niko drugi tu poruku ne može da dešifruje.

Dakle, procedura zaštite u ovom slučaju bi se mogla realizovati tako što se prvo uspostavi SSL sesija sa web serverom na bazi klijentske autentikacije sa digitalnim sertifikatom klijenta na smart kartici, a zatim se u okviru klijentske aplikacije (ili Internet browser programa) vrši digitalni potpis i digitalna envelopa poruka/fajlova koji se šalju kroz uspostavljeni SSL tunel i koje se procesiraju na aplikativnom serveru (u smislu dešifrovanja simetričnim kriptografskim algoritmom).

Za pomenute potrebe, neophodno je da i web i aplikativni server poseduju odgovarajuću kripto komponentu za realizaciju mehanizama aplikativne zaštite sa sledećim funkcijama:

Kripto komponenta na web serveru – vrši verifikaciju digitalnog potpisa dostavljenih podataka i validaciju korisnikovog sertifikata. Ukoliko je pomenuta verifikacija/validacija uspešna, web server prosleđuje kompletne dostavljene podatke (sa digitalnim potpisom) do aplikativnog servera na odgovarajuće procesiranje i smeštanje u neku od baza organizacije.

Kripto komponenta na aplikativnom serveru – vrši dešifrovanje podataka na aplikativnom nivou ukoliko je korisnik primenio postupak digitalne envelope za te podatke (podaci sa odgovarajućim stepenom tajnosti). Za tu svrhu,

8

Page 9: Kriptozaštita

aplikativni server mora da ima, pored kripto komponente, i odgovarajuću smart karticu na kojoj je smešten privatni ključ kojim se dešifruju podaci (šifrovani korišćenjem odgovarajućeg digitalnog sertifikata) izdatog za aplikativni server. Podaci šifrovani primenom digitalne envelope se dešifruju na aplikativnom serveru i onda u otvorenom ili šifrovanom obliku čuvaju u bazi organizacije. To zavisi od stepena tajnosti datih podataka i predviđenog načina čuvanja podataka sa datim stepenom tajnosti. Što se tiče smart kartice i asimetričnih ključeva aplikativnog servera, važe isti zahtevi kao i za korisnike s jednom izmenom da je asimetrični ključ izgenerisan i bezbedno backup-ovan spolja (u CA) i upisan naknadno na smart karticu iz razloga disaster recovery procedure u slučaju kvara smart kartice.

S obzirom da se radi o SOA-baziranoj arhitekturi i da aplikativni slojevi (prezentacioni, aplikativni i data access) komuniciraju putem web servisa, za svaki od servera se generišu 2 SSL sertifikata (serverski i klijentski). Na taj način, između svaka dva servera u arhitekturi (web server – aplikativni server, aplikativni server – data access layer server) se uspostavlja SSL protokol sa klijentskom i serverskom autentikacijom.

Time se podiže bezbednost čitavog sistema iz razloga što se tako vrši međusobna autentikacija između pomenutih servera a i čitava komunikacija je onda šifrovana kroz uspostavljene kriptografske tunele.

Administrator koristi svoju kriptokomponentu i smart karticu za potrebe digitalnog potpisivanja svih aktivnosti koje administrator obavlja u odnosu na informacioni sistem organizacije. Na taj način, sve transakcije (konfiguracije, dodeljivanje korisnika) koje su izvršene od strane Administratora, čuvaju se u bazi sistema uz digitalni potpis Administratora.

Administrator normalno ne bi trebalo da vrši digitalni potpis informacija/dokumenata koji su unose u sistem.

1.3 Zaštita na mrežnom nivou

Umesto SSL protokola na transportnom nivou, mogu se koristiti i kriptografski mehanizmi zaštite na mrežnom nivou koji se najčešće baziraju na IPSec protokolu zaštite i uspostavi virtuelnih privatnih mreža (VPN – Virtual Private Network).U zavisnosti od načina komunikacije kao i protokolima koji se koriste za komunikaciju, kriptografske VPN mreže se najčešće baziraju na čistom IPSec protokolu zaštite ili na kombinacijama PPTP/IPSec ili L2TP/IPSec.

9

Page 10: Kriptozaštita

2. ŠIFRE I KRIPTOSISTEMI

Šifra ili kriptografski algoritam je matematička funkcija koja se koristi u procesu šifrovanja i dešifrovanja. Kriptografski algoritam radi u kombinaciji sa ključem (reč, broj ili fraza) da bi moglo da se izvrši šifrovanje poruke, odnosno, dešifrovanje šifrata. Ukoliko se vrši šifrovanje jedne poruke sa različitim ključevima kao rezultat se dobijaju različiti šifrati. Na slici 1. je prikazan proces šifrovanja i dešifrovanja. Sa M je označen skup mogućih poruka, dok su mi poruke tog skupa. Skup šifrata je označen sa C, a članovi tog skupa su šifrati ci. Funkcija Ti-1 koja preslikava elemente skupa M u elemente skupa C naziva se šifra.Inverzna funkcija Ti preslikava elemente skupa C u skup M. Pri tome, jedna poruka mi može da se preslika u više šifrata ci, dok sa druge strane, jedan šifrat može da se preslika u samo jednu poruku.

Slika 1. Šifrovanje i dešifrovanje

Postoje različiti kriptografski algoritmi koje pružaju različit stepen zaštite šifrovanih podataka. Stepen zaštite šifrovanih podataka, pored primenjenog kriptografskog algoritma,zavisi i od tajnosti i dužine ključa. Kreiranjem novih kriptografskih algoritama, određivanjem dužine ključeva i utvrđivanjem stepena zaštite koji se postiže njihovim korišćenjem, bavi se kriptografija. Kriptografski algoritam zajedno sa ključevima i protokolima koji omogućavaju njegovrad, čine kriptosistem. Danas postoje različiti kriptosistemi koji se klasifikuju u dve vrste:1. simetrični i2. asimetrični. Dva osnovna zahteva koja se postavljaju pred kriptosisteme pri njihovoj primeni na zaštiti podataka u računarskim mrežama su:−. da su jednostavni za upotrebu tako da korisnici mogu lako da ih koriste i−. da zaštita podataka zavisi od tajnosti ključa a ne od primenjenog kriptografskog algoritma. Kada se govori o kriptografskim sistemima, neizostavno se pominju tajnost iautentičnost. Pod tajnošću se podrazumeva da je neizvodljivo da se iz kriptograma odrediporuka (slika 2.). Kod tajnosti se postupak dešifrovanja drži u tajnosti. Autentičnost zahteva da je nemoguće da se generišu lažni kriptogrami koji bi nakon dešifrovanja dali poruku koja je moguća (slika 3.). Kod autentičnosti se šifrovanje drži u tajnosti. Iako korišćenjem odgovarajućeg kriptosistema može da se postigne visok stepen

10

Page 11: Kriptozaštita

zaštite podataka, jasno je da apsolutna zaštita ne postoji. Realno je očekivati da će napadač odustati od pokušaja "razbijanja" kriptograma ako je:−. cena probijanja kriptograma veća od vrednosti same informacije i−. vreme potrebno za probijanje kriptograma veće od vremena aktuelnosti informacije.

Slika 2. Tajnost [2]

Slika 3. Autentičnost [2]

2.1 Simetrični kriptosistemi

Osnovna osobina simetričnih kriptosistema ili kriptosistema sa jednim ključem(Single-Key Cryptosystems) je da se isti ključ koristi i za šifrovanje i za dešifrovanje. Na slici 4. je prikazan princip rada simetričnog kriptosistema, kada korisnik A želi da pošalje poruku korisniku B. Korisnik A najpre generiše poruku M (otvoren tekst) koja se upućuje u blok za šifrovanje E. U tom bloku se vrši šifrovanje poruke M uz korišćenje pristiglog ključa iz izvora ključa, i na taj način se kreira kriptogram C (matematički zapisano: C=E(M,K)). Zatim se taj kriptogram nezaštićenim kanalom prenosi do bloka za dešifrovanje D. U njemu se vrši dešifrovanje kriptograma C pomoću ključa koji je identičan ključu koji se koristi kod šifrovanja, i tako se formira poruka M (M=D(C,K)) koju prima korisnik B. Pri tome, poruka koju generiše korisnik A i poruka koju prima korisnik B treba da su u potpunosti jednake.. Kao što je navedeno, kriptogram se od korisnika A do korisnika B kreće nezaštićenim kanalom. Na tom kanalu postoji korisnik C (napadač) koji može da uhvati kriptogram sa namerom da sazna sadržaj poruke koju taj kriptogram skriva (pasivan napadač) ili da pokuša da u kriptogram ubaci neke svoje poruke (aktivan napadač). Iako uhvati kriptogram, napadač teško da može da sazna sadržaj poruke ukoliko ne zna ključ. Naime, kriptografski algoritmi imaju snažnu matematičku osnovu, tako da omogućavaju visok

11

Page 12: Kriptozaštita

stepen zaštite podataka. Neki od njih su tako uspešni u zaštiti da još niko nije pronašao (ili nije objavio) matematičke procedure koje bi omogućile njihovo probijanje. Kod takvih algoritama, jedini način napada koji može da se primeni je pretraživanje svih mogućih ključeva. Ukoliko je broj mogućih ključeva ogroman, što najčešće i jeste slučaj, navedeno pretraživanje je beskorisno.

Na osnovu izloženog zaključujemo da ključ mora da se drži u tajnosti, dok kriptogram može da se šalje i po nezaštićenom kanalu s obzirom na to da do sadržaja poruke može dadođe samo onaj korisnik koji ima ključ.

Slika 4. Simetrični kriptosistem

Osnovni problem kod simetričnih kriptosistema je distribucija ključeva. Naime,korisnici koji žele da razmene poruku prethodno moraju da se dogovore o ključu tj. o lozinci(password). Jedini pouzdan način je ukoliko se oni fizički sretnu i sporazumeju o ključu.Međutim, čest je slučaj da su korisnici fizički razdvojeni i da ne mogu da dođu u neposredan kontakt. Oni u tom slučaju, moraju da koriste neki zaštićen kanal da bi se dogovorili o ključu.Međutim, problem je što zaštićen kanal praktično i ne postoji, a ukoliko bi i postojao postavlja se pitanje zašto se tim zaštićenim kanalom na bi poslala poruka u kom slučaju ne bi ni postojala potreba za šifrovanjem. Drugi problem koji se javlja kod simetričnih kriptosistema je što je povremeno potrebno vršiti zamenu postojećih ključeva novim ključevima veće dužine, što neizostavno dovodi do potrebe za ponovnim sporazumevanjem o ključu između korisnika. Razlog tome su sve veće mogućnosti savremenih računara, čime se povećava verovatnoća otkrivanja nepoznatih ključeva. Tako na primer, dužina ključa od 56 bita je danas na granici dovoljnog s obzirom na to da savremeni računari mogu relativno brzo da otkriju ključ te dužine. Najpoznatiji algoritmi simetričnih kriptosistema su: DES (Data Encryption Standard) sa ključem dužine od 56 bita, 3DES sa dva ključa od po 112 bita, 3DES sa ključem od 168 bita, RC2 i RC4 (Ron’s Ciphers) sa ključevima od 40 i 128 bita,…

12

Page 13: Kriptozaštita

2.2 Asimetrični kriptosistemi

Kao rešenje problema distribucije ključeva koji postoji kod simetričnih kriptosistema,Difi (Whitfield Diffie) i Helman (Martin Hellman) su 1975. godine predložili asimetričnikriptosistem [4]. Od tada, započinje intenzivan razvoj te vrste kriptosistema koji i danas traje.Mogućnosti koje pružaju ti kriptosistemi koriste državne institucije, vojska, policija,preduzeća, ali i pojedinci. Asimetrični kriptosistemi ili kriptosistemi sa javnim ključem (Public-Key Cryptosystems) se baziraju na korišćenju dva ključa: 1. javni ključ (Public Key), kojim se vrši šifrovanje podataka i 2. tajni ili privatni ključ (Secret Key), koji se koristi za dešifrovanje.Princip rada asimetričnih kriptosistema je sledeći. Korisnik koji želi da primi šifrovanu poruku generiše par ključeva, javni i tajni. Javni ključ javno objavljuje tako da on postaje dostupan drugim korisnicima, dok tajni ključ čuva u tajnosti. Ukoliko neko želi da pošalje šifrovanu poruku tom korisniku, on korišćenjem dostupnog javnog ključa vrši šifrovanje poruke a zatim mu tako šifrovanu poruku prosleđuje. Korisnik kome je šifrovana poruka namenjena, posle preuzimanja te šifrovane poruke, vrši njeno dešifrovanje korišćenjem svog tajnog ključa koji je par javnom ključu kojim je ta poruka šifrovana. Na slici 5. je prikazan princip rada kod asimetričnog kriptosistema kada korisnik A šalje poruku korisniku B. Da bi korisnik A mogao da izvrši šifrovanje poruke M koju želi da pošalje korisniku B, neophodno je da preuzme javni ključ korisnika B - PKB. Posle šifrovanja poruke tim ključem, dobija se kriptogram C (C=E(M, PKB)) koji se upućuje korisniku B.Jedino korisnik B može da dešifruje taj kriptogram svojim tajnim ključem - SKB. Na izlazu iz bloka za dešifrovanje dobija se poruka M (M=D(C, SKB)) koja je identična poruci koju je generisao korisnik A.

Slika 5. Asimetrični kriptosistem

Najveća prednost asimetričnih kriptosistema u odnosu na simetrične je u pogledu distribucije ključeva. Princip distribucije ključeva kod asimetričnih kriptosistema zasnovan je na činjenici da korisnik koji raspolaže sa javnim ključem može da šifruje poruku ali ne može da je dešifruje. Samo korisnik koji ima odgovarajući tajni ključ može da dešifruje poruku.Naime, matematički je praktično nemoguće odrediti tajni ključ

13

Page 14: Kriptozaštita

ukoliko se poznaje javni (primenjene su tzv. jednosmerne funkcije koje se lako računaju u jednom smeru, dok je nalaženje inverznih funkcija veoma teško; primer: logaritmovanje po modulu nekog velikog celog broja ili pronalaženje prostih faktora velikih celih brojeva). Iz tog razloga, jedan ključ je moguće učiniti javno dostupnim, i to javni ključ, bez bojazni da se na osnovu njega izračuna tajni ključ. Korisnici koji učestvuju u komunikaciji razmenjuju javne ključeve, dok se tajni ključevi ne prenose mrežom niti na bilo koji drugi način razmenjuju između korisnika.Ovakvim načinom razmene javnih ključeva i korišćenjem asimetričnih kritposistema, omogućena je tajna razmena poruka čak i između korisnika koji se nikada nisu sreli. Razmena javnih ključeva između korisnika se najčešće vrši preko servera za javne ključeve. Naime, na Internetu postoji više servera javnih ključeva na kojima korisnici mogu da ostave svoj i/ili da preuzmu javne ključeve drugih korisnika. Alternativni način razmene javnih ključeva između dva korisnika je slanje ključeva elektronskim pismom. Prilikom komunikacije između korisnika, veoma je važno da se pri šifrovanju poruke koristi javni ključ korisnika kome je potrebno poslati poruku, a ne pogrešan ili lažan javni ključ. Da bi sa sigurnošću moglo da se tvrdi za neki javni ključ preuzet sa servera za javne ključeve da je to ključ korisnika kome je potrebno uputiti poruku, uveden je digitalni sertifikat. Digitalni sertifikat se sastoji od tri činioca:

1. javnog ključa,2. informacija o sertifikatu (informacija o identitetu korisnika koji je vlasnik javnog ključa, kao što su ime, korisnička šifra,…) i3. jednog ili više digitalnih potpisa.

Jedini nedostatak distribucije javnih ključeva preko servera za javne ključeve je u tome što korisnik koji objavi svoj javni ključ oglašava celom svetu da želi da prima šifrovane poruke i na taj način skreće pažnju potencijalnih napadača na sebe. Kod asimetričnih kriptosistema koriste se znatno duži ključevi nego kod simetričnih.Tako na primer, dužini ključa od 80 bita simetričnih kriptosistema odgovara ključ dužine od 1024 bita kod asimetričnih kriptosistema. Ključ dužine 1024 bita se danas smatra jednim od kraćih ključeva asimetričnih kriptosistema. Pre šifrovanja poruke, vrlo je bitno da se izabere ključ odgovarajuće dužine. Što je ključ duži viši je stepen zaštite šifrovanih podataka, ali postupak šifrovanja vremenski posmatrano duže traje*. Zato je potrebno naći kompromis između dužine ključa tj. stepena zaštite šifrovanih podataka i vremena potrebnog za njihovo šifrovanje/dešifrovanje. Pri određivanju dužine ključa korisno je razmotriti koja osoba može da pokuša da probije šifrovanu poruku, i sa koliko vremena i računarske snage ona raspolaže.Na izbor dužine ključa može presudno da utiče dužina vremenskog perioda u kome se očekuje visok stepen zaštite šifrovanih podataka. Ukoliko je taj vremenski period duži, potreban je i duži ključ. U realnim situacijama u kojima se aktuelnost informacija meri u danima ili mesecima, i minimalne dužine ključeva asimetričnih kriptosistema (primer: 1024 bita) pružaju izuzetno visok stepen zaštite.

* Šifrovanje kod asimetričnih kriptosistema je do hiljadu puta sporije nego kod simetričnih, tako da šifrovanje

14

Page 15: Kriptozaštita

dugačkih poruka može da bude nepraktično. Zato se asimetrični kriptosistemi često koriste za razmenusimetričnih ključeva. Stepen zaštite asimetričnih kriptosistema zavisi ne samo od dužine ključa već i od primenjenog kriptografskog algoritma. Najpoznatiji algoritmi koji se primenjuju kod asimetričnih kriptosistema su [6]: Difi-Helmanov (naziva se po imenima autora: Whitfield Diffie i Martin Hellman), RSA (nazvan je po autorima: Ron Rivest, Adi Shamir i Leonard Adleman), Elgamal (nazvan po autoru Taher Elgamal),…

2.3 Hibridni kriptosistem PGP

PGP* (Pretty Good Privacy) je hibridni kriptosistem s obzirom na to da kombinuje najbolje osobine simetričnih i asimetričnih kriptosistema [4, 5], iako korisnik pri radu sa tim kriptosistemom stiče utisak da se radi o asimetričnom, pošto se koriste javni i tajni ključevi. Princip rada PGP kriptosistema pri komunikaciji između korisnika A i B je dat na slikama 6. i 7. Poruku M, koju korisnik A želi da pošalje korisniku B, PGP najpre kompresuje (slika 6.). Kompresovanjem poruke smanjuje se vreme potrebno za njenu transmisiju, štedi se prostor na tvrdom disku računara i što je najvažnije povećava se stepen kriptografske zaštite.Naime, većina tehnika kriptoanalize koriste modele slova i reči koji postoje u otvorenom tekstu kako bi probile kriptogram. Kompresovanjem se redukuju ti modeli u otvorenom tekstu, čime se značajno povećava otpornost na tehnike kriptoanalize. Zatim se kompresovana poruka MK upućuje u blok za šifrovanje. PGP kreira ključ sesije S (Session Key) uz pomoć koga sa vrši šifrovanje kompresovane poruke MK

primenom odgovarajućeg simetričnog algoritma (CAST, IDEA ili 3DES). Kao rezultat pomenutog šifrovanja dobija se kriptogram C. Posle izvršenog šifrovanja kompresovane poruke, vrši se šifrovanje ključa sesije S na osnovu javnog ključa korisnika B - PKB. Generisan kriptogram C zajedno sa šifrovanim ključem sesije S', upućuje se nazaštićenim kanalom ka korisniku B. Proces dešifrovanja odvija se obrnutim redosledom u odnosu na šifrovanje (slika 7.).Najpre korisnik B upotrebom svog tajnog ključa SKB omogućava generisanje ključa sesije S,dešifrovanjem njegove šifrovane verzije S'. Zatim se taj ključ sesije S zajedno sa simetričnim algoritmom koristi za dešifrovanje kriptograma C čime sa dobija kompresovana poruka MK.Na kraju, vrši se dekompresovanje poruke MK tako da korisnik B prima poruku M koja treba da je identična poruci koju je poslao korisnik A.

* Američki zakoni ne dozvoljavaju izvoz kriptografske opreme (hardvera i softvera) koja koristi ključ duži od 56bita. Iz tog razloga, nemoguće je legalno nabaviti hardver ili softver za šifrovanje/dešifrovanje poruka sa ključem

15

Page 16: Kriptozaštita

dužim od 56 bita, koji je registrovan u Americi. Doskorašnji zakoni bili su još strožiji, jer su zabranjivali izvozopreme sa ključem dužim od 40 bita. Softverski alat za šifrovanje podataka koji se zove PGP, prešao je graniceAmerike i danas je izuzetno popularan u celom svetu. PGP je nekomercijalni program (freeware) kojegstanovnici Amerike mogu besplatno da preuzmu sa web servera www.pgp.com, dok u Jugoslaviji do njega možeda se dođe na nekim domaćim web serverima.

Slika 6. PGP šifrovanje

Slika 7. PGP dešifrovanje

2.4 Tehnika digitalnog potpisa

Kao što je poznato, potpis na papirnom dokumentu se koristi kao dokaz autorstva i prihvatanja odgovornosti za sadržaj tog papirnog dokumenta. U računarskom svetu, ručni potpis se zamenjuje digitalnim za potpisivanje elektronskih dokumenata. I dok je ručni potpis moguće falsifikovati, to je gotovo nemoguće uraditi sa digitalnim potpisom. Pored toga,digitalni potpis omogućava primaocu dokumenta da verifikuje neizmenjenost sadržaja dokumenta nakon njegovog potpisivanja. Na osnovu digitalnog potpisa primaoc

16

Page 17: Kriptozaštita

dokumenta može da utvrdi identitet potpisnika dokumenta. Digitalni potpis takođe obezbeđuje da potpisnik dokumenta ne može da porekne potpisivanje potpisanog dokumenta. Tehnika digitalnog potpisa se bazira na rešenjima asimetričnih kriptosistema. Naime,pošiljaoc poruke vrši njeno šifrovanje svojim tajnim ključem i na taj način potpisuje poruku.S druge strane, primaoc poruke vrši njeno dešifrovanje javnim ključem pošiljaoca i na taj način sprovodi verifikaciju. Postupak kreiranja digitalnog potpisa i verifikacije sastoji se iz nekoliko faza (slika 8.). Sa te slike se vidi da korisnik A potpisuje poruku M i šalje je korisniku B. Pri tome,najpre se vrši sažimanje poruke M primenom hash transformacije. Kao rezultat, dobija se poruka fiksne dužine H(M). Zatim se vrši šifrovanje poruke H(M) tajnim ključem korisnika A- SKA i dobija se digitalni potpis S (S=E(H(M),SKA)). Taj digitalni potpis S se pridružuje originalnoj poruci M i zajedno sa njom se prosleđuje korisniku B.Korisnik B vrši verifikaciju primljene poruke od korisnika A. Prvo se primenom hash transformacije, na prispelu poruku bez digitalnog potpisa M1, dobija poruka H(M1).Zatim se vrši dešifrovanje digitalnog potpisa S javnim ključem korisnika A -PKA, čime se generiše poruka H(M) (H(M)=D(S,PKA)). Ukoliko je poruka H(M1) identična poruci H(M), korisnik B se uverava da je poruku koju je on primio njemu poslao korisnik A, i niko drugi, i da ta poruka nije menjana posle potpisivanja. Za kreiranje digitalnog potpisa, danas se najčešće koriste dva sistema [6]: RSA(Rivest, Shamir i Adelman) i DSS (Digital Signature Standard). RSA je asimetrični kriptosistem koji omogućava i kriptografsku zaštitu tajnosti i digitalno potpisivanje dokumenta, dok je DSS namenjen isključivo za digitalno potpisivanje.

Slika 8. Potpisivanje elektronskog dokumenta i verifikacija

Zaključak

Kada se govori o profesionalnoj kriptografiji moraju se jasno razgraničiti oblasti primjene:- kriptozaštita za specijalne korisnike (vojska, policija i sl.) i

17

Page 18: Kriptozaštita

- kriptozaštita za komercijalnu upotrebu (tj. za kompanije koje žele da svoje poslove komunikacije ili arhiviranja podataka zaštite). Profesionalna kriptozaštita za komercijalne svrhe se može realizovati na dva načina:hardverski i softverski. Hardverska realizovana kriptozaštita se odnosi na posebne uređaje koji vrše kriptovanje, uglavnom digitalnih podataka. Jedna varijanta je da se kriptovanje vrši u procesoru opšte namjene, a na osnovu određenog softvera koji se drži u nekoj od memorija. Druga varijanta je da se kompletan algoritam realizuje hardverski na posebnom čipu napravljenom samo za ovu namjenu.Softverska rješenja su znatno jeftinija od hardverskih, ali kod njih se javlja problem bezbjednosti, naročito u pogledu čuvanja i distribucije ključeva (ili šifara ako je to jasnije). Ova rješenja su ipak vrlo prikladna za zaštitu podataka u privatnim komunikacijama ili u komunikacijama između malog broja korisnika, gdje se relativno lako može uspostaviti potreban stepen "bezbjedonosne discipline". Za veće organizacije, velike komunikacione mreže i sl. jedina pouzdana rješenja su ipak hardverska. Metode malverzacije su mnogobrojne i često gotovo nezamislive: od krađe do neovlašćenog prisluškivanja na mreži. Novija američka studija pokazuje da se informatički kriminal dešava 40 puta češće od tradicionalno poznatog. Rizici su mnogobrojni. Uprkos tome što su identifikovani slučajevi još uvijek malobrojni (90% informatičkog zločina još uvijek ostaje neotkriveno) moguće je izvršiti tipologiju kriminalnih radnji(dobrovoljna sabotaža, krađa informacija, pronevjera, krivotvorenje i sl) a time i pristupiti boljoj organizaciji bezbijednih informacionih mreža. Budućnost bezbijednosti mreža prolazi kroz evoluciju tehnologije i razvoja kartica pristupa, posebno što se tiče mikroprocesora koji bi mogli u sebi pohranjivati vrlo osjetljive podatke. Moguće je takođe, zasnovati određenu nadu na moćnim sistemima kriptozaštite a pogotovo digitalnog "potpisa" na javnim mrežama.

Literatura

[1] D. Spasić, "Segmentiranje lokalnih računarskih mreža", Stručni časopis Zajednice JPTT"PTT saobraćaj" br. 1/2000, str. 99-106, Zajednica JPTT, Beograd, 2000.

[2] D. Spasić, "Kriptozaštita podataka u računarskim mrežama primenom simetričnih i asimetričnih kriptosistema", "PTT saobraćaj" br. 3/2000, str. 89-97, Zajednica JPTT, Beograd, 2000

[3] M. Mališ, S. Stefanović, "Kriptozaštita podataka u računarskim mrežama", XV naučnostručni skup "Info-Teh 2000", Zbornik radova, str. 164-167, JURIT Beograd, Vrnjačka Banja, jun 2000.

[4] Stojanović, D., Marić, V., Zaštita informacionog sistema - INTERNET-a od pristupaneovlašćenih korisnika, XXVIII Jugoslovenski simpozijum o operativnimistraživanjima (SYMOPIS 2001), Zbornik radova, Beograd, 2001.

18