Обеспечение требуемой стойкости может быть получено при переходе от детерминированных стегосистем к недетерминированным (вероятностным). Рассмотрим один из возможных вариантов построения вероятностной стегосистемы, предложенный в [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 должна быть не меньше энтропии скрываемых сообщений.Определим совместную энтропию H
0 между множествами C и CS
H
0 = H(C,CS) = H(C) + H(CS/C). (4.18)
Так как и H
(CS) >= H(C), то
H
(CS/C) >= H(C/CS).
Для стойкой стегосистемы получим нижнюю границу величины совместной энтропии
H
0 >= H(C) + H(C/CS).
Используя выражение (4.17), запишем
H
0 >= 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]:
.