- •Компьютерная стеганография
- •Глава 1. Место стеганографических систем в сфере
- •Глава 2. Особенности построения стеганографических систем 18
- •Глава 3. Принципы стеганографического анализа 33
- •Глава 4. Пропускная способность каналов передачи
- •Глава 5 Стеганографические методы скрытия данных и их реализация в системе МathCad 70
- •Перечень условных сокращений
- •Вступление
- •1.1. Атаки на информацию, обрабатываемую в автоматизированных системах
- •Глава 1 Место стеганографических систем в сфере информационной безопасности
- •1.2. Категории информационной безопасности
- •1.3. Возможные варианты защиты информации в автоматизированных системах
- •Глава 2 Особенности построения стеганографических систем
- •2.1. Предмет, терминология и сферы применения стеганографии
- •2.2. Проблема устойчивости стеганографических систем
- •2.3. Структурная схема и математическая модель типичной стеганосистемы
- •2.4. Протоколы стеганографических систем
- •2.4.1. Бесключевые стеганосистемы
- •2.4.2. Стеганосистемы с секретным ключом
- •2.4.3. Стеганосистемы с открытым ключом .
- •2.4.4. Смешанные стеганосистемы
- •2.5. Выводы
- •Глава 3 Принципы стеганографического анализа
- •3.1. Вступительные положения
- •3.2. Виды атак на стеганографическую систему
- •3.3. Основные этапы практического стеганоанализа
- •3.4. Оценка качества стеганоситемы
- •3.5. Абсолютно надежная стеганосистема
- •3.6. Устойчивость стеганосистем к пассивным атакам
- •3.7. Активные и злонамеренные атаки
- •3.8. Устойчивость стеганографической системы к активным атакам
- •3.9. Сознательно открытый стеганографических канал
- •3.10. Выводы
- •Глава 4 Пропускная способность каналов передачи скрываемых данных
- •4.1. Понятие пропускной способности
- •4.2. Информационное скрытие при активном противодействии нарушителя
- •4.2.1. Формулировка задачи информационного скрытия при активном противодействии нарушителя
- •4.2.2. Скрывающее преобразование
- •4.2.3. Атакующее воздействие
- •4.3. Скрытая пропускная способность при активном противодействии нарушителя
- •4.3.1. Основная теорема информационного скрытия при активном противодействии нарушителя
- •4.3.2. Свойства скрытой пропускной способности стеганоканала
- •4.3.3. Комментарии полученных результатов
- •4.4. Двоичная стеганосистема передачи скрываемых сообщений
- •4.5. Выводы
- •Глава 5 Стеганографические методы скрытия данных и их реализация в системе MathCad
- •5.1. Вступительные положения
- •5.2. Классификация методов скрытия данных
- •5.3. Скрытие данных в неподвижных изображениях
- •5.3.1. Основные свойства 3сч, которые необходимо учитывать при построении стеганоалгоритмов
- •5.3.2. Скрытие данных в пространственной области
- •5.3.2.1. Метод замены наименее значащего бита
- •5.3.2.2. Метод псевдослучайного интервала
- •5.3.2.3. Метод псевдослучайной перестановки
- •5.3.2.4. Метод блочного скрытия
- •5.3.2.5. Методы замены палитры
- •5.3.2.6. Метод квантования изображения
- •5.3.2.7. Метод Куттера-Джордана-Боссена
- •5.3.2.8. Метод Дармстедтера-Делейгла-Квисквотера-Макка
- •Разбиение зон на категории
- •Правила встраивания бит сообщения
- •Извлечение встроенной информации
- •5.3.2.9. Другие методы скрытия данных в пространственной области
- •5.3.3. Скрытие данных в частотной области изображения
- •5.3.3.1. Метод относительной замены величин коэффициентов дкп (метод Коха и Жао)
- •5.3.3.2. Метод Бенгама-Мемона-Эо-Юнг
- •5.3.3.3. Метод Хсу и By
- •5.3.3.4. Метод Фридрих
- •5.3.4. Методы расширения спектра
- •5.3.5. Другие методы скрытия данных в неподвижных изображениях.
- •5.3.6.1. Статистические методы
- •5.3.5.2. Структурные методы
- •5.4. Скрытие данных в аудиосигналах
- •5.4.1. Кодирование наименее значащих бит (временная область)
- •5.4.2. Метод фазового кодирования (частотная область)
- •5.4.3. Метод расширения спектра (временная область)
- •5.4.4. Скрытие данных с использованием эхо-сигнала
- •5.5. Скрытие данных в тексте
- •5.5.1. Методы произвольного интервала
- •5.5.1.1. Метод изменения интервала между предложениями
- •5.5.1.2. Метод изменения количества пробелов в конце текстовых строк
- •5.5.1.3. Метод изменения количества пробелов между словами выровненного по ширине текста
- •5.5.2. Синтаксические и семантические методы
- •5.6. Системные требования
- •5.7. Выводы
- •Заключение
5.3.4. Методы расширения спектра
Изначально методы расширения спектра (PC или SS — Spread-Spectrum) использовались при разработке военных систем управления и связи. Во время второй мировой войны расширение спектра использовалось в радиолокации для борьбы с намеренными помехами. В последние годы развитие данной технологии объясняется желанием создать эффективные системы радиосвязи для обеспечения высокой помехоустойчивости при передаче узкополосных сигналов по каналам с шумами и осложнения их перехвата. Система связи является системой с расширенным спектром в следующих случаях [65].
• Полоса частот, которая используется при передаче, значительно шире минимально необходимой для передачи текущей информации. При этом энергия ин формационного сигнала расширяется на всю ширину полосы частот при низком соотношении сигнал/шум, в результате чего сигнал трудно обнаружить, пере хватить или воспрепятствовать его передаче путем внесения помех. Хотя суммарная мощность сигнала может быть большой, соотношение сигнал/шум в любом диапазоне частот является малым, что делает сигнал с расширенным спектром трудно определяемым при радиосвязи и, в контексте скрытия информации стеганографическими методами, трудно различимым человеком.
• Расширение спектра выполняется с помощью так называемого расширяющего (или кодового) сигнала, который не зависит от передаваемой информации. Присутствие энергии сигнала во всех частотных диапазонах делает радиосигнал с расширенным спектром стойким к внесению помех, а информацию, встроенную в контейнер методом расширения спектра, стойкой к ее устранению или извлечению из контейнера. Компрессия и другие виды атак на систему связи могут устранить энергию сигнала из некоторых участков спектра, но поскольку последняя была распространена по всему диапазону, в других полосах остается достаточное количество данных для восстановления информации. В результате, если, разумеется, не разглашать ключ, который использовался для генерации кодового сигнала, вероятность извлечения информации неавторизованными лицами существенно снижается.
• Восстановление первичной информации (то есть "сужение спектра") осуществляется путем сопоставления полученного сигнала и синхронизированной копии кодового сигнала.
В радиосвязи применяют три основных способа расширения спектра:
• с помощью прямой ПСП (РСПП);
• с помощью скачкообразного перестраивания частот;
• с помощью компрессии с использованием линейной частотной модуляции(ЛЧМ).
При расширении спектра прямой последовательностью информационный сигнал модулируется функцией, которая принимает псевдослучайные значения в установленных пределах, и умножается на времени константу — частоту (скорость) следования элементарных посылок (элементов сигнала). Данный псевдослучайный сигнал содержит составляющие на всех частотах, которые, при их расширении, модулируют энергию сигнала в широком диапазоне.
В методе расширения спектра с помощью скачкообразного перестраивания частот передатчик мгновенно изменяет одну частоту несущего сигнала на другую. Секретным ключом при этом является псевдослучайный закон изменения частот.
При компрессии с использованием ЛЧМ сигнал модулируется функцией, частота которой изменяется во времени.
Очевидно, что любой из указанных методов может быть распространен на использование в пространственной области при построении стеганографических систем.
Рассмотрим
один из вариантов реализации метода
РСПП, авторами которого являются Смит
(J.R. Smith) и Комиски (В.О. Comiskey) [88]. Алгоритм
модуляции следующий: каждый бит сообщения
,
представляется некоторой базисной
функцией
,
размерностью
,
умноженной, в зависимости от значения
бита (1 или 0), на +1 или -1:
(5.47)
Модулированное
сообщение Е(х,у),
полученное при этом, попиксельно
суммируется с изображением-контейнером
С(х,у)
в
качестве которого используется
полутоновое изображение размером
.
Результатом является стеганоизображение
при
![]()
Чтобы сделать невозможным искажение уже встроенного бита сообщения, базисные функции должны быть ортогональными:
(5.48)
где
— количество значащих пикселей в
базисной функции;
— средняя мощность, приходящаяся на
пиксель
;
-дельта-символ
Кронекера.
В
идеальном случае, все базисные функции
должны быть некоррелированными с
изображением-контейнером С,
то есть должны быть ортогональными к
нему:
.
Однако на практике тяжело найти контейнер,
который был бы полностью ортогональным
ко всем базисным функциям
.
В таком случае должна быть введена
величина погрешности
,
которая учитывается увеличением мощности
.
Для эффективного скрытия информации необходимо значительное количество базисных функций, ортогональных к типичным изображениям. Кодирование же изображении выдвигает противоположное требование: идеальным считается небольшое количество базисных функций, которые приблизительно перекрывает всю область изображения. Эти требования вступают в конфликт, когда изображение, содержащее скрытую информацию, подвергается компрессии: идеальная схема компрессии не способна полностью отобразить базисы, которые использовались для скрытия.
Базисные функции могут быть организованы и сравнимы в соответствии с такими свойствами как полная мощность, степень пространственного расширения (или локализации), а также степень пространственного частотного расширения (или локализации) [88].
В
случае РСПП модулирующая функция состоит
из постоянного коэффициента усиления
G
(целое число), умноженного на псевдослучайный
блок (массив) базисных функций
,
значений ±1. Каждый массив
имеет индивидуальное расположение в
массиве. Кроме того, массивы
являются непересекающимися (то есть
заведомо ортогональными друг к другу)
и перекрывают
-массив
без промежутков.
Также
будем считать, что все
базисные
функции имеют одинаковое количество
значащих элементов
.
В этом случае полную мощность можно
записать следующим образом:
(5.49)
На
этапе извлечения данных нет необходимости
владеть информацией о первичном
контейнере С.
Операция декодирования заключается в
восстановлении скрытого сообщения
путем проецирования полученного
стеганоизображения S*
на все базисные функции
:
.![]()
Значения
могут быть легко восстановлены с помощью
знаковой функции:
(5.50)
Если
,
то скрытая информация была утрачена.
При малых значениях средней мощности
G2
возрастает вероятность извлечения
ошибочного значения бита информации,
однако контейнер при этом искажается
в меньшей степени.
Основное
преимущество стеганографических
методов, основанных на расширении
спектра — сравнительно высокая стойкость
к различного рода атакам на изображение,
поскольку скрываемая информация
распределена в широкой полосе частот
и ее трудно удалить без полного разрушения
контейнера. Искажения стеганоизображения
увеличивают значение
,
однако до тех пор, пока выполняется
условие
,
скрытое сообщение не пострадает.
Приведем пример реализации метода стеганографического скрытия с помощью расширения спектра в программе MathCAD.
Шаг 1
Импортируем изображение-контейнер:
С := READBMP("C. bmp");
X := rows(C); X=128;
Y:=cols(C); Y:=128.
Шаг 2
Формируем
массив
ортогональных базисных функций, который
должен иметь размерность сигнала-контейнера
и представлять собой сумму всех базисных
неперекрывающихся функций
.
Очевидно,
что для получения ортогональных базисных
функций
достаточно
провести деление массива
на непересекающиеся сегменты, каждый
из которых поместить в массив нулевых
элементов размерностью
по соответствующим координатам.
Генерирование
массива
осуществляется программным модулем
(М.89). При этом +1 и -1 чередуются в шахматном
порядке. Конечно, при создании более
надежной стеганосистемы необходимо
выбрать более сложный алгоритм
формирования массива ортогональных
базисных функций.

