225
ZAŠTITA RAČUNARSKIH I POSLOVNIH SISTEMA Skripta Dr Milan Marković

Skripta Zastita Racunarskih i Poslovnih Sistema 01

Embed Size (px)

DESCRIPTION

Zastita racunara

Citation preview

Projekat_PKI

ZATITA RAUNARSKIH I POSLOVNIH SISTEMASkriptaDr Milan MarkoviBanja Luka, Januar 2009.

Sadraj

51. UVOD

62. SAVREMENE RAUNARSKE MREE, INFORMACIONI SISTEMI I SISTEMI ZATITE

62.1 Savremene raunarske mree i TCP/IP protokol

72.2 Trendovi u sistemima zatite savremenih raunarskih mrea

102.3 Potencijalni napadi na savremene raunarske mree i mogui naini odbrane

112.4 Primeri napada na savremene raunarske mree

122.4.1 Kraa identiteta - phishing

122.4.2 Prislukivanje

122.4.3 Modifikacija podataka

122.4.4 Identity spoofing (IP address spoofing)

132.4.5 Napadi na lozinke

132.4.6 Denial-of-service napad

142.4.7 Man-in-the-middle napad

142.4.8 Napad kompromitacije kljua

142.4.9 Sniffer napad

142.4.10 Napad na aplikativnom nivou

152.5 Tehnologije zatite savremenih raunarskih mrea

163. PRIMENA KRIPTOGRAFSKIH METODA ZATITE U INFORMACIONOM SISTEMU

163.1 Simetrini kriptografski algoritmi

173.1.1 Blok ifarski sistemi

303.1.2 Kriptografski modovi blok ifarskih algoritama

363.1.3 Sekvencijalni ifarski sistemi

403.1.4 Komparativna analiza blok i sekvencijalnih ifarskih sistema

413.2 Asimetrini kriptografski algoritmi

413.2.1 PKCS#1 standard

443.2.2 RSA algoritam

483.3 Message digest algoritmi

493.3.1 MD5 message digest algoritam

513.4 Primena kriptografskih algoritama u informacionim sistemima

524. VIESLOJNA ARHITEKTURA SISTEMA ZATITE SAVREMENIH RAUNARSKIH MREA

534.1 Zatita na aplikativnom nivou

554.2 Zatita na transportnom nivou

564.3 Zatita na mrenom nivou

585. OSNOVE PKI SISTEMA

585.1 Uvod u sisteme sa javnim kljuevima (PKI public key infrastructure)

585.1.1 Podrka razliitim politikama rada PKI sistema

595.1.2 Bezbednost sistema

595.1.3 Skalabilnost

595.1.4 Fleksibilnost

605.1.5 Jednostavno korienje

605.1.6 Otvorenost sistema

605.2 Komponente PKI sistema

625.2.1 Moduli PKI sistema

635.3 Sertifikaciono telo (CA Certification Authority)

645.3.1 Funkcionalnost CA

655.3.2 Obeleja CA

655.4 Operator sertifikacionog tela (CAO)

655.4.1 Funkcionalnost CAO

665.4.2 Obeleja CAO

665.5 Registraciono telo (RA)

665.5.1 Funkcionalnost RA

675.5.2 Obeleja RA

675.6 Operator registracionog tela (RAO)

675.6.1 Funkcionalnost RAO

685.6.2 Obeleja RAO

685.7 Sertifikaciono telo kao web vieslojna aplikacija

685.8 Digitalni sertifikati, struktura i standardi

705.8.1 ITU X.509 v3 sertifikat-struktura

725.8.2 Ekstenzije u sertifikatu

795.8.3 Najee koriene ekstenzije

795.9 Metode registracije korisnika

815.9.1 Registracija u linom kontaktu

825.9.2 Udaljena registracija

845.10 Sistemi za distribuciju sertifikata

855.11 Upravljanje ivotnim vekom sertifikata

855.11.1 Obnavljanje sertifikata

855.11.2 Povlaenje sertifikata

855.11.3 Suspenzija sertifikata

865.12 Lista povuenih sertifikata

905.13 Opis procedure generisanja i zatite asimetrinih kljueva Sertifikacionog tela

915.13.1 Opta obeleja HSM

945.13.2 Opta obeleja smart kartica

975.14 Server za arhiviranje kljueva

995.14.1 Funkcionalnost servera za arhiviranje kljueva

995.14.2 Obeleja Arhiv servera

995.15 Standardi koji se odnose na funkcionisanje PKI sistema

1005.15.1 Abstract sintax notation one - ASN.1

1015.15.2 ITU X.509 v3 sertifikat-struktura

1025.15.3 ITU X.509 v2 lista opozvanih sertifikata

1025.15.4 X.509 v2 lista opozvanih sertifikata - formiranje

1035.16 Tipovi Sertifikacionih tela i mogui naini realizacije

1045.17 Generiki model realizacije CA kao softverskog-hardverskog sistema za generisanje digitalnih sertifikata

1075.18 Organizacioni aspekti funkcionisanja PKI sistema

1075.18.1 Bezbednosne procedure u odnosu na ljudski faktor

1095.18.2 Bezbednosne procedure u odnosu na prostorije i ureaje

1105.18.3 Sistemi fizike i logike kontrole pristupa u okviru Sertifikacionog tela

1125.19 Osnovni dokumenti rada Sertifikacionog tela

1135.19.1 Politika sertifikacije opti koncept

1145.19.2 Relativni odnos dokumenata Politika sertifikacije i Praktina pravila rada

1155.19.3 Sadraj dokumenata Politika sertifikacije i Praktina pravila rada

1175.10.4 Interna pravila rada sertifikacionog tela

1185.19.5 Upravljanje radom PKI sistema

1195.20 Kriterijumi koje CA treba da ispuni da bi izdavalo kvalifikovane sertifikate

1215.20.1. Sposobnost za pouzdano obavljanje usluga izdavanja elektronskih sertifikata

1235.20.2 Bezbedno i aurno voenje registra korisnika kao i sprovoenje bezbednog i trenutnog opoziva elektronskog sertifikata

1235.20.3 Obezbeivanje tanog utvrivanja datuma i vremena izdavanja ili opoziva elektronskog sertifikata

1235.20.4 Obezbeivanje pouzdane registracija korisnika

1255.20.5 Obezbeivanje neophodnih kadrovskih resursa i upravljanja operativnim radom sertifikacionog tela

1265.20.6 Korienje pouzdanih i bezbednih kriptografskih sistema

1295.20.7 Zahvevi za obezbeenjem zatite od falsifikovanja sertifikata i tajnosti generisanih kljueva

1305.20.8 Zahtevi za odgovornou i osiguranjem od rizika

1315.20.9 Zahvevi za uvanjem svih relevantnih informacija

1325.20.10 Zahtevi za bezbednim uslovima za korisnike za koje se generiu podaci za formiranje elektronskog potpisa

1335.20.11 Zahtevi za sisteme fizike zatite ureaja, opreme i podataka i sigurnosna reenja zatite od neovlaenog pristupa

1355.20.12 Zahtevi za raspoloivou informacija o uslovima izdavanja i korienja sertifikata

1355.20.13 Zahtevi za sistem upravljanja sertifikatima

1365.21 Aspekti interoperabilnosti PKI sistema

1365.21.1 Kriterijumi i proces krossertifikacije

1385.22 Dosadanja iskustva u izgradnji Sertifikacionih tela

1426. Implementacija Sistema upravljanja informatikom bezbednou u Organizaciji po standardu ISO/IEC 27001:2005

1426.1 Uvod

1426.2 Istorijat ISO/IEC 27001:2005 standarda

1456.3 Uspostava i upravljanje ISMS sistemom

1456.3.1 Uspostava ISMS (Plan)

1476.3.2 Implementacija i operativni rad ISMS sistema (Do)

1476.3.3 Nadzor i preispitivanje ISMS sistema (Check)

1486.3.4 Odravanje i poboljanje ISMS sistema (Act)

1496.4 Zahtevi za dokumentacijom

1496.4.1 Opte odredbe

1496.4.2 Kontrola dokumenata

1506.4.3 Kontrola zapisa

1506.5 Odgovornost menadmenta

1506.5.1 Posveenost menadmenta

1516.6 Upravljanje resursima

1516.6.1 Obezbeivanje resursa

1516.6.2 Obuka, svesnost i kompetencija

1516.7 Interni ISMS auditi

1526.8 Upravni pregled ISMS sistema

1526.8.1 Opte odredbe

1526.8.2 Ulazi za pregled

1536.8.3 Izlazi upravnog pregleda

1536.9 Poboljanje ISMS sistema

1536.9.1 Kontinualno poboljavanje

1536.9.2 Korektivne akcije

1546.9.3 Preventivne akcije

1546.10 Proces sertifikacije prema ISO/IEC 27001:2005 standardu

1. UVOD Ovaj dokument predstavlja skriptu za izvoenje predmeta Zatita raunarskih i poslovnih sistema na Fakultetu poslovne informatike Univerziteta Apeiron u Banja Luci.U okviru ovog kursa analiziraju se kljuna pitanja bezbednosti u raunarskim mreama i informacionim sistemima. Analiziraju se takoe osnovne bezbednosne karakteristike savremenih raunarskih mrea bazirane na Internet tehnologijama i dat je prikaz tehnika i kriptografskih protokola kojima se navedeni bezbednosni problemi reavaju. Razmatraju su trendovi u zatiti raunarskih mrea, potencijalni napadi, mogui naini odbrane, tehnologije zatite, standardni kriptografski algoritmi, digitalni potpis, digitalna envelopa, PKCS standardi i vieslojna arhitektura zatite. Opisane su tehnike zatite na aplikativnom, transportnom i mrenom nivou ISO/OSI modela koje se baziraju na primjeni infrastrukture sistema sa javnim kljuevima. Pored toga, razmatraju se softverska, softversko/hardverska i hardverska rjeenja zatite. U tom smislu, razmatrane su procedure jake autentikacije, kao i primena tokena, smart kartica i HSM urjeaja. U okviru kursa se posebno razmatra infrastruktura sistema sa javnim kljuevima (PKI - Public Key Infrastructure) koja omoguuje ambijent za pouzdanu primjenu elektronskog poslovanja i koja se najee bazira na kombinovanoj primeni asimetrinih i simetrinih kriptografskih sistema. PKI sistemi se baziraju na digitalnim sertifikatima kao jednoznanim elektronskim identifikatorima ovlaenih uesnika u raunarskoj mrei. Dodatno se razmatraju komponente PKI sistema, sertifikaciono telo (CA), registraciona tela (RA), PKI aplikacije, kao i primjeri realizacije PKI sistema i PKI aplikacija. Takoe su razmatrani i aspekti primene odgovarajue Evropske i domae Zakonske regulative u domenu digitalnog potpisa i PKI sistema.

Na kraju se razmatraju aspekti implementacije sistema upravljanja informatikom bezbednou u skladu sa svetskim standardima (ISO/IEC 27001:2005).Ova skripta slui radi lakeg praenja predavanja na predmetu Zatita raunarskih i poslovnih sistema, kao i za pripremanje za polaganje kolokvijuma i ispita. Materijal u skripti je komplementaran sa materijalom koji e biti prikazan na prezentacijama tako da skripta i prezentacije zajedno ine kompletan materijal za pripremu i polaganje ispita.2. SAVREMENE RAUNARSKE MREE, INFORMACIONI SISTEMI I SISTEMI ZATITE2.1 Savremene raunarske mree i TCP/IP protokol

Savremene raunarske mree se uglavnom baziraju na Internet tehnologijama i protokolima koji su podloni moguim napadima koji naruavaju bezbednost podataka i identiteta subjekata. Kljuni problem lei u injenici da podaci krue i egzistiraju u elektronskom obliku koji nije neposredno vidljiv i zbog toga postaju izloeni novim vrstama napada, a osnovni razlozi za to lee u samim osnovnim karakteristikama arhitekture raunarskih mrea Internet/Intranet tipa: TCP/IP protokoli nisu projektovani da zadovolje zahteve za zatitom informacija, Internet je mrea sa komutacijom paketa u kojoj se jednostavno pristupa informacijama koje se prenose i mogue je ubacivanje poruka nepoznatog porekla i sadraja. U cilju reavanja navedenih problema, uporedo sa razvojem raunarskih mrea, razvijaju se i specijalizovani softverski i hardverski sistemi zatite. Danas u svetu postoji veliki broj proizvoaa tehnoloki kvalitetnih proizvoda za razliite nivoe zatite savremenih mrea. U ovim proizvodima su ugraeni javni de-facto standardni kriptografski algoritmi. Ovi algoritmi obezbeuju dovnoljni nivo bezbednosti za veinu komercijalnih informacionih sistema i raunarskih mrea.

