Что такое TOTP-код: одноразовые пароли на основе времени

Что такое TOTP-код: одноразовые пароли на основе времени

Что такое TOTP-код: одноразовые пароли на основе времени

Вы входите на новый сайт, а он просит «шестизначный код из приложения-аутентификатора». Этот код — TOTP, одноразовый пароль на основе времени, и это самый дешёвый способ всерьёз усилить защиту аккаунта. Разберём, что это за код, почему он меняется каждые 30 секунд и как включить его так, чтобы не остаться без доступа к собственному аккаунту.

Приложение при этом устанавливать не обязательно: 2fa.1mail.lt — бесплатный TOTP-аутентификатор, который работает прямо в браузере. Вставьте секретный ключ, который выдал сайт, — и сервис будет генерировать те же шестизначные коды, что и любое приложение, полностью на вашем устройстве: на сервер не уходит ничего.

Что такое TOTP простыми словами

Когда вы включаете двухфакторную аутентификацию, сайт передаёт вашему аутентификатору секретный ключ — короткую строку, обычно упакованную в QR-код. Дальше аутентификатор соединяет этот секрет с текущим временем и пропускает результат через одностороннюю функцию. На выходе получаются те самые шесть цифр; время меняется — меняется и код, по умолчанию каждые 30 секунд.

Самое важное: секрет знают и сайт, и ваш аутентификатор, поэтому оба вычисляют один и тот же код независимо друг от друга. Передавать по сети ничего не нужно — именно поэтому TOTP работает даже в авиарежиме. Это открытый стандарт (RFC 6238), поэтому коды из Google Authenticator, Authy, 1Password и веб-аутентификатора 1mail взаимозаменяемы: все они считают одну и ту же математику.

Чем код на 30 секунд лучше кода из SMS

  • Ему не страшна подмена SIM-карты. Злоумышленник, перехвативший ваш номер телефона, получит SMS-коды — но TOTP-секрет сотовой сети даже не касается.
  • Он работает офлайн — в самолёте, за границей без роуминга, где угодно.
  • Украденный код сгорает за секунды: выманенный фишингом код уже через минуту почти бесполезен.
  • Сайту он тоже ничего не стоит — поэтому всё больше сервисов предлагают TOTP и понемногу отговаривают пользователей от SMS.

Включаем TOTP на любом аккаунте

  1. В настройках безопасности аккаунта найдите пункт «двухфакторная аутентификация» или «приложение-аутентификатор» и начните настройку.
  2. Сайт покажет QR-код. Поищите рядом ссылку вроде «не получается отсканировать?» — она показывает секретный ключ текстом.
  3. Откройте веб-аутентификатор (или любое приложение-аутентификатор) и добавьте секрет. Шестизначный код появится сразу, вместе с кольцом обратного отсчёта.
  4. Введите текущий код на сайте, чтобы подтвердить привязку.
  5. Сохраните резервные коды, которые предложит сайт, и уберите копию секретного ключа в надёжное место. Именно этот шаг все пропускают — и потом жалеют.

Секретный ключ — то, что нельзя терять

Ваши коды восстановимы ровно настолько, насколько восстановим секрет, из которого они считаются. Если копия секретного ключа (или исходного QR-кода) лежит в менеджере паролей или распечатана и убрана в ящик стола, вы за секунды восстановите коды на любом устройстве. Если же пропали и секрет, и устройство, где он хранился, обратно вас пустят резервные коды. А если вы пропустили и их — останутся обращение в поддержку и проверка документов. Две минуты на сохранение сейчас экономят две недели восстановления аккаунта потом.

«Код не подходит» — почти всегда дело в часах

TOTP держится на точном времени. Если часы устройства убежали хотя бы на полминуты, коды начнут получаться «неправильными». Лечится это просто: переключите часы на автоматическую синхронизацию по сети. Веб-аутентификатор 1mail использует часы вашего устройства и показывает, сколько секунд осталось жить текущему коду, — так что если коды раз за разом не подходят, сначала проверьте часы, а потом уже паникуйте.

Коды — половина дела: пароль всё ещё важен

TOTP выручает, когда пароль утёк, но слабый пароль он сильным не сделает. Дополните коды длинной и уникальной парольной фразой для каждого аккаунта — бесплатный генератор парольных фраз pass.1mail.lt собирает такие, которые реально запомнить. И раз любой аккаунт начинается с адреса электронной почты, полезно знать, как проверить, существует ли email-адрес, прежде чем доверять тому, кто за ним стоит.

FAQ

Безопасен ли аутентификатор в браузере?

Аутентификатор 1mail вычисляет коды целиком на вашем устройстве, средствами встроенной в браузер криптографии; секрет никуда не загружается. Пользуйтесь им на устройстве, которому доверяете. Для самых ценных аккаунтов — основной почты, банка — золотым стандартом остаются отдельное приложение или аппаратный ключ на заблокированном устройстве.

Чем 2FA отличается от TOTP?

2FA — это идея: подтверждать личность вторым фактором, а не только паролем. TOTP — один конкретный и очень удачный способ это сделать. SMS-коды, push-уведомления и аппаратные ключи — другие способы.

Может ли один аутентификатор хранить коды нескольких аккаунтов?

Да. У каждого аккаунта свой секрет, а аутентификатор просто хранит столько секретов, сколько вы добавите. Лимита нет, и друг другу они не мешают.

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

Если секретный ключ или резервные коды сохранены — ничего страшного: добавьте секрет на новое устройство и работайте дальше. Ровно поэтому пятый шаг настройки важнее всех остальных.

Истекают ли TOTP-коды?

Каждый одноразовый код живёт 30 секунд, но секрет за ними живёт, пока вы или сайт его не отзовёте. Большинство сайтов из снисхождения к медленному вводу ещё несколько секунд принимают и предыдущий код.

Хотите попробовать? Откройте бесплатный онлайн-аутентификатор, добавьте первый секретный ключ — и повесьте на самый важный аккаунт замок, который не открыть утёкшим паролем.

Теги:
#TOTP # двухфакторная аутентификация # одноразовый код # аутентификатор # 2FA # безопасность аккаунта # секретный ключ