Алгоритмы встраивания цифровых водяных знаков в растровые изображения

вения угроз в начале H—G, затем угрозы A и в заключение D.

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

Библиографический список 1. Фатхи Дм. В. Нечёткое И/ИЛИ-дерево дедуктивного вывода [Текст] / Дм. В. Фатхи, Д. В. Фатхи, О. С. Дружбин // Информационная безопасность регионов : научно-практический журнал. - 2008. - № 2(3). - ISSN 1995-5731-

2. Фатхи Дм. В. Логические производные И/ ИЛИ-деревьев вывода знаний в экспертных системах обеспечения информационной безопасности [Текст] / Дм. В. Фатхи, Д. В. Фатхи, О. С. Дружбин // Информационная безопасность регионов: научно-практический журнал. - 2009. - № 1(4). - ISSN 1995-5731.

3. Гинзбург С. Я. Математическая непрерывная логика и изображение функций [Текст] // Библиотека по автоматике. - Вып. 274. - М., Энергия, 1968. - 136 с.

4. Теория и практика обеспечения информационной безопасности [Текст] / / под ред. П. Д. Зегжды. - М. : Яхтсмен, - 1996. - 192 с.

Материалы поступили в редакцию 11.03.2012 г.

УДК 34

АЛГОРИТМЫ ВСТРАИВАНИЯ ЦИФРОВЫХ ВОДЯНЫХ ЗНАКОВ В РАСТРОВЫЕ ИЗОБРАЖЕНИЯ

© Семёнов Константин Петрович

кандидат технических наук, доцент, преподаватель кафедры математических и естественнонаучных дисциплин, Саратовский военный институт внутренних войск МВД России.

ЕЗ semenovl976@bk.ru

Ш

© Зайцев Павел Валерьевич

старший преподаватель кафедры математических и естественнонаучных дисциплин, Саратовский военный институт внутренних войск МВД России.

И pavel.13.10-4@yandex.ru

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

Ключевые слова: защита информации, стеганография, цифровые водяные знаки, алгоритмы встраивания, робастность.

Значительная часть исследовании ученых в области современной стеганографии посвящена возможностям использования растровых изображений в качестве носителей

скрытой информации (стегоконтейнеров). В этом случае скрытую информацию (стего-сообщения) называют цифровыми водяными

знаками1 [1, с. 111]. Популярность применения ЦВЗ обусловлена следующими причинами:

- практической значимостью задачи защиты цифровых фотографий, картин, видео от неправомерного копирования и распространения;

- большим (по сравнению с другими видами компьютерных данных) объёмом компьютерного представления растровых изображений, что позволяет скрывать в них стегосообщения большого объёма либо повышать робастность внедрения ЦВЗ;

- заранее известным фиксированным размером контейнера и отсутствием ограничений на время действия алгоритма встраивания ЦВЗ;

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

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

- существованием апробированных и динамично развивающихся эффективных методов и инструментов цифровой обработки растровых изображений.

Важно отметить, что последняя причина носит двоякий характер. Совершенствование алгоритмов цифровой обработки растровых изображений (в первую очередь, алгоритмов сжатия растровых изображений) приводит к затруднениям при обеспечении нужного уровня робастности ЦВЗ. Чем эффективнее «сжато» изображение, тем меньше возможностей остаётся для внедрения в него «лишней» информации. Как следствие, с развитием эффективных методов сжатия растровых изображений принципиально изменилась техника внедрения в изображения ЦВЗ. Первоначально стегосообщение для уменьшения визуальной заметности вкладывалось в незначащие биты изображения. В настоящее время такой подход не используется, так как при применении к изображению сжатия ЦВЗ теряется или искажается смысл. Современные подходы базируются на идее встраивания стегосообщений в основные, наиболее существенные области изображений, с последующим их сжатием. Такой способ, с одной стороны, вызывет незначительное, практически незаметное для человеческого глаза изменение изображения, а с другой стороны, разрушение (вычленение) ЦВЗ из основных областей изображения приведёт к его существенному искажению или уничтожению. Поэтому современные стегоалгоритмы построены на тех же математических алгоритмах и преобра-

зованиях, что и алгоритмы сжатия дискретной информации2 [2, с. 157].

