СПОСОБ ОБЕСПЕЧЕНИЯ РОБАСТНОСТИ ЦИФРОВОГО ВОДЯНОГО ЗНАКА, ВСТРАИВАЕМОГО В СТАТИЧЕСКОЕ ИЗОБРАЖЕНИЕ, ПЕРЕДАВАЕМОЕ ПО КАНАЛУ СВЯЗИ С ПОМЕХАМИ
METHOD FOR ENSURING THE ROBUSTNESS OF A DIGITAL WATERMARK EMBEDDED IN A STATIC IMAGE TRASMITTED OVER A NOISY COMMUNICATION CHANEL

Область техники, к которой относится изобретение
Предлагаемое изобретение относится к технике связи, в частности, к области технических решений обеспечения контроля подлинности статических изображений.
Уровень техники
С целью обеспечения подлинности электронных статических изображений (далее - изображений) применяется процедура аутентификации. При аутентификации изображений, передаваемых по каналу связи с помехами и/или обрабатываемых в вычислительных системах, возникают дополнительные задачи:
аутентификация частично измененных при воздействии помех изображений;
обеспечение аутентификации изображений в результате легитимных действий над ним (сжатие, фильтрация, геометрические преобразования);
обеспечение неотказуемости от авторства;
защита аутентификационной информации от помех;
защита аутентификационной информации от подмены.
Одним из способов обеспечения подлинности изображений является использование цифровой стеганографии, в частности, применение системы цифровых водяных знаков (далее - ЦВЗ).
а) описание аналогов
Известен способ аутентификации электронного изображения (Патент США 7313696 МПК H04L 9/00(2006.01) от 25.12.07), заключающийся в том, что аутентификация изображения осуществляется за счет встраивания и проверки наличия ЦВЗ в изображении. Предварительно на передающей и приемной стороне имеются секретный ключ, договариваются о применяемой функции хеширования и криптографической функции шифрования. Для встраивания ЦВЗ исходное изображение делят на блоки, над которыми производят вейвлет преобразование, а полученные вейвлет коэффициенты квантуют, упорядочивают и вычисляют хэш-функцию блока, исключая последнюю упорядоченную последовательность вейвлет коэффициентов, которую и заменяют на вычисленный ЦВЗ.
Недостатком указанного способа является низкая робастность (защищенность встроенного ЦВЗ от воздействия помех (случайных или преднамеренных)), при передаче заполненного контейнера по каналу связи.
Известен способ обеспечения аутентификации изображений на основании использования ЦВЗ (Известия Института инженерной физики, В.Г. Грибунин О методах помехоустойчивого внедрения цифровых водяных знаков в изображения / В.Г. Грибунин, Д.А. Токарев // 2015. - №4(38). - С. 95-101), в котором для повышения защищенности ЦВЗ от воздействия помех применяется расширение спектра сигнала передаваемого сообщения с помощью широкополосных ортогональных сигналов.
Недостатком описанного в статье способа является необходимость кратного расширения ЦВЗ при повышении уровня помех в канале связи и, как следствие, низкая емкость встроенного сообщения, а также отсутствие зависимости встроенного ЦВЗ от передаваемых изображений.
б) описание ближайшего аналога (прототипа)
2
Наиболее близким к заявленному способу является улучшенная стеганографическая модель, основанная на дискретном вейвлет преобразовании с шифрованием и коррекцией ошибок ((IJACSA) International Journal of Advanced Computer Science and Applications, Adwan Yasin, Muath Sabha, Nizar Shehab, Mariam Yasin «An Enhanced Steganographic Model Based on DWT Combined with Encryption and Error Correction Techniques», Vol. 6, No. 12, 2015). Способ-прототип заключается в том, что предварительно исходное изображение путем обрезки или масштабирования делают квадратным, и это квадратное изображение делят на блоки. На основании ключа K определяют блоки, в которые будет производиться встраивание информации. Над этими блоками производят декомпозицию по трем цветовым компонентам (RGB), и над каждой из них производят дискретное вейвлет преобразование. Параллельно этому внедряемое сообщение зашифровывают с помощью алгоритма AES (Advance Encryption Standard). От полученного зашифрованного сообщения М вычисляют проверочные биты СВ кода Хэмминга и встраивают М и СВ в коэффициенты вейвлет преобразования. Встраивание осуществляется путем замены наименее значимых коэффициентов вейвлет преобразования битами встраиваемой информации. Для М используется зона НН, а для СВ зона LH.
Недостатком прототипа является отсутствие контроля подлинности исходного контейнера. При формировании ЦВЗ не учитываются характеристики контейнера. Кроме того, в условиях воздействия помех (особенно преднамеренных) корректирующая способность кода Хэмминга может быть не достаточна, что может привести к неверному декодированию кодовой комбинации.
Раскрытие сущности изобретения
а) технический результат, на достижение которого направлено изобретение
Целью заявляемого изобретения является повышение уровня защищенности встроенного в изображения ЦВЗ при передаче контейнера по каналу связи с помехами, обеспечение неотказуемости от авторства и повышение уровня защищенности от навязывания ложной информации.
б) совокупность существенных признаков
1
2
1
2
2
1
1
1
i
i
Поставленная цель достигается тем, что на передающей и приемной стороне имеются ключи: шифрования K и стеганографического преобразования K, на передающей стороне выполняют шифрование информации, подлежащей встраиванию в стеганографический контейнер, по ключу K кодирование зашифрованной информации, подлежащей встраиванию в стеганографический контейнер, избыточным кодом, встраивание полученного цифрового водяного знака по ключу K в стеганографический контейнер и передача заполненного стеганографического контейнера по каналу связи, на приемной стороне выполняют: извлечение из полученного стеганографического контейнера по ключу K цифрового водяного знака, его декодирование избыточным кодом, расшифрованние по ключу K и проверку подлинности принятого изображения на основании извлеченных данных, отличающийся тем, что на передающей и приемной стороне имеется уникальный идентификатор источника L фиксированной длины, приемная и передающая стороны заблаговременно договариваются о: применяемой последовательности Баркера b, способе встраивания и извлечения цифрового водяного знака в контейнер и способе формирования сигнатуры Н, на передающей стороне вычисляют сигнатуру изображения Н, выполняют конкатенацию идентификатора источника L, служебной информации D и сигнатуры Н, получая обобщенный идентификатор М, который кодируют избыточным кодом получая кодовую комбинацию А, которую расширяют с помощью последовательности Баркера b, для чего заменяют в А биты равные «0» на получая вектор U, в котором выполняют обратную замену бит равных "-1" на «0», затем полученный вектор U шифруют на ключе K, на приемной стороне извлеченный из принятого стеганографического контейнера и расшифрованный по ключу K вектор U* делят на блоки u, равные длине выбранной последовательности Баркера и вычисляют скалярное произведение блока u и прямой последовательности Баркера b, если это скалярное произведение больше нуля, то делают вывод о передаче единичного бита кодовой комбинации А*, если меньше нуля, то делают вывод о передаче нулевого бита кодовой комбинации А*, если при декодировании А* избыточным кодом вес вычисленного синдрома равен «0» вычисляют обобщенный идентификатор М**, разделяют его на L**, D** и Н**, выполняют сравнение: идентификатора источника L** с имеющимся уникальным идентификатором L, извлеченной сигнатуры изображения Н** с вычисленным от принятого изображения Н'. Если вес синдрома кодовой последовательности А* не равен 0, то решение о дальнейшей обработке изображения принимает пользователь, выбирая либо итеративную коррекцию А* на основании информации о синдроме (количество и местоположение ошибок) и других данных (ранее принятые изображения, состояние канала), либо признание изображения ложным. Вычисление сигнатуры изображения Н реализуют таким образом, чтобы ее значение для заполненного и пустого контейнера совпадали. Так же приемная и передающая стороны договариваются о наборе применяемых последовательностей Баркера, приемная сторона имеет возможность оценивать уровень помех в канале связи и сообщать результаты оценки передающей стороне, при повышении/снижении уровня помех в канале связи по которому передается стеганографический контейнер со встроенной в него ЦВЗ передающая и принимающая стороны договариваются о применении последовательности Баркера большей/ меньшей длины соответственно.
Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленного способа, отсутствуют, что указывает на соответствие заявленного способа условию патентоспособности «новизна».
Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного способа, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность отличительных существенных признаков, обуславливающих тот же технический результат, который достигнут в заявляемом способе. Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень».
в) причинно-следственная связь между признаками и техническим результатом
Благодаря новой совокупности существенных признаков в способе реализовано:
повышение робастности и обеспечение адаптации к параметрам канала связи, встроенного в изображения ЦВЗ за счет расширения встраиваемого сообщения с помощью последовательности Баркера переменной размерности;
обеспечение неотказуемости от авторства для изображения, благодаря включению в ЦВЗ идентификатора источника;
повышение уровня защищенности от навязывания ложной информации обеспечиваемого использованием в ЦВЗ сигнатуры изображения;
Краткое описание чертежей
Заявленный способ поясняется чертежами, на которых показаны:
- на фиг. 1 - алгоритм встраивания цифрового водяного знака в пустой контейнер;
- на фиг. 2 - алгоритм извлечения цифрового водяного знака из заполненного контейнера и проверки подлинности полученного изображения.
Осуществление изобретения
Рассмотрим реализацию предлагаемого способа (на передающей стороне - фиг. 1, на принимающей - фиг. 2).
1
2
Заблаговременно передающая и приемная стороны обмениваются: идентификатором источника L - уникальные номера фиксированной длины (серийный номер камеры, авторский идентификатор и др.), ключами: шифрования K и стеганографического преобразования K (процедуры выбора и распределения ключей не рассматриваются, предполагается, что ключи заданы). Также стороны договариваются: об используемом методе вычисления хэш-функции, о том, какая последовательность Баркера будет использоваться, о применяемом избыточном коде и способе стеганографического преобразования информации.
0
При реализации процедуры передачи данных формируют служебную информацию D, которая может представлять собой данные о дате, времени, координатах проведения съемки, и др. Далее, от совмещенного двоичного представления исходного изображения I, уникального идентификатора источника L и служебной информации D вычисляют хэш-функцию фиксированной длины. Хэш-функция может быть получена путем конкатенации хэш-функции изображения, нахождение которой возможно одним из известных способов (И.В. Рудаков, И.М. Васютович Исследование перцептивных хеш-функций изображений / И.В. Рудаков, И.М. Васютович // Наука и образование: научное издание МГТУ им. Н.Э. Баумана. - 2015. - №8. - С. 269-280) и хэш-функций от двоичного представления L и D.
Полученная хэш-функция Н однозначно определяет данное изображение с его метаданными и может быть интерпретирована как сигнатура изображения.
2
При этом вычисление хэш-функции изображения реализуют таким образом, чтобы ее значение для заполненного и пустого контейнера совпадали. Например, вычисляют хэш-функцию от старших бит контейнера, а встраивают ЦВЗ в младшие биты контейнера, или исключают из расчета хэш-функции те параметры (пиксели, коэффициенты ДКП, ДВП и др.), которые модифицируются на основании ключа K при прямом стеганографическом преобразовании.
Далее выполняют конкатенацию (обозначена символом «||») идентификатора источника L, служебной информации D и сигнатуры Н:
Особенностью обобщенных идентификаторов М в целом или его составляющих векторов L, D и Н для множества информационных источников, является то, что в произвольном случае искажение хотя бы одного бита М может привести к ошибочной идентификации источника, изображения или к получению запрещенного идентификатора (не входящего во множество предварительно установленных). То есть минимальное кодовое расстояние по Хеммингу на множестве обобщенных идентификаторов равно единице.
С целью уменьшения вероятности ошибочной идентификации источника выполняется кодирование обобщенного идентификатора М одним из помехоустойчивых кодов (например, линейным кодом):
A=M×G,
где G - образующая матрица заданного помехоустойчивого кода;
i
- вектор выходной кодовой комбинации, a ∈ {0, 1},
n,r - количество информационных и проверочных бит соответственно.
Параметры избыточного кода выбираются исходя из модели помех в канале связи (или модели ошибок в запоминающем устройстве), использования кода в режиме обнаружения ошибок и/или локализации места ошибки без ее исправления.
Как известно [Семенов A.M., Сикарев А.А. Широкополосная связь - М.: Воениздат, 1970. - 280 с.], для повышения помехоустойчивости систем связи могут применяться широкополосные сигналы, одним из примеров которых являются код Баркера, к достоинствам которого относят высокую помехозащищенность и низкий уровень боковых лепестков автокорреляционной функции.
Известные последовательности Баркера:
1
2
l
1
2
n+r
Для повышения защищенности встроенного в изображение ЦВЗ производят расширение кодовой комбинации А с помощью одной из последовательностей Баркера b=[bb… b],  Для этого в кодовой последовательности [а а… a] выполняют замену бит равных «0» на «-1»:
Умножают вектор b на каждый элемент Ω, получая вектор U:
Далее в U выполняют обратную замену «-1» на «0», то есть:
1
Последовательности Баркера являются общеизвестными, имеют детерминированную структуру, поэтому их применение в стеганографических системах является демаскирующим признаком, для устранения которого в способе реализуется процедура шифрования U одним из известных криптоалгоритмов на ключе K:
cript
где E - функция шифрования.
Процедура шифрования позволяет получить из последовательности с явными детерминированными или статистическими свойствами - случайную последовательность, что затрудняет злоумышленнику выполнить стеганографический анализ перехваченного заполненного контейнера.
E
2
Встраивание криптограммы W в контейнер реализуется методами цифровой стеганографии по ключу K. Методы встраивания описаны, например, в (Грибунин В.Г., Стеганографические системы. Цифровые водяные знаки: Учебно-методическое пособие / Грибунин В.Г., Костюков В.Е., Мартынов А.П. - Саров: ФГУП"РФЯЦ-ВНИИЭФ", 2016. - 210 с.):
где F - функция, определяющая процедуру встраивания ЦВЗ в контейнер.
W
Полученный таким образом заполненный контейнер I передают по каналу связи получателю.
2
На приемной стороне из полученного контейнера  по ключу Kизвлекают
-1
где F - функция, определяющая процедуру извлечения ЦВЗ из контейнера, (*) - означает вероятностный характер изменения контейнера при передаче по каналу связи в результате воздействия помех.
1
Далее, расшифровывают  по ключу K, получая вектор U*,
decript
где, E - функция дешифрования. Далее в U* биты равные «0» заменяют на «-1»:
Полученный вектор U* разделяют на блоки  равные длине l применяемой последовательности Баркера b. Вычисляют скалярное произведение  и прямой последовательности Баркера b:
Далее, если полученное скалярное произведение для блока  больше 0, блок  заменяют на «1» и на «0» в противном случае, таким образом получают кодовую комбинацию А*:
Затем от кодовой комбинации А* вычисляют синдром, если вес этого синдрома не равен «0» решение о том, что изображение ложно принимается пользователем на основании количества ошибок, их местоположения и других данных, при этом пользователь может произвести итеративную коррекцию принятой кодовой комбинации А* до получения веса синдрома скорректированной последовательности равного 0, или принять решение о недопустимости полученных ошибок и признать изображение ложным.
Если вес синдрома кодовой комбинации А* равен 0, то в соответствии с алгоритмом избыточного кодирования вычисляют обобщенный идентификатор М**:
где S - проверочная матрица кода, (**) - означает вероятностный характер трансформации кодовой комбинации при декодировании вследствие внесенных искажений.
Затем разделяют М** на цепочки двоичных символов L**, D** и Н**:
(длины составляющих элементов заданы заранее), выделяя, таким образом, идентификатор источника L**, служебную информацию D** и сигнатуру Н**. Для проверки подлинности источника изображения сравнивают: идентификатор L**, извлеченный из полученного контейнера, и имеющийся на принимающей стороне L.
Для проверки подлинности изображения сравнивают: извлеченную сигнатуру Н** и сигнатуру  вычисленную от: принятого изображения , уникального идентификатора L** и служебной информации D** (вычисление сигнатуры H полученного изображения аналогично процедуре на передающей стороне).
С целью обеспечения адаптации встраиваемого ЦВЗ к помеховой обстановке в каналах связи передающая и приемная стороны предварительно договариваются о перечне используемых последовательностей Баркера. При повышении уровня помех (предполагается, что приемная сторона имеет возможность оценивать уровень помех в канале связи и сообщать эти результаты оценки передающей стороне) передающая сторона увеличивает параметр размерности последовательности Баркера, а на приемной стороне к последовательности U* применяют ту последовательность Баркера, которая была использована на передаче.
Пример практической реализации изобретения
Пусть, идентификатором источника выступает, например, некоторый идентификатор камеры:
L=[1011].
Сигнатурой выступает вычисленная хэш-функция от изображения, идентификатора источника и служебной информации, например:
Н=[1001].
Служебной информацией D является, например, вектор:
D=[1110].
Выполним конкатенацию Н с идентификатором источника L и служебной информацией D:
В качестве избыточного кода используем код Хемминга (7, 4), которым закодируем М (4 - информационных бита и 3 - проверочных бита), получая кодовую комбинацию А:
Преобразуем А в вектор  заменой значений «0» на «-1»:
Далее, умножая каждый бит вектора Ω на 5-ти элементную последовательностью Баркера b=[111-11], получают вектор U:
Затем, в U значение "-1" заменяют на «0»:
1
Пусть, шифрование U выполняется путем наложения гаммы Y, полученной с помощью ключа K:
например:
E
2
Полученный ЦВЗ W встраивают в исходное изображение с помощью ключа K.
2
Полученный заполненный контейнер передают получателю. На приемной стороне на основании ключа K с помощью стеганографического преобразования над принятым изображением получают ЦВЗ  (знаком ~ обозначен бит, искаженный в процессе передаче).
1
Далее, расшифровывая  по ключу K, получают:
i
1
Вычислим скалярное произведение блоков вектора U* (значения «0» заменяют на «-1») u и прямой последовательности Баркера (приведем пример для первого блока u):
Таким же образом получают остальные элементы вектора А*:
Проверочная матрица S для кода Хэмминга (7, 4)
Вычисляют синдром от принятой последовательности:
Т.к. вес синдрома равен 0, то ошибок в принятой кодовой комбинации нет. Выделяя обобщенный идентификатор М выполняют разделение цепочек двоичных символов:
Допустим в полученной кодовой комбинации присутствует ошибка:
Тогда, вычисленный синдром покажет позицию ошибки в принятой кодовой комбинации А*. Эта информация доводится до пользователя, который, допустим, принимает решение на коррекцию этого бита:
Синдром скорректированной последовательности А* будет равен 0 и дальнейшая обработка изображения будет продолжена. Если же пользователь примет решение о недопустимости данной ошибки изображение будет признано ложным.
Таким образом, приведенный пример показал, что заявленный способ функционирует корректно, технически реализуем и позволяет решить поставленную задачу.