Что такое 2FA и зачем она нужна для криптовалюты
Двухфакторная аутентификация (2FA) — вход или подтверждение действия с помощью двух независимых факторов, обычно пароля и одноразового кода из приложения.
Пароль можно подобрать, украсть фишингом или найти в утёкшей базе другого сайта. 2FA добавляет второй барьер: кроме того, что вы знаете (пароль), нужно ещё то, что у вас есть, — телефон с приложением-аутентификатором или аппаратный ключ. Злоумышленнику с одним паролем этого недостаточно.
Самый распространённый вариант — TOTP (RFC 6238). При настройке сервис показывает QR-код с секретом, приложение-аутентификатор сохраняет его и каждые 30 секунд генерирует новый шестизначный код, вычисленный из секрета и текущего времени. Интернет для этого не нужен. Важно сохранить резервные коды или сам секрет: если телефон потерян, без них вернуть доступ будет сложно.
Коды по SMS лучше, чем ничего, но слабее. Номер телефона можно перевыпустить на другую SIM-карту через оператора (SIM-swap), а сообщения перехватить. Для аккаунтов, где лежат деньги, стоит использовать приложение-аутентификатор или аппаратный ключ. И помнить, что одноразовый код не защищает от фишинга полностью: если вы ввели его на поддельном сайте, злоумышленник может использовать его сразу.
В криптовалютных сервисах 2FA важна не только при входе, но и при выводе средств. Транзакцию в блокчейне нельзя отменить, поэтому если украденная сессия или API-ключ позволяют сразу вывести деньги, потеря будет окончательной. Подтверждение каждого вывода вторым фактором превращает компрометацию аккаунта из катастрофы в неприятность.
В Moonvex 2FA включается в кабинете, а каждая выплата подтверждается вторым фактором; ключи подписи при этом хранятся в отдельном сервисе подписи.