ОБЛАСТЬ ТЕХНИКИ
[0001] Заявленное решение относится к области информационных технологий, а именно к средствам защиты цифровых данных для целей подтверждения их подлинности.
УРОВЕНЬ ТЕХНИКИ
[0002] С широким распространением на сегодняшний момент времени искусственного интеллекта (ИИ) и различных моделей машинного обучения, позволяющих генерировать изображения на основании текстового запроса пользователей, существует потребность в применении механизмов защиты генерируемых изображений для целей последующего подтверждения их подлинности.
[0003] Одна из необходимостей в применении такого рода механизма направлена на препятствовании присваивании авторства создаваемых ИИ изображений. Другая проблема связана с защитой изображений от сторонних дополнительных изменений или модификаций, искажающих первоначально сгенерированное ИИ изображение, что впоследствии может использоваться как ложные сведения, порочащие создателей таких моделей в части возможности генерирования изображений запрещенного или непристойного содержания.
[0004] Одним из примеров защиты изображений в уровне техники предлагается использовать своего рода цифровые подписи, встраиваемые в генерируемое изображения, которые являются невидимыми для человеческого глаза и могут быть получены только с помощью последующей расшифровки защищенных изображений с помощью их алгоритмического извлечения (см. статью «Copyright protection of images using robust digital signatures)) // N. Nikolaidis et al., 1996). Согласно известному решению создание подписи выполняется в пространственной области путем незначительного изменения уровня интенсивности случайно выбранных пикселей изображения. Определение сигнатуры осуществляется путем сравнения среднего значения интенсивности отмеченных пикселей с таковым у не отмеченных пикселей. Для этой цели используется проверка статистических гипотез. Подпись может быть сконструирована таким образом, чтобы она была устойчива к сжатию в формате JPEG и фильтрации нижних частот.
[0005] Данный подход был положен в основу заявленного решения в части использования внедрения защитной информации в коэффициенты яркости формата JPEG, а также ряд улучшений, позволяющих не только более эффективно маркировать генерируемые изображения, а также выявлять из возможные будущие изменения.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0006] Настоящее изобретение направлено на решение технической проблемы, заключающейся в создании нового эффективного способа защиты цифровых изображений с возможностью последующего подтверждения их подлинности и возможных изменений.
[0007] Техническим результатом является повышение эффективности защиты генерируемых ИИ изображений для целей определения их подлинности.
[0008] Дополнительным техническим результатом является возможность определения неизменности изображений на основании встраиваемой защитной информации.
[0009] В предпочтительном варианте осуществления изобретения заявлен способ защиты подлинности изображений, генерируемых на основании текстового запроса моделью машинного обучения, содержащий этапы, на которых:
a) получают данные пользовательского ввода для генерирования изображения;
b) генерируют изображение в формате JPG с помощью модели машинного обучения;
c) фиксируют данные пользовательского ввода, содержащие: время ввода, ID пользователя и текстовый запрос;
d) извлекают из данных файла сгенерированного изображения в формате JPG блоки значений коэффициентов дискретного косинусного преобразования (ДКП) для яркостной (Y) и цветных (Cb- и Cr) составляющих изображения;
e) получают последовательность низкочастотных коэффициентов ДКП (DC-коэффициенты) и высокочастотных коэффициентов ДКП (АС-коэффициенты) по всем блокам яркостной составляющей, и рассчитывают хеш-функцию на основании по меньшей мере одного АС-коэффициент и/или по меньшей мере одного DC-коэффициента;
f) по заданному ключу определяют блоки коэффициентов ДКП и позиции коэффициентов ДКП внутри блоков, исключая в блоках DC-коэффициенты ДКП, используемые на этапе е);
g) формируют вложение для защиты сгенерированного изображения, состоящее из последовательности, включающей: время ввода, ID пользователя, текстовый запрос, значение хеш-функции, полученной на этапе е), и дополнительную текстовую информацию;
h) выполняют формирование зашифрованной последовательности с помощью шифрования данных, полученных на этапе g), закрытым ключом;
i) осуществляют встраивание в коэффициенты ДКП сгенерированного изображения, определенные на этапе f), значений хеш-функции, полученной на этапе е), и зашифрованной последовательности, полученной на этапе h);
j) предоставляют защищенное изображение пользователю.
[0010] В одном из частных примеров осуществления на этапе d) выполняется извлечение блоков для встраивания информации по меньшей мере одной из Y-, Cb- и Cr-составляющих изображения.
[0011] В другом частном примере осуществления на этапе е) последовательность DC-коэффициентов состоит из коэффициентов ДКП одной из Y-, Cb- и Cr- составляющих изображения.
[0012] В другом частном примере осуществления е) хеш-функцию рассчитывают по коэффициентам ДКП по меньшей мере одной из Y-, Cb- и Cr- составляющих изображения.
[0013] В другом частном примере осуществления на этапе f) по заданному ключу определяют блоки коэффициентов ДКП и позиции коэффициентов ДКП внутри блоков, включающие в себя любые АС-коэффициенты и DC-коэффициенты ДКП, по меньшей мере одной из Y-, Cb- и Cr- составляющих изображения.
[0014] В другом частном примере осуществления на этапе с) дополнительно формируется сжатое изображение на основании сгенерированного изображения.
[0015] В другом частном примере осуществления на основании сжатого изображения формируется последовательность байт, которая добавляется к данным на этапе g) при формировании вложения.
[0016] В другом предпочтительном примере осуществления заявлена система защиты подлинности изображений, генерируемых на основании текстового запроса моделью машинного обучения, содержащая по меньшей мере один процессор и по меньшей мере одну память, связанную с процессором и содержащую машиночитаемые инструкции, которые при их исполнении процессором позволяют ему:
получать данные пользовательского ввода для генерирования изображения; генерировать изображение в формате JPG с помощью модели машинного обучения;
фиксировать данные пользовательского ввода, содержащие: время ввода, ID пользователя и текстовый запрос;
извлекать из данных файла сгенерированного изображения в формате JPG блоки значений коэффициентов дискретного косинусного преобразования (ДКП) для яркостной (Y) и цветных (Cb- и Cr) составляющих изображения;
получать последовательность низкочастотных коэффициентов ДКП (DC-коэффициенты) и высокочастотных коэффициентов ДКП (АС-коэффициенты) по всем блокам яркостной составляющей, и рассчитывать хеш-функцию на основании по меньшей мере одного АС-коэффициента и/или по меньшей мере одного DC-коэффициента;
по заданному ключу определять блоки коэффициентов ДКП и позиции коэффициентов ДКП внутри блоков, исключая в блоках DC-коэффициенты ДКП, для расчета хеш-функции;
формировать вложение для защиты сгенерированного изображения, состоящее из последовательности, включающей: время ввода, ID пользователя, текстовый запрос, значение рассчитанной хеш-функции, и дополнительную текстовую информацию;
выполнять формирование зашифрованной последовательности с помощью шифрования данных вложения закрытым ключом;
осуществлять встраивание в выбранные коэффициенты ДКП сгенерированного изображения полученного значения хеш-функции и зашифрованной последовательности;
предоставлять защищенное изображение пользователю.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0017] Фиг. 1 иллюстрирует общий вид способа защиты изображений.
[0018] Фиг. 2 иллюстрирует блок-схему заявленного способа.
[0019] Фиг. 3А иллюстрирует пример блоков с коэффициентами ДКП, соотнесенных с блоками пикселей изображений.
[0020] Фиг. 3Б иллюстрирует позиции коэффициентов ДКП в блоке.
[0021] Фиг. 3В иллюстрирует пример значений коэффициентов ДКП на разных позициях в блоке.
[0022] Фиг. 4 иллюстрирует пример определения коэффициентов ДКП для встраивания защитной информации.
[0023] Фиг. 5 иллюстрирует пример изменения коэффициентов ДКП после встраивания защитной информации.
[0024] Фиг. 6 иллюстрирует пример вложения и его частей в виде последовательности байт.
[0025] Фиг. 7 иллюстрирует общую схему вычислительного устройства.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0026] На Фиг. 1 представлена общая схема заявленного решения, которое реализовано с помощью обработки поступающих пользовательских запросов (110), представляющих собой текстовое описание генерируемого изображения. В области ИИ такие текстовые запросы, описывающие объект генерирования для модели машинного обучения, также называют «промпт». Запрос от пользователя (110) может передаваться через API (120), реализованный в веб-браузере или мессенджере (например, Telegram), обеспечивающий последующий обмен данными непосредственно с моделью генерирования изображений (130) (например, Kandinsky) пользователем (110) и модулем защиты изображений (140).
[0027] Модуль защиты изображений (140) может быть реализован на базе внешнего программно-аппаратного комплекса, например, сервера или удаленной АРМ, обеспечивающий функционал по обработке поступающих изображений (121), сгенерированных моделью (130). Модуль (140) может также находится в одном исполняющем контуре совместно с моделью (130), например, сервере или облачном вычислительном узле.
[0028] По факту работы модуля защиты изображений (140) в первично генерируемые изображения (121) внедряется защитная информация, содержащая зашифрованное вложение, позволяющее установить по меньшей мере авторство изображения, как созданного с помощью модели (130), а также идентификатор пользователя, сформировавшего запрос, и сам текст запроса. Впоследствии защищенное изображение (141) передается пользователю (110) через API (120), например, посредством отображения изображения (141) в веб-браузере или мессенджере.
[0029] Обмен данным в рамках реализации системы построен на стандартных принципах обмена данными, в частности с помощью вычислительной сети «Интернет», которая может быть реализована с помощью любых известных принципов, известных из уровня техники.
[0030] На Фиг. 2 представлен пример реализации заявленного способа (200) защиты генерируемых изображений. На первом этапе (201) происходит получение пользовательского ввода для генерации изображения моделью (130). Пользовательский ввод включает в себя текстовый запрос пользователя, ID пользователя (например, IP адрес, MAC адрес, ID регистрации и т.п.), и время текстового запроса. Эти данные фиксируются модулем защиты изображений (140) для последующего формирования защитной информации для внедрения в изображение.
[0031] Далее на этапе (202) модель (130) осуществляет генерацию изображения (121) согласно пользовательскому запросу и передает его в модуль защиты изображений (140). Изображение формируется в JPG (или JPEG) формате [1-3]. При поступлении в модуль (140) сгенерированного изображения (121) в формате JPG на этапе (203) выполняется извлечение из JPG файла блоков значений коэффициентов дискретного косинусного преобразования (ДКП) для яркостной (Y) и цветных (Cb (относительная голубизна) и Cr (относительная краснота) составляющих изображения.
[0032] На Фиг. 3А представлен пример получения блоков с коэффициентами дискретного косинусного преобразования (ДКП). При кодировании в JPEG исходного изображения (представленного виде пикселей в формате RGB) данные коэффициенты получаются следующим образом. Полученное изображение разбивается на цветовые каналы. Полученные каналы изображения (121) разбиваются на блоки (3001-300n) размерностью 8×8 пикселей. Количество блоков (3001-300n) зависит от разрешения сгенерированного изображения (121) или размера растрового изображения. Например, для изображения размера 1920×1080 пикселей количество блоков составит 240 по горизонтали и 135 по вертикали.
[0033] Каждый блок (3001-300n) подвергается дискретному косинусному преобразованию (ДКП), являющемся разновидностью дискретного преобразования Фурье. При этом, каждый из блоков (3001-300n) содержит один DC коэффициент (3011) на позиции (0,0) внутри блока и 63 АС коэффициента (3012-30164) на других позициях внутри блока. DC-коэффициент является усредненным значением всех значений внутри блока как это примерно изображено на Фиг. 3В.
[0034] На Фиг. 3Б представлен пример позиционирования ДКП коэффициентов внутри блока. DC коэффициенты также еще называют низкочастотные коэффициенты. В текущем описании позиция внутри блока (0,0) так же обозначается как 1-ая позиция. Позиции (Y1, Y2), (Y1, Y2)≠(0,0) обозначаются со 2-ой по 64-ую позицию.
[0035] Сам файл изображения в формате JPEG ("<имя_файла>.jpg") представляет собой сжатое хранение упомянутых выше коэффициентов ДКП. Таким образом, на этапе (203) происходит извлечение этих блоков коэффициентов ДКП напрямую из файла формата JPEG.
[0036] На этапе (204) выполняется хеширование последовательности DC коэффициентов для этого берутся все значения в блоках и к ним применяется выбранный алгоритм хеширования, например, SHA-256, SHA-512 и т.п.
[0037] Как показано на Фиг. 4 на этапе на этапе (205) определяются АС коэффициенты в блоках (3001-300n) с помощью выбранного ключа (seed) для последующего внедрения защитной информации. Берется исходная упорядоченная последовательность (401) блоков коэффициентов ДКП (X1, Х2) и позиций самих коэффициентов внутри блоков (Y1, Y2): {(X1,X2)-(Y1,Y2)}. Где (X1, Х2) - координата блока коэффициентов ДКП внутри изображения: где Hизображения - высота изображения, Wизображения _ ширина изображения; (Yl, Y2) - координаты позиций коэффициентов ДКП внутри блоков:
(Y1, Y2)≠(0,0). На Фиг. 3Б представлен пример таких позиций. Далее выбранная последовательность (401) АС коэффициентов перемешивается с помощью заданного ключа, впоследствии формируя новую последовательность (402) АС коэффициентов.
[0038] На этапе (206) выполняется формирование защитного вложения. Вложение состоит из открытой части (нешифрованной) и шифрованной части. Шифрованная часть представляет собой шифрованную последовательность данных, включающую в себя следующие данные: время ввода, ID пользователя, текстовый запрос (промпт-запрос), значение хеш-функции, полученной на этапе (204), и дополнительную текстовую информацию (например, обозначение «Я модель Сбера»). Открытая часть может включать в себя такую информацию как: проверочное число, хеш-последовательности выбранных коэффициентов ДКП, контрольное число целостности шифрованного вложения. Пример такого вложения представлен на Фиг. 6.
[0039] В одном из частных вариантов изобретения встраиванию подлежат произвольные данные, произвольного размера, меняющиеся в зависимости от запроса или его условий. В этом случае, при извлечение данных, изначально не известен их количество и их размер. Для возможности их извлечения в начало данных шифрованной части вставляются следующие данные: количество различных данных в фиксированном количестве первых бит, размер каждого из вложений в фиксированном количестве последующих бит. На Фиг. 6 приведен пример такого вложения. В начале шифрованной части вложения располагается количество данных - 3 данных: хеш-изображения; текстовая информация, включающая в себя фиксированную текстовую фразу, id-пользователя, время запроса, «Промпт» запроса; сжатое исходное изображение. Под количество данных отведено первые 32 бита шифрованной части вложения. Далее располагаются размеры данных - 64 байта на хеш; 163 байта на текстовую информацию, 3756 байт на сжатое исходное изображение. Под каждый размер отводится следующие 32 бита шифрованной части вложения.
[0040] Дополнительно защитное вложение может включать сжатое сгенерированное изображение (121), которое переводится в последовательность байт, добавляемую к последовательности байт остальных данных. Полученное вложение на этапе (206) подписывается закрытым ключом на этапе (207), формируя тем самым часть защитного вложения. Полученная шифрованная последовательность байт представляет в виде последовательности бит.
[0041] Далее на этапе (208) выполняется встраивание информации в последовательность коэффициентов ДКП, полученную на этапе (205).
[0042] Сначала встраиванию подлежит информация в открытом виде (не шифрованная). Это информация может включать в себя такую последовательность данных как: проверочное число, хеш-последовательности DC-коэффициентов (полученный на этапе (204)), контрольное число целостности защитного вложения, например, рассчитанного по алгоритму CRC16, CRC32, CRC64 или любому другому алгоритму расчета контрольной суммы или хеширования. Данная информация представляется в виде последовательности бит.
[0043] Далее встраиванию подлежит защитное вложение, полученного на этапе (207). Защищенное изображение (141) с внедренной на этапе (208) информацией отображается на этапе (209) на устройстве пользователя.
[0044] Вложение на этапе (208) встраивается непосредственно в выбранные на этапе (205) АС коэффициенты блоков (3001-300n), входящих в перемешанную последовательность (402).
[0045] Пример кодирования вложения внутрь JPG файла показана на Фиг. 5. При выполнении данного шага формируется перемешанная последовательность блоков коэффициентов ДКП и самих позиций коэффициентов внутри блоков. На Фиг. 5 первый бит встраивается в блок (31, 70) в коэффициент на позиции (1,0). Второй бит встраивается в блок (8, 69) в коэффициент на позиции (0,2) и так далее. Встраивание осуществляется как остаток от деления значения коэффициента ДКП на 2. Другими словами, если остаток от деления на 2 равен 0, то это означает, что в коэффициент встроен бит со значением 0. Если остаток от деления на 2 равен 1, то это означает, что в коэффициент встроен бит со значением 1. Если текущее значение коэффициента ДКП не дает нужный остаток, то это значение увеличивается или уменьшается на 1.
[0046] Как показано в примере на Фиг. 5 первый бит встраиваемой информации равен 1. Значение коэффициента в блоке (31, 70) на позиции (1,0) является 17. Остаток от деления 17 на 2 равен 1. Остаток совпадает со значением встраиваемого бита. Второй бит встраиваемой информации равен 0. Значение коэффициента в блоке (8, 69) на позиции (0, 2) является 23. Остаток от деления 23 на 2 равен 1. Остаток не совпадает со значением встраиваемого бита. Меняем значение 23, вычитая из него 1. Значение стало равным 22. Остаток от деления 22 на 2 теперь равен 0, что совпадает со значением встраиваемого бита.
[0047] Встраивание информации может производиться по принципу кодирования информации в наименьший значимый бит (НЗБ) в блоках ДКП коэффициентов. НЗБ-последний бит в битовом виде, изменение которого наименьшим образом меняет само значение.
[0048] Пример кодирования в блок ДКП коэффициентов на Фиг. 3В: 15 - 00010101 (изменение не требуется). НЗБ=1 4 - 00000100 (изменение). НЗБ=0 6 - 00000110 (изменение). НЗБ=0 3- 00000011 (изменение). НЗБ=1.
[0049] Рассмотрим пример встраивания текстовой информации. Текст для встраивания: SBER - 01010011 01000010 01000101 01010010. Рассмотрим встраивание буквы «S» -01010011. Берется значение 4 в битовом виде - 01010011. Идет встраивание слева направо: 0-1-0-1 и т.д.
- Шаг 1. Первый бит от «S»=0 и он встраивается в коэффициент ДКП со значением 4. НЗБ для 4 равен 0 (00000100). Необходимо встроить 0 от «S» и для 4 НЗБ так же 0. Поэтому значение не меняется.
- Шаг 2. Второй бит от «S»=1 и он встраивается в коэффициент ДКП со значением 6. НЗБ для 6 равен 0 (00000110). Необходимо встроить 1 от «S», а для 6 НЗБ=0. Поэтому значение меняется на 1 и принимает битовый вид 00000111. Другими словами, 6 заменяется на 7.
- Шаг 3. Третий бит от «S»=0 и он встраивается в коэффициент ДКП со значением 3. НЗБ для 3 равен 1 (00000011). Необходимо встроить 0 от «S», а для 3 НЗБ=1. Поэтому это значение меняется на 0 и принимает битовый вид 00000010. Другими словами, 3 заменяется на 2.
Данный процесс продолжается до встраивания всех требуемых бит.В итоге формируется матрица ДКП коэффициентов с закодированной информацией в части изменения выбранных АС коэффициентов.
[0050] Итоговая внедряемая последовательность защитных данных может иметь следующий вид: [проверочное число (например, 537), хеш DC-коэффициентов, контрольное число целостности шифрованного вложения, шифрованное вложение]. Данные в шифрованном вложении могут представлять собой следующую последовательность: [количество вложений (например, 3), размер 1-го вложения, размер 2-го вложения, размер 3-го вложения, хеш DC-коэффициентов, текст («Я модель Сбера…»), миниатюра исходного изображения (сильно сжатое исходное изображение)].
[0051] В байтовом виде это будет выглядеть следующим образом: 00000219ac3eb891bc32652a83b4ff62cc2e49de3293d99e24ae8907e90c96b55cb5578a78d78e887f5f436f6b9b989c6896b689e986s64a3509ee90fca…, где 00000219 - байтовый вид числа 537, ac3eb891bc32652a83b4ff62cc2e49de32 - байтовый вид хеша, 93d99e24 - байтовый вид значения контрольного числа CRC32 равное числу 2480512548, далее шифрованные данные. На Фиг. 6 представлен пример байтовой последовательности, подлежащей вложению. Эта последовательность представляется в виде битовой последовательности.
[0052] Полученные новые значения коэффициентов ДКП (Фиг. 5) сжимаются (кодируются) по стандарту JPEG и сохраняются в виде нового файла изображения.
[0053] При встраивании данной последовательности в выбранные ДКП коэффициенты полученное изображение (141) остается визуально неотличимым от первоначально сгенерированного изображения (121). Даже малые изменения писклей данного изображения ведет к изменению коэффициентов ДКП, что разрушает встроенное вложение. Этот факт позволяет в последующем выполнить проверку целостности встраиваемой защитной информации для подтверждения, что изображение (141) является подлинным, т.е. созданным с помощью модели (130), и что оно не было изменено в части его содержания.
[0054] Далее рассмотрим процесс извлечения вложенной информации при проверке защищенного изображения (141).
[0055] Аналогично этапам (203-205) происходит получение значения хеша DC-коэффициентов (хеш-изображения) и последовательность коэффициентов ДКП в которые потенциально было выполнено встраивание информации.
[0056] Далее выполняется следующий алгоритм.
[0057] Шаг 1. Извлекаются первые 4 байта для получения контрольного числа. Выполняется проверка, что данное число является исходным контрольным числом. Если число совпадает - продолжается извлечение. Если нет - формируется сообщение, что цифровая подпись не обнаружена или разрушена.
[0058] Шаг 2. Извлекаются следующие 64 байта. Это хеш DC-коэффициентов. Полученное значение сверяется с фактическим хешом DC-коэффициентов. Если хеш совпадает - продолжается извлечение. Если нет - выводим сообщение, что цифровая подпись не обнаружена или разрушена.
[0059] Шаг 3. Извлекаются следующие 4 байта, что позволяет получить контрольное число шифрованного вложения.
[0060] Шаг 4. Извлекается шифрованное вложение. Все дальнейшие биты во вложении относятся к шифрованному вложению. На данном этапе размер вложения является неизвестным. Однако, в первом блоке шифрованного вложения - это 256 байт для RSA, находятся длины вложений. Извлекаются первые 256 байт. Выполняется их расшифровкана открытом (публичном) ключе. Первые 4 байта в этом блоке это количество вложений - в примере на Фиг. 6 содержится 3 вложения. Каждые следующие 4 байта это размер каждого из этих вложений. В них находятся числа 64, 163 и 3756. Если размер любого вложения больше 30000 (ограничение на максимальное вложение), значит блок шифротекста изменен, в связи с чем формируется сообщение что цифровая подпись не обнаружена или разрушена. В противном случае получаются потенциальные размеры вложений и продолжатся извлечение.
[0061] Далее определяется размер шифрованного вложения. В соответствии с примером на Фиг. 6 полученные 64 байта размер первого вложения, что является хешом DC-коэффициентов, далее 163 байта размер второго вложения - это размер текста. Размер третьего вложения 3756 байт - это миниатюра изображения (сжатое изображение). Тогда общий размер шифрованного вложения: 64+163+3756=3983 (само вложение); добавляется 4 байта на количество вложений и еще 3 раза по 4 байта на их длины. В итоге получается следующее: 64+163+3756+4+3*4=3999 байт. Поскольку блок шифрования имеет размер 256, то в приведенном примере 3999//256=16 целых блоков шифрования, что равно 4096 байт шифрованного вложения.
[0062] Извлекаются 4096 байт, по которым считается контрольное число CRC32. Если значения совпало с контрольным числом, полученным на шаге 3, то извлечение продолжается. Если нет - формируется сообщение, что цифровая подпись не обнаружена или разрушена.
[0063] Расшифровка 4096 байт. Из первого блока, как было указано выше, получается количество вложений, их длины и сами вложения. Выполняется разбивка расшифрованной последовательности байт по количествам байт каждого вложения. Получаются исходные вложения.
[0064] Выполняется сверка хеша из расшифрованных данных с хешом из вложения (который уже сравнен с фактическим на шаге 2). Если хеши совпали - выводится сообщение, что цифровая подпись подтверждена, отображается извлеченная информация - хеш DC-коэффициентов, текст, и миниатюра сгенерированного изображения. Если нет - выводится сообщение, что цифровая подпись не обнаружена или разрушена.
[0065] На Фиг. 7 представлен общий вид вычислительного устройства (500), пригодного для выполнения способа (200). Устройство (500) может представлять собой, например, сервер или иной тип вычислительного устройства, который может применяться для реализации заявленного технического решения, в том числе: смартфон, планшет, ноутбук, компьютер и т.п. Устройство (500) может также входить в состав облачной вычислительной платформы.
[0066] В общем случае вычислительное устройство (500) содержит объединенные общей шиной информационного обмена один или несколько процессоров (501), средства памяти, такие как ОЗУ (502) и ПЗУ (503), интерфейсы ввода/вывода (504), устройства ввода/вывода (505), и устройство для сетевого взаимодействия (506).
[0067] Процессор (501) (или несколько процессоров, многоядерный процессор) могут выбираться из ассортимента устройств, широко применяемых в текущее время, например, компаний Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. В качестве процессора (401) может также применяться графический процессор, например, Nvidia, AMD, Graphcore и пр.
[0068] ОЗУ (502) представляет собой оперативную память и предназначено для хранения исполняемых процессором (501) машиночитаемых инструкций для выполнение необходимых операций по логической обработке данных. ОЗУ (502), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.).
[0069] ПЗУ (503) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др.
[0070] Для организации работы компонентов устройства (500) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (504). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, 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 и т.п.
[0071] Для обеспечения взаимодействия пользователя с вычислительным устройством (500) применяются различные средства (505) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.
[0072] Средство сетевого взаимодействия (506) обеспечивает передачу данных устройством (500) посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (506) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.
[0073] Дополнительно могут применяться также средства спутниковой навигации в составе устройства (500), например, GPS, ГЛОНАСС, BeiDou, Galileo.
[0074] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники.
Источники информации:
1. Hamilton, Eric: JPEG File Interchange Format, Version 1.02. 1 September 1992;
2. Recommendation ITU-T T.871: Information technology - Digital compression and coding of continuous-tone still images: JPEG File Interchange Format (JFIF). Approved 14 May 2011; posted 11 September 2012;
3. Recommendation ITU-T T.81: Information technology - Digital compression and coding of continuous-tone still images - Requirements and guidelines. Approved 18 September 1992; posted 14 April 2004.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ СКРЫТОЙ ПЕРЕДАЧИ ИНФОРМАЦИИ С КОДОВЫМ УПЛОТНЕНИЕМ В ВИДЕОДАННЫХ | 2015 |
|
RU2616869C2 |
КОМАНДА НА ШИФРОВАНИЕ СООБЩЕНИЯ С АУТЕНТИФИКАЦИЕЙ | 2017 |
|
RU2727152C1 |
ВИДЕОПЕРЕДАЮЩЕЕ УСТРОЙСТВО, ИСПОЛЬЗУЮЩЕЕ ВНУТРИКАДРОВУЮ ВИДЕОКОМПРЕССИЮ, СОВМЕСТИМУЮ СО СТАНДАРТОМ МПЕГ-2 | 1998 |
|
RU2191469C2 |
СПОСОБ СКРЫТОЙ ПЕРЕДАЧИ ДАННЫХ В ВИДЕОИЗОБРАЖЕНИИ | 2014 |
|
RU2608150C2 |
ВСТРАИВАНИЕ ВОДЯНОГО ЗНАКА В СЖАТЫЙ ИНФОРМАЦИОННЫЙ СИГНАЛ | 2001 |
|
RU2288546C2 |
СПОСОБ ОБЕСПЕЧЕНИЯ РОБАСТНОСТИ ЦИФРОВОГО ВОДЯНОГО ЗНАКА, ВСТРАИВАЕМОГО В СТАТИЧЕСКОЕ ИЗОБРАЖЕНИЕ, ПЕРЕДАВАЕМОЕ ПО КАНАЛУ СВЯЗИ С ПОМЕХАМИ | 2022 |
|
RU2785832C1 |
ДВУХПРОХОДНОЕ ХЕШ ИЗВЛЕЧЕНИЕ ТЕКСТОВЫХ СТРОК | 2008 |
|
RU2464630C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ ВЫБОРОЧНОГО ШИФРОВАНИЯ ДАННЫХ | 2009 |
|
RU2518392C2 |
СПОСОБЫ И УСТРОЙСТВА ВЫБОРОЧНОГО ШИФРОВАНИЯ ДАННЫХ | 2009 |
|
RU2505931C2 |
СИСТЕМА УПРАВЛЕНИЯ POS-ТЕРМИНАЛЬНОЙ СЕТИ | 2017 |
|
RU2681372C1 |
Изобретение относится к средствам защиты цифровых данных для целей подтверждения их подлинности. Техническим результатом является расширение функциональных возможностей по защите генерируемых ИИ изображений для целей определения их подлинности, заключающихся в установлении авторства изображения как созданного с помощью модели машинного обучения, идентификатора пользователя, сформировавшего запрос для генерирования изображения, и самого текста запроса. Способ защиты подлинности изображений, генерируемых на основании текстового запроса моделью машинного обучения, содержит этапы, на которых: получают данные пользовательского ввода для генерирования изображения; генерируют изображение с помощью модели машинного обучения; фиксируют данные пользовательского ввода, содержащие: время ввода, ID пользователя и текстовый запрос; формируют вложение для защиты сгенерированного изображения, состоящее из указанных данных; формируют зашифрованную последовательность с помощью шифрования данных вложения; осуществляют встраивание в коэффициенты дискретного косинусного преобразования сгенерированного изображения значений хеш-функции и зашифрованной последовательности; предоставляют защищенное изображение пользователю. 2 н. и 6 з.п. ф-лы, 9 ил.
1. Способ защиты подлинности изображений, генерируемых на основании текстового запроса моделью машинного обучения, содержащий этапы, на которых:
a) получают данные пользовательского ввода для генерирования изображения;
b) генерируют изображение в формате JPG с помощью модели машинного обучения;
c) фиксируют данные пользовательского ввода, содержащие: время ввода, ID пользователя и текстовый запрос;
d) извлекают из данных файла сгенерированного изображения в формате JPG блоки значений коэффициентов дискретного косинусного преобразования (ДКП) для яркостной (Y) и цветных (Cb- и Cr) составляющих изображения;
e) получают последовательность низкочастотных коэффициентов ДКП (DC-коэффициенты) и высокочастотных коэффициентов ДКП (АС-коэффициенты) по всем блокам яркостной составляющей и рассчитывают хеш-функцию на основании по меньшей мере одного АС-коэффициента и/или по меньшей мере одного DC-коэффициента;
f) по заданному ключу определяют блоки коэффициентов ДКП и позиции коэффициентов ДКП внутри блоков, исключая в блоках АС-коэффициенты и/или DC-коэффициенты ДКП, используемые на этапе е);
g) формируют вложение для защиты сгенерированного изображения, состоящее из последовательности, включающей: время ввода, ID пользователя, текстовый запрос, значение хеш-функции, полученной на этапе е), и дополнительную текстовую информацию;
h) выполняют формирование зашифрованной последовательности с помощью шифрования данных, полученных на этапе g), закрытым ключом;
i) осуществляют встраивание в коэффициенты ДКП сгенерированного изображения, определенные на этапе f), значений хеш-функции, полученной на этапе е), и зашифрованной последовательности, полученной на этапе h);
j) предоставляют защищенное изображение пользователю.
2. Способ по п. 1, в котором на этапе d) выполняется извлечение блоков для встраивания информации по меньшей мере одной из Y-, Cb- и Cr- составляющих изображения.
3. Способ по п. 1, в котором на этапе е) последовательность коэффициентов ДКП состоит из коэффициентов ДКП одной из Y-, Cb- и Cr- составляющих изображения.
4. Способ по п. 1, в котором на этапе е) хеш-функцию рассчитывают по коэффициентам ДКП по меньшей мере одной из Y-, Cb- и Cr- составляющих изображения.
5. Способ по п. 4, в котором на этапе f) по заданному ключу определяют блоки коэффициентов ДКП и позиции коэффициентов ДКП внутри блоков, включающие в себя АС-коэффициенты и DC-коэффициенты ДКП, по меньшей мере одной из Y-, Cb- и Cr- составляющих изображения.
6. Способ по п. 1, в котором на этапе с) дополнительно формируется сжатое изображение на основании сгенерированного изображения.
7. Способ по п. 6, в котором на основании сжатого изображения формируется последовательность байт, которая добавляется к данным на этапе g) при формировании вложения.
8. Система защиты подлинности изображений, генерируемых на основании текстового запроса моделью машинного обучения, содержащая по меньшей мере один процессор и по меньшей мере одну память, связанную с процессором и содержащую машиночитаемые инструкции, которые при их исполнении процессором позволяют ему:
получать данные пользовательского ввода для генерирования изображения; генерировать изображение в формате JPG с помощью модели машинного обучения;
фиксировать данные пользовательского ввода, содержащие: время ввода, ID пользователя и текстовый запрос;
извлекать из данных файла сгенерированного изображения в формате JPG блоки значений коэффициентов дискретного косинусного преобразования (ДКП) для яркостной (Y) и цветных (Cb- и Cr) составляющих изображения;
получать последовательность низкочастотных коэффициентов ДКП (DC-коэффициенты) и высокочастотных коэффициентов ДКП (АС-коэффициенты) по всем блокам яркостной составляющей и рассчитывать хеш-функцию на основании по меньшей мере одного АС-коэффициента и/или по меньшей мере одного DC-коэффициента;
по заданному ключу определять блоки коэффициентов ДКП и позиции коэффициентов ДКП внутри блоков, исключая в блоках DC-коэффициенты ДКП, для расчета хеш-функции;
формировать вложение для защиты сгенерированного изображения, состоящее из последовательности, включающей: время ввода, ID пользователя, текстовый запрос, значение рассчитанной хеш-функции и дополнительную текстовую информацию;
выполнять формирование зашифрованной последовательности с помощью шифрования данных вложения закрытым ключом;
осуществлять встраивание в выбранные коэффициенты ДКП сгенерированного изображения полученного значения хеш-функции и зашифрованной последовательности;
предоставлять защищенное изображение пользователю.
Rui Ma et al | |||
PiGW: A Plug-in Generative Watermarking Framework, опубл | |||
Очаг для массовой варки пищи, выпечки хлеба и кипячения воды | 1921 |
|
SU4A1 |
Приспособление для умножения чисел | 1925 |
|
SU2403A1 |
CN 102880997 A, 16.01.2013 | |||
Sven Gowal et al | |||
Identifying AI-generated images with SynthID, опубл | |||
Солесос | 1922 |
|
SU29A1 |
Найдено в Интернет: |
Авторы
Даты
2024-10-31—Публикация
2024-06-03—Подача