Шаг 2
Пусть
общее количество базисных функций
.
Размерность значащего подмассива
отдельной базисной функции (размерность
выделяемого сегмента) определим, исходя
из размерности массива
и
общего количества базисных функций
![]()

Формирование
массива базисных функций
осуществим путем выделения соответствующего
базисной функции значащего подмассива
из общего массива
и последующего его встраивания на
соответствующие позиции нулевого
массива размерностью
с
помощью функции
.
Указанные операции осуществляет
программный модуль (М.90)

Для
упрощения, нулевой массив формируется
умножением на 0 массива
.
Результат присваивается псевдослучайному
элементу массива
.
Для генерирования ПСП используется
программный модуль (M.57) при следующих
исходных значениях:
• примитивный
полином 8-й степени
,
например, следующего вида;
,
что означает
;
• значение
начального состояния регистра s
— произвольное целое число из диапазона
возможных значений
![]()
Графическое
отображение массива
и некоторых массивов базисных функций
приведены на рис. 5.53.

Рис. 5.53. Графическая интерпретация массивов ортогональных базисных функций
Шаг 4
Рассмотрим
степень ортогональности сигнала
контейнера С к полученным базисным
функциям
,
для чего воспользуемся программным
модулем (М.91).
Результат
вычисления модуля (М.91) изображен на
рис. 5.54. При выбранном контейнере и
алгоритме формирования массива
максимальное абсолютное значение
погрешности ортогональности
составляет 312.


