Воспроизведение цифрового контента в системе защиты контента согласно множеству цепных цифровых лицензий

Изобретение относится к области техники защиты цифрового контента и, в частности, к области воспроизведения цифрового контента с использованием лицензий. Техническим результатом является обеспечение воспроизведения зашифрованного цифрового контента на вычислительном устройстве в соответствии с цепочкой лицензий, на котором запрос на воспроизведение зашифрованного контента принимается, и находится цепочка лицензий, соответствующих этому контенту. Цепочка включает в себя концевую лицензию, связанную с контентом, в одном конце цепочки, корневую лицензию в другом конце цепочки и все промежуточные лицензии между ними. Концевая лицензия и все промежуточные лицензии в цепочке привязаны к соседней лицензии в цепочке по направлению к корневой лицензии, а корневая лицензия привязана к владельцу личного ключа (PR-U). Каждая лицензия в цепочке проверяется и подтверждается, что лицензия разрешает воспроизведение контента. Ключ дешифрования получается из концевой лицензии на основе применения (PR-U) к корневой лицензии, полученный ключ применяется для дешифрования зашифрованного контента, и дешифрованный контент воспроизводится. 4 з.п. ф-лы, 5 ил.

 

Область техники, к которой относится изобретение

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

Предшествующий уровень техники

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

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

Тем не менее, после того, как распространение произошло, этот владелец контента может иметь очень незначительный контроль или вообще не иметь контроля над цифровым контентом 12. Система 10 защиты от копирования в таком случае предоставляет возможность контролируемого представления или воспроизведения произвольных форм цифрового контента 12, при этом этот контроль является гибким и определяемым владельцем такого цифрового контента. В типичном случае контент 12 распространяется пользователю в форме пакета 13 посредством любого подходящего канала распространения. Пакет 13 цифрового контента при распространении может включать в себя цифровой контент 12, закодированный с помощью ключа симметричного шифрования/дешифрования (KD) (т.е. (KD(КОНТЕНТ))), а также другую информацию, идентифицирующую контент, как приобрести лицензию на этот контент и т.д.

Основанная на доверии система 10 защиты от копирования предоставляет возможность владельцу цифрового контента 12 задавать правила, которые должны быть удовлетворены, прежде чем будет разрешено воспроизведение такого цифрового контента 12. Эти правила могут включать в себя вышеупомянутые и/или другие требования и могут быть реализованы в рамках цифровой лицензии 16, которую пользователь/вычислительное устройство 14 пользователя (в дальнейшем эти термины считаются взаимозаменяемыми, если обстоятельства не требуют иного) должно получить от владельца контента или его агента, или эти правила могут уже быть прикреплены к контенту 12. Данная лицензия 16 и/или правила могут, например, включать в себя ключ дешифрования (KD) для дешифрования цифрового контента 12, возможно, зашифрованного согласно другому ключу, расшифровываемому вычислительным устройством пользователя или другим устройством проигрывания.

Владелец контента для части цифрового контента 12 предпочтительно не будет распространять контент 12 пользователю, пока этот владелец не будет доверять тому, что пользователь будет следовать правилам, заданным этим владельцем контента в лицензии 16 или где-либо еще. Предпочтительно, в таком случае вычислительное устройство 14 пользователя или другое устройство проигрывания оснащено доверенным компонентом или средством 18, которое не будет воспроизводить цифровой контент 12 иначе как в соответствии с этими правилами.

Доверенный компонент 18 в типичном случае имеет блок 20 оценки, который просматривает правила и определяет на основе просмотренных правил, имеет ли запрашивающий пользователь право воспроизводить запрошенный цифровой контент 12 искомым способом, помимо прочего. Следует понимать, что блок 20 оценки является доверенным в системе 10 защиты от копирования для того, чтобы выполнять пожелания владельца цифрового контента 12 согласно правилам, и пользователь не должен иметь возможность легко вносить изменения в этот доверенный компонент 18 и/или блок 20 оценки в любых целях, правомерных или неправомерных.

Следует понимать, что правила представления контента 12 могут задавать, имеет ли пользователь права для того, чтобы его воспроизводить, на основе нескольких факторов, в том числе того, кем является пользователь, где пользователь расположен, какой тип вычислительного устройства 14 или другого устройства проигрывания пользователь использует, какое приложение воспроизведения запрашивает систему 10 защиты от копирования, даты, времени и т.д. Помимо этого правила могут ограничивать воспроизведение до предопределенного количества проигрываний или предопределенного времени проигрывания, например.

Правила могут быть заданы согласно любому подходящему языку и синтаксису. Например, язык может просто задать атрибуты и значения, которые должны быть удовлетворены (ДАТА должна быть меньше X, к примеру), или может потребовать выполнения функций согласно заданному сценарию (скрипту) (ЕСЛИ ДАТА больше чем X, ТОГДА ВЫПОЛНИТЬ..., к примеру).

После определения блоком 20 оценки того, что правила в лицензии 16 удовлетворены, цифровой контент 12 может в таком случае быть воспроизведен. В частности для того, чтобы воспроизвести контент 12, ключ дешифрования (KD) получается из предопределенного источника, такого как вышеупомянутая лицензия 16 и применяется к (KD(КОНТЕНТ)) из пакета 13 контента для того, чтобы получить в качестве результата фактический контент 12, и фактический контент 12 затем в действительности воспроизводится.

