Как защитить qr код от копирования

Обновлено: 06.07.2024

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

— Для чего был создан такой QR-код? В чём смысл двухфакторной системы проверки?

— Нашей первоначальной целью была защита от контрафакта. Это головная боль российского рынка. Несмотря на то что в нашей стране есть государственная маркировка, мы хотели дополнительно обезопасить иностранную продукцию, выходившую на наш рынок. И мы начали разрабатывать специальную метку. Однако её стоимость была дорогой для массового производства, и мы пытались удешевить нашу технологию. Вместо десяти рублей наши метки стали стоить пять рублей. Мы начали думать, как дополнительно защитить эту метку, чтобы графическое изображение невозможно было скопировать.

  • Отличия стандартного и двухфакторного QR-кода

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

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

— Сколько времени ушло на разработку QR-кода и какие компании его сейчас используют?

— Полгода. В марте прошлого года мы думали, как удешевить технологию, и ближе к зиме начали плодотворную работу. Мы брали принтеры и использовали разные технологии. Мы всё анализировали и пытались сделать варианты QR-кода. У нас было около тысячи всевозможных вариантов, прежде чем появился один-единственный.

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

— Как происходит проверка QR-кода? Какие программы были для этого разработаны?

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

Сначала проверяется внешний код. Если он правильный, то начинает проверяться уже внутренняя часть (некопируемая). Если она совпадает с той, что у нас в базе, тогда уже мы получаем информацию о продукте (сроке годности, его виде, производителе и т. д.). Также мы можем получить и PDF-файлы либо видеофайлы — в данном случае мы не ограничены в размерах вшитой информации.

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

— Разрабатываются ли аналоги такого QR-кода в мире или ваш можно считать уникальным?

— Хотелось бы сказать, что мы уникальны. Но если ты не знаешь о какой-то компании, это не значит, что её нет. Возможно, кто-то в этом направлении работает. Тем более в нынешней ситуации, когда все знают о проблеме поддельных QR-кодов.

Я знаю, что есть компания в Гонконге, которая работает над схожими технологиями. Но у них есть очень много нюансов. Во-первых, для считывания их QR-кодов нужны очень продвинутые телефоны. И принцип у них такой: есть белая часть и чёрная часть, из которых состоит QR-код. В этой белой части у них находятся специальные точки и палочки, которые могут распознать только смартфоны. Более того, проверка QR-кода у них занимает более 25 секунд.

Российские учёные создали невидимые полимерные гелевые метки, которые можно использовать для защиты от контрафакта. Они представляют.

— В каких областях будут использоваться новые QR-коды? Какие перспективы у данной разработки?

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

Мы работаем со всей продукцией с приставкой «авто» —автозапчасти, автохимия, автомасла. Наши коллеги, анализировавшие этот рынок, сказали, что за 2019 и 2020 годы там было продано около 30% поддельной продукции. Например, каждая третья запчасть или каждая третья бутылка масла поддельная, контрафактная. Соответственно, клиенты на этом рынке знают, что продукцию очень активно фальсифицируют, и поэтому ищут какие-то способы защиты.

— Сможет ли разработанная вами технология помочь в борьбе с поддельными QR-кодами после вакцинации коронавируса?

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

На идею создать свой маленький интернет-проект по защите документов от подделки, меня натолкнула дискуссия на форуме дефектоскопистов, посвященная повальной подделке выданных ими заключений по контролю качества.

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

Актуальность задачи защиты от подделок


Дело в том, что в наш век безбумажной информации ни одно капитальное строительство, будь то газопровод или торговый центр, не обходится без подготовки полного комплекта исполнительной документации (as built), частью которой являются заключения по неразрушающему контролю (визуальному, радиографическому, ультразвуковому).

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

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

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

Однако, просто сгенерировать QR-код с нужным содержимым точно также смогут и мошенники.

Рождение идеи

И тут меня осенила мысль — а почему бы не шифровать содержимое такого QR-кода надежным алгоритмом. Раз так — надо придумать способ его расшифровывать при сканировании, например через камеру смартфона. Здесь родилась идея расшифровку делать на стороне web-сервиса, который будет хранить ключ для расшифровки.

В последний раз я делал сайт в 2000 году в notepad и не слишком хорошо знаком с современными технологиями сайтостроительства, поэтому выбрал Wix, подумав, что с помощью сервиса я получу красивую картинку и минимальные возможности работы с базой данных, а с помощью Wix code закодирую то что мне нужно.

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

Шифрование

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

Главное не забыть перевести кодируемый текст в Bytes, а результат шифрования в HEX.

Генерация QR-кода

Я воспользовался готовым API.

Для работы достаточно создать объект html1 — для отображения произвольного html кода и вызвать фунцию API

Работа с пользователями

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

Потребовалось также прикрутить простейшую логику, связанную с платным/бесплатным доступом к функциям (до 20 документов в месяц можно защитить бесплатно) и сроком оплаты услуг.

Принцип работы

К аккаунту пользователя привязывается уникальный закрытый ключ шифрования.

Залогиненый пользователь заполняет форму с информацией о заключении (номер, дата, результат):


