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

Иллюстрации

Показать все

Изобретение относится к области шифрования в сетях передачи данных. Технический результат заключается в повышении степени защиты функций каскадной обработки сигналов. Сущность изобретения заключается в том, что в системе (600) сервер (610) предоставляет функцию f обработки цифровых сигналов в исполняющее устройство (620) в умышленно запутанном виде. Функция f включает в себя каскад функций из функций fi обработки сигналов, 1≤i≤N, по формуле (I). Сервер включает в себя процессор (612) для выбора набора из 2N обратимых преобразований pi, 1≤i≤2N; вычисление набора из N функций g, где g является функциональным эквивалентом для формулы (II) для 1≤i≤N; и вычисление набора из N-1 функций h, где h является функциональным эквивалентом для формулы (III) для 2≤i≤N. Сервер включает в себя средство (614) для наделения исполняющего устройства каскадом функций исполнительного устройства, который включает в себя формулу (IV), где y1, …, yN представляют собой функциональные параметры для формулы (V), и средство (616) для предоставления функций g1, …, gN в исполняющее устройство. Исполняющее устройство включает в себя средство (626) для получения функций g1, …, gN и процессор (622) для загрузки каскада функций исполнительного устройства и применения загруженного каскада функций исполнительного устройства к функциям g1, …, gN (например, ED, (g1, …, gN)). 8 н. и 15 з.п. ф-лы, 9 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

УРОВЕНЬ ТЕХНИКИ

Интернет обеспечивает пользователей удобным и повсеместным доступом к цифровому контенту. Благодаря потенциалу Интернета, как мощного канала распределения, многие продукты CE стараются создавать совместимыми с ПК платформой - основным порталом в Интернет. Использование Интернета как среды распространения контента, охраняемого авторским правом, является веским доводом в пользу охраны интересов провайдера контента. В частности, требуется гарантия авторских прав и бизнес-моделей провайдеров контента. Управление программными средствами для воспроизведения представляет собой один из способов защиты интересов владельца контента, включая сроки и условия, при которых может быть использован этот контент. В частности для ПК платформы, допускается, что пользователь имеет полный контроль над аппаратным и программным обеспечением, которые предоставляют доступ к контенту, и неограниченное количество времени и ресурсов для взлома и обхода любых механизмов защиты контента. В результате, провайдеры контента должны доставлять контент законным пользователям через враждебную сеть и группу лиц, в которой можно доверять не всем пользователям. Основным подходом в управлении цифровыми правами защищенного контента, распространяемого в ПК, является шифрование цифрового контента (например, используя DES) и сохранение ключа дешифрования (или “лицензии”) в так называемой базе данных Лицензий на жестком диске ПК. Цифровой контент на ПК обычно воспроизводят с использованием медиа-плеера, например, Media Player производства Microsoft, RealOne Player производства Real, плеер QuickTime производства Apple. Для специфичного формата контента такие плееры могут загружать соответствующий модуль расширения для выполнения декодирования, специфичного для данного формата. Такие форматы контента могут включать в себя AVI, DV, Motion JPEG, MPEG-1, MPEG-2, MPEG-4, WMV, Audio CD, MP3, WMA, WAV, AIFF/AIFC, AU и т.д. Плеер и структура модуля расширения показаны на фиг.1, на которой медиа-плеер 100 включает в себя базовый плеер 110 и несколько модулей расширения, специфичные для данного формата (показаны модули расширения 120, 122 и 124). Для управления плеером базовый плеер 110, например, может предоставлять пользовательский интерфейс. Каждый модуль расширения включает в себя соответствующий декодер. Он может посылать декодированный контент непосредственно в HW/SW, выполняющий рендеринг, например, в звуковую карту, или передавать контент в базовый плеер 110 для дальнейшей обработки. Для защищенного рендеринга используется защищенный модуль расширения, который не только декодирует контент в специфичный формат, но также выполняет дешифрование этого контента. На фиг.2 показано, что шифрованный контент сначала пропускают через дешифратор 230, и затем дешифрованный контент пропускают через декодер 220, специфичный для данного формата. Дешифратор 230 может получить ключ дешифрования/лицензию из базы 210 данных лицензий.

