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

1ЕШШИЕ ИН УК И

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

Д. А. Горелкина, Н. С. Дорошенко, Д. Л. Осипов

THE APPLICATION OF DIGITAL STEGANOGRAPHY METHODS FOR THE INTRODUCTION OF CONFIDENTIAL INFORMATION INTO RASTER IMAGES

Gorelkina D. A., Doroshenko N. S.,

Osipov D. L.

The problems of applying mathematical methods and steganographic conversions for information transfer in information systems are considered in the article. The investigations have been fulfilled in the frames of the "Scientific and Scientific-Pedagogical Personnel of the Innovation Russia" Federal Designated Project.

Key words: steganography, raster images, fractal functions.

В статье рассматриваются вопросы применения математических методов и стегано-графических преобразований для передачи ключевой информации в информационных системах. Исследования выполнены в рамках ФЦП «Научные и научно-педагогические кадры инновационной России».

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

УДК 004.924

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

Развитие средств вычислительной техники в последнее десятилетие дало новый толчок для развития компьютерной стеганографии. Появилось много новых областей применения. Сообщения встраивают в цифровые данные, как правило, имеющие аналоговую природу. Это речь, аудиозаписи, изображения, видео. Известны также предложения по встраиванию информации в текстовые файлы и в исполняемые файлы программ. Анализ существующих стеганогра-фических алгоритмов показывает, что алгоритмы лишь частично удовлетворяют набору требований, предъявляемых к системам скрытой передачи данных. В данной работе рассматривается вопрос о сокрытии информации в неподвижных графических файлах формата BMP и TIFF. Эти форматы были выбраны по нескольким причинам: во-

т

Д. А. Горелкина, Н. С. Дорошенко, Д. Л. Осипов

Применение методов цифровой стеганографии для внедрения конфиденциальной

первых, большая распространённость в сети; во-вторых, размеры графических файлов могут колебаться в достаточно больших пределах, что делает удобным его использование в качестве стегоконтейнера.

К сегодняшнему дню разработано немало различных стеганографических методов и алгоритмов, в основе которых лежит использование особенностей представления данных в компьютерных файлах и вычислительных сетях. Но применяемые в большинстве случаев алгоритмы стеганографии уже устарели и вероятность обнаружения встроенных данных достаточно велика. Отсюда следует, что алгоритмы стеганографии, которые обеспечивают приемлемую надежность, слишком сложны в вычислительном плане для кодирования потока данных в реальном времени. Вместе с тем, рост числа стеганографических алгоритмов позволяет сделать вывод, что интерес к этому направлению постоянно увеличивается.

К настоящему времени активно применяются алгоритмы на основе:

1) способа битовых плоскостей;

2) использования структуры графических файлов;

3) голографического подхода (цифровые водяные знаки);

4) сокрытия данных в заголовках файлов;

5) метода замены наименьших значащих битов или LSB-метода.

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

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

В структуру DIB-образа входят две обязательные и две опциональные части:

1) заголовок описания растра;

2) битовая маска (только для несжатых изображений с глубиной цвета 16 и 32 бита);

3) цветовая таблица (только при глубине цвета 8 бит и меньше);

4) массив данных.

К настоящему времени различными разработчиками программного обеспечения реализовано несколько десятков способов хранения аппаратно независимого растра в виде файла. Заголовок файла одинаков для всех вариаций файлов на тему BMP. Первые два байта записи всегда содержат визитную карточку всех файлов BMP. Это ASCII коды латинских символов «B» (h42) и «M» (h4D). Во втором по счету поле bfSize находятся данные о размере файла, 3-е и 4-е поля не используются. Последнее поле записи хранит адрес первого байта массива данных растрового рисунка. Цветовое разрешение DIB (поле biBitCount) может принимать строго определенное значение: 0, 1, 4, 8, 16, 24 или 32 бит/пикселей. Нулевое значение глубины цвета - косвенный признак того, что данные представлены не обычным растром, а, например, с изображением в формате TIFF, JPEG или PNG. При разрешении цвета 16 бит/пикселей и выше необходимость в цветовой таблице отпадает. Для работы с изображениями с цветовым разрешением 8 бит/пикселей и ниже в состав DIB секции включена таблица, содержащая перечень используемых в изображении цветов.