Рис.
5.54. График оценки степени ортогональности
массива контейнера С к базисным функциям
![]()
Шаг 5
Пусть
скрываемое сообщение — М
:="© Пузыренко А.Ю., 2005г.".
Двоичный объем сообщения составляет
бит что не превышает общего количества
базисных функций
.
Используя программный модуль (М.92), проведем модуляцию сообщения М базисными функциями (см. формулу (5.47)), предварительно присвоив тем элементам двоичного вектора сообщения, которые имели нулевое значение, значение -1.


Рис. 5.55. Пример модулированного сообщения
Результат
модуляции приведен на рис. 5.55. Присутствие
на рис. 5.55 полностью черных сегментов
говорит о том, что некоторые базисные
функции не принимали участия в модуляции
по причине отсутствия в сообщении бит
с соответствующими им индексами. В
данном случае количество неиспользованных
базисных функций:
![]()
Шаг 6
С
учетом максимального значения погрешности
,
проведем вычисление достаточного
коэффициента усиления мощности
встроенного в контейнер модулированного
сообщения: Для этого используем
специальный вычислительный модуль
решения неравенств (М.93).

Данный
модуль открывается директивой Given,
после которой следует логическое
неравенство, в выполнении которого мы
заинтересованы. Функция Find(KG)
возвращает минимальное значение
переменной КG,
предварительно заданной как KG
:= 1. позволяющее получить точное решение
неравенства. Полученный результат с
помощью функции
округляется
до наименьшего целого, превышающего
точное решение.
Шаг 7
Принимая во внимание значение коэффициента КG, проводим предварительное нормирование массива контейнера, используя программный модуль (М.94),

