СПОСОБ ЗАЩИТЫ, СПОСОБ РАСШИФРОВАНИЯ, НОСИТЕЛЬ ИНФОРМАЦИИ И ТЕРМИНАЛ ДЛЯ СПОСОБА ЗАЩИТЫ
SECURITY METHOD, DECODING METHOD, DATA MEDIUM AND TERMINAL FOR SECURITY METHOD

Изобретение относится к способу защиты передачи мультимедийного содержимого или управляющего слова между процессором безопасности и терминалом. Задачей изобретения также является способ расшифровки мультимедийного содержимого или управляющего слова, а также носитель информации и терминал для реализации этого способа защиты.
Термин "мультимедийное содержимое" в этом документе обозначает содержимое, которое должно быть отображено на экране и/или воспроизведено посредством громкоговорителей. Обычно мультимедийное содержимое представляет собой последовательность аудиовизуальной программы, такой как телевизионная передача или фильм.
Для защиты передачи мультимедийного содержимого на терминалы по сети общего пользования мультимедийное содержимое зашифровывают с помощью управляющего слова, а затем передают по сети общего пользования.
Более конкретно, управляющее слово - это слово, закодированное несколькими информационными битами, используемое для шифрования шифрпериода мультимедийного содержимого. Шифрпериод - это период мультимедийного содержимого, которое зашифровывают с помощью одного и того же управляющего слова, и в течение которого права доступа к мультимедийному содержимому не изменяют.
Здесь термины "скремблировать" и "шифровать" рассматриваются как синонимы. Это верно и для терминов "дескремблировать" и "расшифровывать".
Для защиты передачи управляющих слов на терминалы через сеть общего доступа эти управляющие слова перед передачей также зашифровывают, например, с помощью ключа Ка подписки.
Процессор безопасности - это процессор, который обрабатывает конфиденциальную информацию, такую как криптографические ключи, или выполняет криптографические алгоритмы. Для того чтобы сохранить конфиденциальность этой информации, такой процессор разрабатывают так, чтобы он был устойчивым по отношению к попыткам хакерских атак, насколько это возможно. Поэтому он является более устойчивым к этим атакам, чем другие компоненты терминала. Во многих приложениях этот процессор безопасности является съемным, т.е. его можно периодически легко ставить и удалить из терминала. В этом случае он часто принимает форму чип-карты.
В контексте шифрования мультимедийного содержимого процессор безопасности содержит секретную информацию, позволяющую расшифровывать мультимедийное содержимое, полученное терминалом. Более конкретно, имеется два возможных режима функционирования этого процессора безопасности:
- либо процессор безопасности сам расшифровывает мультимедийное содержимое и передает расшифрованное мультимедийное содержимое на терминал,
- либо процессор безопасности расшифровывает управляющее слово и передает расшифрованное управляющее слово на терминал.
Если не принимается никаких мер предосторожности, то расшифрованное мультимедийное содержимое или расшифрованное управляющее слово передают в открытом или расшифрованном виде от процессора безопасности на терминал.
Термин "открытый" или "в открытом виде" обозначает состояние порции информации, соответствующее тому состоянию, которое было перед его скремблированием или зашифрованием с помощью секретных управляющих слов или секретных ключей.
Открытое мультимедийное содержимое или открытое управляющее слово, передаваемые между процессором безопасности и терминалом, являются уязвимыми. Были предложены атаки, использующие эту уязвимость. Например, было предложено перехватывать открытое управляющее слово на этом интерфейсе, а затем незаконно транслировать его на другие терминалы.
Для преодоления этого недостатка уже было предложено зашифровывать мультимедийное содержимое или управляющее слово, передаваемое от процессора безопасности на терминал.
Таким образом, имеются способы защиты передачи мультимедийного содержимого или управляющего слова между процессором безопасности и терминалом, в которых:
c
c
- процессор безопасности строит текущий сеансовый ключ SK путем расширения главного ключа SK_root как функции параметра P, переданного терминалом,
c
c
- процессор безопасности расшифровывает мультимедийное содержимое или управляющее слово, а затем зашифровывает расшифрованное мультимедийное содержимое или управляющее слово с помощью текущего сеансового ключа SK и, наконец, передает мультимедийное содержимое или управляющее слово, зашифрованное с помощью текущего сеансового ключа SK на терминал, и
c
<mrow><msubsup><mi>C</mi><mi>с</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
- терминал расшифровывает мультимедийное содержимое или управляющее слово, зашифрованное с помощью построенного ключа SK с использованием секретного кода
, чтобы получить открытое мультимедийное содержимое или открытое управляющее слово.
c
Например, способ такого типа описан в патентной заявке ЕР 1862096. В этом способе известного уровня техники параметр P представляет собой идентификатор терминала.
c
c
Однако может случиться так, что безопасность текущего сеансового ключа SK может быть скомпрометирована. Например, были предприняты попытки осуществления хакерских атак, чтобы получить текущий сеансовый ключ SK и/или главный ключ SK_root, из которого он был получен.
Если была скомпрометирована безопасность текущего сеансового ключа, то его необходимо заменить. Замена сеансового ключа - это долгая и сложная процедура. Например, в системе, описанной в патентной заявке ЕР 1867096, требуется замена главного ключа SK_root в каждом процессоре безопасности и замена криптограммы SK_H* или SK_S* в каждом терминале. Эта замена может быть осуществлена только индивидуально путем обращения к каждому терминалу, а это очень длительный процесс, который не может быть выполнен одновременно для всех терминалов. Смена сеансового ключа также требует отправления нескольких сообщений одному и тому же терминалу, включая, в частности, сообщение, чтобы заменить криптограмму SK_H* или SK_S*, и сообщение, чтобы заменить ключ SK_root. Более того, сообщения, адресуемые индивидуально каждому терминалу, можно легко отфильтровать с тем, чтобы их удалить. Таким образом, злонамеренный пользователь может легко предотвратить обновление его сеансового ключа.
Известный уровень техники также включает в себя известные патенты ЕР 0889956А2 и US 2009/238363 A1.
В изобретении пытаются найти способ преодоления, по меньшей мере, одного из этих недостатков. Поэтому задача изобретения - способ защиты передачи мультимедийного содержимого или управляющего слова между процессором безопасности и терминалом, причем способ содержит следующие этапы:
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
i
i
i
c
- предварительно записывают в терминал несколько секретных кодов
, каждый секретный код
позволяет только расшифровать мультимедийное содержимое или управляющее слово, зашифрованное с помощью соответствующего сеансового ключа SK, полученного путем расширения ключа SK_root посредством параметра P, причем один из параметров P является параметром P,
c
- принимают параметр P посредством терминала в сообщении, также содержащем мультимедийное содержимое или управляющее слово, подлежащее расшифровке с помощью процессора безопасности, и
c
c
c
<mrow><msubsup><mi>C</mi><mi>c</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
- в ответ на прием параметра P посредством терминала из набора записанных секретных кодов выбирают секретный код
, подлежащий использованию для расшифровки мультимедийного содержимого или управляющего слова, зашифрованного с помощью секретного ключа SK, являющегося функцией параметра P или другого параметра, содержащегося в указанном сообщении.
В вышеупомянутом способе изменение сеансового ключа производится быстрее, так как параметр или параметры, используемые для обновления сеансового ключа и в процессоре безопасности, и в терминале, передают в одном и том же сообщении. Таким образом, для активации смены сеансового ключа достаточно единственного сообщения. Более того, эти параметры содержатся в том же сообщении, которое содержит зашифрованное мультимедийное содержимое или зашифрованное управляющее слово. Таким образом, если это сообщение уничтожат для недопущения смены сеансового ключа, то расшифровка мультимедийного содержимого становится невозможной, так как необходимое для этого скремблирование мультимедийное содержимое или зашифрованное управляющее слово не передают процессору безопасности.
i
Наконец, каждый терминал предварительно уже содержит несколько секретных кодов, что позволяет каждому из них расшифровывать мультимедийное содержимое или управляющее слово, зашифрованное с помощью сеансового ключа SK, отличного от других сеансовых ключей. Таким образом, сеансовый ключ может быть изменен незамедлительно, без какого-либо переходного периода, в течение которого предыдущий сеансовый ключ уже не применим, а новый сеансовый ключ еще не доступен.
Варианты осуществления этого способа защиты могут содержать одну или несколько из следующих отличительных признаков:
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
i
i
- каждый секретный код
представляет собой код, непосредственно исполняемый или интерпретируемый терминалом, этот терминал уже параметризован своим сеансовым ключом SK. так что его не надо снова параметризовать этим ключом SK во время его выполнения или интерпретации;
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
i
i
i
- каждый секретный код
представляет собой ключ SK или криптограмму этого ключа SK, делая возможным расшифровки мультимедийного содержимого или управляющего слова, зашифрованного с помощью ключа SK, когда его используют для параметризации алгоритма расшифровки, предварительно записанного в терминал;
c
- сообщение, содержащее параметр P, представляет собой ЕСМ-сообщение (управляющие сообщение на право доступа);
c
c
- процессор безопасности передает мультимедийное содержимое или управляющее слово, зашифрованное дважды, один раз с помощью отдельного ключа, определяемого независимо от параметра P, и один раз с помощью сеансового ключа Sk;
c
c
c
- процессор проверяет наличие в переданном сообщении параметра P, и если параметр P отсутствует, то процессор не зашифровывает мультимедийное содержимое или управляющее слово с помощью текущего сеансового ключа Sk;
<mrow><msubsup><mi>C</mi><mi>c</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
c
- секретный код или коды
передают на терминал до приема сообщения, содержащего параметр P посредством ЕММ-сообщения (сообщения о санкционировании приема).
Эти варианты осуществления способа защиты дополнительно имеют следующие преимущества:
- если код является исполняемым кодом или интерпретируемым кодом, то компрометация этого кода не дает никакой информации о главном ключе или криптографическом алгоритме, осуществляемом, чтобы сделать другие секретные ключи, являющиеся исполняемыми или интерпретируемыми,
c
- использование ЕСМ-сообщения для передачи параметра P делает возможной очень частую смену этого сеансового ключа,
- передача дважды зашифрованного мультимедийного содержимого или управляющего слова повышает безопасность системы.
Целью изобретения также является способ расшифровки мультимедийного содержимого или управляющего слова посредством терминала, чтобы применить на практике вышеупомянутый способ, содержащий следующие этапы:
c
- передают параметр P на процессор безопасности, способный расшифровать мультимедийное содержимое или управляющее слово,
c
- посредством терминала принимают мультимедийное содержимое или управляющее слово, зашифрованное с помощью текущего сеансового ключа SKC, построенного процессором безопасности путем расширения главного ключа SK_root в зависимости от параметра P, переданного терминалом,
<mrow><msubsup><mi>C</mi><mi>c</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
- посредством терминала расшифровывают мультимедийное содержимое или управляющее слово, зашифрованное с помощью ключа SKC, с использованием секретного кода
, чтобы получить открытое мультимедийное содержимое или управляющее слово,
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
i
i
i
c
- в терминал предварительно записывают несколько секретных кодов
, каждый секретный код
позволяет только расшифровать мультимедийное содержимое или управляющее слово, зашифрованное с помощью соответствующего сеансового ключа SK, полученного путем расширения ключа SK_root посредством параметра P, причем один из этих параметров P является параметром P,
c
- посредством терминала принимают параметр P в сообщении, также содержащем мультимедийное содержимое или управляющее слово, подлежащее расшифровке с помощью процессора безопасности, и
c
c
c
<mrow><msubsup><mi>C</mi><mi>c</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
- в ответ на прием параметра P, на терминале из всех записанных секретных кодов выбирают секретный код
, подлежащий использованию для расшифровки мультимедийного содержимого или управляющего слова, зашифрованного с помощью ключа SK, являющегося функцией параметра P или любого другого параметра, содержащегося в том же сообщении.
Задачей изобретения также является носитель информации, содержащий команды для реализации одного из вышеупомянутых способов, когда эти команды выполняются электронным вычислительным устройством.
Наконец, задачей изобретения также является терминал для расшифровки зашифрованного мультимедийного содержимого или управляющего слова, выполненный с возможностью:
c
- передавать параметр P на процессор безопасности, способный расшифровывать мультимедийное содержимое или управляющее слово,
c
- принимать мультимедийное содержимое или управляющее слово, зашифрованное с помощью текущего сеансового ключа SKC, построенного процессором безопасности путем расширения главного ключа SK_root в зависимости от параметра P, передаваемого терминалом,
<mrow><msubsup><mi>C</mi><mi>c</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
- расшифровывать мультимедийное содержимое или управляющее слово, зашифрованное с помощью ключа SKC, с использованием секретного кода
, чтобы получить открытое мультимедийное содержимое или управляющее слово,
при этом:
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
i
i
i
с
- терминал содержит память, в которую предварительно записано несколько секретных кодов
, причем каждый секретный код
позволяет расшифровать только мультимедийное содержимое или управляющее слово, зашифрованное с помощью соответствующего сеансового ключа SK, полученного путем расширения ключа SK_root посредством параметра P, при этом один из этих параметров P является параметром Р,
- при этом терминал выполнен с возможностью:
c
- принимать параметр P в сообщении, также содержащем мультимедийное содержимое или управляющее слово, подлежащее расшифровке с помощью процессора безопасности, и
c
c
c
<mrow><msubsup><mi>C</mi><mi>c</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
- в ответ на прием параметра P выбирать секретный код
из набора записанных секретных кодов, подлежащий использованию для расшифровки мультимедийного содержимого или управляющего слова, зашифрованного с помощью ключа SK, являющегося функцией параметра P или другого параметра, содержащегося в том же сообщении.
Изобретение будет более понятным из последующего описания, данного полностью в виде неисчерпывающего примера, ссылаясь на прилагаемые чертежи, на которых:
- на фиг.1 показан схематический вид системы для передачи и приема зашифрованного мультимедийного содержимого,
- на фиг.2 показан схематический и частичный вид ЕСМ-сообщения, используемого в системе, показанной на фиг.1,
- на фиг.3 показан схематический и частичный вид ЕММ-сообщения (сообщения о санкционировании приема), используемого в системе, показанной на фиг.1,
- на фиг.4 показана таблица, также используемая в системе, показанной на фиг.1,
- на фиг.5 показана блок-схема последовательности операций способа передачи и приема зашифрованного мультимедийного содержимого, выполняемого посредством системы, показанной на фиг.1, и
- на фиг.6 показана блок-схема последовательности операций способа записи секретных кодов в терминал системы, показанной на фиг.1.
На этих чертежах одинаковые ссылочные позиции используются для обозначения одних и тех же элементов.
Здесь и ниже в этом описании характеристики и функции хорошо известные специалистам в данной области техники подробно не описываются. Более того, используемая терминология соответствует системам условного доступа к мультимедийному содержимому. Для дополнительной информации об этой терминологии читатель может обратиться к следующему документу:
- "Функциональная модель системы условного доступа", обзор Европейского радиовещательного союза (EBU), Технический Европейский радиовещательный союз, Брюссель, Бельгия, №266, 21 декабря 1995 г.
На фиг.1 показана система 2 для отправления и приема зашифрованного мультимедийного содержимого. Мультимедийное содержимое, например, соответствует последовательности аудиовизуальной программы, такой как телевизионная передача или фильм.
Открытое мультимедийное содержимое генерируют одним или несколькими источниками 4 и передают на устройство 6 вещания. Устройство 6 вещания транслирует мультимедийное содержимое одновременно на множество приемных терминалов через сеть 8 передачи информации. Передачи мультимедийного содержимого синхронизированы по времени друг с другом, чтобы, например, соответствовать заданной программе передач.
Сеть 8 обычно представляет собой сеть передачи информации дальнего действия, как, например, Интернет, или спутниковая сеть, или сеть вещания любого типа, такая как одна из тех, что используются для цифрового наземного телевидения (DTTV).
Для простоты на фиг.1 показано только три приемных терминала 10-12.
Устройство 6 содержит кодер 16, который сжимает принимаемое им содержимое. Кодер 16 обрабатывает цифровое мультимедийное содержимое. Например, кодер работает в соответствии со стандартом MPEG2 (экспертная группа по движущимся изображениям, Moving Picture Expert Group - 2) или со стандартом UIT-T Н264.
Сжатое мультимедийное содержимое отправляют на вход скремблера 22. Скремблер 22 шифрует каждую сжатую передачу мультимедийного содержимого для того, чтобы его просмотр был возможен при определенных условиях таких, как покупка права доступа пользователями приемных терминалов. Зашифрованное мультимедийное содержимое выводят на выход, соединенный с входом мультиплексора 26.
j,t
Скремблер 22 зашифровывает каждую передачу мультимедийного содержимого с использованием управляющего слова CW, которое предоставлено ему, а также системе 28 условного доступа, генератором 32 ключей.
Система 28 известна как СAS (система условного доступа).
Индекс j является идентификатором канала, на котором осуществляют вещание зашифрованного мультимедийного содержимого, а индекс t - идентификатор шифрпериода, зашифрованного на этом управляющем слове. Здесь и далее в этом описании шифрпериод, зашифровываемый в текущий момент терминалами, является шифрпериодом t-1.
Обычно шифрование осуществляется согласно стандарту такому, как стандарт DVB-CSA (Общий алгоритм скремблирования цифрового телевидения), ISMA Cryp (шифрование потокового медиа Интернет-альянса), ISMA Cryp (шифрование Альянса потокового медиавещания через интернет), SRTP (безопасный протокол передачи данных в реальном времени), AES (усовершенствованный стандарт шифрования) и т.д.
j,t
j,t
Система 28 генерирует ЕСМ-сообщения (управляющие сообщения на право доступа), содержащие криптограмму CW* управляющего слова CW, выработанного генератором 32 и использованного скремблером 22 для зашифрования шифрпериода t канала j. Эти ЕСМ-сообщения и зашифрованное мультимедийное содержимое объединяются мультиплексором 26, это содержимое соответственно выдают системой 28 условного доступа и скремблером 22, а затем передают по сети 8.
i
i
Система 28 также может вставлять в ЕСМ-сообщение два параметра P и Px.
Система 28 также вырабатывает ЕММ-сообщения (сообщения о санкционировании приема), такие как сообщение, показанное на фиг.3.
Здесь в качестве примера зашифрование и мультиплексирование мультимедийного содержимого соответствует протоколу DVB-Simulcrypt (ETSI TS 103197).
i
i
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
Система 28 также соединена с блоком 34 для управления обновлением сеансовых ключей. Этот блок 34 предоставляет системе 28 параметры P, Px, а также соответствующие секретные коды
. Эти параметры и эти коды описаны ниже более подробно.
Для примера, терминалы 10-12 идентичны, поэтому более подробно описан только терминал 10.
Терминал 10 имеет приемник 70 передач мультимедийного содержимого. Этот приемник 70 присоединен к входу демультиплексора 72, который сначала передает мультимедийное содержимое на дескремблер 74, а затем передает ЕСМ-сообщения и ЕММ-сообщения (сообщения о санкционировании приема) на модуль 76 безопасности.
Дескремблер 74 расшифровывает зашифрованное мультимедийное содержимое с использованием управляющего слова, переданного модулем 76. Расшифрованное мультимедийное содержимое передают на декодер 80, который его декодирует. Распакованное или декодированное мультимедийное содержимое передают графической карте 82, которая управляет отображением этого мультимедийного содержимого на дисплее 84, оборудованном экраном 86.
Дисплей 84 отображает мультимедийное содержимое на экране 86 в открытом виде.
Модуль 76 управляет обменом информацией со съемным процессором 80 безопасности. В частности, он взаимодействует с процессором 80, чтобы защитить интерфейс между этим процессором 80 и терминалом 10. Для этого этот модуль 76 встраивают в поток информации, передаваемый от терминала 10 процессору 80 и обратно. Модуль 76 выполнен, например, с программируемым электронным вычислительным устройством. Он соединен с памятью 82, содержащей все команды и данные, необходимые для выполнения способов, показанных на фиг.5 и 6. Поэтому эта память 82 имеет, в частности, следующие элементы:
- идентификатор D_ID терминала 10, позволяющий идентифицировать этот терминал 10 среди всех терминалов системы 2,
- криптограмма TSK* сеансового ключа TSK, полученного путем расширения главного ключа TSK_root с идентификатором D_ID,
- персональный ключ Ki, позволяющий расшифровать криптограмму TSK*,
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
i
i
- таблица 84, связывающая секретный код
с каждым параметром Px, позволяя расшифровать порцию информации, зашифрованной на текущем сеансовом ключе SK, и
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
- коды
.
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
i
i
i
i
В этом варианте осуществления каждый код
является функцией расшифрования информации, зашифрованной на соответствующем сеансовом ключе SK. Каждый код
непосредственно выполняется модулем 16. Каждый код
соответствует функции расшифрования, принимающей информацию, которую необходимо расшифровать, в качестве единственного параметра. Поэтому этот код уже параметризован сеансовым ключом SK. Этот сеансовый ключ SK получен путем расширения главного ключа SK_root посредством параметра P.
Процессор 80 также выполнен с электронным вычислительным устройством 86, реализующим модуль зашифрования и расшифрования информации. Для этого процессор 80 также имеет память 88, соединенную с вычислительным устройством 86. Эта память 88 представляет собой защищенную память, содержащую, в частности, секретную информацию, необходимую для выполнения способа, показанного на фиг.5. В частности, этот способ содержит среди прочего:
- заголовки доступа к одному или нескольким передачам мультимедийного содержимого,
- один или несколько ключей Ka подписки,
- главный ключ TSK_root,
- главный ключ SK_root, и
- команды для выполнения способа, показанного на фиг.5.
i
i
i
i
i
На фиг.2 показан участок кадра ЕСМ-сообщения 90, вырабатываемого системой 28. Это ЕСМ-сообщение содержит, в частности, поле 92, содержащее параметры P и Px. Параметр Px может представлять собой весь или часть параметра Pj и наоборот. Роль этих параметров P и Px более подробно описана со ссылкой на фиг.5.
Обычно это ЕСМ-сообщение 90 также содержит:
- идентификатор j канала,
j,t
j,t+1
j,t
j,t+1
- криптограммы CW* и CW* управляющих слов CW и CW, дающие возможность расшифровать шифропериоды t и t+1 канала j.
- права доступа DA, которые сравнивают с заголовками доступа, приобретенными пользователем, и
- подпись или криптографическая избыточность MAC для проверки целостности ЕСМ-сообщения.
На фиг.3 показан схематический и частичный вид ЕММ-сообщения 100, вырабатываемого системой 28. Это ЕММ-сообщение 100, в частности, содержит идентификатор Message_Type, указывающий на тот факт, что это ЕММ-сообщение предназначено для терминала, а не для процессора безопасности.
Это сообщение 100 также содержит:
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
- несколько кодов
, где i принимает значения от 1 до n, n - целое число, большее или равное двум,
i
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
- параметры Px, каждый из этих параметров связан с соответствующим кодом
, и
- CRC-код, позволяющий проверить целостность сообщения 100.
i
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
На фиг.4 показан возможный пример структуры таблицы 84. Эта таблица 84 содержит два столбца 102 и 104. Столбец 102 включает в себя параметр Px, в то время как столбец 104 включает в себя соответствующий связанный код
или адрес этого кода
в памяти 82.
Теперь работа системы 2 будет описана со ссылкой на способ, приведенный на фиг.5.
Сначала, во время этапа ПО инициализации, процессор 80 вставляют в терминал 10. В ответ терминал 10 отправляет свой идентификатор D_ID процессору 80. Этот процессор 80 затем вырабатывает сеансовый ключ TSK. Этот сеансовый ключ TSK получен путем расширения главного ключа TSK_root. записанного в памяти 88.
Подробности, касающиеся зашифрования или расшифрования управляющих слов на этом сеансовом ключе, не описаны подробно в этом документе. Действительно, здесь используют тот же самый способ зашифрования управляющих слов на интерфейсе между процессором 80 и терминалом 10, что и описанный в патентной заявке ЕР 1867096. Таким образом, для дополнительной информации читатель может обратиться к этой патентной заявке.
В течение этапа инициализации процессор 80 также получает, например, через ЕММ-сообщения, заголовки доступа и ключи Ka подписки. Эти заголовки доступа и ключи Ka дают ему возможность расшифровывать криптограммы управляющих слов каналов, для которых была оформлена подписка у оператора.
Теперь для частного случая терминала 10 будет описана передача мультимедийного содержимого от устройства 6 на терминал.
Во время этапа 112 генератор 32 вырабатывает управляющее слово, которое передают скремблеру 22 и системе 28.
Ka
На этапе 114 это управляющее слово зашифровывают на ключе Ka подписки, чтобы получить криптограмму CW*. Обновление ключа Ka осуществляют, например, раз в месяц.
Ka
c
c
c
c
i
i
Затем на этапе 116 система 28 вырабатывает ЕСМ-сообщение, содержащее криптограмму CW*, а также соответствующие права доступа. При необходимости, это ЕСМ-сообщение также содержит параметры P и Px, если требуется повысить уровень безопасности интерфейса между процессором 80 и терминалом 10. Параметры P и Px выбирают из пар параметров P и Px, использованных для создания таблицы 84.
В то же время во время этапа 118 выработанное управляющее слово передают скремблеру 22, который зашифровывает шифрпериод мультимедийного содержимого с помощью этого управляющего слова перед передачей зашифрованного шифрпериода на мультиплексор 26.
На этапе 120 мультиплексор 26 мультиплексирует ЕСМ-сообщения, выработанные с зашифрованным мультимедийным содержимым, а затем транслирует их на все терминалы системы 2 через сеть 8.
На этапе 122 терминал 10 получает сигналы, транслируемые устройством 6 с помощью своего приемника 70.
На этапе 124 эти сигналы демультиплексируют демультиплексором 72.
На этапе 126 зашифрованное мультимедийное содержимое отправляют на дескремблер 74.
На этапе 128 ЕСМ-сообщения и ЕММ-сообщения в свою очередь передают на модуль 76 безопасности.
c
c
c
c
c
c
На этапе 130 модуль 76 проверяет, имеются ли новые параметры P, Px в полученном ЕСМ-сообщении. "Новые параметры" P, Px - это параметры P, Px, значения которых отличаются от значений этих параметров, полученных ранее.
c
<mrow><msubsup><mi>C</mi><mi>c</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
Если ответ положительный, то модуль выполняет этап 132, во время которого он извлекает параметр Px, а затем выбирает код
, связанный с этим параметром посредством таблицы 84.
c
c
c
c
В конце этапа 132, или если ЕСМ-сообщение не содержит параметра P, Px или новых параметров P, Px, то на этапе 133 модуль 76 передает полученное ЕСМ-сообщение процессору 80.
На этапе 134 процессор 80 сравнивает заголовки доступа, содержащиеся в памяти 88, с правами доступа, содержащимися в полученном ЕСМ-сообщении.
Если заголовки доступа не соответствуют правам доступа, то процессор 80 выполняет этап 138, чтобы запретить расшифрование полученного мультимедийного содержимого. Например, для этого он не передает на терминал 10 управляющее слово, необходимое для расшифрования мультимедийного содержимого.
Ka
В противном случае на этапе 140 процессор 80 расшифровывает криптограмму CW* на ключе Ka, чтобы получить в открытом виде управляющее слово CW.
TSK
Затем на этапе 142 вычислительное устройство 86 зашифровывает управляющее слово CW на сеансовом ключе TSK, записанном в памяти 88 и выработанном на этапе 110. В результате получают криптограмму CW*.
c
На этапе 144 процессор 80 проверяет, имеется ли параметр P в полученном ЕСМ-сообщении.
c
c
c
Если ответ положительный, то процессор выполняет этап 146, во время которого он строит новый сеансовый ключ SKC путем расширения главного ключа SK_root с использованием полученного параметра P. Этап 146 выполняют только в том случае, если параметр P новый. Если параметр P уже был получен, то ключ SKC уже был построен, и можно перейти непосредственно к следующему этапу.
TSK
(Tsk)(Skc)
(TSK)(SKc)
Kc
Затем на этапе 148 он зашифровывает криптограмму CW* на ключе SKC, чтобы получить криптограмму CW**. Эта криптограмма CW** соответствует управляющему слову, зашифрованному дважды, один раз на ключе TSK и один раз на ключе SKC. В этом случае также говорят, что управляющее слово CW перешифровано на ключе S.
c
(TSK)(SKc)
TSK
В конце этапа 148 или, если ЕСМ-сообщение не содержит параметра P, то на этапе 150 процессор 80 передает криптограмму управляющего слова на терминал 10. В зависимости от того, были ли выполнены этапы 146, 148 или нет, эта криптограмма является либо криптограммой CW**, либо криптограммой CW*.
c
(TSK)(SKc)
(TSK)(SKc)
c
(TSK)(SKc)
TSK
<mrow><msubsup><mi>C</mi><mi>c</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
<mrow><msubsup><mi>C</mi><mi>c</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
Затем, если параметр Px присутствует в полученном ЕСМ-сообщении, то во время этапа 152 модуль 76 расшифровывает криптограмму CW**, применяя код
, выбранный во время этапа 132. Более конкретно, на этом втором этапе код
получает в качестве входного параметра только криптограмму CW**, которую необходимо расшифровать. На этом этапе нет необходимости параметризовать его сеансовым ключом SK, так как этот параметр уже интегрирован в исполняемый код. В конце этапа 152 из криптограммы CW** получают криптограмму CW*.
TSK
i
После этапа 152 или, если управляющее слово, переданное процессором 80, было зашифровано только один раз, то на этапе 154 модуль 76 расшифровывает криптограмму CW* на ключе TSK. На этом этапе 154 ключ TSK, например, получен путем расшифрования на персональном ключе K криптограммы этого ключа, сохраненной в памяти 82. В конце этапа 154 получают открытое управляющее слово CW.
На этапе 156 модуль 76 передает это открытое управляющее слово CW на дескремблер 74, который затем расшифровывает на этом управляющем слове соответствующий шифрпериод зашифрованного мультимедийного содержимого.
На шаге 158 расшифрованное мультимедийное содержимое отправляют декодеру 80, который декодирует его.
На этапе 160 графическая плата получает декодированное мультимедийное содержимое и управляет его отображением на экране 86. Таким образом, на этапе 162 открытое мультимедийное содержимое отображают на экране 86.
c
c
c
с
с
<mrow><msubsup><mi>C</mi><mi>c</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
В способе, показанном на фиг.5, если необходимо усилить защиту интерфейса между процессором 80 и терминалом 10, достаточно вставить в ЕСМ-сообщение параметры P и Px. Начиная с этого момента, управляющее слово, переданное от процессора 80 на терминал 10, зашифровано дважды, вместо только одного раза. Более того, для замены сеансового ключа SK достаточно изменить параметры Р и Рх, содержащиеся в ЕСМ-сообщении. Тем не менее, такая смена сеансового ключа SKC содержит в себе предположение, заключающееся в том, что соответствующие коды
были предварительно записаны в память 82. Это осуществляют посредством способа, показанного на следующей фиг.6.
i
i
Если необходимо увеличить безопасность, то на этапе 170 выбирают несколько пар параметров P и Px.
i
i
i
i
Затем на этапе 172 блок 34 строит сеансовый ключ SK для каждого параметра P, выбранного на этапе 170. Здесь каждый сеансовый ключ SK получен путем расширения главного ключа SK_root как функции параметра P. Один пример способа расширения описан в патентной заявке ЕР 1867096.
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
i
i
Затем на этапе 174 вырабатывают эти коды
, используемые, чтобы расшифровать криптограммы, полученные на ключах SK. Например, с этой целью для каждого кода
тот же алгоритм расшифрования, что использует процессор 80, параметризуют ключом SK, а затем компилируют посредством компилятора. Предпочтительно, чтобы исполняемый код был стойким к попыткам криптоанализа, например, для идентификации сеансового ключа, главного ключа или алгоритма, используемого для расшифрования сообщений. Например, для этого изучают следующий документ:
С. Чоу (S. Chow), П. Эйзен (P. Eisen), Г. Джонсон (Н. Johnson), П. Ван Ооршот (Р.С. Van Oorchot), "White-Box криптография и реализация AES", Труды SAC 2002, 9th Ежегодный семинар по избранной области криптографии, 15-16 августа 2002, Сент-Джонс, Канада.
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
i
Как только коды
были выработаны, на этапе 176 эти коды с соответствующими параметрами Px передают системе 28 устройства 6. Для этого система 28 вырабатывает ЕММ-сообщение, такое как ЕММ-сообщение 100, которое затем мультиплексируют с зашифрованным мультимедийным содержимым и транслируют одновременно на все терминалы системы 2.
В ответ на получение этого ЕММ-сообщения 100 на этапе 178 это сообщение передают на модуль 76 безопасности.
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
На этапе 180 модуль 76 безопасности обновляет таблицу 84, используя информацию, содержащуюся в этом ЕММ-сообщении, и записывает коды
в память 82.
i
Начиная с этого момента, может быть выполнено перешифрование управляющего слова на одном из ключей SK, а также может быть быстро и часто выполнена смена ключа перешифрования.
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
Возможно множество других вариантов осуществления изобретения. Например, коды
не обязательно являются исполняемыми кодами и могут быть заменены кодами, непосредственно интерпретируемыми виртуальной машиной, реализованной на терминале 10. Обычно эта виртуальная машина представляет собой виртуальную Java машину.
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
i
i
Код
не обязательно является исполняемым или интерпретируемым кодом. Как вариант, код
может быть ключом SK или криптограммой ключа SK.
i
i
i
i
i
Параметры P и Px могут составлять весь или часть того же параметра. В частности, параметр Px может быть идентичен параметру P. Тогда, в этом варианте передают только параметр P.
i
i
Над параметрами P и Px могут быть совершены различные операции перед тем, как они будут использоваться терминалом 10 или процессором 80. Например, эти параметры могут быть использованы в качестве начального значения для инициализации генератора псевдослучайных чисел. Затем он вырабатывает псевдослучайные числа, которые используют для расширения главного ключа SK_root, либо используются модулем 76.
i
i
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
<mrow><msubsup><mi>C</mi><mi>c</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
<mrow><msubsup><mi>C</mi><mi>c</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
<mrow><msubsup><mi>C</mi><mi>i</mi><mrow><mo>−</mo><mn>1</mn></mrow></msubsup></mrow>
В другом варианте перед использованием ключа SK на терминалы передают только один параметр Px и связанный код
. Таким образом, в памяти 82 имеется только код
и код
, который будет использоваться непосредственно после кода
. Это предотвращает ненужное представление других кодов
, которые могут быть использованы.
c
c
Смена ключа SK может произойти сразу, как описано выше, или после заданного числа шифрпериодов, полученных после приема сообщения, содержащего новый параметр P.
c
В другом варианте первое зашифрование управляющего слова на ключе TSK не выполняют. В этом случае управляющее слово зашифровывают только на сеансовом ключе SK.
Процессор безопасности не обязательно является съемным. Например, он может быть закреплен внутри терминала 10 без какой-либо степени свободы.
Процессор безопасности не обязательно принимает форму чип-карты. Например, он также может иметь вид USB-накопителя (универсальная последовательная шина). В другом варианте он не является съемным, а интегрирован в корпус терминала.
c
Элементы терминала 10 не обязательно содержатся в одном и том же корпусе. Например, эти элементы могут быть распределены по локальной сети. В этом случае обычно корпус, получающий сигнал, переданный устройством 6, использует процессор 8 для расшифрования управляющих слов и для зашифрования их на сеансовом ключе SK. Управляющие слова, зашифрованные таким образом, передают затем через локальную сеть на один или несколько корпусов, расположенных, например, вблизи от экранов. Каждый из этих других корпусов содержит в себе модуль безопасности, который, например, идентичен модулю 76, описанному выше, чтобы иметь возможность расшифровать и получить в открытом виде управляющее слово, необходимое для расшифрования полученного мультимедийного содержимого.
c
Наконец, система 2 была описана в частном случае, когда используют один процессор 80 для расшифрования полученных управляющих слов. В другом варианте процессор 80 расшифровывает мультимедийное содержимое, это расшифрованное мультимедийное содержимое передают от процессора 80 на терминал 10. В этом варианте осуществляют зашифрование на ключе SK мультимедийного содержимого, переданного от процессора 80 на терминал 10, а зашифрование управляющего слова больше не осуществляют, так как это слово больше не передают между терминалом 10 и процессором 80.