Dvostepena autentifikacija – objašnjenje

Dvostepena autentifikacija – objašnjenje

U ovom članku, objasniću šta je to dvostepena autentifikacija, zbog čega je važna i kako se u praksi koristi za veću bezbednost – prvenstveno u smislu bezbednosti naloga i podataka (i identiteta) na Internetu.

Sadržaj:

  1. Šta je to autentifikacija?
  2. Šta je to višestepena (višefaktorska) autentifikacija?
  3. Zašto je višestepena autentifikacija važna?
  4. Višestepena autentifikacija u praksi – 2FA
  5. Authy – 2FA urađen kako treba
  6. Završne napomene i lično mišljenje autora


1. Šta je to autentifikacija?

Autentifikacija je potvrđivanje identiteta. Koristiću praktičan primer da to objasnim:

  • Neko vam kuca na vrata. “Ko je?”
  • “- Ja sam.”
  • Ako je ovo glas nekog koga poznajete, upravo ste izvršili autentifikaciju – prepoznavanjem glasa.
  • Ukoliko ste dovoljno oprezni, pogledaćete i kroz špijunku, pre otvaranja vrata. To je autentifikacija korištenjem prepoznavanja lica.

Iako su u ovom primeru korištena dva metoda autentifikacije, to još uvek nije dvostepena autentifikacija, kako ću objasniti u narednom poglavlju:


2. Šta je to višestepena (višefaktorska) autentifikacija?

Da bih odgovorio na ovo pitanje, moram prvo objasniti šta su to faktori autentifikacije. Postoji 5 tipova faktora autentifikacije koji se danas koriste:

  1. Ono što znam (faktor znanja): najčešće korisničko ime i lozinka, ali može biti i na primer “grad u kojem su se moji roditelji upoznali” i slično.
  2. Ono što imam (faktor posedovanja): očigledan primer je ključ, ili kartica za plaćanje, token, USB dongle i slično.
  3. Ono što jesam (faktor inherencije): biometrijski podaci, kao što su: otisak prsta, izgled lica, mrežnjača oka (skenirana), boja glasa. Kao i bihejvioralni biometrijski podaci poput načina hoda, kucanja na tastaturi, načina izgovaranja reči…
  4. Gde se nalazim (faktor lokacije): utvrđuje se pomoću GPS-a na mobilnom telefonu, IP adrese sa koje se pristupa (ako se autentifikacija vrši Interneta), ili čak utvrđivanjem činjenice da je osoba ušla u nadzirani restriktivni prostor (recimo korištenjem fiksne telefonske linije iz kancelarije, policijske stanice, predsedničkog kabineta…).
  5. U koje vreme se autentifikujem (vremenski faktor): ograničavanje pristupa sistemu van određenog vremenskog intervala, dodela ključeva/tokena sa kratkim, ograničenim vremenskim trajanjem i sl.

Da bi se autentifikacija mogla smatrati višestepenom, moraju se koristiti barem dva različita faktora autentifikacije.


3. Zašto je višestepena autentifikacija važna?

Recimo da neko ko vas dobro poznaje provali vašu lozinku za elektronsko bankarstvo. Lozinka je faktor znanja. Osoba koja vas dobro poznaje, možda će moći bez problema da prođe i druge autentifikacije bazirane na faktoru znanja (ako ih je banka postavila): gde su se vaši roditelji upoznali, u koju školu ste išli itd.

Sa druge strane, ako bi postojao još jedan faktor sigurnosti, recimo verifikacioni kod poslat na vaš mobilni telefon, hakovanje računa bi bilo znatno otežano, jer bi dolazak u posed telefona (ili presretanje i dekriptovanje poruke na telefonu) tražilo još dosta truda.

Dakle, bilo koji faktor autentifikacije se može “provaliti”, ali je potrebno puno više truda da se nekoliko različitih faktora autentifikacije provale odjednom. Na primer, ako imate podešenu višestepenu autentifikaciju za online-banking aplikaciju, pa saznate da su lozinke korisničkih naloga banke provaljene, vaš nalog će i dalje biti obezbeđen dodatnim faktorom autentifikacije i imaćete vremena da promenite svoju lozinku.

Nadam se da je sada jasan značaj višestepene autentifikacije?


4. Višestepena autentifikacija u praksi – 2FA

Danas je u praksi najrasprostranjeniji model višestepene autentifikacije dvostepena autentifikacija, takođe poznata kao 2FA (eng. 2 Factor Authentication). Obično kombinacijom lozinke (faktor znanja) i potvrde kodom sa aplikacije za mobilni telefon, ili SMS poruke (faktor posedovanja).