Без
проведения такой операции весьма
вероятны случаи, когда в результате
встраивания данных в контейнер значения
яркостей отдельных пикселей последнего
выйдут за пределы диапазона [0,255]. При
этом яркость
будет вычисляться с помощью функции
записи в файл изображения как значение
А
это вызовет ощутимый зрением человека
скачок значения яркости через весь
диапазон ее изменения и, очевидно,
является недопустимым11.
До нормирования имеем: min(C)=0, mах(С)=255. После выполнения модуля (М.94): min(Cnorm) = 5, max(Cnorm) = 250.
Очевидно,
что даже в случае прибавления к граничным
значениям яркости пикселя контейнера
элемента сообщения, модулированного
определенной базисной функцией (который
может принимать значение
),
яркость пикселя заполненного контейнера
не выйдет за допустимые пределы (рис.
5.56):
;
при этом
,.
Шаг 8
Для извлечения сообщения должны быть, известны:
• стеганоконтейнер S*;
• размерность контейнера X* и Y*;
• общее
количество базисных функций
;
• конфигурация
(в простейшем случае — n*)
и алгоритм получения базисныхфункций
![]()

Рис. 5.56 Пустой (С), нормированный (Сnorm) и заполненный при КG=5(S) контейнеры
Программный модуль извлечения скрытого путем расширения спектра прямой последовательностью сообщения — (М.95).
Результат вычисления показателей искажения контейнера сведен в табл. 5.5 (стр. 189).

