( sz332 | 2025. 01. 04., szo – 21:51 )

TOTP esetén a szerver generál egy secret-et (random cucc) amit megoszt a másik féllel (általában QR kód formájában). Ezt a fél beolvassa egy authentikátor alkalmazásba. Amikor használni akarják akkor az authentikátor alkalmazás a secret-ből és az aktuális időből generál egy (általában 6 számjegyű) kódot, amit a felhasználónak meg kell adnia a szervernek. A szerver mivel tudja ki a felhasználó, ezért a felhasználóhoz tartozó shared secret-et "felolvassa", majd pedig ebből ő is ugyanúgy generál az aktuális időnek megfelelő 6 számjegyű kódot. Ezt összehasonlítja azzal amit a felhasználó beírt, és ha egyezik, akkor ez igazolja hogy a felhasználó is a közös titok birtokában volt, ha nem, akkor pedig nem. Mivel a kód egy időablakhoz tartozik (konfigurálható, általában 30 másodperc) ezért általában el szokták fogadni a -1,+1 időablakban generált kódokat is az óra elcsúszások/hálózati késleltetés miatt. Jobb helyeken pedig vizsgálják azt is hogy hányszor próbálkozott a felhasználó, és ha túl sokszor, akkor kitiltják a bejelentkezést.