Научная статья на тему 'Реализация системы контроля доступа на стороне сервера видеовещания'

Реализация системы контроля доступа на стороне сервера видеовещания Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
133
10
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕРВЕР ВЕЩАНИЯ / БЕЗОПАСНОСТЬ / VIDEO-ON-DEMAND

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Матлаш Александр Николаевич, Попов Дмитрий Анатольевич, Блохина Марина Юрьевна, Крушиневский Евгений Александрович

В данной статье описан механизм, позволяющий осуществлять контроль доступа к фрагментам видеоматериалов, передаваемых с помощью сервера вещания видео. В статье представлена архитектура разработанной системы защиты видеоконтента с описанием основных компонентов системы. Стоит отметить, что подходы к реализации системы защиты видео основаны на использовании коммерческого сервера вещания Wowza Streaming Server.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Матлаш Александр Николаевич, Попов Дмитрий Анатольевич, Блохина Марина Юрьевна, Крушиневский Евгений Александрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Реализация системы контроля доступа на стороне сервера видеовещания»

Реализация системы контроля доступа на стороне сервера

видеовещания

Матлаш А. Н.1, Попов Д. А.2, Блохина М. Ю.3, Крушиневский Е. А.4

Матлаш Александр Николаевич /Matlash Alexandr Nikolaevich - магистрант, факультет прикладной математики - процессов управления, Санкт-Петербургский государственный университет;

2Попов Дмитрий Анатольевич /Popov Dmitry Anatolevich - магистрант;

3Блохина Марина Юрьевна /Blokhina Marina Yuryevna - магистрант,

факультет технологического менеджмента и инноваций, Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики;

4Крушиневский Евгений Александрович /Krushinevskiy Evgeniy Aleksandrovich - магистрант, факультет прикладной математики - процессов управления, Санкт-Петербургский государственный университет, г. Санкт-Петербург

Аннотация: в данной статье описан механизм, позволяющий осуществлять контроль доступа к фрагментам видеоматериалов, передаваемых с помощью сервера вещания видео. В статье представлена архитектура разработанной системы защиты видеоконтента с описанием основных компонентов системы. Стоит отметить, что подходы к реализации системы защиты видео основаны на использовании коммерческого сервера вещания Wowza Streaming Server. Ключевые слова: сервер вещания, безопасность, video-on-demand.

1. Введение

С развитием технологий передачи медиаконтента возросла необходимость в механизме защиты передаваемых данных. Подобного рода механизм должен предоставлять ряд возможностей, таких как выборочный доступ к предоставляемым материалам, аутентификация пользователей, защита от копирования и др. [2]. Необходимость защиты данных может быть обусловлена множеством причин, в общем случае, зависящих от конкретной задачи. В качестве примеров можно привести необходимость соблюдения авторских прав на предоставляемые материалы, осуществление контроля за предоставляемыми материалами на коммерческой основе (подписки) и другие.

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

Следует отметить, что реализованные средства направлены на осуществления контроля доступа к видеофрагментам, транслируемым по типу VOD [1]. Так называемые streaming-трансляции в данной статье не рассматриваются.

2. Описание архитектуры системы предоставления видеоматериалов

В системе предоставления видеоматериалов для пользователей используются следующие компоненты.

Сервер вещания - один из основных компонентов системы. Предоставляет средства для доставки видео конечным потребителям с возможностью просмотра «на лету». Предоставление видео осуществляется путем создания т.н. точек трансляции -ссылок, обращаясь к которым можно получить необходимые данные. Помимо этого, сервер вещания задействован в процедуре осуществления контроля доступа к предоставляемым видеофрагментам. В качестве решения выступает проприетарное ПО Wowza Media Streaming Server [3].

Хранилище данных - для хранения видео и субтитров, предназначенных для трансляции.

Веб-сервер - компонент на базе платформы Node.js, отвечающий за предоставление user-интерфейса для осуществления процедуры регистрации

пользователей, аутентификации, авторизации, предоставления ссылок на видеоматериалы. Помимо этого, так же, как и сервер вещания, участвует в осуществлении контроля доступа.

База данных - документоориентированная MongoDb база, в которой хранятся пользовательские данные (email, захешированные пароли), данные о видеоматериалах (названия, ссылки), а также так называемые сценарии доступа (более подробно - далее в работе).

Клиентская часть. Основной элемент - видеоплеер Dash.js [5], построенный на базе HTML5 [4] и умеющий работать с предоставляемыми сервером вещания потоками данных, в частности с технологией адаптивного вещания MPEG-DASH (с подробным описанием протоколов предоставления видео, а также с описанием технологией адаптивного вещания можно ознакомиться по ссылке [6]).

3. Система контроля доступа к видеофрагментам.

Существует несколько способов осуществления такого рода контроля [7]. К их числу можно отнести такие подходы, как деление транслируемого файла на меньшие фрагменты с созданием для каждого отдельной точки трансляции (и собственной ссылки для получения трансляции) и последующим предоставлением определенному пользователю набора определенных ссылок, а также, в случае предоставления определенных функциональных возможностей медиасервером, реализация логики контроля исключительно на программном уровне.

