Научная статья на тему 'Методика текстовой стеганографии с использованием графического контейнера на основе гаммирования'

Методика текстовой стеганографии с использованием графического контейнера на основе гаммирования Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
896
85
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕКСТОВАЯ СТЕГАНОГРАФИЯ / ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ / СТЕГОСИСТЕМА / ГАММИРОВАНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Олимпиева Н. И., Довгаль В. М., Крыжевич Л. С.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Олимпиева Н. И., Довгаль В. М., Крыжевич Л. С.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Методика текстовой стеганографии с использованием графического контейнера на основе гаммирования»

УДК 51-74

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

© 2018 Н. И. Олимпиева1, В. М. Довгаль2, Л. С. Крыжевич3

1 магистрант 2 года обучения факультета физики математики информатики 2докт. техн. наук, профессор кафедры программного обеспечения и администрирования информационных систем e-mail: [email protected] 3канд. техн. наук, и.о. заведующего кафедрой информационной безопасности

e-mail: Leonid@programist. ru

Курский государственный университет

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

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

На сегодняшний момент проблема передачи информации и обеспечение её безопасности становится всё более актуальной. Рост утечек личной информации влечёт за собой увеличение потребности человека в неприкосновенности его частной жизни. В настоящее время, в связи с развитием технологий, изобрели достаточно большую номенклатуру разнообразных технических, аппаратных и программных средств защиты информации. Основным из направлений решения проблемы информационной безопасности является криптография. Целью криптографии является сокрытие информации за счёт шифрования. Некоторые криптографические методы являются достаточно надёжными, однако развитие и усовершенствование таких средств влечёт за собой тенденцию к разработке способов, позволяющих обойти подобные методы. Разрешение данной ситуации очевидно - хочешь что-то спрятать - положи на самое видное место - наравне с криптографическими средствами использовать стеганографические методы, которые позволяют сохранить в тайне не только само сообщение, но и сам факт наличия какой-либо секретной информации [Беляев 2005].

Суть стеганографии, как было указано выше, заключается в сокрытии хранения информации или её передачи. Для подобного сокрытия цифровые стеганографические методы используют контейнеры - объекты, содержащие в себе свободные сведения, в которые внедряется стегосообщение для его сокрытия. Сообщением или стегосообщением называют те секретные данные, которые должны оставаться конфиденциальными. Сохранение в тайне передачи или хранения секретной информации достигается путём искажения самого файла без наглядных или видимых человеком последствий. Общая схема стеганографической системы представлена на рисунке 1. По виду контейнера различают графические, аудио и текстовые методы стеганографии, что является основной классификацией стеганографических средств [Конахович, Пузыренко 2006] В данной статье рассматривается метод текстовой стеганографии с использованием графических контейнеров.

Анализатор формата

&

ш

Анализатор формата

Стегано-

детектор —

Стеганокодер

Пустой контейнер

Злоумышленник

I

■0

Ш

Прекодер

Исходное сообщение

Заполненный контейнер

+

Стеганодекодер

Конвертер формата

Пустой контейнер

Исходное сообщение

Источник сообщений

Ключ

Рис. 1. Обобщённая модель стеганографической системы

Приёмник сообщений

Текстовая информация является одним из самых распространённых типов данных, передаваемых между людьми. По этой причине передача подобной информации не вызывает подозрений. Однако большинство современных алгоритмов, использующих текстовые контейнеры, основаны на манипуляциях не с самой текстовой информацией, а с её структурой, что приводит к тому, что данные методы легко поддаются анализу [Губенко, Сипаков 2015]. Технический прогресс не стоит на месте, соответственно, и средства, способствующие несанкционированному доступу к секретной информации, развиваются и становятся всё более совершенными. Данный факт указывает на то, что использование даже сложных методов со временем становится нецелесообразным, поэтому системы, основанные на компьютерной логике, становятся неактуальными и легко взламываемыми. Решением данной проблемы является сокрытие информации на основе семантической логики. Даже самые совершенные нейронные сети не способны распознать или различить и малую часть многообразия человеческой речи, её вариативности и изменчивости.

Существующие семантические методы примитивны и не способны сокрыть большое количество информации. Наиболее приемлемыми алгоритмами на данный момент являются статистические - основанные на генерации текста, который будет являться контейнером [Бабина 2015]. Тем не менее, если данные методы могут быть устойчивыми к машинному анализу, для человека распознать отсутствие логики в тексте, а как следствие и наличие дополнительной, секретной информации не составляет труда. С учётом данных недостатков было необходимо разработать новый подход к сокрытию информации с помощью текстовых контейнеров.

Методика сокрытия в текстовом контейнере, представленная в данной статье, основана на генерации шифротекста с использованием криптографического алгоритма гаммирования.

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

Пусть А - секретное сообщение, состоящее из п-го количества символов. В -база стеганограмм.

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

1. Создать базу стеганограмм В произвольно или на основе классических произведений.

