Программная система для встраивания цифровых водяных знаков в видеофайлы

Д. Э. Баев1, А. В. Боднар2
1студент кафедры программной инженерии
ГОУВПО «Донецкий Национальный Технический Университет», г. Донецк
azo.cw@yandex.ru
2кандидат экономических наук, доцент кафедры компьютерного моделирования и дизайна
ГОУВПО «Донецкий Национальный Технический Университет», г. Донецк,
linabykova13@ya.ru

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

I. Введение

Авторское право и копирайт, на сегодняшний день не найдётся человека, который бы не знал эти понятия. Крайне важно предоставлять средства защиты авторского права на коммерческую деятельность организаций.
Для таких целей выступает электронная цифровая подпись - реквизит электронного документа, полученный в результате криптографического преобразования информации с использованием закрытого ключа подписи и позволяющий проверить отсутствие искажения информации в электронном документе с момента формирования подписи (целостность), принадлежность подписи владельцу сертификата ключа подписи (авторство), а в случае успешной проверки подтвердить факт подписания электронного документа [1]. Однако электронная цифровая подпись не является панацеей от всех алгоритмов обхода защиты авторского права. В качестве альтернативы предлагается объединить преимущества электронной цифровой подписи и стеганографии и спроектировать приложение для защиты авторского права для видеофайлов.
Стеганография - это метод передачи сообщений, который собственно скрывает само наличие связи. В отличие от криптографии, где заинтересованное лицо точно может определить является ли передаваемое сообщение зашифрованным текстом, методы стеганографии позволяют встраивать секретные сообщения в безобидные послания так, чтобы невозможно было заподозрить существование встроенного тайного послания [1, 2].
В настоящее время в связи с бурным развитием компьютерных технологий появилось новое направление стеганографии - компьютерная (цифровая) стеганография, которая направлена на встраивание сообщений в различные типы файлов: текстовые, графические, аудио, видео и др. В связи с возрастанием роли глобальных компьютерных сетей цифровая стеганография приобретает большую значимость [2]. Анализ источников сети Интернет позволяет сделать вывод, что в настоящий момент цифровая стеганография используется для следующего:

  • скрытая передача сообщений, используемая для различных целей;
  • защита конфиденциальной информации от несанкционированного доступа;
  • преодоление систем мониторинга и управления сетевыми ресурсами;
  • камуфлирование программного обеспечения;
  • защита авторского права на определённые виды интеллектуальной собственности.

Актуальной, на данный момент, является и разработка новых методов компьютерной стеганографии, основанные на особенностях представления информации в цифровом виде. Часть этих методов использует модификацию палитры, неточность устройств оцифровки, избыточность аудио- и видеофайлов и другие подходы.
Защита видеофайлов авторским правом актуальна в связи с размещением видеофайлов в сети Интернет, что даёт возможность несанкционированного скачивания, изменения, хищения информации, заложенной в видеофайле.
Целью работы являются создание программной системы, выполняющей стеганографию видеофайлов с предварительным шифрованием стегосообщения, а также получение электронной цифровой подписи изменённого файла.

II. Характеристика популярных существующих программных средств

Разрабатываемая программная система включает в себя инструментарии по защите авторских прав и стеганографии видеофайлов.
На текущий момент не существует программного обеспечения для встраивания цифровых водяных знаков в видеофайлы, все готовые решения направлены на использования форматов изображений и аудиофайлов в качестве стегоконтейнера. Яркие примеры таких программных средств: Xiao Steganography и DeepSound. Однако в разработке находится программное обеспечение StegoStick, которое должно позволить встроить информацию в видеофайл формата AVI. Особенностями данного программного обеспечения можно считать: открытый исходный код; наличие выбора алгоритма шифрования (AES, DES, Triple DES, RSA); простой и понятный пользовательский интерфейс; поддержка различных форматов изображений.
Однако на данный момент программное обеспечение StegoStick имеет и ряд недостатков, среди которых: необходимость наличия предустановленной библиотеки java runtime library, а также по одному формату для аудио- и видеофайлов (WAV и AVI, соответственно).
Получение электронной цифровой подписи должно быть уникальным для каждого отдельно взятого предприятия, организации, структурного подразделения и т.д. Создание файла лицензионного сертификата является коммерческой тайной для таких задач, исходя из чего и найти в открытом доступе программное обеспечение для создания электронной цифровой подписи не является возможным. Однако можно воспользоваться специализированными источниками, если таковые предусмотрены, конкретного предприятия, например, Рутокен ЭЦП 2.0 или JaCarta-2 SE.

III. Проектирование программной системы для встраивания цифровых водяных знаков в видеофайлы

