PočetnaSoftverSigurnostDvostruka ili višestruka autorizacija

Dvostruka ili višestruka autorizacija


Sve više (popularnih) web stranica vam nudi mogućnost dvostruke ili višestruke autorizacije, no jeste li se ikada pitali zašto je to tako? Odgovor je vrlo jednostavan – jer običan način autorizacije/autentifikacije više nije dovoljan. Već smo pisali o sigurnosti lozinka ovdje. Logiranje, odnosno spajanje na određeni web servis, web aplikaciju ili nešto treće, samo sa korisničkim imenom i lozinkom nije više sigurno.

Gotovo svakog mjeseca možete čitati na raznim IT portalima kako su hakeri ukrali X milijuna lozinki i kako pod hitno morate promijeniti lozinku ukoliko koristite određeni servis. I tu ne govorimo o lošim servisima koje koristi mali broj ljudi. Tu govorimo o popularnim servisima kao što su Instagram, Twitter, LinkedIn, PayPal, Facebook … Velike kompanije su također ranjive na određene hakerske napade i povremeno se dogode spomenuti sigurnosni incident.

Dobro je dok se radi samo o lozinkama jer većina kompanija može sa nekoliko klikova mišem svima resetirati lozinke i tako učiniti hakerski napad bezvrijednim jer su ukradene lozinke resetirane i bezvrijedne, no to je mala utjeha većini korisnika i kompanija na taj način gubi jako puno novaca, korisnika i sam ugled. Zato su uvedene dvostruke ili višestruke autentifikacije jer je tako gotovo nemoguće neovlašteno ući kao netko drugi na određenu web stranicu ili servis.

Zapravo, dvostruka autentifikacija je nešto što biste obavezno trebali koristiti ako ne želite da vas netko „hakira“ i ako imalo brinete o svojoj sigurnosti. Naravno da to nećete koristiti na nekim malo manje bitnim web stranicama koje posjećujete rijetko ili vam ne predstavljaju veliku vrijednost, no ako koristite Googleove servise (GMail npr.), Facebook, Twitter i slično, svakako biste trebali koristiti dodatne sigurnosne mehanizme. Svaki servis ima svoj način autentifikacije, no o tome više u nastavku teksta.

koncept dvostruke zaštite

Višestruka zaštita
Postoji jako puno pojmova za zaštitu o kojoj mi danas pričamo. Tako ćete naći nazive: Two factor authentication, Two step verification, Multi factor authentication i tako dalje. Sve su to dvostruke ili višestruke zaštite, tako da koji god pojam koristili radi se o naprednijoj zaštiti prilikom autoriziranja korisnika. Mi ćemo koristiti pojam višestruka autorizacija i autentifikacija. Što zapravo znači višestruka autorizacija? To znači da se korisnik predstavlja serveru prilikom spajanja sa barem 2 nezavisna faktora. Prvi je faktor koji samo korisnik zna (recimo šifra, odnosno lozinka), drugi je faktor nešto što samo korisnik ima (recimo token), a reći je faktor nešto što korisnik jest (biometrika). Koristeći dva ili tri faktora prilikom autorizacije, praktički onemogućavate ikome drugome da vas predstavlja odnosno da se spoji umjesto vas.

Broj nezavisnih faktora je jako važan jer je nemoguće doći do svih faktora u isto vrijeme što je zapravo ključno u ovom konceptu. Jedan faktor se nalazi u virtualnom svijetu, a drugi u stvarnom. U „virtualnom svijetu“ se nalazi lozinka koju netko i može ukrasti, no kako će doći do informacije iz realnog svijeta? Hoće li vam ukrasti mobitel, token ili nešto treće što vam je potrebno za logiranje? Vrlo teško i malo vjerojatno. Ovaj koncept zapravo i nije nov i koristi se u svijetu već dugi niz godina, no u računalnom svijetu se počeo koristiti intenzivnije unazad par godina iz već spomenutih razloga.

token

Kada ne možete informacijski sustav zaštititi 100 posto, onda ga morate i možete zaštititi na ovaj način – dodanim vanjskim faktorom. Evo jedan primjer gdje se dvostruka autentifikacija koristi već godinama – banke. Kada dođete na bankomat da biste mogli podignuti novac, odnosno vidjeti uopće stanje vašeg računa, morate prvo ubaciti karticu (nešto što posjedujete), te upisati PIN (nešto što samo vi znate). Ako jedan od ta dva faktora nije dobar, odnosno ne slažu se kartica i PIN, autentifikacija neće uspjeti.