2. Разбить образованный текст на непересекающиеся блоки размера т -В1, В2,..., В!, являющиеся абзацами или предложениями.

3. Подобрать случайный подходящий фрагмент на основе сравнения исходного сообщения А с блоками В1, В2,..., В£. Фрагмент является подходящим, если п < т.

4. Преобразовать исходный текст и подобранную на этапе 3 стеганограмму в бинарный код.

5. Если п < т, добавить остаток нулями, если п = т, оставить последовательности без изменений. Таким образом, на данном этапе мы имеем две гаммы, состоящие из нулей и единиц, одинакового размера.

6. Произвести сложение элементов последовательностей а£ 0 ¿¿. с помощью функции хОЯ.

Таким образом, результатом данного алгоритма является маска, которая при наложении на исходное сообщение даст нам стеганограмму.

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

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

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

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

рисунке 2.

Закодировать Раскодировать

Введите слово: Введите закодированную строку:

Привет, Андрей! Вкусная пиццуля

Введите желаемое слово: Введите ключ:

Вкусная пиццуля 01111100000 01110111111 01111000111 01111001101 01111001010 01110111101 С

Закодировать

Раскодировать

Ключ:

01111100000 01110111111 01111000111 01111001101 01111001010 01110111101 010011 011111 01111101111 01111000010 01111001011 01110111111 01111001010 01111000110 011110

Результат: Привет, Андрей!

Рис. 2. Простая реализация методики подбора ключа

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

Графическая стеганография - тип стеганографии, основанный на сокрытии данных в изображении. Такой тип стеганографии основан на ограниченной способности человека различать незначительные вариации цвета. Изображение содержит в себе пиксели, цвет каждого из них в представлении RGB закодирован тремя номерами, которые выражают яркость или смешение красного, зеленого и синего цветов. Каждый цвет пространства может принимать значение от 0 - прозрачный, до 255 - яркий и кодируется в байтах, состоящих из 8 бит соответственно, где бит может принимать значения "0" или "1" [Кричевский 2003].

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

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

Рассматривая множество целых чисел Zn с двумя операциями сложения и умножения по модулю т, являющееся кольцом, можно получить систему подстановок, которую называют аффинной системой шифрования Цезаря.

Ея,ь(х) = (ах + Ю mod п , (*)

где в качестве ключа к = (а, Ъ) используется пара целых чисел, удовлетворяющих условиям 0 ООа, b < п, и НОД(а, Ь) = 1, т.е. а и Ъ должны быть взаимно простыми числами.

Это условие взаимной простоты необходимо для обеспечения инъективности отображения (*). Если оно не выполняется, возможна ситуация, когда две разные буквы отображаются в одну (возникает неоднозначность расшифрования), а некоторые буквы отсутствуют в шифртексте, так как никакие буквы в них не отображаются.

В данном преобразовании буква, соответствующая номеру элемента х в открытом тексте, заменяется на букву шифртекста, соответствующую числовому значению элемента у = (ах + Ь) mod п.

Достоинством аффинной системы является удобное управление ключами -ключи шифрования и расшифрования представляются в компактной форме в виде пары чисел (а, Ъ) [Касто 2014: 33-36].

Например, перемешаем слово «поросёнок» с помощью аффинной системы на основе двух взаимно простых чисел 5 и 7._____

0 1 2 3 4 5 6 7 8

П О Р О С Ё Н О К

у0 = (5x0 + 7) mod 9 = 7 уг = (5x1 + 7) mod 9 = 3 у2 = (5x2 + 7) mod 9 = 8 Уз = (5x3 + 7) mod 9 = 4 у4 = (5x4 + 7) mod 9 = 0 у5 = (5x5 + 7) mod 9 = 5 у6 = (5x6 + 7) mod 9 = 1 у7 = (5x7 + 7) mod 9 = 6 у8 = (5x8 + 7) mod 9 = 2 Таким образом из слова «поросёнок» получаем «оокспёонр».

7 3 8 4 0 5 1 6 2

О О К С П Ё О Н Р

Для обратной расшифровки необходимо вычислить обратную величину а по модулю п.

Итак, после перемешивания гаммы на основе функции (*), полученная последовательность внедряется в изображение. Основные этапы сокрытия информации в изображении выглядят следующим образом. Необходимо:

1) разбить исходное изображение попиксельно;

2) преобразовать в массив составляющих изображение значения красного , зелёного д!, синего Ь^ цветов и прозрачность :