Заметим, что доверенный компонент 18 может временами быть необходим для того, чтобы сохранять информацию о состоянии, относящуюся к воспроизведению конкретной части контента 12 и/или использованию конкретной лицензии 16. Например, может случиться так, что конкретная лицензия 16 имеет требование по количеству проигрываний, и, следовательно, доверенный компонент 18 должен запоминать, сколько раз лицензия 16 была использована для того, чтобы воспроизвести соответствующий контент 12, или сколько еще раз лицензия 16 может быть использована для воспроизведения соответствующего контента 12. Следовательно, доверенный компонент 18 может также включать в себя, по меньшей мере, одно защищенное постоянное хранилище 22, в котором такая информация о состоянии постоянно хранится в защищенном режиме. Таким образом, доверенный компонент 18 сохраняет эту информацию о состоянии в этом защищенном хранилище 22 на постоянной основе, так что эта информация о состоянии сохраняется даже в промежутках между сеансами использования в вычислительном устройстве 14. Это защищенное хранилище 22, возможно, размещено в вычислительном устройстве 14 доверенного компонента 18, хотя это защищенное хранилище 22 может альтернативно быть размещено в другом месте.

В системе 10 защиты от копирования контент 12 формируется в виде пакета для использования пользователем посредством шифрования этого контента 12 и ассоциирования набора правил с контентом 12, при этом контент 12 может быть воспроизведен только в соответствии с этими правилами. Поскольку контент 12 может быть воспроизведен только в соответствии с правилами, в таком случае контент 12 может быть свободно распространен. В типичном случае контент 12 шифруется согласно симметричному ключу, например, вышеупомянутому ключу (KD), для того чтобы получить в результате (KD(контент)), и (KD(контент)), следовательно, также дешифруется согласно (KD) для того, чтобы получить в результате контент 12. Данный (KD), в свою очередь, включен в лицензию 16, соответствующую контенту 12. Зачастую, данный (KD) зашифрован согласно открытому ключу, например, открытому ключу вычислительного устройства 14 (PU-C), посредством которого контент 12 должен быть воспроизведен, получая в результате (PU-C(KD)). Заметим, однако, что могут быть использованы другие ключи, такие как, например, открытый ключ пользователя, открытый ключ группы, членом которой является пользователь, и т.д.

Только одна лицензия 16, следовательно, была необходима для того, чтобы воспроизвести соответствующий контент 12. Эта одна лицензия 16 в типичном случае привязана к одному пользователю, одной машине, одной группе пользователей и т.п., как представлено шифрованием открытым ключом (KD) в данной лицензии. Соответственно, только обладатель личного ключа, соответствующего данному открытому ключу, может осуществлять доступ к (KD), при условии, конечно, что доверенный компонент 18 это разрешает. Тем не менее, следует принимать во внимание, что существуют случаи, в которых может быть выгодно потребовать несколько лицензий 16 для воспроизведения этого контента 12.

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

Заметим, однако, что не существует архитектуры или способа задания того, как привязать цепную лицензию 16 к другой цепной лицензии 16, как перейти от одной цепной лицензии 16 к следующей или как использовать цепочку лицензий 16 для того, чтобы воспроизвести контент 12. Следовательно, существует необходимость в архитектуре и способе, которые обеспечивают привязку цепной лицензии 16 к другой цепной лицензии 16, переход от одной цепной лицензии 16 к следующей и использование цепочки лицензий 16 для воспроизведения контента 12, помимо прочего.

Сущность изобретения

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

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

Перечень фигур чертежей

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

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

Фиг.2 - блок-схема, представляющая компьютерную систему общего назначения, в которой могут содержаться аспекты настоящего изобретения и/или его частей.

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

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

Фиг.5 - блок-схема последовательности операций, показывающая основные этапы, выполняемые доверенным компонентом по фиг.1 при прохождении цепочки по фиг.4 в ходе определения того, следует ли разрешить воспроизведение контента, в соответствии с одним вариантом осуществления настоящего изобретения.

Подробное описание изобретения

Компьютерная среда

Фиг.1 и последующее обсуждение предназначены для того, чтобы предоставить краткое общее описание подходящей вычислительной среды, в которой настоящее изобретение и/или его части могут быть реализованы. Хотя это и необязательно, изобретение описано в общем контексте машиноисполняемых инструкций, таких как программные модули, исполняемые компьютером, таким как клиентская рабочая станция или сервер. Как правило, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.п., которые выполняют конкретные задачи или реализуют определенные абстрактные типы данных. Более того, следует принимать во внимание, что изобретение и/или его части могут быть реализованы на практике с другими конфигурациями компьютерных систем, включая "карманные" устройства, многопроцессорные системы, основанную на микропроцессорах или программируемую бытовую электронную аппаратуру, сетевые персональные компьютеры (ПК), мини-компьютеры, универсальные компьютеры и т.п. Изобретение может быть реализовано на практике в распределенных вычислительных средах, в которых задачи выполняются удаленными обрабатывающими устройствами, которые связаны через сеть связи. В распределенной вычислительной среде программные модули могут быть размещены на локальных и удаленных устройствах хранения данных.

