Мой блог
Как устроены QR-коды: история, технологии и безопасность
Подробности изложены в материале первоисточника. Сегодня QR-коды стали привычной частью нашей цифровой и физической реальности: от подключения к Wi-Fi и посадочных талонов до мобильных платежей. Путь этих матричных кодов от промышленного инструмента автозаводов до повсеместного стандарта оказался долгим и полным неожиданных поворотов.
За последние годы двухмерные коды превратились не только в эффективную инфраструктуру для ритейла и логистики, но и в инструмент злоумышленников. В этом материале я подробно разберу, как они работают, почему содержат столько квадратов, какие бывают виды и как защититься от угроз.
Эволюция технологии: от автомобильных заводов до смартфонов
Идея создания QR-кода появилась в 1994 году в компании Denso, которая поставляла комплектующие для концерна Toyota. Инженеры стремились оптимизировать производственные линии и заменить классические линейные штрихкоды на более емкие и быстрые в сканировании элементы. Руководил проектом Масахиро Хара, заметивший во время игры в го, что двухмерное поле вмещает гораздо больше данных.

Сложность заключалась в том, чтобы сканер распознавал код под любым углом на загроможденном производстве. Проанализировав печатную продукцию, команда вывела уникальное соотношение черных и белых модулей 1:1:3:1:1. Именно оно легло в основу трех угловых квадратов-ориентиров.
В 2000 году технология получила международный стандарт ISO/IEC 18004. Патент на изобретение остался за Denso Wave, но разработчики разрешили бесплатное использование формата при условии соблюдения стандартов. В Азии нововведение прижилось быстро, тогда как западные пользователи долгое время неохотно устанавливали специализированные ридеры.
Переломный момент наступил в 2017 году, когда компания Apple интегрировала сканирование в штатную камеру iPhone с выходом iOS 11. Вскоре аналогичные решения появились на Android через Google Lens и стандартные приложения. Окончательный толчок дала пандемия, после чего технология закрепилась в повседневной жизни.

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

- Позиционные метки: те самые три крупных квадрата в углах, обеспечивающие считывание под любым углом.
- Метки синхронизации: пунктирные линии между углами, определяющие размер модулей.
- Выравнивающие паттерны: небольшие квадраты, компенсирующие искажения на изогнутых поверхностях.
- Служебная зона: параметры сборки и уровень коррекции ошибок.
- Тихая зона: белая рамка шириной не менее четырех модулей по периметру.
Перед финализацией кодировщик применяет один из восьми масок, инвертирующих определенные модули для предотвращения появления ложных ориентиров. В отличие от одномерных UPC-меток в магазинах, двухмерные матрицы считываются мгновенно в любом направлении.
Коррекция ошибок и надежность
Устойчивость к повреждениям достигается благодаря математическому алгоритму Рида — Соломона. Существует четыре уровня восстановления: L (около 7%), M (около 15%), Q (около 25%) и максимальный H (около 30%).

Чем выше уровень коррекции, тем меньше места остается для полезной информации, что требует увеличения общего числа модулей. Эта особенность позволяет размещать логотипы в центре изображения: сканер воспринимает их как повреждение и успешно восстанавливает картинку за счет избыточности.
Информационная емкость и разновидности кодов
Стандарты предусматривают 40 различных размеров, именуемых версиями. Самая маленькая версия 1 представляет собой сетку 21х21, а максимальная версия 40 расширяет матрицу до 177х177 элементов. На низком уровне коррекции ранняя версия вмещает всего 41 цифру, а сороковая способна сохранить до 7089 цифр или 2953 байта данных.
Режимы кодирования
Для максимальной плотности записи алгоритм переключается между следующими режимами:

- Числовой (10 бит на три цифры).
- Буквенно-цифровой (11 бит на два символа, без строчных букв).
- Байтовый (8 бит на символ для URL и UTF-8).
- Кандзи (для японских иероглифов) и специализированные промышленные режимы.
Технические энтузиасты часто применяют трюк с написанием доменных имен заглавными буквами, чтобы задействовать более компактный алфавитно-цифровой режим.
Семейство расширенных форматов
Со временем спецификации пополнились новыми вариациями. Micro QR использует единственный угловой маркер для компактных меток. Формат iQR вмещает на 80% больше данных в аналогичном пространстве, а Frame QR оставляет внутреннее поле пустым для графики.