При учете факта использования в существующей системе предоставления видеоматериалов, для которой и решается задача реализации системы контроля доступа, коммерческого решения Wowza Media Streaming Server, а также с учетом предоставляемых данным решением возможностей, был осуществлен выбор в пользу второго метода.

К функциональности, предоставляемой сервером вещания, следует отнести возможность программной обработки поступающих запросов на трансляцию с использованием server-side API, а также наличие методов, позволяющих применять набор определенных параметров при осуществлении процесса трансляции (в частности, возможность указания времени начала и длительности видео при его трансляции). Данные методы были использованы при реализации собственного модуля для сервера-вещания, расширяющего его базовые функциональные возможности.

Стоит отметить, что разработанное решение, нацеленное на осуществление контроля доступа, применимо не только к Wowza Media Streaming Server, но и к любому серверу вещания, при условии поддержки последним вышеуказанных функциональных возможностей.

4. Реализация

Исходя из вышеуказанного, задача осуществления контроля доступа к предоставляемым видеофрагментам может быть сведена к задаче формирования «сценариев» прав доступа и их применения при осуществлении процедуры трансляции.

Под «сценариями» подразумевается набор определенных параметров, применяемых к трансляции, в частности параметр, определяющий временную точку видеофайла, с которой будет начата трансляция, а так же длительность фрагмента видеофайла относительно точки начала.

Данные сценарии хранятся в базе данных, каждому из которых ставится в соответствие определенный ключ.

Рис. 1. Схема процедуры аутентификации и авторизации

Пользователь отправляет запрос к веб-серверу, производится процедура аутентификации (1-2). После аутентификации пользователь получает список доступных видео (3). Пользователь выбирает видео (4), веб-сервер отправляет запрос к базе данных для получения ключа сценария, описывающего права доступа для данного пользователя к выбранному видео (5). После этого на веб-сервере генерируется случайная строка, затем к полученной строке и полученному ключу применяется один из алгоритмов шифрования (например, SHA-1) (6). Полученный hash добавляется в коллекцию 'Active_hashes' базы данных (7), а так же отправляется пользователю внутри ссылки на запрашиваемое видео (8). Пользователь обращается к серверу вещания по полученной ссылке (9). Сервер вещания обрабатывает запрос, получает в качестве параметра hash, осуществляет поиск данного hash-a в коллекции Active_hashes, и, в случае нахождения, получает сценарий с набором параметров доступа. После этого запись, содержащая данный хеш удаляется из базы. Тем самым, по одному hash-у можно обратиться лишь единожды. При каждом новом запросе пользователя генерируется новый hash. В случае если злоумышленник перехватит данный hash, при условии того, что пользователь уже обратился к серверу вещания, он не сможет получить данные.

Заключение

Целью данной работы являлось описание одного из возможных архитектурных решений, направленных на решение задачи ограничения доступа к фрагментам видео.

В статье были описаны основные компоненты реализованной системы предоставления видеоматериалов. Описаны некоторые из возможных подходов, которые могут применяться для решения задачи осуществления контроля доступа к фрагментам видео с учетом использования в системе предоставления видеоматериалов коммерческого программного обеспечения Wowza Streaming Server.

На основе метода, заключающегося в использовании предоставляемых сервером вещания функциональных возможностей, а именно Server-Side API, был реализован собственный компонент на языке Java. Данный модуль осуществляет обработку входящих запросов и применяет к трансляции набор параметров, отвечающих за время начала и длительности трансляции видео в зависимости от конкретного пользователя. Разработанный компонент планируется к внедрению в существующую систему предоставления видеоматериалов.

Литература

1. Cymbalak D., Jakab F., Michalko M. Advanced multimedia solution for interactive teaching via whiteboards over IP networks Cyber Journals: Multidisciplinary Journals in Science and Technology, Journal of Selected Areas in Software Engineering (JSSE). November Edition, 2012.

2. Lin E., Cook G., Salama P., Delp E. An overview of security issues in streaming video, Proceedings of the International Conference on Information Technology: Coding and Computing, 2001. 345 с.

3. Meyn A. Browser to browser media streaming with HTML5. Kongens Lyngby, 2012.

4. Wowza Media Systems, Inc. Wowza Media Server 3 - Overview. [Электронный ресурс]. URL: http://www.wowza.com/resources/WowzaMediaServer3/Overview.pdf.

5. Dash.js player. [Электронный ресурс]. URL: https://github.com/Dash-Industry-Forum/dash.js/.

6. Begen Ali, Akgul Tankut, Baugher Mark. Watching Video over the Web: Part 1: Streaming Protocols, IEEE Internet Computing. V. 15. № 2, 2011. С. 53-63.

7. Michalko M., Bobko T., Fogas P. Protected streaming of video content to mobile devices. Cyber Journals: Multidisciplinary Journals in Science and Technology. Journal of Selected Areas in Telecommunications (JSAT). Vol. 4. № 14, 2014.

i Надоели баннеры? Вы всегда можете отключить рекламу.