Как показано на фиг.2, типичная вычислительная система общего назначения включает в себя известный персональный компьютер 120 или т.п., включающий в себя блок 121 обработки данных (процессор), системную память 122 и системную шину 123, которая соединяет различные системные компоненты, в том числе системную память, с блоком 121 обработки данных. Системная шина 123 может быть любой из нескольких типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, с использованием любой из многообразия шинных архитектур. Системная память включает в себя постоянное запоминающее устройство 124 (ПЗУ, ROM) и оперативное запоминающее устройство 125 (ОЗУ, RAM). Базовая система 126 ввода-вывода (BIOS), содержащая в себе базовые процедуры, которые помогают передавать информацию между элементами в персональном компьютере 120, к примеру, в ходе загрузки, сохранена в ПЗУ 124.

Персональный компьютер 120 может дополнительно включать в себя накопитель 127 на жестких дисках для считывания и записи на жесткий диск (не показан), магнитный дисковод 128 для считывания и записи на сменный магнитный диск 129 и оптический дисковод 130 для чтения и записи на сменный оптический диск 131, такой как CD-ROM или другой оптический носитель. Накопитель 127 на жестких дисках, магнитный дисковод 128 и оптический дисковод 130 подключены к системной шине 123 посредством интерфейса 132 накопителя на жестких дисках, интерфейса 133 магнитного дисковода и интерфейса 134 оптического дисковода, соответственно. Накопители и дисководы и ассоциированные с ними машиночитаемые носители обеспечивают энергонезависимое хранение машиночитаемых команд, структур данных, программных модулей и других данных для ПК 120.

Хотя иллюстративная среда, описываемая в данном документе, использует жесткий диск, сменный магнитный диск 129 и сменный оптический диск 131, следует принимать во внимание, что другие типы машиночитаемых носителей, которые могут сохранять данные и к которым компьютер может осуществить доступ, могут также использоваться в иллюстративной рабочей среде. Такие другие типы носителей включают в себя магнитную дискету, карту флэш-памяти, цифровой видеодиск, картридж Бернулли, оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ) и т.п.

Ряд программных модулей может быть сохранен на жестком диске, магнитном диске 129, оптическом диске 131, в ПЗУ 124 или ОЗУ 125, в том числе операционная система (ОС) 135, одна или несколько прикладных программ 136, другие программные модули 137 и данные 138 программ. Пользователь может вводить команды и информацию в персональный компьютер 120 посредством устройств ввода, таких как клавиатура 140 и указательное устройство 142. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую тарелку, сканер и т.п. Эти и другие устройства ввода часто подключены к блоку 121 обработки данных через интерфейс 146 пользовательского ввода, который соединен с системной шиной 121, но могут быть подключены другими интерфейсами, такими как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 147 или другой тип устройства визуального отображения также подключен к системной шине 123 посредством интерфейса, такого как видеоадаптер 148. Помимо монитора 147, персональный компьютер в типичном случае включает в себя другие периферийные устройства вывода (не показаны), такие как динамики и принтеры. Иллюстративная система по фиг. 2 также включает в себя главный адаптер 155, шину 156 интерфейса малых компьютерных систем (SCSI) и внешнее устройство 162 хранения, подключенное к шине 156 SCSI.

Персональный компьютер 120 может работать в сетевой среде, используя логические соединения с одной или более удаленными компьютерами, такими как удаленный компьютер 149. Удаленным компьютером 149 может быть другой персональный компьютер, сервер, маршрутизатор, сетевой ПК, одноранговое устройство или другой общий узел сети и в типичном случае включает в себя многие или все из элементов, описанных выше относительно персонального компьютера 120, несмотря на то, что только запоминающее устройство 150 проиллюстрировано на фиг. 2. Логические соединения, показанные на фиг. 2, включают в себя локальную сеть (LAN) 151 и глобальную сеть (WAN) 152. Такие сетевые среды являются обычными в офисах, корпоративных вычислительных сетях, сетях интранет (локальных сетях, использующих технологии Интернет) и Интернете.

При использовании в сетевой среде LAN персональный компьютер 120 подсоединен к LAN 151 посредством сетевого интерфейса или адаптера 153. При использовании в сетевом окружении WAN персональный компьютер 120 в типичном случае включает в себя модем 154 или другое средство для установления связи через глобальную сеть 152, такую как Интернет. Модем 154, который может быть внутренним или внешним, подключен к системной шине 123 посредством интерфейса 146 последовательного порта. В сетевой среде программные модули, показанные относительно персонального компьютера 120 или их части, могут быть сохранены в удаленном запоминающем устройстве. Следует принимать во внимание, что показанные сетевые соединения являются иллюстративными, и другие средства установления линии связи между вычислительными машинами могут быть использованы.

ЦЕПНЫЕ ЛИЦЕНЗИИ 16 И ИХ ИСПОЛЬЗОВАНИЕ

В настоящем изобретении доступ к контенту 12 может быть осуществлен на вычислительном устройстве 14 в соответствии с системой 10 защиты контента, которая может обрабатывать последовательность или "цепочку" связанных или "цепных" лицензий 16.

