Слово стенография (steganography) имеет греческое происхождение и означает "скрытое письмо" от греческих слов steganos - значение "покрытого или защищенного", и graphein - значение "писать". Первое зарегистрированное использование термина было в 1499 Джоханнсом Тризэмиусом в его Steganographia, трактате на криптографии и стенографии, замаскированном как книга по волшебству. Вообще, сообщения, будет казаться, будут чем-то еще: изображения, статьи, списки покупок, скрытое сообщение может быть в невидимых чернилах между видимыми линиями личного письма.


Преимущество стенографии, по одной только криптографии, состоит в том, что сообщения не привлекают к себе внимания.



Стенография включает укрывательство информации в пределах компьютерных файлов. В цифровой стенографии электронные средства связи могут включать steganographic, кодирующий в транспортном уровне, таком как файл документа, файл изображения, программа или протокол. Медиа-файлы идеальны для стенографической передачи из-за их большого размера.

Стеганографическая система или стегосистема - совокупность средств и методов, которые используются для формирования скрытого канала передачи информации.
При построении стегосистемы должны учитываться следующие положения:
  • противник имеет полное представление о стеганографической системе и деталях ее реализации. Единственной информацией, которая остается неизвестной потенциальному противнику, является ключ, с помощью которого только его держатель может установить факт присутствия и содержание скрытого сообщения;
  • если противник каким-то образом узнает о факте существования скрытого сообщения, это не должно позволить ему извлечь подобные сообщения в других данных до тех пор, пока ключ хранится в тайне;
  • потенциальный противник должен быть лишен каких-либо технических и иных преимуществ в распознавании или раскрытии содержания тайных сообщений.
Обобщенная модель стегосистемы представлена на рис. 1.
external image stegano_01.gif
В качестве данных может использоваться любая информация: текст, сообщение, изображение и т. п.
В общем же случае целесообразно использовать слово "сообщение", так как сообщением может быть как текст или изображение, так и, например, аудиоданные. Далее для обозначения скрываемой информации, будем использовать именно термин сообщение.
Контейнер - любая информация, предназначенная для сокрытия тайных сообщений.
Пустой контейнер - контейнер без встроенного сообщения; заполненный контейнер или стего - контейнер, содержащий встроенную информацию.
Встроенное (скрытое) сообщение - сообщение, встраиваемое в контейнер.
Стеганографический канал или просто стегоканал - канал передачи стего.
Стегоключ или просто ключ - секретный ключ, необходимый для сокрытия информации. В зависимости от количества уровней защиты (например, встраивание предварительно зашифрованного сообщения) в стегосистеме может быть один или несколько стегоключей.
По аналогии с криптографией, по типу стегоключа стегосистемы можно подразделить на два типа:
  • с секретным ключом;
  • с открытым ключом.
В стегосистеме с секретным ключом используется один ключ, который должен быть определен либо до начала обмена секретными сообщениями, либо передан по защищенному каналу.
В стегосистеме с открытым ключом для встраивания и извлечения сообщения используются разные ключи, которые различаются таким образом, что с помощью вычислений невозможно вывести один ключ из другого. Поэтому один ключ (открытый) может передаваться свободно по незащищенному каналу связи. Кроме того, данная схема хорошо работает и при взаимном недоверии отправителя и получателя.

Требования

Любая стегосистема должна отвечать следующим требованиям:
  • Свойства контейнера должны быть модифицированы, чтобы изменение невозможно было выявить при визуальном контроле. Это требование определяет качество сокрытия внедряемого сообщения: для обеспечения беспрепятственного прохождения стегосообщения по каналу связи оно никоим образом не должно привлечь внимание атакующего.
  • Стегосообщение должно быть устойчиво к искажениям, в том числе и злонамеренным. В процессе передачи изображение (звук или другой контейнер) может претерпевать различные трансформации: уменьшаться или увеличиваться, преобразовываться в другой формат и т. д. Кроме того, оно может быть сжато, в том числе и с использованием алгоритмов сжатия с потерей данных.
  • Для сохранения целостности встраиваемого сообщения необходимо использование кода с исправлением ошибки.
  • Для повышения надежности встраиваемое сообщение должно быть продублировано.

Приложения

В настоящее время можно выделить три тесно связанных между собой и имеющих одни корни направления приложения стеганографии: сокрытие данных (сообщений), цифровые водяные знаки и заголовки.
Сокрытие внедряемых данных, которые в большинстве случаев имеют большой объем, предъявляет серьезные требования к контейнеру: размер контейнера в несколько раз должен превышать размер встраиваемых данных.
Цифровые водяные знаки используются для защиты авторских или имущественных прав на цифровые изображения, фотографии или другие оцифрованные произведения искусства. Основными требованиями, которые предъявляются к таким встроенным данным, являются надежность и устойчивость к искажениям.
Цифровые водяные знаки имеют небольшой объем, однако, с учетом указанных выше требований, для их встраивания используются более сложные методы, чем для встраивания просто сообщений или заголовков.
Третье приложение, заголовки, используется в основном для маркирования изображений в больших электронных хранилищах (библиотеках) цифровых изображений, аудио- и видеофайлов.
В данном случае стеганографические методы используются не только для внедрения идентифицирующего заголовка, но и иных индивидуальных признаков файла.
Внедряемые заголовки имеют небольшой объем, а предъявляемые к ним требования минимальны: заголовки должны вносить незначительные искажения и быть устойчивы к основным геометрическим преобразованиям.
external image stegano_02.gif

