- •Содержание
- •Глава 1. Обзорная часть стеганографических систем 4
- •Глава 2. Разработка программы стеганографических систем 30
- •Глава 3. Экономическое обоснование системы стеганография 60
- •Глава 1. Обзорная часть стеганографических систем
- •1.1. Проблема устойчивости стеганографических систем
- •1.2. Классификация методов сокрытия данных
- •Р ис.3. Классификация методов компьютерной стеганографии
- •Анализ методов сокрытия информации
- •Описание сегмента format chunk
- •1.3. Обзор аналогичных программных продуктов
- •Глава 2. Разработка программы стеганографических систем
- •2.1. Выбор средств разработки
- •Свойства класса wRiff
- •Свойства и методы класса WorkWav
- •Р ис.8. Алгоритм сокрытия информации в звуковых фалах
- •2.3. Разработка пользовательского интерфейса
- •2.4. Тестирование программы
- •Глава 3. Экономическое обоснование системы стеганография
- •3.1. Производственные затраты на разработку
- •3.2. Учет амортизации
- •Капитальные вложения на разработку
- •Релевантные затраты на разработку
- •Заключение
- •Список используемых источников
Описание сегмента format chunk
№ |
Номер байта шестнадцате - ричный |
Номер байта десятеричный |
Длина в байтах |
Описание |
|
1 |
00h |
0 |
4 |
идентификатор «RIFF» |
|
2 |
04h |
4 |
4 |
длина файла (в байтах) без заголовка ( - 8) |
|
3 |
08h |
8 |
4 |
идентификатор формата «WAVE» |
|
4 |
0Ch |
12 |
4 |
(начало format chunk) идентификатор «fmt» |
|
5 |
10h |
16 |
4 |
длина сегмента формата (format chunk size) без заголовка, здесь = 16 |
|
6 |
14h |
20 |
2 |
индекс способа кодирования звука (format tag) 1 = PCM |
|
7 |
16h |
22 |
2 |
число каналов 1 = моно, 2 = стерео и т. д. |
|
8 |
18h |
24 |
4 |
частота семплирования в гц |
|
9 |
1Ch |
28 |
4 |
среднее число байт в секунду |
|
Метод LSB
Суть метода LSB (Least Significant Bit, наименьший значащий бит) - заключается в замене последних значащих битов в контейнере (изображения, аудио или видеозаписи) на биты скрываемого сообщения. Разница между пустым и заполненным контейнерами должна быть не ощутима для органов восприятия человека.
Рассмотрим действие данного метода на примере. Возьмем несколько .wav файлов формата PCM, с частотой семплирования 44100Гц, с количество бит для одного семпла = 8, а также текстовый файл, который необходимо сокрыть. Как известно любую информацию, представленную в цифровом виде, можно отобразить в бинарном виде. Рассмотрим Data chunk каждого файла, в которой хранятся аудиоданные, а также текстовый файл, который необходимо скрыть в бинарном представление. Далее, придерживаясь принципа LSB, необходимо произвести побитную замену наименее значимых битов в каждом семпле каждого .wav файла на биты текстового файла (см. рис.4).
Рис.4. Сокрытие в файлах формата .wav
Выбор данного метода обусловлен его простотой реализации и тем, что он позволяет скрывать в относительно небольших файлах достаточно большие объемы информации (пропускная способность создаваемого скрытого канала связи составляет при этом от 12,5 до 30%). Метод зачастую работает с аудио файлами формата .wav, представленными в формате без компрессии (PCM).
Метод LSB имеет среднюю стеганографическую стойкость к атакам пассивного и активного нарушителей. Основной его недостаток - высокая чувствительность к малейшим искажениям контейнера. Для ослабления этой чувствительности часто дополнительно применяют помехоустойчивое кодирование.
Наряду с методом LSB, применяется эхо - методы. Они применяются в цифровой аудиостеганографии и используют неравномерные промежутки между эхо - сигналами для кодирования последовательности значений. При наложении ряда ограничений соблюдается условие незаметности для человеческого восприятия. Эхо - методы устойчивы к амплитудным и частотным атакам, но неустойчивы к атакам по времени [12].
Метод встраивания сообщения, когда специальная случайная последовательность встраивается в контейнер, за тем используя согласованный фильтр, данная последовательность детектируется. Данный метод позволяет встраивать большое количество сообщений в контейнер, и они не будут создавать помехи друг другу. Метод заимствован из широкополосной связи.
Для увеличения криптостойкости программы был использован совместно со стеганографическим методом алгоритм симметричного шифрования.
Шифрование - способ преобразования информации, применяемый для хранения важной информации в ненадёжных источниках или передачи её по незащищённым каналам связи. Согласно ГОСТ 28147 - 89, шифрование - процесс зашифрования или расшифрования.
В зависимости от структуры используемых ключей, методы шифрования подразделяются на:
симметричное шифрование: посторонним лицам может быть известен алгоритм шифрования, но неизвестна небольшая порция секретной информации - ключа, одинакового для отправителя и получателя сообщения;
асимметричное шифрование: посторонним лицам может быть известен алгоритм шифрования, и, возможно, открытый ключ, но неизвестен закрытый ключ, известный только получателю.
В настоящее время симметричные шифры - это:
блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект - нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных;
поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147 - 89 в режиме гаммирования), запущенного в специальном режиме.
Большинство симметричных шифров используют сложную комбинацию большого количества подстановок и перестановок. Многие такие шифры исполняются в несколько (иногда до 80) проходов, используя на каждом проходе «ключ прохода». Множество «ключей прохода» для всех проходов называется «расписанием ключей» (key schedule). Как правило, оно создается из ключа выполнением над ним неких операций, в том числе перестановок и подстановок.
Типичным способом построения алгоритмов симметричного шифрования является сеть Фейстеля. Алгоритм строит схему шифрования на основе функции F (D, K), где D - порция данных, размером вдвое меньше блока шифрования, а K - «ключ прохода» для данного прохода. От функции не требуется обратимость - обратная ей функция может быть неизвестна. Достоинства сети Фейстеля - почти полное совпадение дешифровки с шифрованием (единственное отличие - обратный порядок «ключей прохода» в расписании), что сильно облегчает аппаратную реализацию.
Операция перестановки перемешивает биты сообщения по некоему закону. В аппаратных реализациях она тривиально реализуется как перепутывание проводников. Именно операции перестановки дают возможность достижения «эффекта лавины». Операция перестановки линейна - f(a) xor f(b) == f (a xor b)
Операции подстановки выполняются как замена значения некоей части сообщения (часто в 4, 6 или 8 бит) на стандартное, жестко встроенное в алгоритм, иное число путем обращения к константному массиву. Операция подстановки привносит в алгоритм нелинейность.
Зачастую стойкость алгоритма, особенно к дифференциальному криптоанализу, зависит от выбора значений в таблицах подстановки (S - блоках). Как минимум считается нежелательным наличие неподвижных элементов S(x) = x, а также отсутствие влияния какого - то бита входного байта на какой - то бит результата - то есть случаи, когда бит результата одинаков для всех пар входных слов, отличающихся только в данном бите.
Распространенные алгоритмы:
AES (англ. Advanced Encryption Standard) - американский стандарт шифрования;
ГОСТ 28147 - 89 - отечественный стандарт шифрования данных;
DES (англ. Data Encryption Standard) - стандарт шифрования данных в США до AES;
3DES (Triple - DES, тройной DES);
RC6 (Шифр Ривеста).
В разработанной программе в качестве алгоритма симметричного шифрования был выбран AES (Advanced Encryption Standard (Rijndael)).
Данный алгоритм шифрования хорошо проанализирован и сейчас широко используется, как это было с его предшественником DES. Алгоритм был выбран в связи с высокой степенью криптостойкости, надежности и отказоустойчивости.
