TOTP

Материал из Энциклопедия интернет-маркетинга MarketWiki

TOTP (Time-based One-Time Password) - алгоритм генерации одноразовых паролей, основанный на временном факторе, при котором код меняется каждые 30 секунд и синхронизируется между сервером и клиентским приложением-аутентификатором (Google Authenticator, Яндекс Ключ, Microsoft Authenticator), обеспечивая двухфакторную аутентификацию без необходимости отправки SMS или push-уведомлений.

В интернет-маркетинге TOTP используется для защиты критических систем, работающих с клиентскими данными: CRM, рекламных кабинетов (Яндекс Директ, Google Ads), платёжных систем и корпоративной почты. Например, маркетолог включает двухфакторную аутентификацию в аккаунте Google, сканирует QR-код в приложении Google Authenticator и при каждом входе вводит пароль и 6-значный код из приложения, который меняется каждые 30 секунд - даже если злоумышленник узнал пароль, без доступа к телефону он не сможет войти.

TOTP является стандартом безопасности, определённым в RFC 6238. В отличие от SMS-кодов, TOTP не требует отправки сообщений (бесплатно) и не зависит от сотовой связи, а в отличие от push-уведомлений, не требует установки отдельного приложения для каждого сервиса. В 2026 году, когда риски взлома аккаунтов и утечек данных остаются высокими, внедрение TOTP для всех критических систем становится обязательным требованием кибербезопасности.

Главное

[править]

TOTP - это приложение на телефоне, которое каждые 30 секунд показывает новый 6-значный код. Пользователь вводит его вместе с паролем, чтобы подтвердить, что это действительно он. Код меняется так быстро, что его нельзя угадать или перехватить.

Что такое TOTP

[править]

TOTP - это реализация двухфакторной аутентификации (2FA), которая использует временной фактор для генерации одноразовых паролей. В отличие от SMS, TOTP не требует отправки сообщений и не зависит от сотовой связи. В отличие от push-уведомлений, не требует установки отдельного приложения для каждого сервиса. Алгоритм основан на HOTP (HMAC-based One-Time Password) с добавлением временного фактора.

Ключевые характеристики: временной интервал 30 секунд (стандарт), длина кода 6 или 8 цифр (чаще всего 6), синхронизация сервера и клиента по секретному ключу и текущему времени, возможность работы офлайн (код генерируется на устройстве без интернета).

Как работает TOTP

[править]
  1. При включении 2FA сервис генерирует секретный ключ (secret key) и отображает его в виде QR-кода.
  2. Пользователь сканирует QR-код приложением-аутентификатором (Google Authenticator, Яндекс Ключ, Microsoft Authenticator, Authy).
  3. Приложение сохраняет секретный ключ в защищённом хранилище устройства, сервис сохраняет ключ на своей стороне в зашифрованном виде.
  4. Приложение вычисляет текущий код по формуле TOTP = HOTP(K, T), где T - текущее время, делённое на 30 секунд.
  5. Пользователь вводит пароль и текущий код из приложения. Сервис вычисляет ожидаемый код по тому же алгоритму и сравнивает с введённым.
Характеристика Описание
Временной интервал 30 секунд (стандарт). По истечении интервала код меняется
Длина кода 6 или 8 цифр (чаще всего 6)
Синхронизация Сервер и клиент используют одинаковый секретный ключ и текущее время
Офлайн-работа Код генерируется на устройстве без подключения к интернету
Стандарт RFC 6238 (IETF)

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

[править]
  • Бесплатность - не нужно платить за SMS-сообщения (экономия для бизнеса).
  • Безопасность - код не передаётся по сети, SIM-свопинг не работает.
  • Офлайн-доступ - код можно получить даже без интернета (например, в самолёте).
  • Стандартизация - поддерживается тысячами сервисов.
  • Кроссплатформенность - один аутентификатор может хранить коды для всех сервисов.

Недостатки

[править]
  • Потеря телефона - при утере телефона доступ к аккаунтам теряется (решение: использовать резервные коды или облачную синхронизацию).
  • Неудобство - нужно открывать отдельное приложение (решение: использовать менеджеры паролей со встроенным TOTP).
  • Отсутствие push - нельзя подтвердить одним нажатием (решение: комбинировать с push для критических систем).

Где используется

[править]
Сфера Применение
Рекламные кабинеты Защита аккаунтов Яндекс Директ, Google Ads, VK Реклама, MyTarget
CRM и аналитика Защита доступа к CRM, сквозной аналитике (Roistat, Calltouch)
Платёжные системы Защита аккаунтов ЮKassa, Robokassa, платёжных шлюзов
Корпоративная почта Защита почтовых ящиков сотрудников (Google Workspace, Яндекс Почта, Microsoft 365)
Сервисы для маркетологов Защита аккаунтов Canva, Figma, Notion, Miro

Сравнение

[править]
Критерий TOTP SMS-код Push-уведомление
Зависимость от интернета Нет Нет (требуется сотовая связь) Да
Стоимость Бесплатно За каждое SMS (1-3 рубля) Бесплатно
Уязвимость Низкая (нет передачи по сети) Средняя (SIM-свопинг, перехват) Низкая
Удобство Среднее (надо открыть приложение) Высокое (код приходит автоматически) Высокое (одно нажатие)
Требования Приложение-аутентификатор Номер телефона Приложение сервиса
Офлайн Да Да (через SMS) Нет

Часто задаваемые вопросы

[править]

Чем TOTP отличается от SMS-кода?

[править]

SMS-код приходит по сообщению - его могут перехватить или подменить SIM-карту (SIM-свопинг). TOTP генерируется на телефоне без передачи по сети - перехватить нечего. Также TOTP бесплатен, а SMS требуют оплаты за каждое сообщение.

Что делать, если потерян телефон с аутентификатором?

[править]

При включении 2FA большинство сервисов выдаёт резервные коды (backup codes). Необходимо сохранить их в надёжном месте (не на телефоне). Если потеряны и телефон, и коды - восстановление доступа происходит через поддержку, что может занять несколько дней.

TOTP и Google Authenticator - это одно и то же?

[править]

Google Authenticator - это приложение, которое использует TOTP. TOTP - это сам алгоритм. Существуют и другие приложения: Яндекс Ключ, Microsoft Authenticator, Authy, а также менеджеры паролей со встроенным TOTP (1Password, Bitwarden).

Нужно ли интернет-соединение для генерации кода?

[править]

Нет. Код генерируется на устройстве по секретному ключу и текущему времени. Интернет нужен только для синхронизации времени (один раз), но в большинстве случаев часы на телефоне синхронизированы автоматически.

Связанные термины

[править]