Способ деактивизации и повторной активизации модулей защиты
Иллюстрации
Показать всеИзобретение относится к области способа деактивизации и повторной активизации модуля защиты, предназначенного, в частности, для управления обращением к данным с условным доступом. Технический результат заключается в обеспечении возможности деактивизации модулей защиты удаленными операторами для обеспечения защиты от несанкционированного доступа без передачи самих модулей защиты оператору от поставщиков, а также обеспечение повторной активизации. Такой модуль защиты имеет набор регистров, содержащих некоторые значения. В способе посылают, по меньшей мере, одно сообщение управления, содержащее выполнимый код, для загрузки в память модуля защиты, который затем выполняется. При этом производится комбинирование и/или шифрование значений регистров, или приведение этих значений в нечитаемую форму. В способе обеспечивается повторная активизация модулей защиты, деактивизированных ранее. В этом случае способ включает в себя шаг посылки другого сообщения, содержащего выполнимый код повторной активизации модулей, причем указанный выполнимый код имеет обратную функцию по отношению к функции выполнимого кода, используемого для деактивизации модулей защиты. 7 з.п. ф-лы, 4 ил.
Реферат
Область изобретения
Настоящее изобретение относится к области способа деактивизации и повторной активизации модулей защиты, в частности, предназначенных для управления обращением к данным с условным доступом, причем указанный способ допускает замену модуля защиты, имеющего, например, форму смарт-карты, на новый модуль защиты в процессе обновления.
Уровень техники
В области платного телевидения существуют три различные стороны, имеющие отношение к модулям защиты; каждая из этих сторон имеет различные права и средства передачи или использования этих прав. Этими тремя сторонами являются абонент, оператор и поставщик модуля защиты.
Абонент может приобрести полномочия, связанные с определенным событием или группой событий, предлагаемыми оператором. После приобретения, на основе подписки или единовременной покупки, эти права загружаются в абонентский модуль защиты посредством сообщений управления (management messages, EMM). В момент, когда абонент получает зашифрованное содержание, соответствующее определенному событию, на которое были приобретены полномочия, модуль защиты предоставляет получателю необходимые средства для дешифрования содержания. В результате событие может отображаться в незашифрованном виде.
Если полномочия в модуле защиты отсутствуют, то контрольные слова, используемые для шифрования соответствующего событию содержания, не возвращаются декодеру модулем защиты, и событие не отображается в незашифрованном виде.
Вторая вышеупомянутая сторона, а именно оператор, имеет полномочия, связанные с теми событиями, которые он планирует передавать, и криптографические средства. Эти криптографические средства используются для шифрования содержания событий с целью реализации способа их вещательной передачи, позволяющего просматривать незашифрованное содержание только тем пользователям, которые приобрели необходимые полномочия. Как правило, предназначенное для передачи содержание шифруется с помощью контрольных слов, которые изменяются через равные промежутки времени в целях предотвращения попыток дешифрования контрольных слов, которые могут быть использованы для визуализации важного фрагмента события, зашифрованного с помощью указанного контрольного слова.
Как известно, эти контрольные слова передаются абонентам в потоке контрольных сообщений (control messages, ECM), независимом от потока содержания, соответствующего событиям.
Третьей стороной является поставщик модулей защиты. Поставщик имеет полномочия, которые не связаны с событиями, как в случае оператора, но связаны с управлением модулем защиты. Он также имеет криптографические средства с особенно высоким уровнем защиты. Фактически, если безопасность модулей защиты будет нарушена, появится возможность легкого использования контрафактных модулей защиты, которые всегда возвращают положительный ответ на запрос декодера о наличии полномочий, соответствующих определенному событию, в модуле защиты В этом случае оператор потеряет дальнейшую возможность продавать полномочия, связанные с событиями, которые он планирует передавать широковещательным способом.
С учетом всех этих различных причин рекомендуется ограничивать число сторон, имеющих доступ к функциям высокого уровня, связанным с безопасностью, до минимума.
С другой стороны, на практике у оператора может появиться необходимость в осуществлении определенных функций высокого уровня, связанных с обработкой полного набора параметров модулей защиты. Такая ситуация возникает, например, когда требуется ввести в эксплуатацию новые модули защиты, в частности при обновлении модулей.
В настоящее время в процессе такого обновления абонент получает новый модуль защиты, например по почте, и получает определенное время на удаление старого модуля защиты, его уничтожения или посылки обратно поставщику и замены его на новый модуль.
С точки зрения поставщика модулей такая замена может осуществляться с применением двух подходов. Один из них предусматривает запись предопределенного значения в определенный регистр для указания того, что данная карта не должна более использоваться; другой подход предусматривает удаление всех значений в регистрах.
В первом подходе, состоящем в изменении значения в каком-либо регистре, в модуль защиты посылается определенная команда. Центр управления передает эту команду в форме защищенного сообщения управления (EMM). Сообщения могут посылаться индивидуально каждому абоненту, одной или нескольким группам абонентов или всем абонентам. Назначение этого сообщения состоит в записи информации о том, что модуль защиты более не действителен, в определенную область памяти. Эта операция записи выполняется независимо от предыдущего содержания регистров модулей защиты. Таким образом, содержащееся в этой области памяти значение является независимым от исходного содержания регистров модуля защиты. Внутреннее программное обеспечение указанного модуля проверяет это значение при каждом запуске; если это значение указывает на недействительность модуля, программное обеспечение остается неактивным. Преимуществом этого подхода является то, что в случае появления какой-либо проблемы с обновлением можно послать новое сообщение, которое еще раз изменит предопределенное значение в требуемом регистре для активизации карты. Недостаток этого подхода состоит в том, что лицо, знающее структуру регистров данных в модуле защиты, может изменить значение данных в соответствующем регистре и активизировать модуль защиты. Следовательно, одновременно могут существовать два аналогичных модуля защиты, что нежелательно.
Второй подход состоит в удалении всех значений в регистрах, и, как следствие, полномочий; эта операция выполняется посредством команды, также включаемой в сообщение управления, причем это сообщение является зашифрованным. Указанная команда активизирует программное обеспечение, находящееся в модуле защиты и помещенное в него в процессе изготовления. Преимуществом этого подхода является то, что после передачи команды и ее приема модулем защиты становится невозможно активизировать карту путем простой замены значения в одном из регистров. Это предотвращает любое несанкционированное использование карты. Недостаток этого подхода состоит в том, что карта не может быть активирована оператором или поставщиком модулей защиты, что может потребоваться в случае появления какой-либо проблемы с обновлением.
Раскрытие изобретения
Задача, на решение которой направлено настоящее изобретение, состоит в устранении недостатков процессов предшествующего уровня техники путем использования такого процесса обновления модулей защиты, который серьезно затрудняет несанкционированную повторную активизацию деактивизированного модуля, и одновременно предоставляет возможность восстановления указанного модуля каждой из основных сторон, имеющих соответствующие полномочия. Кроме того, оператор и/или поставщик модулей могут выполнять повторную активизацию ранее деактивизированных модулей без передачи оператору средств защиты, имеющихся у поставщика.
В соответствии с изобретением решение поставленной задачи достигается путем использования способа деактивизации и повторной активизации модулей защиты, в частности, предназначенных для управления обращением к данным с условным доступом, причем указанный модуль защиты имеет набор регистров, содержащих некоторые значения, причем этот процесс включает в себя шаг посылки оператором, по крайней мере, одного сообщения управления, содержащего выполнимый код, причем указанный выполнимый код загружается в память модуля защиты и затем выполняется; этот способ отличается тем, что его выполнение приводит к обратимому изменению указанных значений, содержащихся в регистрах, причем содержание регистров после модификации обуславливает переход модуля в недействительное состояние.
Перечень чертежей
Другие свойства и достоинства настоящего изобретения станут ясны из нижеследующего описания, содержащего описания различных вариантов осуществления и ссылки на прилагаемые чертежи, которые иллюстрируют варианты осуществления изобретения, не вносящие каких-либо ограничений. На чертежах:
на фиг.1 представлен первый вариант осуществления способа по изобретению в процессе деактивизации модуля защиты;
на фиг.2 представлен вариант осуществления в процессе повторной активизации модуля, деактивизированного в процессе на фиг.1;
на фиг.3 показана схема деактивизации нескольких групп модулей защиты согласно процессу по изобретению;
на фиг.4 показана повторная активизация группы модулей защиты, входящих в число модулей, деактивизированных согласно способу, схематично показанному на фиг.3.
Осуществление изобретения
Деактивизация модулей защиты в первом варианте осуществления способа по изобретению может производиться одновременно или в групповом режиме. В описании этого варианта осуществления отсутствует различие между одновременной и групповой деактивизацией. Этот первый вариант осуществления описывает способ деактивизации и повторной активизации модуля защиты в случае возникновения проблемы с обновлением и не зависит ни от количества обрабатываемых модулей, ни от времени задержки на обработку этих модулей.
Согласно способу по изобретению при появлении необходимости в обновлении модуля или группы модулей защиты центр управления посылает этой группе модулей специальное сообщение управления. Это сообщение управления содержит выполнимый код (RUN-EMM).
Этот код загружается в память модуля защиты и воздействует на его регистры R1, R2, R3, Rn и на значения данных, содержащихся в этих регистрах, или на способ чтения этих значений, с целью изменения этих данных по принципу, известному оператору и/или поставщику модулей. Для этого могут использоваться различные способы изменения данных. Данные, содержащиеся в регистрах, могут шифроваться с помощью симметричного или асимметричного ключа шифрования; регистры могут скремблироваться с помощью простых функций (исключающее ИЛИ, смещение...); возможно комбинирование содержания нескольких регистров. Кроме того, существует возможность предотвращения чтения регистров за счет шифрования или скремблирования указателей в таблице распределения без изменения данных или содержания регистров. Возможна также посылка выполнимого кода для замены основных элементов модуля защиты. Эти основные элементы могут, например, относиться к средствам чтения сообщений управления (ЕСМ). С другой стороны, определенные основные элементы не должны изменяться, поскольку без них будет невозможно повторно активизировать деактивизированные модули. Таким элементом являются, например, средства обработки данных сообщений управления (EMM). Разумеется, возможно использование комбинации этих различных технологий.
Выполнимая программа или код, таким образом, воздействуют не только на значение одного определенного регистра, а на несколько значений в нескольких регистрах. В отличие от способов предшествующего уровня техники, таких как описанные ранее, отсутствует предопределенное значение, хранящееся в регистрах. Значение регистров после скремблирования или шифрования напрямую зависит от содержания этих регистров перед скремблированием или шифрованием. Следует отметить, что все данные, содержащиеся в регистрах, остаются в модуле защиты, но подвергаются модификациям, которые делают модуль непригодным для использования. По практическим причинам эта модификация памяти сопровождается вводом указанного аннулирования в регистр для предотвращения обработки измененных данных модулем как достоверных данных. Работа выполнимого кода может также завершаться удалением этого кода из памяти модуля защиты; при этом после выполнения кода он, или, по меньшей мере, его часть, удаляется из модуля и более не находится в нем. Согласно практически применимому, но не обязательному варианту осуществления, может быть организовано такое взаимодействие выполнимого кода с одним или несколькими элементами программы, хранящейся в модуле защиты, что для обновления модуля будет необходимо наличие выполнимого кода и этих элементов программы. Эти элементы программы могут использоваться, например, для выполнения записи в память, очистки части памяти и т.д.
При вышеописанном функционировании активизация деактивизированного модуля будет невозможна, если не будет доступен выполнимый код, используемый для скремблирования или шифрования, даже если структура регистров модуля будет известна. Скремблирование схематично показано на фиг.1. Следует отметить, что выполнимый код может включать в себя часть, посылаемую центром управления, как описано выше, и другую часть, хранящуюся в модуле защиты, причем для деактивизации модуля необходимо взаимодействие этих двух частей. Анализ части выполнимого кода, хранящегося в модуле защиты, не позволяет получить передаваемую часть выполнимого кода. Таким образом, деактивизированный модуль невозможно активизировать без наличия соответствующих полномочий.
На фиг.2 показан случай, в котором необходимо активизировать некоторые или все модули защиты, которые были деактивизированы по способу, описанному со ссылкой на фиг.1. Это может потребоваться, например, при возникновении какой-либо проблемы при обновлении модулей. В этом случае центр управления посылает модулю или группе модулей, которые необходимо повторно активизировать, выполнимый код (RUN-EMM-1) с действием, противоположным действию ранее посланного кода. Функция указанного нового кода состоит в изменении значений регистров, которые были ранее модифицированы выполнимым кодом, используемым для скремблирования или шифрования, и предназначена для дескремблирования или дешифрования значений регистров модуля защиты, в результате чего такой модуль вновь становится пригодным для использования. Эта повторная активизация может выполняться во всех модулях, относящихся к определенной группе, или только в некоторых из них. Очевидно, что эта операция может выполняться только в том случае, когда доступен выполнимый код, позволяющий осуществлять дескремблирование или дешифрование.
Этот способ имеет ряд преимуществ по сравнению с процессами по предшествующему уровню техники. С одной стороны, он является обратимым, что позволяет легко выполнить повторную активизацию определенной группы модулей защиты, если это необходимо по какой-либо причине. С другой стороны, он обеспечивает высокую защищенность, поскольку деактивизированный модуль невозможно повторно активизировать при отсутствии кода, позволяющего выполнять дескремблирование.
Описанный выше способ может применяться как оператором, так и поставщиком модулей защиты. Следует отметить, однако, что в процессе выполнения этой операции должен обеспечиваться высокий уровень безопасности, поэтому предпочтительным может быть применение способа поставщиком модулей защиты.
В описываемых вариантах осуществления способа по изобретению, приводимых ниже, учитываются требования, связанные с обслуживанием множества модулей защиты, с доступной пропускной способностью и с временем, необходимым для обслуживания этих модулей.
На практике очевидно, что для модификации большого количества модулей защиты невозможно использовать посылку сообщений, содержащих выполнимые коды для каждого отдельного модуля. Фактически для эффективного обновления необходимо передавать сообщения обновления в течение длительного периода времени, возможно - порядка года. Напротив, желательно иметь возможность обновлять все модули, или, по меньшей мере, их часть, путем передачи только одного сообщения для всех модулей.
Вначале модули защиты разделяются на группы; эти группы определяются, например, по дате изготовления модуля защиты и их отношения к группе или части группы абонентов, в которой требуется заменить модули защиты.
В качестве примера можно разделить группу людей, получающих новые модули защиты, на 4 группы, имеющие названия от L1 до L4, как схематично показано на фиг.3. Каждая группа получает сообщение управления, содержащее, в форме специального маркера, номер группы L1, L2, L3 или L4, к которой относится это сообщение. Это сообщение можно посылать в течение относительно длительного периода времени, например 6 месяцев в год, для гарантии того, что все абоненты получат сообщение. Маркер представляет собой специальное значение, вводимое в один из регистров, предусмотренных для этой цели в модуле защиты. Сообщения управления, содержащие маркер, можно посылать одновременно всем модулям защиты, или, как вариант, одновременно одной группе, в частности, в зависимости от количества обрабатываемых модулей и доступной пропускной способности. Преимущественный вариант осуществления предусматривает одновременную посылку сообщения управления всем модулям одной группы через равные промежутки времени, например каждую неделю. Следует отметить, что по умолчанию каждый модуль защиты может содержать маркер, значение которого равно нулю. При определении того, что модуль получил сообщение, содержащее маркер, должно учитываться то обстоятельство, что этот маркер имеет ненулевое значение, если оно не определено явно.
По прошествии некоторого времени, когда можно предполагать, что большинство модулей защиты во всех группах получило маркер, поставщик модулей посылает выполнимый код RUN-EMM, как описано выше со ссылкой на фиг.1. Этот код вначале выполняет проверку значения регистра, содержащего маркер, для проверки принадлежности данного модуля защиты к одной из тех групп, в которых должно выполняться обновление. Согласно конкретному варианту осуществления, содержание регистра маркера может быть нулевым в нормальном состоянии эксплуатации, т.е. в случае, если обновление не планируется, и значением больше нуля, если запланировано обновление, и, следовательно, модуль получил маркер. В этом случае выполнимый код выполняется всеми модулями защиты, маркер которых имеет значение определенно выше нуля, т.е. всеми модулями, получившими и обработавшими сообщение управления, содержащее маркер. Как описано выше, этот код осуществляет скремблирование или шифрование содержания различных регистров модуля защиты для его перевода в состояние, непригодное для использования любым лицом, не имеющим кода для дескремблирования или дешифрования.
Указанный выполнимый код RUN-EMM может посылаться периодически в течение очень длительного промежутка времени, с тем, чтобы его действие распространилось на все модули защиты, содержащие маркер, как описано выше. Таким образом, если модуль защиты, содержащий маркер, будет извлечен из того декодера, к которому он подключен, то при повторном подключении к декодеру он будет деактивизирован.
Согласно другому варианту осуществления вместо выполнения кода во всех модулях, маркер которых имеет значение больше нуля, возможно выполнение кода только в тех модулях защиты, маркер которых имеет определенное значение, например 3. В этом случае каждая группа модулей защиты обрабатывается независимо, что повышает гибкость операций обновления модулей, но требует более сложного управления сообщениями, содержащими выполнимый код.
Посылка сообщений, содержащих выполнимый код, и, таким образом, связанные с ним средства защиты, находится под управлением поставщика. Оператор, с другой стороны, управляет посылкой сообщений с маркерами и сообщает поставщику время, в которое можно начинать посылку сообщений, содержащих выполнимый код.
Если необходимо повторно активизировать модули защиты в какой-либо группе, например, вследствие некорректного обновления, возможны два варианта. В первом варианте выполняется повторная активизация определенной группы. Например, производится активизация группы номер 3, показанной на фиг.4, ранее деактивизированной согласно вышеприведенному описанию. В этом случае выполняется идентификация активизируемой группы по ее маркеру, после чего поставщик модуля защиты посылает выполнимый код, аналогичный показанному на фиг.2, который выполняет дескремблирование регистров и значений в модуле. С этой целью указанный выполнимый код вначале определяет значение маркера в модулях защиты. Затем он сравнивает это значение с соответствующим значением той группы модулей, на которые должно распространяться его действие. Если это значение идентично маркеру, код выполняется и производит дескремблирование регистров. В результате рассматриваемые модули защиты активизируются. Модули, в которых маркер имеет значение, отличное от значения активизируемой группы, остаются деактивизированными, и, следовательно, непригодными для использования.
В другом варианте этого способа активизация распространяется не на предопределенную группу, а на все модули защиты, имеющие определенную характеристику. При необходимости повторной активизации какого-либо модуля или группы модулей оператор вначале посылает сообщение, содержащее предопределенный маркер, который имеет, например, значение - 1. Этот маркер заменяет маркер, ранее содержавшийся в рассматриваемом модуле.
В этом случае по окончании вышеописанной операции поставщик посылает сообщение, содержащее выполнимый код, как описано выше, который выполняет дескремблирование значений и регистров модулей защиты, имеющих маркер со значением -1. Сообщение этого типа может посылаться поставщиком модуля защиты периодически. Оператор, с другой стороны, может посылать сообщения, изменяющие значение каждого маркера на значение -1. Таким образом, оператор также может управлять повторной активизацией модулей защиты независимо от их поставщика, и последнему нет необходимости передавать оператору криптографические данные высокого уровня секретности.
Этот способ имеет ряд преимуществ по сравнению с процессами предыдущего уровня техники. Фактически, в соответствии с этими процессами модуль защиты содержит программу, которая позволяет изменять значение предопределенного регистра, и, таким образом, активизировать или деактивизировать модуль. В этом случае можно провести подробный анализ модуля, который позволит выявить результаты работы программы, и, следовательно, в дальнейшем смоделировать эту программу. Кроме того, программа хранится в модуле и поэтому может функционировать только определенным образом, зафиксированным в процессе изготовления модуля. Как следствие, отсутствует возможность ее совершенствования. Напротив, применение посылки выполнимого кода в момент использования в способе по настоящему изобретению предотвращает анализ содержания и позволяет посылать код, который имеет функции, соответствующие текущему необходимому приложению; таким образом, этот код можно модифицировать требуемым способом в зависимости от конкретных задач.
1. Способ деактивизации и повторной активизации модулей защиты, предназначенных для управления обращением к данным с условным доступом, причем модуль защиты имеет набор содержащих значения регистров, включающий в себя шаг посылки оператором, по меньшей мере, одного сообщения управления для деактивизации модуля защиты, содержащего выполнимый код деактивизации модулей, который загружается в память модуля защиты и затем выполняется, отличающийся тем, что в процессе указанного выполнения изменяют обратимым способом, по меньшей мере, часть значений, содержащихся в указанных регистрах, причем содержание регистров после изменения обеспечивает непригодность модуля защиты к использованию, при этом способ включает в себя шаг посылки сообщения для повторной активизации модуля защиты, содержащего выполнимый код повторной активизации модулей, который имеет обратную функцию по отношению к функции выполнимого кода деактивизации модулей.
2. Способ по п.1, отличающийся тем, что при выполнении выполнимого кода деактивизации модулей производят комбинирование значений, содержащихся в указанных регистрах.
3. Способ по п.1, отличающийся тем, что при выполнении выполнимого кода деактивизации модулей производят шифрование значений, содержащихся в указанных регистрах.
4. Способ по п.1, отличающийся тем, что включает в себя предварительный шаг посылки сообщений, содержащих маркер, причем маркер является общим для определенной группы модулей защиты и индивидуальным для каждой группы.
5. Способ по п.4, отличающийся тем, что действие выполнимого кода деактивизации модулей распространяется на все модули защиты, содержащие какой-либо маркер.
6. Способ по п.4, отличающийся тем, что действие выполнимого кода деактивизации модулей распространяется на все модули защиты, содержащие маркер, имеющий определенное значение.
7. Способ по п.1, отличающийся тем, что модули защиты содержат маркер, причем способ включает в себя шаг определения значения маркера в каждом модуле защиты и шаг посылки, по меньшей мере, одного сообщения, содержащего выполнимый код повторной активизации модулей, который имеет обратную функцию по отношению к функции выполнимого кода деактивизации модулей, причем выполнимый код повторной активизации модулей выполняется во всех модулях защиты, имеющих маркер, значение которого предопределено.
8. Способ по п.1, отличающийся тем, что включает в себя шаг посылки сообщения, предназначенного для модификации значения маркера, причем действие сообщения распространяется на все модули защиты, имеющие маркер с предопределенным значением, при этом маркер имеет уникальное предопределенное эталонное значение, а также тем, что включат в себя шаг посылки, по меньшей мере, одного сообщения, содержащего выполнимый код повторной активизации модулей, который имеет обратную функцию по отношению к функции выполнимого кода деактивизации модулей, причем выполнимый код повторной активизации модулей выполняется во всех модулях защиты, имеющих маркер, значение которого является предопределенным эталонным значением.