U svijetu u kojem su digitalne prijetnje sve prisutnije, većina nas je uvela dodatni sloj zaštite na svoje najvažnije račune. Bilo da koristimo Google Authenticator, Microsoft Authenticator ili slične alate, navikli smo se na proces u kojem nakon unosa lozinke moramo upisati šestznamenkasti broj koji se svakih 30 sekundi mijenja. Međutim, postoji jedna tehnička zagonetka koja mnoge korisnike zbunjuje: kako aplikacija može generirati točan kod čak i kada je telefon potpuno isključen s interneta ili postavljen u zrakoplovni način rada?
Na prvi pogled, čini se logičnim da telefon mora „pitati“ poslužitelj za novi kod. Ipak, taj proces funkcionira potpuno drugačije. Tajna nije u stalnoj komunikaciji, već u preciznoj matematici i prethodno razmijenjenim informacijama koje omogućuju oba sustava da dođu do istog rezultata neovisno jedan o drugome. Razumijevanje ovog mehanizma ne samo da otklanja nedoumice, već nam pomaže i shvatiti zašto je ovakav način zaštite toliko učinkovit u borbi protiv hakerskih napada.
Sadržaj...
Temelj sigurnosti: Zajednički tajni ključ
Sve počinje u trenutku kada prvi put aktivirate dvostruku autentifikaciju na nekom servisu. Sjećate se vjerojatno onog trenutka kada ste mobitelom skenirali QR kod na zaslonu računala. Taj QR kod nije bio samo vizualni element, već je služio kao siguran način prijenosa zajedničkog tajnog ključa s poslužitelja na vaš uređaj.
Tajni ključ je zapravo dugi, nasumični niz znakova koji služi kao jedinstveni digitalni potpis za vaš račun. Kada skenirate kod, vaš telefon sprema taj ključ u sigurnu memoriju. Od tog trenutka, i poslužitelj i vaša aplikacija posjeduju identičnu informaciju. To je ključni korak jer više nije potrebno slati podatke preko mreže svaki put kada vam zatreba novi sigurnosni kod; aplikacija sada ima sve potrebne sastojke za samostalno izračunavanje lozinke bez ikakve vanjske komunikacije.
Matematika u pozadini: Kako funkcionira TOTP algoritam
Tehnologija koja stoji iza ovog procesa naziva se TOTP (Time-based One-Time Password), što u prijevodu znači vremenski ograničena lozinka za jednokratnu upotrebu. Umjesto da se oslanja na internet vezu, aplikacija koristi kriptografski algoritam koji kombinira dva osnovna podatka:
- Zajednički tajni ključ: Onaj koji je spremljen u vaš telefon prilikom početnog povezivanja.
- Trenutno vrijeme: Točno vrijeme prema svjetskom standardu (UTC), koje je sinkronizirano na vašem uređaju i na poslužitelju.
Algoritam uzima tajni ključ i trenutno vrijeme, koje je podijeljeno u intervale od 30 sekundi, te ih kroz složeni matematički proces pretvara u kratki, šestznamenkasti broj. Budući da poslužitelj koristi potpuno istu formulu, isti tajni ključ i isto vrijeme, on u svakom trenutku zna koji bi broj vaš telefon trebao prikazati. Kada vi taj broj upišete u polje za prijavu, poslužitelj ga usporedi sa svojim izračunom. Ako se brojevi podudaraju, pristup vam je odobren.
Ovaj proces je izuzetno brz i učinkovit. Čak i ako se nalazite u podrumu bez signala ili putujete avionom, vaš telefon i dalje „zna“ koje je vrijeme i posjeduje tajni ključ, što znači da će kodovi biti generirani točno onako kako je predviđeno. Jedini uvjet za uspješan rad je da sat na vašem uređaju bude točno sinkroniziran.
Zašto je ovaj sustav sigurniji od SMS-a?
Mnogi korisnici i dalje preferiraju primanje kodova putem SMS-a, no stručnjaci za sigurnost preporučuju aplikacije za autentifikaciju iz nekoliko važnih razloga. SMS poruke putuju javnim mrežama i podložne su raznim napadima, poput presretanja signala ili krađe identiteta putem SIM kartice (tzv. SIM swapping), gdje napadač uvjeri operatera da on zapravo posjeduje vaš broj.
S druge strane, TOTP aplikacije su daleko




