- •Компьютерная стеганография
- •Глава 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. Выводы
- •Заключение
3.9. Сознательно открытый стеганографических канал
Выше были рассмотрены модели стеганосистем, в которых используется секретный ключ (private-key), разделяемый между определенными участниками стеганографического обмена. Подобные модели являются ограниченными для пассивного нарушителя, который, тем не менее, способен обнаружить факт передачи скрытого сообщения и при определенных обстоятельствах узнать о его содержании. Другое дело, если нарушитель является активным или злонамеренным. Тогда он может не только вносить помехи в стеганоканал, но и полностью имитировать отправителя. Поскольку в большинстве случаев априорная информация об отправителе у получателя отсутствует, он не способен отличить фальсификацию, поэтому скрытая передача данных при наличии активного нарушителя — это намного более сложная проблема по сравнению с фактом присутствия пассивного нарушителя.
В работах [5, 12] представлен протокол, позволяющий решить эту задачу. Данный протокол основан на введении к рассмотрению канала с исключительно малой пропускной способностью — сознательно открытого (supraliminal) канала. Такой канал образуется, за счет встраивания скрываемых данных в наиболее важные характеристики контейнера, искажение которых приведет к полной деградации последнего. Другими словами, информация встраивается в контейнер таким образом, что ее видно, но невозможно изменить без существенных изменений характерных свойств контейнера.
Очевидна и сфера использования указанного протокола — концепция открытого стеганоканала используется преимущественно для встраивания ЦВЗ. Рассмотрим принцип его использования [5).
Предположим, при активной атаке нарушителю удается внести только незначительные изменения в пересылаемый контейнер. Следовательно, некоторая информация, которая специфична для конкретного контейнера, сохранится, поскольку ее нельзя удалить без существенного изменения семантики контейнера. Дело в том, что нарушитель во многих случаях не может вносить помехи в стеганоканал, значительные настолько, чтобы передаваемая информация была полностью искажена. Не может по причинам не технического характера, а из юридических или других соображений. Поэтому, если секретное сообщение встроить в существенные фрагменты контейнера, то его можно передавать между абонентами с высокой степенью целостности даже при наличии активных помех.
Встраивание информации в наиболее значимые элементы контейнера — основной принцип применения ЦВЗ. Отличие сознательно создаваемого открытого канала заключается в том, что для встраивания и извлечения данных не нужен секретный ключ. Место размещения скрываемых битов общеизвестно, но их невозможно удалить без заметного разрушения контейнера. Кроме того, ЦВЗ может не содержать в себе никакой осмысленной информации (например, быть функцией самого изображения). В случае же сознательно открытого канала, наоборот, контейнер может быть функцией скрываемого короткого сообщения.
Допустим, что каждому контейнеру соответствует некий шаблон, в котором формально описаны все характерные особенности контейнера [3]. Пусть S — множество всех шаблонов и — функция шаблонов. Для того чтобы передавать битовую строку данных , передающая сторона выбирает из множества S некий шаблон и пересылает открытым каналом контейнер, которому соответствует этот шаблон. Пассивный нарушитель может подозревать о существовании скрытого обмена в шумовом компоненте контейнера и с целью разрушения секретного сообщения может несколько изменить стеганограмму, однако при этом он не в состояний изменить шаблон контейнера. В свою очередь, принимающая сторона может восстановить шаблон s из принятой стеганограммы (возможно, модифицированной пассивным нарушителем) и извлечь данные m с помощью функции f.
Использовать открытый стеганоканал для пересылки битовой строки m с явным содержанием нецелесообразно, поскольку пассивный нарушитель с помощью открытой функции f может легко восстановить встроенную информацию. Однако, если сообщение m является случайным секретным ключом или выглядит как случайный шифротекст (то есть, предварительно защищено криптографически), то у нарушителя не будет оснований для подозрений и доказательств (если, конечно, он не способен взломать криптосистему), что переданная информация является чем-то более существенным, чем случайная битовая строка.
Для практической реализации данного протокола необходимо создать ряд условий. Очевидно, что основные трудности заключаются в формировании контейнера, тогда как работа по извлечению данных может быть легко автоматизирована. Для практического же применения сознательно открытого канала должны быть автоматизированы обе операции.
Во-первых, должна существовать возможность создания для любого шаблона такого контейнера, небольшие изменения которого при активных атаках не будут доводить к изменениям скрытых данных. При этом у пассивного нарушителя не должно существовать возможности путем манипуляций со стеганограммой изменить шаблон s и привести его к такому виду s', что .
Во-вторых, должна существовать возможность формирования шаблона для каждого полученного контейнера. Кроме того, функция f должна быть общедоступной, а f и f-1 — вычисляемыми. Извлечение сообщения из пустого контейнера должно возвращать случайную строку данных. Следовательно, единственное отличие между заполненным и пустым контейнерами заключается в том, что строка f(s) имеет осмысленное значение.
Описанная схема может быть также применена для скрытого обмена ключами. протокол обмена следующий [12].
1. Передающая сторона генерирует пару открытого (Е) и секретного (D) ключей; вычисляет представительное описание (шаблон) контейнера, соответствующее ключу Е: генерирует контейнер, соответствующий SE, и отсылает его принимающей стороне.
2. Принимающая сторона извлекает из принятого контейнера открытый ключ Е передающей стороны: ; генерирует свой секретный ключ К; шифрует его с помощью открытого ключа Е; находит соответствующее полученной последовательности КЕ описание (шаблон) контейнера: ; генерирует контейнер, соответствующий SKE , и отсылает его передающей стороне.
3. Передающая сторона восстанавливает зашифрованный секретный ключ: и расшифровывает его, используя свой секретный ключ D.
Теперь стороны могут обмениваться сообщениями, встроенными в контейнер с использованием секретного ключа К. Нарушитель в результате перехвата канала может получить открытый ключ передающей стороны и зашифрованный этим ключом секретный ключ принимающей стороны. Значение последнего без знания секретного ключа передающей стороны будет оставаться для него неизвестным.
Следует отметить, что главная проблема схемы открытого стеганографического канала заключается в эффективной реализации функции f. Кроме того, такой канал не подходит для скрытой передачи сообщений большого объема, поскольку имеет низкую пропускную способность и является открытым для нарушителя.
Фон Ан (L. von Ann) и Хоппер (N.J. Hopper) [S8] формализовали стеганографию открытым ключом в случае пассивного нарушителя, а также создали ограниченную модель при наличии нарушителя, который осуществляет активную атаку на стеганоканал. На их взгляд, необходимо обеспечивать устойчивость против атак конкретных (заранее определенных) нарушителей в тех случаях, когда получатель должен быть уверен в аутентичности отправителя. Это, по мнению авторов [59], является ограничением модели по сравнению с принципами, заложенными в процесс обмена с открытым ключом.
В своей работе они предлагают комплексную теоретическую модель протокола стеганографического обмена с открытым ключом в случае активных атак, причем лица, принимающие в этом участие, априори не нуждаются в разделении секретной информации, а нарушитель может влиять на канал и осуществлять так называемую адаптивную к контейнерам атаку. Такой вид атаки представляется наиболее обобщающим по сравнению со стеганосистемами, протоколы которых построены с использованием открытого ключа. Это позволяет нарушителю отсылать принимающей стороне произвольную последовательность адаптивно выбранных встроенных в контейнер сообщений и изучать интерпретацию ею каждого из сообщений; то есть, рассматривает ли получатель сообщения как пустой контейнер или же как стеганограмму (с извлечением в последнем случае встроенных данных).
Описанная в [59] модель построена на предположении, что стеганосистема с открытым ключом по своей сути является криптографической системой с открытым ключом с дополнительным необходимым условием, что результат ее работы (стеганограмма) должен соответствовать распределению использованного при этом контейнера.