Розробка програми кодування інформації за методами стеганографії з використанням формату JPЕG

Автор работы: Пользователь скрыл имя, 03 Декабря 2013 в 16:48, курсовая работа

Краткое описание

Стеганографія (в перекладі із грецької steganos (секрет, таємниця) и graphy (запис)) — це наука про сховану передачу інформації шляхом збереження в таємниці самого факту передачі. На відміну від криптографії, що приховує вміст секретного повідомлення, стеганографія приховує саме його існування.
Стеганографія не замінює, а доповнює криптографію. Приховання повідомлення методами стеганографії значно знижує ймовірність виявлення самого факту передачі повідомлення. А якщо це повідомлення до того ж зашифроване, то воно має ще один, додатковий, рівень захисту.

Прикрепленные файлы: 1 файл

Розділ 1.doc

— 1,022.50 Кб (Скачать документ)

АНОТАЦІЯ

 

Тема даної дипломної  роботи - «Розробка програми кодування інформації за методами стеганографії з використанням формату JPЕG» - в рамках якої була розроблена програма.

Дана дипломна робота складається з семи розділів, які включають в себе підрозділи.

У першому розділі йдеться про  стеганографію, методи кодування інформації за допомогою стеганографії і  застосуванння їх до формату JPЕG.

У другому розділі описується алгоритм розгортання JPЕG, алгоритм кодування інформації в нього і розробка головного коду програми.

У третьому розділі розробляється  інтерфейс програми.

У четвертому – опис роботи програми.

У п’ятому розділі проводиться  відлагодження та тестування програми і аналіз отриманих результатів.

 

 

ANNOTATION

 

Subject of this diploma work - "Development of program coding for steganography methods using the format JPЕG» - in which the program was developed.

This thesis consists of seven chapters, which include units.

The first section states steganography methods of encoding information using steganography and using to their format JPЕG.

The second section describes the algorithm deployment JPЕG, algorithm coding in it, and head of program development.

The third section is developed interface.

The fourth - a description of the program.

In the fifth section is debugging and testing program and analysis results.

 

 

 

 

ВСТУП

 

Стеганографія (в перекладі  із грецької steganos (секрет, таємниця) и graphy (запис)) — це наука про сховану передачу інформації шляхом збереження в таємниці самого факту передачі. На відміну від криптографії, що приховує вміст секретного повідомлення, стеганографія приховує саме його існування.

Стеганографія не замінює, а доповнює криптографію. Приховання повідомлення методами стеганографії  значно знижує ймовірність виявлення самого факту передачі повідомлення. А якщо це повідомлення до того ж зашифроване, то воно має ще один, додатковий, рівень захисту.

Необхідність сховати  яку-небудь інформацію від чужих  очей виникла дуже й дуже давно. Сховати  інформацію можна різними способами, наприклад, зашифрувати її. Правда, у цьому випадку супротивник знає, що ви передаєте деяке секретне повідомлення, але не може його прочитати (криптографія). Але іноді досить і самого факту передачі для одержання інформації про якусь подію, особливо якщо розглядати й зіставляти всі факти разом - на цьому заснована розвідка за матеріалами з відкритих джерел. Отож інший спосіб полягає в тому, щоб сховати не тільки повідомлення, але й сам факт його передачі, при цьому секретна інформація може втримуватися в цілком невинній фразі.

У цей час, коли об'єми  різної інформації все ростуть, відповідно зростає частка відомостей, які необхідно  тримати в таємниці від сторонніх  очей. Застосування комп'ютерів дозволило  вдосконалити відомі ідеї приховання інформації й дало можливість ховати текст і будь-які інші дані так, що їхнє дешифрування без знання ключів і паролів стало практично неможливо.

 

Розділ 1. Аналіз технічного завдання

 

1.1. Обгрунтування актуальності задачі

У сучасній комп'ютерній стеганографії існує два основні типи файлів:

  1. Повідомлення - файл, який призначений для приховування;
  2. Контейнер - файл, який може бути використаний для приховування в нім повідомлення.

При цьому контейнери бувають двох типів:

  1. Контейнер-орігинал (або пустий контейнер) - це контейнер, який не містить прихованої інформації.
  2. Контейнер-результат (або заповнений контейнер) - це контейнер, який містить приховану інформацію.

 Основними положеннями сучасної комп'ютерної стеганографії є наступні:

  1. Методи приховування повинні забезпечувати аутентичність і цілісність файла.
  2. Передбачається, що супротивникові повністю відомі можливі стеганографічні методи.
  3. Безпека методів грунтується на збереженні стеганографічним перетворенням основних властивостей відкрито-передаваного файлу при внесенні до нього секретного повідомлення і деякої невідомої супротивникові інформації – ключа.

Під ключем розуміється секретний елемент, який визначає порядок занесення повідомлення в контейнер.

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

У зв'язку із зростанням ролі глобальних комп'ютерних мереж стає все більш важливим значення стеганографії. Аналіз інформаційних джерел комп'ютерної мережі Internet дозволяє зробити висновок, що в даний час стеганографічні системи активно використовуються для вирішення наступних основних завдань:

  1. Захист конфіденційної інформації від несанкціонованого доступу;
  2. Подолання систем моніторингу і управління мережевими ресурсами;
  3. Камуфляжі програмного забезпечення;
  4. Захист авторського права на деякі види інтелектуальної власності.

Зупинимося докладніше на кожному з перерахованих завдань.

 

Захист конфіденційної інформації від несанкціонованого  доступу

Ця область використання комп’ютерних систем є найбільш ефективною при вирішенні проблеми захисту конфіденційної інформації. Так, наприклад, тільки одна секунда оцифрованого звуку з частотою дискретизації 44100 Гц і рівнем відліку 8 біт в стерео режимі дозволяє приховати за рахунок заміни найменш значущих молодших розрядів на приховуване повідомлення близько 10 Кбайт інформації. При цьому, зміна значень відліків складає менше 1%. Така зміна практично не виявляється при прослуховуванні файлу більшістю людей.

 

Подолання систем моніторингу і управління мережевими ресурсами

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

 

Камуфляж програмного  забезпечення (ПЗ)

