Внедрение обязательной маркировки товаров и особенно переход на разрешительный режим вызвали множество вопросов в сообществе разработчиков и предпринимателей. Одним из главных камней преткновения стала сложность схемы взаимодействия с системой ГИС МТ (Честный знак): необходимость получения специальных токенов, использование сертификатов электронной подписи (УКЭП) и перенос логики проверки марок из кассовых аппаратов в учетную систему. В рамках данной статьи мы подробно разберем, от кого защищается система этими барьерами, почему проверка «как у обычного пользователя» не подходит для бизнеса и как технически устроена эта архитектура.
Проанализируем сначала базовое противоречие: почему обычный человек может анонимно просканировать код в мобильном приложении и получить ответ, а бизнес обязан использовать сложные методы авторизации? Разберем основные причины:
throttling (ограничение частоты запросов) для конкретного участника оборота, не отключая при этом всю систему.Рассмотрим подробнее механизм работы так называемого CDN-токена. Многие ошибочно полагают, что это избыточное требование, однако за ним стоит распределенная архитектура доставки контента (Content Delivery Network).
Когда мы настраиваем 1С для работы с разрешительным режимом, программа запрашивает токен авторизации. Этот токен позволяет кассовому ПО обращаться не к центральному серверу «Честного знака», а к ближайшему узлу CDN. Это критически важно для розничной торговли, где время ответа системы не должно превышать 1,5 секунд. Без токена маршрутизация запроса и быстрая авторизация на граничных серверах были бы невозможны.
Важно помнить, что токен имеет ограниченный срок действия (обычно 90 дней). Это требование информационной безопасности: если токен будет скомпрометирован (например, украден вместе с базой данных), злоумышленник сможет имитировать запросы от лица магазина лишь ограниченное время.
Выясним причину, по которой ГИС МТ отказалась от полной проверки марок средствами только фискального накопителя (ФН) и прошивки кассы. Рассмотрим технические ограничения кассовых аппаратов:
Разберем, как в типовых решениях 1С (например, «Управление торговлей 11» или «Розница 3.0») реализовано управление этими сущностями. Для взаимодействия используется объект ИнформационнаяСистемаМаркировки и соответствующие регистры сведений.
Проанализируем процесс получения токена:
// Примерный алгоритм получения токена (упрощенно)
Процедура ПолучитьТокенАвторизации(Организация)
ПараметрыПодключения = МаркировкаСервер.ПараметрыПодключенияКГИСМТ(Организация);
// Требуется наличие установленного сертификата УКЭП на сервере или рабочем месте
Результат = МаркировкаВызовСервера.СгенерироватьТокенCDN(ПараметрыПодключения);
Если Результат.Статус Тогда
// Записываем токен в защищенное хранилище или соответствующий регистр
МаркировкаСервер.СохранитьТокен(Организация, Результат.Токен, Результат.ДатаИстечения);
КонецЕсли;
КонецПроцедуры
Заметим, что использование УКЭП обязательно только в момент генерации токена. В процессе самой продажи (сканирования каждой бутылки молока) электронная подпись не используется — касса отправляет только текстовый токен в заголовке HTTP-запроса, что минимизирует нагрузку на процессор кассового узла.
Рассмотрим ситуацию, когда в магазине пропадает интернет. Оппоненты системы часто указывают на «закабаление» бизнеса зависимостью от онлайна. Однако в архитектуру заложен механизмы обхода этой проблемы:
Проанализировав архитектуру системы, мы видим, что использование сертификатов и токенов — это не «непрофессионализм», а вынужденная мера для обеспечения безопасности и высокой скорости работы распределенной системы. Бизнесу приходится платить за автоматизацию контроля отсутствием анонимности, но взамен он получает механизм, исключающий человеческий фактор при продаже некачественного или контрафактного товара.
Для успешной работы рекомендуем:
DataMatrix и GS1 символами) регулярно дорабатываются.