Time-based One Time Password

A TOTP (Time-based One Time Password - időalapú egyszer használatos jelszó) egy kétlépcsős hitelesítéshez használt algoritmus, ami sokkal erősebb, mint az SMS vagy e-mail alapú kétlépcsős hitelesítés.

A telefonodon egy hitelesítő alkalmazás (pl. Google Authenticator, vagy Aegis) fél percente generál egy új 6 (vagy 8) számjegyű kódot, amit ideiglenes jelszóként lehet használni a kéttényezős hitelesítéskor, és csak fél percig érvényes.

Aegis hitelesítő alkalmazás
Aegis hitelesítő alkalmazás
A hitelesítő alkalmazás működéséhez nem szükséges sem internet elérés, sem telefonhálózati kapcsolat, mert teljesen offline működik az algoritmus. Az egyetlen követelmény az, hogy a telefon órája pontosan legyen beállítva. Ez azért fontos, mert az algoritmus a jelszó generálásának időpontját is belekombinálja a jelszóba, és, ha pontatlanul van beállítva az idő, akkor más lesz a jelszó, mint amit a webhely számított ki, így értelemszerűen nem fogsz tudni belépni.
A legtöbb Androidos mobiltelefon és tablet automatikusan szinkronizálja az időt interneten keresztül NTP használatával a time.android.com oldalról, így ez külön beállítást nem igényel. Vannak olyan hitelesítő alkalmazások, amik figyelmeztetnek, ha az NTP esetleg nincs engedélyezve.

A TOTP algoritmus egy titkos tokent (kb. 32 karakter hosszúságú random karaktersorozatot, amit a webhely hoz létre) és az időpontot kombinálja össze egy kriptográfiai hash funkcióval, és ebből generálja az ideiglenes jelszót.

A jelszavak érvényességi ideje és a számjegyek száma nem feltétlen kell fél perc és 6 karakter legyen. Lehet például 8 karakteres is, és egy percig érvényes, de ezt a weboldal dönti el. Fontos, hogy ugyan azok a paraméterek legyenek beállítva, mint a weboldalon, különben a weboldal és a hitelesítő alkalmazás egymástól eltérő ideiglenes jelszavakat fog kiszámítani, így nem tudsz majd belépni.

A paramétereket (érvényességi idő, számjegyek száma, hash algoritmus) és a titkos tokent a legtöbb weboldalról QR kód szkennelésével is be lehet importálni a hitelesítő alkalmazásba. Ha viszont valami oknál fogva nem működik a szkennelés (pl. betört, sérült kamera), olyankor kézzel is be lehet ezeket írni.

A tokent mindenképp írd le egy papírra is, és tedd biztonságos helyre! Az biztosítja a belépési lehetőséget. Így, ha elveszted a telefonod, be tudod importálni egy másik eszközön.

Sok oldal azt állítja, hogy csak a Google Authenticator-t lehet használni az adott oldalra belépéshez. Valójában a Google Authenticator is a nyílt szabványú TOTP algoritmust használja, így akármilyen másik TOTP-kompatibilis alkalmazás használható a belépéshez. Ajánlott valamilyen nyílt forráskódú alkalmazást (pl. Aegis) használni a Google Authenticator helyett. Miért bíznád a fiókod biztonságát egy zárt forráskódú alkalmazásra?

A TOTP 2FA beállításához itt találsz útmutatót: Kétfaktoros hitelesítés beállítása