Сергей Кузнецов, Ещё вариант вот надумал:
Можно ещё обязательно просить резервную почту при регистрации (для восстановления акка при потере основной почты и для акцептирования вывода средств через клик по присылаемому линку) и никогда потом не показывать её в аккаунте залогиненому юзеру.
И если он захочет вывести - то туда присылать линк (с hash-подписью).
Ни в коем случае не авто-логинить юзера после того, как он дёрнет линк!
А по клику, попросить ещё раз указать номер кошелька/карты (для подтверждения с тем, куда хотят вывести в аккаунте), куда будет осуществляться вывод средств.
Если линк из письма дёрнули и ввели всё также, как и указали на сайте, то вывод средств - заапрувлен юзером и можно выводить.
PS: Сам линк - из поддомена основного (или другой домен) (чтобы куки основного домена - не передавались!). Например, "href.domain.com" (или что-то подобное...).
Сергей Кузнецов, это каким таким?
Аналоги - есть для любой платформы, включая под платформу J2ME для олдскульных мобил (кстати, очень надёжный вариант!)
Сергей Кузнецов, TOTP - это объект-потомок 2FA. Вы всё верно понимаете.
Т.к. 2FA бывают бесконечного кол-ва видов, включая смс, почту и т.д., то я выделил именно то, что необходимо использовать для повышения надёжности:
1. Должно быть привязано к таймеру (зависеть от времени)
2. Должно быть доступно текущими стандартными средствами (приложение GA или его аналоги)
Почему не СМС/почта/куки?
Потому, что всякие бэкдоры умеют читать СМС. И если Вы всё выполните на одном смарте, то есть шанс, что 2FA в таком случае, просто будет бесполезен.