Наибольшая уязвимость управления цифровыми правами, основанного на шифровании, заключается в распределении и управлении ключами. Для воспроизведения программа плеера должна извлечь ключ дешифрования из базы данных лицензий, затем сохранить этот ключ дешифрования где-либо в памяти для дешифрования зашифрованного контента. Это оставляет нарушителям две возможности для взлома защиты управления ключами в программе плеера: во-первых, обратное проектирование функции доступа к базе данных лицензий может дать в результате программное обеспечение типа “черный ящик” (то есть, нарушителям нет необходимости понимать способ работы функции программного обеспечения), которое способно извлекать защищенные ключи из всех баз данных лицензий; во-вторых, путем наблюдения за получением доступа к памяти, используемым во время дешифрования контента, можно извлечь защищенный ключ.

Обычно системы управления цифровыми правами используют технологию шифрования, основанную на блочных шифрах, при которой поток данных обрабатывают в блоках, используя последовательность этапов шифрования/дешифрования, называемых циклами. Выход i-1го цикла является входом i-го цикла. Таким образом, для системы с N циклами, алгоритм может быть описан в виде каскада функций где функция f i представляет функциональность цикла i. Большинство блочных алгоритмов представляют собой сети Фейстеля. В таких сетях входной блок данных x, имеющий четную длину n, делится на две половины длиной n/2, обычно обозначаемые как L и R. Таким образом, входные данные x, подаваемые в первый цикл, можно представить в виде x=〈L 0 ,R 0 〉. При этом, i-й цикл (i>0) выполняет функцию f i, где f i определена в виде:

f i (〈L i-1 ,R i-1 〉)=〈R i-1 ,(L i-1 ⊕F(R i-1 ,K i ))〉,

K i представляет собой подключ, используемый в i-м цикле, а F представляет собой независимую функцию цикла.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

Задачей настоящего изобретения является предоставление лучшей защиты функций каскадной обработки сигналов, например, сетей Фейстеля.