Iako pomenuti proizvodi predstavljaju veoma kvalitetna reenja sa stanovita tehnologije realizacije, oni se ne preporuuju za primenu u TCP/IP raunarskim mreama sa bezbedno osetljivim podacima. Osnovni razlog je nepostojanje potpune sigurnosti u kriptografski kvalitet ovih reenja, npr. ona se ne mogu verifikovati na nivou izvornog koda.

Najkvalitetnija kriptografska reenja koja se primenjuju u savremenim raunarskim mreama baziraju se na primeni simetrinih kriptografskih sistema za zatitu tajnosti (u specijalnim sluajevima po mogustvu uz korienje sopstvenih simetrinih algoritama vieg kriptografskog kvaliteta), tehnologije digitalnog potpisa na bazi asimetrinih kriptografskih sistema, digitalnih certifikata i hardverskih modula (smart kartice i kriptografski koprocesori). Ovakvi sistemi zatite su projektovani da se uspeno odbrane od potencijalnih opasnosti i napada u cilju ugroavanja bezbedno osetljivih resursa informacionih sistema.

Kriptografski algoritmi koji se primenjuju u sistemima zatite Internet/Intranet raunarskih mrea dele se u dve velike grupe: Simetrini kriptografski algoritmi,

Asimetrini kriptografski algoritmi.

Podela je izvedena na osnovu posedovanja informacija neophodnih za ifrovanje i deifrovanje. Primenom simetrinih kriptografskih algoritama se, kao i u tradicionalnim sistemima zatite, ostvaruje funkcija zatite tajnosti u savremenim informacionim sistemima. Sa druge strane, primenom asimetrinih kriptografskih algoritama i tehnologije digitalnog potpisa ostvaruju se sledee funkcije u savremenim raunarskim mreama: Autentinost strane koja je poslala digitalno potpisanu poruku,

Zatita integriteta podataka u poruci koja je poslata,

Neporecivost elektornskog potpisnika za sadraj date poruke.

2.2 Trendovi u sistemima zatite savremenih raunarskih mrea

Uporedo sa razvojem i implementacijom raunarskih mrea Interenet tipa, razvijaju se i razliiti mehanizmi zatite specijalizovani za odbranu od pojedinih vrsta napada. U startu treba biti svestan da raunarske mree Internet tipa, pored toga to omoguavaju izuzetno poveanje efikasnosti rada i smanjenje trokova, predstavljaju kritinu taku bezbednosti date organizacije sa stanovita bezbednosti informacija koje se u sistemu prenose. U svetu postoji veliki broj razliitih pregleda i analiza opasnosti korienja raunarskih mrea na bazi Internet tehnologija izraenih od strane relevantnih institucija. Jedna takva analiza ukazuje na tipove napada, u procentima prijavljenih napada, Slika 2.1, kao i prosene gubitke prouzrokovane tim napadima u 2001. godini, Slika 2.2.

Slika 2.1: Tipovi prijavljenih napada na raunarske mree u procentimaPrema jednom slinom pregledu amerikog instituta za zatitu raunara (Computer Security Institute (CSI)s 2000 Computer Crime and Security Survey) koji je obuhvatao velike korporacije, 70% razmatranih subjekata je prijavilo detektovane neautorizovane pristupe u svojim mreama u prethodnoj godini. Takoe, prema istoj analizi, u prethodnih 5 godina, 66 razmatranih subjekata je prijavilo ukupan gubitak proizveden kraom osetljivih korporacijskih informacija u iznosu od $66 708 000, a 54 razmatrana subjekta su prijavila ukupan gubitak proizveden finansijskom proneverom u iznosu od $53 996000.

Slika 2.2: Proceni gubici u 2001. godiniOva analiza je takoe potvrdila sledee trendove u korienju raunarskih mrea Internet tipa u poslednje vreme:

Razvoj sve ireg spektra moguih napada. Napadi na korporacijske raunarske mree Internet tipa mogu biti eksterni i interni. Iako su prethodnih godina napadi na raunarske mree Internet tipa bili preteno eksterni, novije analize (kao to je i prethodno pomenuta analiza CSI) pokazuju da mnogo veu tetu i finansijske gubitke nanosi irok spektar internih napada. Razlozi za to lee u samoj prirodi mrea Internet tipa u kojima interni uesnici nisu samo zaposleni u datoj korporaciji (za koje postoji odreeni stepen poverenja), ve i poslovni partneri, zaposleni u firmama podrunicama, kooperanti, dostavljai, itd., koji iz razloga jednostavnosti korienja i poveanja efikasnosti i produktivnosti rada imaju vrlo slian, ako ne i isti, pristup korporacijskoj mrei kao i zaposleni u datoj korporaciji. U poslednje vreme su zabeleeni veoma veliki finansijski gubici prouzrokovani napadima na raunarske mree Internet tipa. Uoeno je da primena samo komercijalnih tehnologija zatite informacija ne moe uvek predstavljati pouzdano reenje odbrane od potencijalnih napada ve da se ponekad mora koncipirati i primeniti slojevita i sveobuhvatna politika zatite koja e pored komercijalnih tehnologija zatite obavezno ukljuiti i primenu kvalitetnijih, sopstveno realizovanih mehanizama zatite, kao i mehanizama kontrole pristupa i organizacionih elemenata zatite date raunarske mree Internet tipa.

Sa druge strane, SANS Institut je obavio istraivanja koja su rezultovala u definisanju tri liste osnovnih greaka koje omoguavaju razliite vrste napada na mree Internet tipa i pojedinane radne stanice u mrei.

Prva lista se odnosi na krajnje korisnike i definie sledeih pet najveih bezbednosnih greaka:

Otvaranje nezahtevanog e-mail priloga (attachment) dobijenog od nepoverljivog izvora, Propust da se instaliraju bezbednosni patch-evi standardnih Internet programskih paketa, kao i novih definicija (upgrade) antivirusnih programa, Instaliranje i download-ovanje screen saver-a i igara od nepoverljivih izvora, Nekreiranje i netestiranje back-up operacija, Korienje modema dok ste vezani u lokalnoj raunarskoj mrei (LAN).

Druga lista se odnosi na korporacijske uprave (management) i definie sledeih sedam najveih bezbednosnih greaka koje utiu na slabosti korporacijske raunarske mree:

Neobezbeenje odgovarajueg broja slubenika koji treba da uspostave i odravaju sistem zatite u okviru korporacije, Primena samo organizacionih vidova zatite bez primene (i bez prihvatanja neophodnosti primene) mehanizama zatite informacija, Reavanje samo pojedinanih bezbednosnih problema bez primene mera i stvaranja uslova za kreiranje kompletnog sistema zatite koji bi osigurao reenje najireg spektra bezbednosnih problema, Korienje samo mrenih barijera (firewall) u korporacijskoj raunarskoj mrei, Neshvatanje koliko vrede intelektualno vlasnitvo i poslovna reputacija firme, Primena kratkotrajnih reenja pojedinanih situacija to dovodi do brzog umnoavanja bezbednosnih problema, Pretvaranje da e se bezbednosni problemi reiti sami od sebe ako se ignoriu.Trea lista se odnosi na informatike profesionalce i definie sledeih deset najveih bezbednosnih greaka:

Prikljuivanje raunarskog sistema na Internet bez prethodne primene svih neophodnih bezbednosnih mera da se to uini, Prikljuivanje test i razvojnih sistema na Internet sa default lozinkama, Propust da se sistem aurira sa reenjima nekih bezbednosnih problema, Korienje nekriptovanih protokola za upravljanje sistemima, ruterima i firewall-ovima, Davanje korisnicima lozinki preko telefona i njihovo menjanje bez prethodne autentikacije osobe koja zahteva izmenu, Propust pri odravanju i testiranju procedure back-up-a sistema, Korienje nepotrebnih Internet servisa, Primena mrenih barijera sa pravilima koja ne osiguravaju bezbedno osetljivi dolazei i odlazei saobraaj, Propust u implementaciji i auriranju softverskog paketa za detekciju virusa, Propust u edukaciji korisnika u odnosu na to ta je potrebno uiniti kada se uoi potencijalni bezbednosni problem.

Imajui u vidu prethodno reeno, u nastavku su sumirani najei vidovi potencijalnih napada i mogue odbrane u okviru TCP/IP distribuiranih raunarskih sistema.

2.3 Potencijalni napadi na savremene raunarske mree i mogui naini odbrane

Najei vidovi napada na raunarske mree Internet/Intranet tipa su:

Prislukivanje neovlaeno pristupanje podacima u otvorenom obliku i lozinkama, Lano predstavljanje neautorizovani pristup podacima ili kreiranje neautorizovanih podataka, Napad tipa ukidanja servisa (denial-of-service) onemoguavanje funkcionisanja mrenih servisa i resursa, Ponavljanje poslatih poruka neovlaena kontrola komunikacije subjekata i ponavljanje, izmena ili spreavanje prenosa podataka, Pogaanje lozinke neovlaeni pristup podacima uz pomo otkrivene lozinke, Kriptoanaliza otkrivanje tajnih kljueva otkrivanje podataka u otvorenom obliku na bazi ifrata i otkrivenog tajnog kljua, Napadi tipa Trojanskog konja distribucija zlonamernih programa na radne stanice, Virusi unitenje podataka.

Iako pomenuti napadi nisu specifini samo za TCP/IP raunarske mree oni su tu najvie ispoljeni jer se daleko najvei broj raunarskih mrea u svetu bazira na Internet tehnologijama.

Mogui naini odbrane od navedenih napada su sledei:

ifrovanje zatita tajnosti podataka i lozinki, Primena tehnologije digitalnog potpisa provera autentinosti, zatita integriteta podataka i obezbeenje neporecivosti za sadraj poslate poruke, Procedura jake autentikacije bezbedna meusobna autentikacija strana u komunikaciji, Korienje jakih kljueva i esta izmena kljueva spreavanje metoda kriptoanalize, Zatita adresa servera zatita od napada tipa ukidanje servisa, Korienje digitalnih certifikata kao jednoznanih identifikacionih parametara subjekata u komunikaciji, Korienje smart kartica za generisanje digitalnog potpisa i bezbedno uvanje kljueva i drugih kriptografskih parametara, Vienivoska antivirusna zatita.

U cilju odbrane od navedenih potencijalnih napada na mreu, najsvrsishodnije je primeniti kombinovane metode zatite koje se sastoje od veine gore navedenih metoda.

2.4 Primeri napada na savremene raunarske mree

Internet je uveo revoluciju u nain na koji kompanije posluju s obzirom da je to izuzetno efikasan, jeftin i fleksibilan protokol.

Meutim, postojee metode koje se koriste za rutiranje paketa u mrei ine ih ranjivim u odnosu na veliki opseg bezbednosnih rizika, kao to su: spoofing, sniffing i session hijacking. Takoe, TCP/IP protokol ne obezbeuje nikakvu formu neporecivosti za ugovorne i finansijske transakcije.

Pored toga to moraju da obezbede interno okruenje, organizacije moraju da obezbede i komunikaciju izmeu udaljenih kancelarija, poslovnih partnera, korisnika i zaposlenih koji putuju ili rade sa udaljenog mesta. Prenoenje poruka putem Interneta ili Intraneta do tih razliitih entiteta predstavlja jedan oigledan rizik, imajui u vidu nedostatak zatite u postojeoj Internet mrei. Kontrola i upravljanje bezbednou i pristupom pomenutih entiteta u poslovnom okruenju kompanije je od izuzetnog znaaja.

Bez primene bezbednosnih mehanizama, i javne i privatne mree su ranjive na neovlaeno nadgledanje i pristup. Interni napadi mogu biti rezultat minimalne ili nepostojee Intranet bezbednosti. Rizici koji dolaze spolja u jednoj privatnoj mrei potiu od konekcija na Internet i ekstranet. Kontrola pristupa korisnika samo na bazi password-a ne moe da zatiti podatke koji se prenose kroz mreu.

Bez primene kontrola i mera bezbednosti, vai podaci i sistemi mogu biti predmet napada. Neki napadi su pasivni u kojima se informacije samo mpnitoriu. Drugi napadi su aktivni i informacije se menjaju sa ciljem menjanja ili unitenja samih podataka ili same mree putem koje se vri prenos podataka. Vae mree i podaci su ranjivi na bilo koji od tipova napada koji su navedeni u nastavku ukoliko niste primenili odgovarajue bezbednosne mere.

