Вадим Грибунин - Цифровая стеганография
2. В стего S имеется сообщение М с энтропией H(М) > 0. Очевидно, что при наличии этой встроенной информации у нарушителя появляется отличная от нуля неопределенность относительно S, если известно С и неопределенность относительно С, если известно S: H(S/C)) > 0, H(C/S) > 0. Следовательно, взаимная информация между скрываемыми сообщениями и соответствующими контейнерами и стего уже не может быть равной нулю:
.
Поэтому,
. (4.11)
Это означает, что условие стойкости стегосистемы не обеспечивается. Можно показать, что необходимым и достаточным условием стойкости является:
H(S/C) = H(C/S) = 0. (4.12)
Поэтому в работе [2] делается вывод, что если нарушителю известны стегограммы и соответствующие им контейнеры, то стегосистема не может быть совершенной. В рамках теоретико-информационной модели рассматриваемая стегосистема в атаке нарушителя с известным контейнером не может скрыть факта передачи скрываемого сообщения. А из выражения (4.11) следует, что нарушитель также способен узнать если не полностью, то частично содержание этого сообщения: если , то при известных S и С неопределенность нарушителя об этом сообщении меньше его энтропии.
Обеспечение требуемой стойкости может быть получено при переходе от детерминированных стегосистем к недетерминированным (вероятностным). Рассмотрим один из возможных вариантов построения вероятностной стегосистемы, предложенный в [2]. В рассматриваемой вероятностной стегосистеме для выполнения необходимого и достаточного условия стойкости вида H(S/C) = H(C/S) = 0 обеспечивается неизвестность для нарушителя используемого контейнера. Для этого в модель стегосистемы вводится источник контейнеров CS, характеристики которого известны нарушителю. Для встраивания скрываемых сообщений из множества CS случайно и равновероятно выберем подмножество контейнеров С, которое назовем подмножеством действительных контейнеров: . Пусть выполняется условие H(СS) >= H(С) и вероятностные характеристики подмножества С отличаются от соответствующих характеристик множества CS. Потребуем, чтобы неопределенность нарушителя относительно действительных контейнеров при известном множестве CS была бы строго больше нуля: H(С/СS) > 0. Физически это может быть обеспечено, если выбор действительных контейнеров осуществляется с помощью случайного и равновероятного значения R, полученного с выхода генератора случайных чисел, как это показано на рис. 4.2.
Необходимая неопределенность относительно С достигается выбором каждого контейнера совершенно случайным образом и сохранением выбора в тайне. Примером такого процесса может быть взятие выборок из аналогового входного сигнала, такого как речь или видео. Погрешность квантователя обеспечивает необходимую неопределенность. Если изменения контейнера в процессе встраивания информации остаются в пределах погрешности квантователя, то такая манипуляция не может быть обнаружена.
Рис. 4.2. Стегосистема с рандомизированным выбором контейнера
Определим, что для рассматриваемой вероятностной стегосистемы основное условие стойкости выражается в виде
. (4.13)
Это означает, что неопределенность нарушителя относительно M не может быть уменьшена знанием S и CS, или M является независимым от S и CS.
Исследуем условия, при которых нарушитель не способен обнаружить изменения в контейнере, произошедшие при встраивании сообщения M с энтропией H(M), наблюдая стего. Для этого определим требуемую величину неопределенности нарушителя относительно контейнера H(C/S). Можно показать, что
(4.14)
При наихудшем случае противник способен полностью определить M из S и C: .
Следовательно, в общем случае выполняется
. (4.15)
Так как взаимная информация не может быть более величины H(M), неопределенность должна быть, по крайней мере, той же величины, чтобы сделать чтение сообщения невозможным.
В стойкой стегосистеме, нарушитель, наблюдая стего S, не должен получить информацию сверх той, которая ему известна априори из знания множества CS:
H(C/CS) = H(C/S), (4.16)
и, поэтому,
H(C/CS) >= H(M). (4.17)
Таким образом, для нарушителя, знающего характеристики множества CS, в стойкой стегосистеме неопределенность относительно подмножества действительных контейнеров C должна быть не меньше энтропии скрываемых сообщений.
Определим совместную энтропию H0 между множествами C и CS
H0 = H(C,CS) = H(C) + H(CS/C). (4.18)
Так как и H(CS) >= H(C), то
H(CS/C) >= H(C/CS).
Для стойкой стегосистемы получим нижнюю границу величины совместной энтропии
H0 >= H(C) + H(C/CS).
Используя выражение (4.17), запишем
H0 >= H(C) + H(M). (4.19)
Так как H(CS) >= H (C), то H(CS,S) >= H(C,S). Следовательно,
H(CS,S) >= H(C,S). (4.20)
В соответствии с выражением (4.15) получим, что граница может быть определена в виде:
H(CS,S) >= H(M). (4.21)
Сформируем заключение: при достижении нижней границы для H(C/S) (уравнение 4.15), нарушитель, знающий S и CS, не способен получить доступ к скрываемому в стего S сообщению M. Фундаментальное условие стойкости (4.13) может быть выполнено.
Рассмотрим условия, при которых нарушитель не способен определить ключ К стегосистемы. Потребуем, чтобы нарушитель, знающий S и CS, не мог получить никакой информации ни о ключе К, ни о сообщении М. Это может быть выражено в виде
I((K,М);(S,CS)) = H(K,М) — H((K,М)/(S,CS)) = (4.22)
H(K,М) — H(K/(S,CS)) — H(М/(S,CS,K)) = 0.
При знании ключа К, множества CS из стего S однозначно извлекается сообщение М:
H(М/(S,CS,K)) = 0,
Поэтому из выражения (4.22) получим
H(K/(S,CS) = H(K,М),
или
H(K/(S,CS) = H(М) + H(K/М) >= H(М), (4.23)
соответственно, так как H(K/М) >= 0.
Таким образом, для нарушителя неопределенность ключа стойкой стегосистемы должна быть не меньше неопределенности передаваемого скрытого сообщения. Это требование для совершенных стегосистем очень похоже на требование неопределенности ключа К для совершенных систем шифрования, для которых энтропия ключа К при перехваченной криптограмме Е должна быть не меньше энтропии шифруемого сообщения М [7]:
.
Делаем вывод, что действительный контейнер должен быть неизвестным для нарушителя, чтобы обеспечить теоретико-информационную стойкость стегосистемы. Нарушитель не способен ни обнаружить факт передачи скрываемого сообщения, ни читать его, если выполняются два условия: