Резервная копия для Google Authenticator
Двухфакторная аутентификация сейчас пользуется заслуженной популярностью. Аутентификация с использованием Google Authenticator - отличная альтернатива аутентификации на основе SMS сообщений.
Но вот вопрос - что делать если устройство потеряется? А как просто будет перенести данные для авторизации если у вас новое устройство?
Сейчас для того чтобы перенести авторизацию с одного устройства на другое нужно обнулить токены авторизации на одном устройстве и настроить их на другом. Хорошо если у вас только один аккаунт под управлением Google Authernticator - а если десять? У меня сейчас пять таких аккаунтов и их перенос для меня сильно проблематичен.
Не так давно я решил вопрос с потерей устройства регистрируя ключ на двух устройствах одновременно. Но вот у меня появился новый телефон. Проблема встала с новой остротой.
Хочется иметь возможность в любое время развернуть токены с одного телефона на другом. Желательно также, чтобы в любое время я бы имел возможность снести Google Authenticator и заменить его на любой другой, например, на FreeOTP.
Сел разбираться как это, вообще, работает. Оказалось, все до банальности просто. В момент, когда вы настраиваете двухфакторную аутентификацию с использованием Google Authenticator - генерируется секретный ключ, который запоминается на сервере и одновременно вы его фотографируете в виде баркода своим телефоном. Позднее, в момент авторизации - к секретному ключу добавляется текущее время округленное до тридцати секунд и от этого выражения рассчитывается sha1 контрольная сумма. Первые шесть чисел контрольной суммы и есть секретный код отображаемый на мобильном устройстве.
Оказалось, что задача резервного копирования решается не просто просто а очень просто! Значит, чтобы получить на двух телефонах одинаковые коды, нам всего лишь нужно знать этот "секретный" код. А ведь когда мы настраиваем аккаунт нам этот код показывают на экране! Дополнительно, его можно скопипастить в виде текста и сохранить в надежном месте! Далее, просто вводим этот код в ДРУГОЙ телефон и вуаля! Мы имеем ДВА телефона с одинаковыми кодами! Более того, теперь, в случае, если мы сбросили наш телефон до заводских настроек, мы всегда можем восстановить наш Google Authenticator как было!
Таким образом, алгоритм подключения телефона дополняется дополнительным шагом - а именно - сохранением секретного ключа в секретном же месте. После чего, данный секретный ключ может быть введен на любом устройстве, в любое время! Кроме того, вы можете попробовать использовать любые другие OTP программы, например FreeOTP. Который, в отличие от Google Authenticator - полностью открытый и не имеет разрешений ходить в интернет. Да я теперь даже смогу использовать Pebble для авторизации!
Конечно, такая практика несколько снижает криптостойкость всей схемы, ведь теперь секретный ключ хранится в нескольких местах, но тут уж каждый должен сам решать что ему важнее - надежность или проблемы в случае утери устройства.
разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться
комментарии:
Спасибо огромное! Это помоему единственный способ как переносить нормально инфу.
А полностью всё перенести так и не нахожу! Но зато этим способом можно раз и навсегда все перенести не заморачиваясь!