️ Лимит попыток ввода TOTP
Что происходит при ошибке кода, рассинхронизации часов и превышении лимита (УПД.4, РСБ.1)
TOTP-приложение не имеет собственного лимита попыток. Оно лишь генерирует код. Лимит устанавливает исключительно сервис (банк, почта, соцсеть), в который вы входите. В отличие от разблокировки телефона, где стандарт ФСТЭК жестко регламентирует 5 попыток, для TOTP единого стандарта не существует.
Критическое правило: Никогда не пытайтесь «подобрать» код TOTP, вводя разные цифры подряд. Поскольку окно допуска расширяет валидность кода, 3–4 неверных ввода за минуту гарантированно приведут к блокировке. Если код не подходит — остановитесь и проверьте время.
🔒 Прогрессивная блокировка (самая частая)
- Механизм: Время блокировки увеличивается с каждой новой неудачной попыткой.
- Пример: 3 ошибки → 2 мин, 4-я → 5 мин, 5-я → 15 мин. После 6-й может наступить перманентная блокировка.
- Нюанс: Обычно используется «окно подсчёта» (например, 30 минут). Если подождать час, счётчик может сброситься.
⛔ Фиксированный лимит
- Механизм: Жесткое ограничение количества попыток (обычно 8–10).
- Последствия: Полная блокировка TOTP-фактора или всей учётной записи.
- Разблокировка: Требуется ключ восстановления (Backup Code) или обращение к администратору/в поддержку.
Ограничение по времени (Rate Limiting): Например, 5 попыток за 5 минут. После этого нужно просто подождать, пока «счётчик» обнулится. Это более мягкая защита, но всё равно требует паузы.
❓ Почему код может не подходить (кроме взлома)?
| Причина |
Решение |
| Рассинхронизация времени |
Проверьте автонастройку даты и времени (NTP). В TOTP-приложении используйте функцию «Коррекция времени» / «Time Sync». Код живет всего 30 секунд, расхождение даже на 5 секунд критично. |
| Ввод старого кода |
Дождитесь смены кода (таймер обнулится) и введите новый. Не используйте код, у которого осталось менее 5 секунд жизни. |
| Опечатка |
Коды состоят из 6 цифр. Копирование надежнее ручного набора. Убедитесь, что вводите код из правильного аккаунта в приложении. |
| Неверный секретный ключ |
Если время точное, а коды никогда не подходят — возможно, при миграции был импортирован поврежденный ключ. Придется перепривязать 2FA в сервисе заново. |
🛡️ Что делать, если вы превысили лимит?
- ⏳ Временная блокировка: Самый частый сценарий. Просто подождите (от 2 до 30 минут, иногда до 24 часов). Счётчик ошибок при этом сбрасывается. Иногда помогает смена сети или использование альтернативного метода входа.
- 🔑 Блокировка TOTP-фактора: Метод отключается, но вы можете войти, используя резервные коды (backup codes). После входа вам предложат настроить TOTP заново. Именно поэтому резервные коды критически важны.
- Полная блокировка учётной записи: Аккаунт блокируется полностью. Единственный способ восстановления — обратиться в службу поддержки сервиса или к администратору системы.
📋 Обоснование по методике (УПД.4, РСБ.1)
Настройте в критичных сервисах оповещение о неудачных попытках входа (мера УПД.6). Если вы получили уведомление о блокировке из-за неверных TOTP-кодов, но сами их не вводили — это признак того, что злоумышленник уже знает ваш пароль и пытается подобрать второй фактор.
- Немедленно меняйте пароль и проверяйте активные сессии.
- Сервисы часто принимают не только текущий код, но и предыдущий/следующий («окно допуска»), чтобы компенсировать рассинхронизацию часов. Из-за этого перебор кодов становится проще, и сервисы вынуждены ставить жесткие лимиты.
🏆 Итоговая рекомендация
- Всегда сохраняйте резервные коды (Backup Codes): Это ваш главный «спасательный круг» при любой блокировке TOTP. Храните их в надёжном месте, отдельно от телефона (менеджер паролей, сейф).
- Проверяйте время перед вводом: Если код не подошёл с первого раза — не паникуйте и не повторяйте ввод вслепую. Убедитесь в синхронизации часов и правильности выбранного аккаунта.
- Не превышайте 2–3 попытки: Каждая новая неудачная попытка приближает вас к блокировке, а время ожидания может увеличиваться экспоненциально. Лучше перезапустить приложение или использовать Push-уведомление, если оно доступно.
Ограничение попыток — это защита от злоумышленников. Если вы столкнулись с блокировкой, значит, система сработала правильно. Но ваша задача — не становиться жертвой собственной невнимательности. 🛡️