Двухфакторная аутентификация
Школа ГлавКриптДвухфакторная аутентификация(f2a) — это система доступа, основанная на двух «ключах»: одним владеете вы (телефон, флешка, еще что-то), другой вы запоминаете (обычные логин и пароль). Суть подхода очень проста: чтобы куда-то попасть, нужно дважды подтвердить тот факт, что вы— это вы. Это очень сильно повышает безопасность.
Каким же образом телефон может выступить ключом, самый простой способ - смс. Так делает сбербанк и другие многие другие банки делает. Правда при этом варианте в роли ключа выступает скорее СИМ-карта, а не телефон.
Недостатки этого способа:
- стоимость рассылки СМС;
- ненадежность в рассылке СМС;
- небезопасно, так как СМС появляется на экране телефона. Если злоумышленник рядом с ним, ему не надо разблокировать телефон, чтобы получить код.
Плюсы этого способа:
- это очень просто для пользователя.
В международных сервисах, особенно, связанных с криптовалютой, используется Google authenticator.
Что такое Google authenticator
Если коротко, то на сервере Google запущен алгоритм, который генерирует код, на основе текущего времени, и вашего публичного, и секретного ключа. И у вас в приложении Google authenticator на телефоне запущен такой же алгоритм.
Когда вы вводите код на каком-то сайте, сайт обращается к Google и спрашивает: "Пользователь вот с таким публичным ключем пришел, и говорит, что у него генерировался такой код, это правда?" Google сравнивает сгенерированный код на сервере с тем кодом, который был сгенерирован на телефоне, и если они совпадают, он отвечает сайту - всё ок!
Тут ключевая фраза “на основе текущего времени”. Если время на телефоне будет установлено неверное, тогда оно не совпадает со временем на сервере, и сгенерированный код будет разным. Поэтому те, кто хотят пользоваться Google authenticator, который основан на алгоритмах Time-based One-time Password Algorithm и HMAC-based One-time Password Algorithm, должны синхронизировать свои часы со вселенной.
К слову, самая распространенная проблема, из-за которой пользователи не могут пройти свою двухфакторную аутентификацию, это перевод времени на телефоне.
Как настроить Google authenticator
Бывает, что представлен не только Google, но и другие сервисы для двухфакторной авторизации. Но проще и надежнее использовать Google.
Поэтому надо выбрать способ Google Authenticator. И скачать Google Authenticator себе на телефон для iOS или Android. Если не видите ссылок на них, найдите приложение в AppStore или Google Play.
Запускаем приложение, и нажимай кнопку добавить “+”
Выбираем "сканировать штрих-код", и сканируем QR-код на сайте.
Сохраняем код, который находится под QR кодом. "Print and Save the code", этот код потребуется в случае утери доступа к телефону, или если приложение слетит.
В приложении появляется 6-ти значный код. Он обновляется каждые 30 секунд, поэтому злоумышленник не сможет его подобрать!
Остается ввести этот код, и все.
Что делать если коды не подходят:
- Убедитесь, что вы вводите код от этого сайта, и от этого аккаунта;
- Убедитесь, что у вас на устройстве стоит синхронизация времени.
- Если все равно не помогает и у вас Android, то вот еще один способ исправить ситуацию:
- Откройте главное меню приложения Google Authenticator.
- Выберите Настройки.
- Нажмите Коррекция времени для кодов.
- Выберите Синхронизировать.