Сравнение входа по QR-коду через нативные приложения и с помощью Passkeys для безопасной и удобной аутентификации. Узнайте, какой метод лучше всего подходит для вашей организации.
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.
Безопасные и удобные методы аутентификации важны как никогда. Мы ежедневно пользуемся множеством онлайн-сервисов на разных устройствах, и традиционные системы на основе паролей становятся все менее эффективными и более громоздкими. Особенно для компаний с большим количеством пользователей в нативных приложениях (приложения для iOS или Android) это привело к росту спроса на вход по QR-коду, который предлагает быстрый и простой способ аутентификации пользователей без необходимости вводить сложные пароли или даже имена пользователей.
В связи с этим возникают следующие вопросы:
Native QR Code Revolut Passkeys QR Code Apple
Яркие примеры использования QR-кодов для входа в нативные приложения — это сервисы, ориентированные на приложения, такие как WhatsApp, TikTok или Revolut. В то же время быстро растет список компаний, поддерживающих вход с помощью Passkeys.
В этой статье мы рассмотрим методы аутентификации на основе QR-кодов. Мы не будем рассматривать QR-коды TOTP, используемые для инициализации второго фактора (с помощью дополнительных приложений, таких как Authy или Google Authenticator).
Мы также сравним различные методы аутентификации на основе QR-кодов, изучив их сильные и слабые стороны, а также потенциальные уязвимости.
К концу статьи у вас сложится четкое понимание, подходит ли аутентификация по QR-коду для ваших задач безопасности.
Recent Articles
📖
WebAuthn pubKeyCredParams и credentialPublicKey: CBOR и COSE
📖
Протокол обмена учетными данными (CXP) и формат обмена (CXF)
🔑
Passkeys и WebAuthn PRF для сквозного шифрования (2025)
📖
Подсказки WebAuthn для учетных данных с открытым ключом / User-Agent
📖
WebAuthn Signal API: Обновление и удаление Passkeys на стороне клиента
QR-коды, или коды быстрого отклика (Quick Response), — это двумерные штрихкоды, которые могут хранить разнообразную информацию, от URL-адресов до простого текста. Изначально разработанные в 1994 году компанией Denso Wave, дочерним предприятием Toyota Group, QR-коды предназначались для быстрого и эффективного отслеживания автомобильных запчастей. С тех пор QR-коды эволюционировали и нашли свое место в различных отраслях благодаря своей способности хранить большой объем данных в маленьком сканируемом квадрате.
Термин «QR Code» на самом деле является товарным знаком Denso Wave, хотя сама технология получила широкое распространение и не ограничивается этим товарным знаком. QR-коды характеризуются черно-белыми квадратными узорами, которые можно сканировать с помощью смартфона или специального сканирующего устройства (QR-сканера) для доступа к закодированной информации.
Поддержка QR-кодов уже несколько лет интегрирована в мобильные операционные системы, такие как iOS и Android. Обе платформы нативно поддерживают сканирование QR-кодов через свои стандартные приложения камеры, что упрощает пользователям взаимодействие с QR-кодами без необходимости в дополнительном программном обеспечении.
Как правило, 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-коды, компании и разработчики могут создавать персонализированный опыт, который ведет пользователей прямо к нужному приложению или сервису, повышая удобство и безопасность взаимодействия.
Вход по 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-коду, следует всегда соблюдать несколько ключевых принципов безопасности:
Следуя этим лучшим практикам, компании могут внедрить аутентификацию на основе QR-кода, которая будет одновременно удобной для пользователя и безопасной, используя удобство мобильных устройств и поддерживая надежные меры безопасности для защиты данных и сеансов пользователей.
Теперь давайте рассмотрим вход по QR-коду с помощью Passkeys.
Аутентификация на основе Passkeys предлагает безопасную, межустройственную систему аутентификации, которая интегрирована в экосистемы iOS и Android и описана в стандарте WebAuthn. В настоящее время для межустройственной аутентификации (CDA) через QR-коды можно использовать только Passkeys, созданные на iOS или Android.
Давайте разберемся, как работает вход по QR-коду с помощью Passkeys. Следующая схема показывает общий обзор различных шагов.
Как в iOS, так и в Android, Passkeys хранятся в нативном аутентификаторе платформы (например, Face ID, Touch ID или Android Biometrics). Это гарантирует, что Passkeys пользователя доступны на всех его устройствах, вошедших в тот же Apple ID (для iOS) или аккаунт Google (для Android) на современных версиях операционных систем.
При внедрении межустройственной аутентификации (CDA) на основе Passkeys крайне важно предоставить пользователям четкие инструкции по процессу. Пользователей следует информировать о том, что будет отображен QR-код и что им нужно будет использовать свой мобильный телефон для его сканирования.
По нашему мнению, важно не показывать QR-коды, если у пользователя нет ключа доступа, который можно использовать для CDA. Кроме того, необходимо убедиться, что текущая операционная система и браузер пользователя поддерживают CDA, прежде чем отображать QR-код.
Чтобы эффективно управлять этими сценариями, мы описали все критические случаи в этой статье, поэтому не будем здесь вдаваться в подробности. Наша интеллектуальная система для Passkeys разработана для автоматической обработки таких ситуаций, гарантируя, что QR-коды отображаются только тогда, когда это уместно, и плавно ведя пользователей через процесс аутентификации. Это обеспечивает бесшовный опыт при сохранении высокого уровня безопасности и совместимости на различных устройствах и операционных системах.
В этом разделе мы подведем итоги по двум основным методам входа на основе QR-кодов, которые мы обсудили в этой статье: вход по QR-коду через нативные приложения и вход по QR-коду через Passkeys. Каждый метод предлагает уникальные преимущества и подходит для разных сценариев использования в зависимости от таких факторов, как безопасность, пользовательский опыт и сложность внедрения.
Давайте посмотрим, как эти два метода сравниваются и какие у них характеристики:
Сравнительная таблица: Вход по QR-коду через нативные приложения vs. Вход по QR-коду через Passkeys
Характеристика | Вход по QR-коду через нативные приложения | Вход по QR-коду через Passkeys |
---|---|---|
Требуется приложение | Да, требуется нативное приложение | Нет |
Требуется внедрение Passkeys | Нет, независимо | Да, пользователи должны согласиться на использование Passkeys |
Сложность внедрения | Высокая | Высокая |
Устойчивость к фишингу / MFA | Нет | Да (устойчивость к фишингу и MFA) |
Проверка близости | Нет | Да |
Пользовательский опыт | Бесшовный, если приложение установлено | Бесшовный, если существует Passkey |
Уровень безопасности | Средний | Очень высокий |
В сравнительной таблице мы сосредоточились на характеристиках, связанных с аутентификацией, и требования, изложенные в третьем разделе, применимы к обеим альтернативам. Ограничения по местоположению и времени не требуются при использовании Passkeys, поскольку они задействуют устойчивость к фишингу и проверку близости через WebAuthn.
Как мы и планировали в начале, мы рассмотрели два самых распространенных сценария межустройственной аутентификации. Давайте кратко их подытожим:
Ответим на вопросы, поставленные в начале:
Независимо от текущей оценки того, какое решение вписывается в существующую архитектуру аутентификации, следует помнить, что Passkeys — это инвестиция в будущее аутентификации, поскольку экосистема явно движется в этом направлении. Раннее начало сбора Passkeys можно сочетать с различными стратегиями CDA.
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
Table of Contents