Более
эффективным, по мнению авторов [88],
является алгоритм реализации метода
РСПП, который заключается в использовании
«двойного канала» встраивания: каждая
базисная функция
по заранее оговоренному алгоритму
делится на две равные значащие части,
которые модулируются последовательностями
(-1)(+1) для встраивания "0", и (+1)(-1) для
встраивания "1". При извлечении
сообщения из контейнера, каждый бит
является результатом двойной демодуляции
— для случаев (-1)(+1) и (+1)(-1) проводится
вычисление значений функции корреляции.
Очевидно, что истинное (при идеальном
канале связи) значение бита сообщения
("0" или "1") будет определяться
большим значением корреляции.
Реализация приведенного алгоритма требует внесения изменений в блоки "(*)" программных модулей встраивания (М.92) и извлечения (M.95). Возможный вариант замены представлен фрагментами программных модулей (М.96), (М.97).
Как на этапе встраивания, так и во время извлечения, для деления значащих элементов базисных функций на два подмножества используется значение переменной-счетчика V, которая в первом случае (см. модуль (М.96)) представлена как вектор.
Таблица 5.5 Показатели визуального искажения в случае скрытия данных методом расширения спектра
|
Название показателя искажения |
Оригинал |
РСПП-1 |
РСПП-2 |
|
Максимальная разность. МD |
0 |
10 |
10 |
|
Средняя абсолютная разность. AD |
0 |
4.614 |
4.624 |
|
Нормированная средняя абсолютная разность, NAD |
0 |
0.031 |
0.032 |
|
Среднеквадратическая ошибка MSE |
0 |
31.721 |
31.817 |
|
Нормированная cреднеквадратическая ошибка HMSE |
0 |
1.101·10-3 |
1.104·10-3 |
|
Lp- норма, р=2 |
0 |
5.632 |
5.641 |
|
Лапласова cреднеквадратическая ошибка LMSE |
0 |
0.113 |
0.102 |
|
Отношение "сигнал/шум" SNR |
∞
|
908.381 |
905.628 |
|
Максимальное отношение "сигнал/шум", PSNR |
∞
|
2.050·103 |
2.044·103 |
|
Качество изображения ІF |
1 |
0.998899 |
0.998896 |
|
Нормированная взаимная корреляция NC |
1 |
0.986079 |
0.986052 |
|
Качество корреляции СQ |
196.672 |
193.934 |
193.929 |
|
Структурное содержание SC |
1 |
1.027477 |
1.027529 |
|
Общее сигма-отношение "сигнал/шум" GSSNR |
∞
|
566.540 |
563.058 |
|
Сигма-отношение "сигнал/шум" SSNR |
∞
|
103.8 |
103.5 |
|
Нормированное отношение "сигма/ошибка" NSER |
256 |
62 |
61 |
|
Подобие гистограмм HS |
0 |
5702 |
5736 |

Значения показателей искажения контейнера в случае использования данного алгоритма занесены в табл. 5.5.