Іншим важливим завданням стеганографії є камуфляж ПЗ. У тих випадках, коли використання ПЗ незареєстрованими користувачами є небажаним, воно може бути закамуфльоване під стандартні універсальні програмні продукти (наприклад, текстові редактори) або приховано у файлах мультимедіа (наприклад, в звуковому супроводі комп'ютерних ігор).

 

Захист авторських прав

Ще однією областю  використання стеганографії є захист авторського права від піратства. На комп'ютерні графічні зображення наноситься спеціальна мітка, яка залишається невидимою для очей, але розпізнається спеціальним ПЗ. Таке програмне забезпечення вже використовується в комп'ютерних версіях деяких журналів. Даний напрям стеганографії призначений не тільки для обробки зображень, але і для файлів з аудіо- і відеоінформацією і покликаний забезпечити захист інтелектуальної власності.

 

1.2. Кодування інформації методами стеганографії

Комп'ютерна стеганографія  — напрям класичної стеганографії, заснований на особливостях комп'ютерної платформи.

Методи комп’ютерної стеганографії:

    1. Використання зарезервованих полів комп'ютерних форматів файлів — суть методу полягає в тому, що частина поля розширень, не заповнена інформацією про розширення, за умовчанням заповнюється нулями. Відповідно ми можемо використовувати цю «нульову» частину для запису своїх даних. Недоліком цього методу є низький ступіньскритності і малий інформації що передається.
    2. Метод приховування інформації в місцях на гнучких дисках, що не використовуються — при використанні цього методу інформація записується в невживані частини диску що не використовуються, наприклад, на нульову доріжку. Недоліки: маленька продуктивність, передача невеликих за об'ємом повідомлень.
    3. Метод використання особливих властивостей полів форматів, які не відображаються на екрані — цей метод заснований на спеціальних «невидимих» полях для отримання виносок, покажчиків. Наприклад, написання чорним шрифтом на чорному фоні. Недоліки: маленька продуктивність, невеликий об'єм інформації що передається.
    4. Використання особливостей файлових систем — при зберіганні на жорсткому диску файл завжди займає ціле число кластерів (мінімальних об'ємів інформації, що адресуються). Наприклад, в файловій системі FAT32 (використовувалася в Windows98/Me/2000) стандартний розмір кластера — 4 Кб. Відповідно для зберігання 1 Кб інформації на диску виділяється 4 Кб інформації, з яких 1Кб потрібен для зберігання байту, що зберігається, а останні 3 не використовуються — відповідно їх можна використовувати для зберігання інформації. Недолік даного методу: легкість виявлення.

Цифрова стеганографія — напрям класичної стеганографії, заснований на приховуванні або впровадженні додаткової інформації в цифрові об'єкти, викликаючи при цьому деяке спотворення цих об'єктів. Але як правило, дані об'єкти є мультимедіа-об'єктами (зображення, відео, аудіо, текстури 3D-об’єктів) і внесення спотворень, які нижчим за поріг чутливості середньостатистичної людини, не до помітних змін цих об'єктів. Крім того, в оцифрованих об'єктах, що спочатку мають аналогову природу, завжди присутній шум квантування; далі, при відтворенні цих об'єктів з'являється додатковий аналоговий шум і нелінійні спотворення апаратури, все це сприяє більшій непомітності прихованої інформації.

Методи цифрової стеганографії:

  1. Метод LSB (Least Significant Bit - найменший значущий біт) — суть цього методу полягає в заміні останніх значущих бітів в контейнері (зображення, аудіо або відеозаписи) на біти повідомлення що замінюються. Різниця між порожнім і заповненим контейнерами має бути не помітною для сприйняття людини.

Суть методу полягає  в наступному: Допустимо, є 8-бітове зображення в градаціях сірого. 00h (00000000b) позначає чорний колір, FFh (11111111b) — білий. Всього є 256 градацій (28). Також  припустимо, що повідомлення складається з 1 байту — наприклад, 01101011b. При використанні 2 молодших біт в описах пікселів, нам буде потрібно 4 пікселя. Допустимо, вони чорного кольору. Тоді пікселі, що містять приховане повідомлення, виглядатимуть таким чином: 00000001 00000010 00000010 00000011. Тоді колір пікселів зміниться: першого — на 1/255, другого і третього — на 2/255 і четвертого — на 3/255. Такі градації, мало того що непомітні для людини, можуть взагалі не відобразитися при використанні низькоякісних пристроїв виводу.

Методи LSB є нестійкими до всіх видів  атак і можуть бути використані лише за відсутності шуму в каналі передачі даних.

Виявлення LSB-кодованого стего-файлу здійснюється по аномальних характеристиках розподілу значень діапазону молодших бітів відліків цифрового сигналу.

Інші методи приховування інформації в графічних файлах орієнтовані на формати файлів з втратою, наприклад, JPEG. На відміну від LSB вони стійкіші до геометричних перетворень. Це виходить за рахунок варіювання в широкому діапазоні якості зображення, що приводить до неможливості визначення джерела зображення.

2. Ехо-метод застосовуються в цифровій аудіостеганографії і використовують нерівномірні проміжки між ехо-сигналами для кодування послідовності значень. При накладанні ряду обмежень дотримується умова непомітності для людського сприйняття. Ехо характеризується трьома параметрами: початковою амплітудою, ступенем , затримкою. Досягши порогу між сигналом і ехом вони змішуються. У цій точці людське вухо не може вже відрізнити ці два сигнали. Наявність цієї точки складно визначити, і вона залежить від якості початкового запису, слухача. Найчастіше використовується затримка близько 1/1000, що цілком для більшості записів і слухачів. Для позначення логічного нуля і одиниці використовується дві різні затримки. Вони обидві мають бути менші, ніж поріг чутливості вуха слухача до отримуваного відлуння. Ехо-методи стійкі до амплітудних і частотних атак, але нестійкі до атак за часом.

3. Фазове кодування (phase coding - фазове кодування) — також застосовується в цифровій аудіостеганографії. Відбувається заміна початкового звукового елементу на відносну фазу, яка і секретним повідомленням. Фаза елементів, що йдуть підряд, має бути додана так, щоб зберегти відносну фазу між початковими елементами. Фазове кодування одним з найефективніших методів приховування інформації.

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

 

1.3. Застосування методів стеганографії до формату JPЕG

До формату JPЕG не можна застосовувати ті ж самі методи кодування інформації, що застосовуються до некомпресованих форматів (наприклад, метод заміни молодших бітів) тому, що формат JPЕG є закодований методом Хаффмана. Тому для кодування можна застосовувати такі методи:

    1. Метод нестандартного атома. Всередині зображення створюється новий сегмент (нестандартний атом), в який і приховується інформація. Перевагою цього методу є те, що зображення зовсім не втрачає своєї якості, але якщо перевірити вміст файлу можна виявити зайвий сегмент.
    2. Метод дописування нових коефіцієнтів. В кожен сегмент зображення дописується кілька біт. В даному методі візуально різницю між вхідним і вихідним зображенням буде не помітно, але є обмежена кількість інформації, яку можна приховати: на блок 8х8 пікселів можна приховати інформацію довжиною лише 1-2 біта.
    3. Метод квантування. Модифікація 2-го варіанту - все те саме, але плюс полягає в тому, що можна зберігати більшу кількість інформації за рахунок того, що потрібно ще добавити зміну таблиці квантування для тих коефіцієнтів, які використовуються для приховування інформації. Потрібно поставити якомога менший коефіцієнт квантування (одиничку-двійку), тоді на виході після деквантування буде менше значення додаткового коефіцієнта. Можна ховати не 1-2 біта (як в 2-ому варіанті), а попробувати ховати вже 3-4 біта на один коефіцієнт при тих самих візуальних ефектах, а може і більше.

В своїй роботі я обрав 1-ий метод, але я приховував інформацію в сегмент APP, який має таку структуру:

  • маркер APPn (2 байти);
  • довжина (2 байти);
  • ідентифікатор JFIFn (5 байт);
  • код розширення (1 байт) - (10 - кодування методом JPEG, 11 - 1 байт на піксель, 12 - 3 байти на піксель).

Информация о работе Розробка програми кодування інформації за методами стеганографії з використанням формату JPЕG