Смоделируем бизнес-процессы программной системы, чтобы увидеть, как система должна себя вести на различных этапах. Принципов построения моделей довольно много, однако среди них есть подходящая методология, проектирование которой, подскажет в дальнейшем правильное развитие процессов разработки и модернизации программной системы - методология IDEF3 [3]. Модель, построенная по принципам данной методологии, состоящей из графических схем, облегчает анализ системы (см. рис. 1).

Picture 1

Рис.1. Модель безнес-процессов программной системы по методологии IDEF3

Следующее, что следует описать - диаграмму вариантов использования (Use Case), так как она отражает принципы работы приложения с точки зрения пользователя, какие модули ему доступны и как к ним следует обращаться. Сама диаграмма вариантов использования описывает взаимоотношения и зависимости между группами вариантов использования и действующих лиц, участвующими в процессе, что является типичным описанием взаимодействия пользователя и разрабатываемой программной системы. На рис. 2 показана диаграмма вариантов использования, описывающая взаимодействия пользователя с программной системой в рабочем пространстве защиты авторского права видеофайла. В данном случае пользователю предоставляется возможность указания видеофайла и запуска процесса защиты. Объект диаграммы «Защитить видеофайл» является основным алгоритмом режима защиты авторского права видеофайла, содержащем и поочерёдно запускающим остальные блоки. На рис. 3 изображена диаграмма вариантов использования, описывающая взаимодействия пользователя с программной системой в рабочем пространстве проверки лицензии видеофайла. Также, как и с предыдущей диаграммой, в данном случае пользователю предоставляется возможность выбора необходимых для проверки авторского права файлов - видеофайл, авторское право которого необходимо проверить и лицензионный сертификат, прилагающийся к видеофайлу. Прецедент «Проверить лицензию видеофайла» является основным алгоритмом пространства проверки авторского права и разбивается на два других алгоритма - прецеденты «Проверить ЭЦП» и «Проверить копирайт». В зависимости от потребностей пользователя программная система может выполнять как оба алгоритма, так и только один алгоритм - проверка электронной цифровой подписи. Определить необходимый варианта алгоритма проверки пользователь может на форме с настройками.

Picture 2

Рис.2. Диаграмма вариантов использования. Режим защиты

Picture 3

Рис.3. Диаграмма вариантов использования. Режим проверки

IV. Проектирование программной системы для встраивания цифровых водяных знаков в видеофайлы

В данной статье будут рассмотрены только основные алгоритмы, связанные со встраиванием цифровых водяных знаков в видеофайлы и получением электронной цифровой подписи полученного видео. Все остальные алгоритмы, разработанные для реализации программной системы описаны в [7].
Алгоритмы модуля стеганографии
Из алгоритма, описанного на рис. 4, понятно, что программная система разрабатывается с уклоном сохранения параметров потока кадров оригинального видеофайла. Хорошим тоном считается после процесса стеганографии оставить исходные кодеки и частоту дискретизации для повышения эффективности алгоритмов стеганографии. При изменении данных параметров записанная информация в кадры видеофайла с помощью стеганографии может исказиться или вовсе не сохраниться.
На рис. 5 показан алгоритм стеганографии сохранённого кадра видеофайла в формате BMP с названием tmp_1. Данными алгоритмами подробно описан процесс встраивания байтов информации в байты изображения. С помощью наложения масок на определённые байты можно не беспокоиться, что произойдёт смещение или информация будет записана некорректно. Из-за того, что невозможно «на лету» изменять открытый файл изображения приходится дополнительно создавать новый и «переписывать» системную информацию.

Picture 4

Рис.4. Алгоритм обработки видеофайлов

Picture 5

Рис.5. Алгоритм стеганографии bmp

Алгоритмы модуля симметричного шифрования
Для повышения безопасности встраиваемого сообщения, в данном случае копирайт, в видеофайл - сообщение предварительно шифруется. Для шифрования такого рода сообщений принято использовать симметричные алгоритмы шифрования на рис. 6-7 показаны алгоритмы для зашифрования и расшифрования данных. Описанные алгоритмы подразумевают, что программная система уже сконфигурировала ключ (конфигурация выполняется при инициализации объекта класса с помощью подготовленного конструктора). Данные алгоритмы описывают каким образом будет зашифрован и расшифрован копирайт для видеофайла с использованием библиотеки Crypto и ее инструментальных средств. Среди режимов выполнения алгоритма симметричного шифрования AES, библиотекой Crypto предусмотрены ECB, CBC, CFB, OFB. В качестве режима шифрования для разрабатываемой программной системы был выбран CFB. Одним из преимуществ такого режима блочного алгоритма шифрования является то, что зашифрованное сообщение будет той же длины, что и исходное. Рассмотрим шифрование. Входом функции шифрования является регистр сдвига, который первоначально устанавливается в инициализационный вектор IV. Для левых J битов выхода алгоритма выполняется операция XOR с первыми J битами незашифрованного сообщения Р1 для получения первого блока зашифрованного сообщения С1. Кроме того, содержимое регистра сдвигается влево на J битов, и С1 помещается в правые J битов этого регистра. Этот процесс продолжается до тех пор, пока не будет зашифровано все сообщение. При дешифровании используется аналогичная схема, за исключением того, что для блока получаемого зашифрованного сообщения выполняется операция XOR с выходом алгоритма для получения незашифрованного блока [4].