U nastavku, daemo osnovne informacije i listu uobiajenih mrenih napada koje se primenjuju na fiksne i mobilne TCP/IP raunarske mree. Jedan dobar pregled ovih ranjivosti se moe nai na Microsoft resursima (www.microsoft.com). Kraa identiteta - phishing Prislukivanje Modifikacija podataka Spoofing identiteta (IP address spoofing) Napadi na lozinke Denial-of-service (DoS) napad Man-in-the-middle napad Napad kompromitacije kljua Sniffer napad Napad na aplikativnom nivou2.4.1 Kraa identiteta - phishing

To je jedan od danas najpopularnijih napada. U najkraem, napad se ogleda u pretvaranju da se radi o validno web sajtu odreene organizacije, kao i da se radi o validnoj aktivnosti (resetovanje, neke administrativne aktivnosti, itd.) u vezi korisnikih tajnih parametara pristupa sistemu (credentials). U tom smislu, napada trai od korisnika da dostavi napadau svoje tajne parametre (brojeve kartica ili bilo ta drugo). Drugim reima, phishing predstavlja simuliranje pravog bankarskog web sajta ili email adrese u cilju jednostavnog sakupljanja tajnih parametara krajnjih korisnika koji se zatim koriste za eventualnu krau novca sa realnog web sajta.

Phishing predstavlja jednu novu vrstu Internet napada koji pre svega cilja korisnike bankarskih servisa. Phishing je jedan od prvih bezbednosnih napada koji omoguuje jednostavnu masovnu zloupotrebu, koja privlai organizovan kriminal.

2.4.2 Prislukivanje

U optem sluaju, veliki deo mrenih komunikacija se realizuje u otvorenom obliku (neifrovano), to omoguuje napadau koji je pristupio putevima podataka u mrei da monitorie i ita saobraaj. Kada napada prislukuje komunikaciju, to se naziva sniffing ili snooping. Mogunost da prislukiva monitorie mreu je generalno najvei bezbednosni problem sa kojim se admnistratori susreu u jednoj organizaciji. Ukoliko se ne primene jaki kriptografski mehanizmi ifrovanja, podaci mogu biti itani od strane neovlaenih lica tokom prolaska kroz mreu.

2.4.3 Modifikacija podataka

Nakon to napada doe u poziciju da moe da ita podatke koji prolaze kroz raunarsku mreu orgnaizacije, naredni logiki korak je esto da ih modifikuje. esto, napada moe menjati podatke u paketima na nain da niti primalac niti poiljalac mogu to primetiti.2.4.4 Identity spoofing (IP address spoofing)

Veina mrea i operativnih sistema koristi IP adrese u cilju identifikacije validnog raunara na mrei. U nekim sluajevima, mogue je da se zloupotrebi IP adresa od strane zlonamernog korisnika (napadaa). Taj napad je poznat kao identity spoofing. Napada moe koristiti specijalne programme da konstruie IP pakete koji se pojavljuju na mrei kao da potiu sa validnih adresa u okviru Intranet-a (internet mree) date organizacije. Nakon dobijanja pristupa mrei sa validnom IP adresom, napada moe modifikovati, rerutirati ili brisati podatke.

Napada takoe moe sprovoditi i druge tipove napada, kao to je opisano u narednim sekcijama.

2.4.5 Napadi na lozinkeUobiajena stvar u veini operativnih sistema i mrenih bezbednosnih planova je korienje sistema kontrole pristupa na bazi lozinki. Naime, najee je pristup kako samom raunaru tako i mrenim resursima odreen korisnikim imenom (user name) i lozinkom (password).

Ranije verzije komponenata operativnih sistema nisu uvek titile informacije o identitetu korisnika tokom njihovog puta kroz mreu u cilju validacije. To je moglo da omogui prislukivau da dobije validno korisniko ime i lozinku i da ih iskoristi da dobije pristup mrei kao validan koristnik.

Kada napada nae i pristupi validnom korisnikom nalogu, on e imati ista prava kao i aktielni korisnik. Na primer, ukoliko korisnik ima administratorska prava, napada moe kreirati dodatne naloge za kasniji pristup.

Nakon to dobije pristup mrei sa validnim nalogom, napada moe realizovati bilo koju od sledeih aktivnosti: Da dobije liste validnih korisnika i imena raunara, kao i mrenih informacija,

Da modifikuje konfiguracije servera i same raunarske mree, ukljuujui i kontrolu pristupa i ruting tabele,

Da modifikuje, rerutira ili obrie podatke.

2.4.6 Denial-of-service napad

Za razliku od napada na lozinke, Denial-of-Service (DoS) napad spreava normalno korienje raunara ili raunarske mree od strane validnih korisnika.

Nakon to dobije pristup mrei, napada moe realizovati bilo koju od aktivnosti:

Da prevari zaposlene informacionog sistema tako da oni nisu u mogunosti da odmah detektuju napad. Na taj nain, napada ima mogunost da kreira dodatne napade,

Da alje nevalidne podatke aplikacijama ili mrenim servisima, prouzokujui na taj nain da se prekine rad aplikacija ili servisa ili da ne rade na uobiajen nain,

Da alje veliku gomilu saobraaja sve dok se raunar ili itava mrea ne ugase, Da blokira saobraaj to rezultuje u nemogunosti pristupa mrenim resursima od strane autorizovani korisnika.

2.4.7 Man-in-the-middle napad

Kao to i sam ime kae, man-in-the-middle napad se ostvaruje kada neko neovlaeno, postavljen izmeu dva validna korisnika koji komuniciraju, vri aktivno monitorisanje, prihvatanje i kontrolu komunikacije i to bez znanja ovlaenih korinsika.

Na primer, napada moe da dogovori/uspostavi kljueve za ifrovanje sa oba ovlaena korisnika. Svaki korisnik tada alje ifrovane podatke napadau koji moe da deifruje podatke.

Kada raunari komuniciraju na niskim nivoima mrenog sloja, raunari mogu ne biti u mogunosti da odrede sa kojim raunarima u mrei oni u stvari razmenjuju podatke.

2.4.8 Napad kompromitacije kljua

Klju predstavlja tajni kod ili broj koji se zahteva za ifrovanje, deifrovanje ili validaciju zatienih informacija. Iako odreivanje/rekonstrukcija kljua predstavlja jedan teak i raunarski intenzivan process za napadaa, to je mogue realizovati. Kada napada doe do kljua, taj klju se posmatra kao kompromitovan klju. Napada koristi kompromitovan klju da dobije pristup zatienoj komunikaciji pri emu niti poiljalac niti primalac nisu svesni da su predmet napada.

Uz korienje kompromitovanog kljua, napada moe deifrovati ili modifikovati podatke. Napada takoe moe pokuati da koristi kompromitovan klju da izrauna dodatne kljueve koji mogu omoguiti pristup drugim zatienim komunikacijama.

2.4.9 Sniffer napad

Sniffer je aplikacija ili ureaj koji moe da ita, monitorie i preuzima podatke i pakete koji se razmenjuju u mrei. Ukoliko paketi paketi podataka nisu ifrovani, sniffer program moe imati poptpun uvid u podatke koji su unutar paketa.

Korienjem sniffer programa, napada moe realizovati sledee operacije:

Analizirati mreu i informacije o pristupu, eventualno prouzrokujui da mrea prestane da odgovara ili postane neispravna,

Pristupiti i itati privatnu komunikaciju.

2.4.10 Napad na aplikativnom nivou

Napad na aplikativnom nivu cilja aplikatvine servere prouzrokujui greku u operativnom sistemu servera ili aplikacijama. To moe rezultovati da napada dobije mogunost da preskoi normalne kontrole pristupa. Napada koristi prednosti takve situacije, zadobijna kontrolu nad aplikacijom, sistemom ili mreom i moe sprovesti neku od sledeih operacija: Da ita, dodaje, brie ili modifikuje podatke ili operativni sistem,

Da ubaci virus koji e koristiti raunare i softverske aplikacije da kopira viruse kroz celu raunarsku mreu,

Da uvede sniffer program u cilju analize mree i da dobije informacije koje e eventualno moi da se koriste da se prouzrokuje da mrea prestane da odgovara ili postane neispravna,

Da se na neuobiajen nain prekine rad aplikacija ili operativnih sistema,

Da se deaktiviraju druge bezbednosne kontrole da bi se omoguili budui napadi.

U prilogu A su date dodatne informacije o potencijalnim napadima na raunarske mree i moguim nainima odbrane, kao i detaljne informacije o pitanju antivirusne zatite.2.5 Tehnologije zatite savremenih raunarskih mrea

U cilju zatite informacionih sistema i savremenih raunarskih mrea od gore navedenih napada, neophodno je uspostaviti sistem bezbednosti u organizaciji u kome e se primenjivati sledee tehnologije zatite:

Tehnologija digitalnog potpisa bazirana na asimetrinim ifarskim sistemima,

Zatita tajnosti podataka primenom simetrinih ifarskih sistema,

Infrastruktura sistema sa javnim kljuevima (PKI Public Key Infrastructure). 3. PRIMENA KRIPTOGRAFSKIH METODA ZATITE U INFORMACIONOM SISTEMU

Kriptografski algoritmi koji se primenjuju u sistemima zatite Internet/Intranet raunarskih mrea dele se u dve velike grupe:

Simetrini kriptografski algoritmi,

Asimetrini kriptografski algoritmi.

Podela je izvedena na osnovu posedovanja informacija neophodnih za ifrovanje i deifrovanje.

3.1 Simetrini kriptografski algoritmi

Grupu simetrinih kriptografskih algoritama predstavljaju algoritmi kod kojih je klju za ifrovanje identian kljuu za deifrovanje, Slika 3.1. Algoritmi iz ove grupe se takoe nazivaju i algoritmi sa tajnim kljuem jer je tajnost kljua koji se koristi i za ifrovanje i za deifrovanje esencijalna za bezbednost poruka u sistemu.

Ovi sistemi predstavljaju osnovu tradicionalne kriptoloke teorije i razvijaju se ve veoma dugi niz godina. S obzirom da zatita informacija teinu primenu ima u poslovima vezanim za dravne strukture (vojska, policija i diplomatija), ovi sistemi su bili iskljuivo tajni sistemi, namenski definisani i realizovani od strane nadlenih dravnih institucija.

Slika 3.1: Simetrini kriptografski sistemi

Sa porastom intenziteta i primene elektronskih oblika komunikacija javila se potreba za definisanjem javnih simetrinih kriptografskih algoritama pa je u poslednjih desetak godina definisano vie javnih simetrinih kriptografskih algoritama za primenu u aplikacijama u kojima za to postoji potreba.

Ovi algoritmi se uglavnom koriste u aplikacijama vezanim za sisteme poslovnih i finansijskih komunikacija. Imajui u vidu eksplozivni razvoj poslovnih i finansijskih sistema u poslednje vreme, javni simetrini kriptografski algoritmi su postali dominantni u pogledu korienja.

Meutim, nijedan od njih nije usvojen kao generalni standard ve pomenuti sistemi uglavnom koriste odgovarajue liste moguih kriptografskih algoritama. Na taj nain, kao parametar komunikacije, bira se i identifikator simetrinog ifarskog algoritma koji e se koristiti pri datoj transakciji.

Iako je po masovnosti komercijalna upotreba simetrinih kriptografskih algoritama daleko prevazila upotrebu u tajnom sektoru (vezanom za dravne strukture), glavni teorijski rezultati se i dalje deavaju u oblasti tajne kriptologije i tajnih sistema. Velika veina drava ima specijalizovane organizacije koje se bave dizajniranjem i analizom raznih vrsta ifarskih sistema (npr. NSA u SAD). Stepeni dostignua u toj oblasti najee nisu javno poznati i nalaze se u sferi pretpostavki.

Postoje dve osnovne vrste simetrinih ifarskih sistema:

blok ifarski sistemi, sekvencijalni ifarski sistemi (stream cipher).

3.1.1 Blok ifarski sistemi

Blok ifarski sistemi procesiraju blokove neifrovanog signala - otvorenog teksta (OT) i ifrovanog signala ifrata (ST), obino u blokovima ija je veliina 64 bita ili vie. Sekvencijalni ifarski sistemi procesiraju nizove bita, bajtova ili rei (16 ili 32 bita) OT i ST.

Ako se u toku procesa ifrovanja jedne poruke nekim blok ifarskim sistemom vie puta pojavljuje isti blok otvorenog teksta (OT) rezultat e biti uvek isti blok ifrata (ST), to nije sluaj kod sekvencijalnih ifarskih sistema.

