Найти тему
Цифровой чай

Двухфакторная аутентификация (2FA): TOTP

Оглавление

Часть 1. Что такое TOTP

Нет, я не опечатался, и сегодняшний пост не про ТОРТ 🎂

Продолжаем разбирать методы защиты своих учётных записей с помощью двухфакторной аутентификации (начало
здесь и тут).

TOTP — это
Time-based One-Time Password algorithm, или алгоритм для создания одноразовых паролей, основанных на времени. Использование в быту проще, чем название, и надёжнее, чем SMS.

Как это выглядит?

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

-2

Почему это надёжно?

  • Мало того, что код одноразовый, так он ещё и меняется каждые 30 секунд. Подобрать его из-за этого по сути невозможно (он раньше устареет), и даже его потенциальный перехват осложняет проведение атаки на вас (нужно будет её завершить менее, чем за 30 секунд, пока код не сменился).
  • В отличие от кода из SMS нет привязки к SIM-карте. Огромное преимущество, сразу минус один жирный вектор атаки: используя TOTP, вы защищены от подмены SIM-карты.
  • Как следствие предыдущего пункта — нет необходимости привязывать свой номер телефона к учётной записи. Не страдает ваша анонимность, и меньше звонков из службы безопасности Сбербанка.
  • Все одноразовые коды всегда у вас в приложении, не возникнет ситуации "смс не приходит". TOTP-приложение полностью автономно — ни мобильная сеть, ни Интернет для работы не требуются. В определённых условиях это может здорово облегчить жизнь.

Часть 2. Приложения для TOTP


Примеры популярных TOTP-приложений:

1. Google Authenticator
2. Яндекс Ключ
3. Authy
4. Microsoft Authenticator

-3

Работают они все по одному алгоритму, поэтому выбор — дело вкуса.

Как всё это настроить?

1️⃣ Устанавливаем TOTP-приложение на смартфон.

2️⃣ В настройках учётной записи почты, соцсети и т.п. включаем использование 2FA по TOTP. Обычно это где-то в настройках безопасности.

3️⃣ Сервис покажет QR-код.
Сохраните его прямо сейчас‼️ Он понадобится для восстановления доступа, если что-то случится со смартфоном.

4️⃣ В приложении выбираем пункт "Добавить" и сканируем QR-код. В результате сервис добавится в приложение (появится его название и текущий одноразовый код).

5️⃣ Сервис попросит ввести текущий одноразовый код, чтобы убедиться, что всё сделано верно.

6️⃣
Бинго! Теперь при каждом входе в учётку после пароля нужно будет вводить код из TOTP-приложения. Вы сделали свою аутентификацию неудобной безопасной.

Отмечу и минусы использования TOTP

  • Да, это менее удобно. Безопасность и удобство почти всегда — антагонисты. Но уровень защищённости, который ваша учётка получает, однозначно того стоит.
  • Ответственность за сохранность QR-кода от TOTP — полностью на вас. Относиться к этому нужно так же, как к сохранности паролей.
  • TOTP-приложение установлено на смартфоне, т.ч. это всё ещё объединение двух факторов аутентификации (логин-пароль и одноразовый код) в одном месте. Это риск при заражении смартфона или попадании его не в те руки. Можно использовать для TOTP отдельный смартфон, но вы правда будете так делать?
  • Список ваших сервисов хранится в TOTP-приложении, что создаёт риск утечки этой информации к разработчикам приложения/операционной системы.
  • Ваша почта, соцсеть и т.п. должны поддерживать 2FA по TOTP. К счастью, всё больше сервисов идут этим правильным путём.

Часть 3. Меры безопасности

Безопасность должна быть безопасной (с)

Поэтому при использовании одноразовых паролей важно знать следующие вещи:

  • Надёжно сохраните QR-код. Если потеряете его — рискуете лишиться доступа. Если его подсмотрит злоумышленник — лишитесь этого фактора защиты (и в отличие от подмены SIM-карты даже не узнаете об этом до поры). Я советую сделать несколько копий на бумаге и хранить их в разных местах.
  • Если всё же потеряли QR-код (все копии), но у вас в руках телефон с вашим TOTP-приложением, то вы сейчас в ситуации, когда всё работает, но без страховки. Советую в этом случае в настройках вашей почты/соцсети отключить 2FA по TOTP и включить заново (сгенерируется новый QR-код, сохраните его).

    Оставаться без резервной копии чревато полной потерей доступа.
    В крайнем случае можно будет доказывать поддержке сервиса, что вы — это вы, но пройдёте семь кругов ада, лучше не доводить. Подтверждено опытом многих пользователей.
  • Однажды можете столкнуться с ситуацией, когда вводимые вами TOTP-коды перестанут работать. Не паникуйте. С вероятностью 99,9% произошла рассинхронизация времени между вашим TOTP-приложением и защищаемым сервисом.

    Как вы помните, TOTP-коды меняются каждые 30 секунд, и для корректной работы их часы должны быть синхронизированы точнее, чем у разведчиков на задании. Восстановить синхронизацию времени можно нажатием одной кнопки в настройках вашего TOTP-приложения.

Подводя итоги

Использование TOTP — это самый лучший по соотношению эффективность/доступность метод повышения защищённости ваших учётных записей‼️ Его немногие недостатки с лихвой компенсируются получаемым уровнем безопасности.

📌
Один из лучших прикладных советов по информационной безопасности, который я могу вам дать: включите двухфакторную аутентификацию через TOTP везде, где это возможно!

================
Полная версия блога "Цифровой чай" – в
Telegram. Подписывайтесь.