Каждый код работает ещё минуту спустя после его смены(именно из тех, что использует стим). Ну а принцип работы такой же как у гугл аутентификатора-одноразовые пароли, работают используя timestamp. По идее сервер и клиент генерируют одинаковые коды используя одинаковый ключ каждые n секунд. Клиент отправляет серверу свой код, если код совпадает с тем, что сгенерировал сервер, то клиент прошёл валидацию. Т.е. сервер ничего клиенту отправлять не должен, а если кто-то перехватит код который отправил клиент серверу, то у злоумышленника будет совсем мало времени его реализовать, к тому же этот код одноразовый. И да, timestamp привязан к utc и зависит от часового пояса. Если нужно больше, то гугли TOTP алгоритм.
Как работает Steam Guard?
Интересуюсь, как технически работает аутентификация в Стиме через мобильное приложение Steam Guard?
Напомню что SG в течение каждые секунд 30 генерирует секретный код, который нужно успеть ввести на сайте Стима (если не успел, то вводишь следующий сгенерившийся).
Лучшие комментарии
Насчёт работы в техническом плане можно только догадываться, а то какой смысл в щите который ты сам-же продырявил (рассказал досканально как работает абсолютно всем)?
Я считаю что эти самые коды выдаёт на неопределённое время с подписью времени на каждый цикл когда им показываться/сменяться;
Ещё одна деталь которую я узнал, коды подходят в большем промежутке времени чем 30 секунд — если сменилось, то предыдущий код всё еще будет работать. И также эти коды очень тесно связаны с системной датой, прокрутив на 1 день можно узнать будующие коды, ну и последнее что знает любой, копии кодов есть на серверах Steam с которыми идёт сравнение, проблему с часовым поясом думаю решается путём увелечение времени действия кодов, около 12 часов, не знаю — не проверял и не буду :P *отмечу что это просто догадки — может быть наоборот*
Я считаю что эти самые коды выдаёт на неопределённое время с подписью времени на каждый цикл когда им показываться/сменяться;
Ещё одна деталь которую я узнал, коды подходят в большем промежутке времени чем 30 секунд — если сменилось, то предыдущий код всё еще будет работать. И также эти коды очень тесно связаны с системной датой, прокрутив на 1 день можно узнать будующие коды, ну и последнее что знает любой, копии кодов есть на серверах Steam с которыми идёт сравнение, проблему с часовым поясом думаю решается путём увелечение времени действия кодов, около 12 часов, не знаю — не проверял и не буду :P *отмечу что это просто догадки — может быть наоборот*
Читай также