Информация, размещаемая в контейнере, представлена последовательностью из n бит. В современных приложениях для Windows используется аддитивный способ представления данных о цвете, в которой результирующий цвет описывается тремя составляющими: красной, зеленой и синей. В свою очередь, каждая цветовая составляющая представляется одним байтом, что позволяет использовать до 256 уровней интенсивности (0-255).

В основе алгоритма лежит принцип изменения значений пикселей в канале синего цвета исходного изображения по заданной математически кривой.

Алгоритм внедрения информации в изображение выглядит следующим образом:

1. Выбираем точку начала координат.

2. Выбираем функцию для построения кривой, которая является контуром.

3. Генерируем псевдослучайную последовательность чисел (BBS).

4. Выделяем в контуре пиксели с номерами, полученными из генератора ПСП.

5. Производим замену значений младших битов в канале синего цвета.

Пусть существует контейнер, который является изображением MxN пикселей. Сте-гоконтейнер представляется в виде матрицы. Для того чтобы оценить размер контейнера, рассмотрим изображение, размером 800х600 пикселей. Матрица, полученная из данного изображения (в формате DIB) содержит 11 520 000 бит (поле соответствующей структуры данных biBitCount имеет значение 24 бита). Ключи для ассиметричных алгоритмов, основанных на проблемах теории чисел не превышают 1024 бит. А для асимметричных алгоритмов, основанных на использовании теории эллиптических кривых, минимальной надёжной длиной ключа считается 163 бита. Т. е. в данном случае ключ займет всего 0,008 % от всего объема контейнера.

Рассмотрим алгоритм встраивания данных в изображение. Выберем произвольную точку на плоскости, которая является началом отсчета. Определим произвольную точку на плоскости, которая является началом координат. Многие форматы имеют зарезервированные и неиспользуемые поля и области переменной длины. Многие форматы имеют многоблочную структуру с идентификаторами типа данных, записанными в начале каждого блока. В заголовок описания растра поместим маркер, который символизирует о том, что это начальная точка.

Следующий этап - это определение контура, по которому встраивается скрываемая информация. Для этого нужно выбрать функцию, которая создаст данный контур. Функция должна обладать следующими свойствами:

1) Функция не должна содержать точек разрыва. В математике встречаются функции, у которых точки разрыва изолированы, но существуют функции, для которых все точки являются точками разрыва, на-

пример функция Дирихле. Функции такого рода нужно исключить.

2) Функция должна быть непрерывна, т. е. такая у которой малые изменения аргумента приводят к малым изменениям значения отображения.

3) Функция не должна иметь точек, в которой функция пересекает сама себя, т. е. две (или более) ее ветви пересекаются под ненулевым углом.

Одна из функций, подходящих под такие параметры, - это фрактальная кривая фон Коха. Строится кривая следующим образом: выбирается отрезок прямой и на его средней части строится равносторонний треугольник. Результат этого построения называется генератором. Длина генератора составляет четыре третьих от длины инициатора. Повторяя еще раз построение равносторонних треугольников на средних третях прямолинейных отрезков, получается ломаная. Длина ломаной теперь составляет

4 Т „

3 I . Повторяя этот процесс, можно перейти к кривой, которая (хоть и всюду непрерывна) нигде не дифференцируема.

Кривая имеет такую систему итерационных функций:

f (z ) = 1 z

3

f (z ) = 1 z

f (z ) = 3 z

3 p

cos — -3

2

— z 3

p

I cos — 3

1 > 3

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

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