Ako nađete nečiju karticu i ubacite ju u bankomat, šansa da ćete pogoditi PIN je mala, a ako tri puta krivo upišete PIN, ostati ćete bez te iste kartice – bankomat će ju „progutati“ i morati ćete ju podignuti osobno u banci. Kod računala je ipak malo jača autentifikacija jer da i znate nečije korisničko ime i lozinku, a ta ista osoba koristi dodatni faktor autentifikacije, nećete moći pogoditi isti. Recimo da korisnik koristi dodatni token – kako biste pogodili 8 znamenkasti broj? Gotovo nikako. Neki koriste čak i mnogo kompleksnije nizove znakova i brojeva, tako da je šansa mnogo veća da ćete pogoditi loto listić nego taj isti broj koji vam je potreban da biste se logirali na web stranicu ili servis. Uz to, uzmite u obzir da se broj na tokenu generira u ovisnosti o vremenu i izgenerirani broj vrijedi samo određeni vremenski period što još više otežava pogađanje. Shvaćate u kojem smjeru idemo? Matematičke šanse da vam netko provali u servis, a da koristite višestruku zaštitu su ravne nuli.

Faktor znanja
Kao što smo rekli, faktor znanja je nešto što samo korisnik zna i to je najčešći oblik autorizacije korisnika. Samim time što korisnik zna kombinaciju korisničkog imena (ili email adrese) i lozinke je dovoljno da korisnik serveru „dokaže“ da je to stvarno on i da ga server pusti dalje, odnosno da se može spojiti na svoj korisnički račun.

Nadalje, naći ćete mnoge savjete na Internetu koji će vam reći kako napraviti lozinku da ona bude što duža i jača, odnosno da ju je teže pogoditi, no vjerujte nam nije to baš tako. Možete vi imati i lozinku od 30 znakova koja se sastoji od brojeva, malih i velikih slova i ostalih znakova, kada netko može dobiti tu vašu šifru na mnogo načina. Jedan od njih je krađa lozinki, drugi je putem keyloggera koji se postavlja na vaše računalo i tako dalje … Da, dobra šifra je nešto što biste trebali imati, ali ne biste se trebali oslanjati samo na nju. Zato često govorimo da biste trebali koristiti aplikacije kao što su 1Password koje same za vas generiraju lozinke, te ih upisuju u potrebne forme na web stranicama. Na taj način vam keylogger ne može ukrasti lozinku, a imati ćete i lozinku od 30+ znakova koju nitko ne može pogoditi, pa čak ni brute force tehnikom. Postoje još neki „faktori znanja“ s kojima možete pojačati zaštitu vašeg korisničkog računa, a jedan od njih je „tajno pitanje“. To je pitanje tipa „Grad u kojem ste se radili“, „Ime vašeg prvog kućnog ljubimca“ i slično. Ako vas netko poznaje, može na to pitanje lako odgovoriti, osim ako odgovor nema veze s pitanjem, no mi se ne bismo oslanjali na to. Tajno pitanje se često koristi prilikom resetiranja lozinke, što pojedini hakeri često znaju koristiti.

Faktor posjedovanja
Faktor posjedovanja je zapravo faktor koji vam omogućuje jaku zaštitu vašeg korisničkog računa i radi se o predmetu ili nečem drugome što vi posjedujete i do čega se ne može doći u virtualnom svijetu. Jedna od zanimljivih usporedbi je ključanica i ključ. Bez ključa ne možete otključati vrata, zar ne? No, ovo je mnogo kompleksnije od običnog ključa i ulaznih vrata.