Обращаясь теперь к фиг. 3, видно, что в случае, когда одна нецепная лицензия 16 привязана к одному пользователю, одной машине, одной группе пользователей или т.п., ее открытый ключ (PU-U) шифрует (KD) в рамках такой лицензии 16 для того, чтобы получить в результате (PU-U(KD)). Таким образом, только обладатель личного ключа (PR-U), соответствующего данному открытому ключу (PU-U), может осуществлять доступ к (KD) из такого (PU-U(KD)), при условии, конечно, что доверенный компонент 18 это разрешает. На практике такая нецепная лицензия 16 используется следующим образом. Предварительно пользователь выбирает пакет 13 контента с порцией контента 12, соответствующей лицензии 16, при этом контент 12 в пакете 13 уже зашифрован согласно ключу контента (KD) для того, чтобы получить в результате (KD(контент)). Пакет 13 также имеет идентификатор (ID) контента, или "KID", который идентифицирует контент 12. По меньшей мере, в некоторых случаях такой KID может представлять значение, из которого ключ контента (KD) для дешифрования контента 12 может быть извлечен.

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

Данная лицензия 16 предположительно включает в себя цифровую подпись на основе контента лицензии 16 и личного ключа издателя лицензии (PR-L), и, таким образом, эта подпись может быть проверена применением соответствующего открытого ключа издателя (PU-L) способом, который должен быть известен или очевиден имеющему к этому отношение кругу людей, при этом (PU-L) предположительно доступен доверенному компоненту 18. Соответственно, после выбора лицензии 16 доверенный компонент 18 фактически проверяет такую подпись, и в случае, если результат проверки положителен, осуществляется переход к использованию лицензии 16 для воспроизведения соответствующего контента 12.

В частности, и как было изложено выше, лицензия 16 также включает в себя правила или политику, которая должна быть оценена блоком 20 оценки лицензий и удовлетворена до разрешения воспроизведения контента 12. Таким образом, блок 20 оценки лицензий оценивает правила в лицензии 16 для того, чтобы определить, разрешают ли эти правила воспроизведение контента 12 искомым способом. Предполагая, что правила в действительности разрешают воспроизведение контента 12, доверенный компонент 18 находит (PU-U(KD)), как изложено в лицензии 16, и применяет (PR-U) к нему для выявления (KD), при этом (PR-U) предположительно доступен доверенному компоненту. Как теперь должно стать очевидным, доверенный компонент 18 может после этого применить (KD) к (KD(контент)) из пакета 13 контента для того, чтобы выявить контент 12, и затем пересылает выявленный контент 12 соответствующему приложению (не показано) для воспроизведения посредством него.

Опять же, одна нецепная лицензия 16 по фиг. 3 непосредственно привязывается к пользователю, машине, группе пользователя и т.д. посредством использования ее открытого ключа (PU-U) для того, чтобы зашифровать ключ контента (KD), и, соответственно, не требуются другие лицензии 16 для воспроизведения контента 12, соответствующего такой одной лицензии 16.

Тем не менее, обращаясь теперь к фиг. 4, в одном варианте осуществления настоящего изобретения цепная лицензия 16 привязывается к другой лицензии 16 для того, чтобы сформировать цепочку 24 таких лицензий 16, при этом каждая лицензия 16 в цепочке 24 должна быть в наличии и должна быть проверена, и правила в каждой цепной лицензии 16 должны быть удовлетворены для того, чтобы разрешить воспроизведение соответствующего контента 12. В таком варианте осуществления, и как показано, данная цепочка 24 включает в себя:

- "концевую" лицензию 16L с KID соответствующего контента 12 (KID1, в данном случае);

- "корневую" лицензию 16R, которая привязана к пользователю, машине, группе пользователя или т.п. посредством использования ее открытого ключа (PU-U) для того, чтобы зашифровать значение, которое должно быть дешифровано; и

- ноль, одну или более промежуточных лицензий 16I (одна показана на фиг. 4), соединяющих концевую лицензию 16L и корневую лицензию 16R для того, чтобы сформировать цепочку 24.

Как можно видеть, как и в случае нецепной лицензии 16, каждая из концевой лицензии 16I, корневой лицензии 16R и любой промежуточной лицензии 16I включает в себя KID (KID1, KID2, KID3 и т.д.), набор правил и цифровую подпись.

Как можно также видеть, концевая лицензия 16L и все промежуточные лицензии 16I в цепочке 24 отличаются от нецепной лицензии 16 тем, что каждая такая лицензия 16L, 16I дополнительно включает в себя KID(x+1) восходящей связи, указывающий на следующую лицензию 16 в цепочке 24 по направлению к корневой лицензии 16R, будь то промежуточная лицензия 16I или корневая лицензия 16R. Концевая лицензия 16L и все промежуточные лицензии 16I в цепочке 24 также отличаются от нецепной лицензии 16 тем, что один криптографический ключ, шифрующий другой криптографический ключ, не является (PU-U(KD)). Вместо этого в случае концевой лицензии 16L (KD) шифруется согласно симметричному ключу (KLx) связи. Как показано, такой (KLx) доступен из следующей лицензии 16 в цепочке 24 по направлению к корневой лицензии 16R. Аналогично, в случае любой промежуточной лицензии 16I симметричный ключ (KL(x-1)) связи, который должен быть использован в связи со следующей лицензией 16 в цепочке 24 по направлению к концевой лицензии 16L, шифруется согласно другому симметричному ключу (KLx) связи, при этом данный другой ключ (KLx) вновь доступен из следующей лицензии 16 в цепочке 24 по направлению к корневой лицензии 16R.