Затем алгоритм выдает URL, содержащий зашифрованный текст TEXT и, выступающий в виде открытого ключа USER_ID, как на примере ниже:

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


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

Проверка кода выполняется сайтом при распарсивании ссылки

Если при расшифровке что-то пошло не так, а это может быть, если в оригинальный QR-код попытались внести какие-то изменения

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

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

Заключение

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

Приглашаю к дискуссии по придуманной мной идее, попытке протестировать/взломать мой сервис.

Что еще осталось доделать

  • Написать по итогам реализации на habr
  • Разобраться как сбросить query, если один раз уже была проверка ссылки
  • Придумать как ужать зашифрованный текст, потому что когда длинный URL кодируется, то размер QR-кода чересчур большой
  • Добавить возможность копирования кода в буфер обмена или отправлять на почту по щелчку на кнопку (пока не разобрался как сделать это в javascript)
  • Улучшить работу с мобильной версией

Предварительный ответ на возможную критику:

Не проще лаборатории вести реестр заключений на своем сайте, а подобная QR метка будет вести на этот реестр или даже выводить копию заключения?

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

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

Новость проекта. Новая функция STQR.RU: QR-коды, защищенные паролем

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

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

Принцип работы QR-кодов, защищенных паролем

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

Обратите внимание, что защищать паролем можно только динамические QR-коды.

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

Вы также можете менять прочие данные, закодированные в QR-коде и анализировать активность сканирований в разделе Статистика.

Чем можно поделиться с помощью QR-кодов, защищенных паролем?

Защищенный QR-код позволяет вам делиться практически любым контентом, от публикации ссылки на веб-сайт, текста и местоположения места проведения до настраиваемой целевой страницы, например:

1. Конфиденциальные документы

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

Для таких случаев использования вы можете создать QR-код PDF, текстовый QR-код или даже QR-код URL-адреса веб-сайта. И добавить к нему защиту паролем.

2. Ссылки для скачивания платного контента

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

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

Фактически вы можете создать более 25 различных типов динамических QR-кодов. Например: QR-код URL-адреса веб-сайта, QR-код визитной карточки, QR-код купона и QR-код магазина приложений.

Вы можете просмотреть список, чтобы выбрать лучший вариант для вашего варианта использования в нашем бесплатном генераторе QR-кодов.

Без сертификата о вакцинации или болезни теперь никуда — и вот как можно снизить неудобство от нововведений.

12 ноября правительство направило в Госдуму законопроекты об использовании QR-кодов в общественных местах и в некоторых видах транспорта. Если закон примут, то мера будет действовать как минимум до июня 2022 года. При этом в некоторых городах России уже сейчас нельзя пойти в кинотеатр или музей без QR-кода.

TJ выбрал десять способов хранения QR-кодов — от привычных до экстравагантных — и испытал большинство из них.

Не забывайте, что при предъявлении QR-кода у вас могут спросить паспорт или дату рождения.

Что потребуется: логин и пароль от «Госуслуг»

QR-коды россиян выдаются и хранятся на сайте «Госуслуг». С телефона сервисом проще пользоваться с помощью одноимённого приложения, которое можно установить на любую OC. Баннер со ссылкой на сертификат находится на главной странице — кликнув, вы сразу увидите QR-код и срок его действия.

Мнение редактора TJ Ольги Щербининой: Я не хочу ставить дополнительные приложения, поэтому вполне устраивает хранение QR-кода на «Госуслугах». Надо всего лишь ввести пароль и перейти по ссылке на главной. Такая схема почти не подводила за исключением одного раза — приложение вылетело и пришлось срочно восстанавливать пароль от аккаунта.

Что потребуется: логин и пароль от «Госуслуг»

У Минцифры есть специальное приложение про ситуацию с коронавирусом в России — «Госуслуги СТОП Коронавирус». После авторизации через сервис «Госуслуг» на главной странице автоматически появится ваш сертификат о вакцинации — на русском и английском языке.

Мнение редактора TJ Саши Кирилловой: Удобный способ — один раз ввёл логин/пароль от «Госуслуг» и больше ничего делать не нужно. В архиве документов можно хранить ещё и сведения о результатах тестов на Covid-19 и антитела. В отличие от приложение «Госуслуг» в нём нет ничего лишнего.

Где скачать: «Госуслуги»

Что потребуется: логин и пароль от сайта

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

Ещё один вариант: поставить QR-код на рабочий стол — так необходимый документ можно предъявить даже при заблокированном смартфоне.

Мнение редактора TJ Саши Кирилловой: Не самый лучший способ для хранения QR-кодов — можно потерять скриншоты в альбоме с фотографиями или в файловой системе. Если добавляете в «сохранённые» в телеграме, то ставьте какое-то слово-пометку, чтобы затем запустить по нему поиск.

Где скачать: Wallet (стандартное приложение для хранения карт), Covid Wallet (сервис для QR-кода)

Что потребуется: логин и пароль от «Госуслуг»

Создатель Covid Wallet – российский разработчик Евгений Колотилин, сделавший программу в свободное время. На сайте проекта отмечается, что приложение не сохраняет персональные данные.

