E N D
Asimetrična kriptografija Kroz istoriju, ključevi za dekriptovanje poruka su se morali čuvati u strogoj tajnosti i obično bi bili unapred dogovarani (licem u lice ili uz pomoć poverljivog kurira). Stroga tajnost i pitanje poverljivosti posrednika predstavljali su veliki problem. Zbog toga je izumljena asimetrična kriptografija, koja omogućava da primalac slobodno razdeljuje javni ključ pomoću kojeg mu pošiljaoci mogu bezbedno poslati poruku. Prvi put asimetričnu kriptografiju su izumili Džejms H. Elis, Kliford Koks i Malkolm Vilijamson iz Centralnog komunikacionog štaba Ujedinjenog Kraljevstva ranih 1970ih. Ovaj izum je kasnije postao poznat pod imenom „razmena ključeva Difi-Helman“, kao poseban slučaj algoritma RSA. Kriptografi iz komunikacionog štaba su ovu tehniku nazivali „netajno kriptovanje“. Sve do 1997. godine podatak da su došli do ovog izuma je čuvan od javnosti.
Asimetrična kriptografija Sistem kriptovanja pomoću asimetričnih ključeva su 1976. godine objavili Vitfild Difi i Martin Helman, koji su, pod uticajem radova Ralfa Merkla o razdeljivanju javnih ključeva, objavili metodu usaglašavanja pomoću javnog ključa. Ova metoda razmene eksponencijalnih ključeva, koja je postala poznata pod nazivom „razmena ključeva Difi-Helman“, je bila prva praktična metoda uspostavljanja sigurne veze preko nezaštićenih kanala bez unapred dogovorene lozinke. Merklova tehnika usaglašavanja pomoću javnog ključa je postala poznata pod nazivom „Merklove zagonetke“ i objavljena je 1978. godine. Uopštenje Koksove metode su 1977. godine osmislili Rivest, Šamir i Edleman, koji su tada radili na Institutu tehnologije Masačusetsa. Rad su objavili 1978. godine, a sam algoritam je postao poznat pod nazivom RSA, na osnovu početnih slova njihovih prezimena (Ronald Rivest, Adi Shamir, Leonard Adleman). RSA koristi ostatak pri deljenju eksponenta sa proizvodom dva velika cela broja za kriptovanje i dekriptovanje, a sigurnost je zasnovana na pretpostavci da ne postoji dovoljno brza (praktično ostvariva) metoda za pronalaženje prostih činilaca velikih celih brojeva.
Asimetrična kriptografija Od 1970ih godina do danas, razvijen je veliki broj različitih načina kriptovanja, digitalnog potpisivanja, usaglašavanja ključevima i drugih tehnika na polju kriptografije sa javnim ključem. Sistem kriptovanja Elgamal (čiji je autor tadašnji radnik Netskejpa Taher Elgamal) zasniva se na (sličnoj i povezanoj) teškoći rešavanja problema diskretnog logaritmovanja, kao i usko povezani algoritam DSA koji su razvili američki Nacionalni institut za standarde i tehnologiju i Državna bezbednosna agencija. Eliptička kriptografija, koju je predstavio Nil Koblic 1980ih godina, dovela je do čitave nove porodice odgovarajućih algoritama zasnovanih na javnom ključu. Iako matematički složenija, eliptička kriptografija izgleda da obezbeđuje pouzdaniji način prevazilaženja problema diskretnog logaritmovanja, posebno s obzirom na veličinu ključa.
Asimetrična kriptografija Asimetrična kriptografija, poznata i pod nazivom kriptografija sa javnim ključem, je oblik kriptografije u kojoj se ključ za kriptovanje poruke razlikuje od ključa za dekriptovanje. Drugim rečima, postoji javni i privatni ključ. Privatni ključ se drži u tajnosti, a javni može biti pružen mogućim pošiljaocima ili potpuno pušten u javnost. Kada pošiljalac šalje poruku, on je kriptuje javnim ključem, a primalac je dekriptuje privatnim ključem, koji samo on ima. Ova dva ključa su matematički povezani, ali privatni ne može biti otkriven preko javnog. Pored uobičajenog kriptovanja poslatih poruka, asimetrična kriptografija se koristi i za digitalne potpise: određena poruka može biti potpisana privatnim ključem, a svi koji je prime mogu, pomoću javnog ključa, utvrditi da li je poruka poslata od prave osobe i da li je u netaknutom stanju tj. nepromenjena. Budući da je asimetrično kriptovanje i dekriptovanje znatno zahtevnije od simetričnog, ova dva se često kombinuju; cela poruka se simetričnog kriptuje pomoću ključa koji je izabran metodom slučajnog izbora, a zatim se taj ključ kriptuje primaočevim javnim ključem i šalje skupa sa porukom. Budući da je taj ključ obično znatno manji od cele poruke, njegovo asimetrično kriptovanje i dekriptovanje se odvijaju relativno brzo a simetrično dekriptovanje poruke je brzo samo po sebi. Na taj način je obezbeđena i sigurnost i brzina.
Asimetrična kriptografija Većina algoritama za asimetričnu kriptografiju je relativno zahtevna u kontekstu broja izvedenih računskih operacija u odnosu na algoritme za simetričnu kriptografiju sa naizgled sličnom pruženom sigurnošću. Ta činjenica je vrlo važna za njihovu praktičnu upotrebu. U većini slučajeva se koriste mešani sistemi kriptografije da bi se dobila i brzina i sigurnost.
Digitilani potpis Digitalni potpis je 51-bitni broj koji se dobija primenom RSA algoritma na HASH vrednost generisanu iz blokapodataka koji se štiti. Kreiranje digitalnog potpisa Postupak kreiranja digitalnog potpisa se sastoji iz dve faze: Prva faza podrazumeva upotrebu odgovarajuće kripto heš funkcije ( MD5,SHA-1 ) u cilju dobijanja otiska poruke. Primenog odgovarajućeg algoritma ( RSA ) u drugoj fazi dobijeni otisak se šifruje tajnim ključem. Šifrovani otisak poruke predstavlja njen digitalni potpis i pridružuje joj se.
Digitalni sertifikat Digitalno potpisanu poruku potrebno je povezati sa javnim ključem osobe kojoj pripada. Da bi se uspešno identifikovao potpisnik dokumenta potrebno je utvrditi uspešno utvrditi njegov identitet. Digitalni setifikat se koristi upravo pri utvrđivanju identita učesnika u razmeni informacija.Nazvan i digitalna lična karta predstavlja sredstvo kojim se dokazuje identitet na mreži – Internetu.
Struktura digitalnog sertifikata • verzija formata sertifikata - sadrži oznaku strukture digitalnog sertifikata. Jedan od najzastupljenijih formata digitalnih sertifikata definisan je X. 509 standardom. • serijski broj sertifikata - sadrži vrednost koju dodeljuje sertifikacioni autoritet u trenutku kreiranja digitalnog sertifikata. • identifikator algoritma - sadrži podatke o algoritmu koji je pirmenjen za digitalno potpisivanje • naziv sertifikacionog tela - identifikuje izdavača digitalnog sertfikata • rok važnosti sertifikata - sadrži vremenski period u kome je izdati digitalni sertifikat validan. • vlasnik sertifikata - predstavljen je složenom strukturom koja obuhvata neke lične podataka. • informacija o javnom ključu vlasnika – sadrži javni ključ i identifikator asimetričnog algoritma sa kojim se dati ključ primenjuje • digitalni potpis sertifikata - od strane ustanove koja je izdala setifikat (CA).
PKI (Public Key Infrastructure) Public Key Infrastructure. PKI je sigurnosna infrastruktura koja se koristi kriptografske metode, a široku primenu je našla u slučajevima garancije identiteta putem digitalnih sertifikata. Kombinujći digitalni potpis, digitalni sertifikat i par ključeva (javni i privatni), PKI danas ima široku upotrebu u elektronskom poslovanju, posebno kada je reč o bankama. Da bi izdavanje sertifikata bilo omogućeno, a digitalni potpis overen, potrebno je konstruisati sertifikaciono telo ( CA – certificate authority ) koje je za potrebe vežbi instalirano na Windows server 2003 operativnom sistemu.
PKI u praksi Različite aplikacije mogu biti zasnovane na infrastrukturi javnih ključeva.Neki od primera su : • Formiranje pouzdanog sistema zaštite na transportnom nivou u računarskoj mreži • Zaštita E – mail servisa • Bezbedna razmena dokumenata • Kontrola radnog vremena i pristupa resursima • Zaštita Web transakcija
Osnovne komponente infrastrukture sa javnim ključevima • Sertifikaciono telo ( certificate authority ) – izdavanje digitalnih sertifikata i regulisanje načina upotrebe istih • Praktična pravila rada predstavljena u vidu dokumenata - opisuje rad CA.Dokument može da sadrži spisak procedura o radu infrastrukture.Uključuje definicije kako je CA formiran, kako se generišu digitalni sertifikati, kako će ključevi biti generisani, gde će se čuvati i kako će biti dostupni krajnjim korisnicima. • kriptografske aplikacije za realizaciju funkcija infrastrukture sa javnim ključevima (PKI) subjekata koji komuniciraju u mrežnom okruženju, na bazi izdatih digitalnih sertifikata. • krajni korisnici odn. subjekata koji komuniciraju.
CA – certificate authority Sertifikaciono telo (CA) možemo opisati kao overilac digitalnih potpisa. Pod Windows Server 2003 operativnim sistemom moguće instalirati sertifikaciono telo koje će imati više različitih uloga, ali istu funkciju a to je sprovođenje zaštite putem infrastrukture javnih ključeva. Osnovne uloge sertifikacionog tela su sledeće: • upravljanje elektronskim sertifikatima • upravljanje infrastrukturom Servisi koje pruža CA server se koriste na: Internetu,enkripciji fajlova,razmeni elektronske pošte,digitalnom potpisivanji bilo da se radi o razmeni podataka ili softveru i u korišćenju smart kartica. Bitno je napomenuti da jedan ovakav server može biti član domena, ili raditi van njega kao nezavisan server koji će da pruža usluge dodeljivanja sertifikata drugim serverima i nakon toga stavljen van funkcije radi bezbednosti
Instalacija CA servera U našem slučaju instaliramo server koji će poslužiti kao servis za izdavanje sertifikata za smart kartice. Ukoliko to radimo u nekom postojećem, izgrađenom sistemu odnosno već napravljenom domenu sa velikim brojem korisnika veliku pažnju usmeravamo na ljudski faktor. Jako bitno je znanje o tome da se kompeltna struktura jedne lokalne mreže menja primenom PKI-a. Dolazi do primene novih servisa koji mogu izazvati i određene probleme u radu. Korisnicima je potrebno objasniti upotrebu jednog novog sistema odnosno drugačiji pristup u radu na računarima, a administrator mora biti svestan svih prednosti i mana koje donosi jedan ovako kompleksan sistem. Puštajući u rad CA server dobijamo jedan novi računar u mreži kome mora da se posveti velika pažnja. Prestankom njegovog rada u pitanje se dovodi celokpan rad domena. Iz tog razloga pre pristupanja samoj instalaciji neophodno je donošenje dugoročne strategije u cilju ispravnog rada servera i lokalnih servisa u okviru domena.
Servisi koje je potrebno podići pre same instalacije sertifikacionog tela su Internet Information servis kao i Application servics. Instalacija ova dva servisa je neophodna pre instalacije sertifikacionog tela.Razlog je izdavanje sertifikata putem Web-a, što je samo jedan od načina.Drugi način koristi mmc konzolu za izvršavanje istog posla ( izdavanje sertifikata ).
Napominjemo da slikama nećemo predstavljati svaki deo instalacije i tu se pre svega misli na davanje imena sertifikacionom telu i sličnim koracima. Usresredićemo se samo na najbitnije delove podizanja CA servisa. Posle instalacije servisa koje smo prethodno naveli pristupamo instalaciji samog sertifikacionog tela.
Početak instalacije se odvija kroz panel za dodavanje ili brisanje servisa u okviru Add or Remove prozora. Potrebno je samo izabrati opciju Certificate Services i čarobnjak za instalaciju se pokreće.
Na prethodnoj slici vidimo četiri opcije. Jednostavan potez klikom nam omogućava sledeće radnje: • Enterprise root CA – ova opcijanam omogućava podizanje vrhovnog sertifikacionog tela koje će biti član domena. • Enterprise subordinate CA – podizanje sertifikacionog tela koje će biti podređeno vrhovnom CA serveru i opet član domena. • Stand – alone root CA – vrhovno sertifikaciono telo instalirano van domena. U ovom slučaju takav server koji čuva najbitnije podatke o infrastrukturi javnih ključeva se ne učlanjuje u domen. On se gasi, a za izdavanje serifikata se brine sledeći: • Stand –alone subordinate CA – ovaj server će biti član domena a instrukcije će preuzimati od vrhovnog sertifikacionog tela koji je pomenut u prethodnoj opciji.
Navedeni prethodni koraci opisuju ponuđene opcije a na samim administratorima je da odluče koju od njih će primeniti, a sve u skladu sa prethodno donetom strategijom za primenu infrastrukture javnih ključeva. Nakon instaliranja sertifikacionog tela na slici ispod možemo videti sledeće opcije:
Template Templejti su jako bitna stavka, jer pomoću templejta kreiramo ( pravimo nove duplirajući postojeće i menjajući njihovu namenu ) ili koristimo unapred definisane postojeće templejte za sertifikate koji će biti izdavani. Za potrebe vežbi u obzir su uzeti sledeći : • Smart card user • Smart card login • Enrollment agent Smart card user i login su templejti koji za svrhu imaju isključivo upotrebu smart kartica. Enrollment agent je templejt koji se odnosi na korisnika koji će biti zadužen za izdavanje sertifikata.
Enrollment agent može biti običan korisnik koji je član samo domain user gupe.Kao takav on neće imati nikakve privilegije sem one glavne i vrlo bitne, a to je izdavanje sertifikata. To mora biti osoba sa određenim iskustvom, od poverenja i sa spremnošću da se nosi sa velikom odgovornošću. Više osoba može biti zaduženi za izdavanje sertifikata, ali to omogućava samo jedna funkcija odnosno jedan templejt, a to je enrollment agent.
Nakon kreiranja templejta potrebno je izdati prvi sertifikat za osobu koja će predstavljati enrollment agenta. Sve sertifikate ćemo izdavati preko browsera, u našem slučaju internet explorera, ali sertifikat za agenta ćemo primera radi izdavati na sledeći način. Otvorićemo na CA serveru mmc konzolu preko koje ćemo putem snap – in opcije u istu dodati opciju sertifikati (certificate). U okviru sertifikata javiće nam se sledeće opcije: Opcijom Request New Certificate prolazimo kroz korake kojima potvrđujemo izdavanje sertifikata za Enrollment agenta. Podešavanja su jasna i jednostavna. Potrebno je slediti uputstvo i agent je spreman za rad odnosno za izdavanje sertifikata za smart kartice, a sve u skladu sa prethodno kreiranim templejtima. Bitno je napomenuti da na ovaj način izdavanja sertifikata, isti dobija osoba koja je u tom momentu logovana na računar.