Definicja OTP
One-Time Password (OTP) to unikalne, tymczasowe hasło wykorzystywane podczas pojedynczej sesji logowania lub transakcji. W przeciwieństwie do klasycznych haseł statycznych, OTP wygasa po użyciu lub po upływie określonego czasu, co znacznie utrudnia jego przechwycenie i wykorzystanie przez osoby trzecie.
Rodzaje OTP
- TOTP (Time-based OTP) - kod generowany na podstawie aktualnego czasu i tajnego klucza (np. Google Authenticator, FreeOTP).
- HOTP (HMAC-based OTP) - kod oparty o licznik i klucz HMAC, wykorzystywany np. w tokenach sprzętowych.
- SMS OTP - kod przesyłany na numer telefonu użytkownika, stosowany np. w bankowości.
- Email OTP - kod przesyłany e-mailem jako metoda drugiego składnika.
- Push OTP - zatwierdzenie żądania logowania przez aplikację mobilną (np. Duo, Microsoft Authenticator).
Zastosowania OTP
- Logowanie do systemów i aplikacji - jako element MFA (Multi-Factor Authentication).
- Autoryzacja transakcji - np. w bankowości elektronicznej.
- Dostęp do środowisk VPN lub systemów krytycznych.
- Uwierzytelnianie administracyjne i zdalne - np. dostęp do systemów SCADA lub paneli chmurowych.
Porównanie metod OTP
| Metoda | Bezpieczeństwo | Wygoda użytkownika | Zależność od sieci |
|---|---|---|---|
| TOTP | Wysoka | Średnia | Niezależna |
| HOTP | Wysoka | Niska | Niezależna |
| SMS OTP | Średnia | Wysoka | Wymagana |
| Email OTP | Średnia | Wysoka | Wymagana |
| Push OTP | Wysoka | Bardzo wysoka | Wymagana |
Wyzwania i ryzyka
- Ataki phishingowe - użytkownicy mogą zostać nakłonieni do podania OTP na fałszywej stronie.
- Przechwycenie SMS lub e-maila - OTP w transmisji może zostać przechwycone przez atakującego.
- Desynchronizacja tokenów sprzętowych - błędy synchronizacji czasu lub licznika mogą uniemożliwić logowanie.
- Zależność od urządzeń użytkownika - np. zgubienie telefonu z aplikacją TOTP.