Sigurnost informacijskog sustava znači ležu u tome da korisnik posjeduje nešto što nema niti onaj tko pruža uslugu. Samim time je nemoguće iz sustava ukrasti tu informaciju i iskoristiti je umjesto korisnika i iskoristiti to protiv njega. Spomenuli smo biometriku. Ona se koristi prilično rijetko kod web servisa jer nemaju svi čitač otiska prsta ili nešto slično kod kuće, no biometrijski sustavi se koriste u mnogim velikim kompanijama i sustavima jer se tako ljudima onemogućuje pristup onim prostorijama ili dijelovima kompanije za koje nisu ovlašteni i kojima nemaju pristup. Ista stvar je sa trezorom u banci. Samo mali broj ljudi mu može pristupiti i to se moraju autorizirati nekoliko puta, te se još i autorizirati sa jednom od biometrijskih karakteristika. To mogu biti otiska prsta, sken rožnice i slično. U informatici, odnosno na Internetu riječ je isključivo o dva faktora autentifikacije ili više faktora od kojih su neki jednaki ali se vrše preko nekoliko uređaja. Tako neki servisi omogućuju spajanje sa korisničkim imenom/lozinkom, zatim generiranjem broja putem tokena i zatim još dobijete broj putem SMS poruke kojeg upišete da biste se mogli spojiti. U ovom slučaju token i SMS poruka imaju istu zadaću – dati vam broj koji će vam omogućiti spajanje. Iskreno rečeno, to je ipak malo pretjerano i ne treba vam takva zaštita. Dovoljna je dvostruka zaštita.

Token

Postoje dvije vrste tokena – oni koji ne moraju biti spojeni, odnosno autonomni tokeni i oni koji moraju biti spojeni na određeni servis ili medij. Autonomni tokeni („Disconnected tokens“) su zapravo mali uređaji koji vam stanu u džep ili ih možete nositi kao privjesak za ključeve (ne preporučamo!) i najčešće imaju mali display na kojem vam ispisuju brojeve. Postoji opet nekoliko vrsta tokena – oni koji vam odmah generiraju broj kada ih upalite, oni koji zahtijevaju PIN da bi vam izgenerirali broj, te oni koji zahtijevaju da u token umetnete pametnu karticu sa certifikatom pa vam tek onda izgeneriraju broj i tako dalje. Postoji jako puno tokena, no zadaća im je ista – dati vam unikatni broj koji vam služi za logiranje na određeni servis. Postupak je najčešće vrlo jednostavan.

banke koriste tokene

Prilikom spajanja na određeni servis upišete lozinku i korisničko ime, te nakon provjere istih, dobivate novi ekran ili prozor koji vas traži da upišete broj iz tokena. Zatim izgenerirate broj na tokenu kojeg upisujete u odgovarajući prozor. Ukoliko je broj koji vam je token dao dobar, možete se logirati na dotični web servis ili web stranicu … Kako stranica, odnosno server zna da je broj iz tokena dobar? Svaki korisnik ima odgovarajući broj tokena koji se povezuje sa korisničkim računom i svaki token na osnovu tih brojeva generira određene brojeve da biste se vi mogli spojiti. Ukratko – brojevi se generiraju prema određenom kriptoalgoritmu koji uzima spomenuti broj, spaja ga najčešće sa trenutačnim vremenom, te provuče taj isti broj kroz kriptoalgoritam. Iza generiranja ovih brojeva stoji čitava znanost tako da u ovom trenutku to i nije previše bitno. Bitno je da svaki korisnik ima svoj token i nitko se osim njega ne može spojiti bez tog istog tokena. Tokene koristite i prilikom spajanja na web stranicu banke, ne možete izvršiti transakciju putem Interneta bez tog istog tokena i slično … Iako, ne morate imati baš fizički token kod sebe – aplikacija na mobitelu vam može biti token, no o tome nešto kasnije.

Spomenuli smo tokene koji nisu autonomni. Riječ je o tokenima koje najčešće morate USB kabelom spojiti na računalo da bi oni radili. Uz to, najčešće zahtijevaju da u njih „ubacite“ pametnu karticu, odnosno određeni certifikat kako bi oni mogli raditi, no opet se svodi na isto – nakon što dokažete da ste to vi, token će vam izgenerirati broj koji ćete koristiti za nešto – bilo to spajanje na web stranicu, izvršenje bankovne transakcije, potpisivanje digitalnog dokumenta … Prednost tokena je svakako to što daje određenu zaštitu koju je praktički nemoguće zaobići i što daje korisniku određenu sigurnost. Čak i da netko zna njegovu lozinku, ne može se spojiti na njegov korisnički račun. S druge strane, da biste se logirali morate uvijek uz sebe imati token, morate paziti da ga ne izgubite, da vam ga netko ne ukrade i slično. U svakom slučaju, pozitivne strane su mnogo veće od negativnih tako da preporučamo korištenje tokena kada je to moguće.

sms autentifikacija

SMS jednokratna lozinka