Ограничения

Каждое из перечисленных выше приложений требует определенного соотношения между устойчивостью встроенного сообщения к внешним воздействиям (в том числе и стегоанализу) и размером самого встраиваемого сообщения.
Для большинства современных методов, используемых для сокрытия сообщения в цифровых контейнерах, имеет место следующая зависимость надежности системы от объема встраиваемых данных (рис. 2).
external image stegano_03.gif
Данная зависимость показывает, что при увеличении объема встраиваемых данных снижается надежность системы (при неизменности размера контейнера). Таким образом, используемый в стегосистеме контейнер накладывает ограничения на размер встраиваемых данных.

Контейнеры

Существенное влияние на надежность стегосистемы и возможность обнаружения факта передачи скрытого сообщения оказывает выбор контейнера.
Например, опытный глаз цензора с художественным образованием легко обнаружит изменение цветовой гаммы при внедрении сообщения в репродукцию "Мадонны" Рафаэля или "Черного квадрата" Малевича.
По протяженности контейнеры можно подразделить на два типа: непрерывные (потоковые) и ограниченной (фиксированной) длины. Особенностью потокового контейнера является то, что невозможно определить его начало или конец. Более того, нет возможности узнать заранее, какими будут последующие шумовые биты, что приводит к необходимости включать скрывающие сообщение биты в поток в реальном масштабе времени, а сами скрывающие биты выбираются с помощью специального генератора, задающего расстояние между последовательными битами в потоке.
В непрерывном потоке данных самая большая трудность для получателя - определить, когда начинается скрытое сообщение. При наличии в потоковом контейнере сигналов синхронизации или границ пакета, скрытое сообщение начинается сразу после одного из них. В свою очередь, для отправителя возможны проблемы, если он не уверен в том, что поток контейнера будет достаточно долгим для размещения целого тайного сообщения.
При использовании контейнеров фиксированной длины отправитель заранее знает размер файла и может выбрать скрывающие биты в подходящей псевдослучайной последовательности. С другой стороны, контейнеры фиксированной длины, как это уже отмечалось выше, имеют ограниченный объем и иногда встраиваемое сообщение может не поместиться в файл-контейнер.
Другой недостаток заключается в том, что расстояния между скрывающими битами равномерно распределены между наиболее коротким и наиболее длинным заданными расстояниями, в то время как истинный случайный шум будет иметь экспоненциальное распределение длин интервала. Конечно, можно породить псевдослучайные экспоненциально распределенные числа, но этот путь обычно слишком трудоемок. Однако на практике чаще всего используются именно контейнеры фиксированной длины, как наиболее распространенные и доступные.
Возможны следующие варианты контейнеров:
  • Контейнер генерируется самой стегосистемой. Примером может служить программа MandelSteg, в которой в качестве контейнера для встраивания сообщения генерируется фрактал Мандельброта. Такой подход можно назвать конструирующей стеганографией.
  • Контейнер выбирается из некоторого множества контейнеров. В этом случае генерируется большое число альтернативных контейнеров, чтобы затем выбрать наиболее подходящий для сокрытия сообщения. Такой подход можно назвать селектирующей стеганографией. В данном случае при выборе оптимального контейнера из множества сгенерированных важнейшим требованием является естественность контейнера. Единственной же проблемой остается то, что даже оптимально организованный контейнер позволяет спрятать незначительное количество данных при очень большом объеме самого контейнера.
  • Контейнер поступает извне. В данном случае отсутствует возможность выбора контейнера и для сокрытия сообщения берется первый попавшийся контейнер, не всегда подходящий к встраиваемому сообщению. Назовем это безальтернативной стеганографией.

Источники информации:

Джонсон, Нил; Duric, Zoran; Jajodia, Sushil (2001). Информационное сокрытие: steganography и создание водяных знаков: нападения и контрмеры.
Интернет -ресурсы: http://citforum.ru/internet/securities/stegano.shtml

Дополнительная информации по теме:

  • Сеть Центр Steganography. Все о Сети Steganography: обучающие программы, много статей об этом предмете (Беспроводные ЛВС, VoIP - Steganophony, протоколы TCP/IP и механизмы, Маршрутизатор Steganographic, Межпротокол steganography), конференции, инструменты и библиография. Кшиштофом Сзцзыпиорским и Войцехом Мэзурчиком от Network Security Group. (на английском)
  • Анализ steganography заявления. Практические примеры работ