Picture 6

Рис.6. Алгоритм симметричного расшифрования данных

Picture 7

Рис.7. Алгоритм симметричного зашифрования данных

Алгоритмы модуля асимметричного шифрования
Данный модуль содержит алгоритм получения хеша видеофайла для последующего создания электронной цифровой подписи (см. рис. 8), алгоритм сравнения 2-ух хешей, указанного видеофайла и записанной в файл лицензионного сертификата (см. рис. 9). Описанные алгоритмы предусматривают, что значения ключей, открытого и закрытого, уже определены - созданы заново или импортированы из директорий программной системы.
Суть данных алгоритмов заключается в использовании хеша видеофайла в качестве данных для электронной цифровой подписи. Активное обращение к библиотеке Crypto и её инструментальным средствам позволит использовать уже заготовленные алгоритмы работы по определенным стандартам, в данном случае используется стандарт PKCS#1 ревизии 1.5 [5, 6]. Использование таких модулей не только снизит возможные ошибки при шифровании, но также ускорит работу программной системы касательно выполнения своих задач.
На рис. 10 описан один из возможных алгоритмов хеширования видеофайла целиком. Количество считанных байт может варьироваться в зависимости от типа и размера файла. Метод update, как понятно из названия будет обновлять (дополнять) полученный на текущем этапе хеш. Алгоритмы, предложенные в модулях библиотеки Crypto пропускают динамическое количество байт файлов из-за чего невозможно получить одинаковое значение хеша файла, запустив алгоритм дважды.

Picture 8

Рис.8. Алгоритм получения хеша

Picture 9

Рис.9. Алгоритм сравнения двух хешей

Picture 10

Рис.10. Алгоритм хеширования файла

V. Заключение

Рассмотрены проблемы стеганографии и защиты авторского права видеофайлов в сети Интернет.
Сделан обзор существующего программного обеспечения для сокрытия информации в видеофайлах, который показал, что на данный момент в свободном доступе не существует программного обеспечения, удовлетворяющего требованиям стеганографии видеофайлов.
Разработано программное обеспечение для стеганографического сокрытия данных в видеофайлах с помощью метода LSB с предварительным шифрованием стегосообщения симметричным алгоритмом и последующим получением электронной цифровой подписи изменённого видеофайла, на базе которой конфигурируется файл лицензионного сертификата. Также реализованы алгоритмы проверки лицензии видеофайла.
Дальнейшее развитие данной программной системы для встраивания цифровых водяных знаков может быть развёрнуто в сторону усовершенствования разработанных программных модулей для стеганографии видеофайлов других форматов таких, как MKV, MOV, WMV, 3GP, FLV, SWF, RM (RA, RAM), VOB, IFO, M2V (M2P). Пристальное внимание может быть уделено форматам видео для размещения и передачи в сети Интернет, особенно форматам SWF и FLV; последний из которых был специально создан для сжатия видеопоследовательностей с целью минимизации размеров итоговых видеофайлов для последующего размещения на различных видеохостингах, как YouTube, RuTube, Google Video.

Литература

[1] Быков С.Ф. Основы стеганоанализа. Защита информации / С.Ф. Быков, О.В. Мотуз; под ред. С.Ф. Быков. — 3-е изд. М.: Бином-Пресс, 2000, 41 с.
[2] Барсуков В.С. Несколько слов о стеганографии. Специальная Техника / В.С. Барсуков, А.П. Романцов. — 4-е изд. СПб.: БХВ-Петербург, 1998, 26 с.
[3] Цуканова О.А. Методология и инструментарий моделирования бизнес-процессов: учебное пособие. СПб.: Университет ИТМО, 2015, 100 с.
[4] Баричев С. Г. Основы современной криптографии / С.Г. Баричев, В.В. Гончаров, Р.Е. Серов. М.: ДИАЛОГ-МИФИ, 2011, 175 с.
[5] ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. — URL: http://protect.gost.ru/v.aspx?control=7&id=139177
[6] Панасенко С.П. Алгоритмы шифрования. Специальный справочник / С.П, Панасенко. СПб.: БХВ-Петербург, 2009, 576 с.
[7] Баев Д.Э. Пояснительная записка к дипломному проекту бакалавра / Д.Э. Баев. 2021, 117 с.