Kod sekvencijalnih ifarskih sistema verovatnoa da isti niz bita, bajtova ili rei OT pri svakom pojavljivanju u jednoj poruci proizvodi isti ifrat tei nuli ukoliko su niz za ifrovanje i otvoreni tekst nezavisni. Blok ifarski sistemi se veoma mnogo koriste u sistemima poslovnih i finansijskih transakcija, ali su njihove bezbednosne osobine dosta slabije od sekvencijalnih ifarskih sistema.

I pored toga definisan je veliki broj javnih algoritama baziranih na blok ifarskim sistemima, kao to su DES, 3-DES, RC2, IDEA, i mnogi drugi koji su nali veoma iroku primenu u savremenim informacionim sistemima.

U 2001. godini, NIST organizacija u SAD je usvojila novi standard AES (Advanced Encryption Standard). Kao primer jednog blok ifarskog algoritma, daemo kratak opis AES simetrinog blok kriptografskog algoritma.

3.1.1.1 DES (Data Encryption Standard)

DES je zvanino objavljen 1976. godine. Iako se danas smatra nesigurnim za veinu aplikacija zbog veoma kratkog kljua (56 bita), on predstavlja teoretsku osnovu za sve blok ifarske algoritme. Na osnovu njega su izgraeni i njegovi naslednici koji su danas u upotrebi (AES, 3DES).

DES je simetrini blok ifarski algoritam koji za ulaz uzima string fiksne duine i serijom komplikovanih transformacija ga transformie u ifrovani tekst iste duine. Kod DES-a veliina bloka je 64 bita.

Poto spada u simetrine algoritme, dekripcija se moe izvriti samo uz poznavanje kljua kojim je izvreno enkritpovanje. Klju se sastoji od 64 bita, ali algoritam koristi samo njih 56. Preostalih 8 se koristi samo za provjeru parnosti i zatim se odbacuju.

Struktura algoritma

Sastoji se od 16 identinih faza, koje se nazivaju rundama, slika 3.2. Osim njih postoje i inicijalna i zavrna permutacija, koje su inverzne operacije. Meutim, one nemaju kriptografski znaaj.

Pre poetka glavnih rundi blok se se dijeli na dve 32-bitne polovine koje se procesiraju naizmenino. Ovo ukrtanje se naziva Feistel-ova ema. Feistel-ova struktura osigurava da su enkripcija i dekripcija vrlo slini procesi. Jedina razlika je da se potkljuevi primenjuju u obrnutom redosledu u dekripciji. Ostatak algoritma je identian. Ovo uveliko olakava implementaciju DES-a jer nema potrebe za razdvajanje enkripcionog i dekripcionog algoritma.

U svakoj od 16 rundi jedna polovina bloka prolazi kroz F funkciju koja ifruje tu polovinu pomou odgovarajueg potkljua. Izlaz iz F funkcije se tada kombinuje sa drugom polovinom bloka pomou XOR operacije. Zatim polovine bloka zamene mjesta prije poetka sljedee runde. Nakon zavrne runde polovine ne menjaju mjesta.

Feistel-ova (F) funkcija

Operie sa 32-bitnom polovinom bloka i sastoji se od 4 faze, slika 3.3:

1. Ekspanzija 32-bitna polovina bloka se proiruje do 48 bita koristei ekspanzionu permutaciju, tj. dupliciranjem nekih bita.

2. Miksanje sa kljuem rezultat se kombinuje sa potkljuem koristei XOR operaciju. esnaest 48-bitnih potkljueva (po jedan za svaku rundu) se izvode iz glavnog kljua koritenjem algoritma key schedule.

3. Supstitucija nakon miksanja sa potkljuem blok se dijeli u osam 6-bitnih delova pre procesiranja u S-box-ovima. Svaki od 8 S-box-ova zamenjuje est bita na ulazu sa etiri bita na izlazu pomoe nelinearne transformacije. S-box-ovi predstavljaju jezgro sigurnosti DES-a. Bez njih bi algoritam bio linearan i samim tim bi njegovo razbijanje bilo trivijalno.

4. Permutacija 32 bita izalih iz S-box-ova se rearaniraju pomou fiksne permutacije P-box-a.

Slika 3.2: DES algoritam

Slika 3.3: Feistel-ova funkcija

3.1.1.2 3DES (Triple DES)

Triple DES je blok ifarski algoritam formiran koritenjem DES-a tri puta, slika 3.4.

Kad je otkriveno da 56-bitni klju DES-a nije dovoljan da se algoritam zatiti od brute force napada, 3DES je izabran kao jednostavan nain da se proiri klju bez potrebe prebacivanja na novi algoritam. Koritenje tri koraka je esencijalno u spreavanju meet-in-the-middle napada koji su efektni protiv duple DES enkripcije.

Bitna je injenica da DES nije algebarska grupa. Da jeste, 3DES konstrukcija bi bila ekvivalentna obinom DES-u i ne bi bila sigurnija.

Najjednostavnija varijanta 3DES-a ima sljedeu emu:

DES(k3;DES(k2;DES(k1;M))),

gde je M blok poruke koja se enkriptuje, a k1, k2, i k3 su DES kljuevi. Ova varijanta se popularno naziva EEE poto su sve tri DES operacije enkripcije. Da bi se pojednostavnila interoperabilnost izmeu DES-a i 3DES-a srednji korak se obino zamenjuje dekripcijom (EDE mod):

DES(k3;DES-1(k2;DES(k1;M))).

Na taj nain se jedna DES enkripcija sa kljuem k predstavlja kao 3DES-EDE gdje je k1 = k2 = k3 = k. Izbor dekripcije kao srednjeg koraka ne utie na sigurnost algoritma.

Slika 3.4: 3-DES algoritam

Uopteno, 3DES sa tri razliita kljua ima duinu kljua od 168 bita - tri DES kljua po 56 bita, ali zbog meet-in-the-middle napada efektivna duina je samo 112 bita.

3DES lagano izlazi iz upotrebe i uveliko se zamijenjuje sa AES-om. Izuzetak je industriji elektronskog plaanja gdje se i dalje proizvode novi 3DES standardi. Ovo garantuje da e 3DES ostati aktivan kriptografski standard jo dugo vremena.

Zbog samog dizajna DES, a samim tim i 3DES, su softverski spori. Na modernim procesorima AES je oko 6 puta bri. 3DES daje neto bolje performanse u hardverskim implementacijama, ali i tu AES daje bolje rezultate. Konano, AES nudi veu sigurnost: vei blok i potencijalno dui klju.

3.1.1.3 IDEA

Ovo je simetrini blok ifarski algoritam.

injenice:

enkriptuje blok veliine 64 bita;

koristi klju duine 128 bita;

52 potkljua duine 16 bita;

koristi jedan par potkljueva po rundi;

koristi 8 unakrsnih runda (iteracije) kod enkriptovanja;

dekripcija se vri inverznom enkripcijom.

Prednosti:

do sada je izdrao 'napade' akademske zajednice

IDEA koristi 52 potkljua duine 16 bitova i ima 8 rundi enkripcija poruke. Po dva potkljua se koriste u svakoj rundi (16), zatim etiri potkljua se koriste pre svake runde (32), a poslednja etiri potkljua koriste se nakon zadnje runde (4) = 16+32+4=52.

Potkljuevi se dobijaju tako to se 128 bitni klju razdeli u prvih 8 potkljueva (K1-K8) veliine 16 bita. Zatim se sledeih 8 potkljueva dobije tako to se 25 puta napravi kruni pomeraj ulevo svakog od prethodno napravljenih potkljueva. Postupak se ponavlja dok se ne kreiraju svi potkljuevi.

Iako je generisanje kljueva pravilno, to bi ukazalo na slabost algoritma, do sada je ovaj algoritam izdrao sva nastojanja akademskih ustanova na njegovom razbijanju.

3.1.1.4 AES algoritam

Kao to je ve reeno, u toku 2001. godine, NIST (National Institute of Standards and Technology) organizacija u SAD je objavila standard za simetrine kriptografske algoritme AES (Advanced Encryption Standard) koji je trebalo da zameni prethodni standard DES (Data Encryption Standard).

Nakon duge selekcione procedure, za AES algoritam izabran je Rijndael algoritam koga su realizovali Belgijski istraivai: Joan Daemen i Vincent Rijmen. Rijndael predstavlja blok ifarski algoritam koji podrava promenljivu duinu bloka informacije (128, 192 i 256 bita) kao i promenljivu duinu kljua (128, 192 i 256 bita).

Naime, poruke ifrovane DES algoritmom su se, zbog nedostataka u samom algoritmu (bezbedonosni nedostaci u supstitucionim s-tabelama), male duine kljua (56-bita) i poveane procesne moi raunara, mogle deifrovati za samo par asova. Nakon selekcione procedure, za realizaciju AES standarda izabran je Rijndael algoritam koga su realizovali belgijski mateatiari: Joan Daemen i Vincent Rijmen.

Rijndael je blok ifarski algoritam koji podrava promenljivu duinu bloka otvorenog teksta (128, 192 i 256 bita) kao i promenljivu duinu kljua (128, 192 i 256 bita). Rijndael algoritam je u odnosu na konkuretske algoritme (MARS, RC6, Serpent, Twofish) bio bri i zahtevao je manje operativne memorije u procesu ifrovanja i deifrovanja poruka. Rijndael algoritam sa 128-bitnom duinom kljua je bri za oko 2.5 puta u odnosu na 3-DES algoritam.

AES algoritam realizuje operacije ifrovanja i deifrovanja bloka podataka u promenljivom broju ciklusa. Broj ciklusa zavisi od veliine kljua i iznosi 10/12/14 za veliinu kljua 128/192/256 bita, respektivno. Pre poetka ifrovanja ili deifrovanja vri se ekspanzija kljua.

Realizacija ifrovanja u AES algoritmu

