Перекрестная ссылка на связанную заявку
Настоящая заявка испрашивает приоритет предварительной патентной заявки США №60/710185, поданной 22 августа 2005 г., озаглавленной «DRM License Migration Process for Protected Content».
Область техники
Настоящее изобретение относится к способу и устройству для миграции (перемещения) цифровой лицензии с первой вычислительной платформы на вторую вычислительную платформу. Более конкретно, настоящее изобретение относится к способу и устройству для отделения лицензии от первой платформы и привязки лицензии ко второй платформе и для обеспечения того, что лицензия не может использоваться на первой платформе после миграции (перемещения) на вторую платформу.
Предшествующий уровень техники
Управление правами и обеспечение выполнения прав является весьма желательным в связи с цифровым контентом, таким как цифровая презентация, цифровое аудио- или видеопроизведение, цифровое приложение и тому подобное, где такой цифровой контент должен распространяться к одному или более пользователей. Типовые режимы распространения включают в себя материальные устройства, такие как магнитный (гибкий) диск, магнитная лента, оптический (компакт) диск (CD) и т.д., и неосязаемые среды, такие как электронная доска объявлений, электронная сеть, Интернет и т.д. После приема его пользователем на вычислительном устройстве такой пользователь может воспроизвести контент с помощью соответствующей операционной системы на вычислительном устройстве.
В типовом случае автор и/или издатель контента желает распространять такой контент каждому из множества пользователей или получателей в обмен на лицензионную плату или некоторое другое возмещение. Такой автор/издатель или иной подобный объект (далее «издатель») при наличии условий, вероятно, желал бы ограничить то, что пользователь может делать с таким опубликованным контентом. Например, издателю было бы желательным ограничить пользователя в копировании и повторном распространении такого контента второму пользователю, по меньшей мере, способом, лишающим издателя лицензионной платы от второго пользователя.
Однако после того как публикация произошла, издатель имеет очень незначительный, если вообще имеет, действительный контроль над контентом. Это особенно проблематично ввиду того факта, что практически каждый персональный компьютер включает в себя программное обеспечение и аппаратные средства для изготовления точной цифровой копии такого контента и для загрузки такой точной цифровой копии на магнитный или оптический диск с возможностью записи или для посылки такой точной цифровой копии по сети, такой как Интернет, в любое место назначения.
Разумеется, в качестве части транзакции при распространении контента издатель может потребовать от пользователя/получателя контента обещать не распространять дополнительно такой контент неразрешенным способом. Однако такое обещание легко дать и легко нарушить. Издатель может пытаться препятствовать такому повторному распространению посредством каких-либо из различных известных устройств, обычно связанных с шифрованием и дешифрованием. Однако без особого труда может быть найден относительно простой способ для умеренно опытного пользователя, чтобы дешифровать зашифрованный контент, сохранить такой контент в незашифрованной форме и затем повторно распространить его.
Архитектуры и методы управления правами и обеспечения исполнения прав ранее были предусмотрены для обеспечения возможности контролируемого оперирования различными формами цифрового контента, где такой контроль является гибким и определяемым издателем такого контента. В типовом случае цифровая лицензия обеспечивается для оперирования контентом, где контент не может быть активирован осмысленным образом без наличия такой лицензии. Например, может иметь место случай, когда, по меньшей мере, часть контента зашифрована, и лицензия включает в себя ключ дешифрования для дешифрования такой зашифрованной части. Кроме того, может иметь место случай, когда лицензия привязана к пользователю, вычислительному устройству, операционной системе на вычислительном устройстве или некоторой их комбинации (далее «платформы»), и такое вычислительное устройство включает в себя признак защиты, который гарантирует, что параметры лицензии принимаются во внимание. Следует отметить, что за счет привязки к конкретной платформе лицензия не может быть использована для воспроизведения контента на какой-либо другой платформе.
Такая цифровая лицензия в типовом случае включает в себя набор прав и условий, которые управляют использованием соответствующего контента на вычислительном устройстве. Таким образом, каждая лицензия устанавливает стратегии, которые предоставляют определенные права на определенную функциональность. При цифровых лицензиях издатель может предоставить пользователю различные права в отношении части контента путем предоставления различных лицензий в соответствии с такими различными правами. Например, издателю может быть желательным предоставить полнофункциональную лицензию по повышенной цене и ограниченно функциональную лицензию по более низкой цене.
В случае, когда лицензия привязана к конкретной платформе, такая привязка может быть реализована посредством любой из различных функций. В качестве одного примера, это может быть случай, когда каждая платформа имеет соответствующий идентификатор (ID), лицензия включает в себя ID платформы, и лицензия не используется для воспроизведения соответствующего контента на конкретной платформе, если только не подтверждается, что ID платформы согласуется с ID платформы в лицензии. В качестве другого примера, может иметь место случай, когда информация, которая должна быть получена из лицензии, такая как, например, ключ контента для дешифрования соответствующего зашифрованного контента, сама зашифрована согласно ключу, который является доступным только из конкретной платформы. В любом примере, и вновь с привязкой к конкретной платформе, лицензия не может использоваться для воспроизведения контента на какой-либо другой платформе.
Понятно, что хотя одна или более лицензий могут быть привязаны к конкретной платформе, могут иметь место действительные и/или обоснованные причины того, почему пользователь таких лицензий должен был бы иметь возможность переносить или «мигрировать» их на другую платформу. В качестве одного примера, может иметь место то, что платформа включает в себя первый компьютер пользователя, а пользователь желает перенести права, содержащиеся в лицензии, с первого компьютера на второй компьютер. В качестве другого примера, может иметь место то, что платформа включает в себя первую операционную систему на компьютере пользователя, и пользователь желает перенести права воспроизведения, содержащиеся в лицензии, с первой операционной системы на вторую операционную систему на компьютере. В еще одном случае, издатель, который выпустил каждую лицензию, предположительно, не будет испытывать негативного воздействия от переноса такой лицензии с одной платформы на другую, и пользователь, который потратил некоторую сумму средств на приобретение каждой лицензии, не несет виртуальной потери такой лицензии просто из-за смены платформы.
Однако понятно, что разрешение миграции лицензии с одной платформы на другую должно быть выполнено таким способом, чтобы пользователь не мог злоупотреблять возможностью миграции такой лицензии с первой платформы на вторую платформу. В частности, такому пользователю не должно быть разрешено копировать лицензию на вторую платформу и, возможно, на другие платформы. То есть пользователь, после переноса лицензии с первой платформы на вторую платформу, должен после такой миграции иметь лицензию, привязанную только ко второй платформе, но не к первой платформе или к какой-либо другой платформе.
Соответственно имеется необходимость в способе и механизме для того, чтобы цифровая лицензия могла быть перемещена с действующей для воспроизведения соответствующей части контента на первой платформе на действующую для воспроизведения соответствующую часть контента на второй платформе. Более конкретно, существует необходимость в способе и механизме для того, чтобы цифровая лицензия могла быть отделена от первой платформы и заново привязана ко второй платформе, и для обеспечения того, чтобы лицензия не могла быть использована на первой платформе или какой-либо другой платформе после миграции на вторую платформу.
Сущность изобретения
Вышеуказанные потребности удовлетворены, по меньшей мере, частично, настоящим изобретением, в котором предложен способ, относящийся к цифровой лицензии, связанной с исходной платформой, где цифровая лицензия позволяет воспроизводить цифровой контент на исходной платформе. Контент зашифрован и может дешифроваться на основе ключа дешифрования (KD), причем лицензия связана с исходной платформой путем включения в нее (KD), зашифрованного и дешифруемого в соответствии с криптографическим ключом исходной платформы, при этом только исходная платформа нормально может извлечь (KD). Способ обеспечивает перемещение лицензии с исходной платформы на целевую платформу.
На исходной платформе формируется изображение миграции (образ перемещения) для включения в него лицензии и соответствующих данных, причем лицензия и криптографический ключ исходной платформы удаляются из исходной платформы. Таким образом, замена удаленной лицензии в исходной платформе не позволит воспроизводить соответствующий контент на исходной платформе, поскольку криптографический ключ исходной платформы не будет иметься для доступа к (KD) из такой замененной лицензии.
На целевой платформе сформированное изображение миграции
(образ перемещения) считывается и запрашивается разрешение из централизованной услуги миграции (перемещения), удаленной относительно целевой платформы, чтобы переместить лицензию в изображении миграции на целевую платформу. Услуга миграции определяет, следует ли разрешить миграцию лицензии на основе предварительно определенной политики миграции. После приема запрошенного разрешения, в качестве ответа из услуги миграции, изображение миграции применяется к целевой платформе. В частности, ответ включает в себя криптографический ключ исходной платформы в форме, доступной для целевой платформы, и целевая платформа отделяет лицензию от исходной платформы с криптографическим ключом исходной платформы, чтобы извлечь (KD), заново привязывает отделенную лицензию к целевой платформе посредством включения в нее (KD), зашифрованного и дешифруемого в соответствии с криптографическим ключом целевой платформы, сохраняет заново привязанную лицензию к целевой платформе и сохраняет соответствующие данные на целевой платформе.
Краткое описание чертежей
Приведенное выше краткое описание и последующее детальное описание вариантов осуществления настоящего изобретения будут более понятны при изучении вместе с приложенными чертежами. Для целей иллюстрации изобретения на чертежах показаны варианты осуществления, которые рассматриваются в настоящее время как предпочтительные. Однако должно быть понятно, что изобретение не ограничивается точными показанными конфигурациями и инструментальными средствами. На чертежах показано следующее:
фиг.1 - блок-схема, представляющая пример неограничительной вычислительной среды, в которой может быть реализовано настоящее изобретение;
фиг.2 - блок-схема, показывающая примерную сетевую среду, имеющую множество вычислительных устройств, в которых может быть реализовано настоящее изобретение;
фиг.3 - блок-схема, показывающая архитектуру обеспечения права на примере системы, основанной на доверии, включающей в себя цифровую лицензию, в соответствии с вариантом осуществления настоящего изобретения;
фиг.4 - блок-схема, показывающая исходную платформу, целевую платформу и услуги миграции для определения, следует ли разрешить лицензии на исходной платформе мигрировать на целевую платформу, в соответствии с вариантом осуществления настоящего изобретения;
фиг.5 - блок-схема, показывающая основные этапы, выполняемые на исходной платформе по фиг.4, при создании изображения миграции с лицензией в соответствии с вариантом осуществления настоящего изобретения;
фиг.6 - блок-схема, показывающая основные этапы, выполняемые на целевой платформе по фиг.4, при потреблении изображения миграции с лицензией в соответствии с вариантом осуществления настоящего изобретения.
Детальное описание изобретения
Вычислительная среда
Фиг.1 и последующее описание предназначены для предоставления краткого обобщенного описания подходящей вычислительной среды, в которой может быть реализовано настоящее изобретение. Однако следует иметь в виду, что портативные, переносные и другие вычислительные устройства всех типов могут быть использованы в связи с настоящим изобретением. Хотя ниже описан универсальный компьютер, это приведено только в качестве примера, и настоящее изобретение требует только тонкого клиента, имеющего свойства взаимодействия с сетевым сервером. Таким образом, настоящее изобретение может быть реализовано в среде сетевых централизованных услуг, где предполагаются очень незначительные или минимальные клиентские ресурсы, то есть в сетевой среде, в которой клиентское устройство служит только в качестве браузера или интерфейса с всемирной паутиной (WWW).
Хотя не требуется, однако изобретение может быть реализовано посредством интерфейса прикладного программирования (API) для использования разработчиком и/или включено в сетевое программное обеспечение поиска путем просмотра, что должно описываться в общем контексте исполняемых компьютером инструкций, таких как программные модули, исполняемые одним или более компьютерами, таких как клиентские рабочие станции, серверы или другие устройства. В общем случае программные модули включают в себя стандартные программы, программы, объекты, компоненты, структуры данных и т.п. для выполнения конкретных задач или реализации конкретных абстрактных типов данных. В типовом случае функциональность программных модулей может комбинироваться или распределяться, как желательно, в различных вариантах осуществления. Кроме того, специалистам в данной области техники должно быть понятно, что изобретение может быть реализовано с другими конфигурациями вычислительных систем. Другие хорошо известные вычислительные системы, среды и/или конфигурации, которые могут подходить для использования с изобретением, включают, без ограничения указанным, персональные компьютеры, автоматические кассовые аппараты, серверные компьютеры, портативные или переносные устройства, мультипроцессорные системы, основанные на микропроцессорах системы, приставки, программируемую бытовую электронику, сетевые персональные компьютеры, миникомпьютеры, универсальные компьютеры (мэйнфреймы) и т.п. Изобретение также может быть реализовано в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки, которые связаны коммуникационной сетью или иной средой передачи данных. В распределенной вычислительной среде программные модули могут располагаться как на локальных, так и на удаленных компьютерных носителях для хранения информации, включая запоминающие устройства.
На фиг.1 представлен пример подходящей среды 100 вычислительной системы, на которой может быть реализовано настоящее изобретение, хотя, как указано выше, среда 100 вычислительной системы приведена только в качестве примера подходящей вычислительной среды и не предусматривает никакого ограничения объема использования или функциональности изобретения. Среда 100 вычислительной системы не должна интерпретироваться как имеющая какую-либо зависимость или требование в отношении какого-либо одного или комбинации компонентов, показанных в приведенной для примера операционной среде.
Как показано на фиг.1, приведенная для примера система для реализации изобретения содержит универсальное вычислительное устройство в форме компьютера 110. Компоненты компьютера 110 могут включать в себя, без ограничения указанным, процессорный блок 120, системную память 130 и системную шину 121, которая связывает различные компоненты системы, включая системную память с процессорным блоком 120. Системная шина 121 может быть любым из различных типов шинных структур, включающих шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из различных шинных архитектур. В качестве примера, но не ограничения, такие архитектуры включают в себя шину ISA (архитектуры промышленного стандарта), шину МСА (микроканальной архитектуры), шину EISA (усовершенствованной ISA), локальную шину VESA (Ассоциации стандартов по видеоэлектронике), шину PCI (межсоединений периферийных компонентов), также известную как шина расширения.
Компьютер 110 обычно включает в себя множество машиночитаемых носителей. Машиночитаемые носители могут представлять собой любые носители, к которым может обращаться компьютер 110, и включают в себя как энергозависимые, так и энергонезависимые носители, съемные и несъемные носители. Также в качестве примера, но не ограничения, машиночитаемые носители могут включать в себя компьютерные носители для хранения данных и коммуникационную среду. Компьютерные носители для хранения данных включают в себя как энергозависимые, так и энергонезависимые носители, съемные и несъемные носители, реализованные любым способом и по любой технологии хранения информации, такой как считываемые компьютером команды, структуры данных, программные модули и другие данные. Компьютерные носители для хранения данных включают в себя, без ограничения указанным, ОЗУ, ПЗУ, ЭСППЗУ, флэш-память и другие технологии памяти, ПЗУ на компакт-дисках (CD-ROM), цифровые многофункциональные диски (DVD) или другие устройства памяти на оптических дисках, магнитные кассеты, магнитную ленту, устройства памяти на магнитных дисках или другие магнитные запоминающие устройства, или любые другие носители, которые могут быть использованы для хранения полезной информации и к которым может обращаться компьютер 100. Коммуникационные среды в типовом случае воплощают считываемые компьютером команды, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущее колебание или другой транспортный механизм, и включают в себя любую среду доставки информации. Термин «модулированный сигнал данных» означает сигнал, у которого одна или более из его характеристик установлена или изменяется таким способом, чтобы кодировать информацию в сигнале. В качестве примера, но не ограничения, среды передачи включают в себя проводные среды, такие как проводные сети или прямые проводные соединения, и беспроводные среды, такие как акустические, радиочастотные и инфракрасные и другие беспроводные среды. Комбинации любых средств из указанных выше также могут быть включены в объем машиночитаемых носителей.
Системная память 130 включает в себя компьютерные носители для хранения данных в форме энергозависимой и/или энергонезависимой памяти, такие как ПЗУ 131 и ОЗУ 132. Базовая система ввода/вывода (BIOS) 133, содержащая базовые стандартные подпрограммы для обеспечения переноса информации между элементами в компьютере 110, например, в процессе запуска, может быть сохранена в ПЗУ 131. ОЗУ 132 обычно содержит данные и/или программные модули, которые являются непосредственно доступными и/или в текущий момент обрабатываемыми процессорным блоком 120. В качестве примера, но не ограничения, фиг.1 иллюстрирует операционную систему 134, прикладные программы 135, другие программные модули 136 и программные данные 137.
Компьютер 110 может также содержать другие съемные/несъемные энергозависимые/энергонезависимые компьютерные носители для хранения данных. В качестве примера, фиг.1 иллюстрирует накопитель 141 на магнитных жестких дисках для считывания или записи на несъемные, энергонезависимые магнитные носители, накопитель 151 на магнитных дисках для считывания или записи на съемный, энергонезависимый магнитный диск 152 и накопитель 155 на оптических дисках для считывания или записи на съемный энергонезависимый оптический диск 156, такой как ПЗУ на компакт-диске (CD-ROM) или иные оптические носители информации. В приведенной для примера операционной среде также могут использоваться другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители для хранения данных, такие как магнитные кассеты, платы флэш-памяти, цифровые многоцелевые диски, магнитная лента для цифрового видео, твердотельные ОЗУ, твердотельные ПЗУ и т.д. Накопитель 141 на жестких дисках соединен с системной шиной 121 через интерфейс 140 накопителя на жестких дисках, накопитель 151 на магнитных дисках и накопитель 155 на оптических дисках соединены с системной шиной 121 через интерфейс съемной памяти, такой как интерфейс 150.
Накопители и связанные с ними компьютерные носители для хранения данных, описанные выше и показанные на фиг.1, обеспечивают хранение считываемых компьютером команд, структур данных, программных модулей и других данных для компьютера 110. На фиг.1, например, накопитель 141 на жестких дисках показан как хранящий операционную систему 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Отметим, что эти компоненты могут быть теми же самыми или отличающимися от операционной системы 134, прикладных программ 135, других программных модулей 136 и программных данных 137. Операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147 обозначены отличающимися позициями, чтобы показать, что, как минимум, они являются отличающимися копиями. Пользователь может ввести команды и информацию в компьютер 110 посредством устройств ввода, таких как клавиатура 162 и указательное устройство 161, например, мышь, трекбол или сенсорная панель. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую приставку, спутниковую тарелку, сканер и т.п. Эти и другие устройства ввода часто подсоединяются к процессорному блоку 120 через интерфейс 160 пользовательского ввода, который связан с системной шиной 121, но могут быть соединены посредством других интерфейсов и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB).
Монитор 191 или устройство отображения другого типа также соединены с системной шиной 121 через интерфейс, такой как видеоинтерфейс 190. Графический интерфейс 182, такой как Northbridge, также может быть соединен с системной шиной 121. Northbridge представляет собой набор микросхем, который обменивается данными с CPU или главным процессорным блоком 120, и предполагает ответственность за информационный обмен с ускоренным графическим портом (AGP). Один или более графических процессоров (GPU) 184 могут осуществлять информационный обмен с графическим интерфейсом 182. В этом отношении GPU 184 в общем случае включают в себя внутрикристальную память, такую как регистровая память, и GPU 184 осуществляют информационный обмен с видеопамятью 186. GPU 184 являются, однако, лишь одним примером сопроцессора, и, таким образом, различные сопроцессорные устройства могут быть включены в компьютер 110. Монитор 191 или устройство отображения другого типа также соединено с системной шиной 121 через интерфейс, такой как видеоинтерфейс 190, который может, в свою очередь, осуществлять информационный обмен с видеопамятью 186. В дополнение к монитору, компьютеры могут также включать в себя другие периферийные устройства вывода, такие как громкоговорители 197 и принтер 196, которые могут быть соединены через интерфейс 195 периферийных устройств вывода.
Компьютер 110 может работать в сетевой среде с использованием логических соединений с одним или более удаленных компьютеров, таких как удаленный компьютер 180. Удаленный компьютер 180 может представлять собой персональный компьютер, сервер, маршрутизатор, сетевой персональный компьютер, одноранговое устройство или другой обычный сетевой узел и в типовом случае может включать в себя многие или все из элементов, описанных выше в связи с компьютером 110, хотя только устройство 181 памяти показано на фиг.1. Логические соединения, обозначенные на фиг.1, включают в себя локальную сеть (LAN) 171 и глобальную сеть (WAN) 173, но могут также включать в себя и другие сети. Такие сетевые среды являются общепринятыми в офисах, компьютерных сетях предприятия, интранетах и Интернете.
При использовании в сетевой среде LAN компьютер 110 подключен к локальной сети LAN 171 через сетевой интерфейс или адаптер 170. При использовании в среде глобальной сети WAN компьютер 110 может включать в себя модем 172 или иное средство для установления связи в глобальной сети WAN 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может соединяться с системной шиной 121 через интерфейс 160 пользовательского ввода или иной подходящий механизм. В сетевой среде программные модули, показанные на чертеже в связи с компьютером 110, или их части могут храниться в удаленных устройствах памяти. Для примера, но не в качестве ограничения, фиг.1 иллюстрирует удаленные прикладные программы 185 как находящиеся на устройстве 181 памяти. Ясно, что показанные сетевые соединения приведены для примера, и могут быть использованы другие средства установления связи между компьютерами.
Специалистам в данной области техники должно быть понятно, что компьютер 110 или другое клиентское устройство может быть реализовано как часть компьютерной сети. В этом отношении настоящее изобретение касается любой компьютерной системы, имеющей любое количество блоков хранения или памяти и любое количество приложений и процессов, происходящих на любом количестве блоков или объемов хранения. Настоящее изобретение может быть применено к среде с серверными компьютерами и клиентскими компьютерами, развернутыми в сетевой среде, имеющими удаленные или локальные ЗУ. Настоящее изобретение может также применяться к отдельному вычислительному устройству, имеющему функции языка программирования, средства интерпретации и исполнения.
Распределенные вычисления облегчают совместное использование компьютерных ресурсов и услуг путем непосредственного обмена между вычислительными устройствами и системами. Эти ресурсы и услуги включают в себя обмен информацией, кэш-память и дисковое ЗУ для файлов. Распределенное вычисление использует преимущества сетевой связности, позволяя клиентам усиливать их коллективную производительность, обеспечивая пользу всему предприятию. В этом отношении множество устройств могут иметь приложения, объекты или ресурсы, которые могут взаимодействовать для реализации методов аутентификации настоящего изобретения для доверительного(ых) графического(их) конвейера(ов).
На фиг.2 показана схематичная диаграмма примерной сетевой или распределенной вычислительной среды. Распределенная вычислительная среда содержит вычислительные объекты 10а, 10b и т.д. и вычислительные объекты или устройства 110а, 110b, 110c и т.д. Эти объекты могут содержать программы, методы, хранилища данных, программируемую логику и т.д. Объекты могут содержать части одних и тех же или различных устройств, таких как PDA (персональные цифровые помощники), МР3-плееры, телевизионные приемники, персональные компьютеры и т.д. Каждый объект может осуществлять связь с другим объектом посредством коммуникационной сети 14. Эта сеть может сама содержать другие вычислительные объекты и вычислительные устройства, которые предоставляют услуги системе по фиг.2. В соответствии с одним аспектом изобретения, каждый объект 10 или 110 может содержать приложение, которое может запрашивать методы аутентификации согласно настоящему изобретению для доверительного(ых) графического(их) конвейера(ов).
Также понятно, что объект, такой как 110с, может находиться на другом вычислительном устройстве 10 или 110. Таким образом, хотя показанная физическая среда может представлять соединенные устройства как компьютеры, такая иллюстрация приведена только для примера, и физическая среда может, в качестве альтернативы, быть представлена или описана как содержащая различные цифровые устройства, такие как PDA, телевизоры, МР3-плееры и т.д., объекты программного обеспечения, такие как интерфейсы, СОМ-объекты и т.д.
Имеется множество систем, компонентов и сетевых конфигураций, которые поддерживают распределенные вычислительные среды. Например, вычислительные системы могут быть соединены вместе посредством проводных или беспроводных систем, локальных сетей или сетей широкого распространения. В настоящее время многие из сетей связаны с Интернетом, что обеспечивает инфраструктуру для распределенных вычислений широкого охвата и включает в себя множество различных сетей.
В домашних сетевых средах имеется, по меньшей мере, четыре отличающихся сетевых транспортных среды, каждая из которых может поддерживать уникальный протокол, такие как среды линии питания, данных (как беспроводные, так и проводные), речи (например, телефонные) и развлечений. Большинство домашних устройств управления, таких как выключатели света и бытовые приборы, могут использовать линию питания для обеспечения связности. Услуги данных могут поступать в дом как широкополосные (например, DSL или кабельный модем) и являются доступными в доме с использованием как беспроводной (например, HomeRF или 802.11b) или проводной (например, Home PNA, Cat 5, той же проводной линии) связности. Речевой трафик может поступать в дом как проводной (например, Cat 3) или беспроводной (например, сотовые телефоны) и может распределяться в доме с использованием проводки Cat 3. Медиа развлекательных программ могут поступать в дом либо через спутник, либо по кабелю и в типовом случае распределяются в доме с использованием коаксиального кабеля. IEEE 1394 и DVI также реализуются как цифровые межсоединения для групп медийных устройств. Все из этих сетевых сред и другие, которые могут появляться в качестве стандартов протокола, могут взаимосвязываться, чтобы формировать интранет, который может быть соединен с внешним миром посредством Интернета. Короче говоря, разнообразие различных источников существует для хранения и передачи данных, и, следовательно, в своем дальнейшем развитии вычислительные устройства потребуют методов защиты контента во всех частях конвейера обработки данных.
Понятие «Интернет» часто относится к совокупности сетей и шлюзов, которые используют набор протоколов TCP/IP, которые хорошо известны в технике компьютерного сетевого взаимодействия. TCP/IP является сокращением понятия «протокол управления передачей/программа сопряжения». Интернет может быть описан как система географически распределенных удаленных компьютерных сетей, взаимосвязанных посредством компьютеров, исполняющих протоколы сетевого взаимодействия, которые позволяют пользователям взаимодействовать и совместно использовать информацию по сетям. Ввиду такого совместного использования информации широкого охвата, удаленные сети, такие как Интернет, развились, в целом, в открытую систему, для которой разработчики могут проектировать приложения программного обеспечения для выполнения специализированных операций или услуг, по существу, без ограничения.
Таким образом, сетевая инфраструктура допускает массу сетевых топологий, таких как клиент/сервер, одноранговые или гибридные архитектуры. «Клиент» является членом класса или группы, который использует услуги другого класса или группы, к которым он не относится. Таким образом, в вычислениях клиент является процессом, т.е. приближенно набором инструкций или задач, который запрашивает услугу, предоставляемую другой программой. Клиентский процесс использует запрошенную услугу, не требуя знания каких-либо рабочих деталей относительно другой программы или собственно услуги. В архитектуре клиент/сервер, в частности, в системе с сетевой структурой, клиент обычно является компьютером, который получает доступ к совместно используемым сетевым ресурсам, предоставляемым другим компьютером, например сервером. В примере по фиг.2 компьютеры 110а, 110b и т.д. могут трактоваться как клиенты, а компьютеры 10а, 10b и т.д. могут трактоваться как сервер, где сервер 10а, 10b и т.д. поддерживает данные, которые затем копируются на клиентские компьютеры 110а, 110b и т.д.
Сервер в типовом случае представляет собой удаленную компьютерную систему, доступную по удаленной сети, такой как Интернет. Клиентский процесс может быть активным на первой компьютерной системе, а серверный процесс может быть активным на второй компьютерной системе, которые осуществляют информационный обмен друг с другом через коммуникационную среду, тем самым обеспечивая распределенную функциональность и позволяя множеству клиентов пользоваться преимуществом функциональных возможностей сбора информации сервера.
Клиент и сервер осуществляют информационный обмен друг с другом с использованием функциональности, предоставляемой уровнем протокола. Например, протокол передачи гипертекста (НТТР) является общим протоколом, который используется в связи с Всемирной паутиной (WWW). В типовом случае адрес компьютерной сети, такой как универсальный указатель ресурса (URL) или адрес интернет-протокола (IP), используется для идентификации серверного или клиентского компьютеров друг другу. Сетевой адрес может упоминаться как универсальный указатель ресурса. Например, связь может быть обеспечена через коммуникационную среду. В частности, клиент и сервер могут быть связаны друг с другом через соединения TCP/IP для информационного обмена с высокой пропускной способностью.
Таким образом, фиг.2 иллюстрирует примерную сетевую или распределенную среду, с сервером, осуществляющим связь с клиентскими компьютерами через сеть/шину, в которой может быть использовано настоящее изобретение. Более детально, ряд серверов 10а, 10b и т.д. взаимосвязаны через коммуникационную сеть/шину 14, которая может представлять собой LAN, WAN, интранет, Интернет и т.д., с рядом клиентских или удаленных компьютерных устройств 110а, 110b, 110с, 110d, 110e и т.д., таких как переносной компьютер, портативный компьютер, тонкий клиент, соединенный с сетью бытовой прибор или другое устройство, такое как видеомагнитофон, телевизор, печь, осветительный прибор, нагреватель и т.д., в соответствии с настоящим изобретением. Таким образом, предусматривается, что настоящее изобретение может применяться к любому вычислительному устройству, в связи с которым желательно обрабатывать, сохранять или воспроизводить защищенный контент из доверительного источника.
В сетевой среде, в которой коммуникационная сеть/шина 14 представляет собой, например, Интернет, серверы 10 могут быть Web-серверами, с которыми осуществляют связь клиенты 110а, 110b, 110с, 110d, 110e и т.д. посредством любого из ряда известных протоколов, таких как НТТР. Серверы 10 могут также служить в качестве клиентов 110, как это может быть характерным для распределенной вычислительной среды. Коммуникации могут быть проводными или беспроводными, как необходимо. Клиентские устройства 110 могут осуществлять или не осуществлять связь через коммуникационную сеть/шину 14 и могут иметь независимые передачи, ассоциированные с этим. Например, в случае телевизора или видеомагнитофона, может иметься или нет сетевой аспект, относящийся к управлению ими. Каждый клиентский компьютер 110 и серверный компьютер 10 может быть оснащен различными модулями прикладных программ или объектами 135 и соединениями или доступом к различным типам элементов хранения или объектов, в которых могут быть сохранены файлы, или в которые файлы могут быть загружены или перемещены. Таким образом, настоящее изобретение может быть использовано в сетевой компьютерной среде, имеющей клиентские компьютеры 110а, 110b и т.д., которые могут получать доступ и взаимодействовать с компьютерной сетью/шиной 14, и серверные компьютеры 10а, 10b и т.д., которые могут взаимодействовать с клиентскими компьютерами 110а, 110b и т.д. и другими устройствами 111 и базами данных 20.
Обзор управления правами (RM)
Как известно и согласно фиг.3, управление правами (RM) и обеспечение выполнения прав является весьма желательным в связи с цифровым контентом 32, который должен распространяться к пользователям. После приема пользователем такой пользователь воспроизводит контент 32 с помощью соответствующего вычислительного устройства 34 и т.п.
В типовом случае автор или издатель контента 32 (далее «издатель 44»), распространяющий такой цифровой контент 32, желает ограничить то, что пользователь может делать с таким распространенным контентом 32. Например, издателю может быть желательным ограничить пользователя в копировании и повторном распространении такого контента 32 второму пользователю или может быть желательным позволить воспроизводить распространенный контент 32 лишь ограниченное количество раз, только в течение некоторого общего времени, только на вычислительном устройстве 34 некоторого типа, только определенным типом приложения воспроизведения на вычислительном устройстве, только пользователем определенного типа и т.д.
Однако после того как распространение произошло, такой издатель имеет очень незначительный контроль, если вообще имеет таковой, над контентом 32. Система RM 30 затем допускает контролируемое воспроизведение части контента 32, где такой контроль является гибким и определяемым издателем 44 такого контента 32. В типовом случае контент 32 распространяется пользователю в форме пакета 33 посредством любого подходящего канала распространения. Пакет 33, в том виде, как он распространен, обычно включает в себя контент 32 или его часть, зашифрованный симметричным ключом шифрования/дешифрования (KD) (т.е. (KD(контент 32))), а также другую информацию, идентифицирующую контент 32, каким образом получать лицензию на такой контент 32 и т.д.
Основанная на доверии система RM 30 позволяет издателю 44 контента 32 или другому определять правила, которые должны быть удовлетворены, прежде чем такой контент 32 будет разрешено воспроизводить на вычислительном устройстве 34. Такие правила лицензии могут, например, включать вышеупомянутое временное требование и/или требование количества раз, среди других вещей, и могут также устанавливать права, которые пользователь имеет по отношению к контенту 32, такие, например, как возможность печати или копирования и/или возможность использования конкретной характеристики контента 32, в числе прочего. Во всяком случае, такие права могут быть воплощены в цифровой лицензии или документе использования (далее «лицензия 36»), который пользователь/пользовательское вычислительное устройство 34 (эти термины являются взаимозаменяемыми, если только обстоятельства не потребуют иного) должны получить от издателя 44 или его агента, такого как лицензиар 46. Такая лицензия 36 также включает в себя ключ дешифрования (KD) для дешифрования зашифрованной части контента 32, в типовом случае зашифрованного согласно ключу, дешифруемому пользовательским вычислительным устройством 34. Как показано на фиг.3, такой ключ шифрования может быть открытым ключом (PU-_), таким как открытый ключ пользователя, пользовательского вычислительного устройства 34, операционной системы компьютерного устройства 34, системы защиты компьютерного устройства 34 и т.д. Предполагается, что пользовательское вычислительное устройство 34 или элемент, реализованный на нем, имеет доступ к соответствующему секретному ключу (PR-_), посредством которого можно дешифровать (PU-_(KD)).
Издатель 44 для контента 32 должен доверять тому, что пользовательское вычислительное устройство 34 будет подчиняться правилам, определенным таким издателем 44 в лицензии 36. То есть такой издатель 44 должен доверять, что контент 32 не будет воспроизводиться, если только не будут удовлетворяться правила в рамках лицензии 36, и что пользователю разрешено только использовать права, установленные в правилах. Предпочтительно тогда, что пользовательское вычислительное устройство 34 снабжается доверительным компонентом или механизмом 38, который не будет воспроизводить контент 32, за исключением того, как это соответствует правилам лицензии, воплощенным в лицензии 36, ассоциированной с контентом 32 и полученной пользователем.
Доверительный компонент 38 в типовом случае имеет оценщик 40 лицензии, который определяет, действительна ли лицензия 36, просматривает правила лицензии в такой действительной лицензии 36 и определяет на основе просмотренных правил лицензии, имеет ли запрашивающий пользователь право на воспроизведение соответствующего контента 32 искомым способом, в числе других вещей. Понятно, что оценщик 40 лицензии полагается на систему RM 30 для выполнения желаний издателя 44 контента в соответствии с правилами в лицензии 36, и пользователь не должен иметь возможность просто изменять такой доверительный элемент для какой-либо цели, нечестным образом или иначе.
Должно быть понятно, что правила в лицензии 36 могут определять, имеет ли пользователь права воспроизводить контент 32 на основе любого из ряда факторов, включая то, кем является пользователь, где расположен пользователь, какой тип вычислительного устройства применяет пользователь, какая операционная система обращается к системе RM 30, дату, время и т.д. Кроме того, правила лицензии 36 могут ограничивать лицензию 36, например, предварительно определенным количеством воспроизведений, предварительно определенным временем работы. Таким образом, доверительному компоненту 38 может потребоваться ссылаться на часы 42 на вычислительном устройстве 34.
Правила могут быть определены в лицензии 36 в соответствии с любым соответствующим языком и синтаксисом. Например, язык может просто определять атрибуты и значения, которые должны быть удовлетворены (ДАТА должна быть, например, позже, чем Х), или может потребовать выполнения функций в соответствии со специфицированным сценарием (например, ЕСЛИ ДАТА больше, чем Х, ТО ДЕЛАТЬ…).
Поле того, как оценщик 40 лицензии определяет, что лицензия 36 действительна, и что пользователь определяет в ней правила, контент 32 или его релевантная часть может затем воспроизводиться. В частности, для воспроизведения контента 32 доверительный компонент 38 или другой объект получает частный ключ (PR-_) из соответствующего местоположения и применяет его к (PU-_(KD)) из лицензии 36 для получения в результате актуального ключа дешифрования (KD) и применяет ключ дешифрования (KD), как получено из лицензии 36, к (KD(контент 32)) из пакета 33, чтобы получить в результате актуальный контент 32. Такой актуальный контент 32 может затем фактически воспроизводиться соответствующим приложением воспроизведения (не показано) на вычислительном устройстве 34 способом, изложенным в лицензии.
Привязка лицензии 36 к платформе
Как изложено выше, лицензия 36 с (PU-_(KD)) реально авторизует доверительный компонент 38 или другой объект, обладающий (PR-_), для доступа к (KD), предполагая, разумеется, что объект подчиняется всем условиям, как установлено в лицензии 36. Тогда понятно, что поскольку (PR-_) является частным ключом и, таким образом, тесно связан и удерживается в секрете его владельцем, такой (PR-_) в действительности связывает лицензию 36 с (PU-_(KD)) в ней к такому владельцу. Иначе говоря, поскольку лицензия содержит (PU-_(KD)), то только владелец соответствующего (PR-_) может обращаться к ключу дешифрования (KD) из такой лицензии 36.
Таким образом, может быть, что владелец (PR-_) является доверительным компонентом 38, и в этом случае такой доверительный компонент 38 сам тесно связан с вычислительным устройством 34 и/или с операционной системой 48, реализованной на вычислительном устройстве 34, и/или с некоторым другим элементом или совокупностью элементов, находящихся на вычислительном устройстве 34. Например, такая связь может быть реализована путем включения в доверительный компонент 38 ID платформы, который может быть выведен из вычислительного устройства 34 или операционной системы 48 и/или т.п., и путем требования того, чтобы доверительный компонент 38 работал только на платформе 50, из которой может быть выведен ID платформы, где платформа 50 представлена набором элементов вычислительного устройства 34, с которым связан доверительный компонент 38.
Вывод такого ID платформы из набора элементов, репрезентативных для платформы 50 вычислительного устройства 34, известен или должен быть очевиден соответствующим специалистам и поэтому не требует более детального изложения. Например, может быть, что ID платформы выводится из хеша конкатенации некоторого количества цифровых ID, полученных от платформы 50, определенной как включающей в себя различные элементы вычислительного устройства 34, включая один или более элементов его аппаратных средств, и т.п. Соответственно, любой соответственно выведенный ID платформы может быть использован для представления платформы 50 без отклонения от сущности и объема настоящего изобретения.
Путем расширения любая соответствующая совокупность элементов вычислительного устройства 34 может быть использована для определения платформы без отклонения от сущности и объема настоящего изобретения. В типовом случае такая совокупность элементов включает более заметные элементы вычислительного устройства 34, включая операционную систему 48 и основное запоминающее устройство, например накопитель на жестких дисках или иное.
Резюмируя, лицензия 36 может быть привязана к доверительному компоненту 38 вычислительного устройства 34, в котором имеется (PU-_(KD)), который может быть дешифрован посредством доверительного компонента 38 как владелец соответствующего (PR-_). Аналогичным образом, доверительный компонент 38 может быть привязан к платформе 50, находящейся в вычислительном устройстве 34, так что ID платформы в нем может быть получен только из платформы 50. Таким образом, в заключение, лицензия 36 может быть связана с такой платформой 50 посредством такого доверительного компонента 38.
Разумеется, лицензия 36 может быть привязана к такой платформе 50 любым другим подходящим способом, без отклонения от сущности и объема настоящего изобретения. В качестве примера, лицензия 36 может быть непосредственно привязана к платформе 50, включая в себя ID платформы (не показано). Аналогичным образом, лицензия 36 может быть привязана к некоторому элементу вычислительного устройства 34, имея цифровой ID такого элемента вычислительного устройства 34.
Миграция лицензий 36 с первой платформы на вторую платформу
Как изложено выше, лицензия 36 в типовом случае привязана к конкретной платформе 50 и, таким образом, может быть использована для воспроизведения соответствующего контента 32 только на такой конкретной платформе. Соответственно, простое перемещение лицензии 36 с первой платформы 50 на вторую платформу 50 не позволит само по себе воспроизводить соответствующий контент 32 на второй платформе 50. Таким образом, настоящее изобретение обеспечивает способ и механизм, посредством которых лицензия 36 не просто перемещается, а вместо этого «мигрирует» с первой платформы 50 на вторую платформу 50, причем в ходе миграции такая лицензия 36 отделяется от первой платформы 50 и привязывается ко второй платформе 50. При этом мигрировавшая лицензия 36 может использоваться для воспроизведения соответствующего контента 32 на второй платформе 50.
Существенно, что лицензия 36 должна быть мигрирована с легитимной целью, например, когда пользователю желательно переместить права воспроизведения, заключающиеся в лицензии 36, с первого вычислительного устройства 34 на второе вычислительное устройство 34 или с первой операционной системы 48 на вычислительном устройстве 34 ко второй операционной системе 48 на вычислительном устройстве 34. В любом случае подразумевается, что издатель 44, который выпустил лицензию 36, не подвергается отрицательному влиянию вследствие миграции такой лицензии 36, и пользователь, который потратил некоторую сумму средств на приобретение лицензии 36, не испытывает виртуальной потери такой лицензии 36 просто из-за смены платформы 50.
В настоящем изобретении предварительно определенная политика миграции используется для определения того, может ли одна или более лицензий 36 на первой платформе 50 мигрировать на вторую платформу 50. Хотя такая политика, разумеется, может быть любой соответствующей политикой, без отклонения от сущности и объема настоящего изобретения, предполагается, что такая политика представляет баланс между интересами издателя 44, который выпустил лицензию 36, и пользователя, получающего ее. Далее приведено несколько примеров сценария политики:
- пользователю разрешается мигрировать лицензии 36 с первого вычислительного устройства 34 на второе вычислительное устройство 34, например, когда пользователь получил один компьютер и отказался от использования другого компьютера;
- пользователю разрешается мигрировать лицензии 36 с первой операционной системы 48 на вычислительном устройстве 34 ко второй операционной системе 48 на вычислительном устройстве 34, когда вторая операционная система 48 заменяет первую операционную систему 48;
- пользователю разрешается мигрировать лицензии 36 с первой операционной системы 48 на вычислительном устройстве 34 ко второй операционной системе 48 на том же вычислительном устройстве 34, когда вторая операционная система 48 применяется в дополнение к первой операционной системе 48;
- после того как пользователь мигрировал лицензии 36 с первого вычислительного устройства 34 на второе вычислительное устройство 34, пользователь может мигрировать лицензии 36 с третьего вычислительного устройства 34 на второе вычислительное устройство 34, но только по прошествии 12 месяцев;
- после того как пользователь мигрировал лицензии 36 с первого вычислительного устройства 34 на второе вычислительное устройство 34, пользователь не может мигрировать лицензии 36 со второго вычислительного устройства 34 назад на первое вычислительное устройство 34; и
- после того как пользователь мигрировал лицензии 36 с первого вычислительного устройства 34 на второе вычислительное устройство 34, пользователь может мигрировать лицензии 36 со второго вычислительного устройства 34 назад на первое вычислительное устройство 34, но только если пользователь специально запрашивает и получает разрешение сделать это после предоставления соответствующего подтверждения, где разрешение предоставляется только после соответствующей проверки подтверждения и других связанных с этим фактов о пользователе.
В настоящем изобретении затем, в соответствии с фиг.4, услуга 52 миграции обеспечивается для надежного осуществления миграции лицензии 36 с первой платформы 50 на вторую платформу 50 путем отделения лицензии 36 от первой платформы 50 и привязки лицензии 36 со второй платформой 50. Аналогичным образом, согласно фиг.5 и 6, настоящее изобретение предоставляет процесс установления доверия между первой платформой 50 и второй платформой 50, чтобы надежно осуществить такую миграцию и отделение/привязку. Важно, в соответствии с настоящим изобретением, что лицензия 36, которая мигрировала и привязана ко второй платформе 50, может, таким образом, быть использована для воспроизведения соответствующего контента 32 на второй платформе 50. Соответственно, такая лицензия 36 больше не связана с первой платформой 50 и, следовательно, не может использоваться для воспроизведения соответствующего контента 32 на первой платформе 50.
Лицензия 36 мигрирует с первой платформы 50 на вторую платформу 50 как часть снабженного подписью изображения 54 миграции (фиг.4). Можно понять, что такая миграция может происходить посредством локального сетевого соединения, удаленного сетевого соединения или перенесенного носителя для хранения информации, такого как переносной диск для хранения, портативный накопитель, такой как встраиваемый накопитель, или иной переносной носитель. Первая «исходная» платформа 50 создает изображение 54 миграции (образ перемещения) с лицензией 36.
Такое изображение 54 миграции применяется ко второй «целевой» платформе 50 только после того, как целевая платформа 50 контактирует со службой 52 миграции для получения разрешения. Служба 52 миграции, таким образом, поддерживает базу 56 данных для отслеживания мигрирующих лицензий 36 и, в частности, разрешает, чтобы такая миграция происходила только в соответствии с предварительно определенной политикой миграции. Таким образом, служба 52 миграции, в числе прочего, минимизирует совершение злоупотреблений каким-либо недобросовестным пользователем, который попытался бы скопировать лицензию 36 на одну или более платформ 50, вместо миграции ее с исходной платформы 50 на целевую платформу 50.
Настоящее изобретение основано на установлении доверия от исходной платформы 50 к целевой платформе 50 посредством услуги 52 миграции, действующей как мост между такими платформами. Таким образом, в процессе миграции информация RM на исходной платформе 50 проверяется, и если она приемлема, то такая информация RM собирается и компонуется в изображение 54 миграции, включая каждую лицензию 36, подлежащую миграции, и релевантную информацию, относящуюся к каждой лицензии, включая информацию состояния. На целевой платформе 50 информация RM аналогичным образом анализируется, и если приемлема, то изображение 54 миграции применяется для завершения миграции, но только если услуга 52 миграции авторизует такое применение. Отметим, то процесс миграции не требует, чтобы исходная и целевая платформы были соединены. Также отметим, что изображение 54 миграции может быть само снабжено подписью и может быть сохранено и передано произвольным способом. Наконец, отметим, что хотя целевая платформа 50 контактирует с услугой 52 миграции для авторизации, чтобы завершить миграцию, целевой платформе 50 не обязательно контактировать с такой услугой 52 миграции для авторизации создания изображения 54 миграции.
Как показано на фиг.4, в одном варианте осуществления настоящего изобретения как исходная платформа 50, так и целевая платформа 50 имеют механизм 58 миграции для осуществления процесса миграции. В принципе, механизм 58 миграции на исходной платформе 50 выполняет действия, необходимые для формирования изображения 54 миграции, и механизм 58 миграции на целевой платформе 50 выполняет действия, необходимые для потребления сформированного изображения 54 миграции, путем записи лицензии 36 и других данных в ней в соответствующее местоположение. Однако должно быть понятно, что такие механизмы 58 миграции выполняют другие действия, как будет изложено более детально ниже. Таким образом, действия, выполняемые механизмом 58 миграции на исходной платформе 50, являются, вероятно, существенно отличающимися от действий, выполняемых механизмом 58 миграции на целевой платформе 50. Соответственно, такие механизмы 58 миграции могут отличаться один от другого. Однако такие механизмы 58 миграции могут также быть существенно сходными, если не идентичными, как показано, например, на фиг.4, если бы было более удобным сделать так.
Каждый механизм 58 миграции может включать в себя пользовательский интерфейс 60, чтобы позволить пользователю получать доступ к нему и взаимодействовать с ним. На исходной платформе 50 интерфейс 60 будет тогда предоставлять инструкции пользователю и собирать информацию от него, чтобы определять и собирать все данные и настройки, необходимые для формирования изображения 54 миграции. Аналогичным образом, на целевой платформе 50 интерфейс 60 должен предоставлять инструкции пользователю и собирать любую информацию, необходимую от него, чтобы потреблять формируемое изображение 54 миграции.
Механизм 58 миграции на исходной платформе 50 имеет считыватель 62. Понятно, что такой считыватель 62 предназначен для обработки конкретных задач по сбору данных на исходной платформе 50 и включает в себя интерфейсы и другие функции, которые вызываются механизмом 58 миграции в ходе считывания лицензий 36 и других данных из запоминающего устройства на исходной платформе 50 на соответствующее изображение 54 миграции. Отметим, что такое изображение 54 миграции представляет, таким образом, всю информацию из исходной платформы 50, необходимую для миграции среды RM из исходной платформы 50 на целевую платформу 50. Отметим также, что такое изображение 54 миграции может альтернативно использоваться для воссоздания среды RM на исходной платформе 50 в случае, если такая среда RM по некоторой причине не может в действительности мигрировать на целевую платформу 50.
Аналогичным образом, механизм 58 миграции на целевой платформе 50 имеет записывающее устройство 64. Здесь можно понять, что такое записывающее устройство 64 предназначается для обработки конкретных задач применения данных на целевой платформе 50 и включает в себя интерфейсы и другие функции, которые вызываются механизмом 58 миграции в ходе записи лицензий 36 и других данных из изображения 54 миграции, как оно создается на исходной платформе 50, и для сохранения или иного действия на целевой платформе 50. Отметим, что другие данные, считанные/записанные вместе с лицензиями 36, могут включать в себя все соответствующие данные RM, без отклонения от сущности и объема настоящего изобретения, такие как, например, списки аннулирования, данные состояния лицензии, данные ID аппаратных средств, данные ID машины и т.д. Отметим, что каждое запоминающее устройство может представлять собой отдельную организованную область хранения, в пределах которой все такие данные сохраняются, или может содержать множество таких областей хранения, а также, что каждая область хранения может быть физической по характеру, такой как устройство памяти, или концептуальной по характеру, такой как определенный элемент, который может физически существовать в нескольких частях на одном или более конкретных устройствах памяти.
На фиг.5 и 6, и в одном варианте осуществления настоящего изобретения, показан способ для миграции одной или более лицензий 36 с исходной платформы 50 на целевую платформу 50. Можно понять, что фиг.5 показывает первую часть способа, конечным результатом которого является формирование изображения 54 миграции, а фиг.6 показывает вторую часть способа, конечным результатом которого является потребление изображения 54 миграции, чтобы в действительности привести к лицензиям 36, мигрировавшим с исходной платформы 50 на целевую платформу 50.
В частности, как видно на фиг.5, миграция с исходной платформы 50 и создание изображения 54 миграции инициируется по команде пользователя или тому подобного действия на такой исходной платформе 50 (этап 501), после чего механизм 58 миграции реализуется на такой исходной платформе 50 (этап 503). В частности, в случае, когда механизм 58 миграции может быть использован как на исходной платформе 50, так и на целевой платформе 50, реализация на исходной платформе 50 как на этапе 503 может включать в себя идентификацию пользователем или предложение пользователю идентифицировать, что механизм 58 миграции должен использоваться на исходной платформе 50. После идентификации как используемого на исходной платформе 50, механизм 58 миграции продолжает идентификацию лицензий 36 на исходной платформе 50.
В частности, механизм 58 миграции, посредством его считывателя 62 миграции, находит доверительный компонент 38 на исходной платформе 50 и запрашивает найденный доверительный компонент 38 об идентификации каждой лицензии 36 на исходной платформе 50 (этап 505). Такой запрос известен или должен быть очевиден для релевантной публики и может быть выполнен любым соответствующим способом без отклонения от сущности и объема настоящего изобретения. Например, доверительный компонент 38 может содержать функцию, которая позволяет ему обнаруживать каждую лицензию 36, включая ее идентификацию и определение местоположения, и считыватель 62 миграции механизма 58 миграции может либо вызывать такую функцию непосредственно, или опосредованно с помощью такого доверительного компонента 38.
Во всяком случае, после приема идентификации каждой лицензии 36 на исходной платформе 50 механизм 58 миграции может представить каждую такую идентифицированную лицензию 36 пользователю посредством пользовательского интерфейса 60 и принимать от этого пользователя посредством такого пользовательского интерфейса 60 выбор идентифицированных лицензий 36 для миграции (этап 507). Альтернативно, механизм 58 миграции может потребовать, чтобы пользователь мигрировал все такие идентифицированные лицензии 36, и в этом случае выбор на этапе 507 может быть опущен. Отметим, что пользовательский выбор лицензий 36, подлежащих миграции с исходной платформы 50, может быть опущен для упрощения процедуры, в частности, для упрощения отслеживания миграции в базе 56 данных отслеживания. В частности, если выбор разрешен, то база 56 данных, вероятно, должна отслеживать каждую лицензию 36 на исходной платформе 50. В противоположность этому, если выбор не разрешен, то база 56 данных, вероятно, должна отслеживать только собственно исходную платформу 50.
После идентификации и, возможно, выбора каждой лицензии 36 на исходной платформе 50, подлежащей миграции, механизм 58 миграции может предложить пользователю посредством пользовательского интерфейса 60 выбрать местоположение для сохранения изображения 54 миграции, которое должно формироваться на основе лицензий 36, подлежащих миграции, и механизм 58 миграции может затем принять такое местоположение сохранения (этап 509). Можно понять, что таким местоположением может быть портативный носитель, локальный носитель на исходной платформе 50 и удаленный носитель относительно исходной платформы 50, или тому подобное. В зависимости от выбранного носителя пользователь может затем физически переносить изображение 54 миграции на целевую платформу 50, электронными средствами передавать изображение 54 миграции на целевую платформу 50 посредством соответствующей коммуникационной среды или электронными средствами извлекать изображение 54 миграции на целевой платформе 50.
Во всяком случае, механизм 58 миграции продолжает формирование изображения 54 миграции на основе лицензий 36, подлежащих включению в него, и сохраняет сформированное изображение 54 миграции в выбранном местоположении. В частности, считыватель 62 миграции изображения 54 миграции либо прямо, либо косвенным образом через доверительный компонент 38 собирает каждую лицензию 36, подлежащую включению, а также соответствующие данные и помещает лицензию 36 и соответствующие данные в изображение 54 миграции (этап 511). Отметим, что при этом механизм 58 миграции может либо создавать изображение 54 миграции в выбранном местоположении, либо во временном местоположении, и если во временном местоположении, изображение 54 миграции должно после завершения сохранять созданное изображение 54 миграции в выбранном местоположении (этап 513). В любом случае, после создания изображения 54 миграции и его сохранения в выбранном местоположении, механизм 58 миграции может посредством его интерфейса 60 уведомить пользователя, что изображение 54 миграции на самом деле создано и сохранено в выбранном местоположении (этап 517), после чего механизм 58 миграции может завершить операцию.
Соответствующие данные, которые считыватель 62 миграции помещает в изображение 54 миграции, могут включать в себя данные, специфические для каждой лицензии 36 в изображении 54 миграции, а также данные, специфические для исходной платформы 50, и могут быть любыми соответствующими данными, без отклонения от сущности и объема настоящего изобретения. В одном варианте осуществления настоящего изобретения такие соответствующие данные в изображении 54 миграции включают для каждой лицензии 36 всю информацию состояния, относящуюся к лицензии 36, как она поддерживается в соответствующем хранилище состояний, или тому подобном. В дополнение, такие соответствующие данные в изображении 54 миграции включают для исходной платформы 50 ее ID платформы или т.п., информацию об аппаратных средствах, связанных с такой исходной платформой 50, информацию о программном обеспечении, связную с такой исходной платформой 50, информацию об операционной системе, относящуюся к операционной системе 48 исходной платформы 50, и т.п.
Отметим, что соответствующие данные в изображении 54 миграции должны также включать криптографические ключи, необходимые для отделения каждой лицензии 36 от исходной платформы 50, так чтобы лицензия 36 могла быть привязана к целевой платформе 50, возможно, в форме файла ключей или тому подобного. Как описано более детально ниже, такое отделение и повторная привязка выполняются механизмом 58 миграции на целевой платформе 50 после получения разрешения на это от услуги 52 миграции. Криптографические ключи в изображении 54 миграции должны быть зашифрованы способом, позволяющим дешифрирование услугой 52 миграции или иным объектом от имени услуги 52 миграции. Например, криптографические ключи в изображении 54 миграции могут быть зашифрованы способом, позволяющим дешифрирование централизованной услугой, такой как, например, услуга резервирования и восстановления, которая потребовалась бы, чтобы фактически дешифровать такие зашифрованные криптографические ключи, и услуга 52 миграции может контактировать с такой услугой резервирования и восстановления или тому подобным объектом, чтобы использовать ее сервисы, чтобы фактически дешифровать такие зашифрованные криптографические ключи в подходящее время. Шифрование криптографических ключей способом, позволяющим дешифрирование конкретной услугой, известно и должно быть очевидно для релевантной публики, и поэтому оно не описывается здесь в конкретных деталях. Такие криптографические ключи могут, разумеется, быть зашифрованы способом, позволяющим дешифрирование услугой 52 миграции или по ее поручению, любым подходящим способом, без отклонения от сущности и объема настоящего изобретения.
Отметим, что механизм 58 миграции может создавать изображение 54 миграции в любой конкретной форме без отклонения от сущности и объема настоящего изобретения. Например, изображение 54 миграции может быть создано как папка, содержащая каждую лицензию 36 как файл и, возможно, соответствующие данные для всех из содержащихся лицензий 36 как другой файл, или как иерархическая древовидная структура, содержащая каждую лицензию 36 и соответствующие данные как узлы в соответствующих местоположениях внутри такой древовидной структуры.
Отметим также, что созданное изображение 54 миграции может включать в себя цифровую подпись или хеш, основанные на таком изображении 54 или его порции. Можно понять, что такая цифровая подпись или хеш могут использоваться целевой платформой 50 и/или услугой 52 миграции для целей верификации того, не было ли изменено изображение 54 миграции. Такие цифровая подпись или хеш могут, по меньшей мере, неявно действовать как утверждение от механизма 58 миграции на целевой платформе 50, что изображение 54 миграции было надлежащим образом создано как часть миграции лицензии 36 с такой исходной платформы 50.
Отметим также, что весьма целесообразно, если только не обязательно, шифровать, по меньшей мере, части изображения 54 миграции, чтобы избежать просмотра его ненадлежащим объектом. В частности, как было отмечено выше, поскольку изображение 54 миграции, вероятно, включает в себя один или более криптографических ключей, которые целевая платформа 50 должна использовать для отделения каждой лицензии 36 от исходной платформы 50, такие ключи должны быть зашифрованы в форме такой, чтобы только целевая платформа 50 могла получить доступ к ним и только после того, как услуга 52 миграции предоставила разрешение на выполнение этого. Разумеется, другие части изображения 54 миграции могут также шифроваться без отклонения от сущности и объема настоящего изобретения.
В одном варианте осуществления настоящего изобретения, как должно быть понятно, как часть выполнения задач по фиг.5, механизм 58 миграции на исходной платформе 50 после успешного создания изображения 54 миграции с лицензиями 36 от исходной платформы 50 должен удалить такие лицензии 36 из хранилища лицензий или тому подобного исходной платформы 50 (этап 515). Отметим, однако, что недобросовестный объект может попытаться избежать утраты таких лицензий 36 на исходной платформе 50 путем копирования таких лицензий 36 из хранилища лицензий после того, как механизм 58 миграции удалил их. Для противодействия такой угрозе, в одном варианте осуществления настоящего изобретения, механизм 58 миграции также в действительности переустанавливает доверительный компонент 38 на исходной платформе 50 путем удаления ее ключей и предоставления ключей замены для нее. Таким образом, даже если недобросовестный объект попытается заменить удаленную лицензию 36, доверительный компонент 38 не будет иметь способа доступа к ключам дешифрования на ней.
После этого, в соответствии с фиг.6, пользователь может вызвать то, что созданное изображение 54 миграции будет транспортировано соответствующим способом из выбранного местоположения на исходной платформе 50 и сохранено в выбранном местоположении на целевой платформе 50 (этап 601). В частности, в зависимости от типа выбранного местоположения на исходной платформе 50, и как изложено выше, пользователь может физически перенести изображение 54 миграции на целевую платформу 50, электронным образом передать изображение 54 миграции на целевую платформу 50 посредством подходящей коммуникационной среды или электронным образом извлечь изображение 54 миграции на целевой платформе 50. В любом случае, после переноса на целевую платформу 50 изображение 54 миграции соответствующим образом сохраняется в выбранном местоположении на такой целевой платформе 50.
Отметим, что, по меньшей мере, в некоторых случаях, выбранное местоположение на исходной платформе 50 и выбранное местоположение на целевой платформе 50 могут быть одним и тем же. Это, в частности, справедливо в том случае, когда платформы 50 находятся на том же самом вычислительном устройстве 34, так, например, как если операционная система на вычислительном устройстве 34 обновляется на новую версию. Это также справедливо в специальном случае, когда, как изложено более детально ниже, миграция не разрешена услугой 52 миграции, после чего пользователь может перенести лицензии 36 из изображения 54 миграции назад на исходную платформу 50, которая фактически будет целевой платформой 50. Если на самом деле выбранное местоположение на исходной платформе 50 и выбранное местоположение на целевой платформе 50 одно и то же, то транспортирование, как на этапе 601, может быть, разумеется, опущено.
Во всяком случае, извлечение каждой лицензии 36 и соответствующих данных из изображения 54 миграции на целевой платформе 50 инициируется по команде пользователя или тому подобного на такой целевой платформе 50 (этап 603), после чего механизм 58 миграции реализуется на такой целевой платформе 50 (этап 605). В частности, в случае, когда механизм 58 миграции может быть использован как на исходной платформе 50, так и на целевой платформе 50, и подобно тому, как изложено выше, реализация на целевой платформе 50, как на этапе 605, может включать в себя идентификацию пользователем или предложение пользователю идентифицировать, что механизм 58 миграции должен использоваться на целевой платформе 50. После идентификации как используемого на целевой платформе 50, механизм 58 миграции затем переходит к идентификации изображения 54 миграции на целевой платформе 50.
В частности, как описано ранее, механизм 58 миграции может предложить пользователю посредством его пользовательского интерфейса 60 идентифицировать выбранное местоположение, в котором изображение 54 миграции сохраняется на целевой платформе 50, и механизм 58 миграции может затем принять выбранное местоположение (этап 607). После этого, механизм 58 миграции направляет выбранное местоположение в его блок 64 записи миграции, и блок 64 записи миграции считывает изображение 54 миграции, как сохранено в выбранном местоположении (этап 609).
Следует отметить, что блок 64 записи миграции, после считывания изображения 54 миграции, запрашивает разрешение от услуги 52 миграции, чтобы фактически перейти к записи лицензий 36 в изображении 54 миграции на целевую платформу 50 (этап 611). Хотя такой запрос может включать в себя любую соответствующую информацию без отклонения от сущности и объема настоящего изобретения, очевидно, что такой запрос должен, как минимум, включать в себя ID платформы для целевой платформы 50 и ID платформы для исходной платформы 50, как получено из изображения 54 миграции, и, возможно, дополнительные детали об операционной системе 48, программном обеспечении и/или аппаратных средствах на каждой из исходной платформы 50 и целевой платформы 50, как это может быть необходимым.
Как должно быть понятно, затем услуга 52 миграции определяет, следует ли принять запрос, основываясь на предварительно определенной политике, отмечает соответствующую информацию относительно запроса и соответствующей миграции в базе 56 данных и возвращает соответствующий ответ запрашивающему блоку 64 записи миграции. Как изложено выше, такая политика связана с учетом конкретных деталей относительно исходной платформы 50 и целевой платформы 50, включая, например, для каждой платформы, ее ID платформы, а также детали относительно аппаратных средств, программного обеспечения и/или операционной системы 48. Вновь, такая политика может быть любой политикой, без отклонения от сущности и объема настоящего изобретения, но должна представлять баланс между интересами издателя 44, который выпускает лицензию 36, и пользователя.
Информация относительно запроса и соответствующей миграции в базе 56 данных, как записано в базе 56 данных, может быть любой подходящей информацией без отклонения от сущности и объема настоящего изобретения. Предположительно, такая информация является информацией такого типа, что может осуществляться обнаружение мошенничества. В частности, такая информация должна включать в себя любые данные, которые могут быть необходимы для решения согласно политике, если будущий запрос на миграцию будет принят услугой 52 миграции относительно исходной платформы 50 и/или целевой платформы 50. Например, если запрос разрешен, и политика требует, чтобы целевой платформе 50 была разрешена только одна миграция, то информация относительно запроса, как записано в базе 56 данных, должна быть такой, что исходная платформа 50 уже была использована как исходная платформа 50. То есть будущий запрос на миграцию не должен разрешаться, если запрос идентифицирует исходную платформу 50 в качестве исходной платформы 50.
Пусть ответ положителен, тогда миграция разрешается. Однако ответ может быть и отрицательным, и тогда миграция не разрешается. В последнем случае, и как упомянуто выше, пользователь, вероятно, захочет переместить лицензии 36 из изображения 54 миграции назад на исходную платформу 50, которая фактически будет целевой платформой 50. Если это так, то пользователь должен выполнить этапы по фиг.6 на исходной платформе 50 как на целевой платформе 50.
В предположении, что блок записи миграции принимает ответ, что запрос на самом деле разрешен услугой 52 миграции (этап 613), блок 64 записи миграции переходит к определению местоположения доверительного компонента 38 на целевой платформе 50 и запрашивает найденный доверительный компонент 38 об идентификации того, где сохранить каждую лицензию 36 на целевой платформе 50 (этап 615). Подобно описанному ранее, такой запрос известен или должен быть очевидным для релевантной публики и может выполняться любым соответствующим способом без отклонения от сущности и объема настоящего изобретения. Например, доверительный компонент 38 может включать в себя функцию, которая позволяет ему идентифицировать хранилище лицензий для сохранения каждой лицензии 36, и блок 64 записи миграции механизма 58 миграции может либо запросить такую функцию прямо, или косвенно посредством такого доверительного компонента 38.
Во всяком случае, после приема идентификации хранилища лицензий или тому подобного для сохранения каждой лицензии 36 на целевой платформе 50, блок 64 записи миграции применяет изображение 54 миграции к такой целевой платформе 50 (этап 617). В частности, блок 64 записи миграции либо прямо, либо косвенно посредством доверительного компонента 38 извлекает каждую лицензию 36 и соответствующие данные в изображении 54 миграции, отделяет лицензию 36 от исходной платформы 50 и повторно привязывает лицензию к целевой платформе 50, сохраняет лицензию 36 в идентифицированном хранилище лицензий на целевой платформе 50 и сохраняет соответствующие данные в подходящем местоположении. После того как изображение 54 миграции применено, механизм 58 миграции может посредством его интерфейса 60 уведомить пользователя о том, что изображение 54 миграции на самом деле применено к целевой платформе 50 (этап 619), после чего механизм 58 миграции может быть завершен.
Блок 64 записи миграции может отделить лицензию 36 от исходной платформы 50 и повторно привязать лицензию 36 к целевой платформе 50 любым подходящим способом без отклонения от сущности и объема настоящего изобретения. Например, в одном варианте осуществления настоящего изобретения, блок 64 записи миграции делает это следующим образом. Предварительно и помня о том, что изображение 54 миграции включает в себя криптографические ключи, необходимые для отделения каждой лицензии 36 от исходной платформы 50, в форме файла ключей или тому подобного, а также помня о том, что криптографические ключи в файле ключей зашифрованы способом, позволяющим дешифрование услугой 52 миграции или по ее поручению, блок 64 записи миграции, при запрашивании от услуги 52 миграции, как на этапе 611, включает в запрос файл ключей из изображения 54 миграции. Таким образом, после того как услуга 52 миграции приняла запрос, эта услуга 52 миграции дешифрует криптографические ключи в таком файле ключей, как надлежит, и включает такие криптографические ключи в положительный ответ на запрос, как на этапе 613.
Отметим, однако, что такие криптографические ключи не должны предоставляться в ответе в незашифрованной форме, а, напротив, должны быть зашифрованы в форме, позволяющей дешифрование блоком 64 записи миграции. Соответственно, в одном варианте осуществления настоящего изобретения, блок 64 записи миграции и услуга 52 миграции в кооперации устанавливают совместно используемый секрет в ходе запроса, такой как симметричный ключ, который может быть использован как услугой 52 миграции для шифрования криптографических ключей, так и блоком 64 записи миграции для дешифрования таких ключей. В другом варианте осуществления настоящего изобретения блок 64 записи миграции при запрашивании разрешения от услуги 52 миграции, как на этапе 611, включает в запрос его открытый ключ (PU-MW), услуга 52 миграции шифрует криптографические ключи с помощью (PU-MW) для получения в результате (PU-MW(криптографические ключи)), и блок 64 записи миграции дешифрует такие криптографические ключи путем применения соответствующего частного ключа (PR-MW) к (PU-MW(криптографические ключи)) для их выявления.
Как отмечено выше, каждая лицензия 36 привязана к конкретной платформе 50 за счет наличия в ней ключа дешифрования (KD), зашифрованного согласно открытому ключу платформы 50 (PU-_) для получения в результате (PU-_(KD)). Таким образом, только платформа с соответствующим частным ключом (PR-_) может применить его к (PU-_(KD)) для извлечения (KD). Для каждой лицензии 36, затем, криптографический ключ, предоставленный услугой 52 миграции для отделения лицензии 36 от исходной платформы 50, является частным ключом такой исходной платформы 50 (PR-SP), который соответствует открытому ключу такой исходной платформы 50 (PU-SP), которая зашифровывает ключ дешифрования (KD) в лицензии 36 для получения в результате (PU-SP(KD)). Отметим, что хотя такой частный ключ (PR-SP) обычно должен был храниться закрыто как секрет исходной платформой 50, такой (PR-SP) является, вероятно, частным ключом доверительного компонента 38, который был переустановлен для доверительного компонента 38 как часть миграции, как изложено выше. Соответственно, не требуется, чтобы такой (PR-SP) хранился закрыто. Во всяком случае, механизм 58 миграции на целевой платформе 50 (а также на исходной платформе 50) является, по всей вероятности, доверительным объектом, и поэтому ему доверяется надлежащим образом обращаться с таким (PR-SP).
То есть, как можно теперь понять, для того, чтобы блоку 64 записи миграции на целевой платформе 50 отделить каждую лицензию 36 от исходной платформы 50, этот блок 64 записи миграции извлекает (PU-SP(KD)) из лицензии 36, извлекает (PR-SP), как предоставлено услугой 52 миграции в ответе на запрос на миграцию, как на этапе 613, и применяет (PR-SP) к (PU-SP(KD)) для извлечения (KD). После этого блок 64 записи миграции на целевой платформе 50 повторно привязывает лицензию 36 к целевой платформе 50 путем извлечения ее открытого ключа (PU-TP), применения этого (PU-TP) к (KD) для получения (PU-TP(KD)) и помещения такого (PU-TP(KD)) в лицензию 36. Таким образом, только целевая платформа 50 с соответствующим частным ключом (PR-TP) может применить его к (PU-TP(KD)), чтобы извлечь (KD). Отметим, что путем изменения лицензии 36 любая ее цифровая подпись, вероятно, станет безуспешной для подтверждения подлинности. Соответственно, надлежащая процедура предусмотрена для блока 64 записи миграции, чтобы повторно снабдить подписью лицензию 36, чтобы сформировать новую цифровую подпись, которая будет в действительности подтверждать подлинность, а также надлежащая процедура предусмотрена для доверительного компонента 38, чтобы ссылаться на новую цифровую подпись при подтверждении подлинности лицензии 36. Такое повторное снабжение подписью и связанные функции известны или должны быть очевидны релевантной публике и поэтому не требуют описания здесь в конкретных деталях. Поэтому такое повторное снабжение подписью и связанные функции могут выполняться любым соответствующим способом без отклонения от сущности и объема настоящего изобретения.
Заключение
Программирование, необходимое для осуществления процессов, выполняемых в связи с настоящим изобретением, относительно простое и должно быть очевидно для релевантных специалистов по программированию. Соответственно, такое программирование не прикладывается к настоящему документу. Любое конкретное программирование может быть использовано для осуществления настоящего изобретения без отклонения от сущности и объема настоящего изобретения.
В настоящем изобретении предоставлены способ и механизм для миграции цифровой лицензии 36, от действующей для воспроизведения соответствующей части контента 32 на первой вычислительной платформе 50 к действующей для воспроизведения части контента 32 на второй вычислительной платформе 50. Лицензия 36 отделяется от первой платформы 50 и повторно привязывается ко второй платформе, и лицензия 36 не может быть использована на первой платформе 50 или какой-либо иной платформе 50 после миграции на вторую платформу 50.
Следует понимать, что могут выполняться изменения в вариантах осуществления, описанных выше, без отклонения от принципов изобретения. Поэтому должно быть понятно, что изобретение не ограничивается раскрытыми конкретными вариантами, а предполагается охватывающим модификации в пределах сущности и объема настоящего изобретения, как определено приложенными пунктами формулы изобретения.
название | год | авторы | номер документа |
---|---|---|---|
ГИБКАЯ АРХИТЕКТУРА ЛИЦЕНЗИРОВАНИЯ ДЛЯ ЛИЦЕНЗИРОВАНИЯ ЦИФРОВОГО ПРИЛОЖЕНИЯ | 2006 |
|
RU2402809C2 |
ВОСПРОИЗВЕДЕНИЕ ЦИФРОВОГО КОНТЕНТА В СИСТЕМЕ ЗАЩИТЫ КОНТЕНТА СОГЛАСНО МНОЖЕСТВУ ЦЕПНЫХ ЦИФРОВЫХ ЛИЦЕНЗИЙ | 2005 |
|
RU2378772C2 |
ПРИНУДИТЕЛЬНОЕ СВЯЗЫВАНИЕ ЦИФРОВОЙ ЛИЦЕНЗИИ С ПОЛЬЗОВАТЕЛЕМ И ПРИНУДИТЕЛЬНОЕ СВЯЗЫВАНИЕ ПОЛЬЗОВАТЕЛЯ С НЕСКОЛЬКИМИ ВЫЧИСЛИТЕЛЬНЫМИ УСТРОЙСТВАМИ В СИСТЕМЕ УПРАВЛЕНИЯ ПРАВАМИ НА ЦИФРОВОЕ СОДЕРЖИМОЕ (DRM) | 2004 |
|
RU2350038C2 |
ГИБКАЯ АРХИТЕКТУРА ЛИЦЕНЗИРОВАНИЯ В СИСТЕМЕ УПРАВЛЕНИЯ АВТОРСКИМ ПРАВОМ | 2005 |
|
RU2392659C2 |
РЕГИСТРАЦИЯ/СУБРЕГИСТРАЦИЯ СЕРВЕРА УПРАВЛЕНИЯ ЦИФРОВЫМИ ПРАВАМИ (УЦП) В АРХИТЕКТУРЕ УЦП | 2004 |
|
RU2348073C2 |
ПРЕДСТАВЛЕНИЕ ЗАЩИЩЕННОГО ЦИФРОВОГО КОНТЕНТА В РАМКАХ СЕТИ ВЫЧИСЛИТЕЛЬНЫХ УСТРОЙСТВ ИЛИ Т.П. | 2005 |
|
RU2375748C2 |
ЦИФРОВОЕ ПРИЛОЖЕНИЕ, РАБОТАЮЩЕЕ СОГЛАСНО АГРЕГАЦИИ МНОЖЕСТВА ЛИЦЕНЗИЙ | 2006 |
|
RU2421808C2 |
ОПРЕДЕЛЕНИЕ СТЕПЕНИ ДОСТУПА К СОДЕРЖИМОМУ И ТОМУ ПОДОБНОМУ В СИСТЕМЕ ЗАЩИТЫ СОДЕРЖИМОГО ИЛИ ТОМУ ПОДОБНОГО | 2005 |
|
RU2367014C2 |
ВЫДАЧА ЛИЦЕНЗИЙ НА ИСПОЛЬЗОВАНИЕ СРЕДСТВА ПУБЛИКАЦИИ В АВТОНОМНОМ РЕЖИМЕ В СИСТЕМЕ УПРАВЛЕНИЯ ПРАВАМИ НА ЦИФРОВОЕ СОДЕРЖИМОЕ DRM | 2004 |
|
RU2331917C2 |
УЛУЧШЕННЫЙ ДОСТУП К ДОМЕНУ | 2007 |
|
RU2447498C2 |
Изобретение относится к области управления правами и обеспечения выполнения прав на цифровой контент. Техническим результатом является обеспечение отделения цифровой лицензии от первой платформы и привязывания ее ко второй платформе таким образом, что лицензия не может быть использована на первой платформе или какой-либо другой платформе после миграции на вторую платформу. Такой результат достигается тем, что цифровая лицензия мигрирует с исходной платформы на целевую платформу. На исходной платформе формируется изображение миграции для включения в него лицензии и соответствующих данных, и лицензия удаляется из такой исходной платформы. На целевой платформе запрашивается разрешение из централизованной услуги миграции, чтобы переместить лицензию в изображении миграции на целевую платформу. Услуга миграции определяет, следует ли разрешить миграцию лицензии на основе предварительно определенной политики миграции. После приема запрошенного разрешения, в качестве ответа из услуги миграции, изображение миграции применяется к целевой платформе путем отделения лицензии от исходной платформы и повторной привязки лицензии к целевой платформе. 2 н. и 18 з.п. ф-лы, 6 ил.
1. Способ приема посредством механизма перемещения на целевой платформе цифровой лицензии от механизма перемещения, связанного с исходной платформой, и указания того, что цифровая лицензия была ранее привязана к исходной платформе, причем цифровая лицензия позволяет воспроизводить защищенный цифровой контент платформой, контент зашифрован и является дешифрируемым на основе ключа дешифрования KD, причем способ содержит:
прием на целевой платформе от механизма перемещения, связанного с исходной платформой, образа перемещения, причем упомянутый образ перемещения сформирован посредством механизма перемещения, связанного с исходной платформой, причем упомянутый образ перемещения включает в себя цифровую лицензию и идентификатор платформы для исходной платформы;
прием указания того, что упомянутая цифровая лицензия удалена из исходной платформы посредством механизма перемещения, связанного с исходной платформой, и прием криптографического ключа исходной платформы, причем криптографический ключ не восстанавливается на исходной платформе посредством повтора цифровой лицензии;
считывание сформированного образа перемещения;
запрашивание разрешения из централизованной услуги перемещения, удаленной относительно целевой платформы и исходной платформы, чтобы завершить перемещение цифровой лицензии в образе перемещения на целевую платформу, причем запрос содержит идентификатор платформы для целевой платформы и идентификатор платформы для исходной платформы, полученный из образа перемещения;
прием запрошенного разрешения в качестве ответа из централизованной услуги перемещения, причем ответ включает в себя криптографический ключ исходной платформы; и
применение образа перемещения к целевой платформе, основываясь на ответе, посредством отделения цифровой лицензии от исходной платформы с криптографическим ключом исходной платформы, чтобы извлечь KD, привязывания отделенной цифровой лицензии к целевой платформе посредством включения в нее KD, зашифрованного и дешифруемого в соответствии с криптографическим ключом целевой платформы, и сохранение повторно привязанной цифровой лицензии на целевой платформе.
2. Способ по п.1, дополнительно содержащий:
прием указания на целевой платформе того, что лицензия и частный ключ PR-SP удалены из исходной платформы, так чтобы замена удаленной лицензии на исходной платформе не позволила воспроизводить защищенный цифровой контент на исходной платформе, поскольку не будет иметься частный ключ PR-SP для доступа к KD из такой замененной лицензии, причем упомянутая лицензия привязана к платформе посредством включения в нее KD, зашифрованного в соответствии с открытым ключом платформы PU-SP для получения в результате PU-SP(KD), и только платформа с соответствующим частным ключом PR-SP может применить частный ключ для извлечения KD;
прием запрошенного разрешения в качестве ответа из централизованной услуги перемещения, причем ответ включает в себя частный ключ PR-SP в форме, доступной для целевой платформы; и
применение образа перемещения к целевой платформе, основываясь на ответе, посредством привязки отделенной лицензии к целевой платформе посредством включения в нее KD, зашифрованного и дешифруемого в соответствии с открытым ключом целевой платформы PU-TP для получения в результате PU-TP(KD), причем только целевая платформа с соответствующим частным ключом PR-TP нормально может применить его к PU-TP(KD), чтобы извлечь KD, и сохранение повторно привязанной лицензии на целевой платформе.
3. Способ по п.1, дополнительно содержащий прием указания того, что механизм перемещения исходной платформы был реализован на исходной платформе, причем механизм перемещения исходной платформы предназначен для формирования образа перемещения на исходной платформе.
4. Способ по п.1, дополнительно содержащий реализацию механизма перемещения на целевой платформе, причем механизм перемещения на целевой платформе предназначен для применения образа перемещения на целевой платформе.
5. Способ по п.1, дополнительно содержащий прием указания того, что пользователь на исходной платформе выбрал лицензию для перемещения на целевую платформу.
6. Способ по п.1, дополнительно содержащий прием указания того, что образ перемещения был сформирован посредством механизма перемещения на исходной платформе для включения в него лицензии и данных, специфических для лицензии, причем данные, специфические для лицензии, включают в себя данные, специфические для исходной платформы, информацию состояния, относящуюся к лицензии, как поддерживается в хранилище состояний на исходной платформе, идентификатор платформы исходной платформы, и информацию платформы, относящуюся к исходной платформе и идентифицирующую конкретные признаки аппаратных средств, программного обеспечения и/или операционной системы исходной платформы.
7. Способ по п.6, содержащий запрашивание от централизованной услуги перемещения разрешения на перемещение лицензии, причем запрос содержит данные запроса, включающие в себя ID платформы, идентифицирующий целевую платформу, идентификатор платформы для исходной платформы, полученный из образа перемещения, информацию платформы, относящуюся к целевой платформе и идентифицирующую конкретные признаки аппаратных средств, программного обеспечения и/или операционной системы целевой платформы, и, по меньшей мере, часть информации платформы, относящейся к исходной платформе, полученную из образа перемещения, и приема в качестве ответа на запрос определения от централизованной услуги перемещения, следует ли разрешить перемещение лицензии, основываясь на предварительно определенной политике перемещения, которая принимает во внимание такие данные запроса.
8. Способ по п.1, в котором образ перемещения, принятый на целевой платформе, включает в себя лицензию и криптографический ключ исходной платформы, зашифрованный и дешифруемый централизованной услугой перемещения.
9. Способ по п.8, содержащий запрашивание от централизованной услуги перемещения разрешения на перемещение цифровой лицензии, причем запрос включает в себя данные запроса, включающие в себя зашифрованный криптографический ключ исходной платформы, и прием запрошенного разрешения как ответа от централизованной услуги перемещения, причем ответ включает в себя криптографический ключ исходной платформы, зашифрованный и дешифруемый целевой платформой.
10. Способ по п.1, в котором образ перемещения, принятый на целевой платформе, включает в себя, по меньшей мере, одно из цифровой подписи и хеша, основанных на, по меньшей мере, части образа перемещения, так чтобы централизованная услуга перемещения могла использовать такую подпись или хеш для верификации того, что образ перемещения не был изменен.
11. Способ по п.1, дополнительно содержащий прием указания того, что образ перемещения был сохранен в выбранном местоположении на исходной платформе, прием образа перемещения из выбранного местоположения на исходной платформе в выбранное местоположение на целевой платформе и извлечение образа перемещения из выбранного местоположения на целевой платформе.
12. Способ по п.1, дополнительно содержащий повторное снабжение подписью повторно привязанной цифровой лицензии целевой платформой.
13. Машиночитаемый носитель, содержащий сохраненные на нем исполняемые компьютером инструкции, которые, будучи выполненными процессором, реализуют способ приема посредством механизма перемещения на целевой платформе, цифровой лицензии от механизма перемещения, связанного с исходной платформой, и указания того, что цифровая лицензия была ранее привязана к исходной платформе, причем цифровая лицензия позволяет воспроизводить защищенный цифровой контент платформой, контент зашифрован и является дешифрируемым на основе ключа дешифрования KD, причем способ содержит:
прием на целевой платформе от механизма перемещения, связанного с исходной платформой, образа перемещения, причем упомянутый образ перемещения сформирован посредством механизма перемещения, связанного с исходной платформой, причем упомянутый образ перемещения включает в себя цифровую лицензию и идентификатор платформы для исходной платформы;
прием указания того, что упомянутая цифровая лицензия удалена из исходной платформы посредством механизма перемещения, связанного с исходной платформой, и криптографический ключ исходной платформы был удален, причем криптографический ключ не восстанавливается на исходной платформе посредством повтора цифровой лицензии;
считывание сформированного образа перемещения;
запрашивание разрешения из централизованной услуги перемещения, удаленной относительно целевой платформы и исходной платформы, чтобы завершить перемещение цифровой лицензии в образе перемещения на целевую платформу, причем запрос содержит идентификатор платформы для целевой платформы и идентификатор платформы для исходной платформы, полученный из образа перемещения;
прием запрошенного разрешения в качестве ответа из централизованной услуги перемещения, причем ответ включает в себя криптографический ключ исходной платформы; и
применение образа перемещения к целевой платформе, основываясь на ответе, посредством отделения цифровой лицензии от исходной платформы с криптографическим ключом исходной платформы, чтобы извлечь KD, привязывания отделенной цифровой лицензии к целевой платформе посредством включения в нее KD, зашифрованного и дешифруемого в соответствии с криптографическим ключом целевой платформы, и сохранение повторно привязанной цифровой лицензии на целевой платформе.
14. Носитель по п.13, дополнительно содержащий инструкции для:
приема указания на целевой платформе того, что лицензия и частный ключ PR-SP удалены из исходной платформы, так чтобы замена удаленной лицензии на исходной платформе не позволила воспроизводить защищенный цифровой контент на исходной платформе, поскольку не будет иметься частный ключ PR-SP для доступа к KD из такой замененной лицензии, причем упомянутая лицензия привязана к платформе посредством включения в нее KD, зашифрованного в соответствии с открытым ключом платформы PU-SP для получения в результате PU-SP(KD), и только платформа с соответствующим частным ключом PR-SP может применить частный ключ для извлечения KD;
приема запрошенного разрешения в качестве ответа из централизованной услуги перемещения, причем ответ включает в себя частный ключ PR-SP в форме, доступной для целевой платформы; и
применения образа перемещения к целевой платформе, основываясь на ответе, посредством привязки отделенной лицензии к целевой платформе посредством включения в нее KD, зашифрованного и дешифруемого в соответствии с открытым ключом целевой платформы PU-TP для получения в результате PU-TP(KD), причем только целевая платформа с соответствующим частным ключом PR-TP нормально может применить его к PU-TP(KD), чтобы извлечь KD, и сохранение повторно привязанной лицензии на целевой платформе.
15. Носитель по п.13, причем способ дополнительно содержит прием указания того, что образ перемещения был сформирован посредством механизма перемещения на исходной платформе для включения в него лицензии и данных, специфических для лицензии, причем данные, специфические для лицензии, включают в себя данные, специфические для исходной платформы, информацию состояния, относящуюся к лицензии, как поддерживается в хранилище состояний на исходной платформе, идентификатор платформы исходной платформы и информацию платформы, относящуюся к исходной платформе и идентифицирующую конкретные признаки аппаратных средств, программного обеспечения и/или операционной системы исходной платформы.
16. Носитель по п.13, причем способ содержит запрашивание от централизованной услуги перемещения разрешения на перемещение лицензии, причем запрос содержит данные запроса, включающие в себя ID платформы, идентифицирующий целевую платформу, ID платформы для исходной платформы, полученный из образа перемещения, информацию платформы, относящуюся к целевой платформе и идентифицирующую конкретные признаки аппаратных средств, программного обеспечения и/или операционной системы целевой платформы, и, по меньшей мере, часть информации платформы, относящейся к исходной платформе, полученную из образа перемещения, и приема в качестве ответа на запрос определения от централизованной услуги перемещения, следует ли разрешить перемещение лицензии, основываясь на предварительно определенной политике перемещения, которая принимает во внимание такие данные запроса.
17. Носитель по п.13, в котором образ перемещения, принятый на целевой платформе, включает в себя лицензию и криптографический ключ исходной платформы, зашифрованный и дешифруемый централизованной услугой перемещения.
18. Носитель по п.17, причем способ содержит запрашивание от централизованной услуги перемещения разрешения на перемещение цифровой лицензии, причем запрос включает в себя данные запроса, включающие в себя зашифрованный криптографический ключ исходной платформы, и прием запрошенного разрешения как ответа от централизованной услуги перемещения, причем ответ включает в себя криптографический ключ исходной платформы, зашифрованный и дешифруемый целевой платформой.
19. Носитель по п.13, в котором образ перемещения, принятый на целевой платформе, включает в себя, по меньшей мере, одно из цифровой подписи и хеша, основанных на, по меньшей мере, части образа перемещения, так чтобы централизованная услуга перемещения могла использовать такую подпись или хеш для верификации того, что образ перемещения не был изменен.
20. Носитель по п.13, в котором способ дополнительно содержит прием указания того, что образ перемещения был сохранен в выбранном местоположении на исходной платформе, и прием образа перемещения из выбранного местоположения на исходной платформе в выбранное местоположение на целевой платформе и извлечение образа перемещения из выбранного местоположения на целевой платформе.
Перекатываемый затвор для водоемов | 1922 |
|
SU2001A1 |
Топчак-трактор для канатной вспашки | 1923 |
|
SU2002A1 |
US 6009401 A, 28.12.1999 | |||
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор | 1923 |
|
SU2005A1 |
ПЕРЕДАЧА ЛИЦЕНЗИИ НА ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ ЭЛЕМЕНТА АППАРАТНОГО ОБЕСПЕЧЕНИЯ | 1995 |
|
RU2147790C1 |
СИСТЕМА КОНТРОЛЯ ДОСТУПА К ИНФОРМАЦИОННЫМ РЕСУРСАМ | 2001 |
|
RU2207618C2 |
Авторы
Даты
2010-12-10—Публикация
2006-08-03—Подача