Комментарии пользователя rnik

Мои комментарии:в блогах в форуме
Ответы мне:в блогах в форуме
Все комментарии: к моим постам
NOT A HAMSTER, 

Это устройство работайт оффлайн, без связи. То есть сначала на него каким-то образом нужно записать секретные данные, во время изготовления или перед тем, как передать пользователю. Но когда вы его получаете, оно уже настроено и работает без какого-либо взаимодействия с другими системами.

Как и зачем это работает. Допустим, у меня есть сервер. Я для вас генерирую пароль, сохраняю его на сервере и на устройстве, которое вам передаю. Теперь сервер и устройство знают пароль, который больше никто не знает. Но если вы будете этот пароль использовать, как есть, то возникает несколько проблем:
— пароль или слишком короткий и не надежный, тогда его легко подобрать, либо длинный и сложный его долго и неудобно вводить и сложнее отображать на устройстве
— если кто-то подсмотрит или перехватит пароль, то позднее сможет получить доступ к серверу

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

Минус такого подхода в том, что данные для генерации токена хранятся на сервере, если кто-то взломает сервер и сможет прочитать эти данные, то сможет и генерировать коды. Но пароли на сервере не хранятся, поэтому войти с кодом но без пароля все равно не получится.

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

Этот подход в одну сторону работает. Вы можете подтвертить при входе на сервер, что у вас есть генератор кодов. То есть сервер может проверить, что у входящего есть код для аккаунта, но вы сами не можете проверить подлинность сервера или подлинность чужих кодов. Это не имеет никакого отношения к криптовалюте! Это именно аналог подтверждения входа по SMS, как у вас на скриншоте в посте и написано. Но для SMS нужна связь, потому что там данные передаются. А тут секретные данные для генерации уже были заранее записаны, поэтому ничего передавать не нужно, и батарея нужна только чтобы непосредственно перед генерацией включить устройство, провести опеределенные специализированные вычисления на специальных энергоэффективных микросхемах, которые больше ничегоне умеют, кроме генерации этого кода, поэтому и батареи на долго хватает. Если 5 раз в день генерировать код, примерно по одной минуте, то получается 5 минут в день, или примерно 6 полных дней работы за 5 лет. Как долго тетрис мог работать без смены батареек? А тут вычислений меньше, поэтому никакой магии в долгой работе нет.

avatar
  • 19 декабря 2025, 08:46
  • Еще
Выберите надежного брокера, чтобы начать зарабатывать на бирже:
....все тэги
UPDONW
Новый дизайн