Drugi način zaštite korisnika koji je vrlo popularan je SMS jednokratna poruka. Kada kreirate korisnički račun na određenim web servisima, možete mu dodijeliti broj mobilnog telefona koji vam omogućuje ovu vrstu zaštite. Nakon što uspijete verificirati broj mobitela, možete ga koristiti za autentifikaciju. Kao što samo ime kaže, radi se o vrlo jednostavnoj i zanimljivoj zaštiti. Kada se god želite logirati na svoj omiljeni web servis, nakon što upišete korisničko ime i lozinku, dobiti ćete SMS poruku u kojoj ćete vidjeti broj koji vam služi za logiranje. Taj SMS kôd koji dobijete najčešće vrijedi kraće vremensko razdoblje (najčešće 1-3 minute) i ako ga ne iskoristite, on se briše, odnosno prestaje vrijediti. Kada se ponovno pokušate spojiti, nakon isteka spomenutog vremenskog intervala, dobiti ćete novi SMS kôd. I tako svaki put kada se pokušate logirati. Vrlo jednostavna zaštita, a daje vam kao i token određenu sigurnost da se nitko ne može spojiti umjesto vas pa čak i da posjeduje vašu lozinku. Možda vam se to čini kao naporno, odnosno ne želite taj sigurnosni korak, no nije tako.

Cookie većine web servisa traje 7 dana što znači da možete upisati SMS kôd i biti logirani tjedan dana na računalu, a da ne morate upisati taj kôd. Uz to, ukoliko dobijete kôd a niste se pokušali spojiti na web servis, možete biti sigurni da se netko pokušao spojiti umjesto vas što vam može biti indikator da što prije promijenite lozinku jer je moguće da ju još netko zna. No, zahvaljujući dvostrukoj autentifikaciji, ta ista osoba se neće moći spojiti. Vidite koliko je ona zapravo korisna? Takav način autentifikacije vam čak dozvoljava da se bez straha spojite na određeni web servis i na nekom od javnih računala u Internet kafiću, knjižnici … Ne preporučamo da se spajate na web servise na javnim računalima, ali ako vam je to neophodno, sa dvostrukom zaštitom ipak možete biti sigurni da se nitko osim vas neće moći logirati. Mnoga javna računala imaju neku vrstu malicioznog softvera koji prikuplja šifre ili prati svako upisano slovo (razne varijante keyloggera) …

Mobilni telefoni

Mobilni telefoni se također mogu koristiti kao druga razina zaštite i vjerojatno je to najprihvatljivije rješenje za većinu korisnika jer uvijek uz sebe imaju svoj pametni telefon. Malo prije smo spomenuli SMS verifikaciju. Da bi ona bila moguća, morate imati mobilni uređaj na koji će vam poruka doći, tako da bi se i ta vrsta zaštite mogla svrstati u zaštitu koja ide preko mobilnog telefona, no ipak nismo.

Što se mobilnog telefona tiče, mnogi ističu da je jedno od ograničenja to što morate imati pristup pametnom telefonu prilikom autentifikacije. Realno gledajući, tako možemo kritizirati i token jer ga uvijek moramo imati uz sebe, a isto vrijedi i za SMS poruke koje dolaze na mobilni uređaj. Bez obzira na tekstove koji kritiziraju ovaj oblik zaštite, mi mislimo da je prilično dobar. Uostalom, većina korisnika pametnih telefona uvijek ima mobitel uza sebe, tako da to nije nikakav problem. Problem je ako imate više mobitela, te mobitel ostavite, recimo na poslu pa ne možete do njega do slijedećeg radnog dana, no vjerujemo da vam se takve situacije neće događati ili se ne događaju baš često. No, vratimo se na mobilne aplikacije.

Pametni telefoni i tableti omogućuju svojim korisnicima da na njih instaliraju aplikacije koje zamjenjuju token. Što znači da upalite aplikaciju, upišete određeni PIN ili lozinku, te vam aplikacija izgenerira broj koji unesete prilikom spajanja na web servis. Aplikacija radi kao i token, no ima dodatne zaštite koje uklanjaju mogućnost „čovjeka u sredini“, odnosno da netko presretne broj koji vi generirate. „Čovjek u sredini“ (engl. Man in the middle) je zapravo vrsta hakerskog napada koja funkcionira tako da haker presretne poruku koju vi šaljete serveru te vas on blokira i on se spoji umjesto vas na server ili samo „pokupi“ podatke koje će kasnije iskoristiti za spajanje na isti. To funkcionira kada koristite samo jednu vrstu zaštite (korisničko ime + lozinku), no sa tokenima, SMS porukama, mobilnim aplikacijama … gotovo nemoguće. U teoriji postoje određene tehnike s kojima bi se moglo presresti određenu poruku i zaobići ta dvostruka zaštita, ali moraju se poklopiti mnogi faktori i trebate biti jako izloženi napadu da bi netko tako nešto napravio, tako da to nije ni vrijedno spomena.

