Get your free and exclusive 80-page Banking Passkey Report
qr code login methods authentication cover

Методы входа по QR-коду и аутентификация

Сравнение входа по QR-коду через нативные приложения и с помощью Passkeys для безопасной и удобной аутентификации. Узнайте, какой метод лучше всего подходит для вашей организации.

Vincent Delitz

Vincent

Created: August 8, 2025

Updated: August 8, 2025


See the original blog version in English here.

Our mission is to make the Internet a safer place and passkeys provide a superior solution to achieve that. That's why we want to keep you updated with the latest industry insights here.

1. Введение: Аутентификация с помощью QR-кодов#

Безопасные и удобные методы аутентификации важны как никогда. Мы ежедневно пользуемся множеством онлайн-сервисов на разных устройствах, и традиционные системы на основе паролей становятся все менее эффективными и более громоздкими. Особенно для компаний с большим количеством пользователей в нативных приложениях (приложения для iOS или Android) это привело к росту спроса на вход по QR-коду, который предлагает быстрый и простой способ аутентификации пользователей без необходимости вводить сложные пароли или даже имена пользователей.

В связи с этим возникают следующие вопросы:

  • Как работает аутентификация по QR-коду с помощью нативных приложений?
  • Чем она отличается от аутентификации по QR-коду с помощью Passkeys?

Native QR Code Revolut Passkeys QR Code Apple

Яркие примеры использования QR-кодов для входа в нативные приложения — это сервисы, ориентированные на приложения, такие как WhatsApp, TikTok или Revolut. В то же время быстро растет список компаний, поддерживающих вход с помощью Passkeys.

В этой статье мы рассмотрим методы аутентификации на основе QR-кодов. Мы не будем рассматривать QR-коды TOTP, используемые для инициализации второго фактора (с помощью дополнительных приложений, таких как Authy или Google Authenticator).

Мы также сравним различные методы аутентификации на основе QR-кодов, изучив их сильные и слабые стороны, а также потенциальные уязвимости.

К концу статьи у вас сложится четкое понимание, подходит ли аутентификация по QR-коду для ваших задач безопасности.

2. Что такое QR-коды?#

QR-коды, или коды быстрого отклика (Quick Response), — это двумерные штрихкоды, которые могут хранить разнообразную информацию, от URL-адресов до простого текста. Изначально разработанные в 1994 году компанией Denso Wave, дочерним предприятием Toyota Group, QR-коды предназначались для быстрого и эффективного отслеживания автомобильных запчастей. С тех пор QR-коды эволюционировали и нашли свое место в различных отраслях благодаря своей способности хранить большой объем данных в маленьком сканируемом квадрате.

Термин «QR Code» на самом деле является товарным знаком Denso Wave, хотя сама технология получила широкое распространение и не ограничивается этим товарным знаком. QR-коды характеризуются черно-белыми квадратными узорами, которые можно сканировать с помощью смартфона или специального сканирующего устройства (QR-сканера) для доступа к закодированной информации.

Поддержка QR-кодов уже несколько лет интегрирована в мобильные операционные системы, такие как iOS и Android. Обе платформы нативно поддерживают сканирование QR-кодов через свои стандартные приложения камеры, что упрощает пользователям взаимодействие с QR-кодами без необходимости в дополнительном программном обеспечении.

Substack Icon

Subscribe to our Passkeys Substack for the latest news.

Subscribe

Как правило, QR-коды, используемые вместе с приложениями, задействуют кастомные URL-адреса или ссылки на приложения. Эти ссылки могут автоматически запускать открытие приложения, если оно установлено на устройстве. Если приложение не установлено, QR-код может направить пользователя в соответствующий магазин приложений для его загрузки и установки, обеспечивая тем самым плавный пользовательский опыт. Ниже приведен список путей, которые Revolut зарегистрировал для обработки в приложении:

https://revolut.com/.well-known/apple-app-site-association
{ "applinks": { "apps": [], "details": [ { "appID": "QUZEZSEARC.com.revolut.revolut", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.test", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.retail.india", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.retail.india-debug", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.invest", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.invest-debug", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.revolutx", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.revolutx-debug", "paths": ["/app/*"] } ] } }

Как видите, обрабатываются все ссылки, начинающиеся с «/app/*». Пример мы рассмотрим в следующем разделе. Встраивая кастомные URL-адреса и ссылки на приложения в QR-коды, компании и разработчики могут создавать персонализированный опыт, который ведет пользователей прямо к нужному приложению или сервису, повышая удобство и безопасность взаимодействия.

3. Вход по QR-коду через нативные приложения#

Вход по QR-коду через нативные приложения использует бесшовное взаимодействие между камерой мобильного устройства и специальными URL-адресами, встроенными в QR-коды. Процесс обычно начинается с того, что пользователь сканирует QR-код, отображаемый на веб-сайте или другом устройстве, с помощью камеры своего смартфона. QR-код содержит кастомный URL-адрес, специально разработанный для взаимодействия с определенным нативным приложением, например, на устройствах iOS или Android.

Например, сервис вроде Revolut может использовать QR-код с URL-адресом, таким как https://revolut.com/app/challenges/qr/e2d78521-d38a-4773-b1b8-27a902a36b4b. Этот URL-адрес будет распознан приложением Revolut, установленным на устройстве пользователя.

Когда QR-код сканируется, операционная система автоматически перехватывает эту ссылку, распознает ее и отображает соответствующее приложение (в примере выше видно, что «Revolut» определен как подходящее приложение), которое затем обрабатывает процесс входа внутри себя. Это взаимодействие обеспечивается механизмами глубоких ссылок (deep linking), которые поддерживают и iOS, и Android, позволяя открывать определенные ссылки непосредственно в установленном приложении, а не в веб-браузере:

Если приложение не установлено на устройстве, операционная система обычно предлагает пользователю установить его, перенаправляя в соответствующий магазин приложений, будь то Apple App Store для устройств iOS или Google Play Store для устройств Android.

Это гарантирует, что даже если у пользователя изначально не установлено приложение, он может быстро и легко его получить, продолжив процесс после установки.

В большинстве случаев существующие клиенты, у которых уже установлено приложение, проходят процесс входа без проблем. Они сканируют QR-код, приложение открывается автоматически, и аутентификация завершается без необходимости вводить имя пользователя или пароль. Этот метод в первую очередь обеспечивает удобство для пользователей, так как во время сканирования QR-кода не передается никакой конфиденциальной информации.

С технической точки зрения происходит следующее: существующий активный сеанс на мобильном телефоне используется для аутентификации нового сеанса на компьютере. Существуют разные техники для этого. Очень подробная версия этого механизма опубликована в техническом документе по безопасности WhatsApp в разделе Client Registration → Companion Device Registration → Link Using QR-Code.

Взято из https://engineering.fb.com/2021/07/14/security/whatsapp-multi-device/

Поскольку WhatsApp с 2021 года поддерживает доступ с нескольких устройств и сквозное шифрование, его архитектура не идеально подходит для аутентификации, так как протокол в первую очередь разработан для приложения обмена сообщениями на нескольких устройствах. Существуют более простые подходы для достижения безопасного «рукопожатия», в зависимости от конкретной реализации аутентификации. Важно помнить, что всегда необходимо обеспечивать безопасную обработку пользовательских сеансов и каналов связи между устройством и сервером. Независимо от сложности реализации входа по QR-коду, следует всегда соблюдать несколько ключевых принципов безопасности:

  1. Целостность сеанса: Существующий активный сеанс на мобильном телефоне, используемый для аутентификации нового сеанса на компьютере или другом устройстве, должен быть надежно проверен. Обычно это включает проверку подлинности сеанса с помощью защищенных токенов или других криптографических методов для предотвращения перехвата сеанса или атак повторного воспроизведения.
  2. Шифрование коммуникации: Вся коммуникация между мобильным приложением, сервером и устройством, запрашивающим аутентификацию, должна быть зашифрована с использованием HTTPS. Это помогает гарантировать, что конфиденциальная информация, включая токены сеанса и данные для входа, не может быть перехвачена или изменена во время передачи.
  3. Безопасная генерация токенов: Любые токены или учетные данные, генерируемые для процесса аутентификации по QR-коду, должны создаваться безопасно. Это может включать привязку токена к запрашивающему устройству (например, к User-Agent браузера) в качестве меры предосторожности, чтобы его нельзя было использовать на других устройствах.
  4. Подтверждение входа пользователем: Перед завершением процесса аутентификации рекомендуется предусмотреть шаг, на котором пользователь может проверить или подтвердить попытку входа. Это может быть уведомление на мобильном устройстве, требующее одобрения пользователя и отображающее детали аутентификации, что добавляет дополнительный уровень безопасности (как видно на скриншоте выше).
  5. Ограничения по времени: Внедряйте ограничения по времени действия QR-кода, чтобы минимизировать риск его использования для несанкционированного доступа, если он попадет в чужие руки. Ограничение временного окна, в течение которого можно использовать QR-код, помогает снизить потенциальные угрозы безопасности. Он должен обновляться автоматически и иметь максимальный срок действия менее 120 секунд, чтобы избежать атак «человек посередине».
  6. Ограничения по местоположению: Ограничения на попытки входа, такие как обнаружение «невозможных перемещений», также должны применяться к QR-кодам. Это может включать автоматическое пресечение попыток входа на основе подозрительных данных IP-адресов, например, если QR-код генерируется в США, а приложение открывается для аутентификации в Европе.
  7. Ограничение частоты запросов, логирование и мониторинг: Внедряйте соответствующее ограничение частоты запросов, логирование и мониторинг для обнаружения и реагирования на любые подозрительные действия, связанные со входом по QR-коду. Это помогает выявлять потенциальные нарушения безопасности и своевременно принимать меры для защиты учетных записей пользователей.
  8. Уведомление пользователя: Успешные попытки входа на новом устройстве должны вызывать отправку пользователю электронного письма с важной информацией (например, когда и где была предпринята попытка входа, с какого устройства и IP-адреса) и инструкциями о том, что делать, если вход был инициирован не пользователем (например, немедленно связаться со службой поддержки, следить за учетной записью или удалить все активные сеансы, если система это поддерживает).

Следуя этим лучшим практикам, компании могут внедрить аутентификацию на основе QR-кода, которая будет одновременно удобной для пользователя и безопасной, используя удобство мобильных устройств и поддерживая надежные меры безопасности для защиты данных и сеансов пользователей.

Slack Icon

Become part of our Passkeys Community for updates & support.

Join

Теперь давайте рассмотрим вход по QR-коду с помощью Passkeys.

4. Вход по QR-коду через Passkeys#

Аутентификация на основе Passkeys предлагает безопасную, межустройственную систему аутентификации, которая интегрирована в экосистемы iOS и Android и описана в стандарте WebAuthn. В настоящее время для межустройственной аутентификации (CDA) через QR-коды можно использовать только Passkeys, созданные на iOS или Android.

4.1 Как работает вход по QR-коду с помощью Passkeys?#

Давайте разберемся, как работает вход по QR-коду с помощью Passkeys. Следующая схема показывает общий обзор различных шагов.

Как в iOS, так и в Android, Passkeys хранятся в нативном аутентификаторе платформы (например, Face ID, Touch ID или Android Biometrics). Это гарантирует, что Passkeys пользователя доступны на всех его устройствах, вошедших в тот же Apple ID (для iOS) или аккаунт Google (для Android) на современных версиях операционных систем.

4.2 Каковы требования для CDA на основе QR-кодов?#

  • Оба устройства должны иметь активное интернет-соединение: Оба устройства, участвующие в процессе аутентификации, должны иметь активное подключение к интернету. Это крайне важно для синхронизации данных и проверки учетных данных во время процесса аутентификации.
  • Оба устройства должны поддерживать Bluetooth: Оба устройства должны поддерживать Bluetooth, и он должен быть включен. Bluetooth используется для установления близости между устройствами, гарантируя, что они находятся рядом друг с другом во время аутентификации, что снижает риск фишинга с удаленного местоположения.

4.3 Недостатки входа по QR-коду через Passkeys#

  • Привязанные к устройству Passkeys на компьютерах: Passkeys, которые привязаны к устройству и находятся на компьютерах, например, на платформах Windows, не могут использоваться для CDA на основе QR-кодов.
  • Зависимость от Bluetooth: Зависимость от Bluetooth иногда может быть недостатком из-за потенциальных проблем с подключением или настроек устройства, которые могут мешать проверке близости по Bluetooth. Хотя установление близости может повысить безопасность, это также может вызвать проблемы с удобством использования, если устройства не могут подключиться через Bluetooth. Однако после успешного сопряжения устройств последующие подключения обычно становятся проще.
Subreddit Icon

Discuss passkeys news and questions in r/passkey.

Join Subreddit

4.4 Преимущества входа по QR-коду через Passkeys#

  • Защита от удаленных фишинговых атак: Использование Bluetooth для проверки близости гарантирует, что оба устройства физически находятся рядом друг с другом во время процесса аутентификации, что снижает риск фишинговых атак с удаленных местоположений.
  • Синхронизированные Passkeys улучшают UX: Синхронизация Passkeys между устройствами также обеспечивает бесшовный пользовательский опыт, поскольку пользователям не нужно управлять несколькими наборами учетных данных.

4.5 Как улучшить UX при входе по QR-коду через Passkeys#

При внедрении межустройственной аутентификации (CDA) на основе Passkeys крайне важно предоставить пользователям четкие инструкции по процессу. Пользователей следует информировать о том, что будет отображен QR-код и что им нужно будет использовать свой мобильный телефон для его сканирования.

По нашему мнению, важно не показывать QR-коды, если у пользователя нет ключа доступа, который можно использовать для CDA. Кроме того, необходимо убедиться, что текущая операционная система и браузер пользователя поддерживают CDA, прежде чем отображать QR-код.

StateOfPasskeys Icon

Want to find out how many people use passkeys?

View Adoption Data

Чтобы эффективно управлять этими сценариями, мы описали все критические случаи в этой статье, поэтому не будем здесь вдаваться в подробности. Наша интеллектуальная система для Passkeys разработана для автоматической обработки таких ситуаций, гарантируя, что QR-коды отображаются только тогда, когда это уместно, и плавно ведя пользователей через процесс аутентификации. Это обеспечивает бесшовный опыт при сохранении высокого уровня безопасности и совместимости на различных устройствах и операционных системах.

5. Сравнение методов входа по QR-коду#

В этом разделе мы подведем итоги по двум основным методам входа на основе QR-кодов, которые мы обсудили в этой статье: вход по QR-коду через нативные приложения и вход по QR-коду через Passkeys. Каждый метод предлагает уникальные преимущества и подходит для разных сценариев использования в зависимости от таких факторов, как безопасность, пользовательский опыт и сложность внедрения.

  • Вход по QR-коду через нативные приложения использует глубокие ссылки для связи QR-кода с конкретным приложением, установленным на мобильном устройстве. Когда пользователь сканирует QR-код, запускается соответствующее приложение, что обеспечивает бесшовный и безопасный процесс входа. Этот метод обычно используется в приложениях, ориентированных на мобильные устройства, таких как WhatsApp, TikTok и Revolut, где пользователи знакомы с окружением приложения и могут легко аутентифицироваться без ввода пароля.
  • Вход по QR-коду через Passkeys использует более продвинутый, межустройственный подход к аутентификации, который интегрируется непосредственно с платформенными аутентификаторами операционной системы (нет необходимости устанавливать какое-либо нативное приложение). Этот метод разработан для обеспечения высокого уровня безопасности, используя синхронизированные Passkeys и требуя, чтобы оба устройства находились в непосредственной близости (проверяется через Bluetooth) во время процесса аутентификации. Этот метод предлагает надежную защиту от фишинговых атак и обеспечивает оптимизированный пользовательский опыт на нескольких устройствах.

Давайте посмотрим, как эти два метода сравниваются и какие у них характеристики:

Сравнительная таблица: Вход по QR-коду через нативные приложения vs. Вход по QR-коду через Passkeys

ХарактеристикаВход по QR-коду через нативные приложенияВход по QR-коду через Passkeys
Требуется приложениеДа, требуется нативное приложениеНет
Требуется внедрение PasskeysНет, независимоДа, пользователи должны согласиться на использование Passkeys
Сложность внедренияВысокаяВысокая
Устойчивость к фишингу / MFAНетДа (устойчивость к фишингу и MFA)
Проверка близостиНетДа
Пользовательский опытБесшовный, если приложение установленоБесшовный, если существует Passkey
Уровень безопасностиСреднийОчень высокий

В сравнительной таблице мы сосредоточились на характеристиках, связанных с аутентификацией, и требования, изложенные в третьем разделе, применимы к обеим альтернативам. Ограничения по местоположению и времени не требуются при использовании Passkeys, поскольку они задействуют устойчивость к фишингу и проверку близости через WebAuthn.

Demo Icon

Want to try passkeys yourself in a passkeys demo?

Try Passkeys

6. Заключение#

Как мы и планировали в начале, мы рассмотрели два самых распространенных сценария межустройственной аутентификации. Давайте кратко их подытожим:

  • Вход по QR-коду через нативные приложения идеально подходит для компаний с большой базой пользователей в нативных приложениях, которые пока не планируют внедрять Passkeys и не слишком обеспокоены фишинговыми атаками. Этот метод обеспечивает удобство и безопасность, используя существующие механизмы аутентификации приложения, что снижает трение для пользователей, которые часто используют приложение, но не помогает при редких входах в приложение.
  • Вход по QR-коду через Passkeys предлагает более безопасный и гибкий вариант, особенно для сред, где необходима межустройственная аутентификация и где Passkeys уже рассматриваются или используются как фактор аутентификации. Используя аутентификацию на уровне платформы и проверку близости на основе Bluetooth, этот метод привносит единственный перспективный метод устойчивой к фишингу многофакторной аутентификации также и в межустройственные сценарии.

Ответим на вопросы, поставленные в начале:

  • Чем отличаются эти два подхода? Каждая организация должна выбрать метод, который наилучшим образом соответствует ее потребностям, учитывая такие факторы, как база пользователей, требования к безопасности и желаемый пользовательский опыт. Для сервисов, ориентированных на приложения, может быть достаточно интеграции входа по QR-коду через нативные приложения. Однако для тех, кто отдает приоритет максимальной безопасности и межустройственным возможностям, вход по QR-коду через Passkeys представляет собой надежное решение.

Независимо от текущей оценки того, какое решение вписывается в существующую архитектуру аутентификации, следует помнить, что Passkeys — это инвестиция в будущее аутентификации, поскольку экосистема явно движется в этом направлении. Раннее начало сбора Passkeys можно сочетать с различными стратегиями CDA.

Learn more about our enterprise-grade passkey solution.

Learn more

Share this article


LinkedInTwitterFacebook

Enjoyed this read?

🤝 Join our Passkeys Community

Share passkeys implementation tips and get support to free the world from passwords.

🚀 Subscribe to Substack

Get the latest news, strategies, and insights about passkeys sent straight to your inbox.

Related Articles