Последней новинкой стал прямоугольный Rectangular Micro QR Code (rMQR), разработанный для узких поверхностей вроде медицинских пробирок и кабельных бирок, где квадратные версии поместить невозможно.
Практическое применение и экосистема
Технически матрица хранит обычную строку текста. Сценарий использования определяется тем, как операционная система смартфона обрабатывает полученный результат.

Строка с URL запускает браузер, специальный формат конфигурации настраивает Wi-Fi подключение, а vCard передает контактные данные. Кроме того, коды активно применяются для привязки устройств. Ярким примером служит настройка двухфакторной аутентификации, активация eSIM через профили операторов или синхронизация десктопных мессенджеров вроде WhatsApp и Signal.
Авторизация с помощью passkeys также опирается на эту механику: при входе на ноутбуке камера сканирует графический код, устанавливая зашифрованное соединение при подтверждении Bluetooth-модуля.

Инфраструктура платежей и розничная торговля
Во многих странах мира сканирование кодов стало основным способом оплаты. Китайские системы Alipay и WeChat Pay, индийский сервис UPI или бразильский Pix обрабатывают миллиарды транзакций ежемесячно, избавляя торговцев от необходимости покупать дорогостоящие POS-терминалы.
Глобальная инициатива Sunrise 2027 меняет подход к розничной торговле. Организация GS1 и крупные ритейлеры внедряют кассовые узлы, способные считывать двухмерные штрихкоды с цифровыми ссылками Digital Link. Новый стандарт кодирует адрес сайта со встроенным глобальным номером продукта GTIN, позволяя кассе пробить товар, а покупателю — изучить состав и экологическую маркировку.
Параллельно регуляторы вводят обязательные требования. Согласно директиве ЕС, с февраля 2027 года аккумуляторы обязаны содержать код, ведущий к цифровому паспорту батареи с данными об углеродном следе и материалах.

Угрозы безопасности и фишинговые атаки
Сама по себе матрица не содержит вредоносного кода, но опасность кроется в конечном адресе ссылки. На заре мобильных технологий злоумышленники распространяли вредоносное ПО для Android, а сегодня набирает обороты новая угроза — «куишинг» (quishing).
По данным аналитиков Microsoft, объем фишинговых рассылок с внедренными матрицами резко возрос. Атака эффективна по нескольким причинам:

- Изображение легко обходит традиционные почтовые фильтры, настроенные на поиск вредоносных URL.
- Сканирование переводит жертву с защищенного рабочего компьютера на личный смартфон.
- Пользователь физически не может проверить целевой адрес до перехода.
Реальные схемы включают поддельные наклейки на паркоматах, ресторанах и станциях метро, а также мошеннические почтовые отправления. В начале 2025 года фиксировались случаи целевых атак на пользователей Signal, когда с помощью поддельных приглашений злоумышленники незаметно дублировали переписку.
Как самостоятельно создавать QR-коды
Для генерации не обязательно использовать сторонние сайты. В браузере Google Chrome или Microsoft Edge нужная опция доступна в контекстном меню страницы, а в мобильных устройствах предусмотрены встроенные инструменты для штрихкодирования сетей Wi-Fi.

Перед созданием важно учитывать разницу между статическими и динамическими кодами. Статический вариант напрямую прописывает адрес назначения в структуре пикселей и работает вечно. Динамический код перенаправляет трафик через сервер генератора, что позволяет отслеживать статистику и менять целевую ссылку, однако при истечении подписки переадресация прекращается.
Для печати лучше выбирать статические версии, указывающие на контролируемый вами домен. Если требуются сторонние сервисы, популярный генератор QRCode Monkey позволяет экспортировать качественные векторные файлы без регистрации.
Художественные генераторы на базе генеративного искусственного интеллекта (Stable Diffusion и ControlNet) научились вплетать узоры прямо в живописные пейзажи и аниме-иллюстрации. Такие художественные варианты требуют максимального уровня коррекции H и обязательного предварительного тестирования перед печатью.


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