Як працюють QR-коди і як ними безпечно користуватися
QR-код став звичною частиною життя: меню в кафе, квиток на потяг, оплата через банківський застосунок, посилання на плакаті.
Оновлено:
QR-код став звичною частиною життя: меню в кафе, квиток на потяг, оплата через банківський застосунок, посилання на плакаті. Квадрат із чорно-білих клітинок здається випадковим візерунком, але має суворо визначену структуру, яка дозволяє камері телефона прочитати його під кутом, при поганому освітленні й навіть коли частина коду зіпсована. Ця стаття пояснює, як влаштований QR-код, чому він читається так надійно, і чому саме ця надійність робить його зручним інструментом для шахраїв.
Модулі, корекція помилок і кутові квадрати
QR (Quick Response) — двовимірний штрихкод, створений у 1994 році в Японії для маркування автомобільних деталей. Звичайний штрихкод зберігає кілька десятків цифр в одному вимірі; QR-код використовує обидва виміри й уміщує до 7 089 цифр або близько 4 296 літер і символів, тобто довге посилання, контакт, налаштування Wi-Fi чи текст.
Структура коду має кілька обов’язкових елементів:
- Три великі квадрати в кутах — шаблони пошуку. Саме за ними сканер знаходить код на зображенні, визначає його межі, орієнтацію та перспективне спотворення. Через них код читається догори ногами й під кутом.
- Менший квадрат ближче до четвертого кута (в кодах більшого розміру — кілька) — шаблон вирівнювання, який компенсує викривлення на нерівних поверхнях.
- Пунктирні лінії між шаблонами пошуку — синхронізаційні смуги, за якими сканер визначає розмір клітинки й сітку.
- Порожня рамка навколо коду («тиха зона») відділяє його від фону; без неї сканер може не знайти межі.
- Область даних — усе інше. Дані записуються послідовністю бітів у зигзагоподібному порядку, а поверх накладається маска — шаблон, який змішує біти так, щоб не утворювались великі суцільні плями або схожі на шаблони пошуку візерунки.
Чому читається пошкоджений код
Найважливіша особливість QR — корекція помилок Ріда–Соломона. До даних додаються надлишкові біти, які дозволяють відновити втрачені фрагменти. Є чотири рівні: L відновлює до 7 % пошкодженої площі, M — 15 %, Q — 25 %, H — 30 %. Саме тому дизайнери можуть розмістити логотип у центрі коду або надрукувати його кольоровим — сканер відновлює закриті ділянки з надлишкової інформації. Ціна — розмір: чим вищий рівень корекції, тим більше клітинок потрібно для тих самих даних.
Розмір коду називають версією: від 1 (21×21 клітинка) до 40 (177×177). Чим більше даних і вищий рівень корекції, тим більша версія — і тим дрібніші клітинки при тому самому розмірі друку, тобто складніше сканувати з відстані. Короткі посилання дають маленькі, легко читабельні коди.
Що відбувається після сканування
Код містить лише текст. Що з ним робити — вирішує застосунок: посилання відкривається у браузері, рядок WIFI:S:назва;T:WPA;P:пароль;; пропонує підключитися до мережі, BEGIN:VCARD — зберегти контакт, mailto: — написати листа. Платіжні QR-коди містять реквізити або посилання на платіжну систему у стандартизованому форматі (наприклад, EMVCo). Сам код нічого не робить і не може «заразити» телефон; діє те, куди він веде.
Шахрайство з QR-кодами
Люди не можуть прочитати QR-код очима, і на цьому побудований «квішинг» (QR-фішинг). Типові схеми: наліпка з шахрайським кодом поверх справжнього на паркоматі чи зарядній станції, що веде на підроблену сторінку оплати; коди в листах і повідомленнях, що обходять фільтри посилань, бо код — це зображення; підроблені меню з посиланням на «оплатити рахунок»; оголошення про «штраф», який треба сплатити за кодом. Захист простий: перед переходом дивіться на адресу, яку показує сканер, і оцінюйте її як будь-яке посилання — чи відповідає домен тому, хто нібито розмістив код.
Як сканувати QR-коди і не потрапити на шахраїв
- Скануючи, читайте попередній перегляд адреси перед відкриттям; дивіться на домен, а не на назву сторінки.
- Не вводьте платіжні дані на сторінці, відкритій із коду з громадського місця, якщо код виглядає наліпленим поверх іншого.
- Для платежів використовуйте сканер усередині банківського застосунку, а не браузер.
- Створюючи коди, використовуйте короткі посилання й рівень корекції M або Q; залишайте порожню рамку й достатній контраст.
- Друкуйте код розміром не менше 2×2 см на кожні 25 см відстані сканування.
- Не розміщуйте в коді дані, які не мають бути публічними: усе, що в ньому, прочитає будь-хто.
Часті запитання
Чи можуть QR-коди закінчитися?
Ні. Код не «реєструється» — це просто кодування тексту. Скільки текстів, стільки й кодів.
Чи можна зробити кольоровий QR-код?
Так, якщо зберегти високий контраст між «темними» й «світлими» клітинками. Інверсія (світлі клітинки на темному тлі) читається не всіма сканерами.
Чи відстежують мене через QR-код?
Сам код — ні. Але посилання в ньому може вести через сервіс скорочення, який фіксує час, місце й пристрій сканування, як і будь-яке трекінгове посилання.
QR-код — це текст, надрукований мовою, яку читають лише камери; довіряйте не квадрату, а адресі, яку він розкриває.
Коротко: QR-код — двовимірний штрихкод із шаблонами пошуку для орієнтації, сіткою для розпізнавання клітинок і корекцією помилок, яка відновлює до 30 % пошкодженої площі. Він містить лише текст, найчастіше посилання, а що з ним робити — вирішує застосунок. Оскільки людина не бачить вмісту, завжди перевіряйте адресу перед переходом, особливо коли йдеться про оплату.