Одноразовий пароль (OTP) — код, чинний лише для одного входу чи однієї операції; зазвичай слугує другим фактором під час двофакторної автентифікації.
Як працюють одноразові паролі
Існують різні види OTP:
- TOTP (на основі часу, RFC 6238) — застосунок-автентифікатор і сервер знають спільний секрет і обчислюють той самий шестизначний код за поточним часом, зазвичай кожні 30 секунд. Так працюють Google Authenticator, Microsoft Authenticator і багато менеджерів паролів.
- HOTP (на основі лічильника, RFC 4226) — код змінюється під час кожного використання; часто застосовується в апаратних токенах.
- Коди через SMS, дзвінок чи e-mail — сервіс генерує випадковий код і надсилає його користувачу.
Код швидко застаріває, тому пароля, викраденого під час витоку, уже недостатньо для входу — це блокує більшість автоматичних атак на кшталт підстановки облікових даних і посилює двофакторну автентифікацію.
Слабкі місця OTP
- Фішинг у реальному часі — фішингові набори з посередником пересилають код на справжній сайт за секунди.
- Соціальна інженерія — шахраї-телефонники й «OTP-боти» просять продиктувати код, а смішинг веде на підроблені сторінки для його введення.
- Підміна SIM і перехоплення через SS7 — SMS-коди можна перенаправити на телефон зловмисника.
- Шкідливе ПЗ — банківські трояни для Android читають вхідні SMS.
Рекомендації
- Надавати перевагу застосункам-автентифікаторам над SMS-кодами, а стійким до фішингу passkeys і ключам FIDO2 — над будь-якими OTP.
- Ніколи не повідомляти код тим, хто телефонує чи пише: легітимні сервіси його не запитують.
- Сервісам — обмежувати кількість спроб введення й прив’язувати код до конкретної операції.
Попри недоліки, OTP — великий крок уперед порівняно з одним паролем і важлива частина надійної автентифікації.
Синоніми:
одноразовий код, OTP-код