Часто ЦВЗ встраивают в пространственные (геометрические) области исходного растрового изображения. В этом случае нет необходимости выполнять сложные преобразования цветовых характеристик пикселей изображений. Стегосообщение встраивается при помощи манипуляций либо яркостью3 I (х,у) е {0,..., 255 }, либо цветовой триадой (г (х, у), Ь (х, у), g (х, у))4 пикселей с номерами (х, у). Известно несколько основных алгоритмов встраивания стегосооб-щений такого типа.

1. Алгоритм Куттера [3, р. 518-526]. Известно, что к синему цвету система человеческого зрения наименее чувствительна, поэтому этот алгоритм встраивания ЦВЗ выполняется в синем канале Ь (х, у). Передача (встраивание) одного бита секретной информации происходит следующим образом.

Пусть - встраиваемый бит, I = {Я, О, В} - встраиваемое изображение (стегоконтейнер), р = (х, у) - псевдослучайная позиция, начиная с которой выполняется встраивание. Секретный бит передаётся в синий канал при помощи изменения его яркости по следующему закону:

b ' ( p ) =

fb (p ) + ql ( p), (b ( p )- ql ( p ),

= 0,

s,. = 1,

где I (р ) = 0.299г (р) + 0.587g (р) + 0.114Ь (р) - яркость пикселя5,

q - некая константа.

Величина q здесь является энергией встраиваемого сигнала, её значение зависит от поставленной задачи и обычно находится в диапазоне [0,02:0,25]. Очевидно, что чем выше энергия q, тем выше робастность вложенного бита, но тем больше будет и его заметность (то есть данный бит будет сильнее выделяться из основного изображения).

Извлечение встроенного бита осуществляется без наличия у получателя исходного (немодифицированного встраиванием стего-сообщения) изображения6. При извлечении даётся оценка значения синей составляющей Ь (р) каждого пиксела на основании значений соседних цветовых характеристик. Наиболее часто используется «крест» (пикселы, распо-

1 Далее по тексту - ЦВЗ.

2 Например, дискретное косинусное преобразование в JPEG, вейвлет-преобразование в JPEG2000.

3 Для 8-битных изображений в оттенках серого.

4 Для 8-битных RGB-изображений.

5 Применяется стандартный расчёт яркости для RGB-изображений.

6 Такой метод называется извлечением «вслепую».

Научно-практический журнал. ISSN 1995-5731

ложенные в том же столбце и той же строке) размером схс. Тогда оценка Ь '' (р) (р - центр креста) выражается:

b

Если в процессе встраивания ЦВЗ каждый бит стегосообщения был повторен т раз, то при извлечении мы получим т разных оценок одного бита ЦВЗ. Значение секретного бита 5 находится по знаку разности усреднённой оценки синей составляющей пиксела и её реального (полученного из имеющегося изображения) значения по следующей формуле:

0, S> 0

1, S < 0 '

s=1S b

1,

l0 -11 > +a, l0 -11 < -a.

Извлечение, как и в случае алгоритма Куттера, выполняется «вслепую». Для извлечения бита ЦВЗ по известной маске pat (x, y) вычисляются средние значения яркостей пикселей субблоков - l 0 и 11. По оценке разности между ними и определяется значение соответствующего блоку бита:

1,

l0 -11 > 0, l0 -11 < 0.

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

2. Алгоритм Лангелаара [4]. Данный алгоритм работает с квадратными блоками (как правило, 8х8) пикселей и применяется, в основном, в JPG-изображениях. Алгоритм позволяет встроить 1 бит стегосообщения в 1 блок. Для каждого блока создаётся псевдослучайная маска нулей и единиц pat ( x, y) е { 0,1} одинакового с блоком размера. Последовательность псевдослучайных масок является частью алгоритма. Далее каждый из блоков B делится на два субблока B0 (пиксели, соответствующие нулям блока) и B1 (пиксели, соответствующие единицам блока). Для каждого субблока вычисляется среднее значение яркости входящих в него пикселей - l0 и l1 соответственно. Выбирается некое значение a , называемое порогом, и проверяется выполнение условия для встраиваемого в блок бита:

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

3. Алгоритм Питаса [5, р. 385-403]. Алгоритм может быть применён только для ЦВЗ, представляющих собой двухмерный массив бит, размер которого соответствует размеру изображения1, причём число единиц в массиве равно числу нулей. Существует несколько различных версий алгоритма.

Можно встраивать бит ЦВЗ в каждый пиксел изображения, но более эффективно использовать для этой цели блоки размером 2х2 или 3x3 пикселей2.

При встраивании «пиксел в пиксел» ЦВЗ сливается с изображением по следующему правилу:

l (x, y) = l (X, y)+as (x, y) ,

Если условие в (4) выполняется, то блок остаётся неизмененным, а если нет, - одинаково изменяются в нужную сторону значения яркостей всех пикселов субблока В1.

где I - исходная стандартно рассчитанная яркость пикселя;

5 - значение бита ЦВЗ;

I' - преобразованная встраиванием яркость пикселя;

а - некая константа, называемая порогом внедрения.

Извлечение бита ЦВЗ осуществляется по соответствующей обратной формуле.

При использовании для встраивания квадратных блоков, в формуле (6) применяется вычисленное среднее значение яркости каждого блока, откуда появляется возможность неравномерного внедрения ЦВЗ в пикселы. Если использовать блоки 8x8, то алгоритм будет оптимизирован по критерию робастности к JPEG-сжатию.

4. Алгоритм PatchWorк [6]. В основе этого алгоритма лежит статистический под-

1 Под соответствием понимается либо равенство размеров, либо кратность размера изображения размеру ЦВЗ.

2 Это делает алгоритм более робастным к сжатию или фильтрации.

s =

i=1

s =

ход. Суть его состоит в следующем. При помощи заданного ключа псевдослучайным образом выбираются два пиксела изображения. Затем значение яркости одного из них увеличивается (для встраиваемой единицы) или уменьшается (для встраиваемого нуля) на некоторое значение, называемое приращением (от 1 до 5), значение яркости другого - уменьшается (для единицы) или увеличивается (для нуля) на ту же величину. Процесс повторяется n раз (п~10000).

Пусть значения яркостей выбираемых на каждом шаге пикселов а, и bi, величина приращения S . Тогда сумма разностей значений пикселов после n преобразований:

^ = £[

1=1 ,=1

Математическое ожидание величины

£

i =1

(суммы разности значений пикселов в незаполненном контейнере) равно нулю, и значение его в неизмененном изображении, очевидно, будет много меньше n (при достаточно большом n ). Математическое ожидание величины Sn в заполненном контейнере будет, вероятно, равно ±2Sn , а вычисленное значение Sn будет ожидаемо иметь большой соответствующий n порядок. Знак Sn и даст значение встроенного бита: 1 - при положительной и 0 - при отрицательной разности. В стегодетекторе в соответствии с ключом проверяется значение Sn и, в зависимости от его знака, выносится решение о значении встроенного бита.

Известны улучшения алгоритма для повышения его робастности. Как правило, вместо отдельных пикселов предлагается использовать квадратные или прямоугольные блоки (patches). Алгоритм Patchwork является достаточно стойким к операциям сжатия, усечения, изменения гистограммы изображения. Основным недостатком алгоритма является его неустойчивость к геометрическим преобразованиям (повороту, сдвигу, масштабированию). Другой недостаток заключается в малой пропускной способности, что приводит к невозможности встраивания значительных по размеру ЦВЗ. Так, в базовой версии алгоритма для передачи 1 бита скрытого сообщения требуется порядка 20 000 пикселов, то есть в 20-мегапиксельном изображении можно передать всего лишь 1000 бит (примерно 120 байт) стегосообщения.

Приведённые алгоритмы встраивания ЦВЗ в пространственные области изображения

при кажущейся простоте являются эффективными, но для решения некоторых практических задач стеганографии этого недостаточно. В таких случаях применяют более сложные, но и в большей степени эффективные стегоалго-ритмы, реализующие внедрение ЦВЗ в области преобразования (служебную информацию) изображения. Таких алгоритмов разработано много [2, с. 173]. Большинство из них используют в качестве стегоконтейнера коэффициенты дискретного косинусного преобразования (далее по тексту - ДКП), применяемого в широко распространенном формате JPEG.

ДКП производится отдельно для каждого из цветовых каналов. Исходное изображение разбивается на блоки размером 8x8 пикселов. ДКП применяется по отдельности к каждому блоку, по которому вычисляются матрицы коэффициентов ДКП1 тем же размером 8x8. Коэффициенты обычно обозначаются через cb ( j, k), где b -номер блока, ( j, k ) - позиция коэффициента внутри блока. Если блок обрабатывается в зигзагообразном порядке, как это имеет место в стандартном JPEG, то коэффициенты обозначаются через cb,j. Коэффициент в левом верхнем углу cb (0,0) называется DC-коэффициентом и хранит информацию о средней яркости2 всего блока в целом. Остальные коэффициенты называются АС-коэффициентами и содержат информацию

0 характере распределения яркостей по блоку. В редких случаях может быть выполнено ДКП всего изображения целиком3.

Рассмотрим подробнее один из базовых алгоритмов внедрения ЦВЗ в области ДКП.

5. Алгоритм Коха. Это исторически первый из алгоритмов подобного класса. Он был разработан в 1995 г. [7, p. 123-132]. Предполагает внедрение одного бита ЦВЗ в блок размером 8x8 пикселей.

Приведём описание этого алгоритма. Выбирается значение порога встраивания s. Для передачи бита 0 последовательным изменением двух псевдослучайно выбранных по известному ключу AC-коэффициентов добиваются того, чтобы разность абсолютных значений коэффициентов была бы больше порога, а для передачи бита 1 эта же разность делается меньше обратного значения порога:

cb ( j j , k ,1 ) I - I cb ( j ,2 , ki,2 ) I > s S = 0

Cb ( ji, j , ki,1 ) | - | Cb ( ji,2 , ki,2 ) | < -S S = 1

1 Математический механизм ДКП описан, например, в [2].

2 Имеется ввиду яркость цветового канала.

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

Научно-практический журнал. ISSN 1995-5731

Для чтения ЦВЗ в декодере выполняется аналогичная процедура выбора коэффициентов по известному ключу, и решение о переданном бите принимается по следующей формуле:

Ь = О, I съ (, ] ,ки1) |>| съ (¡^Л ,2) |,

I / М I /

Данный алгоритм является легко реализуемым, достаточно простым и весьма эффективным. Однако до внедрения ЦВЗ нельзя оценить и повлиять на степень искажения изображения. Модификация алгоритма Коха, предложенная Бенхэмом [8, р. 243-252], лишена этого недостатка. Суть модификации Бенхэма заключается в следующих двух основных моментах.

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

2. Внутри блока для встраивания выбираются не два, а три коэффициента. Встраивание бита ЦВЗ осуществляется следующим образом. Псевдослучайно выбираются три коэффициента ДКП блока. Если нужно вложить 1, то коэффициенты (если требуется) изменяются так, чтобы третий коэффициент стал меньше каждого из первых двух; если нужно встроить о, третий коэффициент делается больше других.

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

Библиографический список

1. Назарова В. И. Стегосистемы цифровых водяных знаков [Текст] // Информационная безопасность регионов : научно-практический журнал. - 2010. - № 2. - ISSN 1995-5731.

2. Грибунин В. Г. Цифровая стеганография [Текст] / В. Г. Грибунин, И. Н. Оков, И. В. Туринцев. - M. : СОЛОН-Пресс, 2002. -261 с. - ISBN 978-5-98003-011-7.

3. Kutter M. Digital signature of color images using amplitude modulation / M. Kutter, F. Jordan, F. Bossen / / Proc. of the SPIE Storage and Retrieval for Image and Video Databases V. - 1997. - Vol. 3022.

4. Langelaar G. Robust labeling methods for copy protection of images / G. Langelaar, R. Lagendijk, J. Biemond // Proc. of the SPIE Storage and Retrieval for Image and Video Databases V. - 1997. - Vol. 3022.

5. Nikolaidis N. Robust image watermarking in the spatial domain / N. Nikolaidis, I. Pitas / / Signal Processing, Special Issue on Copyright Protection and Control. - 1998. - Vol. 66. - № 3.

6. Bender W. Techniques for Data Hiding / W. Bender, D. Gruhl, N. Morimoto, A. Lu // IBM Systems Journal. - 1996. - Vol. 35.

7. Koch E. Towards Robust and Hidden Image Copyright Labeling / E. Koch, J. Zhao // IEEE Workshop on Nonlinear Signal and Image Processing. - 1995.

8. Benham D. Fast watermarking of DCT-based compressed images / D. Benham, N. Memon, B.-L. Yeo, M. Yeung // Proc. of the International Conference on Image Science, Systems and Technology. - 1997.

9. Barni M. A DCT-domain system for robust image watermarking / M. Barni, R. Bartolini, V. Cappellini, A. Piva // Signal Processing, Special Issue on Copyright Protection and Control. - 1998. - Vol. 66. - № 3. - P. 357-372.

Материалы поступили в редакцию 06.02.2012 г.