Резервные коды (backup codes)
Резервные коды — набор одноразовых кодов, который сервис выдаёт один раз при включении двухфакторной защиты. Они нужны, чтобы войти в аккаунт, если телефон с приложением-аутентификатором или SIM-карта потеряны.
Как устроены резервные коды
Когда вы включаете двухфакторную защиту, сервис один раз показывает список заранее созданных кодов. Каждый код работает один раз: после использования он сгорает. Как правило, срока действия у такого кода нет, и этим он отличается от кода из приложения, который живёт 30 секунд. Он нужен на один случай — когда обычный второй фактор недоступен.
Размер набора зависит от сервиса. Google выдаёт 10 кодов по 8 цифр. Выглядят они примерно как 0000 0000 — это условный образец, настоящие коды у каждого свои. GitHub выдаёт 16 кодов. Новый набор делает старый недействительным: если вы запросили его, прежний список можно выбрасывать.
NIST относит такие списки к «секретам-справочникам» (look-up secrets) и требует хранить их на стороне сервиса в виде хешей. Сервис, который следует этому правилу, потерянный набор повторно показать не может — только выпустить новый.
Где хранить и как получить новый набор
- Менеджер паролей. GitHub прямо рекомендует сохранять коды восстановления в нём. Выбирайте хранилище, которое открывается не только с одного телефона.
- Бумага в надёжном месте. Google советует распечатать коды и держать рядом с важными документами, например с паспортом.
- Не рядом с самим вторым фактором. Список только в заметках того же телефона бесполезен именно тогда, когда нужен. Скриншот в галерее с автозагрузкой в облако — тоже плохой вариант: его увидит любой, кто получит доступ к галерее или облаку.
- Не в почте, через которую восстанавливается аккаунт. Если ящик взломают, вместе с ним окажется и запасной ключ.
Получить новый набор можно в настройках безопасности. У Google это «Безопасность и вход» — «Двухэтапная аутентификация» — «Резервные коды». У GitHub — «Password and authentication» — «Recovery codes» — «Generate new recovery codes». У VK ID резервные коды подключаются отдельным вариантом входа («Безопасность и вход» — «Способы входа» — «Двухфакторная аутентификация» — «Дополнительные варианты входа»), список выдают при подключении. Перевыпускайте набор, если коды потеряны, закончились или могли увидеть посторонние. Участникам Программы дополнительной защиты Google резервные коды скачать нельзя.
Чем резервный код не является
| Что это | Откуда | Сколько действует | Для чего |
|---|---|---|---|
| Резервный код | Список, выданный сервисом заранее | Один раз; срок обычно не ограничен | Вход при потере второго фактора |
| Код из SMS | Сервис создаёт под конкретный вход | Несколько минут | Обычное подтверждение входа |
| Код из приложения | Считается из секрета и времени | 30 секунд | Обычное подтверждение входа |
| Ключ настройки (секрет TOTP) | Длинная строка из QR-кода при подключении | Пока не отключите приложение | Позволяет приложению считать коды |
| Кодовое слово в банке | Придумываете вы | Постоянное | Опознание клиента по телефону |
Больше всего резервные коды путают с ключом настройки: его тоже иногда называют «резервным». Но ключом входа он не служит. Он позволяет приложению считать коды, а значит, с ним нужно обращаться как с паролем. От ПИН-кода резервный код отличается одноразовостью — подробнее о постоянных кодах в термине ПИН-код.
Запрос «где найти резервный код» на деле смешанный, потому что у сервисов разное устройство. У Google, GitHub и VK ID резервные коды есть. Telegram работает иначе: двухэтапная проверка строится на облачном пароле и адресе почты для восстановления, а резервных кодов в справке нет. Для записей в приложении «Яндекс ID (Ключ)» служит облачная копия: её открывают номером телефона, кодом из SMS и паролем, заданным при создании. Если и телефон, и коды потеряны, остаётся процедура восстановления у самого сервиса; порядок действий разобран в статье о двухфакторной аутентификации.
Частые вопросы
Где найти резервный код?
Только там, где вы сохранили его при включении двухфакторной защиты: в менеджере паролей, на распечатке или в скачанном файле. Если файл скачивали, у Google его имя начинается с Backup-codes. Потерянный набор сервис обычно не показывает повторно, но позволяет выпустить новый, если вы можете войти другим способом.
Резервные коды закончились. Что делать?
Пока вы ещё можете войти другим способом, откройте настройки безопасности и создайте новый набор: прежний перестанет действовать. Если войти нельзя, остаётся процедура восстановления доступа у сервиса — она занимает время и требует подтверждения личности.
Можно ли использовать один резервный код дважды?
Нет. Код работает один раз и после успешного ввода сгорает. Поэтому отмечайте использованные коды на распечатке и следите, чтобы неиспользованных осталось хотя бы два-три.
Резервные коды и ключ настройки — это одно и то же?
Нет. Резервные коды — одноразовые пароли для аварийного входа. Ключ настройки — постоянный секрет, из которого приложение считает коды TOTP. Утечка ключа раскрывает все будущие коды, поэтому его нельзя фотографировать и пересылать.