|
(21), (22) Заявка: 2005141752/09, 30.12.2005
(24) Дата начала отсчета срока действия патента:
30.12.2005
(30) Конвенционный приоритет:
01.02.2005 US 11/048,087
(43) Дата публикации заявки: 20.07.2007
(46) Опубликовано: 20.06.2010
(56) Список документов, цитированных в отчете о поиске:
US 2003/187801 A, 02.10.2003. RU 2147790 C1, 20.04.2000. US 2003/007646 A1, 09.01.2003. US 2003/182236 A1, 25.09.2003.
Адрес для переписки:
129090, Москва, ул. Б.Спасская, 25, стр.3, ООО “Юридическая фирма Городисский и Партнеры”, пат.пов. Ю.Д.Кузнецову, рег. 595
|
(72) Автор(ы):
ДЕМЕЛЛО Марко А. (US), ПАРАМАСИВАМ Мутхукришнан (US), УАКСМАН Питер Д. (US), ПАНДЬЯ Равиндра Н. (US), БУРН Стивен (US), КРИШНАСВАМИ Винай (US)
(73) Патентообладатель(и):
МАЙКРОСОФТ КОРПОРЕЙШН (US)
|
(54) ГИБКАЯ АРХИТЕКТУРА ЛИЦЕНЗИРОВАНИЯ В СИСТЕМЕ УПРАВЛЕНИЯ АВТОРСКИМ ПРАВОМ
(57) Реферат:
Изобретение относится к системе управления доступом к цифровому содержанию. Техническим результатом является обеспечение возможности использовать множество корневых доверительных источников права и определять, какой из указанных источников можно использовать для своей аутентификации. Лицензия пользователя содержит части дешифрования и санкционирования. Часть дешифрования доступна только для этого пользователя и имеет ключ (KD) для дешифрования соответствующего зашифрованного цифрового содержания, а также информацию проверки достоверности, включающую в себя идентификацию корневого доверительного источника права. Часть санкционирования описывает права, предоставленные в связи с цифровым содержанием, и условия, которые должны удовлетворяться для выполнения предоставленных прав, и имеет цифровую подпись. Пользователь осуществляет доступ к части дешифрования и выполняет содержащуюся в ней информацию проверки достоверности для проверки достоверности цифровой подписи части санкционирования. Если условия в части санкционирования позволяют это, права в части санкционирования выполняют путем дешифрования зашифрованного содержания с помощью ключа (KD) дешифрования из части дешифрования и передают дешифрованное содержание. 2 н. и 13 з.п. ф-лы, 6 ил.
Область техники, к которой относится изобретение
Настоящее изобретение относится к системе управления авторским правом (АП, RM), которая обеспечивает доступ к цифровому содержанию, только согласуясь с соответствующей цифровой лицензией. Более конкретно, изобретение относится к конкретной архитектуре лицензирования, используемой совместно с такой системой RM, с помощью которой каждая лицензия может быть связана с одним или больше корневыми доверительными источниками права, и каждая лицензия может в действительности содержать множество лицензионных документов.
Уровень техники
Управление правом и его обеспечение чрезвычайно желательны в связи с цифровым содержанием, таким как цифровое звуковое содержание, цифровое видеосодержание, цифровой текст, цифровые данные, цифровые мультимедийные данные и т.д., в случае, когда такое цифровое содержание требуется распределять для одного или больше пользователей. Цифровое содержание может быть статичным, таким как, например, текстовый документ, или может быть потоковым, таким как потоковое звуковое содержание /видеосодержание репортажа о событии, передаваемом в режиме прямой передачи. Типичные модели распространения включают в себя материальные устройства, такие как магнитный (гибкий) диск, магнитная лента, оптический (компактный) диск (CD) и т.д., и нематериальные среды, такие как электронная доска объявлений, электронная сеть, Интернет и т.д. После получения пользователем такой пользователь передает цифровое содержание с помощью соответствующего программного обеспечения передачи, такого как звуковой проигрыватель, программа отображения текста и т.д., в персональный компьютер или в другое аппаратное средство.
В одном сценарии владелец содержания или владелец права, такой как автор, издатель, распространитель и т.д., желает распространять такое цифровое содержание каждому из множества пользователей или получателей в обмен на оплату лицензии или некоторую другую компенсацию. При таком сценарии содержание может представлять собой звуковую запись, мультимедийную презентацию и т.д., и целью распространения является получение оплаты за лицензию. Такой владелец содержания, если бы у него была возможность выбора, вероятно, пожелал бы ограничить возможности пользователя в отношении распространенного цифрового содержания. Например, владелец содержания хотел бы ограничить возможность пользователя копировать и повторно распространять такое содержание второму пользователю, по меньшей мере, в случае, когда второй пользователь не выплатил владельцу содержания оплату за лицензию.
Кроме того, владелец содержания может пожелать предоставить пользователю гибкость при покупке различных типов лицензий с разной суммой оплаты лицензии, в то же время связывая пользователя условиями, накладываемыми типом фактически купленной лицензии. Например, владелец содержания может захотеть разрешить передачу распределенного цифрового содержания только ограниченное количество раз, только за определенный суммарный период времени, только в устройство определенного типа, с использованием платформы передачи только определенного типа, только определенным типом пользователя и т.д.
В другом сценарии разработчик содержания, такой как сотрудник или член организации, желает распространять такое цифровое содержание одному или больше другим сотрудникам или членам организации, или другим лицам за пределами организации, но не хотел бы, чтобы это содержание было передано другим лицам. Здесь распространение содержания является более похожим на совместное использование содержания в пределах организации, когда это происходит конфиденциальным или ограниченным способом, в отличие от широкого распространения взамен на оплату лицензии или за некоторую другую компенсацию.
В таком сценарии содержание может представлять собой презентацию документа, электронную таблицу, базу данных, электронную почту или тому подобное, которым можно обмениваться в пределах помещения офиса, и разработчик содержания может хотеть, чтобы содержание оставалось внутри организации или помещения офиса и не было передано не допущенным лицам, таким как, например, конкуренты или соперники. И снова такой разработчик содержания желает ограничить возможности получателя в отношении такого распространенного цифрового содержания. Например, владелец содержания может желать ограничить возможности пользователя копировать и повторно распространять такое содержание второму пользователю, по меньшей мере, таким образом, который раскрывает содержание за пределами связи между лицами, которым должно быть разрешено передавать содержание.
Кроме того, разработчик содержания может захотеть предоставлять различным получателям различные уровни права передачи. Например, разработчик содержания может хотеть разрешить просмотр цифрового содержания без возможности печати в отношении одного класса лиц, и возможность просмотра и печати в отношении другого класса лиц.
Однако и при любом сценарии после того, как произошло распространение, такой владелец/разработчик содержания имеет очень малые возможности контроля, если имеет их вообще, над цифровым содержанием. Это особенно проблематично с учетом того факта, что практически каждый персональный компьютер включает в себя программные и аппаратные средства, необходимые для получения точной цифровой копии такого цифрового содержания и для загрузки такой точной цифровой копии на записываемый магнитный или оптический диск, или может передать такую точную цифровую копию по сети, такой как Интернет, в любое место назначения.
Конечно, как часть транзакции, в которой распространяют содержание, владелец/разработчик содержания может потребовать от пользователя/получателя цифрового содержания обещание не выполнять повторное распространение такого цифрового содержания нежелательным образом. Однако такое обещание можно легко дать и можно легко нарушить. Владелец разработчик/содержания может попытаться предотвратить такое повторное распространение, используя любое из нескольких известных устройств безопасности, обычно включающих в себя шифрование и дешифрование. Однако, вероятно, для умного и решительного пользователя мало что может затруднить дешифрование зашифрованного цифрового содержания, сохранение такого цифрового содержания в незашифрованной форме с последующим его повторным распространением.
Таким образом, были разработаны архитектура и способы RM и его обеспечения, которые позволяют обеспечить контролируемую передачу произвольных форм цифрового содержания, при этом такое управление является гибким и может определяться владельцем/разработчиком такого цифрового содержания. Такие архитектуры позволяют обеспечить и упрощают такую контролируемую передачу любого из описанных выше сценариев.
Обычно цифровая лицензия связана с глобальным или близким к глобальному корневым доверительным источником права, например, с использованием цепи цифровых сертификатов, и таким образом любая организация, которая желает аутентифицировать/проверять такую лицензию, должна обладать соответствующей информацией, относящейся к такому корневому доверительному источнику права. Однако, как следует понимать, могут возникать ситуации, когда организация, не по своей вине, фактически не обладает такой соответствующей информацией и поэтому не может аутентифицировать/проверять лицензию. В качестве одного из примеров информация может быть изменена после того, как организация получила копию. В качестве другого примера может измениться корневой доверительный источник права.
В любом примере следует понимать, что для любой организации очень опасно полагаться на какой-либо конкретный корневой доверительный источник права без учета какого-либо другого корневого доверительного источника права. По существу, организация всегда полагается на определенный корневой доверительный источник права и его информацию, даже когда существуют и появляются другие корневые доверительные источники права, даже если определенный корневой доверительный источник права перестает существовать.
В соответствии с этим существует потребность в разработке более гибкой архитектуры, определяющей цифровые лицензии и работу с ними. В частности, существует потребность в такой архитектуре, которая позволяет использовать множество корневых доверительных источников права и которая позволяет лицензиям самостоятельно определять, какой корневой доверительный источник права она может использовать для своей аутентификации/проверки. Кроме того, для получения эффекта от такой архитектуры существует потребность в новом типе лицензии, которая содержит множество документов лицензии.
Сущность изобретения
Указанные выше потребности удовлетворяются, по меньшей мере, частично с помощью настоящего изобретения, в котором цифровая лицензия уполномочивает передачу соответствующей части цифрового содержания в компьютерное устройство, где содержание находится в зашифрованной форме и может быть расшифровано с помощью ключа дешифрования (КД, KD). Лицензию выдают пользователю, и она имеет часть дешифрования и часть санкционирования.
Часть дешифрования доступна только для пользователя, которому была выдана лицензия и которая имеет ключ дешифрования (KD) и информацию, подтверждающую достоверность, включающую в себя идентификацию корневого доверительного источника права. Часть санкционирования описывает права, предоставленные в отношении цифрового содержания, и условия, которые должны удовлетворяться для предоставления этих прав, и имеет в части дешифрования цифровую подпись, достоверность которой проверяют в соответствии с идентифицированным корневым доверительным источником права.
Пользователь, которому выдана лицензия, получает доступ к части дешифрования и использует ее информацию проверки достоверности для проверки достоверности цифровой подписи части санкционирования. Такой пользователь получает права, содержащиеся в части санкционирования, только если условия части санкционирования позволяют это. Эти права осуществляются путем дешифрования зашифрованного содержания с использованием ключа дешифрования (KD) из части дешифрования и воспроизведения дешифрованного содержания. Важно отметить, что лицензия не обязательно должна быть связана с каким-либо конкретным корневым доверительным источником права.
Краткое описание чертежей
Приведенное выше краткое описание, а также следующее подробное описание вариантов выполнения настоящего изобретения будут более понятными при их чтении совместно с приложенными чертежами. С целью иллюстрации изобретения на чертежах представлены варианты выполнения, которые являются предпочтительными в настоящее время. Следует, однако, понимать, что изобретение не ограничивается представленными точными компоновками и инструментами.
На фиг.1 показана блок-схема, представляющая пример неограничивающей вычислительной среды, в которой может быть выполнено настоящее изобретение.
На фиг.2 показана блок-схема, представляющая пример сетевой среды, имеющий множество вычислительных устройств, в которой может быть выполнено настоящее изобретение.
На фиг.3 показана блок-схема, представляющая архитектуру принудительного выполнения одного примера системы, основанной на доверительности, включающей в себя цифровую лицензию, в соответствии с одним вариантом выполнения настоящего изобретения.
На фиг.4 показана блок-схема, в более подробной форме представляющая лицензию по фиг.3 и включающая в себя часть санкционирования и часть дешифрования в соответствии с одним вариантом выполнения настоящего изобретения.
На фиг.5 показана блок-схема последовательности выполнения способа, представляющая основные этапы, выполняемые во время выдачи лицензии по фиг.3 и 4 в соответствии с одним вариантом выполнения настоящего изобретения.
На фиг.6 показана блок-схема последовательности выполнения способа, представляющая основные этапы, выполняемые при выполнении лицензии по фиг.3 и 4, для воспроизведения содержания в соответствии с одним вариантом выполнения настоящего изобретения.
Подробное описание изобретения
ВЫЧИСЛИТЕЛЬНАЯ СРЕДА
Фиг.1 и следующее описание предназначены для представления краткого общего описания соответствующей вычислительной среды, в которой может быть выполнено изобретение. Следует, однако, понимать, что в связи с настоящим изобретением предусматривается возможность использования карманных, портативных и других вычислительных устройств любого вида. Хотя ниже описан компьютер общего назначения, он представлен только в качестве одного примера, и в настоящем изобретении требуется только клиент-терминал, имеющий возможность совместного функционирования и взаимодействия с сетью. Таким образом, настоящее изобретение может быть выполнено в среде услуг, предоставляемых по сети, в которых используются очень незначительные или минимальные ресурсы клиента, например в сетевой среде, в которой устройство клиента используется просто в качестве браузера или интерфейса с Всемирной сетью.
Хотя это и не требуется, изобретение может быть выполнено с использованием программного интерфейса приложения (ПИП, API), предназначенного для использования разработчиком, и/или может быть включено в программное приложение сетевого браузера, которое будет описано в общем контексте инструкций, выполняемых компьютером, таких как программные модули, выполняемые одним или больше компьютерами, такими как рабочие станции-клиенты, серверы или другие устройства. Обычно программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.п., которые выполняют определенные задачи или воплощают конкретные типы абстрактных данных. Обычно функции программных модулей могут быть скомбинированы или распределены в соответствии с требованиями в различных вариантах выполнения. Кроме того, для специалистов в данной области техники будет понятно, что изобретение может использоваться на практике с другими конфигурациями вычислительной системы. Другие хорошо известные вычислительные системы, среды и/или конфигурации, которые могут быть пригодны для использования с изобретением, включают в себя, без ограничений, персональные компьютеры (ПК, РС), автоматизированные банковские автоматы, компьютеры-серверы, карманные или портативные устройства, многопроцессорные системы, системы на основе микропроцессора, программируемые электронные бытовые товары, сетевые ПК, мини-компьютеры, универсальные компьютеры и т.п. Изобретение также можно использовать на практике в распределенных вычислительных средах, задачи в которых выполняют с использованием устройств удаленной обработки, которые соединены через сеть передачи данных или другую среду передачи данных. В описываемой вычислительной среде программные модули могут быть расположены как на локальном, так и на удаленном компьютерном носителе информации, включая в себя запоминающие устройства.
На фиг.1 таким образом представлен пример среды 100 соответствующей вычислительной системы, в которой может быть выполнено изобретение, хотя, как ясно указано выше, среда 100 вычислительной системы представляет собой только один пример соответствующей вычислительной среды и не предназначена для использования в качестве какого-либо ограничения как объема использования, так и функциональных возможностей изобретения. Вычислительную среду 100 никогда не следует интерпретировать как имеющую какую-либо зависимость или требования взаимосвязи с каким-либо одним или комбинацией компонентов, представленных в примере операционной среды 100.
Как показано на фиг.1, примерная система для выполнения изобретения включает в себя вычислительное устройство общего назначения в форме компьютера 110. Компоненты компьютера 110 могут включать в себя, без ограничений, процессорный блок 120, системное запоминающее устройство 130 и системную шину 121, которая соединяет различные компоненты системы, включая в себя системное запоминающее устройство с процессорным блоком 120. Системная шина 121 может быть любого из нескольких типов структур шины, включая в себя шину запоминающего устройства или контроллер запоминающего устройства, периферийную шину и локальную шину, с использованием одной или множества архитектур шины. В качестве примера, и без ограничений, такие архитектуры включают в себя архитектуру шины промышленного стандарта (АПС, ISA), микроканальную архитектуру шины (МКА, MCA), расширенную архитектуру шины промышленного стандарта (РАПС, EISA), локальную шину ассоциации по стандартизации в области видеотехники и микроэлектроники (АСВЭ, VESA) и шину межсоединения периферийных компонентов (МПК, PCI) (также известна как шина второго уровня).
Компьютер 110 обычно включает в себя множество считываемых компьютером носителей информации. Считываемые компьютером носители информации могут представлять собой любые доступные носители, доступ к которым может осуществляться с помощью компьютера 110 и включает в себя как энергозависимые, так и энергонезависимые носители информации, съемные и несъемные носители информации. В качестве примера, без ограничений, считываемые компьютером носители информации могут содержать компьютерные носители информации и среды передачи данных. Компьютерные носители информации включают в себя как энергозависимые, так и энергонезависимые, съемные и несъемные носители информации, выполненные с использованием любого способа или технологии, предназначенные для хранения информации, такой как инструкции, считываемые компьютером, структуры данных, программные модули или другие данные. Компьютерные носители информации включают в себя, без ограничений, ОЗУ, ПЗУ, СППЗУ, память типа флэш или запоминающие устройства, построенные на другой технологии, CD-ROM, цифровые универсальные диски (ЦУД, DVD) или другие оптические дисковые накопители, магнитные кассеты, магнитную ленту, накопитель на магнитных дисках или другие устройства магнитных накопителей информации, или другой накопитель, который можно использовать для сохранения требуемой информации и доступ к которому может осуществляться с помощью компьютера 110. Среда передачи данных обычно воплощает считываемые компьютером инструкции, структуры данных, программные модули или другие данные в виде сигнала, модулированного данными, такого как несущая волна или другой механизм транспортирования, и включают в себя любую среду передачи информации. Термин “сигнал, модулированный данными” означает сигнал, одна или больше характеристик которого установлена или изменена таким образом, чтобы закодировать информацию в сигнале. В качестве примера, и не для ограничений, среда передачи данных включает в себя кабельную среду, такую как кабельная сеть или прямое кабельное соединение, и беспроводную среду, такую как акустическая, РЧ, инфракрасная и другая беспроводная среда. Комбинации любых приведенных выше средств также могут быть включены в объем считываемых компьютером носителей информации.
Системное запоминающее устройство 130 включает в себя считываемый компьютером носитель информации и данных в форме энергозависимого и/или энергонезависимого запоминающего устройства, такого как постоянное запоминающее устройство (ПЗУ) 131 и оперативное запоминающее устройство (ОЗУ) 132. В ПЗУ 131 обычно сохраняют базовую систему 133 ввода/вывода (БСВВ, BIOS), содержащую основные процедуры, которые помогают передавать информацию между элементами компьютера 110, например, во время запуска при включении. В ОЗУ 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, такой как северный мост, также может быть соединен с системной шиной 121. Северный мост представляет собой набор микросхем, которые соединены с ЦПУ или главным процессорным блоком 120, и принимает на себя ответственность за связь с ускоренным графическим портом (УГП, AGP). Один или больше блоков обработки графики (БОГ, GPU) 184 может быть связан с графическим интерфейсом 182. При этом GPU 184 обычно включает в себя запоминающее устройство, встроенное в набор микросхем, такое как регистровый накопитель, и GPU 184 связан с видеопамятью 186. GPU 184, однако, представляет собой один из примеров сопроцессора, и таким образом множество устройств сопроцессоров может быть включено в компьютер 110. Монитор 191 или устройство дисплея другого типа также соединен с системной шиной 121 через интерфейс, такой как видеоинтерфейс 190, который, в свою очередь, может быть связан с видеопамятью 186. Кроме монитора 191, компьютеры также могут включать в себя другие периферийные выходные устройства, такие как громкоговорители 197 и принтер 196, которые могут быть соединены через выходной интерфейс 195 периферийных устройств.
Компьютер 110 может работать в сетевой среде с использованием логических соединений с одним или больше удаленными компьютерами, такими как удаленный компьютер 180. Удаленный компьютер 180 может представлять собой персональный компьютер, сервер, маршрутизатор, сетевой ПК, равноправное устройство или другой общий сетевой узел и типично включает в себя множество или все элементы, описанные выше, в отношении компьютера 110, хотя на фиг.1 было представлено только запоминающее устройство 181. Логические связи, представленные на фиг.1, включают в себя локальную вычислительную сеть (ЛВС) 171 и глобальную вычислительную сеть (ГВС) 173, но также могут включать в себя другие сети. Такие сетевые среды обычно используют в офисах, в компьютерных сетях на предприятиях, Интранет и Интернет.
Когда компьютер 110 используют в сетевой среде ЛВС, его подключают в ЛВС 171 через сетевой интерфейс или адаптер 170. Когда компьютер 110 используют в сетевой в среде ГВС, он обычно включает в себя модем 172 или другое средство установления связи с ГВС 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может быть соединен с системной шиной 121 через интерфейс 160 ввода пользователя или другой соответствующий механизм. В сетевой среде программные модули, представленные в отношении компьютера 110 или его частей, могут быть сохранены в удаленных запоминающих устройствах. В качестве примера, и не для ограничения, на фиг.1 представлены удаленные прикладные программы 185 как расположенные в запоминающем устройстве 181. Следует понимать, что показанные сетевые соединения представлены для примера и можно использовать другие средства установления каналов передачи данных между компьютерами.
Для специалистов в данной области техники будет понятно, что компьютер 110 или другое устройство-клиент может быть установлено как часть компьютерной сети. При этом настоящее изобретение относится к любой вычислительной системе, имеющей любое количество запоминающих устройств или накопителей и любое количество прикладных программ и процессов, сохраненных в любом количестве накопительных устройств или объемов. Настоящее изобретение может быть применено к среде с серверными компьютерами и компьютерами-клиентами, установленными в сетевой среде, имеющими удаленные или локальные запоминающие устройства. Настоящее изобретение также может относиться к отдельному компьютерному устройству, обладающему функциями языка программирования, свойствами интерпретации и выполнения программ.
Распределенные вычисления обеспечивают совместное использование компьютерных ресурсов и услуг путем непосредственного обмена между вычислительными устройствами и системами. Эти ресурсы и системы включают в себя обмен информацией, хранение в кэш и хранение файлов на диске. Распределенное вычисление использует преимущества сетевых соединений, что позволяет клиентам усиливать свою коллективную мощность для пользы всего предприятия. При этом многие устройства могут иметь прикладные программы, объекты или ресурсы, которые могут взаимодействовать, для вовлечения технологий аутентификации в соответствии с настоящим изобретением для надежной графической линии (линий) передачи данных.
На фиг.2 представлена схема примера сетевой или распределенной вычислительной среды. Распределенная вычислительная среда содержит вычислительные объекты 10a, 10b и т.д. и вычислительные объекты или устройства 110a, 110b, 110c и т.д. Эти объекты могут содержать программы, методы, накопители данных, программируемые логические схемы и т.д. Эти объекты могут содержать части одних или разных устройств, таких как КПК, телевизоры, MP3-плейеры, телевизоры, персональные компьютеры и т.д. Каждый объект может быть связан с другим объектом с помощью сети 14 передачи данных. Эта сеть может сама содержать другие вычислительные объекты и вычислительные устройства, которые предоставляют услугу для системы по фиг.2. В соответствии с аспектом изобретения каждый объект 10 или 110 может содержать прикладную программу, которая может запрашивать технологии аутентификации в соответствии с настоящим изобретением для надежной графической коммутационной линии (линий).
Также следует понимать, что объект, такой как 110c, может быть установлен на другом вычислительном устройстве 10 или 110. Таким образом, хотя представленная физическая среда может представлять подключенные устройства, такие как компьютеры, такая иллюстрация является всего лишь примером, и физическая среда может, в качестве альтернативы, быть представлена или описана как содержащая различные цифровые устройства, такие как КПК, телевизоры, MP3-плейеры и т.д., программные объекты, такие как интерфейсы, COM-объекты и т.п.
Существуют различные системы, компоненты и сетевые конфигурации, которые поддерживают распределенные вычислительные среды. Например, вычислительные системы могут быть соединены вместе с помощью кабельных или беспроводных систем, с использованием локальных сетей или широко распределенных сетей. В настоящее время большое количество сетей соединены с сетью Интернет, которая обеспечивает инфраструктуру для широко распределенных вычислений и охватывает множество различных сетей.
В домашних сетевых средах используют, по меньшей мере, четыре несопоставимые среды сетевого транспорта, каждая из которых может поддерживать уникальный протокол, такой как силовые электрические линии, среды данных (как беспроводные, так и кабельные), голосовые среды (например, телефон) и развлекательные среды. Большинство домашних устройств управления, таких как выключатели света и бытовые приборы, могут использовать силовые линии для передачи данных. Услуги данных могут поступать в дом по широкополосному каналу (например, ЦАЛ, DSL (цифровая абонентская линия) или кабельный модем), и доступ к ним внутри дома может осуществляться с использованием как беспроводных (например, HomeRF или 802.11b), так и кабельных каналов (например, Home PNA, Cat 5, и даже по силовому кабелю). Голосовой трафик может поступать в дом либо как проводной (например, Cat 3), так и беспроводный (например, сотовые телефоны) трафик и может быть распределен в доме с использованием проводки Cat 3. Развлекательные среды могут поступать в дом через спутник или по кабелю и обычно распределяются по дому с использованием коаксиального кабеля. Каналы IEEE 1394 и ИЦВ (DVI, интерактивное цифровое видео) также используются в форме цифровых взаимных связей для кластеров мультимедийных устройств. Все эти сетевые среды и другие среды, которые могут использоваться в форме стандартов протоколов, могут быть взаимно соединены для формирования сети Интранет, которая может быть подключена к внешнему миру с использованием сети Интернет. Вкратце, существуют различные несопоставимые источники для хранения и передачи данных, и, следовательно, в будущем компьютерные устройства потребуют способы защиты содержания на всех участках коммутационной линии обработки данных.
Под “Интернет” обычно подразумевают подборку сетей и шлюзов, в которых используется набор протоколов ПУП/МП (TCP/IP протокол управления передачей/межсетевой протокол), хорошо известных в области компьютерных сетей. TCP/IP представляет собой сокращенное название “протокол управления передачей/межсетевой протокол”. Сеть Интернет может быть описана как система географически распределенных удаленных компьютерных сетей, взаимно соединенных компьютерами, выполняющими сетевые протоколы, которые позволяют пользователям взаимодействовать и обмениваться информацией по сетям. Благодаря такому широко распределенному обмену информацией удаленные сети, такие как Интернет, таким образом значительно, в общем, эволюционировали в открытую систему, для которой разработчики могут разрабатывать прикладные программы, предназначенные для выполнения специализированных операций или услуг, в частности, без ограничений.
Таким образом, сетевая инфраструктура позволяет использовать сетевые топологии, такие как клиент-сервер, подключение равноправных устройств или гибридная архитектура. “Клиент” представляет собой член класса или группы, который использует услуги другого класса или группы, к которым он не относится. Таким образом, во время вычислений клиент представляет собой процесс, то есть приблизительно набор инструкций или задач, который запрашивает услугу, предоставляемую другой программой. Процесс клиента использует запрашиваемую услугу, не “зная” какие-либо рабочие детали о другой программе или самой услуге. В архитектуре клиент/сервер, в частности в сетевой системе, клиент обычно представляет собой компьютер, который обращается к совместно используемым сетевым ресурсам, предоставляемым другим компьютером, например сервером. В примере, показанном на фиг.2, компьютеры 110a, 110b и т.д. можно представить как клиенты, и компьютер 10a, 10b и т.д. можно представить как сервер, где сервер 10a, 10b и т.д. содержит данные, которые затем копируются в компьютеры 110a, 110b и т.д. клиенты.
Сервер обычно представляет собой удаленную компьютерную систему, доступ к которой осуществляется через удаленную сеть, такую как Интернет. Процесс клиента может быть активным в первой компьютерной системе, и процесс сервера может быть активным во второй компьютерной системе, которые соединены друг с другом через среду передачи данных, обеспечивая таким образом распределенную функцию и позволяя множеству клиентов использовать преимущества возможности сбора информации сервера.
Таким образом, на фиг.2 представлен пример сетевой или распределенной среды, в которой сервер соединен с компьютерами-клиентами через сеть/шину, в которой можно использовать настоящее изобретение. Более подробно, множество серверов 10a, 10b и т.д. взаимно соединены через сеть передачи данных/шину 14, которая может представлять собой ЛВС, ГВС, интранет, Интернет и т.д., с некоторым количеством клиентов или удаленных вычислительных устройств 110a, 110b, 110c, 110d, 110e и т.д., таких как портативный компьютер, карманный компьютер, клиент-терминал, подключенный к сети бытовой прибор или другое устройство, такое как устройство видеозаписи, телевизор, печь, осветительный прибор, нагреватель и т.п., в соответствии с настоящим изобретением. Таким образом, предусматривается, что настоящее изобретение можно применять для любого вычислительного устройства, с помощью которого требуется обрабатывать, сохранять или передавать защищенное содержание из надежного источника.
В сетевой среде, в которой сеть передачи данных/шина 14 представляет собой Интернет, например серверы 10, могут представлять собой сетевые серверы, с которыми клиенты 110a, 110b, 110c, 110d, 110e и т.д. связываются через любое количество известных протоколов, таких как HTTP. Серверы 10 также можно использовать как клиенты 110, что может быть характерным для распределенной вычислительной среды. Каналы передачи данных, в соответствующих случаях, могут быть кабельными или беспроводными. Устройства 110 – клиенты могут быть соединены или могут не быть соединены через сеть передачи данных/шину 14, и с ними могут использоваться независимые каналы передачи данных. Например, в случае телевизора или устройства видеозаписи могут использоваться сетевые аспекты для управления ими или они могут не использоваться. Каждый компьютер 110 клиент и компьютер 10 сервер может быть оборудован различными модулями прикладных программ или объектами 135 с соединениями или доступом к различным типам элементов или объектов накопителя, в которых могут быть сохранены файлы или на которых часть (части) может быть загружена файлов или могут мигрировать. Таким образом, настоящее изобретение можно использовать в вычислительной сетевой среде, имеющей компьютеры 110a, 110b и т.д. клиенты, которые могут обращаться и взаимодействовать с вычислительной сетью/шиной 14 и компьютерами 10a, 10b и т.д. серверами, которые могут взаимодействовать с компьютерами 110a, 110b и т.д. клиентами и другими устройствами 111 и базами данных 20.
Обзор управления правами (RM)
Как известно, и как показано на фиг.3, управление правами (RM) и обеспечение является в чрезвычайной степени желательным в связи с цифровым содержанием 32, таким как цифровой звук, цифровое видео, цифровой текст, цифровые данные, цифровые мультимедийные данные и т.д., где такое цифровое содержание 32 необходимо распределять пользователям. После приема пользователем такой пользователь передает цифровое содержание 32 с помощью соответствующего устройства передачи, такого как мультимедийный плеер, устройство отображения текста и т.д., в персональный компьютер 34 или тому подобное.
Обычно владелец или разработчик содержания (ниже “владелец”), распространяющий такое цифровое содержание 32, желает ограничить возможности пользователя в отношении распределенного таким образом цифрового содержания 32. Например, владелец содержания может пожелать ограничить возможности пользователя при копировании и повторном распределении такого содержания 32 второму пользователю или может пожелать разрешить передавать распределенное цифровое содержание 32 только ограниченное количество раз или только в течение определенного суммарного периода времени, только на определенный тип устройства, только на определенный тип платформы передачи, только определенным типам пользователей и т.д.
Однако после того, как произошло распределение, такой владелец содержания обладает очень незначительным, если вообще обладает, контролем над цифровым содержанием 32. Система 30 RM таким образом позволяет обеспечить контролируемую передачу цифрового содержания 32 в произвольных формах, причем такой контроль осуществляется гибко и может определяться владельцем такого цифрового содержания. Обычно содержание 32 распространяют пользователю в форме пакета 33 с использованием любого соответствующего канала распространения. Пакет 33 цифрового содержания, в том виде, как он распространяется, может включать в себя цифровое содержание 32, зашифрованное симметричным ключом шифрования/дешифрования (KD) (то есть (KD (СОДЕРЖАНИЕ))), а также другой информации, идентифицирующей содержание, поясняющей, как получить лицензию для такого содержания и т.д.
Система 30 RM, основанная на доверии, позволяет владельцу цифрового содержания 32 определять правила лицензии, которые должны удовлетворяться перед тем, как будет разрешено передавать такое цифровое содержание 32 в вычислительное устройство 34 пользователя. Такие правила лицензии могут включать в себя указанные выше временные требования и могут быть воплощены в пределах цифровой лицензии или документа 36 использования (ниже называется “лицензия”), который пользователь/вычислительное устройство 34 пользователя (ниже эти термины используются взаимозаменяемо, если только другого не потребуют обстоятельства) должен получать от владельца содержания или его агента. Такая лицензия 36 также включает в себя ключ (KD) дешифрования, предназначенный для дешифрования цифрового содержания, возможно зашифрованного с использованием ключа, дешифруемого вычислительным устройством 34 пользователя. Как показано на фиг.3, такой ключ шифрования представляет собой открытый ключ вычислительного устройства 34 пользователя (PU-BB), и вычислительное устройство 34 пользователя имеет соответствующий частный ключ (PR-BB), с помощью которого может быть дешифрован (PU-BB(KD)).
Владелец содержания для части цифрового содержания 32 может доверять, что вычислительное устройство 34 пользователя будет мириться с необходимостью соблюдать правила и требования, определенные таким владельцем содержания в лицензии 36, то есть, что цифровое содержание 32 нельзя будет передавать до тех пор, пока правила и требования в соответствии с лицензией 36 не будут удовлетворены. Предпочтительно затем вычислительное устройство пользователя 34 содержит доверительный компонент или механизм 38, который не будет передавать цифровое содержание 32, за исключением, в соответствии с правилами лицензии, воплощенными в лицензии 36, ассоциированной с цифровым содержанием 32 и полученной пользователем.
Доверительный компонент 38 обычно имеет блок 40 оценки лицензии, который определяет, является ли лицензия 36 действительной, просматривает правила и требования лицензии в такой действительной лицензии 36, и определяет на основе просмотренных правил и требований лицензии, помимо прочего, имеет ли запрашивающий пользователь право передавать запрашиваемое цифровое содержание 32 в представленном виде. Как следует понимать, блоку 40 оценки лицензии в системе 30 RM доверяют выполнять пожелания владельца цифрового содержания 32 в соответствии с правилами и требованиями лицензии 36, и у пользователя на должно быть возможности простого изменения такого доверительного элемент с любой целью, как с нечестной, так и с другими целями.
Как следует понимать, правила и требования, установленные в лицензии 36, могут указывать, имеет ли пользователь право передавать цифровое содержание 32 на основе любых нескольких факторов, включая в себя то, кем является пользователь, где расположен пользователь, какого типа вычислительное устройство использует пользователь, какая прикладная программа передачи вызывает систему 30 RM, дата, время и т.д. Кроме того, правила и требования лицензии 36 могут ограничивать лицензию 36, например, заранее определенным количеством передач или заранее определенным временем передачи. Таким образом, для доверительного компонента 38 может потребоваться обращаться к часам 42 вычислительного устройства 34.
Правила и требования могут быть указаны в лицензии 36 в соответствии с любым соответствующим языком и синтаксисом. Например, язык может просто определять атрибуты и величины, которые должны удовлетворяться (например, ДАТА должна быть позже, чем X), или может потребовать выполнения функций в соответствии с указанным сценарием (например, ЕСЛИ ДАТА больше чем X, ТОГДА ВЫПОЛНИТЬ).
После того как блок 40 оценки лицензии определяет, что лицензия 36 является действительной и что пользователь удовлетворяет ее правила и требования, цифровое содержание 32 затем может быть передано. В частности, для передачи содержания 32 из лицензии 36 получают ключ дешифрования (KD) и применяют для (KD(СОДЕРЖАНИЯ)) из пакета 33 содержания, для получения действительного содержания 32, и затем фактически передают действительное содержание 32.
Как указано выше, лицензия 36 с (PU-BB(KD)), по существу, санкционирует объект, который обладает (PR-BB) для доступа к (KD) и таким образом доступа к содержанию 32, зашифрованному в соответствии с таким (KD), при условии, конечно, что этот объект будет мириться со всеми условиями, представленными в лицензии 36. Хотя, как следует понимать, тем не менее могут существовать другие типы лицензий 36 в пределах системы 30 RM.
Например, можно понимать, что в одном сценарии автор или издатель 44 содержания 32 может санкционировать определенного лицензедателя 46 выдавать лицензию 36 на соответствующее содержание 32, предоставляя лицензедателю 46 лицензию 36p на публикацию. Как следует понимать, такая лицензия 36p на публикацию аналогична лицензии 36 в том, что такая лицензия 36p на публикацию, вероятно, включает в себя ключ дешифрования (KD), предназначенный для дешифрования цифрового содержания 32, зашифрованного здесь в соответствии с открытым ключом лицензедателя (PU-BB). Аналогично, лицензия 36p на публикацию, вероятно, включает в себя правила и требования при передаче содержания 32. Однако здесь такие правила и требования должны быть введены в лицензию 36 в том виде, как ее выдает лицензедатель 46, и, в частности, не применимы для такого лицензедателя 46.
Следует, однако, отметить, что лицензия 36p на публикацию, несомненно, может включать в себя другие правила и требования, которые, несомненно, применимы к лицензедателю 46. В соответствии с этим лицензедатель 46 должен включать в себя доверительный компонент 38 с блоком 40 оценки лицензии, так же как и вычислительное устройство 34 пользователя.
Важно отметить, что каждый тип лицензии 36, 36p и т.д. в соответствии с предложенным обычно включает в себя цифровую подпись для целей аутентификации/проверки достоверности, и достоверность каждой цифровой подписи проверяют со ссылкой на цифровой сертификат корневого доверительного источника права или последовательности таких сертификатов, ведущих обратно к такому корневому доверительному источнику права. В частности, каждый сертификат включает в себя цифровую подпись для аутентификации/проверки достоверности, и каждая подпись построена на основе частного ключа и удостоверена в соответствии с соответствующим открытым ключом.
Как можно понимать, в цепи сертификатов, ведущих от корневого доверительного источника права к конкретной лицензии 36, 36p и т.д., корневой цифровой сертификат корневого доверительного источника права подписывают на основе частного ключа корневого доверительного источника права и достоверность его удостоверяют на основе соответствующего открытого ключа, который, как предполагается, должен быть доступен для проверяющего объекта. Для каждого другого цифрового сертификата в цепи и для лицензии 36, 36p и т.д. в конце цепи такой другой сертификат или лицензии 36, 36p и т.д. подписывают на основе конкретного частного ключа и проверяют достоверность на основе соответствующего открытого ключа, который получают от следующего сертификата в цепи, в направлении к корневому доверительному источнику права.
В соответствии с этим для проверки достоверности лицензии 36, 36p и т.д. находят соответствующую цепь сертификатов обратно к корневому доверительному источнику права, находят соответствующий открытый ключ такого корневого доверительного источника права, и найденный открытый ключ корневого доверительного источника права используют для проверки достоверности корневого сертификата, и, предполагая, что затем следует такая проверка достоверности, открытый ключ располагают в корневом сертификате и используют для проверки достоверности следующего сертификата в цепи. Процесс повторяется до последнего сертификата в цепи, и в этой точке находят открытый ключ и используют для проверки достоверности лицензии 36, 36p и т.д. Конечно, если какая-либо из проверок достоверности окажется отрицательной, процесс заканчивается и достоверность лицензии 36, 36p и т.д. при этом не будет подтверждена. Обычно, до проверки достоверности система 30 RM не выдает лицензию 36, 36p и т.д.
Определение корневого доверительного источника права в пределах лицензии
Как следует понимать, проверка достоверности лицензии 36, 36p и т.д. (ниже называется лицензией 36) требует, чтобы проверяющий достоверность объект, такой как доверенный компонент 38, уже обладал открытым ключом корневого доверительного источника права, который соответствует такой лицензии 36, как определено цепью ее сертификатов. Однако, и как уже было отмечено выше, могут возникать ситуации, в которых объект не по своей вине фактически не обладает таким открытым ключом по любой из нескольких причин. Конечно, все цепи сертификатов должны вести обратно к одному глобальному или близкому к глобальному корневому доверительному источнику права, но, если так полагаться на один или несколько корневых доверительных источников права, возникает излишняя централизация такой корневой доверенности и возникает проблема в случае, если происходит отказ централизованного доверительного источника права в результате компроментации или другого недостатка централизованного корневого доверительного источника права.
В соответствии с этим в одном варианте выполнения настоящего изобретения лицензия 36 может определять любой конкретный корневой доверительный источник права благодаря включению в него соответствующего ему открытого ключа, в результате чего этот открытый ключ затем используют для начала проверки достоверности цепи сертификатов, прикрепленных к такой лицензии 36. В результате любой проверяющий достоверность объект уже не обязательно должен обладать каким-либо конкретным открытым ключом любого конкретного корневого доверительного источника права, но вместо этого может получать такой открытый ключ на основе соответствующей лицензии 36, достоверность которой, в конечном счете, должна быть проверена на основе такого открытого ключа. Таким образом, такой проверяющий достоверность объект не связан с каким-либо конкретным корневым доверительным источником права, но вместо этого может проверять практически любую лицензию 36, которая связана через соответствующую цепь сертификатов с каким-либо назначенным корневым доверительным источником права.
Следует, однако, отметить, что включение открытого ключа корневого доверительного источника права в лицензию 36 для проверки ее достоверности, по существу, придает лицензии 36 возможность самостоятельной проверки достоверности, что, как следует понимать, обычно не приемлемо в практике обеспечения защищенности. В соответствии с этим в одном варианте выполнения настоящего изобретения, и как видно на фиг.4, лицензию 36 разделяют, по меньшей мере, на две части, включающие в себя часть 36d дешифрования и часть 36a санкционирования, каждую из которых должен обрабатывать пользователь, пытающийся использовать такую лицензию 36 для получения соответствующего содержание 32. Важно отметить, что часть 36d дешифрования должна быть открыта только для доступа пользователем, которому выдана лицензия 36, в то время как доступ к части 36a санкционирования может осуществляться другими лицами, при этом она имеет подпись, которая удостоверяется информацией из части 36d дешифрования. То есть, при использовании таких частей 36a, 36d часть 36a санкционирования не может самостоятельно проверять свою достоверность. Следует отметить, что лицензия 36 может иметь другие части без отхода от сущности и объема настоящего изобретения.
В одном варианте выполнения настоящего изобретения, а также со ссылкой на фиг.4 часть 36a санкционирования лицензии 36 идентифицирует издателя лицензии 36, включает в себя конкретное предоставление прав, такое как, например, право на передачу части содержания 32 одним или больше определенных способов, право выдавать определенный тип лицензии 36 и т.д., и может включать в себя идентификацию соответствующего содержания 32. Кроме того, часть 36a санкционирования может определять одного или больше конкретных пользователей или типов пользователей, которые могут использовать часть 36a санкционирования лицензии 36, и для каждого из указанного пользователя/типов пользователей может определять условия, которые должны удовлетворяться в соответствии с использованием лицензии 36.
Важно отметить, что часть 36a санкционирования включает в себя цифровую подпись, основанную, по меньшей мере, на части указанных выше пунктов, в то время как подпись ведет обратно к определенному корневому доверительному источнику права, имеющему конкретную пару открытый/частный ключ (PU-ROOT, PR-ROOT). То есть, и как следует понимать, подпись (S (PR-ROOT)) может быть основана на PR-ROOT или может включать в себя цепь сертификатов, ведущую обратно к последнему сертификату с подписью на основе PU-ROOT. В любом случае, и как следует также понимать, что достоверность подписи (S (PR-ROOT)) может быть проверена на основе соответствующего использования (PU-ROOT) непосредственно или с использованием цепи сертификатов, в зависимости от случая.
Следует отметить, что часть 36a санкционирования сама не содержит такой (PU-ROOT). Вместо этого, в одном варианте выполнения настоящего изобретения, часть 36d дешифрования содержит корневой ключ (PU-ROOT) вместе с ключом дешифрования (KD), предназначенным для дешифрования соответствующего содержания 32. Кроме того, часть 36d дешифрования может включать в себя другие права и условия в дополнение к правам и условиям, представленным в части 36a санкционирования. Наиболее существенно, часть 36d дешифрования должна выражать в качестве права/условия, что ключ (KD) дешифрования нельзя в ней использовать до тех пор, пока в ней не будет использован корневой ключ (PU-ROOT) для проверки достоверности подписи в соответствующей части 36a санкционирования.
Часть 36d дешифрования, вероятно, не имеет цифровую подпись, хотя такая цифровая подпись может быть предоставлена без отхода от объема и сущности настоящего изобретения. Как следует понимать, в случае подписи, вероятно, потребуется проверять достоверность такой подписи на основе (PU-ROOT), предполагая, что корневой ключ проверки достоверности должен быть связан с вычислительным устройством 34 пользователя. Однако и снова благодаря включению (PU-ROOT) в часть 36d дешифрования, где достоверность такой части 36d дешифрования проверяют на основе такого (PU-ROOT), для части 36d дешифрования обеспечивается возможность самостоятельной проверки достоверности, что, как следует понимать, обычно не приемлемо в качестве практики обеспечения защищенности.
Вместо этого, в одном варианте выполнения настоящего изобретения, часть 36d дешифрования зашифрована так, что она защищает содержащиеся в ней ключи, в то время как ключ шифрования выбирают таким образом, чтобы соответствующий ключ дешифрования был доступен для вычислительного устройства 34 пользователя. Как следует понимать, в результате этого обеспечивается преимущество, состоящее в том, что часть 36d дешифрования связана с вычислительным устройством 34 пользователя с применением такого ключа дешифрования. Как также следует понимать, в результате этого возникает дополнительное преимущество, состоящее в том, что ключ дешифрования может представлять собой любой из множества ключей, если только такой ключ дешифрования будет доступен для вычислительного устройства 34 пользователя.
Например, в одном варианте выполнения настоящего изобретения ключ дешифрования представляет собой частный ключ, соответствующий открытому ключу, который используют в качестве ключа шифрования, как показано на фиг.4. Таким образом, вычислительное устройство 34 пользователя может само иметь такую пару открытый/частный ключи или может осуществлять доступ к паре открытый/частный ключи самого пользователя, или доверительный компонент 38 вычислительного устройства 34 пользователя может иметь такую пару открытый/частный ключи. В любой такой ситуации открытый ключ предоставляют конструктору лицензии 36 и, в частности, к части 36d дешифрования для использования его во время шифрования, в то время как частный ключ содержат конфиденциальным для дешифрования части 36d дешифрования.
В качестве альтернативы, ключ дешифрования и ключ шифрования могут быть одинаковыми, и в этом случае конструктор и вычислительное устройство 34 пользователя могут устанавливать совместно используемый секрет для генерирования такого симметричного ключа (не показан). Конечно, вычислительное устройство пользователя затем должно будет надежно сохранять такой симметричный ключ для извлечения его в будущем.
Рассмотрим фиг.5, на которой показано, как при использовании компоновки, описанной выше со ссылкой на фиг.3 и 4, обеспечивается передача содержания 32 в вычислительное устройство 34 пользователя. Вначале на основе некоторой соответствующей идентификации в пределах содержания 32 вычислительное устройство 34 пользователя и его доверительный компонент 38 направляют на сервер лицензии, такой как лицензедатель 46 по фиг.3, который может выдавать лицензию 36 в соответствии с содержанием, и передают запрос в такой сервер 46 лицензии на получение такой лицензии 36 (этап 501). Обычно такой запрос включает в себя сертификат или тому подобное, который идентифицирует пользователя или вычислительное устройство 34 пользователя, доверительный компонент 38, или подобное, где сертификат включает в себя открытый ключ (PU-USER). Затем на основе запроса, включающего в себя сертификат, сервер 46 лицензии принимает решение, следует ли выдать лицензию 36 в соответствии с этим запросом. Можно понимать, что такое решение может быть основано на любых соответствующих факторах, без отхода от объема и сущности настоящего изобретения.
Предполагая, что сервер лицензии 46 фактически принимает решение о выдаче лицензии 36 (этап 503), такой сервер лицензии создает часть 36d дешифрования и часть 36 санкционирования в форме, описанной выше (этап 505), подписывает часть 36a санкционирования на основе корневого ключа (PU-ROOT) в части 36d дешифрования (этап 507) и шифрует часть 36d дешифрования на основе открытого ключа (PU-USER) сертификата, полученного с запросом (этап 509). Следует отметить, что каждый запрос на этапе 501 включает в себя отличающийся открытый ключ (PU-USER), где такой (PU-USER) используют для шифрования части 36d дешифрования запрашиваемой лицензии 36, и в соответствии с этим каждая часть 36d дешифрования отличается соответственно. Однако части 36a санкционирования, вероятно, не отличаются, и такая часть санкционирования должна быть подписана для обеспечения возможности проверки ее достоверности на основе того же корневого ключа (PU-ROOT). В соответствии с этим фактически возможен случай, когда отличающаяся часть 36d дешифрования построена, как на этапе 505, и зашифрована, как на этапе 509, в ответ на каждый запрос, но при этом только одна общая часть 36a санкционирования построена, как на этапе 505 и подписана, как на этапе 507, и одна часть 36a санкционирования доступна для всех запросов.
В любом случае, сервер 46 лицензии в ответ на запрос вычислительного устройства 34 пользователя возвращает в него лицензию 36, включающую в себя часть 36a санкционирования и часть 36d дешифрования (этап 511). Следует, однако, отметить, что часть 36a санкционирования не обязательно должна быть определенной для любой конкретной лицензии 36 и, соответственно, фактически может быть общей для множества лицензий 36. В соответствии с этим фактически возможен случай, когда часть 36d дешифрования построена, как на этапе 505, в ответ на каждый запрос, но при этом часть 36a санкционирования построена, как на этапе 505, только если запрашивающее устройство еще не обладает такой частью 36a санкционирования. В соответствии с этим, если запрашивающее устройство фактически уже обладает такой частью 36a санкционирования, сервер 46 лицензии не должен строить ее так же, как на этапе 505, и не должен возвращать ее на этапе 511.
Рассмотрим теперь фиг.6, на которой можно видеть, что вычислительное устройство 34 пользователя, которое обладает частью 36d дешифрования и частью 36a санкционирования лицензии 36, соответствующей зашифрованному содержанию 32, дешифрует и передает такое содержание 32 следующим образом.
Сначала на основе содержания 32 вычислительное устройство 34 пользователя находит лицензию 36 или, по меньшей мере, ее часть 36d дешифрования (этап 601). Затем вычислительное устройство 34 пользователя дешифрует ее в соответствии со схемой шифрования, которую использовали для шифрования такой части 36d дешифрования (этап 603). Например, если часть 36d дешифрования или ее часть зашифрована на основе открытого ключа пользователя (PU-USER), тогда вычислительное устройство 34 пользователя применяет соответствующий частный ключ (PU-USER для того, чтобы найти такую часть 36d дешифрования или ее часть.
Кроме того, вычислительное устройство 34 пользователя просматривает права/условия, изложенные в части 36d дешифрования, и определяет, позволяют ли такие права передавать содержание 32 требуемым образом, и что такие условия удовлетворяются (этап 605). В частности, такое определение включает в себя удостоверение, что ключ (KD) дешифрования в части 36d дешифрования не используют до тех пор, пока такой ключ (PU-ROOT) не будет использован для проверки достоверности подписи соответствующей части 36a санкционирования. Следует отметить, что в случае, когда права/условия не зашифрованы в части 36d дешифрования, этап 605 может выполняться перед этапом 603 и этап 603 может быть исключен в случае, когда такие права/условия не позволяют передавать содержание 32 требуемым образом. Следует также отметить, что если права/условия или любая другая часть части 36d дешифрования не зашифрованы, такие части должны составлять, по меньшей мере, основу для цифровой подписи, и такую цифровую подпись следует проверять для защиты от подделки.
Предположим, что права/условия в части 36d дешифрования позволяют передавать содержание 32 требуемым образом, вычислительное устройство 34 пользователя получает корневой ключ (PU-ROOT) и ключ (KD) дешифрования для описания соответствующего содержания 32 из части 36d дешифрования (этап 607), находит часть 36a санкционирования (этап 608) и затем использует такой (PU-ROOT) для проверки достоверности цифровой подписи (S (PR-ROOT)) части 36a санкционирования (этап 609). Такая проверка достоверности может быть выполнена любым соответствующим способом, без отхода от сущности и объема настоящего изобретения. Такая проверка достоверности известна и должна быть очевидна для соответствующих лиц, и поэтому здесь не требуется снова приводить ее подробное описание.
Предположим, что проверка достоверности была выполнена успешно, вычислительное устройство 34 пользователя тогда может просматривать права/условия, изложенные в части 36a санкционирования, и определять, позволяют ли такие права передавать содержание 32 требуемым образом, и что такие условия удовлетворяются (этап 611). Следует отметить, что этап 611 может выполняться перед этапом 609 и этап 609 может быть исключен в случае, когда такие права/условия не позволяют передавать содержание 32 требуемым образом.
В случае, когда права/условия в части 36a санкционирования позволяют передавать содержание 32 требуемым образом, вычислительное устройство 34 пользователя использует ключ (KD) дешифрования, полученный на этапе 607, для фактического дешифрования зашифрованного содержания 32 (этап 613) и затем передает такое дешифрованное содержание 32 (этап 615).
Заключение
Программы, необходимые для выполнения процессов в соответствии с настоящим изобретением, являются относительно понятными и должны быть очевидны для соответствующих лиц, занимающихся программированием. В соответствии с этим такие программы здесь не приведены. При этом можно использовать любые конкретные программы для выполнения настоящего изобретения, без отхода от его сущности и объема.
В настоящем изобретении используется гибкая архитектура для определения цифровой лицензии 36 и ее операций. Эта архитектура позволяет использовать множественные корневые доверительные источники права и позволяет самой лицензии 36 определять каждый корневой доверительный источник права, который можно использовать для аутентификации/проверки ее достоверности. Для выполнения такой архитектуры лицензия 36 включает в себя часть 36d дешифрования, зашифрованную таким образом, что доступ к ней может осуществляться только конкретным пользователем или группой пользователей, и часть 36a санкционирования, достоверность которой требуется проверять на основе ключа, получаемого из части 36d дешифрования.
Следует понимать, что для вариантов выполнения, описанных выше, могут быть проведены изменения без отхода от их изобретательских концепций. Поэтому следует понимать, что настоящее изобретение не ограничивается конкретными раскрытыми вариантами выполнения, но оно предназначено для охвата модификаций в пределах сущности и объема настоящего изобретения, которые определены приложенной формулой изобретения.
Формула изобретения
1. Считываемый компьютером носитель информации, на котором записана цифровая структура, определяющая цифровую лицензию, санкционирующую передачу соответствующей части цифрового содержания в вычислительное устройство, при этом содержание находится в зашифрованной форме и может быть дешифровано в соответствии с ключом (KD) дешифрования, причем лицензию выдают пользователю, и указанная лицензия содержит часть дешифрования, доступную только для пользователя, которому выдана лицензия, и имеющую ключ (KD) дешифрования, а также информацию проверки подлинности, включающую в себя идентификацию корневого доверительного источника права; и часть санкционирования, описывающую права, предоставленные в соответствии с цифровым содержанием, и условия, которые должны удовлетворяться для выполнения предоставленных прав, причем часть санкционирования имеет цифровую подпись, достоверность которой проверяют в соответствии с идентифицированным в части дешифрования корневым доверительным источником права, причем пользователь, которому выдана лицензия, после доступа к части дешифрования использует информацию проверки достоверности, содержащуюся в ней, для проверки достоверности цифровой подписи части санкционирования и выполняет права в части санкционирования, только если условия, содержащиеся в части санкционирования, позволяют это, причем права выполняют путем дешифрования зашифрованного содержания с использованием ключа (KD) дешифрования из части дешифрования, и воспроизводят дешифрованное содержание, и при этом лицензия не обязательно должна быть связана с каким-либо конкретным корневым доверительным источником права.
2. Носитель по п.1, в котором часть дешифрования выполнена отдельно от части санкционирования.
3. Носитель по п.1, в котором часть санкционирования лицензии определяет, по меньшей мере, одного конкретного пользователя или тип пользователя, который может использовать такую часть санкционирования, и для каждого определенного пользователя/типа пользователя определяет условия пользователя, которые должны удовлетворяться, совместно с использованием лицензии.
4. Носитель по п.1, в котором цифровая подпись части санкционирования ведет обратно к корневому доверительному источнику права, определенному в части дешифрования, причем корневой доверительный источник права имеет определенную пару открытый/частный ключи (PU-ROOT, PR-ROOT), причем цифровая подпись основана на PR-ROOT или включает в себя цепь сертификатов, ведущую обратно к последнему сертификату, с подписью, основанной на PR-ROOT, и идентификация корневого доверительного источника права, описанного в части дешифрования, содержит PU-ROOT, и в котором PU-ROOT применяется для цифровой подписи, для проверки ее достоверности, либо непосредственно, или с использованием цепи сертификатов.
5. Носитель по п.1, в котором часть дешифрования имеет условия, которые должны удовлетворяться, включающие в себя условие, состоящее в том, что ее ключ (KD) дешифрования нельзя использовать, пока содержащаяся в ней информация проверки достоверности не будет использована для проверки достоверности подписи части санкционирования.
6. Носитель по п.1, в котором часть дешифрования имеет условия, которые должны удовлетворяться, включающие в себя условие, состоящее в том, что права, предоставленные в части санкционирования, могут быть выполнены только, если удовлетворяются условия, изложенные в части санкционирования.
7. Носитель по п.1, в котором часть дешифрования, по меньшей мере, частично зашифрована в форме, которая может быть дешифрована пользователем, которому была выдана лицензия, и эта лицензия связана с этим пользователем.
8. Носитель по п.7, в котором часть дешифрования, по меньшей мере, частично зашифрована в соответствии с совместно используемым секретом, известным пользователю, которому выдана лицензия.
9. Носитель по п.7, в котором пользователь, которому была выдана лицензия, имеет пару открытый/частный ключи (PU-USER, PR-USER), при этом часть дешифрования, по меньшей мере, частично зашифрованную, в соответствии с PU-USER и PR-USER, применяют к зашифрованной части дешифрования, для ее дешифрования.
10. Способ передачи части цифрового содержания в вычислительное устройство, причем это содержание находится в зашифрованной форме и может быть дешифровано в соответствии с ключом (KD) дешифрования, содержащий получение цифровой лицензии, соответствующей содержанию, причем цифровую лицензию выдают пользователю, и она содержит часть дешифрования, доступ к которой возможен только для пользователя, которому была выдана лицензия, и имеющую ключ (KD) дешифрования, а также информацию проверки достоверности, включающую в себя идентификацию корневого доверительного источника права; и часть санкционирования, описывающую права, предоставленные в связи с цифровым содержанием, и условия, которые должны выполняться для удовлетворения предоставленных прав, причем часть санкционирования имеет цифровую подпись, достоверность которой проверяют в соответствии с идентифицированным корневым доверительным источником права в зашифрованной части; доступ к зашифрованной части; получение ключа (KD) дешифрования и информации проверки достоверности в части дешифрования, к которой осуществляется доступ; проверку цифровой подписи и части санкционирования с использованием полученной информации проверки достоверности; и выполнение прав в части санкционирования, только если цифровая подпись, содержащаяся в ней, является достоверной, и условия в части санкционирования позволяют это, причем права выполняют путем дешифрования зашифрованного содержания, с использованием полученного ключа (KD) дешифрования и воспроизведения расшифрованного содержания, в котором лицензия не обязательно должна быть связана с каким-либо конкретным корневым доверительным источником права.
11. Способ по п.10, в котором цифровая подпись части санкционирования ведет обратно к корневому доверительному источнику права, идентифицированному в части дешифрования, причем корневой доверительный источник права имеет определенную пару открытый/частный ключи (PU-ROOT, PR-ROOT), цифровая подпись основана на PR-ROOT или включает в себя цепь сертификатов, ведущую обратно к последнему сертификату с подписью, основанной на PR-ROOT, и идентификация корневого доверительного источника права, описанная в части дешифрования, содержит PU-ROOT, причем способ содержит применение PU-ROOT к цифровой подписи для проверки ее достоверности непосредственно, или с использованием цепи сертификатов.
12. Способ по п.10, в котором часть дешифрования, по меньшей мере, частично зашифрована в форме, которая может быть дешифрована пользователем, которому выдана лицензия, и связана с таким пользователем, причем способ содержит доступ к части дешифрования путем ее дешифрования.
13. Способ по п.12, в котором часть дешифрования, по меньшей мере, частично зашифрована в соответствии с совместно используемым секретом, известным пользователю, которому выдана лицензия, причем способ содержит доступ к части дешифрования, с использованием ее дешифрования в соответствии с совместно используемым секретом.
14. Способ по п.12, в котором пользователь, для которого используется лицензия, имеет пару открытый/частный ключи (PU-USER, PR-USER), причем часть дешифрования, по меньшей мере, частично зашифрована в соответствии с PU-USER, способ содержит доступ к части дешифрования путем применения PU-USER для ее дешифрования.
15. Способ по п.10, в котором часть дешифрования имеет условия, которые должны быть удовлетворены, причем способ дополнительно содержит просмотр условий, описанных в части дешифрования, и определение, что такие условия удовлетворяются.
РИСУНКИ
|
|