СПОСОБ И СИСТЕМА ЗАЩИТЫ ЦИФРОВОЙ ИНФОРМАЦИИ, ОТОБРАЖАЕМОЙ НА МОНИТОРЕ, С ПОМОЩЬЮ ЦИФРОВЫХ МЕТОК
METHOD AND SYSTEM FOR PROTECTING DIGITAL INFORMATION DISPLAYED ON MONITOR USING DIGITAL MARKS

ОБЛАСТЬ ТЕХНИКИ
[0001] Заявленное техническое решение относится к области защиты цифровых данных, в частности конфиденциальной и чувствительной информации, отображаемой на экране электронного устройства, с помощью технологии внедрения цифровых меток (ЦМ).
УРОВЕНЬ ТЕХНИКИ
[0002] Использование ЦМ в области защиты цифровой информации является распространенным решением, при котором в изображение внедряется закодированная информация, позволяющая идентифицировать ее принадлежность или лицо, ответственное за ее утечку и/или несанкционированный доступ.
[0003] Как правило такие подходы используют заданный графический элемент или область изображения, содержащую ЦМ. При этом такая метка может быть как различимой, так и неразличимой для человеческого глаза. Одним из примеров такой технологии является стеганография.
[0004] Аналогом предлагаемого решения является принцип формирования на основании ЦМ защитного слоя, раскрытого в патенте США 9,239,910 (Markany Inc, 19.01.2016). Решение заключается в создании невидимой подложки, содержащей цифровые метки, которая используется как фоновый слой, отображаемый на экране устройства.
[0005] Недостатком существующего подхода является его недостаточная эффективность, обусловленная тем, что для формирования подложки используются ЦМ, представляющие собой текст или графический примитив, выбираемый из базы данных и применяемый для последующего генерирования заполнения пространства. Это приводит к тому, что такое формирование слоя становится чувствительным к качеству и при последующем захвате изображения на экране с помощью внешнего устройства, например, камерой смартфона или фотоаппарата, при смене ракурса или захвате части экрана с защитным слоем, впоследствии изъятие ЦМ и установление факта утечки данных становиться достаточно сложным или невозможным.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0006] Предлагаемый подход позволяет решить техническую проблему, заключающую в снижении устойчивости (робастности) метода защиты цифровых данных при их фиксации внешними средствами с различных ракурсов и качеством съемки, что критически влияет на последующее декодирование данных из цифровых меток.
[0007] Технический результат заключается в повышении эффективности защиты информации на экране устройств, за счет улучшения устойчивости распознавания внедряемых цифровых меток, формирующих подложку, отображаемую на экране электронного устройства.
[0008] Заявленный результат достигается за счет осуществления компьютерно-реализуемого способа защиты информации, отображаемой на мониторе вычислительного устройства (ВУ), выполняемого с помощью процессора и содержащего этапы, на которых: получают информацию для кодирования, содержащую, по меньшей мере, данные о времени и дате, а также идентификатор пользователя и/или ВУ;
кодируют полученную информацию в цифровую метку (ЦМ), при этом ЦМ представляет собой блок, состоящий из графических элементов, которые размещаются геометрическим паттерном, причем цвет элементов ЦМ формируется в цветовой схеме монитора, представляющей собой ортогональный базис;
формируют подложку с установленным уровнем прозрачности, выводимую на экран монитора ВУ, на которой располагаются цифровые метки, конфигурация, схема размещения и количество которых определяется параметрами, содержащими по меньшей мере цветовую схему монитора и его разрешающую способность. [0009] В одном из частных примеров реализации способа при кодировании информации применяются коды коррекции ошибок и/или коды исправления ошибок. [0010] В другом частном примере реализации способа элементы ЦМ одного блока расположены равноудаленно друг от друга.
[0011] В другом частном примере реализации способа блоки цифровых меток на подложке располагаются с заданным удалением друг от друга.
[0012] В другом частном примере реализации способа толщина и яркость элементов ЦМ выбирается исходя из объема информации для кодирования.
[0013] В другом частном примере реализации способа распределение блоков ЦМ на подложке определяется на основании верхнего левого элемента ЦМ.
[0014] В другом частном примере реализации способа формирование блока ЦМ происходит рекурсивно с последовательным формированием каждого элемента ЦМ.
[0015] В другом частном примере реализации способа блоки ЦМ, располагаемые на подложке, переводятся в черно-белую гамму и инвертируются.
[0016] Заявленный технический результат достигается также за счет компьютерно-реализуемого способа выявления закодированной посредством использования цифровых меток информации, находящейся на полученном изображении или его части, выполняемого с помощью процессора и содержащего этапы, на которых: получают изображение, содержащее по меньшей мере часть информации, отображенной на мониторе ВУ, защищенной с помощью вышеуказанного способа;
выполняют преобразование полученного изображения из RGB базиса в цветовой базис, в котором были сформированы ЦМ;
выполняют попиксельное вычитание значений цветов RGB в информационном канале из значений цветов базисного канала;
определяют ЦМ в полученном изображении и осуществляют извлечение закодированной в них информации.
[0017] В одном из частных примеров реализации способа изображение получают от внешнего устройства.
[0018] Заявленное решение также осуществляется с помощью компьютерной системы, содержащей по меньшей мере один процессор и по меньшей мере одну память, хранящую машиночитаемые инструкции, которые при их исполнении процессором выполняют любой из вышеперечисленных способов.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0019] Фиг. 1 иллюстрирует общий принцип заявленного решения.
[0020] Фиг. 2 иллюстрирует блок-схему заявленного способа защиты данных.
[0021] Фиг. 3 иллюстрирует пример размещения слоя на экране устройства.
[0022] Фиг. 4 иллюстрирует блок-схему способа декодирования информации из изображения, защищенного ЦМ.
[0023] Фиг. 5 иллюстрирует пример захвата изображения информации с экрана устройства.
[0024] Фиг. 6 иллюстрирует принцип декодирования ЦМ из изображения.
[0025] Фиг. 7 иллюстрирует общий вид вычислительного устройства.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0026] На Фиг. 1 представлена общая концепция технической реализации заявленного решения. Защита чувствительной и/или конфиденциальной информации, отображаемой на экране (111) вычислительного устройства (ВУ) (110) пользователя, осуществляется с помощью внедрения ЦМ (10), в которую кодируется соответствующая информация для последующего установления места и ответственного лица по несанкционированному получению информации вне защищенного периметра инфраструктуры, например, с помощью ее фотографирования, видеосъемки или захвата (скриншот) изображения на экране ВУ внешними устройствами (смартфон, фотоаппарат и т.п.), в том числе с последующей распечаткой.
[0027] Решение может осуществляться с помощью клиент-серверной архитектуры, в которой информация, подлежащая кодированию в ЦМ (10), может передаваться от сервера и генерироваться для каждого ВУ (110) индивидуально, что позволит вести единый учет вычислительных устройств и своевременно определять место утечки данных. На сервере может выполняться контроль подключенных клиентов - ВУ; присваивание каждому клиенту на основе системного имени пользователя ВУ уникального ID, который будет передаваться для шифрования; осуществляться рассылка конфигурационных файлов.
[0028] Как представлено на Фиг. 2 заявленный способ (200) защиты цифровой информации содержит ряд последовательных этапов. На первом этапе (201) получают информацию для кодирования и последующего формирования ЦМ (10).
[0029] Как правило, данные, внедренные в ЦМ (10), необходимы для идентификации ВУ (ПО) или непосредственно пользователя данного устройства, например, сотрудника, имеющего доступ к чувствительной информации. Такими данными могут выступать: табельный номер, имя, фотография пользователя, IP-адрес, МАС-адрес, уникальный идентификатор ВУ. Данная информация может использоваться как по отдельности, так и в любом сочетании. Дополнительно может также кодироваться информация о времени и/или дате, например, времени формирования ЦМ (10), текущая дата. Информация о дате и времени может динамически изменяться для включения актуальной информации во время кодирования ЦМ (10).
[0030] На этапе (202) выполняют формирование ЦМ (10). ЦМ (10) представляет собой блок, содержащий статические элементы (11) графического интерфейса заданной битовой размерности, размещенные определенным паттерном (например, как представлено на рисунке в виде концентрических кругов). Паттерн блоков ЦМ (10) может быть одинаковым или различным, при этом размер элементов (И) зависит от размера кодируемой информации. Удаление элементов (11) друг от друга в рамках блока ЦМ (10) является в представленном примере равным, но может также применяться иной принцип размещения, заложенный программной логикой кодирования информации при формировании блока ЦМ (10).
[0031] ЦМ (10) формируется с помощью процесса ортогонализации базовых цветов RGB-палитры (красного, зеленого, синего) с целью уменьшения заметности выводимых на экран монитора (111) ВУ (110) меток для человеческого глаза. Данная технология позволяет обеспечить сочетание требований к уровню комфорта оператора ВУ (ПО) при работе с маркированным экраном монитора (111), а также уровню яркости меток. При кодировании информации в ЦМ (10) берется цвет, который был посчитан основным (например, цвет минимально воспринимается взглядом человека). Далее находится проекция выбранного цвета в базисе основных цветов RGB-палитры. После чего осуществляется расчет вектора согласно критерию ортогональности векторов для последующего определения матрицы перехода между первичным базисом (RGB) и новым цветовым базисом.
[0032] Процесс кодирования информации в ЦМ (10) может происходит следующим образом:
• Регистрация приложения в сети посредством запроса сервера с подтверждением установленного соединения;
• Создание персонального идентификатора;
• Создание набора дополнительных параметров и их значений, необходимых для шифрования. Состав набора определяется конфигурационным файлом, расположенном на сервере;
• Преобразование персонального идентификатора в бинарный формат и запись полученного значения в строку кодировки;
• Преобразование значений дополнительных параметров в бинарный формат и запись полученного значения в строку кодировки. Если используются коды исправления ошибок или коды определения ошибок, то производится вычисление данного кода на основании строки кодировки и ее перезапись;
• Выгрузка строки из блока кодирования. Завершение работы на данном участке цикла событий.
[0033] На этапе (203) выполняется формирование подложки (101) с установленным уровнем прозрачности, которая выводится на экран монитора ВУ (111). Подложка (101) занимает все пространство области отображения на экране монитора (111), при этом блоки ЦМ (10) на ней располагаются заданным паттерном. Конфигурация, схема размещения и количество блоков ЦМ (10) определяется параметрами, включающими цветовую схему монитора и его разрешающую способность. Могут применяться также дополнительные параметры.
[0034] На Фиг. 3 представлен пример сформированной подложки (101) на основе множества блоков ЦМ (10) с соответствующим размещением элементов (11) в каждом из блоков. В зависимости от параметра сдвига верхнего левого маркера (11) блока ЦМ (10) задается первоначальное положение для формирования узора подложки (101). Далее осуществляется нанесение элементов (11) (маркеров) на прозрачную подложку (101) в соответствии со следующими параметрами:
- Тип маркера (геометрическая форма);
- Яркость маркера;
- Толщина маркера.
[0035] В представленном примере с использованием круглых элементов (11) происходит соблюдение дополнительных параметров: максимальный радиус маркера, количество концентрических кругов.
[0036] Процесс нанесения элементов (11) повторяется итеративно до окончания разметки одного блока ЦМ (10), с достижением заданного количества элементов (11) в блоке ЦМ (10). Размещение элементов (11) повторяется с глобальным сдвигом в соответствие с параметром сдвига блоков ЦМ (10), который задается на сервере и может варьироваться, исходя из достижения максимально возможного количества цельных блоков ЦМ (10) на экране монитора (111), удовлетворяющих требованиям по размещению закодированной информации. В зависимости от параметра прозрачности подложки (101) и типа элемента (11), создается серое полотно (маска) с заданной прозрачностью. Полученная маска клонируется, переводится в черно-белую гамму, после чего инвертируется и наноситься на подложку (101) с определенным уровнем прозрачности.
[0037] Далее рассмотрим процесс декодирования информации, защищенной ЦМ, представленной на Фиг. 4 - Фиг. 6. Фиг. 4 иллюстрирует блок-схему выполнения способа (400) декодирования информации из захватываемого изображения.
[0038] На первом этапе (301) на вычислительный модуль (например, процессор) поступает изображение (410), которое было сделано с помощью внешнего устройства (400) или непосредственно с помощью ВУ (110), например, скриншот.Изображение (410) может содержать частично или полностью информацию, представленную на экране монитора (111), как это представлено на Фиг. 5.
[0039] Далее полученное изображение (410) проходит этап обработки (302), в ходе которого осуществляется преобразование полученного изображения из RGB базиса в цветовой базис, в котором были сформированы блоки ЦМ (10).
[0040] После перевода изображения (410) в новый базис выполняется выделение из него информационного цветового канала и базисные цифровые каналы. Поскольку весь набор пикселей можно представить в виде матрицы, например, 1920×1080×3 (для Full HD монитора), то можно выбрать три разных слоя, каждый из которых имеет размерность 1920×1080 пикселей. Далее на этапе (303) выполняется попиксельное вычитание значений информационного канала, выбранного для кодирования ЦМ (10), из соответствующих значений базисных каналов. Это позволяет на этапе (304) выделить ЦМ (10) среди остального шума и осуществить их декодирование для извлечения закодированной в них информации, как представлено схематично на Фиг. 6.
[0041] На Фиг. 7 представлен общий вид вычислительного устройства (500), пригодного для выполнения способов (200, 300). Устройство (500) может представлять собой, например, сервер или иной тип вычислительного устройства, который может применяться для реализации заявленного технического решения. В том числе входить в состав облачной вычислительной платформы.
[0042] В общем случае вычислительное устройство (500) содержит объединенные общей шиной информационного обмена один или несколько процессоров (501), средства памяти, такие как ОЗУ (502) и ПЗУ (503), интерфейсы ввода/вывода (504), устройства ввода/вывода (505), и устройство для сетевого взаимодействия (506).
[0043] Процессор (501) (или несколько процессоров, многоядерный процессор) могут выбираться из ассортимента устройств, широко применяемых в текущее время, например, компаний Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. В качестве процессора (501) может также применяться графический процессор, например, Nvidia, AMD, Graphcore и пр.
[0044] ОЗУ (502) представляет собой оперативную память и предназначено для хранения исполняемых процессором (501) машиночитаемых инструкций для выполнение необходимых операций по логической обработке данных. ОЗУ (502), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.).
[0045] ПЗУ (503) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др.
[0046] Для организации работы компонентов устройства (500) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (504). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, Fire Wire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.
[0047] Для обеспечения взаимодействия пользователя с вычислительным устройством (500) применяются различные средства (505) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.
[0048] Средство сетевого взаимодействия (506) обеспечивает передачу данных устройством (500) посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п.В качестве одного или более средств (506) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.
[0049] Дополнительно могут применяться также средства спутниковой навигации в составе устройства (500), например, GPS, ГЛОНАСС, BeiDou, Galileo.
[0050] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники.