Автор: Пользователь скрыл имя, 02 Апреля 2013 в 19:35, курсовая работа
Целью данной курсовой работы является создание программного средства для нелинейного встраивания одного wave-файла в другой с помощью стеганографических методов. В современном цифровом мире информация стала ценнейшим ресурсом, который всячески пытаются защитить, например шифрованием. Но зашифрованный файл не скрывает факта, что в нём есть информация, не предназначенная для третьих лиц. Явно зашифрованный файл представляет собой объект интереса для различного рода злоумышленников. Для более безопасной передачи информации используются методы стеганографии – методы, направленные на сокрытие самого факта шифрования. Аудио, видео, тексты и изображения, в которые встроены данные стеганографическими методами, не отличаются от оригиналов.
1. Обзор по наиболее общим ключевым словам 3
1.1. Основные теоретические понятия 3
1.2. Выводы 6
2. Описание задачи 7
2.1. Описание продукта 7
2.2 Выводы 7
3. Выбор и обоснование адекватного математического аппарата для обратимого встраивания информации в звуковой файл 8
3.3. Алгоритм 8
3.3.1. Нелинейное встраивание 8
3.4. Причины выбора алгоритма 8
4. Компьютерное моделирование и исследование характеристик 9
4.3. Моделирование 9
4.4. Исследование 9
4.5. Выводы 10
5. Обоснование выбора инструментов. 11
5.3. Алгоритм 11
5.4. Программная среда 11
5.5. Выводы 12
6. Программный продукт 13
6.3. Функционал программного продукта 13
6.4. Пример работы с приложением 13
6.5. Тексты отдельных блоков (подпрограмм) с описанием входных и выходных переменных 18
Заключение 19
Список использованной литературы и программных средств 20
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«МУРМАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра ВМ и ПО ЭВМ
Курсовая работа
по дисциплине
«Методы и средства защиты компьютерной информации»
на тему
«Разработка программного средства для нелинейного встраивания данных в звуковой файл»
Выполнили:
Белезеко А.А.
Сафин А.Р.
студенты группы
ИВТ(б)-491(1)
Проверил:
Жарких А.А.,
кафедра ВМ и ПО ЭВМ
Мурманск
2012
Оглавление
Введение
Целью данной курсовой работы является создание программного средства для нелинейного встраивания одного wave-файла в другой с помощью стеганографических методов.
В современном цифровом мире информация стала ценнейшим ресурсом, который всячески пытаются защитить, например шифрованием. Но зашифрованный файл не скрывает факта, что в нём есть информация, не предназначенная для третьих лиц. Явно зашифрованный файл представляет собой объект интереса для различного рода злоумышленников. Для более безопасной передачи информации используются методы стеганографии – методы, направленные на сокрытие самого факта шифрования. Аудио, видео, тексты и изображения, в которые встроены данные стеганографическими методами, не отличаются от оригиналов. В этом и заключается вся прелесть стеганографии.
Стеганография — это наука о скрытой передаче информации путём сохранения в тайне самого факта передачи. В отличие от криптографии, которая скрывает содержимое секретного сообщения, стеганография скрывает сам факт его существования.
Криптография — наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.
Стеганографическая система или стегосистема - совокупность средств и методов, которые используются для формирования скрытого канала передачи информации.
Обобщенная модель стегосистемы.
В качестве данных может использоваться любая информация: текст, сообщение, изображение и т. п.
В общем же случае целесообразно использовать слово "сообщение", так как сообщением может быть как текст или изображение, так и, например, аудиоданные. Далее для обозначения скрываемой информации, будем использовать именно термин сообщение.
Контейнер - любая информация, предназначенная для сокрытия тайных сообщений.
Пустой контейнер - контейнер без встроенного сообщения; заполненный контейнер или стего - контейнер, содержащий встроенную информацию.
Встроенное (скрытое) сообщение - сообщение, встраиваемое в контейнер.
Стеганографический канал или просто стегоканал - канал передачи стего.
Стегоключ или просто ключ - секретный ключ, необходимый для сокрытия информации. В зависимости от количества уровней защиты (например, встраивание предварительно зашифрованного сообщения) в стегосистеме может быть один или несколько стегоключей.
По аналогии с криптографией, по типу стегоключа стегосистемы можно подразделить на два типа:
В стегосистеме с секретным ключом используется один ключ, который должен быть определен либо до начала обмена секретными сообщениями, либо передан по защищенному каналу.
В стегосистеме с открытым ключом для встраивания и извлечения сообщения используются разные ключи, которые различаются таким образом, что с помощью вычислений невозможно вывести один ключ из другого. Поэтому один ключ (открытый) может передаваться свободно по незащищенному каналу связи. Кроме того, данная схема хорошо работает и при взаимном недоверии отправителя и получателя.
Стегоанализ – совокупность методик, позволяющих обнаружить следы воздействия на контейнер стеганографическими методами сокрытия информации, например, обнаружение стеганографического канала передачи данных, извлечение встроенной информации и т.д.
Несколько важных требований, которым должны отвечать стеганографические методы:
В качестве контейнера могут служить разнообразные данные: текстовый документ, музыка, изображения, видео и др.
Таким образом, отметим, что цель криптографии состоит в блокировании несанкционированного доступа к информации путем шифрования содержания секретных сообщений. Стеганография имеет другую задачу, и ее цель — скрыть сам факт существования секретного сообщения. При этом, оба способа могут быть объединены и использованы для повышения эффективности защиты информации (например, для передачи криптографических ключей).
Как и любые инструменты, стеганографические методы требуют к себе внимания и осторожного обращения, так как могут быть использованы как для целей защиты, так и для целей нападения.
Необходимо разработать
программный продукт для
Метод нелинейного
встраивания меняет гистограмму исходного
файла, но объем записанных данных не изменяется.
Кроме того, возможно появление дополнительных,
воспринимаемых на слух, спектральных
составляющих, зависящих от коэффициента
ослабления.
Суть этого метода заключается в нелинейном преобразовании числовых значений сообщения, с дальнейшим суммированием их с значениями контейнера.
Недостатки метода: при использовании нелинейного преобразования с очень маленьким коэффициентом сильно увеличивается количество помех в сообщении после извлечения.
Для выполнения курсовой работы был выбран метод нелинейного встраивания. Данный метод позволяет закодировать большой объем информации, достаточно прост в реализации, не требует каких-либо особенностей программного или аппаратного обеспечения.
В ходе выполнения курсовой работы была смоделирована компьютерная стеганографическая система. Данная система работает со звуковыми файлами в формате WAVE, в которые встраивается произвольная информация в виде цифровых данных. Для встраивания информации используется метод нелинейного встраивания.
Файлы формата WAVE содержат так называемую простую импульсно-кодовую модуляцию сигнала. Звуковая волна преобразуется в набор целочисленных значений путем дискретизации сигнала. Таким образом, если исходный аналоговый уровень звука был 4.68, то при импульсно-кодовой модуляции уровень будет преобразован в 5. При проигрывании звука последовательность бит преобразуется в звуковую волну методом цифро-аналогового преобразования в зависимости от параметров дискретизации: размеров аудио образца, частоты дискретизации и количества каналов.
Смоделированная система позволяет осуществлять встраивание информации в аудиофайл и извлекать сообщение из стего. В ходе исследования было выяснено, что оптимальным параметром α является 0.001. Именно при таком значении стего-файл не отличается на слух от файла-контейнера. Так же при α = 1 файлы будут звучать на фоне друг друга без искажений в качестве звука и изменений объёма файла-контейнера.
Смоделированная система позволяет осуществлять встраивание информации в аудиофайл и её извлечение. Искажения не будут заметны при малых значениях коэффициента ослабления.
При написании программного продукта для встраивания информации был выбран метод нелинейного встраивания. Данный алгоритм достаточно прост в реализации и позволяет встраивать большое количество информации.
Для реализации алгоритма используются математические формулы для встраивания сообщения в контейнер и для извлечения данных из стего.
Для написания курсовой работы был выбран язык программирования С++ и среда разработки Qt. Данная среда позволяет запускать написанное с ее помощью программное обеспечение в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. Кроме того, Qt включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования. При разработке программного продукта использовались такие модули библиотеки Qt как QtGui, QtDesigner, QtAssistant и QtUiTools.
Использованный алгоритм нелинейного встраивания позволяет встраивать в звуковой файл сообщения достаточно больших размеров при увеличении глубины встраивания, не создавая при этом заметных для человеческого слуха изменений.
Использованный
алгоритм изменяет гистограмму исходного
файла, но позволяет не менять его объем.
Благодаря выбору данного языка программирования
и среды разработки Qt, интерфейс приложения
гибко подстраивается под текущую платформу,
а также программа может работать под
различными операционными системами
без внесения изменений в код продукта.
Разработанный
программный продукт
F1. Обработка звукового файла-контейнера;
F2. Встраивание информации в файл;
F3. Стегоанализ звукового файла;
F4. Построение графиков.
Обработка звукового файла-контейнера включает в себя возможность выбора исходного файла, сохранение стего, считывание, возможность его проигрывания и выбора коэффициента ослабления.
При встраивании звукового сообщения задаётся параметр α – коэффициент ослабления, затем происходит непосредственно выполнение алгоритма.
После открытия файла-контейнера и после встраивания, строятся графики каналов контейнера и стеги для сравнения результатов.
В рамках курсовой работы был разработан программный продукт для нелинейного встраивания одного звукового файла в другой.
Рассмотрим пример использования приложения:
Сначала необходимо выбрать исходный звуковой файл для импортирования, нажав кнопку «Open» на панели «Container». После этого становится доступной возможность проиграть файл, информация о нём и его гистограмма.
Затем необходимо
выбрать файл-сообщение
После необходимо выбрать коэффициент ослабления для последующего встраивания, путём нажатия кнопки «Insert» на панели «Operation».
После встраивания стего-файл можно сохранить, нажав «Save» или проиграть, нажав «Play» на панели «Stego».
После выполнения встраивания сообщение можно извлечь, нажав «Extract».
Метод, реализующий непосредственное встраивание звукового файла: