️ Лимит попыток ввода TOTP

Что происходит при ошибке кода, рассинхронизации часов и превышении лимита (УПД.4, РСБ.1)

Фундаментальное отличие от PIN-кода

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 в сервисе заново.

🛡️ Что делать, если вы превысили лимит?

📋 Обоснование по методике (УПД.4, РСБ.1)

Настройте в критичных сервисах оповещение о неудачных попытках входа (мера УПД.6). Если вы получили уведомление о блокировке из-за неверных TOTP-кодов, но сами их не вводили — это признак того, что злоумышленник уже знает ваш пароль и пытается подобрать второй фактор.

🏆 Итоговая рекомендация

  1. Всегда сохраняйте резервные коды (Backup Codes): Это ваш главный «спасательный круг» при любой блокировке TOTP. Храните их в надёжном месте, отдельно от телефона (менеджер паролей, сейф).
  2. Проверяйте время перед вводом: Если код не подошёл с первого раза — не паникуйте и не повторяйте ввод вслепую. Убедитесь в синхронизации часов и правильности выбранного аккаунта.
  3. Не превышайте 2–3 попытки: Каждая новая неудачная попытка приближает вас к блокировке, а время ожидания может увеличиваться экспоненциально. Лучше перезапустить приложение или использовать Push-уведомление, если оно доступно.

Ограничение попыток — это защита от злоумышленников. Если вы столкнулись с блокировкой, значит, система сработала правильно. Но ваша задача — не становиться жертвой собственной невнимательности. 🛡️