authy mobilna aplikacija za lozinke

Osim mobilne aplikacije, prilično je korisno uključiti zaštitu „smartphone pust“. Kao što samo ime govori, možete na vaš pametni telefon dobivati obavijesti kada god se nešto dogodi na vašem korisničkom računu. Kada god se netko logira, izmjeni određene podatke, resetira lozinku (ili ju pokuša resetirati), kada netko izvrši ili pokuša izvršiti financijsku transakciju … Jako korisna opcija iako zna ponekad biti iritantna. Pogotovo kada vi radite neke izmjene na svom korisničkom računu, a mobitel ne prestaje zvoniti. No, opet ponavljamo – dovoljno je da samo jednom telefon zazvoni, a da vi niste ništa napravili na tom istom korisničkom računu. To će vam biti upozorenje da netko nešto pokušava napraviti bez vašeg znanja.

Aplikacije i web stranice koje koriste višestruku zaštitu

Očekivali biste da sve web stranice koje imaju malo veći broj korisnika, omogućuju višestruku zaštitu, no to nije baš tako. Nažalost, usprkos svim prijetnjama koje vrebaju na Internetu, veliki broj web servisa se oslanja na to da imaju dobru zaštitu i da njih nitko neće napasti. Tako su mnoge kompanije razmišljale dok nisu bile napadnute, a onda je bilo prekasno. No, upravo su te iste kompanije vrlo brzo nakon napada implementirale dodatnu razinu zaštite. Neke od njih su:

Google/Gmail – Google je u početku nudio jednu vrstu zaštite, a to je bilo putem SMS-a. Dobili ste 6-znamenkasti broj kojeg ste upisali i spojili se na svoj Google, odnosno GMail račun. Zatim su implementirali još 3 vrste zaštite – zaštitu putem telefonskog poziva (dobijete poziv u kojem vam računalo pročita brojeve koje trebate upisati), te pomoću hardverskog ili softverskog tokena.

Facebook – Jednu od boljih zaštita ima upravo Facebook. Riječ je o „login approvals“ mehanizmu, odnosno kada se spajate na korisnički račun, morate odobriti uređaje s kojih se možete spojiti. Kada se prvi puta spojite sa nekog računala, dobijete putem SMS-a 6-znamenkasti broj kojeg upišete da biste odobrili određeno računalo, odnosno uređaj. Na taj način sasvim kontrolirate tko se smije i od kuda spojiti. U svakom trenu možete ukloniti autorizirane uređaje, a mobitel vam postaje „primarni“ uređaj za spajanje i odobravanje drugih.

Twitter – Ista zaštita kao i kod Facebooka. Praktički kopiran sustav odobravanja novih uređaja.

Microsoft – Microsoft nudi također zaštitu slanja 7-znamenkastog broja putem SMS-a ali i korištenje njihove mobilne aplikacije Authentificator koja služi kao softverski token. Nažalost, koristi se samo na WP uređajima.

Ostale kompanije – Većina kompanija zapravo koristi jako slične mehanizme autentifikacije jer su se pokazali dobrima u praksi. Na web stranici https://twofactorauth.org imate popis svih popularnih web stranica i servisa podijeljenih po kategorijama u kojima možete vidjeti koje načine autentifikacije koriste. U biti to je jedan ili više načina od mogućih: SMS, telefonski poziv, email, hardverski token, softverski token. Tih 5 načina autentifikacije je standard i nema potrebe za nekim drugim načinom spajanja kada ovi osiguravaju dovoljno veliku zaštitu. Banke još uvijek prvenstveno koriste tokene bilo hardverske ili softverske što je sasvim u redu jer se tu ipak radi o novcima i mnogo je veća opasnost od krađe.
U svakom slučaju, preporučamo vam korištenje dvostruke zaštite na onim servisima koji su vam važni i koje često koristite. Vjerojatno većina vas koristi Facebook te Googleove servise. Samo da njih zaštitite, napravili ste veliku stvar.

Piše B.P.


RELATED ARTICLES

Komentiraj

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular