Во многих случаях, наряду с шифрованием конфиденциальной информации, возникает потребность сделать незаметным сам факт передачи или хранения данных. Актуальность задачи напрямую связана с ростом конкурентной борьбы, промышленным шпионажем, возрастающим контролем государственных структур над электронными средствами связи, проникновением хакеров в базы данных.
Одним из наиболее эффективных способов противодействия такому вмешательству является сокрытие данных (стеганография) в массиве цифрового изображения. Изображение в этом случае будет представлять собой контейнер (носитель) для передачи или хранения секретных данных. При этом, доступ для просмотра изображения может быть открытым и не вызывать подозрений. Для хранения данных, в этом случае, могут использоваться не только центры данных (Data Center), но и обычные HTTP серверы. Передаваемое сообщение предварительно шифруется и преобразуется в бинарную последовательность. На следующем этапе бинарная последовательность встраивается в массив данных изображения. Размерность встраиваемых данных зависит от способа встраивания, объема и яркостных характеристик изображения-контейнера.
Попытки несанкционированного преобразования изображения-контейнера приводят к потере скрытых данных. Совместное использование стеганографического подхода и криптосистемы обеспечивает практически непреодолимый барьер взлому. Стойкость шифра к взлому определяется исключительно стойкостью (длинною) секретного ключа.
Наиболее известным способом является встраивание данных () в битовые плоскости изображения. Алгоритм встраивания основывается на свойствах визуального восприятия, и выполняется таким образом, чтобы внедряемые биты оставались бы незаметными при визуальном рассмотрении цифрового изображения. Обычно, для выполнения этого условия, данные встраиваются в битовую плоскость с наименьшей значимостью - 20. Объем Q встраиваемых данных можно подсчитать по формуле: Q=P*W*H/B символов, где P - число битовых плоскостей, используемых для встраивания, W и H - ширина и высота изображения в пикселах, соответственно, В - число бит на символ. Основное преимущество способа - простота реализации. Основной недостаток этого способа обусловлен ограниченным количеством битовых плоскостей и как следствие, детерминированностью встраивания. Последнее обстоятельство можно компенсировать путем перемешивания значений битовых плоскостей в зависимости от значений яркости изображения-контейнера, или в зависимости от другого критерия, связанного со свойствами изображения-контейнера.
Рис. 1. | Рис. 2. | Рис. 3. |
На рис. 1 представлена бинарная двумерная последовательность данных для сокрытия, а на рис. 2 и рис. 3 показаны примеры встраивания в битовые плоскости. В первом случае, для встраивания используется три битовых плоскости (по числу цветовых RGB компонент) наименьшего нулевого разряда 20, а во втором - битовые плоскости четырех младших разрядов, для каждой цветовой компоненты, соответственно. Из сравнения изображений рис. 2 и рис. 3 видно, что чем больше битовых плоскостей заминают встраиваемые данные, тем выше степень искажений, видимых глазу. Применение текстурных изображений, как контейнеров, позволяет оптимизировать соотношение между количеством встраиваемых данных и качеством визуального восприятия:
Встраиваемые данные, в этом изображении (рис. 4.), занимают пять битовых плоскостей, и составляют объем Q=30.7 Kb. Объем исходного изображения-контейнера равен 49.2 Kb. Коэффициент использования равен 62%. Значительный объем контейнера связан с непосредственным использованием BITMAP форматов типа BMP, TIFF, GIF и т.п. Если этот фактор окажется существенным, то можно воспользоваться структурным способом, представленным ниже.
Второй способ основывается на использовании внутренней структуры графических форматов. Структура графического формата представляет собой иерархию функциональных и информационных сегментов (полей) цифрового изображения. Секретные данные встраиваются в функциональные сегменты. Объем встраиваемых данных не связан с размерностью изображения-контейнера. Основное достоинство способа состоит в том, что в качестве контейнера могут использоваться практически любые структурированные данные, включая аудио файлы (например, mp3), формат PDF, ZIP и др. Пример встраивания в поле комментария (метка 0xFE) JPEG файла иллюстрируется рисунками рис. 5 и рис. 6.
Рис. 5. | Рис. 6. |
Еще один способ основан на принципах цифровой голографии. В изображение-контейнер встраиваются не непосредственно секретные данные, а их голограмма. Этот способ создает условную зависимость между видеоданными контейнера и встраиваемыми секретными данными и обладает наилучшей защищенностью к взлому. Применение голографического подхода, позволяет осуществлять встраивание срытых данных в обычные фотографии на бумажной или пластиковой основе. Для обнаружения и восстановления секретных данных требуется знание параметров создания голограммы. Недостатком является дополнительная процедура преобразования скрываемых данных в графический формат.
Рис. 7. | Рис. 7a. |
Рис. 8. | Рис. 8a. |
Наиболее целесообразно применять голографический подход для сокрытия изображений, восстановление которых допускает некоторую потерю (подобно JPEG) качества: образцы подписей, образцы отпечатков пальцев и т.п. На рис. 7 представлен контейнер со встроенным факсимильным образцом подписи, а на рис. 7а показан результат восстановления. Аналогичный вариант для сокрытия дактилоскопического отпечатка иллюстрируется рисунками рис. 8 и рис. 8a. На рис. 7a и рис. 8a, восстановленные образцы имеют зеркальное отображение, вызванное появлением вещественного и мнимого изображения при восстановлении голограммы. Вариант передачи фотографий в теле изображения-контейнера представлен на странице: передача фотографий секретных объектов в изображении-контейнере.