Google Authenticator работает без интернета благодаря алгоритму генерации кодов с привязкой к времени. 2
Принцип работы: 5
- Сервис, в котором происходит аутентификация, и аутентификатор запоминают секретный ключ. 5 Он содержится в QR-коде, с помощью которого подключают аутентификацию для сервиса в приложении. 5
- В дальнейшем на основе этого числа и текущего времени по одинаковому алгоритму генерируются одноразовые коды — одновременно и на стороне аутентификатора, и на стороне сервиса. 5
- Пользователь вводит код, который сгенерировало приложение, и сервис сравнивает его с тем, что сгенерировал он сам. 5 Если коды совпадают, пользователя пускают в аккаунт. 5
Таким образом, зная начальный код, время его ввода и промежуток между обновлениями, можно получить код, действительный в любое другое время (и только в это время). 3