Как можно дополнительно видеть, корневая лицензия 16R в цепочке 24 не включает в себя какой-либо KID(x+1) восходящей связи, особенно ввиду того, что корневая лицензия 16R находится в конце цепочки 24. Важно, что в корневой лицензии 16R один криптографический ключ, шифрующий другой криптографический ключ, не является (PU-U(KD)), в вместо этого является (PU-U), шифрующим симметричный ключ (KL(x-1)) связи, который должен быть использован в связи со следующей лицензией 16 в цепочке 24 по направлению к концевой лицензии 16L (т.е. (PU-U(KL(x-1))).

Как следует теперь принять во внимание, с помощью цепочки 24 лицензий 16, как ранее было описано, каждая лицензия 16, будь то концевая лицензия 16L или промежуточная лицензия 16I, сцепляется со следующей лицензией 16 по направлению к корневой лицензии 16R посредством включения в нее KID(x+1) восходящей связи для каждой следующей лицензии 16. Помимо этого, корневая лицензия 16R привязывается к пользователю, машине, группе пользователей и т.п. посредством (PU-U(KL(x-1))) в ней. Соответственно, каждая лицензия 16, будь то корневая лицензия 16R или промежуточная лицензия 16I, сцепляется со следующей лицензией 16 по направлению к концевой лицензии 16L посредством включения в нее симметричного ключа (KL(x-1)) связи для каждой следующей лицензии 16. Наконец, следует помнить, что концевая лицензия 16L имеет ключ контента (KD) для дешифрования защищенного контента 12.

Как можно теперь принять во внимание, цепочка 24 лицензий 16, как изложено в связи с фиг. 4, используется посредством следования KID1 в порции контента 12 к концевой лицензии 16L, имеющей такой KID1, и затем посредством следования KID(x+1) восходящей связи (KID2, KID3 и т.д.) в каждой лицензии 16 цепочки 24, пока корневая лицензия 16R без такого KID(x+1) восходящей связи не будет найдена. После этого (PR-U) применяется к (PU-U(Kl(x-1))) из корневой лицензии 16R для того, чтобы выявить ключ (KL(x-1)) связи для следующей лицензии 16 в направлении концевой лицензии 16L, и цепочку 24 проходят в противоположном направлении, в ходе чего на каждом этапе (KLx(KL(x-1))) дешифруется для того, чтобы выявить (KL(x-1)), если лицензия 16 - это промежуточная лицензия 16I, иначе (KL1(KD)) дешифруется для того, чтобы выявить (KD), если лицензия 16 - это концевая лицензия 16L.

Важно, что каждая лицензия 16 в конкретной цепочке 24 оценивается независимо относительно того, положителен ли результат проверки ее цифровой подписи и разрешают ли ее правила воспроизведение цифрового контента 12 искомым способом. Для цепочки 24 лицензий, для того чтобы обеспечить возможность воспроизведения контента, в таком случае каждая лицензия 16 должна разрешить это воспроизведение. Данные о состоянии в защищенном хранилище 22 состояний, такие как счетчики действий, сохраняются для каждой лицензии 16 и обрабатываются независимо для каждой лицензии 16 в цепочке 24. Например, если корневая лицензия 16R и концевая лицензия 16L образуют законченную цепочку 24 для конкретного контента 12 и каждая имеет счетчики проигрывания, причем как счетчик проигрывания для корневой лицензии 16R, так и счетчик проигрывания для концевой лицензии 16L отрегулированы надлежащим образом, когда цепочка 24 используется для воспроизведения контента 12. Если какой-либо счетчик проигрывания запретит воспроизведение контента 12, контент 12 фактически не воспроизводится, даже если другой счетчик проигрывания может фактически разрешать воспроизведение контента 12.

Со ссылкой на фиг. 5 способ использования цепочки 24 лицензий, такой как показанная на фиг. 4, раскрывается более подробно. Предварительно предполагается, что каждая лицензия 16 в цепочке 24 по фиг. 4 присутствует на вычислительном устройстве 14, имеющем контент 12, который должен быть воспроизведен на основе такой цепочки 24, включая концевую лицензию 16L с KID2 восходящей связи и (KL1(KD)); любую промежуточную лицензию 16I с KID(x+1) восходящей связи (KID3, KID4 и т.д.) и (KLx(KL(x-1))); а также корневую лицензию 16R с (PU-U(KL(x-1))).

После приема запроса в отношении воспроизведения контента 12 (этап 501) доверенный компонент 18 на вычислительном устройстве определяет KID1, ассоциированный с таким контентом 12 (этап 503), находит лицензию 16 в хранилище на вычислительном устройстве, имеющую такой KID1 (этап 505), и проверяет эту найденную лицензию 16 и удостоверяется в том, что правила найденной лицензии 16 разрешают воспроизведение контента 12 искомым способом (этап 507). Заметим, что доверенный компонент 18 не знает на данный момент, является ли найденная лицензия 16 концевой лицензией 16L или нецепной лицензией 16. Таким образом, при условии, что результат проверки найденной лицензии 16 положительный, и эта лицензия разрешает воспроизведение контента 12, доверенный компонент 18 затем определяет, имеет ли найденная лицензия 16 KID восходящей связи (KID2, в данном случае) (этап 509). Как должно быть теперь очевидно, если найденная лицензия 16 не имеет KID2 восходящей связи, эта найденная лицензия 16 является нецепной лицензией 16 и не концевой лицензией 16L, и обработка не цепной лицензии 16 продолжается, как показано на фиг. 5, посредством этапов 511, 513 и после этого 523.

Тем не менее, и как теперь также должно быть очевидным, если найденная лицензия 16 фактически имеет KID2 восходящей связи, данная найденная лицензия 16 - это концевая лицензия 16L, и обработка, таким образом, переходит к этапу 505, где доверенный компонент находит лицензию 16 (промежуточную лицензию 16I или корневую лицензию 16R) в хранилище лицензий на вычислительном устройстве, имеющую такой KID2 (восходящей связи), и проверяет данную найденную лицензию 16 и удостоверяется в том, что правила найденной лицензии 16 разрешают воспроизведение контента 12 искомым способом, как на этапе 507. Заметим при этом, что доверенный компонент 18 не знает на данный момент, является ли найденная лицензия 16 промежуточной лицензией 16I или корневой лицензией 16R. Таким образом, при условии, что результат проверки найденной лицензии 16 положителен и эта лицензия разрешает воспроизведение контента 12, доверенный компонент 18 снова определяет, имеет ли найденная лицензия 16 KID восходящей связи (KID3, в данном случае), как на этапе 509. Как должно быть очевидным при этом, если найденная лицензия 16 не имеет KID3 восходящей связи, данная найденная лицензия 16 - это корневая лицензия 16R, и обработка, таким образом, переходит к этапу 511 (см. ниже), где цепочку 24 лицензий 16 проходят обратно по направлению к концевой лицензии 16L.

Тем не менее, и как также должно быть очевидно при этом, если найденная лицензия 16 фактически имеет KID3 восходящей связи, данная найденная лицензия 16 - это промежуточная лицензия 16I, и обработка, таким образом, снова переходит к этапу 505. Таким образом, одна или несколько промежуточных лицензий 16I обрабатываются до тех пор, пока корневая лицензия 16R не будет найдена по отсутствию KID(x+1) восходящей связи в ней на этапе 509.

После фактического определения того, что найденная лицензия 16 - это корневая лицензия 16R, доверенный компонент 18 продолжает обработку посредством получения из найденной корневой лицензии 16R (PU-U(KL(x-1))), который содержится в ней (этап 511), и применения (PR-U) к данному (PU-U(KL(x-1))) для того, чтобы выявить (KL(x-1)) (этап 513). Заметим, что доверенный компонент 128, таким образом, предположительно обладает данным (PR-U). Также заметим, что, как было изложено выше, выявленный (KL(x-1)) должен быть использован относительно следующей лицензии 16 по направлению к концевой лицензии 16L. Заметим дополнительно, что для выявленного (KL(x-1)), который должен быть использован относительно следующей лицензии 16 по направлению к концевой лицензии 16L, доверенный компонент 18 должен отслеживать лицензии 16 в цепочке 24 и их порядок в ней, который был установлен при прохождении по направлению к корневой лицензии 16R, либо посредством хранения соответствующего списка (не показан), либо другим способом.

Таким образом, для каждой найденной промежуточной лицензии 16I в цепочке 24 и в порядке от корневой лицензии 16R к концевой лицензии 16L доверенный компонент 18 получает из этой промежуточной лицензии 16I (KLx(KL(x-1))), который содержится в ней (этап 515), и применяет (KLx) к данному (KLx(KL(x-1))) для выявления (KL(x-1)) (этап 517). Как следует теперь принять во внимание, для любой конкретной промежуточной лицензии 16I (KLx), который должен быть применен к ее (KLx(KL(x-1))), устанавливается из следующей лицензии 16 по направлению к корневой лицензии 16R, будь это данная корневая лицензия 16R или другая промежуточная лицензия 16I.

Наконец, после того, как доверенный компонент 18 получает (KL1) из последней промежуточной лицензии 16l по направлению к концевой лицензии 16I, как на этапе 517, этот доверенный компонент 18 затем получает из концевой лицензии 16L (KL1(KD)), который содержится в ней (этап 519), применяет (KL1) к данному (KL1(KD)) для выявления (KD) (этап 521) и применяет (KD) к (KD(контент)) из пакета 13 контента, чтобы выявить контент 12 (этап 523).

Конечно, если цепочка 24 не включает в себя промежуточных лицензий 16I, как определено на этапе 514, то корневая лицензия 16R включает в себя (PU-U(KL1)), и процесс продолжается с этапа 513 непосредственно на этап 519.

Как может далее быть очевидным из фиг. 5, обработка лицензий 16 доверенным компонентом 18 не требует, чтобы каждая найденная лицензия 16 была помечена фактически как нецепная лицензия 16, концевая лицензия 16L, промежуточная лицензия 16I, корневая лицензия 16R или т.п. Взамен, является типичным в настоящем изобретении, что: (1) лицензия 16, имеющая KID порции контента 12 и не имеющая (KID(x+1)) восходящей связи, является нецепной лицензией 16; (2) лицензия 16, имеющая KID порции контента 12 и (KID(x+1)) восходящей связи, является концевой лицензией 16L; (3) лицензия 16, имеющая KIDx, на который ссылается (KID(x+1)) восходящей связи другой лицензии 16, и сама, имеющая (KID(x+1)) восходящей связи, является промежуточной лицензией 16I; и (4) лицензия 16, имеющая KIDx, на который ссылается (KID(x+1)) восходящей связи другой лицензии 16, и сама, не имеющая (KID(x+1)) восходящей связи, является корневой лицензией 16R. Однако отметим, что могут иметь место случаи, когда, например, лицензия 16 может быть как промежуточной лицензией 16I относительно некоторой порции контента 12, так и концевой лицензией 16L относительно другой порции контента 12. Однако на настоящий момент предполагается, что такой случай нецелесообразен, поскольку является как излишним, так и вводящим в заблуждение в действии.

Как до сих пор излагалось в настоящем описании изобретения, лицензии 16 могут быть связаны друг с другом линейным образом в качестве цепочки 24. Однако должно быть принято во внимание, что лицензии 16 могут быть также связаны друг с другом иерархическим образом в качестве дерева, имеющего множество таких цепочек 24. Например, в случае дерева может быть, что KID конкретной корневой лицензии 16R является KID восходящей связи каждой из множества промежуточных лицензий 16I на первом подуровне, что для каждой из множества промежуточных лицензий 16I на первом подуровне ее KID является KID восходящей связи каждой из множества промежуточных лицензий 16I на втором подуровне, и что для каждой из множества промежуточных лицензий 16I на втором подуровне ее KID является KID восходящей связи каждой из большого количества концевых лицензий 16L на третьем подуровне. Более того, может быть случай, в котором имеют место дополнительные концевые лицензии 16L на любом одном из первого и второго подуровней с идентификаторами KID восходящей связи, соответственно ссылающимися на различные промежуточные лицензии 16I на первом подуровне и корневую лицензию 16R. В особенности, что касается любой концевой лицензии 16L в таком иерархическом дереве лицензий 16, цепочку 24 лицензий 16 все равно можно найти между такими концевыми лицензиями 16L и корневой лицензией 16R такого дерева, и следовательно, процесс, изложенный в связи с фиг. 5, может быть по-прежнему использован.

Более того, должно быть принято во внимание, что в случае иерархически организованного дерева лицензий 16, правила, установленные в корневой лицензии 16R такого дерева, должны быть удовлетворены, и результат проверки такой корневой лицензии 16R должен быть положительным для воспроизведения любой порции контента 12, связанного с деревом. Подобным образом, для подветви дерева, которая представлена промежуточной лицензией 16I, правила, установленные в такой промежуточной лицензии 16I этой ветви, должны быть удовлетворены, и результат проверки такой промежуточной лицензии 16I должен быть положительным для воспроизведения любой порции контента 12, связанного с ветвью. В качестве результата, и как может быть принято во внимание, одиночная лицензия 16 в дереве может управлять воспроизведением в связи с многими концевыми лицензиями 16L, которые ответвляются от такой одиночной лицензии 16 в дереве. Например, аннулирование, истечение срока действия и т.п. в отношении такой одиночной лицензии 16 в дереве могло бы предотвратить любое воспроизведение в связи с такими концевыми лицензиями 16L, которые ответвляются от этой одиночной лицензии 16 в дереве.

В одном из предусмотренных сценариев многочисленные концевые лицензии 16L привязаны либо непосредственно, либо опосредованно к корневой лицензии 16R, срок действия которой истекает ежемесячно. Таким образом, чтобы предоставить пользователю возможность просматривать контент 12, связанный с такими концевыми лицензиями 16L, например, контент 12, организованный в библиотеку, служба подписки могла бы переиздавать корневую лицензию 16R каждый месяц для пользователей, которые на нее подписываются. Как может быть очевидным, переиздание корневой лицензии 16R значительно проще и быстрее, чем переиздание каждой концевой лицензии 16L.

Заметим, что может иметь место случай, где, для примера, дерево включает в себя циклическую или замкнутую часть. Несмотря на то, что технически это осуществимо, например, в случае, когда лицензия 16 может включать в себя многочисленные идентификаторы KID восходящей связи, к которым можно осуществить условный доступ, на настоящий момент предполагается, что такой вариант нецелесообразен, поскольку является как излишним, так и вводящим в заблуждение при построении и действии.

Как можно принять во внимание в связи с настоящим изобретением, будет полезным предоставлять текущие данные о лицензии в ходе получения концевой лицензии 16L или промежуточной лицензии 16I о других лицензиях 16, которые могут быть в цепочке 24 по направлению и включая корневую лицензию 16R, которые необходимы для воспроизведения соответствующего контента 12. Также, сам контент 12 может иметь аналогичные текущие данные о лицензии. Эти данные о лицензии могут содержать список идентификаторов KID/идентификаторов KID восходящей связи. На основе этих данных о лицензии система 10 защиты контента и/или ее доверенный компонент 18 может выдавать запросы на необходимые лицензии 16 цепочки при необходимости. Эти данные о лицензии могут также быть полезны в ходе получения корневой лицензии, возможно для того, чтобы описать дерево доступных промежуточных и концевых лицензий 16I, 16L, помимо прочего.

Заключение

Настоящее изобретение может быть реализовано на практике относительно любого подходящего контента 12 и лицензий 16, организованных посредством любого конкретного способа привязки. Теперь следует принять во внимание, что с помощью настоящего изобретения, как изложено в данном документе, управление воспроизведением контента 12 может осуществляться согласно более чем просто одной соответствующей лицензии 16, и, в частности, может осуществляться на основе множества лицензий 16, результат проверки каждой из которых должен быть положительным и каждая из которых должна быть удовлетворена.

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

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

1. Способ воспроизведения зашифрованного цифрового контента на вычислительном устройстве в соответствии с цепочкой лицензий, при этом каждая лицензия содержит правила, которые должны быть удовлетворены перед воспроизведением цифрового контента, цифровую подпись и идентификатор (KID), причем упомянутая цепочка включает в себя концевую лицензию, связанную посредством KID этой концевой лицензии с контентом, на одном конце цепочки, корневую лицензию на другом конце цепочки и по меньшей мере одну промежуточную лицензию между ними, причем концевая лицензия и каждая из упомянутой по меньшей мере одной промежуточной лицензии в цепочке привязаны к соседней лицензии в цепочке по направлению к корневой лицензии посредством KID восходящей связи, а корневая лицензия привязана к владельцу личного ключа (PR-U) посредством открытого ключа (PU-U), при этом способ содержит этапы, на которых:
принимают запрос на воспроизведение контента;
находят цепочку лицензий, соответствующих этому контенту, посредством изначального нахождения концевой лицензии на вычислительном устройстве, причем данная концевая лицензия связана посредством своего KID с контентом, определения того, что найденная концевая лицензия имеет KID восходящей связи, и последующего следования по KID(x+1) восходящей связи в каждой лицензии упомянутой цепочки до тех пор, пока не будет найдена корневая лицензия, для которой нет такого KID(х+1) восходящей связи;
для каждой найденной лицензии в цепочке проверяют цифровую подпись этой лицензии и подтверждают, что правила данной лицензии удовлетворены;
получают криптографический ключ для дешифрования контента из концевой лицензии, при этом
получают из корневой лицензии ключ связи (KL(х-1)) соседней (х-1)-й лицензии по направлению к концевой лицензии, зашифрованный согласно открытому ключу (PU-U), для того чтобы получить в результате PU-U(KL(x-1)), применяют личный ключ (PR-U), соответствующий PU-U, к PU-U(KL(x-1)) для выявления KL(x-1), для каждой найденной лицензии в упомянутой цепочке между концевой лицензией и корневой лицензией, в порядке от корневой лицензии к концевой лицензии:
получают из (х)-й лицензии ключ связи соседней (х-1)-й лицензии по направлению к концевой лицензии (KL(x-1)), зашифрованный согласно ключу связи (х)-й лицензии (KLx), для того чтобы получить в результате KLx(KL(x-1)), и
применяют KLx к KLx(KL(x-1)) для выявления KL(х-1), при этом KLx выявляется в связи с (х+1)-й лицензией в цепочке, до тех пор, пока не будет выявлен KL1;
получают из концевой лицензии ключ контента (KD) для дешифрования контента, зашифрованный согласно KL1, для того чтобы получить в результате KL1(KD), и
применяют KL1 к KL1(KD) для выявления KD;
применяют KD к зашифрованному контенту, чтобы дешифровать его; и воспроизводят дешифрованный контент.

2. Способ по п.1, в котором этапы нахождения цепочки лицензий, соответствующих контенту, проверки цифровых подписей лицензий и подтверждения того, что правила лицензий удовлетворены, дополнительно содержат этапы, на которых:
определяют идентификатор контента, ассоциированный с упомянутым контентом;
находят концевую лицензию в вычислительном устройстве, имеющую такой идентификатор контента в качестве KID, причем концевая лицензия является первой лицензией;
проверяют цифровую подпись найденной первой лицензии и подтверждают, что правила найденной первой лицензии удовлетворены; и многократно:
находят (х)-ю лицензию в вычислительном устройстве, имеющую KID восходящей связи найденной (х-1)-й лицензии,
проверяют цифровую подпись найденной (х)-ю лицензии и
подтверждают, что правила найденной (х)-й лицензии удовлетворены, и определяют, имеет ли найденная (х)-я лицензия KID восходящей связи, до тех пор, пока не будет определено, что найденная (х)-я лицензия не имеет KID восходящей связи и поэтому является корневой лицензией.

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

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

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



 

Похожие патенты:

Изобретение относится к системе для записи цифровых данных информационного содержания и воспроизведения информационного содержания. .

Изобретение относится к области обработки информации. .

Изобретение относится к передаче данных, в частности к эффективной передаче криптографической информации в протоколе безопасности реального времени. .

Изобретение относится к системам обработки данных и, в частности, к способам и устройствам обеспечения криптографической защиты в системе обработки данных. .

Изобретение относится к области защиты информации в компьютерных сетях передачи данных. .

Изобретение относится к области кодирования и передачи криптографических ключей через открытое пространство. .

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

Изобретение относится к системам и способам для координации программных компонентов в программном продукте. .

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

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

Изобретение относится к системе и способу генерации Санкционированного (Авторизованного) Домена (AD). .

Изобретение относится к области защищенных коммуникационных сетей. .

Изобретение относится к аутентификации личности по отпечаткам пальцев. .

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

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

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

Изобретение относится к области управления безопасностью операционных систем семейства Windows (в т.ч
Наверх