TOTP (например, Google 2FA) - хранение начального времени
Я не уверен, что это правильное место, чтобы спрашивать об этом, но я недавно настроил систему TOTP 2FA из этого урока в Laravel. ( https://www.sitepoint.com/2fa-in-laravel-with-google-authenticator-get-secure/)
Это мой первый раз, когда я углубляюсь в OTP, поэтому я попытался прочитать об этом больше, потому что я не понял этого и столкнулся с этим. ( https://garbagecollected.org/2014/09/14/how-google-authenticator-works/)
Это объясняет, что 6-значные аутентификаторы кода, такие как Google и Authy, представляют собой функцию "секретного" времени seed + unix в зависимости от устройства. Этот 6-значный код, который работает только в течение приблизительно 30 секунд, чтобы учесть разницу во времени, затем аутентифицирует текущего пользователя.
Из учебника выше с сайта, я только сохранил начальное значение. Я не уверен, почему, но меня беспокоит, что я могу создать 6-значный код для аутентификации, ничего не зная о времени устройства.
Я просто разряжаюсь, и аутентификатор (телефоны) и сервер фактически используют одно и то же время NTP на заднем плане?