Для реализации задачи настоящего изобретения способ предоставления функции f обработки цифровых сигналов для исполняющего устройства в умышленно запутанном виде, где функция f включает в себя каскад функций, включающий в себя множество функций f i обработки сигналов, 1 ≤ i ≤ N, для обработки входного цифрового сигнала x для получения выходного цифрового сигнала (например,

включает в себя:

выбор набора из 2N обратимых преобразований p i , 1 ≤ i ≤ 2N;

вычисление набора из N функций g i, где g i представляет собой функциональный эквивалент для , для 1 ≤ i ≤ N;

вычисление набора из N-1 функций h i, где h i представляет собой функциональный эквивалент для , для 2 ≤ i ≤ N;

наделение исполняющего устройства каскадом функций для исполнительного устройства, который включает в себя где y 1,…, y N представляют собой функциональные параметры (например,

предоставление функций g 1 ,…,g N в исполняющее устройство; и

в исполняющем устройстве, применение каскада функций для исполнительного устройства к функциям g 1 ,…,g N (например, ED 1 (g 1 ,…,g N )).

Согласно настоящему изобретению, составляющие функции f i предоставляют в инкапсулированной форме в виде g i, где g i представляет собой функциональный эквивалент , для 1 ≤ i ≤ N. Функции p i, используемые для инкапсуляции, также скрывают путем предоставления в виде h i, что представляет собой произведение , для 2 ≤ i ≤ N. Путем выполнения функций g i и h i способом чередования (например, как показано на фиг.4) в исполнительном устройстве функциональность каскада функций достигается без того, что f i может быть явно распознана. В частности, если f i представляет функцию цикла шифра Фейстеля, то ключ цикла, который встроен в функцию цикла, не является явно распознаваемым. Умышленно запутанная доставка f i увеличивает безопасность. Каскад устройств для выполнения функций может формировать базовую функциональность медиа-плеера, где набор g 1 ,…,g N дает возможность плееру выполнять каскад функций, содержащий f 1-f N, включительно.

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

Применение этого к g 1 ,…,g N, дает функциональное начало последовательности функций, выполняемых в устройстве:

при таком способе исполнительное устройство в явном виде выполняет f 1. В варианте осуществления по п.3 формулы изобретения безопасность возрастает путем расширения каскада функций при помощи начальной функции f 0, целью которой является скрыть . Каскад функций, например, может представлять собой Каскад функций для исполнительного устройства начинается с функции S 1, например, где S 1 представляет собой функциональный эквивалент . В силу того, что S 1 представляет только в виде произведения с

f 0, не может быть извлечена из исполнительного устройства прямым способом, таким как считывание определенных ячеек памяти. Предпочтительно f 0 является глобальным секретом.

Зависимые пункты 4 и 5 формулы изобретения показывают два соответствующих альтернативных варианта осуществления для защиты (функционального) окончания каскада функций способом, аналогичным пунктам 2 и 3 формулы изобретения.

Согласно зависимому пункту 6 формулы изобретения, выбранная последовательность преобразований p i является уникальной для данного устройства. Таким образом, каскад функций подают на исполнительное устройство не только в умышленно запутанном виде, но также в персонализированном виде. Например, если каскад функций представляет шифр Фейстеля со встроенным ключом дешифрования, криптоаналитический взлом или взлом методом прямого перебора всех возможных вариантов может привести к получению функциональности типа “черный ящик” для g 1 ,…,g N. При этом такая функциональность сможет работать только совместно с соответствующим каскадом функций для исполнительного устройства, но не сможет работать с любым другим исполнительным устройством. Это существенным образом ограничит эффект удачного взлома защиты.

Согласно зависимому пункту 7 формулы изобретения, каскад функций для исполнительного устройства встроен в программу, например, в виде медиа-плеера или модуля расширения для медиа-плеера. Таким образом, исполнительное устройство обеспечивают защищенным, персонализированным программным обеспечением.

Согласно зависимому пункту 8 формулы изобретения, функции g 1 ,…,g N формируют модуль расширения для программы. Если программа сама представляет собой модуль расширения, тогда функции g 1 ,…,g N, в сущности, представляют собой модуль расширения для данного модуля расширения. В качестве альтернативы, согласно зависимому пункту 9 формулы изобретения, функции g 1 ,…,g N могут быть встроены в одну и ту же программу, что и каскад функций для исполнительного устройства.

Для реализации задачи настоящего изобретения компьютерный программный продукт выполнен с возможностью выполнения процессором в исполнительном устройстве функции f обработки цифровых сигналов, включающей в себя каскад функций, включающих в себя множество функций f i обработки сигналов, где 1 ≤ i ≤ N, для обработки входного цифрового сигнала x для получения выходного цифрового сигнала (например, путем:

загрузки каскада функций для исполнительного устройства, который включает в себя где y 1 ,…,y N являются функциональными параметрами;

загрузки набора функций g 1 ,…,g N;

применения каскада функций исполнительного устройства к набору функций g 1 ,…,g N, где:

g i представляет собой функциональный эквивалент для 1 ≤ i ≤ N;

h i представляет собой функциональный эквивалент для 2 ≤ i ≤ N; и

p i представляет собой обратимое преобразование для 1 ≤ i ≤ 2N.

Для реализации задачи настоящего изобретения способ предоставления функции f обработки цифровых сигналов для множества исполняющих устройств, каждое из которых идентифицируют при помощи уникального индекса j, в умышленно запутанном анонимном виде; причем функция f включает в себя каскад функций, включающий в себя множество функций f i обработки сигналов, где 1 ≤ i ≤ N, для обработки входного цифрового сигнала x для получения выходного цифрового сигнала (например, включает в себя:

выбор набора из 2N обратимых преобразований p i , где 1 ≤ i ≤ 2N;

вычисление набора из N функций g i, где g i представляет собой функциональный эквивалент для , для 1 ≤ i ≤ N;

выбор для каждого устройства j соответствующего набора и/или последовательности из 2N обратимых преобразований p j,i, которые являются уникальными для устройства и/или пользователя этого устройства;

вычисление для каждого исполняющего устройства j соответствующего набора из N-1 функций h j,i, где h j,i представляет собой функциональный эквивалент для , для 2 ≤ i ≤ N;

наделение каждого исполняющего устройства j соответствующим каскадом функций исполнительного устройства ED j (y 1 ,…,y N ), который включает в себя

наделение каждого исполняющего устройства j соответствующей функцией загрузчика где l j,i представляет собой функциональный эквивалент для , и r j,i представляет собой функциональный эквивалент для ;

предоставление для исполняющего устройства функций g 1 ,…,g N; и

в исполняющем устройстве, выполнение ED j (loader j (g 1 ,…,g N )).

Функции f i являются умышленно запутанными в виде функций g 1 ,…,g N, таким же способом, как описано для пункта 1 формулы изобретения. Для каждого устройства функции g 1 ,…,g N являются аналогичными и могут рассматриваться как соответствующие одному по умолчанию/анонимному устройству. Исполнительные устройства оборудованы каскадом (“персонализированных”) исполнительных устройств, специфичным для данного устройства. Функция загрузчика, специфичная для данного устройства, используется для преобразования соответствующих анонимных функций g i, в соответствующие функции, специфичные для данного устройства, которые могут быть поданы в каскад исполнительного устройства. Функция загрузчика использует преобразование функций l j,i и r j,i, которые основаны на наборе/последовательности преобразований p j,i, которые не раскрываются.

Согласно зависимому пункту 12 формулы изобретения, функции g i могут подаваться во все устройства одним и тем же способом, например, с использованием широковещательной передачи или при помощи носителя данных, например, CD-ROM или DVD.

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

На чертежах:

На фиг.1 показана блок-схема декодирования, основанного на модуле расширения предшествующего уровня техники;

на фиг.2 показана блок-схема дешифрования предшествующего уровня техники;

на фиг.3 показана блок-схема системы интегрированного дешифрования/декодирования предшествующего уровня техники;

на фиг.4 показана реализация умышленного запутывания согласно настоящему изобретению;

на фиг.5 показан простой пример умышленного запутывания;

на фиг.6 показана блок-схема системы согласно настоящему изобретению;

на фиг.7 показан дополнительный вариант осуществления системы согласно настоящему изобретению;

на фиг.8 показана реализация анонимного умышленного запутывания согласно настоящему изобретению; и

на фиг.9 показан альтернативный вариант осуществления анонимного умышленного запутывания.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ

На фиг.3 показана блок-схема системы предшествующего уровня техники, в которой может быть использовано настоящее изобретение. В примере по фиг.3 контент (обычно аудио и/или видео контент) размещают на носителе 310. Для любого плеера носитель может быть одним и тем же. Носитель может представлять собой носитель любого подходящего типа, например аудио CD, DVD, твердотельный и т.д. Контент на носителе защищен от копирования предпочтительно путем шифрования с использованием алгоритма шифрования, такого как шифр Фейстеля. Носитель данных может включать в себя информацию, относящуюся к ключу дешифрования. В качестве альтернативы, носитель данных может включать в себя информацию 312 (такую как идентификатор), которая позволяет плееру извлекать информацию, например, путем загрузки ее с сервера через Интернет. Ключ дешифрования создают в безопасном модуле 320, используя ключ 322, специфичный для данного ключа, и информацию 312 для вычисления 324 ключа 326 дешифрования. Ключ дешифрования принимают во втором модуле 330. Второй модуль 330 дешифрует 334, декодирует 336 и воспроизводит 338 контент 314 носителя 310.

На фиг.4 показан способ согласно настоящему изобретению. Функцию f обработки цифровых сигналов предоставляют в исполняющее устройство в умышленно запутанном виде. Функция f включает в себя каскад функций, включающий в себя множество функций f i обработки сигналов, 1 ≤ i ≤ N. Например, ядро каскада функций может быть сформировано при помощи Необходимо отметить, что здесь используется общепринятая в математике запись: В принципе, каскад функций может представлять собой любую функцию обработки цифровых сигналов. В предпочтительном варианте осуществления каскад функций включает в себя шифр. Например, функция f i может представлять i-й цикл (i>0) шифра Фейстеля. В таком случае, f i определяется в виде:

f i (L i-1 ⊕R i-1 )=R i-1 ⊕(L i-1 ⊕F(R i-1 ,K i )),

где K i представляет собой подключ, используемый в i-м цикле, а F является независимой функцией цикла.

Согласно настоящему изобретению выбирают набор из 2N обратимых преобразований p i , 1 ≤1 i1 ≤1 2N. Затем вычисляют набор из N функций g i, где g i представляет собой функциональный эквивалент , для 1 ≤ i ≤ N. В данном контексте, функциональный эквивалент означает, что если g i применяют к такому же входному сигналу (например x), то для каждого разрешенного значения выходного сигнала получают такой же выходной сигнал, как и в случае применения к такому выходному сигналу. Композитные функции , f i и по отдельности не видимы. При этом g i обеспечивает функциональность типа “черный ящик” для . На фиг.5 показан подход для очень простых одномерных функций. В этом примере,

Таким образом, .

Из области создания компьютерных компиляторов хорошо известно, каким образом может быть достигнута функциональность типа “черный ящик” с использованием так называемых частичных вычислений. Глава 1 “Partial Evaluation and Automatic Program Generation” N.D.Jones, C.K.Gomard и P.Sestoft описывает концепцию частичных вычислений. В настоящем описании это не будет рассматриваться более подробно. Очевидно, что входной цифровой сигнал x является многомерным параметром, например, 64 или 128-битным блоком/вектором, для которого можно выполнить нужное преобразование. Согласно настоящему изобретению вычисляют набор из N-1 функций h i, где h i представляет собой функциональный эквивалент , для 2 ≤ i ≤ N. Используя простой пример по фиг.5,

. Используя эти определения, часть каскада исполнительных устройств, которая скрывает f 2, будет представлять собой:

Очевидно, это является функциональным эквивалентом . Таким образом, исполняющее устройство, которое выполнило этот каскад, выполнило f 2 без f 2, заданной в явном виде.

В дальнейшем примере N=2, и f 1 и f 2 выполняют соответствующую таблицу отображения, представленную в виде:

f 1:{0→3, 1→1, 2→6, 3→2, 4→7, 5→5, 6→4, 7→0, 8→8},

f 2:{0→4, 1→1, 2→5, 3→7, 4→6, 5→2, 6→0, 7→8, 8→3}.

В этом примере f 1 является обратимой функцией, которая преобразует номера от 0 до 8 в номера от 0 до 8, например, значение 0 преобразует в значение 3, значение 1 - в 1, значение 2 - в 6 и так далее. Последующие четыре соответствующих преобразования, использованные в данном примере:

p 1:{0→5, 1→3, 2→1, 3→7, 4→0, 5→6, 6→2, 7→8, 8→4}

p 2:{0→8, 1→6, 2→7, 3→3, 4→4, 5→2, 6→0, 7→1, 8→5}

p 3:{0→3, 1→5, 2→7, 3→1, 4→6, 5→0, 6→2, 7→8, 8→4}

p 4:{0→3, 1→0, 2→5, 3→2, 4→7, 5→8, 6→1, 7→4, 8→6}

Для этого примера используются следующие три обратимых преобразования:

:{0→6, 1→7, 2→5, 3→3, 4→4, 5→8, 6→1, 7→2, 8→0}

:{0→5, 1→3, 2→6, 3→0, 4→8, 5→1, 6→4, 7→2, 8→7}

:{0→1, 1→6, 2→3, 3→0, 4→7, 5→2, 6→8, 7→4, 8→5}

Принимая эти функции, будет представлена в виде:

h 2:{0→7, 1→4, 2→2, 3→0, 4→8, 5→6, 6→5, 7→3, 8→1}.

Например, p 2 отображает 0 в 8, а отображает 8 в 7. Таким образом, .

Аналогично, будет представлена в виде:

g 1:{0→8, 1→5, 2→7, 3→6, 4→3, 5→4, 6→1, 7→0, 8→2},

и будет представлена в виде:

g 2:{0→4, 1→3, 2→5, 3→6, 4→1, 5→7, 6→2, 7→0, 8→8}

Исполняющее устройство оснащено каскадом функций исполнительного устройства, который включает в себя где y 1 ,…,y N представляют собой функциональные параметры. На фиг.4 это показано в виде последовательности функций h N ,h N-1 ,…,h 2 410. Иллюстративный каскад функций исполнительного устройства представляет собой Кроме того, в исполняющее устройство предоставляют функции g 1 ,…,g N. На фиг.4 это показано в виде последовательности функций g N ,g N-1 ,…,g 1 420. В исполняющем устройстве каскад функций исполнительного устройства применяют к функциям g 1 ,…,g N. Это дает, например, полную функцию обработки сигналов ED 1 (g 1 ,…,g N ) в исполняющем устройстве. Затем такая функция может быть применена ко входному цифровому сигналу x.

Что касается средней части цепи, например, она может быть представлена в виде:

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

В предпочтительном варианте осуществления предоставлены опции для работы с началом и концом цепи. Без принятия каких-либо дополнительных мер получающаяся в результате полная функция обработки сигналов в исполняющем устройстве может представлять собой . Например, компонент р 1 может быть устранен путем использования каскада функций исполнительного устройства, который включает в себя Например, . Предпочтительно, в исполняющем устройстве компонент является защищенным. Предпочтительный способ выполнения этого заключается в расширении каскада функций при помощи дополнительной функции f 0 обработки сигналов (например, Кроме того, каскад функций исполнительного устройства включает в себя (например, где S 1 представляет собой функциональный эквивалент . В этом случае самостоятельные компоненты и f 0 не нуждаются в извлечении, поскольку существуют только в виде произведения . Предпочтительным является, чтобы f 0 представляла собой глобальный секрет, то есть была известна только тем сторонам, которым необходимо ее знать. Глобальные секреты известны, и также известны способы обмена глобальными секретами защищенным способом, и в дальнейшем не будут рассматриваться в настоящем описании.

Аналогично, могут быть приняты меры для рассмотрения компонента . Например, каскад функций исполнительного устройства может включать в себя (например, Для лучшей защиты p 2N каскад функций может заканчиваться дополнительной функцией обработки сигналов f N+1 (например, Каскад функций исполнительного устройства, кроме того, включает в себя (например, где S 2 представляет собой функциональный эквивалент для

На фиг.6 показана система, в которой может быть использовано настоящее изобретение. Система 600 включает в себя сервер 610 и, по меньшей мере, одно исполняющее устройство 620. Сервер может быть реализован на компьютерной платформе общего назначения, например, на платформе, используемой в качестве сервера, такого типа, как веб-сервер, или файловый сервер. Сервер включает в себя процессор 612. Процессор 612 работает под управлением программы. Программа может постоянно находиться в процессоре во встроенном носителе данных, таком как встроенное ПЗУ, но также может быть загружена с внешнего носителя данных, такого как жесткий диск (не показан). Под управлением программы процессор 612:

• выбирает набор из 2N обратимых преобразований p i , 1 ≤ i ≤ 2N;

• вычисляет набор из N функций g i, где g i представляет собой функциональный эквивалент , для 1 ≤ i ≤ N; и

• вычисляет набор из N-1 функций h i, где h i представляет собой функциональный эквивалент , для 2 ≤ i ≤ N.

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

Кроме того, сервер включает в себя средство 614 для наделения исполняющего устройства каскадом функций исполнительного устройства, который включает в себя

где y 1 ,…,y N представляют собой функциональные параметры. Сервер может выполнять это соответствующим образом. Например, в процессе производства компоненты h i могут сохраняться в модуле хранения данных исполняющего устройства во время изготовления исполняющего устройства 620. На фиг.6 показано, что компоненты загружаются через Интернет 630 непосредственно в исполняющее устройство 620. Сервер 610 также включает в себя средство 616 для предоставления исполняющему устройству 620 функций g 1 ,…,g N. Функции g i включают в себя соответствующие функции f i. Функции f i могут быть выбраны специально для входного цифрового сигнала x. Например, каждый видео фрагмент может быть зашифрован с помощью соответствующей функции шифрования (например, с использованием одного и того же шифра, но с ключом, специфичным для контента). С этой целью сервер 610 также может включать в себя программное обеспечение для управления процессором 612 для шифрования контента 640 и предоставления зашифрованного контента 642 на дистрибутивный носитель, например, для распределения на носителе данных или через канал обмена информацией, такой как Интернет.

Исполняющее устройство 620 включает в себя средство 626 для получения функций g 1 ,…,g N из сервера 610. Это средство взаимодействует со средством 616 сервера и далее не описывается. Исполняющее устройство 620 дополнительно включает в себя процессор 622. Процессор может быть процессором любого подходящего типа, например, процессор, применяемый в персональных компьютерах, или встроенный микроконтроллер. Процессор 622 работает под управлением программы. Программа может постоянно находиться в процессоре 622, использующем встроенный носитель данных, такой как встроенное ПЗУ, но также может быть загружена с внешнего носителя данных, такого как жесткий диск (не показан). Под управлением программы процессор загружает каскад функций исполнительного устройства и применяет загруженный каскад функций исполнительного устройства к функциям g 1 ,…,g N, например, путем выполнения ED 1 (g 1 ,…,g N ). Полученная в результате функция обработки сигналов затем может быть применена ко входному сигналу x (например, контенту, полученному с носителя данных). Процессор 622 может загрузить каскад функций исполнительного устройства в любом подходящем виде. Например, каскад может быть заранее сохранен в процессе производства на носителе данных, тем самым, уменьшая загрузку памяти при прямом доступе. В примере по фиг.6, исполняющее устройство 620 включает в себя средство 624 для извлечения каскада (или членов каскада), например, через Интернет 630 или через носитель данных 650. Аналогично, исполняющее устройство 620 может извлекать зашифрованный контент 652 из носителя данных 650 и дешифровать его, используя процессор 622. Процессор также может декодировать дешифрованный контент.

На фиг.7 показан предпочтительный вариант осуществления, в котором каскад функций исполнительного устройства предоставляют в исполняющее устройство 620, встроенное в программные средства 710, для выполнения процессором 622. На фиг.7 используются те же ссылочные позиции, что и на фиг.6. Программные средства 710 могут представлять собой модуль расширения для программы, такой как медиа-плеер. Таким образом, средство 614 по фиг.7 может обеспечивать такой модуль 710 расширения через Интернет (например, элемент 630 по фиг.7) или встраивать его непосредственно в исполняющее устройство 620 в процессе производства.

В варианте осуществления исполняющее устройство 620 наделяют функциями

g 1 ,…,g N в виде модуля расширения для программы 710. В случае, если программа 710 уже является модулем расширения, то функции g 1 ,…,g N фактически являются модулем расширения для модуля расширения. В качестве альтернативы, исполняющее устройство 620 наделяют функциями g 1 ,…,g N путем встраивания функций g 1 ,…,g N в программные средства 710 посредством применения каскада функций исполнительного устройства к функциональным параметрам g 1 ,…,g N. Таким образом, программа 710 встраивает обе функции h i и g i.

В варианте осуществления, каждое исполняющее устройство и/или пользователь исполняющего устройства являются уникальными и идентифицируются уникальным идентификатором (например, уникальным индексом j). В системе и способе, согласно настоящему изобретению, гарантировано, что для данного участника последовательности g i и hi являются уникальными. Этого можно достичь путем получения уникального идентификатора j исполняющего устройства и/или пользователя исполняющего устройства и соответствующего набора из 2N обратимых преобразований p i, которые являются уникальными для полученного идентификатора. Аналогично, используя такой же набор преобразований, может быть выбрана уникальная последовательность преобразований. Можно объединять обе технологии (выбор различного набора преобразований или различной последовательности преобразований). Предпочтительно, сервер хранит (безопасным способом) уникальный набор/последовательность для каждого уникального идентификатора. В этом случае, каждый медиа-плеер на персональном компьютере может быть снабжен уникальными модулями расширения для дешифрования и/или декодирования мультимедиа фрагментов. Сам носитель не должен быть уникальным. Зашифрованный контент зависит только от функций шифрования, а не от уникального набора/последовательности преобразований. Путем регулярной (то есть, при запуске медиа-плеера) проверки, соответствует ли программное обеспечение идентификатору, и исполнения программного обеспечения только в случае установления соответствия можно гарантировать то, что прог