QR-авторизация — что это и как влияет на безопасность
Вход в аккаунт без ввода пароля: сервер показывает QR-код с одноразовым токеном сессии, пользователь подтверждает его уже авторизованным приложением на телефоне, после чего новое устройство получает доступ.
Что такое QR-авторизация
QR-авторизация — способ входа в аккаунт, при котором вместо логина и пароля на новом устройстве пользователь сканирует QR-код уже авторизованным приложением на телефоне. Пароль на чужом экране — компьютере в интернет-кафе, публичном терминале — не вводится вообще: подтверждение происходит на устройстве, которому пользователь уже доверяет.
Схема распространилась благодаря мессенджерам: WhatsApp Web и Telegram Desktop показывают QR-код в браузере, а вход завершается сканированием этого кода телефоном. Тот же принцип применяют Госуслуги для входа с нового устройства, часть корпоративных SSO-порталов и отдельные банковские сервисы. Разбор сценария — в статье вход по QR-коду на компьютере.
Как устроен одноразовый токен
Механика в четыре шага:
- Неавторизованное устройство запрашивает у сервера сессию входа. Сервер генерирует одноразовый токен, связывает его с сессией и кодирует в QR-код.
- Пользователь сканирует QR уже авторизованным приложением на телефоне.
- Приложение через собственную действующую сессию отправляет серверу подтверждение, нередко предварительно запросив биометрию или PIN.
- Сервер проверяет, что токен не использован и не истёк, и присваивает новому устройству полноценную сессию.
Токен всегда одноразовый — принцип, знакомый по одноразовым QR-кодам: повторное сканирование того же изображения ничего не даст. Срок жизни короткий — от 30 секунд до нескольких минут, а в мессенджерах код периодически перерисовывается, если его не отсканировали. После входа сервисы обычно отправляют на телефон уведомление о новой сессии — с устройством и геолокацией по IP, — чтобы пользователь мог отозвать чужой вход.
Почему это устойчиво к фишингу — и в чём остаётся риск
Главное защитное свойство — пароль негде перехватить: он не вводится на новом устройстве, и классическая поддельная форма логина здесь бессильна. Токен живёт секунды и привязан к конкретной сессии, подобрать его перебором нельзя.
Остаточный риск — социальная инженерия вокруг самого QR: злоумышленник может получить свежий код на своём устройстве и обманом убедить жертву отсканировать именно его — например, под видом «подтверждения возраста». Тогда токен подтвердит жертва, а сессию получит атакующий — разновидность quishing-атаки, нацеленной не на пароль, а на подмену получателя подтверждения. Поэтому уведомление о новой сессии — не формальность, а последний рубеж защиты.
Где применяется QR-авторизация
Часть сервисов реализует вход по QR как открытый стандарт — Device Authorization Grant (RFC 8628), расширение OAuth 2.0 для устройств без удобной клавиатуры. Другие, включая WhatsApp и Telegram, используют собственный закрытый протокол связывания сессий на том же принципе доверенного подтверждения.
- Вход в веб- и десктоп-версии мессенджеров с телефона.
- Вход на портал Госуслуг с нового компьютера.
- Корпоративные SSO-порталы, нередко в паре с TOTP-кодом как дополнительным фактором.
- Игровые платформы и ТВ, где неудобно набирать пароль пультом.
- Частично — банковские веб-кабинеты при входе с непривычного устройства.
Частые вопросы
Чем QR-авторизация отличается от обычного входа по логину и паролю?
Пароль не вводится на новом устройстве — сервер выдаёт одноразовый токен в виде QR-кода, а подтверждение приходит с уже авторизованного телефона. Классический фишинг формы входа становится бесполезным: красть попросту нечего.
Можно ли перехватить вход по QR злоумышленником?
Напрямую токен перехватить сложно — он короткоживущий и одноразовый. Но атакующий может показать жертве свой QR под благовидным предлогом и получить сессию, если та его отсканирует. Защита — не сканировать чужие QR по чужой просьбе и проверять уведомления о новых сессиях.
Что будет, если не подтвердить QR-код за отведённое время?
Токен истечёт, а QR на экране обычно автоматически обновится — большинство сервисов перерисовывают код каждые 20–60 секунд. Нужно просто отсканировать актуальную картинку ещё раз.
Нужен ли интернет на телефоне, чтобы подтвердить вход по QR?
Да, телефон отправляет подтверждение на сервер через собственное сетевое соединение. Без интернета на телефоне QR отсканировать получится, но подтверждение до сервера не дойдёт и вход не завершится.
Использует ли QR-авторизация протокол OAuth 2.0?
Не всегда. Часть сервисов реализует вход по QR как открытое расширение OAuth 2.0 — Device Authorization Grant (RFC 8628). Другие, включая крупные мессенджеры, применяют собственные закрытые протоколы связывания сессий.
Как закрыть чужую сессию, если вход по QR подтвердили по ошибке?
В настройках безопасности есть раздел активных сессий с указанием устройства и местоположения. Незнакомую сессию нужно завершить вручную, а при подозрении на компрометацию — сменить пароль и включить двухфакторную аутентификацию.
Автор материала
Андрей СамойловЭксперт по QR-кодам и SaaS-маркетингу. 10 лет в SaaS, маркетинге и ИТ.
Об авторе и все материалы