Л = {гг, дг, Ъг, аг, г2, д2, Ь2, а2 ... , д^, Ъ^, аД;

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

Если значение является нечётным, при этом необходимо скрыть бит «1», то = 7"!; если значение является нечётным, при этом необходимо скрыть бит «0», то П = г^ - 1.

Если значение является чётным, при этом необходимо спрятать бит «0», то = 7"!; если значение является чётным, при этом необходимо спрятать бит «1», то П = г^ + 1.

Данный этап повторяется, пока все биты секретного сообщения не будут поставлены в соответствие значению красного цвета /-го пикселя.

Поскольку алгоритм генерирует блок изображения и помещает туда текст автоматически, графика в данном случае является чёрно-белой, поэтому значение

красного цвета каждого пикселя будет близким либо к 0, либо к 255. Однако данная методика действует и при использовании цветных изображении.

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

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

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

1. Участникам обмена информацией необходимо определиться с паролевой фразой X, которая будет гарантировать подлинность сообщения.

2. Отправителю информации необходимо ввести исходное сообщение А и паролевую фразу X в поля ввода.

3. Алгоритм разбивает образованный текст на непересекающиеся блоки размера т - В1, В2,..., Bi, являющиеся абзацами или предложениями.

4. Подбирает случайный подходящий фрагмент на основе сравнения исходного сообщения А с блоками В1, В2,..., Bt.

5. Переводит полученную от отправителя текстовую строку и подобранную на этапе 4 стеганограмму в бинарный код.

6. Производит алгебраическое сложение элементов последовательностей at 0 и паролевой фразы xt с помощью функции xOR.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

7. Перемешивает итоговую последовательность, полученную на этапе 6, с помощью аффинной системы.

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

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

10. Разбивает данный графический контейнер / попиксельно.

11. Преобразовывает в массив составляющих изображение значения красного rt, зелёного gi, синего bt цветов и прозрачность at:

i = Ol- 9i, bi> ai> r2,92, b2, a2 ... n, gt, bi, üi).

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

Если значение rt является нечётным, при этом необходимо скрыть бит «1», то Г[ = Г[; если значение rt является нечётным, при этом необходимо скрыть бит «0», то П = П - 1.

Если значение rt является чётным, при этом необходимо спрятать бит «0», то Г[ = Г[; если значение rt является чётным, при этом необходимо спрятать бит «1», то П = П + 1.

Данный этап повторяется, пока все биты секретного сообщения не будут поставлены в соответствие значению красного цвета /-го пикселя/

Красный цвет оставшихся пикселей без секретной информации также поддаётся искажению случайным образом.

13. Внедряет изменённые данные в изображение/

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

Для извлечения секретной информации необходимо провести следующую процедуру/

1. Получатель сообщения передаёт на вход программы полученное изображение, два взаимно простых числа и паролевую фразу X.

2. Алгоритм распознаёт текстовую информацию В£, расположенную на изображении. В случае, если текст распознался некорректно, в программе присутствует поле ввода, в котором получатель может ввести текст стеганограммы самостоятельно.

3. Разбивает данный графический контейнер / попиксельно и преобразовывает в массив составляющих изображение значения красного г£, зелёного д£, синего Ь£ цветов и прозрачность а£:

' = О1,01, ¿1, аг, г2, д2, Ь2, а2 ... г£, д£, Ь£, а£}.

4. Получает срез массива, описывающий каждый четвёртый элемент массива, то есть только красный цвет г£ каждого пикселя, и достаёт значения битов секретного сообщения по схеме: если г£ - чётное, то значение бита - «0», если г£ - нечётное, то значение бита «1».

Данная процедура повторяется, пока не будут просмотрен объём элементов, равный количеству элементов 5£.

5. Производит обратное перемешивание элементов извлечённой последовательности на основе двух полученных на вход чисел а и Ь.

6. Полученную гамму складывает с помощью функции хОЯ с паролевой фразой, представленной в двоичном виде.

Полученная последовательность является ключом к расшифрованию секретного сообщения.

7. Накладывается ключ, полученный на этапе 5, на сообщение 5£ в двоичном

виде.

В случае если получатель получил бессвязный набор символов, значит, сообщение было прислано злоумышленником или искажено.

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

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

Бабина О.И. Лингвистическая стеганография: современные подходы. Часть 1 // Вестник ЮУрГУ. Серия «Лингвистика». 2015. Т. 12, № 3. С. 27-33.

Беляев А. Стеганограмма: скрытие информации // Программист. 2002. №1. С. 16-18. Касто Виктор де. Просто криптография. СПб.: Страта, 2014. 210 с. Губенко Н.Е, Сипаков Д.С. Анализ особенностей методов цифровой стеганографии для защиты информации, передаваемой по открытым каналам // Информатика и кибернетика. Донецк: ДонНТУ, 2015. № 2. С. 29-35.

Конахович Г.Ф, Пузыренко А.Ю. Компьютерная стеганография. Теория и практика. К.: МК-Пресс, 2006. 288 с.

Кричевский А.М. Использование нейронных сетей в слепых методах обнаружения встроенной стеганографической информации в цифровых изображениях. // Международная школа-семинар БИКАМП-03: сб. докл. конф. СПб.: ГУАП, 2003. С. 158-160.

i Надоели баннеры? Вы всегда можете отключить рекламу.