Д. А. Горелкина, Н. С. Дорошенко, Д. Л. Осипов

Применение методов цифровой стеганографии для внедрения конфиденциальной...

в честь своих авторов называется Blum, BlumandShub. Теория генератора BBS использует квадратичные остатки по модулю п.

Сначала найдем два простых числа р и q, которые конгруэнтны 3 mod 4. Произведение этих чисел n, является целым числом Блюма (Blum). Выберем другое случайное целое число х взаимно простое с п. Вычислим

хп = х2 mod n

4)

Это стартовое число генератора. Теперь можно начать вычислять номера. 1-ым псевдослучайным номером является где

xt = xi_j mod n

Значимым свойством этого генератора является то, что для получения /-го номера не нужно вычислять предыдущие i-1 номера. Если известны p и q, можно вычислить /-ый номер подматрицы непосредственно.

х, = х0 [2- mod

Это свойство означает, что мы можем использовать этот криптографически сильный генератор псевдослучайных чисел в качестве потоковой криптосистемы для файла с произвольным доступом.

Безопасность этой схемы основана на сложности разложения п на множители. Можно опубликовать n таким образом, что кто угодно может генерировать номер с помощью генератора. Однако, пока криптоа-налитик не сможет разложить п на множители, он никогда не сможет предсказать выход генератора.

Более того, генератор BBS непредсказуем в левом направлении и непредсказуем в правом направлении. Это означает, что получив последовательность, выданную генератором, криптоаналитик не сможет предсказать ни следующий, ни предыдущий номер последовательности. Это свойство определяется разложением п на множители.

После того, как получены все необходимые данные, возможен переход к замене значений младших битов в канале синего

цвета в пикселях, номера которых соответствуют номерам, полученным из ПСП.

Выбор канала синего цвета связан с тем, что система человеческого зрения наименее чувствительна к синему цвету. Порог чувствительности глаза к изменению освещенности при средних значениях составляет

М = 0.01 - 0.03/ или 1 - 3% (7) где яркость

/

р = (х,у) — псевдослучайная позиция.

Математически процесс встраивания Ж у) в изображение 10 у) можно записать как суперпозицию двух сигналов:

е : I * х Ж * х II  II

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

Математически процесс встраивания Ж(/, у) в изображение 10 у) можно записать как суперпозицию двух сигналов:

е : I* х Ж' х II  II

^

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

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

ЛИТЕРАТУРА

1. Бэр Р. Теория разрывных функций. — М-Л.: Гос. технико-теоретическое издательство, 1932.

2. Грибунин В. Г., Оков И. Н., Туринцев И. В. Цифровая стеганография. — Солон-Пресс, 2002.

3. Осипов Д. Л. Графика в проектах Delphi. — М.: Символ, 2008.

4. Соколов А. Защита от компьютерного терроризма. — Арлит, БХВ-Петербург, 2002.

5. Шнайер Б. Прикладная криптография. — М.:Триумф, 2002.

6. Шредер М. Фракталы, хаос, степенные законы. — Ижевск: «РХД», 2001.

Об авторах

Горелкина Дарья Алексеевна, ГОУ ВПО

«Ставропольский государственный университет», студентка 5 курса специальности «Компьютерная безопасность». Сфера научных интересов - стеганографический анализ, криптография. chiksatilo @ gmail. com

Дорошенко Николай Сергеевич, ГОУ ВПО

«Ставропольский государственный университет», аспирант кафедры информационных технологий. Сфера научных интересов - технологии интеллектуального анализа и распознавания объектов на основе видеопотоков. doroshenko @stavsu.ru

Осипов Дмитрий Леонидович, ГОУ ВПО

«Ставропольский государственный университет», кандидат технических наук, доцент кафедры компьютерной безопасности. Сфера научных интересов - Delphi, базы данных, беспроводные компьютерные сети. DmtrO sipov @ ndex.ru