🔑 Использование TOTP-приложений

Безопасная замена SMS-кодам и защита второго фактора аутентификации (ИАФ.3, ЗКС.1)

Что такое TOTP и как он работает

TOTP (Time-based One-Time Password) — это алгоритм генерации одноразовых паролей, привязанных к времени. При настройке двухфакторной аутентификации сервис и ваше приложение обмениваются секретным ключом (обычно через QR-код). Дальше происходит следующее:

Ключевая особенность: Приложению не нужен интернет. Код генерируется прямо на вашем устройстве локально, что исключает перехват при передаче.

Почему SMS-коды ненадёжны

❌ Небезопасный канал

⚠️ Уязвимости SMS

  • SIM-своппинг: Мошенник перевыпускает вашу SIM → все коды приходят ему.
  • Перехват трафика (SS7): Протокол SS7 был создан десятилетия назад без учёта безопасности. Коды могут быть перехвачены в сети оператора.
  • Зависимость от сети: В роуминге или при плохом сигнале SMS может не прийти вовремя.
  • Нешифрованная передача: Код отправляется по воздуху в открытом виде.

✅ Преимущества TOTP

  • Не зависит от сети: Работает в самолёте, метро, за границей.
  • Защита от SIM-своппинга: Даже если мошенники перевыпустят вашу SIM, ваши TOTP-коды останутся при вас.
  • Короткое время жизни: Код действителен 30–60 секунд. Окно атаки минимально.
  • Локальная генерация: Код никуда не передаётся — он существует только на вашем устройстве.

Сравнение факторов риска по методике ФСТЭК

Фактор риска SMS-код TOTP-приложение Обоснование (ФСТЭК)
Канал передачи Открытый (SS7/GSM). Перехватывается. Отсутствует. Генерация локально. Исключение угроз перехвата (ЗКС.1).
Привязка к идентификатору К номеру телефона (можно перевыпустить). К секретному ключу в Secure Enclave. Устранение зависимости от внешнего ID (ИАФ.3).
Целостность Нет гарантии подлинности отправителя. Детерминированный расчёт. Подделка невозможна. Гарантия подлинности аутентификатора.
Доступность Требует сигнала сети. Работает офлайн. Требуется точное время. Непрерывность функционирования (НФ).
Жизненный цикл Зависит от доставки. Строго 30 секунд. Минимизация экспозиции (УПД.4).

Выбор TOTP-приложения

✅ Рекомендуется

💼 Категория 1: Встроенные в менеджеры паролей

  • Bitwarden, 1Password, KeePassXC: Ключи хранятся в том же зашифрованном хранилище. Автоматическое заполнение и синхронизация между устройствами.
  • Плюсы: Централизованное управление, резервное копирование включено в общую стратегию бэкапа.
  • Соответствие ФСТЭК: Централизованное управление аутентификаторами (усиление ИАФ.3 п.8).

📱 Категория 2: Специализированные автономные

  • 2FAS / Ente Auth: Открытый исходный код, E2EE-синхронизация, биометрическая защита входа, экспорт/импорт резервных копий.
  • Aegis (Android): Полностью локальное, шифрование базы данных, регулярные автоматические бэкапы.
  • Google/Microsoft Authenticator: Базовые решения. Риск единой точки отказа при привязке к аккаунту вендора.
Категория 3: Аппаратные токены (Максимальная защита): YubiKey, Nitrokey, Tangem. Секретный ключ никогда не покидает токен. Соответствует требованию строгой аутентификации с аппаратным средством (ИАФ.3 п.10).

⚙️ Пошаговая настройка и миграция

⚠️ Критически важно: Резервное копирование и восстановление

Если вы потеряете телефон или он сломается, а у вас не будет резервной копии — вы потеряете доступ ко всем аккаунтам, где включена 2FA. Это самая частая проблема при переходе на TOTP.

📋 Обоснование по методике (ИАФ.3, усиление п.10)

Для реализации строгой аутентификации допускается использование мобильного телефона в качестве второго фактора с установленным приложением-генератором одноразовых паролей. Однако для привилегированных пользователей и систем высокого класса защищенности требуется аппаратное средство с неизвлекаемым ключом.

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

  1. Начните с защиты приложения: Установите PIN/биометрию на вход в TOTP-приложение и создайте зашифрованную резервную копию базы. Без этого TOTP становится новой точкой отказа.
  2. Мигрируйте критичные сервисы: Почта, банки, Госуслуги и менеджер паролей должны использовать TOTP или аппаратный ключ. SMS оставьте только для некритичных уведомлений.
  3. Сохраните резервные коды: Распечатайте их или сохраните в менеджере паролей. Потеря доступа к TOTP без резервных кодов означает потерю аккаунта навсегда.
  4. Проверяйте резервные копии: Хотя бы раз в полгода попробуйте восстановить доступ из резервной копии на другом устройстве, чтобы убедиться, что она работает.

TOTP защищает второй фактор, но не заменяет защиту устройства. Эффективность достигается только в связке с надежной блокировкой экрана (Уровень 1) и PIN-кодом на само приложение. 🛡️