poruka ili signal — podaci ili informacije koje se razmenjuju;
pošiljalac — objekat (živo biće ili mašina) koji šalje poruku;
primalac — objekat (živo biće ili mašina) kome je poruka namenjena, tj. koji prima poruku;
komunikacioni kanal — medijum kojim se poruka transportuje od pošiljaoca ka primaocu.
Proces prenosa poruke komunikacionim kanalom od pošiljaoca ka primaocu naziva se još i transmisija. Pošiljaoce i primaoce u računarskoj mreži (računari, telefoni, ruteri/mrežne skretnice/modemi/mostovi/vratnice i ostali mrežni hardver koji ima sopstvernu IP-adresu) nazivaćemo jednim imenom uređaji.
Motivacija — sigurna komunikacija
Uslovi sigurne komunikacije su:
dostupnost usluge (niko treći ne može da prekine komunikaciju između pošiljaoca i primaoca poruke);
privatnost korišćenja usluge (niko treći ne može da zna ko komunicira, tj. ko su pošiljalac i primalac poruke i kako komuniciraju);
poverljivost podataka (pristup podacima koji se prenose od pošiljaoca do primaoca imaju samo ovlašćene osobe);
autorizacija (potvrda identiteta pošiljaoca i primaoca, tj. i pošiljalac i primalac su sigurni u identitet onog drugog);
integritet podataka (podaci koji se prenose od pošiljaoca do primaoca uvek stižu neizmenjeni);
neporecivost slanja i prijema poruke (pošiljalac ne može da porekne da je poslao poruku, niti primalac može da porekne da ju je primio).
Narušavanje sigurnosti na internetu
Sigurnost na internetu se može narušiti na različite načine, spomenućemo samo neke od njih.
Zlonamerni softver (malver)
U okviru Informatičkog praktikuma 2 je već bilo reči o zlonamernom softveru (malveru). Najopasniji je infektivni softver (virusi i crvi), zbog svoje mogućnosti brzog širenja, posebno preko računarskih mreža, ali i preko spoljnih memorija (eksterni HDD ili SSD, USB fleš, memorijske kartice).
Što se tiče namene malvera, neke vrste tog softvera se bave špijuniranjem (engl. spyware), neke ucenom (engl. ransomware), neke preuzimaju kontrolu nad uređajem (engl. rootkit) ili veb-čitačem (engl. browser hijacking).
Softver za špijuniranje se podjednako primenjuje i na individualne korisnike interneta (krađa identiteta) i na organizacije (na primer, industrijska i vojna špijunaža); jednostavan primer je program koji čuva i prosleđuje napadaču korisnikovu aktivnost na tastaturi (engl. key logger), čime mogu da se ukradu lozinke, a time i identitet korisnika.
Softver za ucenjivanje obično krade podatke korisnika i potom traži nadoknadu ili da ih vrati korisniku ili da ih javno ne objavi (ako bi to nanelo štetu korisniku).
Softver za preuzimanje kontrole nad uređajem može se primenjivati i u prethodno nabrojane svrhe (špijuniranje, ucena), ali za iskorišćavanje tuđih uređaja kao baze za napade na druge uređaje ili obavljanje kriminalnih aktivnosti. U tom slučaju tragovi sigurno vode do vlasnika preuzetog uređaja, a ako je napad pažljivo odrađen, tu se obično i završavaju, te pravi krivac ostaje nekažnjen.
U slučaju zaposedanja veb-čitača, malver se uglavnom ne krije, već bez korisnikove dozvole odmah menja početnu stranicu veb-čitača (engl. startup page) i ostala podešavanja, ugrađuje adrese kao beleške, odnosno oznake (engl. bookmark), a ponekad automatski preusmerava korisnika na te adrese bez obzira na to koju je adresu korisnik zapravo zahtevao. U blažoj varijanti obično se radi o nekoj vrsti nasilnog oglašavanja, ali ovaj softver može sadržati i prethodno pomenute varijante (špijuniranje, krađa identiteta, ucenjivanje) ili predstaljati izvidnicu napadača koja će omogućiti automatsko preuzimanje ozbiljnijeg i opasnijeg malvera.
Malver najčešće preuzima i pokreće sam korisnik, pogrešno verujući da je preuzeo neki bezopasan sadržaj. Neki malver se odmah otkriva korisniku, ali postoje i primeri skrivenog malvera koji se ili aktivira u određenom vremenskom trenutku (tzv. bombe) ili se sve vreme skriva u okviru nekog naizgled bezopasnog programa (tzv. trojanci). Anti-malver može da detektuje neki već viđeni zlonamerni softver, ali je najveća odgovornost na samom korisniku, da pazi šta preuzima, šta pokreće na svom uređaju, kao i da li redovno održava svoj operativni sistem, tj. da li instalira tzv. zakrpe kojima se eliminišu opšte poznati sigurnosni propusti operativnog sistema.
Lažne IP-adrese (maskiranje)
U okviru Informatičkog praktikuma 2 smo već videli da se danas u računarskim mrežama uglavnom koristi paketno prebacivanje za slanje poruka. Naime, poruka se pre slanja deli na pakete čije se kopije šalju svim raspoloživim putevima u mreži, tj. najbližim uređajima u mreži koji pakete prosleđuju dalje svojim najbližim susedima u mreži. Svaki paket, pored dela poruke, sadrži IP-adrese pošiljaoca i primaoca, kao i informacije neophodne za sklapanje paketa u celovitu poruku na odredištu (na primer, redni broj paketa).
Jedan mogući je napad se sastoji u slanju paketa sa falsifikovanom IP-adresom pošiljaoca (engl. IP spoofing). Na taj način, ako primalac ima poverenja u pošiljaoca čija je IP-adresa falsifikovana, može da dobije poruku koja sadrži zlonamerni softver ili lažnu informaciju.
Drugi mogući napad može da nastane kada uređaj ne zna IP-adresu nekog drugog uređaja, već samo njegovu simboličku adresu, pa šalje zahtev DNS-serveru kako bi na osnovu simboličke adrese pronašao IP-adresu. Napadač može da presretne zahtev, da se lažno predstavi kao DNS-server (koristeći već opisano falsifikovanje IP-adrese pošiljaoca paketa) i da žrtvi pošalje IP-adresu ni u kakvoj vezi sa simboličkom adresom koja žrtvu zanima (engl. DNS spoofing).
Uskraćivanje usluge i distribuirano uskraćivanje usluge (napad ponavljanjem)
Uskraćivanje usluge (engl. Denial of Service Attack, skr. DoS-attack) je vrsta napada kojom se komunikacija klijenta i servera onemogućava bilo onesposobljavanjem servera bilo njegovim namernim opterećivanjem. Tipičan primer napada je preveliki broj lažnih zahteva klijenata (obično ogroman broj kopija istog zahteva) kako bi se zagušio mrežni saobraćaj i sprečio server da primi i na vreme obradi prave klijentske zahteve, tj. da odgovori servera na zahtev stignu do klijenata.
Ako je izvor napada jedan uređaj, on se može neutralisati i zaustaviti napad. Iz tog razloga napadači češće koriste mnogo različitih izvora (obično zaraženih malverom koji generiše kopije lažnog klijenatskog zahteva) koji istovremeno zasipaju server zahtevima, guše mrežni saobraćaj i sprečavaju prave klijente da ostvare komunikaciju sa serverom. Za takav napad se koristi naziv distribuirano uskraćivanje usluge ili napad ponavljanjem (engl. Distributed Denial of Service Attack, skr. DDoS-attack).
Uhođenje i napad ubacivanjem između
Jedan od najčešćih vrsta napada je uhođenje (engl. Internet wiretapping), tj. tajno praćenje komunikacije između pojedinih uređaja. U pojedinim slučajevima je uhođenje pasivno (komunikacija se prati, ali se napadač u nju ne upušta). Međutim, uhođenje može biti i aktivno, gde napadač presretnutu komunikaciju menja tako da učesnici imaju utisak da komuniciraju međusobno, ali zapravo svako od njih komunicira samo sa napadačem. Ovakva vrsta napada se još zove napad ubacivanjem između (engl. Man in the Middle Attack, skr. MITM-attack).
Pecanje
Pecanje (engl. Phishing) je primer napada koji iskorišćava čoveka kao najslabiju kariku sigurnosti. Naziv je dobio po tome što se napad istovremeno pokušava na velikom uzorku ljudi u nadi da će uspeti bar u jednom slučaju, otprilike kao što se kod pecanja baca mamac u vodu sa ciljem da se uhvati bar jedna riba. U većini slučajeva se ovakvi napadi lako prepoznaju, pogotovo kada imejlom nepoznate osobe za koje nikada niste čuli traže od vas da im dostavite lične podatke ili broj svoje platne kartice.
Ozbiljniji napad je imitiranje veb-sajtova koji traže identifikaciju korisnika unosom korisničkog imena i lozinke. Naime, neko može da kreira domen čiji su adresa i sajt skoro isti kao u slučaju nekog poznatog sajta (na primer, mail.yaho.com umesto mail.yahoo.com) i da čeka da neki korisnik greškom unese adresu imitacije sajta. Kada korisnik na imitaciji sajta unese svoje korisničko ime i lozinku, umesto da se prijavi na originalni sajt, njegovi podaci bivaju ukradeni, pojavljuje se poruka da nije uneo tačnu lozinku i korisničko ime, a potom se automatski preusmerava na originalni sajt gde uspeva da se prijavi. Na taj način korisnik ne zna da su mu podaci ukradeni jer sve vreme misli da se prijavljuje na originalnom sajtu, dok napadač sada ima pristup njegovom nalogu i može da sprovede napad za koji će biti okrivljen korisnik kome je identitet na originalnom sajtu ukraden.
Mere zaštite sigurnosti na internetu
Šifrovanje
Šifrovanje je jedno od sredstava kojim se pokušava obezbediti sigurna komunikacija između pošiljaoca i primaoca. Zasnovano je na slanju poruke u izmenjenom obliku (šifrat) tako da je niko, sem pošiljaoca i primaoca (i osoba koje oni ovlaste), ne može razumeti. Postupak pretvaranja poruke iz otvorenog (čitljivog, razumljivog) oblika u šifrat naziva se šifrovanje (šifriranje, enkripcija), dok se obrnuti postupak koji šifrat pretvara u otvorenu poruku naziva dešifrovanje (dešifriranje, dekripcija). Nauka koja se bavi proučavanjem šifrovanja, uključujući kreiranje i razbijanje šifara, naziva se kriptografija.
Uobičajena procedura je da pošiljalac i primalac unapred dogovore šifrovanje i dešifrovanje koje uvek koristi isti postupak, ali koji zavisi od nekog promenljivog parametra (ključa), tako da u slučaju da je potrebno promeniti način (de)šifrovanja, menja se samo ključ, a ne i postupak šifrovanja.
Potvrđeno je da se šifrovanje koristilo još od Starog veka. Često se kao primer navodi Cezarova šifra, tj. šifra koju je Gaj Julije Cezar koristio za potrebe komunikacije sa svojim vojnim komandantima samim Rimom tokom ratova koje su stari Rimljani vodili sa okolnim narodima. Cezarova šifra se svodi na zamenu slova latinskog alfabeta slovom koje je na poziciji za tri većoj od pozicije slova koje se zamenjuje, pri čemu se za zamenu poslednja tri slova koriste neiskorišćena tri slova sa početka alfabeta. Primenjena na englesku abecedu, Cezarova šifra bi se svela na zamene: A => D, B => E, C => F, … X => A, Y => B, Z => C. Dešifrovanje je jednostavno, svako slovo, sem prva tri, se zamenjuje slovom čija je pozicija za tri manja od pozicije slova koje se zamenjuje, dok se prva tri slova zamenjuju sa poslednja tri slova alfabeta: D => A, E => B, F => C, … A => X, B => Y, C => Z.
Ove zamene se lako obavljaju ako se dve kopije alfabeta napišu jedna ispod druge, sa ponavljanjem slova na poslednje tri, odnosno prve tri pozicije, pomerene, pri čemu je donja kopijena pomerena za tri pozicije ulevo. Tada se šifrovanje obavlja zamenom gornjeg slova odgovarajućim donjim (neposredno ispod), a dešifrovanje zamenom svakog donjeg slova odgovarajućim gornjim slovom (neposredno iznad):
X Y Z A B C D E F G H I J K L M N O P Q R S T U V X Y Z
A B C D E F G H I J K L M N O P Q R S T U V X Y Z A B C
Predstavljanje teksta, slika, audio i video zapisa i ostalih podataka na digitalnom elektronskom računaru je proces koji može da se opiše kao jedna vrsta šifrovanja, ali ne sa ciljem skrivanja podataka, već predstavljanja (reprezentacije) podataka u obliku koji je pogodan za čuvanje, automatsku obradu na računaru i prenos. Otuda i različiti termini: kodiranje (engl. encoding) podataka za potrebe čuvanja, obrade i otvorene komunikacije, odnosno šifrovanje (engl. encryption) za potrebe sigurnog čuvanja i prenosa poverljivih podataka. Drugim rečima, kodiranje je šifrovanje kod koga su svima poznati postupak i ključevi, pošto sigurnost nije u prvom planu već reprezentacija podataka za potrebe čuvanja, obrade i prenosa.
Simetrično šifrovanje
Do sedamdesetih godina XX veka koristilo se simetrično šifrovanje, a danas se uglavnom koristi asimetrično šifrovanje.
Simetrično šifrovanje koristi jedan isti, unapred dogovoreni tajni ključ za šifrovanje i dešifrovanje poruke koji treba da znaju samo pošiljalac i primalac. Tajni ključ garantuje privatnost, poverljivost, identitete pošiljaoca i primaoca (autorizaciju), integritet poruke, neporecivost, ali samo dok je ključ zaista tajni, tj. dok ga znaju samo pošiljalac i primalac.
Kako funkcioniše simetrično šifrovanje? Pošiljalac šifruje poruku tajnim ključem i šalje šifrat primaocu. Primalac upotrebljava isti tajni ključ da dešifruje poruku. Ako ima odgovor, primalac će šifrovati odgovor istim tajnim ključem, poslati novi šifrat pošiljaocu koji će istim ključem od šifrata dobiti otvorenu poruku. Dakle, jednostavan postupak zasnovan na jednom tajnom ključu.
Problem nastaje ako je ključ kompromitovan (tj. ako postoji sumnja da je neovlašćeno treće lice došlo u posed ključa i postupka za šifrovanje i dešifrovanje), tada više ne može da se garantuje nijedan od prethodno navedenih uslova sigurne komunikacije. U tom slučaju je potrebno da pošiljalac i primalac razmene novi tajni ključ što ga ponovo čini podložnim kompromitaciji.
Razvoj procesorske snage digitalnih elektronskih računara posle Drugog svetskog rata doveo je do toga da razbijanje simetričnih šifara postane rutinska stvar već sedamdesetih godina XX veka.
Asimetrično šifrovanje
Standard poznat pod nazivom Infrastruktura javnog ključa (engl. Public Key Infrastructure, skr. PKI) je drastično promenio proces šifrovanja i dešifrovanja i svojim prednostima u odnosu na simetrično šifrovanje faktički postao dominantan način šifrovanja podataka koji se koristi i danas.
Osnovna ideja iza PKI je da svaki učesnik u komunikaciji ima po dva ključa: jedan javni i jedan tajni ključ i da se njihovi ključevi razlikuju. Dakle, pošiljalac ima svoj par ključeva, javni i tajni (privatni), primalac opet ima svoj par ključeva. Javni ključevi, kao što im i ime govori, svima su poznati, dok tajni ključ zna samo njegov vlasnik. Javni i tajni ključ istog vlasnika se dopunjuju (komplementarni su), tj. poruka šifrovana pomoću javnog ključa vlasnika dešifruje se pomoću tajnog ključa istog vlasnika i obrnuto: poruka šifrovana tajnim ključem vlasnika dešifruje se pomoću javnog ključa istog vlasnika. Matematičkim rečnikom formulisano, primene javnog i tajnog ključa istog vlasnika su međusobno inverzne funkcije i njihova uzastopna primena (kompozicija funkcija) daje kao rezultat polaznu poruku. Dakle, ako Pera šifruje neki tekst svojim javnim ključem, može da ga dešifruje samo svojim tajnim ključem i samo on to može da uradi jer jedino on zna svoj tajni ključ. Na osnovu toga je jasno da jedan par ključeva (javni, tajni) nije dovoljan da bi se ostvarila poverljiva komunikacija.
Kako funkcioniše asimetrično šifrovanje zasnovano na PKI? Pošiljalac (Pera) šifruje svoju poruku javnim ključem primaoca (Mika) i šalje mu šifrat. Primalac Mika onda koristi svoj tajni ključ da dešifruje poruku. Na ovaj način se sprečava da bilo ko osim primaoca može da pročita šifrat.
Ako primalac Mika želi da odgovori (sada on postaje pošiljalac), svoj odgovor će šifrovati javnim ključem svog primaoca (Pera), a novi primalac (Pera) će primenom svog privatnog ključa na šifrat dobiti otvorenu poruku. Dakle, sada niko sem Pere ne može da pročita šifrat.
Prema tome, kod asimetričnog šifriranja pošiljalac uvek šifruje poruku javnim ključem primaoca.
Prednost javnih ključeva je u tome što primalac i pošiljalac više ne moraju da razmenjuju ključeve jer su sada ključevi za šifrovanje javni. Međutim ostaju otvorena dva pitanja:
Kako da primalac (Mika) bude siguran u identitet pošiljaoca (Pera)? Možda je treća osoba (Laza) poslala Miki poruku (šifrovanu Mikinim javnim ključem) i potpisala se kao Pera.
Kako pošiljalac (Pera) da bude siguran u identitet primaoca (Mika), tj. da javni ključ za koji se tvrdi da pripada Miki (a kojim Pera šifruje svoju poruku) zaista pripada Miki? Možda je treća osoba (Laza) poslala Peri svoj javni ključ predstavljajući sebe kao Miku i ključ kao Mikin, pa će tako Perinu poruku (šifrovanu tim navodno Mikinim, a zapravo Lazinim javnim ključem) moći da dešifruje Laza, a ne Mika kome je namenjena. Ovo je tipičan primer napada ubacivanjem između (engl. Man in the Middle Attack).
Digitalni potpis
Potvrda identiteta pošiljaoca prilikom asimetričnog šifrovanja (PKI) postiže se uz pomoć digitalnog potpisa. Jasno je da se nekako mora iskoristiti privatni ključ pošiljaoca za njegovu identifikaciju s obzirom da je privatni ključ jedino poznat svom vlasniku i nikome više. Takođe je jasno da nije dovoljno da se na običan potpis primeni šifrovanje privatnim ključem jer će se uvek dobiti isti rezultat, pa ako treća osoba presretne poruku, može iskoristiti taj uvek isti šifrovani potpis da potpiše svoju poruku i onda primalac ne može da zna ko mu je poruku zaista poslao. Prema tome, neophodno je da digitalni potpis istog pošiljaoca svaki sledeći put bude drugačiji i da posluži za identifikaciju.
Prirodno se nameće da digitalni potpis treba nekako da zavisi i od privatnog ključa (da bi se identifikovao vlasnik), ali i od same poruke (pošto će poruka svaki put biti drugačija, onda će i digitalni potpis biti drugačiji). Nije dovoljno kodirati poruku privatnim ključem pošiljaoca i to iskoristiti kao digitalni potpis; ako se treće lice dočepa takvog potpisa jedne poruke, može iskoristiti javni ključ pošiljaoca i dešifrovanjem potpisa dobiti otvorenu poruku, baš ono što ne sme nikako da se desi.
U tu svrhu se u igru uvodi još jedna dodatna funkcija, tzv. heš-funkcija ili haš-funkcija (engl. hash function) koja poruku proizvoljne dužine pretvara u nečitljiv sažetak fiksne veličine (engl. message digest). Dobro konstruisana heš-funkcija se ponekad naziva i jednosmernom funkcijom zato što je utvrđivanje načina kojim se od rezultata heš-funkcije (sažetka poruke) dobija nazad original (polazna poruka) izuzetno teško ili praktično nemoguće; štaviše, heš-funkcija može od različitih poruka proizvesti isti sažetak (u tom slučaju kažemo da je došlo do kolizije poruka koje imaju isti sažetak), ali je problem utvrditi po kom pravilu se to dešava. Heš-funkcija je praktično provaljena kada napadač otkrije kako da generiše kolizije. Što je dužina sažetka veća, to je i heš-funkciju teže provaliti. S obzirom na rast procesorske moći, obično se kaže da postoje heš-funkcije koje su provaljene i one koje to još uvek nisu.
Za potrebe asimetričnog šifrovanja koriste se javne heš-funkcije, kako ne bi morale da se razmenjuju između pošiljaoca i primaoca. Primeri javnih heš-funkcija su MD5 (provaljena, dužina sažetka 128 bitova), SHA-1 (provaljena, dužina sažetka 160 bitova), SHA-2 (dužina sažetka 224, 256, 384 ili 512 bitova), SHA-3 (proizvoljna dužina sažetka) itd.
Ako testirate funkciju MD5, primetićete dve zajedničke karakteristike heš-funkcija:
Sažetak je uvek iste dužine (u slučaju MD5 128 bitova koje možemo interpretirati kao heksadekadni broj od 128/4 = 32 cifre);
Ako promenite samo jedno slovo poruke, dobija se bitno drugačiji sažetak.
Kako funkcioniše digitalni potpis kombinovan sa asimetričnim šifrovanjem poruke? Pretpostavimo da pošiljalac Pera šalje primaocu Miki poruku. Kao i ranije, Pera napiše (otvorenu) poruku, a zatim na nju primenjuje heš-funkciju i generiše sažetak. Dobijeni sažetak poruke pošiljalac kodira svojim privatnim ključem i tako generiše digitalni potpis. Potom pošiljalac (Pera) koristi (Mikin) javni ključ primaoca kako bi šifrovao tekst koji sadrži Perinu otvorenu poruku Miki i generisani digitalni potpis. Tako dobijeni šifrat Pera šalje Miki i usput mu šalje i svoj javni ključ.
Kada Mika dobije šifrovanu poruku, on koristi svoj privatni ključ (primaoca) kako bi je dešifrovao. Dešifrovanjem Mika dobija otvorenu Perinu poruku i Perin digitalni potpis i sada još samo treba da proveri da li je poruka zaista od Pere. Ako Mika primeni Perin javni ključ, dešifrovaće digitalni potpis i dobiće nečitljivi sažetak Perine poruke. Pošto Mika zna koju je javnu heš-funkciju Pera upotrebio za generisanje sažetka, on je primenjuje na otvorenu Perinu poruku i dobijeni rezultat (novi sažetak) upoređuje sa sažetkom koji je dobijen dešifrovanjem digitalnog potpisa. Ako se ta dva sažetka poklapaju, Mika zna da je Pera zaista potpisao poruku. Tačnije, on zna da je osoba koja mu je poslala šifrat i svoj javni ključ zaista potpisala poruku. Ali ne može da zna da je to zaista Pera, jer ko garantuje da je taj javni ključ Perin? Isto tako, kako Pera zna da je javni ključ koji je koristio prilikom slanja poruke, misleći da on pripada Miki, zaista Mikin javni ključ?.
Proverimo još jednom da li kombinacija tajnog ključa i heš-funkcije zaista identifikuje pošiljaoca. Pretpostavimo da treća osoba (Laza) pokuša da podvali Miki tako što će mu poslati poruku potpisanu kao Pera. Laza mora da ponovi sve ono što radi Pera prilikom slanja poruke Miki, a što smo prethodno opisali. Jedini problem je što Laza ne zna Perin privatni ključ, tako da kada generiše digitalni potpis, mora da upotrebi neki drugi ključ da bi šifrovao sažetak. Kada Mika bude dešifrovao lažni Perin digitalni potpis koristeći pravi Perin javni ključ i kada primeni heš-funkciju na otvorenu poruku, dobiće dva različita rezultata i zbog tog nepoklapanja znaće da je neko treći potpisao poruku. Međutim, ako Mika ne može da proveri da li je javni ključ zaista Perin, već koristi javni ključ koji misli da je Perin, a zapravo je lažni Perin javni ključ koji je poslao Laza (i koji odgovara tajnom ključu koji je Laza koristio da napravi lažni Perin digitalni potpis), onda će Laza prevariti Miku. Dakle, ponovo: kako znamo da je javni ključ koji navodno pripada nekome zaista njegovo vlasništvo? Taj problem se rešava digitalnim sertifikatima za elektronski (digitalni) potpis.
Digitalni sertifikat
Digitalni sertifikat je zapravo potvrda vlasništva nad nekim javnim ključem. U tom smislu, digitalni sertifikat je identifikacioni dokument u rangu lične karte i vozačke dozvole i samo određene institucije (sertifikaciona tela) mogu da ga izdaju. Na primer, u Republici Srbiji MUP, Pošta Srbije, Privredna komora Srbije imaju svoja sertifikaciona tela sa pravom izdavanja digitalnih sertifikata. Digitalni sertifikati se koriste za različite namene:
elektronski (digitalni) potpis
elektronski (digitalni) pečat
potvrdu o vakcinaciji itd.
Kada dobijete digitalni sertifikat, na primer za digitalni potpis, zapravo dobijete par ključeva (javni i privatni) i potvrdu o vlasništvu, sve u elektronskom obliku na nekom memorijskom medijumu (na primer, USB token, bezkontaktna pametna kartica, pametna kartica sa čitačem). Memorijski medijum je zaštićen lozinkom koju takođe dobijate od sertifikacionog tela i koja omogućava da samo ovlašćena osoba može pristupiti podacima (ključevima i sertifikatu).
U slučaju da imate biometrijsku ličnu kartu i tražite digitalni sertifikat od MUP-a Srbije, sertifikat se upisuje na ličnu kartu. Biometrijska lična karta je primer pametne kartice koja zahteva čitač. Kada koristite pametnu karticu sa čitačem, najpre povežete čitač sa računarom, ubacite pametnu karticu u čitač i unesete lozinku dobijenu od sertifikacionog tela. Prethodno je potrebno da instalirate i odgovarajući softver koji omogućava korišćenje čitača kartice (drajveri) i samih sertifikata.
Kada je potrebno da potpišete neki dokument ili poruku svojim digitalnim potpisom, softver za uređivanje dokumenta ili slanje poruke obično sadrži mogućnost da se doda digitalni potpis. Koristeći podatke sa pametne kartice i neki dodatni tekst koji se traži da unesete (na primer, traži se da unesete razlog zašto dodajete digitalni potpis), pritiskom na dugme tipa Potpiši (Sign) ili nešto slično, uz eventualno ponovno kucanje lozinke za pametnu karticu, na kraju se kreira i dodaje digitalni potpis koji samo treba da pogledate i odobrite. Kada se doda digitalni potpis, dokument više nije moguće uređivati, osim ako prethodno ne uklonite digitalni potpis.
Sigurnosni protokoli na internetu
Servisi na internetu, koji zahtevaju identifikaciju klijenta (na primer veb imejl ili pristup udaljenom računaru), danas uglavnom koriste protokole opremljene metodama za šifrovanje i dešifrovanje komunikacije, kako bi se sprečilo da napadač ukrade identitet korisnika (na primer, korisničko ime i lozinku). U tom smislu se prvobitni protokol za veb, HTTP, postupno zamenjuje sigurnijom varijantom HTTPS (HTTP Secured), telnet je zamenjen protokolom SSH, prvobitni FTP sigurnijim protokolima poput SFTP (SSH FTP), FTPS (FTP Secure) itd.
Mehanizmi autorizacije na internetu
Mehanizmi autorizacije na internetu su različiti načini za identifikaciju korisnika, odnosno za utvrđivanje da li je određeni korisnik (klijent) ovlašćen (engl. authorized) da koristi određeni servis.
Lozinke i izazivači
Tipičan primer identifikacije korisnika, ne samo na internetu, jeste nalog sa lozinkom (engl. account). Nalog sadrži dve informacije, korisničko ime (engl. username) i lozinku (engl. password). Za razliku od korisničkog imena koje u nekim slučajevima mora biti javna informacija (na primer, imejl), a u nekim može, ali nije preporučljivo (na primer, nalog za pristup nekom računaru), lozinka je uvek skrivena informacija. Korisnik potvrđuje svoj identitet tako što unosi obe informacije kucanjem odgovarajućeg teksta. Ponekad se pristup određene grupe korisnika rešava time što svako od njih kuca samo lozinku koja je ista za sve članove grupe (na primer, pristup materijalu nekog predmeta na moodle-u), ali tek pošto se svaki korisnik prethodno prijavi sa sopstvenim nalogom. Sa stanovišta sigurnosti i analize eventualnih napada, najbolje je da se svaki korisnik identifikuje svojim posebnim nalogom.
Izazivači mogu da se posmatraju kao posebna vrsta lozinke pri čemu je cilj da se utvrdi da li je korisnik (klijent) čovek ili mašina (program). Naziv su dobili po tome što klijenta koji traži pristup podvrgavaju testu (izazovu) na koji klijent treba da odgovori na način na koji bi samo čovek mogao da odgovori. Test se obično označava akronimom CAPTCHA (engl. Completely Automated Public Turing test to tell Computers and Humans Apart, tj. potpuno automatski javni Tjuringov test za razlikovanje računara od ljudi). Neki tipični primeri izazivača su:
klijent treba da unese nepravilan nacrtan tekst sa slike koji je teško automatski prepoznatljiv u kontekstu ostalih delova slike (ljudsko optičko prepoznavanje karaktera);
klijent treba da reši jednostavan matematički problem, tj. da izračuna neki izraz i da unese njegovu vrednost;
klijent treba da čekira određeno polje za potvrdu (engl. checkbox), na primer, Google reCAPTCHA;
klijent treba da u skupu predloženih slika klikne na one koji sadrže zadati sadržaj, tj. određene predmete ili bića (bicikle, automobile, semafore, mačke itd.).
U pojedinim računarskim mrežama uređaji svoju vezu sa internetom ostvaruju preko posebnog računara (kao posrednika) koji se naziva zastupnički server (engl. proxy server). Na taj način su uređaji zaštićeni u okviru mreže jer svaki spoljni računar sa kojim komuniciraju ima utisak da komunicira isključivo sa zastupničkim serverom, tj. ne vidi ih, pa u slučaju napada na mrežu, eventualno može da strada samo zastupnički server.
Preslikavanje mrežnih adresa (engl. Network address translation, skr. NAT) je sličan koncept zastupničkom serveru, ali sa drugačijim ciljem. Naime, zbog ogromnog porasta broja uređaja na internetu (više od ukupnog broja ljudi na Zemlji), a samim tim i rastućom potrebom za IP-adresama, u računarskim mrežama su uvedene javne i privatne adrese, odnosno eksterne (spoljašnje) i interne (unutrašnje) adrese. Javne, odnosno eksterne adrese su prave IP-adrese, njima se može direktno pristupiti na internetu i one su neophodne uređajima koji povezuju različite mreže (ruteri, engl. routers; mostovi, engl. network bridges; vratnice, engl. network gateways). Ostali uređaji unutar mreže mogu imati javnu adresu, ali zbog uštede adresnog prostora češće umesto nje imaju privatnu IP-adresu, jedinstvenu za svaki pojedinačni uređaj u mreži. Privatne adrese uređajima obično dodeljuje ruter mreže koji, pored svoje javne IP-adrese, poseduje i privatnu IP-adresu. Privatnim adresama se može pristupiti samo u okviru mreže u kojoj su definisane. Na ovaj način se uređajima iz različitih mreža mogu dodeliti iste privatne adrese i neće biti konflikta dokle god je privatna adresa jedinstvena u okviru svake pojedinačne mreže. Tipičan primer privatnih adresa su adrese iz opsega 192.168.0.0 — 192.168.255.255.
Na primer, ako u učionici 4a otkucate na Google-u "What is my IP address?", dobićete 147.91.76.41. U pitanju je javna IP-adresa uređaja preko kog se računari u 4a povezuju sa računarima van mreže Filološkog fakulteta. Ako u Command Prompt-u računara u 4a otkucate nslookup 147.91.76.41, nećete naći kom domenu pripada adresa (jer uređaj nema simboličku adresu), ali ćete zato naći njegovu privatnu adresu: 192.168.0.1. Ako potom pogledate detalje o mreži u Control Panel-u računara u 4a, dobićete njegovu privatnu adresu (na primer, 192.168.2.249), kao i informacije o vratnicama, DHCP i DNS serveru (privatna adresa 192.168.0.1). Ako u čitaču veba pogledate informaciju o zastupničkom serveru, ponovo ćete naići na istu adresu 192.168.0.1. Dakle, uređaj preko kog je 4a povezana sa internetom (javna adresa 147.91.76.41, privatna adresa 192.168.0.1) je istovremeno i zastupnički server i ruter i vratnice i DHCP i DNS server i on dodeljuje privatne dinamičke IP-adrese računarima u 4a.
Određivanje privatne i javne adrese
Posledica ovakve dodele adresa je nemogućnost direktnog pristupa računarima iz 4a sa računara van mreže Filološkog fakulteta, tj. svi spoljni računari nemaju predstavu da komuniciraju sa računarima iz 4a, već isključivo sa uređajem čija je javna adresa 147.91.76.41. Ovaj uređaj prosleđuje poruke spolja pojedinačnim računarima u 4a, čuva njihovu privatnost i presreće sve sumnjive aktivnosti i napade.
NAT je dobio naziv po tome što se menja adrese u paketima koji se šalju. Kada računar iz 4a pošalje paket nekog spoljnom računaru, adresa pošiljaoca je privatna adresa računara (na primer, 192.168.2.249). Kada paket stigne do rutera, pre nego što se pošalje na odredište, ruter zameni privatnu adresu pošiljaoca na paketu svojom javnom adresom (u ovom primeru se 192.168.2.249 zamenjuje sa 147.91.76.41). Kada paket stigne na odredište, primalac ima utisak da je dobio paket od 147.91.76.41, a ne od računara iz 4a. Ako primalac odgovori na poruku, poslaće paket adresiran na 147.91.76.41. Kada 147.91.76.41 dobije paket, pošto vidi da je u pitanju odgovor na njegovu raniju poruku, originalno poslatu od 192.168.2.249, on menja adresu primaoca, tj. svoju javnu adresu na paketu zamenjuje adresom 192.168.2.249, tako da originalni pošiljalac dobija odgovor na svoju poruku.