Чтобы разобраться в данном вопросе, нужно обладать начальными знаниями в области криптографии. В этой статье я постараюсь простым языком разъяснить эти самые основы и наглядно показать, как работает шифрование в киноиндустрии.
В природе существует 2 вида шифрования - симметричный метод и ассиметричный. Согласно первому, данные шифруются и расшифровываются одним и тем же ключом. Представим на минуту, что наш фильм в формате DCP зашифрован именно таким способом, и нам необходимо показать его в кинотеатре. Мы спокойно отправляем фильм в кинозал и даже если его перехватят пираты, то открыть никак не смогут, он ведь зашифрован. Но сразу возникает проблема, а как же передать ключ? Ведь его могут перехватить также как и фильм. Вы можете сказать, что ключ можно передать при личной встрече. Да, можно, но теперь представьте, что для каждого кинотеатра вам придется лично привозить ключ. Удобно? Думаю, нет. В этом всем и заключается главная проблема симметричного шифрования.
С ассиметричным методом все намного интереснее, он предполагает использование двух ключей – публичного и приватного. Основной смысл алгоритма заключается в том, что принимающая сторона генерирует пару ключей. Отправитель получает публичный ключ, на его основе шифрует информацию, после чего расшифровка возможна только на принимающей стороне и только их приватным ключом, который хранится в секрете. Оба ключа связаны между собой сложной односторонней математической функцией и имея публичный ключ, мы никак не сможем получить приватный. Для более глубокого понимания ассиметричного алгоритма давайте сначала разберем очень простой пример, который отразит всю суть данного метода. Представим, что у нас есть фильм, который нужно передать в кинотеатр. Работники кинотеатра присылают нам обычный замок, ключ от которого есть только у них. Мы кладем носитель с нашим фильмом в кейс и запираем его замком, просто защелкнув его. Теперь никто, кроме сотрудников кинозала не смогут отпереть кейс, даже мы сами, ведь ключ есть только у них. Замок в данном случае – публичный ключ, а ключ от него – приватный.
Теперь, когда мы разобрались в основах, можно перейти к шифрованию, которое работает в кинематографе в настоящее время. Каждый производитель кино серверов для каждой определенной модели своего сервера генерирует 2 сертификата по стандарту X.509, публичный и приватный соответственно и маркирует их серийным номером. Приватный сертификат вшивается глубоко в недра сервера, где достать его невозможно, а публичный можно получить, запросив у производителя, либо на специализированных ресурсах. Расширение таких сертификатов .pem или .crt и внутри они выглядят следующим образом:
Изначально DCP шифруется обычным симметричным ключом, а уже сам этот ключ зашифровывается ассиметричным алгоритмом на основе публичного сертификата необходимого нам сервера. Симметричный ключ от нашего DCP, зашифрованный таким ассиметричным алгоритмом называется – Key Delivery Message (KDM), также обычно называют просто ключом, что не совсем правильно. Далее этот KDM отсылается в кинотеатр по электронной почте и закачивается в сервер, где он уже на основе своего приватного сертификата получает симметричный ключ от нашего фильма. Выглядит он как XML файл. Чтобы было более понятно, ниже представлена схема:
При генерации KDM также указывается временной период, в течение которого сервер сможет расшифровывать DCP. По истечении этого времени показ будет невозможен до загрузки нового KDM, с нужными датами. Это делается специально для того, чтобы создатели фильма могли регулировать показ в кинотеатрах. Также существует Distribution KDM – технически обычный KDM, только сгенерированный не для кино сервера, а для оборудования по мастерингу DCP. Предназначен он для того, чтобы дистрибьюторы могли расшифровывать на своем оборудовании фильм, и могли внести какие либо правки.
Думаю, теперь стало ясно, что если Вы хотите заказать зашифрованный DCP, то будьте готовы к тому, что придется заказывать генерацию ключей для каждого кино сервера, на котором планируется показ. При этом Вы сами, без помощи дистрибьютора, никак не сможете воспроизвести пакет DCP.
Автор статьи: Андрей Сальников
При копировании материалов статьи – активная ссылка на сайт DCP3D.RU обязательна