Мнение SMM-редактора TJ Кати Устиновой: Раз уж QR-коды стали частью нашей жизни, я решила позаботиться о том, чтобы мне было удобно им пользоваться. Мысли о том, что мне придётся искать скриншот или заходить каждый раз на «Госуслуги», лишь добавляли мне тревожности. К тому же не везде ловит интернет, а «Госуслуги» часто падают или лагают. А добавить карту в Wallet, которым я и так пользуюсь, было идеальным решением.

Где скачать: Google Pay (стандартное приложение для хранения карт), Pass2pay (сервис для QR-кода)

Что потребуется: логин и пароль от «Госуслуг»

Приложение создала компания Development Colors: она не связана с Google и использовала в разработке «доступные всем инструменты». В политике конфиденциальности отмечается, что компания «не передаёт личную информацию». В Google Play — девять высокооцененных приложений DC.

Что потребуется: фотография QR-кода

Приложение «QR-код Виджет» позволит хранить сертификат прямо на рабочем столе телефона. Предварительно необходимо сохранить QR-код в виде фотографии, после чего сервис предложит загрузить его и превратить в виджет. Снимок может включать в себя не только код, приложение само найдёт его и обрежет.

Приложение создал разработчик Максим Казаков. Сервис не собирает персональные данные. Чтобы сохранить несколько QR-кодов, потребуется купить платную версию за 99 рублей.

Мнение редактора TJ Саши Кирилловой: Если у вас на телефоне уже есть фотография QR-кода, то через один клик она переместится на ваш рабочий стол. Это удобно, но не всем подходит: слишком на виду.

Что потребуется: логин и пароль от «Госуслуг»

Во вкладке «Документы» приложения банка «Тинькофф» можно хранить различные виртуальные копии паспорта, загранпаспорта, СНИЛС , ИНН, ОМС и других документов. QR-код экспортируется с сайта «Госуслуг».

Нужно зайти в онлайн-банк, кликнуть по иконке пользователя в верхней части экрана, нажать «добавить» в разделе «QR-код вакцинированного или переболевшего COVID-19» и залогиниться в «Госуслугах». Это потребуется сделать лишь один раз, после чего QR-код будет доступен в профиле.

Мнение главреда TJ Сергея Звезды: Удивительно, но частный банк, который никому, кроме своих клиентов, ничего не должен, справился с очевидной общей проблемой в сто раз лучше и быстрее государства. Всё грузится и отображается моментально. Хотя, казалось бы, кому это нужнее? Правда, вы не увидите QR без захода в онлайн-банк, что требует распознавания лица (а вы в этот момент, скорее всего, в маске), сканера отпечатка пальца или пин-кода. С другой стороны, это можно воспринимать как дополнительную защиту ваших данных.

Что потребуется: логин и пароль от «Госуслуг»

Приложение от «Яндекса», которое работает аналогично приложению «Тинькофф-банка». В настройках личной страницы следует выбрать вкладку «QR-код» и экспортировать его с «Госуслуг».

Мнение редактора TJ Саши Кирилловой: Быстрый и удобный способ использования своего QR-кода. Преимущество перед хранением в приложении банка: никто не спрашивает твой пароль. Но, возможно, это может и стать проблемой?

Что потребуется: пароль и логин от «Госуслуг», принтер.

QR-код можно хранить и в бумажном виде: для этого его необходимо распечатать дома или получить в любом МФЦ — но только с 16 ноября. Минусов практически никаких: сертификат о вакцинации становится обычным документом — как паспорт или проездной.

Можно объединить QR-код с другими документами: например, приклеить его на заднюю обложку паспорта (лучше снимаемую). Так вы избежите ситуации, когда сертификат имеется, а подтвердить то, что он принадлежит вам нельзя.

Мнение редактора TJ Саши Кирилловой: В эпоху отказа от бумажных носителей довольно странно распечатывать QR-код. Пожалуй, имеет смысл, если вы делаете сертификат своей бабушке, которая плохо разбирается с телефоном. Для лучшей сохранности можно положить документ в «файлик».

Что потребуется: QR-код, мастер тату и кожа

Вариант для самых отчаянных: главный плюс — вы точно не забудете QR-код, потому что он теперь всегда с вами. Главный минус — сертификаты имеют ограниченый срок действия: год с момента вакцинации или болезни. Лучшим вариантом станет «нанесение» временной татуировки, как это делали летом 2021 года в Москве.

Никто из редакции не набивал себе тату с QR-кодами (по крайней мере, пока что не пробовал), поскольку это самый непрактичный вариант. Но если решитесь, лучше это делать на открытых участках тела, чтобы зимой не пришлось раздеваться.

Способов хранить QR-код — множество и в материале, наверняка, представлены не все. Будем рады увидеть в комментариях, где вы храните документ о вакцинации.

Поставил на экран блокировки

Сразу же так сделал, вообще не понимаю прикола где-то прятать это

показывать qr-код нельзя, чтобы порчу не навели или не заразили ваш аккаунт на госуслугах вирусом ред.

Читайте также: