- •Компьютерная стеганография
- •Глава 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.2.4. Метод блочного скрытия
Метод блочного
скрытия — это еще один подход к реализации
метода замены и заключается в следующем
[3]. Изображение-оригинал разбивается
на
непересекающихся
блоков
произвольной
конфигурации, для каждого из которых
вычисляется бит четности
:
![]()
В каждом блоке
выполняется скрытие одного секретного
бита Mi,
Если бит четности,
то
происходит инвертирование одного из
НЗБ блока
,
в результате чего
.
Выбор блока может происходить
псевдослучайно с использованием
стегакоключа.
Хотя этот метод имеет такую же низкую устойчивость к искажениям, как и все предыдущие, у него есть ряд преимуществ. Во-первых, существует возможность модифицировать значение такого пикселя в блоке, изменение которого приведет к минимальному изменению статистики контейнера. Во-вторых, влияние последствий встраивания секретных данных в контейнер можно уменьшить за счет увеличения размера блока.
Рассмотрим пример программы в MathCAD, которая позволяет выполнить стеганографическую защиту текстового сообщения методом блочного скрытия.
Шаг 1
Исходные данные соответствуют; принятым при моделировании предыдущего метода.
Шаг 2
Разбиение массива
контейнера на блоки выполним следующим
образом: если количество бит в сообщении
не
превышает количества столбцов Y
массива С,
то один блок соответствует отдельному
столбцу массива С.
Если же
,
то один блок равен
от
отдельного столбца массива, где
Значение
должно быть известно получателю.
Данный алгоритм
встраивания реализован в модуле (М.23).
Начало модуля аналогично модулю (М.21).
Счетчик
позволяет выделять соответствующую
соотношению
часть от общей размерности столбца
массива. При этом определяются индексы
строк, начиная с которой (r1)
и по которую
(r2)
выделяется
фрагмент
у-го
столбца.
Для каждого блока
выполняется
вычисление бита четности b,
Если b
не равен текущему значению бита сообщения,
то из блока
случайным образом выбирается индекс n
пикселя, интенсивность цвета которого
увеличивается или уменьшается на
единицу, в зависимости от того, четным
или нечетным является его первичное
значение. С помощью функции
выполняется встраивание модифицированного
массива
в общий массив S,
начиная со строки r1
и столбца у
в сторону самых старших индексов строк
и столбцов соответственно.

Рис. 5.12. Рассеяние бит сообщения по массиву контейнера
На рис. 5.12 изображены пиксели контейнера, интенсивность цвета которых претерпела изменения (для наглядности, цвет данных пикселей установлен черным).
Очевиден факт снижения количества модифицированных пикселей по сравнению с результатом применения двух предыдущих методов (см. рис. 5.9 и рис. 5.11).

Шаг 3
Извлечение секретной информации осуществляется с помощью модуля (М.24). Результаты вычисления визуального искажения сведены в табл. 5.1(стр. 125)
5.3.2.5. Методы замены палитры
Для скрытия данных
можно также воспользоваться палитрой
цветов, присутствующих в формате
изображения [80]. Палитра из N
цветов определяется как список пар
индексов
,
который определяет соответствие между
индексом i
и его вектором цветности
(так называемая таблица цветов). Каждому
пикселю изображения ставится в
соответствие определенный индекс в
таблице. Поскольку порядок цветов в
палитре не важен для восстановления
общего изображения, конфиденциальная
информация может быть скрыта путем
перестановки цветов в палитре.
Существует N! различных способов перестановки N-цветной палитры, чего вполне достаточно для скрытия небольшого сообщении. Однако методы скрытия, в основе которых лежит порядок формирования палитры, также являются неустойчивыми: любая атака, связанная со сменой палитры, уничтожает встроенное сообщение.
Чаще всего соседние
цвета в палитре не обязательно похожи,
поэтому некоторые стеганометоды перед
скрытием данных упорядочивают палитру
таким образом, что смежные цвета
становятся подобными. Например, значение
цвета может быть упорядочено по расстоянию
d
в RGB-пространстве, где
[3].

