Стегосистемы с секретным ключом
Следуя закону Керкхоффса, безопасность системы должна основываться на некоторой секретной информации, без знания которой нельзя извлечь из контейнера секретную информацию. В стегосистемах такая информация называется стегоключом. Отправитель, встраивая секретное сообщение в выбранный контейнер с, использует секретный стегоключ k. Если используемый в стеганографическом преобразовании ключ k известен получателю, то он сможет извлечь скрытое сообщение из контейнера. Без знания такого ключа любой другой пользователь этого сделать не сможет.
Определение 20.2
Стегосистемой с секретным ключом называется совокупность X=<C,М,К,D,E>, где С — множество возможных контейнеров; М — множество секретных сообщений, причем |C|³|М|; К — множество секретных ключей; EК:C´M´К®С и DК:C´К®M — стеганографические преобразования со свойством DК(EК(c,m,k),k)=m для любых mÎМ, сÎС и kÎK.
Данный тип стегосистем предполагает наличие безопасного канала для обмена стегоключами.
Иногда стегоключ k вычисляют с помощью секретной хеш-функции Hash, используя некоторые характерные особенности контейнера: k = Hash (особенности контейнера). Если стеганографическое преобразование Е не изменяет в результирующей стеганограмме выбранные особенности контейнера, то получатель также сможет вычислить стегоключ (хотя и в этом случае защита зависит от секретности функции Hash, и таким образом, снова нарушается принцип Керкхоффса). Очевидно, что для достижения адекватного уровня защиты, такую особенность в контейнере необходимо выбирать очень аккуратно.
В некоторых алгоритмах при извлечении скрытой информации дополнительно требуются сведения об исходном контейнере или некоторых других данных, которые отсутствует в стеганограмме. Такие системы представляют ограниченный интерес, поскольку они требуют передачи первоначального вида контейнера, что эквивалентно традиционной задаче ключевого обмена. Подобные алгоритмы могут быть отмечены как частный случай стегосистем с секретным ключом, в которых K=C или K=C´K', где K' — означает дополнительный набор секретных ключей.
Стегосистемы с открытым ключом
Стеганографические системы с открытым ключом не нуждаются в дополнительном канале ключевого обмена. Для их функционирования необходимо иметь два стегоключа: один секретный, который пользователь должен хранить в тайне, а второй — открытый, который хранится в доступном для всех месте. При этом открытый ключ используется в процессе сокрытия информации, а секретный — для ее извлечения.
Определение 20.3
Стегосистемой с открытым ключом называется совокупность X=<C,М,К,D,E>, где С — множество возможных контейнеров; М — множество секретных сообщений, причем |C|³|М|; К=(k1, k2) — множество пар стегоключей (открытый ключ k1 используется для сокрытия информации, а секретный k2 — для извлечения); EК:C´M´k1®С и DК:C´k2®M — стеганографические преобразования со свойством DК(EК(c,m,k1), k2) = m для любых mÎМ, сÎС.
Простым способом реализации подобных стегосистем является использование криптосистем с открытым ключом. Стегосистемы с открытыми ключами используют тот факт, что функция извлечения скрытой информации D может быть применима к любому контейнеру вне зависимости от того, находится ли в нем скрытое сообщение или нет. Если в контейнере отсутствует скрытое сообщение, то всегда будет восстанавливаться некоторая случайная последовательность. Если эта последовательность статистически не отличается от шифртекста криптосистемы с открытым ключом, тогда в безопасной стегосистеме можно скрывать полученный таким образом шифртекст, а не открытый.
Смешанные стегосистемы
В большинстве приложений более предпочтительными являются безключевые стегосистемы, хотя такие системы могут быть сразу скомпрометированы в случае, если противник узнает применяемое стеганографическое преобразование. В связи с этим в безключевых стегосистемах часто используют особенности криптографических систем с открытым и (или) секретным ключом. Рассмотрим один такой пример.
Для обмена секретными ключами стегосистемы введем понятие протокола, реализованного на основе криптосистемы с открытыми ключами. Сначала Алиса генерирует случайную пару открытого и секретного ключа, а затем передает открытый ключ Бобу по скрытому каналу, созданному безключевой системой. Ни Боб, ни Вили, ведущий наблюдение за каналом, не могут определить, какая информация передавалась в скрытом канале: ключ или же случайные биты. Однако Боб может заподозрить, что стеганограмма от Алисы может содержать ее открытый ключ и постарается его выделить. После этого он шифрует с помощью выделенного ключа секретный стегоключ k, проводит сокрытие результата шифрования в контейнер и его передачу Алисе. Вили может попытаться извлечь секретную информацию из стеганограммы, но получит только случайный шифртекст. Алиса извлекает из стеганограммы скрытую криптограмму и расшифровывает ее своим секретным ключом. Таким образом, стороны обменялись секретным стегоключом k для совместного использования.
Отметим, что рассмотренная стегосистема не лишена недостатков и приведена лишь в качестве примера смешанной системы.