Važno je napomenuti da se SMS poruke relativno lako presreću, tako da je za 2FA puno bezbednije koristiti aplikaciju za mobilni (koja koristi kriptovanu vezu za Internet). Najpoznatija aplikacija je Google Authenticator. Velika većina sajtova podržava 2FA logovanje pomoću ove aplikacije.

Kako to radi? Kada podešavate 2FA za neki sajt, server generiše tajni ključ i šalje ga aplikaciji (na mobilnom telefonu). Kasnije, kada se pokušavate ulogovati pomoću 2FA, server izračuna neku vrednost (obično šestocifreni broj) na osnovu određene matematičke formule koja koristi trenutno vreme i tajni ključ (podeljen sa aplikacijom pri podešavanju 2FA). Ipak, taj broj se ne prikazuje! Mobilna aplikacija, kada je pokrenete, računa broj istim algoritmom. S tim što, za razliku od servera, ona pokazuje taj broj – kako biste ga mogli uneti na sajtu i time se autentifikovati.

Ovaj broj se još naziva i “privremena lozinka za jednokratnu upotrebu” (eng. TOTP – Temporary One-Time Password). Obično važi 30 sekundi, a onda se računa novi broj, koji opet važi svega 30 sekundi.

Šta se dešava ako ne možete koristiti mobilni telefon, ili ako je ukraden, izgubljen? Pa, prilikom podešavanja 2FA, obično dobijate i nekoliko bekap kodova (svaki pojedinačni se može koristiti samo jednom, tj. za jednokratnu upotrebu), baš u slučaju ovakvih situacija. Gde te kodove čuvati? O tome u posebnom članku. Ipak, postoji i još elegantnije rešenje, o tome u narednom poglavlju:


5. Authy – 2FA urađen kako treba

Authy je aplikacija za dvostepenu autentifikaciju koju je napravila kompanija Twilio. Iste one koja je napravila SendGrid. Besplatan je (obrazloženje Twilio-a je da kompanijama prodaju ovu aplikaciju kako bi omogućile 2FA logovanje na svoje servere).

Radi praktično isto što i Google Authenticator i 99% sajtova koji podržavaju njega, radiće i sa Authy.

Authy - aplikacija za dvostepenu autentifikaciju
Authy – aplikacija za dvostepenu autentifikaciju

Zbog čega više volim Authy? Zato što se može postaviti i na bilo koji računar, ne samo na mobilni telefon. Samo autorizujete računar pomoću aplikacije (procedura je slična postavljanju 2FA na bilo koji sajt). Možete računaru dati opisno ime lako za pamćenje (Posao, Home, Laptop…). U slučaju da je bilo koji računar kompromitovan (ukraden), možete ga, preko bilo kojeg drugo autorizovanog uređaja/računara, obrisati sa liste autorizovanih. Mada su i autorizovani uređaji zaštićeni lozinkom, kao dodatna mera bezbednosti, tako da na primer kolega ne može na brzinu sesti za računar i (zlo)upotrebiti vaš Authy 2FA.

Meni je puno praktičnije kada ne moram uzimati mobilni telefon, već mogu koristiti računar sa kojeg već radim za logovanje. Takođe, ne moram ispucavati bekap kodove za autentifikaciju u slučaju da mi mobilni iz bilo kojeg razloga ne radi, ili nije trenutno dostupan.

Naravno, ako vam je mobilni ukraden, ulogujte se na svaki sajt i napravite novu 2FA sa novim telefonom – ovo važi za sve 2FA aplikacije, ne samo za Authy.


6. Završne napomene i lično mišljenje autora

Poželjno je koristiti 2FA za sve stvari koje su vam bitne, odnosno one za koje bi u slučaju neovlaštenog pristupa imali ozbiljnih problema. Nalog za banku, ili Fejsbuk stranicu – na vama je da procenite.

Kao što sam pisao u članku o bezbednosti sajtova, ni jedan sistem nije 100% bezbedan (odnosno, 100% bezbedan sistem je neupotrebljiv, po definiciji). Ipak, višestepena autentifikacija u ogromnoj meri povećava sigurnost, bez uvođenja previše komplikacije i “cimanja”. Takođe, preporučujem da pročitate i poglavlje o bezbednim navikama iz gore pomenutog članka.

Višestepena autentifikacija vas štiti, pored “opakih hakera” i od slučajnih grešaka kao što je kliktanje na phishing link i neoprezan unos lozinke na pogrešnom sajtu (koji bi je posle sačuvao i upotrebio na pravom). Mislim da je to, pored jake lozinke (i ovo je važno i ne treba to zanemariti), najmanje što možete uraditi za bezbednost svoje imovine, pa i svog identiteta na Internetu (i šire).

Share...

Komentiraj

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.