U realizaciji ifarske transformacije bloka podataka otvorenog teksta se izvravaju etiri razliita tipa funkcija koje se primenjuju nad elementima matrice meurezultata dimenzija 4(4 bajta: nelinearna zamena bajtova pomou supstitucione tabele (funkcija ByteSub),

promena mesta bajtova unutar istog reda (funkcija ShiftRow),

transformacija bajtova unutar iste kolone (funkcija MixColumns),

sabiranje po modulu dva sa odgovarajuem delom kljua (funkcija AddRoundKey).

U poslednjem ciklusu ifrovanja se ne obavlja transformacija bajtova unutar iste kolone (funkcija MixColumns).

U Rijndael algoritmu sve operacije sabiranja i mnoenja se vre nad elementima konanog polja (pored konanih polja od r-elemenata (r-prost broj) postoje i konana polja od q=rm elemenata, gde je m prirodan broj; navedena konana polja se nazivaju i polja Galoa (Galois Field) u oznaci GF(rm), u ast francuskog matematiara Galoa (E. Galois)) od 256 elemenata (u oznaci GF(28) ):

pri sabiranju bajtova primenjuju se bitska operacija sabiranja po modulu dva,

rezultat mnoenja dve vrednosti je proizvod po modulu vrednosti nerazloivog polinoma (polinom r(x) n-tog stepena je nesvodljiv ako nije deljiv ni sa jednim polinomom stepena m gde je 0 < m < n).

c(x)=a(x)*b(x) mod m(x) (3.1.1.1) gde je vrednost nerazloivog polinoma: m(x)=x8+x4+x3+x+1 (3.1.1.2) Svaki elemenat konanog polja, a(x), ima jednoznanu inverznu vrednost, ainv(x), koja zadovoljava uslov: a(x)*ainv(x) mod m(x)=1 (3.1.1.3) Da bi se ubrzao proces mnoenja u skupu od 256 elemenata konanog polja formiraju se logaritamska i antilogaritamska tabela. Vrednost svakog elementa konanog polja p moe da se predstavi u obliku stepena prostog broja. U Rijndael algoritmu za kreiranje logaritamske i antilogaritamske tabele koristi se prost broj {03}. U logaritamskoj tabeli za svaki elemenat konanog polja x postoji odgovarajua vrednost L koja zadovoljava uslov {x}={03}L. U antilogaritamskoj tabeli za svaki elemenat konanog polja x postoji odgovarajua vrednost E koja zadovoljava uslov {E}={03}x. U procesu mnoenja dva elementa konanog polja a i b, pomou logaritamske tabele se odrede koeficijenti ( i ( takvi da je a={03}( i b= {03}(. Mnoenjem vrednosti a i b dobija se vrednost a(b= {03}(+(. Traeni proizvod se dobija kada se iz antilogaritamske tabele iz ulaza x=( + ( odredi vrednost E = a(b.

Logaritamska i antilogaritamska tabela se takoe mogu koristiti za pronalaenje inverznog elementa. Naime, iz logaritamske tabele se za dati elemenat a, odredi vrednost (, takva da zadovoljava uslov a= {03}(. Inverzna vrednost E=a-1, date veliine, se dobija kada se iz antilogaritamske tabele iz ulaza x=255-( , proita vrednost E.

U procesu ifrovanja se realizuju sledee funkcije:1. Funkcija ByteSub vri nelinearnu transformaciju bajta ulazne poruke pomou supstitucione s-tabele (tkz. S-box tabele). Pri kreiranju supstitucione s-tabele, vrednost ulaza x (x=0255) se dobija u dva koraka: odreivanje inverzne vrednosti ulazne veliine pomou logaritamske i antilogaritamske tabele, prema prethodno opisanom mehanizmu.

vrednost datog ulaza supstitucione s-tabele se dobija odreivanjem vrednosti svakog bita i unutar bajta (0 ( i ( 8):

, (3.1.1.4) gde je: c={63h}, Navedeni postupak se moe prikazati i u matrinom obliku:

(3.1.1.5)

Nakon kreiranja s-tabele vri se nelinearna transformacija ulazne poruke, Slika 3.5, koja je upisana u matrici dimenzija 4(4 bajta, tako to se svaki bajt ulazne poruke zameni sa vrednou iz odgovarajueg ulaza iz s-tabele.

a0, 0a0, 1a0, 2a0, 3b0, 0b0, 1b0, 2b0, 3

a1, 0a1, 1a1, 3B1, 0b1, 1b1, 3

a2, 0a2, 1a2, 2a2, 3B2, 0b2, 1b2, 2b2, 3

a3, 0a3, 1a3, 2a3, 3B3, 0b3, 1b3, 2b3, 3

Slika 3.5: Grafiki prikaz nelinearne transformacije poruke pomou s-tabele2. Funkcija ShiftRows obavlja operaciju nad elementima u redovima matrice podataka dobijene nakon nelinearne transformacije pomou s-tabele. Pravilo po kome se vri promena mesta bajta unutar istog reda matrice je prikazano sledeim izrazom: dr,c = br,[c+h (r,Nc)] mod Nc (3.1.1.6)

gde je za AES usvojena varijanta Rijndael algoritma : Nc=4, 0 ( r ( 4 i h(r,Nc )=h(r). Rotacija bajtova unutar istog reda matrice meurezultata je prikazana na Slici 3.6.

Slika 3.6: Grafiki prikaz promene mesta bajtova u redu matrice meurezultata

3. Funkcija MixColumns vri transformaciju elemenata kolone matrice meurezultata nakon realizacije funkcije ShiftRows. Elementi kolone matrice se posmatraju kao koeficijenti polinoma, pri emu svaki koeficijent predstavlja elemenat konanog polja GF(28). Zatim se, tako dobijeni polinomi, mnoe sa konstantnim polinomom n(x)='03'x3 + '01'x2 + '01'x + '02' po modulu x4 +1. Navedeno modularno mnoenje se moe prikazati i u matrinom obliku:

(3.1.1.7)

gde je: 0(c(4.

Nain na koji se vri transformacija kolona matrice je prikazana na Slici 3.7.

d0, 0D0, 1a0, 2d0, 3e0, 0e0, 1b0, 2e0, 3

d1, 0D1, 1d1, 3e1, 0e1, 1e1, 3

d2, 0D2, 1a2, 2d2, 3e2, 0e2, 1b2, 2e2, 3

d3, 0d3, 1a3, 2d3, 3e3, 0e3, 1b3, 2e3, 3

Slika 3.7: Grafiki prikaz promene mesta bajtova u kolonama matrice meurezultata

4. Funkcija AddRoundKey vri operaciju eksluzivne disjunkcije nad elemenata matrice, dobijene nakon izvrenja funkcije MixColumn, i matricom odgovarajueg dela ekspandovanog kljua, Slika 3.8. e0, 0e0, 1e0, 2e0, 3k0, 0k0, 1k0, 2k0, 3r0, 0r0, 1r0, 2r0, 3

e1, 0e1, 1e1, 2e1, 3(k1, 0k1, 1k1, 2k1, 3=r1, 0r1, 1r1, 2r1, 3

e2, 0e2, 1e2, 2e2, 3k2, 0k2, 1k2, 2k2, 3r2, 0r2, 1r2, 2r2, 3

e3, 0e3, 1e3, 2e3, 3k3, 0k3, 1k3, 2k3, 3r3, 0r3, 1r3, 2r3, 3

Slika 3.8: Grafiki prikaz funkcije AddRoundKeyOptimizacija realizacije ifrovanja u AES algoritmu

Tranformacija kolone ulazne matrice kroz jedan ceo ciklus ifrovanja se moe matematiki prikazati sledeim nizom izraza: (funkcija AddRoundKey) (3.1.1.8)

(funkcija MixColumns) (3.1.1.9)

(funkcija ShiftRows) (3.1.1.10)

(funkcija ByteSub) (3.1.1.11)

Sumarno se dobija sledei izraz koji opisuje proces transformacije j-te kolone ulaznog podataka u jednom ciklusu ifrovanja.

(3.1.1.12)

Mnoenje matrica moe se prikazati i sledeim izrazom:

(3.1.1.13) inilac mnoenja s[] se dobija odreivanjem vrednosti ulaza supstitucione s-tabele. Da bi se ubrzao proces mnoenja mogu se kreirati 4 tabele:

(3.1.1.14)

Svaka od etiri tabele sadri 256 etvorobajtnih rei, tako da je ukupan memorijski prostor potreban za njihovo skladitenje 4KB. Primenom datih tabela, transformacija j-te kolone ulaznog podatka u jednom ciklusu ifrovanja se moe predstaviti izrazom:

(3.1.1.15) Definiimo funkciju RowByte(W) koja vri rotaciju svakog bajta ulazne rei za jedno mesto udesno W=b3b2b1b0 (bi , i-ti bajt rei), tako da je izlazna re oblika W=b2b1b0b3.

Veza izmeu tabela i se moe prikazati sledeom relacijom:

(3.1.1.16) Transformacija j-te kolone matrice ulaznog podatka u jednom ciklusu ifrovanja se moe predstaviti sledeim izrazom:

(3.1.1.17)

Primenom ove formule umesto etiri tabele sa ukupno 1024 etvorobajtnih rei (4KB) potrebno je kreirati jednu tabelu od 256 rei (1KB), ali ciklus ifrovanja traje neznatno due, za tri dodatne operacije rotacije bajta unutar rei (funkcija RotByte).

Realizacija deifrovanja u AES algoritmu

Proces deifrovanja poruke je slian procesu ifrovanja. U procesu deifrovanja se primenjuju etiri razliita tipa funkcija nad elementima matrice meurezultata dimenzija 4(4 bajta: nelinearna zamena bajtova pomou inverzne supstitucione tabele (funkcija InvByteSub),

promena mesta bajtova unutar istog reda (funkcija InvShiftRow),

transformacija bajtova unutar iste kolone (funkcija InvMixColumns),

sabiranje po modulu dva sa odgovarajuim delom kljua (funkcija AddRoundKey).

U poslednjem ciklusu deifrovanja se ne obavlja transformacija bajtova unutar iste kolone (funkcija InvMixColumns).

U procesu deifrovanja se realizuju sledee funkcije:

1. Nelinearna transformacija ulazne matrice dimenzija 4(4 bajta se vri pomou inverzne supstitucione s-tabele. U procesu kreiranja inverzne supstitucione s-tabele vrednost za svaki od ulaza x (x=0..255) se odreuje u dva koraka:

transformacija vrednosti ulaznog bajta x se realizuje odreivanjem vrednosti svakog bita i unutar bajta (0 ( i ( 8):

(3.1.1.18)

gde je: d={05h},

vrednost ulaza x u inverznoj supstitucionoj tabeli se dobija kao rezultat inverzne transformacije prethodno dobijene vrednosti b=.

2. Funkcija InvShiftRows obavlja operacije nad elementima u redovima matrice meurezultata, dobijenom nakon prethodno opisane transformacije. Pravilo po kome se vri promena mestu bajta unutar istog reda matrice se moe prikazati sledeim izrazom: d r, [c+h (r,Nc)] mod Nc br,c (3.1.1.19)gde je za AES usvojena varijanta Rijndael algoritma : Nc=4, 0 ( r ( 4 i h(r,Nc )=h(r). Rotacija bajtova unutar istog reda matrice meurezultata je prikazana na Slici 3.9. 3. Funkcija InvMixColumns vri transformaciju elemenata kolone matrice dobijene nakon izvrenja funkcije InvShiftRows. Elementi kolone matrice se posmatraju kao koeficijenti polinoma, pri emu svaki koeficijent predstavlja elemenat konanog polja GF(28). Zatim se, tako dobijeni polinomi, mnoe sa konstantnim polinomom p(x)='0B'x3 + '0D'x2 + '09'x + '0E' po modulu x4 +1. Navedeno modularno mnoenje se moe prikazati u matrinom obliku:

(3.1.1.20)

gde je: 0(c(4.

Slika 3.9: Grafiki prikaz promene mesta bajtova u redu matrice meurezultata

4. Funkcija AddRoundKey vri sabiranje po modulu dva elementa matrice, dobijena nakon izvrenja funkcije InvMixColumns, sa odgovarajuim delom kljua za deifrovanje:

(3.1.1.21)

3.1.2 Kriptografski modovi blok ifarskih algoritama

Kriptografski mod predstavlja nain upotrebe bazinog ifarskog algoritma i najee je kombinacija neke vrste povratne petlje i odreenih jednostavnih operacija. Operacije koje se primenjuju nad algoritmom su uglavnom jednostavne jer je bezbednost odreena bazinim ifarskim algoritmom a ne kriptografskim modom.

Blok ifarski sistemi se primenjuju u razliitim kriptografskim modovima, kao to su:

ECB (Electronic CodeBook mode),

CBC (Cipher Block Chaining),

CFB (Cipher FeedBack) i

OFB (Output FeedBack).

3.1.2.1 Mod elektronske kodne knjige (ECB Electronic CodeBook).

ECB mod predstavlja najprirodniji i najlaki nain primene blok ifarskih sistema - blok OT se ifruje u blok ST, Slika 3.10. Svaki OT blok se ifruje nezavisno. Sa kriptoloke strane, ECB mod je najproblematiniji. Naime, ako kriptoanalitiar poseduje parove OT i ST za nekoliko poruka, mogue je da tokom konverzacije dve strane formira pravu kodnu knjigu, skup odgovarajuih parova ST i OT, i bez poznavanja kljua. U veini realnih situacija: fragmenti poruka tee ponavljanju, razliite poruke imaju zajednike delove, odreeni raunarski generisane poruke (kao e-mail) imaju regularnu strukturu, poruke mogu biti veoma redundantne i imati veoma duge nizove nula i pauze. Ovi problemi su najistaknutiji na poetku i na kraju poruke, gde se u dobro definisanim zaglavljima i futnotama mogu nalaziti informacije o poiljaocu, primaocu, datumu, itd. Formiranje reprezentativne kodne knjige ne samo da omoguava treoj strani pristup informacijama ve joj dodatno omoguava da moe modifikovati i ponavljati ifrovane poruke (tzv. block replay problem) bez poznavanja kljua i algoritma, u sluaju da ima mogunost presretanja ifrovanih poruka izmeu dve strane. Ovi problemi su inicirali uspostavljanje zavisnosti izmeu susednih blokova ifrata kroz definisanje novih kriptografskih modova blok ifarskih sistema.Slika 3.10: Grafiki prikaz rada u ECB modu3.1.2.2 Mod ulanavanja blokova (CBC Cipher Block Chaining)

Mehanizam ulanavanja povezuje blokove ifrata tako to se rezultat ifrovanja prethodnih blokova koristi pri ifrovanju tekueg bloka. Drugim reima, svaki blok se koristi za modifikaciju ifrovanja sledeeg bloka tako da svaki blok ST zavisi ne samo od tekueg bloka OT ve i od svih prethodnih blokova OT. Naini na koje se to moe ostvariti su raznovrsni.

Slika 3.11: Grafiki prikaz rada u CBC modu

U CBC modu, Slika 3.11, taj uticaj se realizuje tako to se izvrava operacija ekskluzivno ili (XOR) izmeu OT i neposredno prethodnog bloka ST, a zatim se tako dobijeni blok podataka ifruje. Preciznije:

1. U povratni registar se smesti inicijalna vrednost.

2. Blok otvorenog teksta i sadraj povratnog registra se spregnu operacijom ekskluzivne disjunkcije i tako dobijeni blok se transformie ifarskom transformacijom E ime se formira blok ifrata C.3. U povratni registar se smesti C i proces se ponavlja od koraka 2 sve dok ima blokova za ifrovanje.

Na taj nain, rezultat ifrovanja svakog bloka zavisi od svih prethodnih blokova.Proces deifrovanja sledi direktno i odvija se na sledei nain:

1. U povratni registar se smesti inicijalna vrednost.

2. Blok ifrata C deifruje se primenom transformacije , tako dobijeni blok teksta i sadraj povratnog registra se spregnu operacijom ekskluzivne disjunkcije i tako se dobije blok otvorenog teksta.

3. U povratni registar se smesti C i proces se ponavlja od koraka 2 sve dok ima blokova za deifrovanje.

Matematiki, proces ifrovanja i deifrovanja moe se prikazati na sledei nain, relacijama (3.1.1.22) i (3.1.1.23), respektivno: (3.1.1.22)

(3.1.1.23)

CBC mod prouzrokuje da se identini blokovi OT ifruju u razliite ST blokove samo ako su neki prethodni blokovi razliiti. Dve kompletno identine poruke e se ipak ifrovati u iste ST.Ovaj problem se moe reiti tako to se za prvi blok podataka uzima neka sluajna veliina. Ovaj blok sluajnih podataka se naziva inicijalizacioni vektor (IV). Kada primalac deifruje ovaj blok, on prosto smeta IV u povratni registar. Tekue vreme sistema (timestamp) esto predstavlja dobro reenje za IV. Primenom IV, identine poruke se ifruju u razliite ST. Primenom IV, eliminisana je mogunost primene block replay metode. tavie, IV ne mora da bude tajni podatak i moe se preneti otvoreno, zajedno sa ST, uz upotrebu nekog od mehanizama zatite integriteta.

Meutim, moda ne tako oigledno kao u ECB modu, i u CBC modu postoje odreeni bezbednosni problemi koji se mogu manifestovati kao odreena mogunost da kriptoanalitiar dodaje odreene blokove na krajeve poruka koje se razmenjuju i u injenici da veoma duge poruke i dalje nisu imune na pojavljivanje odreenih identinih oblika iako se vri proces ulanavanja. 3.1.2.3 Mod povratnog ifrovanja (CFB - Cipher-Feedback Mode)

U nekim aplikacijama se javlja potreba da se delovi otvorenog teksta ifruju i prenose u u jedinicama veliine r bita (r < n veliina bloka), to u CBC modu nije mogue. Ovim modom se prevazilazi osnovni problem CBC moda - da ifrovanje i prenos podataka ne mogu poeti sve dok se ne primi kompletan blok podataka. U CFB modu, podaci se ifruju u manjim jedinicama od aktuelne veliine bloka i ovaj mod se oznaava kao r-bitni CFB mod, gde je r manje ili jednako od veliine bloka osnovnog blok ifarskog sistema. Proces ifrovanja se odvija na sledei nain, Slika 3.12:1. Otvoreni tekst se podeli u blokove veliine r bita, formira se inicijalni vektor veliine n bita i smesti u povratni registar. Odabere se K, klju za ifarsku transformaciju.2. Formira se izlazni blok, O, tako to se izvri ifarska transformacija kljuem K tekueg sadraja povratnog registra.

3. Blok ifrata se formira tako to se operacija ekskluzivne disjunkcije izvri nad tekuim blokom otvorenog teksta i r bita najmanje teine bloka O.4. Sadraj povratnog registra se pomera za r bita u levo i na mesto r bita najmanje teine se smeta formirani blok ifrata.

Koraci 2-4 se ponavljaju sve dok ima blokova otvorenog teksta. Deifrovanje se odvija na slian nain.1. Formira se inicijalni vektor veliine n bita i smesti u povratni registar. Odabere se K, klju za ifarsku transformaciju.

2. Formira se izlazni blok, O, tako to se ivri ifarska transformacija kljuem K tekueg sadraja povratnog registra.

3. Blok otvorenog teksta se formira tako to se operacija ekskluzivne disjunkcije izvri nad tekuim blokom ifrata i r bita najmanje teine bloka O.

4. Sadraj povratnog registra se pomera za r bita ulevo i na mesto r bita najmanje teine se smeta tekui blok ifrata.

Inicijalizacioni vektor ima istu ulogu kao i u CBC modu, da sprei pojavljivanje istih ifrata u sluaju istih poruka ifrovanih jednakim kljuevima. Iz opisa naina transformacije jasno je da je za ispravno deifrovanje neophodno da je prethodnih blokova ifrata ispravno deifrovano. S obzirom da se i u procesu ifrovanja i u procesu deifrovanja koristi ista ifarska transformacija, to algoritam kojim se formira blok O ne moe biti iz klase algoritama sa javnim kljuem.

Slika 3.12: Grafiki prikaz rada u CFB modu

3.1.2.4 Izlazni povratni mod (OFB Output Feedback Mode)

Ovaj mod rada predstavlja spoj dobrih osobina ECB i CFB modova rada, spreava propagaciju greke i ima poboljane bezbednosne karakteristike. OFB mod rada takoe omoguava prenos podataka u jedinicama manjim od veliine bloka.Transformacija otvorenog teksta se odvija na sledei nain, slika 3.13:1. Otvoreni tekst se podeli u blokove veliine r bita, formira se inicijalni vektor veliine n bita i smesti u povratni registar. Odabere se K, klju za ifarsku transformaciju.2. Formira se izlazni blok, O, tako to se izvri ifarska transformacija kljuem K tekueg sadraja povratnog registra .

3. Blok ifrata se formira tako to se operacija ekskluzivne disjunkcije izvri nad tekuim blokom otvorenog teksta i r bita najmanje teine bloka O.

4. Blok O postaje sadraj povratnog registra.

Koraci 2-4 se ponavljaju sve dok ima blokova otvorenog teksta. Deifrovanje se odvija na slian nain. Formira se inicijalni vektor veliine n bita i smesti u povratni registar. Odabere se K, klju za ifarsku transformaciju.

Formira se izlazni blok, O, tako to se ivri ifarska transformacija kljuem K tekueg sadraja povratnog registra.

Blok otvorenog teksta se formira tako to se operacija ekskluzivne disjunkcije izvri nad tekuim blokom ifrata i r bita najmanje teine bloka O.

Sadraj povratnog registra zameni se formiranim blokom O.Koraci 2-4 se izvravaju sve dok ima blokova za deifrovanje.

Prethodno izloeni opis je prema standardu ISO 10116. Postoje takoe i druge varijacije na ovu temu (npr. FIPS-81) ali se ova izloena verzija smatra, za sada, najbezbednijom.

Slika 3.13: Grafiki prikaz rada u OFB modu

Pored toga to se radom u ovom modu onemoguava propagacija greke, dobra osobina ovog moda rada je i to to se vei deo izraunavanja moe izvriti off-line, nakon ega se vri samo XOR-ovanje izlaza algoritma i jedinica OT.Detaljna analiza OFB moda rada je pokazala da ovaj mod rada treba koristiti samo u sluaju da je r jednako duini bloka n. Drugim reima, 64-bitne blok ifarske algoritme treba koristiti u 64-bitnom OFB modu.

3.1.2.5 Izbor odgovarajueg moda rada blok ifarskog sistemaJedan od etiri bazina moda rada ECB, CBC, OFB ili CFB pogodan je za skoro svaku aplikaciju. Koji e se mod koristiti zavisi od korisnikovih specifinih zahteva. Ako su jednostavnost i brzina najbitniji, ECB mod je pravi izbor, kao najlaki i najbri mod za korienje blok ifarskih sistema. Meutim, ECB mod je najslabiji sa bezbednosne take gledita i ne preporuuje se za ifrovanje poruka. Sa druge strane, ECB mod je veoma dobar za ifrovanje kratkih sluajnih podataka, kao to su na primer kljuevi, jer se pri tome ne iskazuju prepoznate slabosti ECB moda. Za ifrovanje normalnog OT treba koristiti CBC, CFB ili OFB mod. CBC je generalno najbolji mod za ifrovanje datoteka. Takoe, ako je aplikacija softverski bazirana, CBC je skoro uvek najbolje reenje. Sa druge strane, CFB mod (specijalno 8-bitni CFB mod) je generalno mod koji treba birati za ifrovanje nizova karaktera u kojima se svaki karakter tretira individualno, kao na primer u vezi izmeu terminala i host raunara. OFB mod rada se najee koristi u sinhronim sistemima visokih brzina gde se ne tolerie propagacija greaka.3.1.3 Sekvencijalni ifarski sistemi

Sekvencijalni ifarski sistemi predstavljaju vrlo vanu klasu ifarskih algoritama. Oni transformiu pojedinane karaktere (najee bite i bajtove otvorenog teksta) koristei transformaciju koja pored kljua zavisi na odreeni nain i od vremenskog trenutka u kojem se primenjuje, za razliku od blokovskih ifarskih sistema koji transformiu blokove otvorenog teksta nepromenljivom transformacijom tokom ifrovanja cele poruke.

Kao i obino, u praksi, ova podela nije tako rigidna, postoje transformacije koje se mogu po svojim osobinama svrstati i u jedne i u druge. Tako na primer CFB i OFB modovi blokovskih ifarskih sistema imaju neke karakteristike sekvencijalnih ifarskih sistema. Sa druge strane sekvencijalni ifarski sistemi se mogu smatrati blokovskim kod kojih je duina bloka jedan karakter (bit, bajt ili mainska re (word) duine 16, 24 ili 32 bita).

Generalno govorei sekvencijalni ifarski sistem sastoji se od generatora niza kljua (keystream generator) koji generie niz jedinica kljua k1, k2, , ki, i funkcije f koja se primenjuje na niz jedinica OT: p1, p2, , pi, proizvodei niz jedinica ST: c1, c2, , ci, na bazi sledee relacije:

(3.1.3.1)

Na drugom kraju komunikacije, primenom inverzne funkcije na parove jedinica ifrata i jedinica kljua dobijaju se jedinice poslatog OT. Naime:

(3.1.3.2)

jer je funkcija f tako odabrana da je

(3.1.3.3)

Zbog jednostavnosti obrade za f se najee koristi ekskluzivna disjunkcija (XOR operacija). Bezbednost nizovnog ifarskog sistema primarno je odreena kriptolokim kvalitetom generatora niza kljua.

3.1.3.1 Klasifikacija sekvencijalnih ifarskih sistema

Klasifikacija sekvencijalnih ifarskih sistema se moe vriti po razliitim kriterijumima, po nainu na koji se generie niz kljua, po tipu primenjenog algoritma (sa javnim ili tajnim kljuem), itd. Osnovna je podela po nainu na koji se generie niz kljua. U tom smislu postoje sistemi sa sluajnim i pseudo-sluajnim nizom.

Sistemi sa sluajnim nizom kod ovih sistema niz kljua se generie na sluajan nain, tako to se jedinice kljua generiu nezavisno i sluajno. Ako se prema prethodnim oznakama za funkciju f uzme ekskluzivna disjunkcija, tada se dobija takozvani one time pad sistem za koji se moe teorijski pokazati da je apsolutno siguran, tj. da ifrat ne nosi nikakvu informaciju o otvorenom tekstu.

Sa druge strane taj sistem je i optimalan u smislu da koristi najkrai klju kojim se postie apsolutna sigurnost. Naime, enon je u svojim radovima pokazao da je neophodan uslov za apsolutnu bezbednost da entropija kljua bude vea ili jednaka od entropije poruke. Kako je kod ovog sistema entropija kljua jednaka duini poruke, ija entropija ne moe biti vea od njene duine, to sledi da je ovo zbilja optimalan sistem u navedenom smislu.

Nedostatak ovog sistema je u injenici da oba uesnika komunikacije moraju imati isti niz kljua koji mora biti tajan, to proizvodi, ponekad nepremostive, probleme u upravljanju kljuevima jer treba obezbediti i dostaviti stranama u komunikaciji velike koliine kljueva kako bi mogle nesmetano da komuniciraju.

Sistemi sa pseudosluajnim nizom kod ovih sistema se na osnovu inicijalne vrednosti i dogovorenog algoritma generie niz jedinica kljua. Posedovanjem identine inicijalne vrednosti, obe strane u komunikaciji su u stanju da produkuju isti niz jedinica kljua i da ostvare bezbednu komunikaciju. Kako je generisanje jedinica kljua deterministiko, niz kljua je u potpunosti definisan sa:

Poetnim unutranjim stanjem inicijalna vrednost kojom se definie poetno stanje generatora kljua,

Funkcijom narednog stanja koja na bazi prethodnog unutranjeg stanja generie novo unutranje stanje,

Izlaznom funkcijom koja na osnovu unutranjeg stanja generie izlaznu jedinicu kljua.

Posledica injenice da je niz kljua deterministiki je da je on nuno periodian. Iako su ovo na izgled injenice koje ovakve sisteme znaajno dezavuiu, stvari ne stoje tako loe, i ti problemi se mogu sasvim uspeno prevazii. Naime, bezbednost ovakvih sistema direktno zavisi od veliine inicijalnih podataka i kvaliteta dogovorenog algoritma. Dobro dizajnirani algoritmi ovog tipa pruaju zatitu koja je po kvalitetu vrlo blizu apsolutno bezbednim sistemima.

Sekvencijalni ifarski sistemi sa pseudosluajnim nizom se dele u dve velike grupe: Sinhroni sekvencijalni ifarski sistemi

Samosinhroniui sekvencijalni ifarski sistemi

Sinhroni sekvencijalni ifarski sistemi su oni kod kojih se niz kljua generie nezavisno od otvorenog teksta i ifrata, slika 3.14.Proces ifrovanja se moe opisati sledeim skupom jednaina:

(3.1.3.4)

Gde se poetno stanje, 0, odreuje na osnovu inicijalne vrednosti k, f je funkcija sledeeg stanja, g je funkcija koja produkuje niz kljua a h izlazna funkcija koja od otvorenog teksta i niza kljua formira ifrat .

Kod ovih sistema niz kljua se generie nezavisno od niza jedinica poruke. Na obe strane u komunikaciji se istovremeno generiu nizovi kljua. Uesnici u komunikaciji su u stanju da razmenjuju poruke sve dotle dok su algoritmi za generisanje niza kljua sinhronizovani meu sobom.

Ukoliko se desi gubitak ili umetanje jednog ili vie jedinica tokom prenosa ST, deifrovanje e biti nekorektno. U sluaju takvog dogaaja, generatori niza kljua na predajnoj i prijemnoj strani moraju se resinhronizovati, pre nego to nastave komunikaciju.

Sa druge strane, u ovim sitemima se ne propagira greka i svaki pogrean bit u prenosu ostae i u deifrovanom obliku pogrean, ali ta greka nee uticati ni na prethodne ni na budue bite za prenos.

Prethodno navedena osobina moe posluiti aktivnom protivniku kao osnova za razliite vrste pokuaja kompromitovanja ovakvog sistema.

Slika 3.14: Grafiki prikaz rada sinhronih sekvencijalnih ifarskih sistema

Samosinhroniui asinhroni sistemi su oni kod kojih je niz kljua dobija u funkciji inicijalne vrednosti, dogovorenog algoritma i izvesnog konstantnog broja prethodnih jedinica ifrata, Slika 3.15. Proces ifrovanja se opisuje sledeim skupom jednaina:

(3.1.3.5)

Gde je inicijalno stanje, poetno stanje odreuje se na osnovu inicijalne vrednosti k, f je funkcija sledeeg stanja, g je funkcija koja produkuje niz kljua a h izlazna funkcija koja od otvorenog teksta i niza kljua formira ifrat .

Kod ovih sistema mogue je ostvariti samosinhronizaciju zato to deifrovanje zavisi samo od fiksnog broja prethodnih jedinica ifrata, tako da je mogue sinhronizaciju ponovo uspostaviti vraanjem na odreeni broj dobro primljenih znakova ifrata.

Slika 3.15: Grafiki prikaz rada samosinhroniuih sistema sa pseudo-sluajnim nizom

Kod ovih sistema propagacija greke je takoe ograniena na fiksiran broj uzastopnih jedinica a posle toga se preostale jedinice ifrata mogu ispravno deifrovati. Sekvencijalni ifarski sistemi imaju veliku ulogu u zatiti masovnih podataka zato to obezbeuju kvalitetnu zatitu a pri realizaciji obezbeuju veliku brzinu obrade.Teorija analize i sinteze sekvencijalnih ifarskih sistema sa pseudosluajnim nizom je veoma razvijena i u glavnom jedna podstie drugu na razvoj.3.1.3.2 RC4 algoritam

RC4 je najkoriteniji sekvencijalni algoritam i koristi se u popularnim protokolima kao to su SSL i WEP. Izvrstan je zbog jednostavnosti i brzine, ali je sa druge strane ranjiv na napade kada poetak izlaznog niza nije odbaen ili kada se jedan klju koristi dvaput.

RC4 je jednostavan za opis. Ima 256 S-box-ova. Ulazi su permutacija brojeva od 0 do 255, a permutacija je funkcija kljua promenljive duine. Ima dva brojaa, i i j, postavljena na 0. Za generisanje sluajnog bajta koristi se sledei algoritam:

i = (i + 1) mod 256

j = (j + Si) mod 256

zamijeni Si i Sjt = (Si + Sj) mod 256

K = St.

Bajt K se XOR-uje sa otvorenim tekstom da bi se dobio ifrat ili XOR-uje sa ifratom da bi se dobio otvoreni tekst. Enkripcija je brza (oko 10 puta bra nego kod DES-a). Inicijalizacija S-box-ova je takoe lagana.

Prvo se popunjavaju linearno: S0 = 0, S1 = 1,..., S255 = 255.

Zatim se generie drugi 256-bajtni niz kljua, ponavljajui klju koliko je potrebno da se popuni cijeli niz: K0, K1,..., K255. Indeks j se postavlja na 0. Tada se izvrava sljedea petlja:

for i = 0:255

j = (j + Si + Ki) mod 256

zameni Si i Sj.

Algoritam je imun na diferencijalnu i linearnu kriptoanalizu i krajnje je nelinearan. Indeks i osigurava da se svaki element menja, a indeks j da se elementi menjaju sluajno.

3.1.4 Komparativna analiza blok i sekvencijalnih ifarskih sistema

Iako su blok i sekvencijalni ifarski sistemi veoma razliiti, blok sistemi se mogu implementirati kao sekvencijalni sistemi i obrnuto. Razlike se najvie iskazuju u implementaciji ovih sistema. Naime, sekvencijalni ifarski sistemi koji ifruju i deifruju svaku jedinicu OT nisu previe pogodni za softverske implementacije. Oni su pogodni za ifrovanje i deifrovanje podataka u realnom vremenu, i to posebno ako su realizovani u hardveru.

Sa druge strane, blok ifarski sistemi su laki za implementaciju u softveru zato to esto izbegavaju vremenski zahtevne bitske manipulacije i zato to rade nad podacima u raunarski podeljenim blokovima. Postoje neki specifini momenti gde ifrovanje jedinica OT moe biti od interesa i u raunarskim sistemima, kao na primer ifrovanje veze izmeu tastature i procesora, ali i u tom sluaju blok koji se ifruje treba da bude najmanje irine magistrale podataka.

U savremenom razvoju kriptologije svedoci smo sve intenzivnijeg korienja kako blok tako i sekvencijalnih ifarskih sistema. Savremene aplikacije finansijskih i poslovnih transakcija su prouzrokovale eksplozivan rast primena pomenutih ifarskih sistema i to: DEA, 3-DES, RC2, IDEA, AES, itd. kao blok ifarskih sistema, i RC4, i drugih, kao sekvencijalnih ifarskih sistema.

U savremenim softverskim i hardverskim proizvodima za zatitu finansijskih, poslovnih i dravnih raunarskih mrea uglavnom se podrava itav skup najvie korienih blok i sekvencijalnih algoritama (de facto standardnih algoritama).

3.2 Asimetrini kriptografski algoritmi

Asimetrini kriptografski algoritmi predstavljaju jedno od najveih dostignua kriptologije druge polovine dvadesetog veka. Otkriveni su u procesu reavanja problema vezanih za zatitu tajnosti i distribuciju kljueva koji je esto bio aktuelan u primenama simetrinih kriptografskh algoritama.

Naime, u asimetrinim ifarskim sistemima se koriste razliiti kljuevi za ifrovanje i deifrovanje, tzv. javni i tajni klju, tako da klju za ifrovanje moe imati svako a samo posednik kljua za deifrovanje moe deifrovati poruku.

Meutim, visoka raunarska zahtevnost ovih algoritama utie na performanse sistema u kojima se primenjuju, tako da se ne preporuuje primena za zatitu tajnosti informacija u sistemima sa velikim protokom informacija.

Ovo naravno ne dezavuie automatski ove algoritme jer nain na koji je uz korienje ovakvih algoritama mogue ostvariti funkcije integriteta, autentinosti i neporicanja ima nesumnjivu prednost nad tradicionalnim tehnikama.

U literaturi je opisano vie algoritama sa javnim kljuem ali sa stanovita kvaliteta, otpornosti na razne vrste napada, efikasnost i lakou implementacije te rasprostranjenost, nisu svi podjednako dobri. U tom smislu se kao prirodni izbor namee RSA algoritam koji vie od dvadeset godina odoleva svim teorijskim i tehnolokim napadima.

Opis i nain upotrebe ovog algoritma propisani su u standardu PKCS#1. Pored RSA algoritma mogue je koristiti i druga dva algoritma, DSA (Digital Signature Algorithm) i ECDSA (Elliptic Curve DSA), koja spadaju u standard digitalnog potpisa (NIST standard DSS (Digital Signature Standard).

3.2.1 PKCS#1 standard

PKCS#1 standard opisuje metode ifrovanja podataka korienjem RSA asimetrinog algoritma i najee se koristi za konstrukciju digitalnog koverta i digitalnog potpisa.

U sluaju digitalnog koverta, sadraj poruke se prvo ifruje odreenim simetrinim algoritmom (kao to su DES, 3-DES, RC2, RC4, IDEA, AES, ili neki namenski privatni algoritmi). Zatim se tajni klju primenjenog simetrinog algoritma koji je upotrebljen za ifrovanje date poruke ifruje RSA algoritmom upotrebom javnog kljua korisnika kome je data poruka namenjena (RSA public key operacija).

Tako ifrovan sadraj poruke i tajni klju kojim je ta poruka ifrovana zajedno predstavljaju digitalni koverat.

Postupak ifrovanja i deifrovanja putem tehnologije digitalnog koverta je prikazan na slikama 3.16 i 3.17, respektivno.

Slika 3.16: Digitalna envelopa ifrovanje

Slika 3.17: Digitalna envelopa deifrovanje

U sluaju digitalnog potpisa, Slika 3.18, sadraj koji treba da se potpie, poruka M, prvo se redukuje u otisak poruke (message digest), H, primenom nekog od metoda za kreiranje otiska poruke, message-digest algoritma (kao to su na primer MD5 ili SHA-1 algoritmi), a zatim se dobijeni otisak poruke ifruje primenom, na primer, RSA algoritma koristei privatni klju potpisnika poruke (RSA private key operacija), klju A. ifrovani otisak poruke predstavlja digitalni potpis date poruke, S, i postaje njen pridrueni deo.

Kada ovakva poruka stigne do primaoca kojem je namenjena izvrava se postupak verifikacije digitalnog potpisa. Ovaj postupak se sastoji od deifrovanja otiska dobijene poruke primenom RSA algoritma uz upotrebu javnog kljua poiljaoca poruke, klju B. Po deifrovanju digitalnog potpisa primalac poruke izvri isti message digest postupak nad dobijenom porukom, M1.

Ako je dobijeni otisak poruke, H1, identian sa deifrovanom vrednou otiska, verifikacija je uspela, u protivnom verifikacija je negativna.

Ukoliko je verifikacija uspela, primalac poruke je siguran u sledee:

Autentinost poiljaoca jer je uspeno deifrovao otisak poruke primenom RSA algoritma sa javnim kljuem datog poiljaoca,

Integritet poslate poruke ako su izraunati i deifrovani otisci date poruke identini zakljuuje se da poruka na prenosnom putu nije menjana, i

Nemogunost da poiljalac naknadno porekne da je tu poruku poslao jer je njegov digitalni potpis uspeno verifikovan i ukoliko je potpisnik koristio privatni klju generisan na smart kartici.

Slika 3.18: Procedura digitalnog potpisa i verifikacijeDa bi dati primalac bio u mogunosti da prima poruke od datog poiljaoca i sprovede proces verifikacije digitalnog potpisa mora imati mogunost pristupa javnom kljuu poiljaoca. Pristup i distribucija javnih kljueva se mogu organizovati na razliite naine a najee se realizuju u procesu utvrivanja identiteta putem razmene digitalnih certifikata.

PKCS#1 standardom se pored bezbednosnih mehanizama definie i unutranja struktura validnih poruka ime se omoguava dodatni mehanizam verifikacije ispravnosti poruka. Naime, svaka poruka koja ima naruenu strukturu se smatra neispravnom i odbacuje se.

Treba posebno naglasiti da je trenutno aktuelan i vaei PKCS#1 standard verzije 2.1 i da su njime znaajno izmenjene preporuke date u PKCS#1 standardu verzije 1.5, koje se odnose na format bloka podataka koji podlee operacijama ifrovanja i potpisivanja. Razlog za ovakve drastine promene lei u injenici da prema verziji 1.5 pri formiranju bloka za ifrovanje postoji niz bita na poetku bloka koji je uvek isti.

To se moe iskoristiti da se bez poznavanja tajnih informacija, samo uz poznavanje ifrata doe do otvorenog teksta. Ovde treba naglasiti da ovim nije kompromitovana bezbednost samog RSA algoritma ve je, grubo govorei, nain njegove upotrebe bio takav da je pod odreenim uslovima dolazilo do oticanja informacija.

U verziji 2.1 ovog standarda blok podataka koji se ifruje prethodno se kodira OAEP (Optimal Assymetric Encryption Padding) metodom koja ima dobre bezbednosne karakteristike tako da ak ni dva identina bloka podataka posle kodiranja ovim metodom ne daju isti rezultat.

Time su izbegnute slabosti detektovane u verziji 1.5. PKCS#1 standard verzije 2.1 je neophodno primeniti u mehanizmima zatite u specijalizovanim raunarskim mreama i informacionim sistemima.

3.2.2 RSA algoritam

RSA algoritam je prvi put publikovan 1978. godine. Naziv je dobio po prvim slovima prezimena autora algoritma (R.L.Rivest, A.Shamir, L.Adleman). Teorijska osnova algoritma za realizaciju ifrovanja i deifrovanja poruka prikazana je u sledeim teoremama. Teorema 1: Linearna kongruencija

(3.2.2.1)

ima reenje ako i samo ako je NZD(a,m)(b (NZD-najvei zajedniki delilac), i u tom sluaju, ako je jedno reenje kongruencije, onda je opte reenje

(3.2.2.2)

gde je .

Posledica 1a: Ako su brojevi a i m relativno prosti, tj. , onda linearna kongruencija ima tano jedno nekongruentno reenje po modulu m.Teorema 2: (Kineska teorema o ostacima) Ako su po parovima relativno prosti celi brojevi, tada sistem kongruencija:

. . . (3.2.2.3)

ima jedinstveno reenje po modulu .

Teorema 3: (Ojlerova teorema (L.Euler)) Ako su a i n uzajamno prosti brojevi, onda je:

(3.2.2.4)

gde je sa oznaen broj prirodnih brojeva, ne veih od n, uzajamno prostih sa n.

Posledica 3a: (Fermaova teorema (P. Fermat)) Ako je p prost broj i NZD(a,p)=1, onda je

. (3.2.2.5)

Posledica 3b: Ako je n proizvod prostih pozitivnih brojeva p, q (n=p(q) i NZD(a,n)=1, onda je

. (3.2.2.6)

Teorema 4: Neka je proizvod n=p(q prirodan broj gde su p i q prosti pozitivni brojevi. Neka je e prirodan broj takav da je i neka su brojevi e i proizvod relativno proste veliine. Tada postoji prirodan broj d takav da je:

(3.2.2.7)

i za svaki prirodan broj a, 0 ( a ( n vai:

(3.2.2.8)Dokaz:

Kako su brojevi e i proizvod brojeva relativno proste veliine tada se moe, na osnovu teoreme 2, zakljuiti da postoji prirodan broj d takav da je ispunjeno:

(3.2.2.9)

Dati proizvod se moe predstaviti na sledei nain:

(3.2.2.10)

gde je A prirodan broj.

Moe se dokazati da za proizvoljan broj a vai .

Neka su a i n relativno prosti brojevi (NZD(a,n)=1), tada je prema Ojlerovoj teoremi (3.2.2.4):

(3.2.2.11)

Neka je NZD(a,n)(1 i 0 ( a < n. Tada je, s obzirom na oblik broja n, NZD(a,n)=p ili je NZD(a,n)=q. Ako se pretpostavi da je NZD(a,n)=p, tada je, prema Fermaovoj teoremi (3.2.2.5):

(3.2.2.12)

(3.2.2.13)

Kako su p i q prosti brojevi, prema kineskoj teoremi o ostacima (3.2.2.3), sistem kongruencija:

(3.2.2.14)

ima jedinstveno reenje X koje je manje od n=p(q. Prema prethodnom a je jedno takvo reenje pa prema tome i jedino. Na isti nain se postupa u sluaju da je NZD(a,n)=q. Prema prethodno navedenom, pokazuje se da je u bilo kom sluaju zadovoljeno .Algoritam za transformaciju poruka baziran na navedenoj teoremi odvija se na sledei nain.

Neka je M poruka koju je potrebno transformisati.

Prvi korak u realizaciji algoritma je odabir prostih pozitivnih brojeva p, q i odreivanje vrednosti njihovog proizvoda n=p(q.

U sledeem koraku bira se prirodan broj e, takav da je.

Nakon odabira vrednosti za e se izraunava broj d takav da je .

Proces transformacije poruka odvija se na sledei nain. Ako se sa M oznai numeriki ekvivalent poruke M i napie u obliku M=M1M2 Mk gde je 0 ( Mi < n, i=1, 2, , k; tada se za svako Mi, i=1, 2, , k izrauna:

(3.2.2.15)

Poruka C=C1C2 Ck predstavlja transformisani oblik poruke M i u datom obliku se poruka M prenosi primaocu komunikacionim kanalima. Primalac rekonstruie poruku tako to znajui vrednosti d, p i q izraunava:

(3.2.2.16)

i ulanavanjem formira originalnu poruku M=M1M2 Mk. Korektnost navedenog naina transformacije i rekonstrukcije poruka direktna je posledica teoreme 4. Ureeni par (e,n) je javni klju a ureena trojka (d,p,q) je tajni klju RSA algoritma.

Po bezbednosnoj klasifikaciji prethodni algoritam spada u klasu raunski bezbednih sistema. Sigurnost ovog algoritma bazira se na nepoznavanju efikasnog algoritma za faktorizaciju prirodnih brojeva i direktno zavisi od veliine broja n (koja se moe izraavati brojem cifara u dekadnom ili binarnom zapisu).

Pored asimetrinog kriptografskog algoritma, u asimetrinim sistemima je od izuzetne vanosti izbor odgovarajueg algoritma za generisanje asimetrinog para kljueva. U sluaju da je asimetrini algoritam RSA algoritam, generisanje kljueva se odnosi na generisanje velikih sluajnih prostih brojeva. U tom smislu, takoe su veoma znaajni algoritmi za proveru da li su izgenerisani kljuevi prosti brojevi.

Testovi da li je odgovarajui broj prost generalno se mogu podeliti na dva tipa:

Verovatnosni testovi,

Testovi za dokazivanje da je dati broj prost.

Testovi prve grupe su generalno takvi da, kao rezultat, daju podatak da li je broj sloen ili se ponaa kao prost. U prvom sluaju broj je sigurno sloen, i kao takav ne moe biti prost, a u drugom sluaju postoji verovatnoa da se ponaa kao prost ali da nije takav. U ovu grupu testova spadaju Fermaov, Solovej-Strasenov i Miler-Rabinov test.

Testovi druge grupe predstavljaju metode kojim se moe dokazati da je broj prost. Generalno ove metode su raunarski veoma zahtevne. U ovu grupu testova spadaju Poklingtonov test, test Jakobijevih suma i test zasnovan na eliptikim krivim.

U ovom generikom modelu predlae se Miler-Rabinov test koji se odvija prema sledeoj proceduri ( je broj koji se proverava da li je prost):

1. Stavimo gde je t neparan broj

2. Izaberimo sluajno broj

3.

4. Ako je tada je prost i kraj.

5. Od do radi

Ako je tada je prost i kraj,

inae

6. je sloen i kraj

Moe se pokazati da je verovatnoa greke ovog algoritma, verovatnoa da se broj proglasi prostim kada on to nije, jednaka . Nezavisnim izborom razliitih vrednosti za a i sukcesivnim ponavljanjem testa greka se moe uiniti proizvoljno malom.

Ovaj test je bolji od Fermaovog i Solovej-Strasenovog u smislu da je kod njega broj lanih prostih brojeva najmanji.

3.3 Message digest algoritmi

Takozvane jednokorane hash ili message digest funkcije H(M) izvravaju se nad porukom M proizvoljne duine, proizvodei hash vrednost h=H(M) fiksne duine m. Hash funkcije treba da zadovolje sledee karakteristike:

Za datu poruku M, treba da je relativno jednostavno izgenerisati h,

Za dato h, treba da je izuzetno teko izraunati M tako da je H(M)=h,

Za dato M, treba da je izuzetno teko nai drugu poruku M takvu da je ispunjeno H(M)=H(M).

Algoritam MD5 zadovoljava gore navedene karakteristike i predstavlja jedan od najee korienih hash algoritama. Pored toga ovaj algoritam je specificiran za korienje u okviru standarda PKCS#1. Algoritam MD5 produkuje 128-bitnu hash vrednost. Pored ovog algoritma, kao to je vee reeno, mogua je opcija korienja SHA-1 hash algoritma koji produkuje 160-bitnu hash vrednost. U nastavku je kao primer dat kratak opis MD5 algoritma.

Meutim, u poslednjih par godina se dolo do saznanja da poemnuti hash algoritmi, posebno MD5, imaju prilino velike slabosti i da se vie ne preporuuju za korienje. Umesto tog algoritma, predlae se korienje novih SHA algoritama: SHA-224, SHA-256, SHA-384 i SHA-512.

3.3.1 MD5 message digest algoritam

Nakon odreenog inicijalnog procesiranja, MD5 algoritam procesira ulaznu poruku u blokovima od 512 bita, podeljenim u 16 podblokova duine 32 bita. Naime, prvo se poruka proiruje na taj nain da se dobije poruka koja je po duini tano 64 bita kraa od odgovarajueg multipla od 512 bita. Proirivanje je vrlo jednostavno, prvo se na kraj poruke doda jedan bit jedinice, praen zahtevanim brojem nula. Zatim se 64-bitna reprezentacija duine poruke prikljui rezultatu. Ova dva koraka slue u cilju formiranja poruke ija je duina tano multipl od 512 bita, to se zahteva u algoritmu, obezbeujui pri tome da razliite poruke nee izgledati isto nakon pomenutog proirivanja. Izlaz algoritma predstavlja skup od 4 32-bitna bloka, spojena tako da jednoznano formiraju 128-bitnu hash vrednost. Algoritam se sastoji od sledeih koraka: Prvo se poruka obradi tako da je njena duina tano multipl od 512 bita, Zatim se inicijalizuju 4 32-bitne promenljive (tzv. promenljive ulanavanja):

A=0x01234567

B=0x89abcdefC=0xfedcba98

D=0x76543210

Zatim poinje glavna petlja algoritma koja se izvrava za sve blokove duine 512 bita date poruke. etiri inicijalne promenljive se kopiraju u promenljive a, b, b i d. Glavna petlja se sastoji od 4 faze koje su veoma sline. Svaka faza koristi razliitu operaciju 16 puta, koja se sastoji od primene odreene nelinearne funkcije nad tri od etiri promenljive a, b, c ili d. Zatim se tako dobijeni rezultat dodaje etvrtoj promenljivoj, podbloku poruke i jednoj konstanti. Dobijeni rezultat se rotira ulevo promenljivi broj bita i dodaje se jednoj od etiri promenljive a, b, c ili d. Na kraju rezultat zamenjuje jednu od promenljivih a, b, c ili d. Videti Slike 3.19 i 3.20.

Postoje etiri nelinearne funkcije, po jedna se koristi u svakoj operaciji:F(X,Y,Z) = (X ^ Y) v (( ( X) ^ Z)

G(X,Y,Z) = (X ^ Z)v (Y ^ (( Z)

H(X,Y,Z) = X ( Y ( ZI(X,Y,Z) = Y ( (X v (( Z ))

gde navedeni funkcijski znaci predstavljaju (( - XOR funkcija, ^ - AND funkcija, v - OR funkcija, i ( - NOT funkcija).

Slika 3.19: Glavna petlja MD5 algoritma

Slika 3.30: Jedna operacija MD5 algoritma

Ako M