Выше были рассмотрены модели стеганосистем, в которых используется секретный ключ (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] модель построена на предположении, что стеганосистема с открытым ключом по своей сути является криптографической системой с открытым ключом с дополнительным необходимым условием, что результат ее работы (стеганограмма) должен соответствовать распределению использованного при этом контейнера.
Выводы
В данном разделе путем исследования известных публикаций отечественных и зарубежных авторов выполнено системное изложение вопросов надежности и устойчивости произвольной стеганографической системы по отношению к видам совершаемых на нее атак. Последние были разделены в соответствии с классификацией типов нарушителей на пассивных, активных и злонамеренных.
Проведение аналогии между стегано- и криптоанализом позволило выделить как общие, так и характерные только для стеганосистем виды атак (атака на основании известного пустого контейнера, атака на основании выбранного пустого контейнера, атака на основании известной математической модели контейнера или его части).
Был выполнен обзор ряда публикаций, посвященных показателям, используемым с целью оценки искажений, вносимых стеганопреобразованиями в пиксельную структуру контейнера.
Глава 4