Pretraga...

Dvofaktorska autentifikacija (2FA) – objašnjenje

U ovom članku, objasniću šta je to dvofaktorska 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šefaktorska (višestepena) autentifikacija?
  3. Zašto je višefaktorska autentifikacija važna?
  4. Višefaktorska autentifikacija u praksi – 2FA
  5. Authy – 2FA urađen kako treba
  6. Završne napomene i lično mišljenje autora
  7. Video demonstracija – 2FA instalacija, podešavanje i korištenje


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 dvofaktorska autentifikacija, kako ću objasniti u narednom poglavlju:


2. Šta je to višefaktorska (višestepena) 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šefaktorskom, moraju se koristiti barem dva različita faktora autentifikacije.


3. Zašto je višefaktorska 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šefaktorsku 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šefaktorske autentifikacije?


4. Višefaktorska autentifikacija u praksi – 2FA

Danas je u praksi najrasprostranjeniji model višefaktorske autentifikacije dvofaktorska 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

Ažuriranje 2024:
Ne, zaboga, ne!
Ignorišite sve što sam ispod napisao. Dok ovo pišem, Authy je najavio ukidanje svoje desktop aplikacije u martu 2024. Da stvari budu još gore, Authy je jedna od aplikacija koje ne prikazuju HOTP/TOTP ključeve (pa samim tim i ne omogućavaju njihovo snimanje). To znači da moram isključiti 2FA za svaki nalog sa kojim to koristim, pa ga ponovo aktivirati sa drugom 2FA aplikacijom (nikako Authy). Upravo su ubili jednu (ako ne i jedinu, a svakako glavnu) stvar koja je bila dobra u vezi sa ovom aplikacijom. Moja greška što sam koristio aplikaciju koja ne dozvoljava snimanje ključeva. Izvinjavam se svima koji su poslušali moj savet i koristili Authy aplikaciju.

Moje trenutne preporuke i relevantni izvori na ovu temu:
https://www.bikegremlin.net/threads/bikegremlin-i-o-news.10/post-843

Ukratko:
Koristim “ente Authenticator” za mobilni:
https://apps.apple.com/us/app/ente-authenticator/id6444121398
KeePassXC radi odlično na desktopu za svaki operativni sistem:
https://keepassxc.org/

Zanemarite ovo ispod i preskočite na 6. poglavlje.

Authy je aplikacija za dvofaktorsku 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 dvofaktorsku autentifikaciju
Authy – aplikacija za dvofaktorsku 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šefaktorska 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šefaktorska 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).


7. Video demonstracija – 2FA instalacija, podešavanje i korištenje

Za one koji više vole demonstraciju (kada se pokaže), napravio sam kraći video o instaliranju Authy 2FA aplikacije na mobilni, na računar, o konfiguraciji i upotrebi aplikacije:

How to install and use Authy 2FA?
Authy 2FA instalacija, konfiguracija i upotreba


Molim Vas da koristite BikeGremlin.net forum za sva pitanja i komentare.

Ako ste primetili neku grešku u članku, ili informacije koje nedostaju - molim Vas da mi na to skrenete pažnju komentarom na BikeGremlin forumu.
Na forumu možete pisati anonimno (stavite bilo koje ime/nadimak pri registraciji), ali mislim da je dobro da sve dopune i ispravke članaka budu javno dokumentovane (čak i ako njihov autor izabere da ostane anoniman).

TOC
Skip to content