Поскольку ЗСЧ более чувствительна к изменениям яркости цвета, то целесообразно сортировать содержание палитры именно по значениям яркости сигнала. После сортировки палитры можно изменять НЗБ индексов цвета без чрезмерного искажения изображения.
Некоторые стеганометоды [81] предусматривают уменьшение общего количества значений цветов (до N/2) путем "размывания" изображения. При этом элементы палитры дублируются таким образом, чтобы значение цветов для них различалось несущественно. В итоге каждое значение цвета размытого изображения соответствует двум элементам палитры, которые выбираются в соответствии с битом скрываемого сообщения.
Можно предложить следующий вариант метода замени палитры.
Шаг 1
Исходные данные — стандартные.
Шаг 2
Таблицу цветов получаем, например, используя подмассив интенсивности красного R (M.25). Секретность таблицы будет определять алгоритм ее формирования на основе массива R.

Полученную таблицу Т упорядочим по интенсивности цветов с помощью функции csort(T,с), которая позволяет переставить строки массива Т таким образом, чтобы отсортированным оказался столбец с:
![]()
На рис. 5.13 представлены фрагменты оригинальной и отсортированной цветовых таблиц.
|
T= |
|
1 |
2 |
Tsort= |
|
1 |
2 |
|
|
|
1 |
1 |
255 |
|
1 |
99 |
0 |
|
|
|
2 |
2 |
251 |
|
2 |
49 |
1 |
|
|
|
3 |
3 |
250 |
|
3 |
256 |
2 |
|
|
|
4 |
4 |
249 |
|
4 |
96 |
3 |
|
|
|
5 |
5 |
247 |
|
5 |
139 |
4 |
|
|
|
6 |
6 |
244 |
|
6 |
174 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
251 |
230 |
251 |
3 |
250 |
|
|
|
|
252 |
252 |
75 |
|
252 |
2 |
251 |
|
|
|
253 |
253 |
196 |
|
253 |
74 |
252 |
|
|
|
254 |
254 |
193 |
|
254 |
108 |
253 |
|
|
|
255 |
255 |
55 |
|
255 |
109 |
254 |
|
|
|
256 |
256 |
2 |
|
256 |
1 |
255 |
|
Рис. 8.13. Оригинальная (Т) и отсортированная (Тsort) цветовые таблицы
На рис. 5.14. представлена графическая интерпретация цветовых таблиц.

Рис. 6.14. Графическое отображение цветовых таблиц Т и Тsort
Шаг 3
Модуль встраивания сообщения в контейнер (М.26) реализует следующий алгоритм.
Формирование
битового вектора из символьной строки
аналогично представленному в (М.21). Из
массива контейнера С,
путем перебора индексов строк (х)
и столбцов (у),
переменной pix
присваивается
значение интенсивностей цвета
соответствующих пикселей контейнера.
Внутренним циклом
выполняется
поиск соответствующего значения
интенсивности в отсортированной цветовой
таблице Тsort.
В случае положительного
исхода поиска, переменной n
присваивается значение индекса,
соответствующего данной интенсивности
в таблице Т
(первый
столбец Тsort,
а переменной
— значение индекса, соответствующего
данной интенсивности в таблице Тsort.
Если НЗБ индекса n
не равно текущему биту скрываемого
сообщения, то происходит поиск ближайшего
индекса, НЗБ которого равно биту
сообщения. Поиск выполняется вниз (L)
и вверх (Н)
от индекса
.
Предварительное
присвоение переменным
и
значения -/+1000 гарантирует невозможность
дублирования предыдущих значений
,
если продвижение вниз или вверх от
индекса
не привело к выполнению поставленного
условия (последнее возможно при
обнаружении индекса
слишком близко к нижней или верхней
границе отсортированной цветовой
таблицы).
Шаг 4
При извлечении сообщения, на основе массива R* необходимо сформировать таблицы цветов Т и Тsort . Модуль, реализующий данную операцию, идентичен (М.25).
Шаг 5
Модуль извлечения
(М.27) для интенсивности каждого пикселя
массива S*
выполняет поиск соответствующей
интенсивности в цветовой таблице. При
нахождении,
-му
элементу битового сообщения М*
присваивается значение НЗБ индекса,
соответствующее данной интенсивности
в неотсортированной таблице. Полученный
битовый вектор в конце модуля преобразуется
в строку символов.

Результаты вычисления визуального искажения сведены в табл. 5.1 (стр. 125).
