УСТРОЙСТВО И СПОСОБ ДЛЯ ПЕРЕМЕЩЕНИЯ И КОПИРОВАНИЯ ОБЪЕКТОВ ПРАВ МЕЖДУ УСТРОЙСТВОМ И ПОРТАТИВНЫМ ЗАПОМИНАЮЩИМ УСТРОЙСТВОМ
DEVICE AND METHOD FOR MOVING AND COPYING RIGHTS OBJECTS BETWEEN DEVICE AND PORTABLE STORAGE DEVICE

Область техники, к которой относится изобретение
Настоящее изобретение относится к способу и устройству для копирования и перемещения цифрового контента между устройством и портативным запоминающим устройством и, в частности, к способу и устройству для копирования и перемещения без ошибок объекта прав, содержащего правовую информацию, относящуюся к цифровому контенту, между устройством и портативным запоминающим устройством.
Уровень техники
В настоящее время полностью изучен и разработан стандарт управления цифровыми правами (УЦП) (DRM). Уже используются или будут использоваться коммерческие услуги, использующие стандарт DRM. Необходимость в использовании стандарта DRM возникает из-за следующих разнообразных свойств цифрового контента.
Необходимо отметить, что в отличие от аналоговых данных цифровой контент может быть скопирован без потери и может быть легко повторно использован, обработан и распространен, причем стоимость копирования и распространения цифрового контента очень мала.
Однако чтобы создать цифровой контент, потребуются высокие затраты, много усилий и времени. Следовательно, когда цифровой контент копируется и распространяется без разрешения, изготовитель цифрового контента может потерять прибыль, и пропадает стимул для его создания. Как результат, может быть затруднено развитие бизнеса в отношении цифрового контента.
Было осуществлено несколько попыток защиты цифрового контента. Обычно защита цифрового контента сосредоточена на предотвращении неразрешенного доступа к цифрового контенту, разрешая только людям, внесшим плату, обращаться к цифровому контенту.
Таким образом, люди, внесшие плату за цифровой контент, получают доступ к нешифрованному цифровому контенту, тогда как люди, не внесшие плату, не получают доступ. В этом случае, когда человек, внесший плату, намеренно распространяет цифровой контент другим людям, люди могут использовать цифровой контент без внесения платы. Для решения этой проблемы и был введен стандарт DRM. В стандарте DRM любому разрешен свободный доступ к шифрованному цифровому контенту, но необходима лицензия, именуемая объектом прав, чтобы дешифровать и извлечь цифровой контент.
Соответственно, цифровой контент может быть эффективнее защищен с помощью стандарта DRM.
Портативное запоминающее устройство может быть подключаемым/отключаемым устройством, таким как мобильный телефон, компьютер или цифровая камера, которое может хранить данные различных типов цифрового оборудования и является портативным. Портативное запоминающее устройство включает в себя область хранения для хранения данных и часть, осуществляющую действия и управление. Мультимедиакарта (ММС) является портативным запоминающим устройством и хранит мультимедиаданные, которые должны использоваться в различных видах цифрового оборудования, устраняя ограничения обыкновенных жестких дисков или компакт-дисков. ММС также включает в себя часть, которая не включается в обыкновенный носитель данных, посредством чего осуществляется возможность осуществлять управление. В итоге ММС пригодна для применения к различным видам мультимедиаданных большой емкости. В последнее время к ММС добавлена функция защиты, в связи с чем развивается ММС, которая защищает цифровой контент во время хранения и передачи, а также авторское право. С развитием защищенной ММС становится возможным управление правами в цифровом контенте в запоминающем устройстве и цифровом оборудовании. Ниже цифровое оборудование, такое как цифровая камера, мобильный телефон, компьютер и цифровой камкордер, будут в большинстве случаев именовать «устройством».
В настоящее время стандарт DRM стандартного открытого консорциума по мобильным телефонам (ОМА) является стандартом DRM, определяемым с помощью ОМА для области мобильных технологий. Стандарт OMA DRM предложен как обыкновенный стандарт управления правами для данных цифрового контента, загружаемого в мобильное устройство, такое как мобильный телефон. Однако все цифровые данные не всегда перемещаются и передаются только с сервера на мобильный телефон. Цифровые данные могут быть переданы через портативное запоминающее устройство. В качестве дополнения, устройства, например, цифровые камеры или компьютеры, иные чем мобильные устройства, обычно передают данные через портативное запоминающее устройство вместо использования мобильного режима передачи. Соответственно, требуется разработка стандарта DRM, который перекрывает технологические характеристики стандарта OMA DRM и пригоден для портативного запоминающего устройства.
Раскрытие изобретения
Техническая проблема
Концепция стандарта управления цифровыми правами (DRM) будет описана далее со ссылкой на Фиг. 1. Стандарт DRM относится к управлению контентом (именуемый здесь шифрованным контентом), защищенным с помощью способа, такого как шифрование или скремблирование, а объекты прав разрешают доступ к шифрованным контентам.
На Фиг. 1 система DRM включает в себя устройства 110 и 150, желающие получить доступ к контенту, защищенному с помощью протокола DRM, источник 120 контента, выдающий контент, источник 130 прав, выдающий объект прав, содержащий право доступа к контенту, и сертифицирующий блок 140, выдающий сертификат.
При работе пользовательское устройство 110 может получать желательный контент из источника 120 контента в шифрованном виде, который защищен стандаром DRM. Пользовательское устройство 110 может получать из объекта прав лицензию на воспроизведение шифрованного контента, принимаемого из источника 130 прав. Затем пользовательское устройство 110 может воспроизвести контент. Поскольку шифрованный контент может быть свободно разослан или распространен, пользовательское устройство 110 может свободно передавать шифрованный контент пользовательскому устройству 150. Пользовательскому устройству 150 необходим объект прав для воспроизведения шифрованного контента. Объект прав может быть получен из источника 130 прав. При этом сертифицирующий блок 140 выдает сертификат, указывающий, что источник 120 контента является подлинным, а пользовательские устройства 110 и 150 - подлинными устройствами. Сертификат может быть записан в устройства, которые используются пользовательскими устройствами 110 и 150, когда устройства изготавливаются, и может быть выдан повторно сертифицирующим блоком 140 после того, как оканчивается заранее определенный отрезок времени.
Стандарт DRM защищает доходы тех, кто воспроизводит или предоставляет цифровой контент и, таким образом, может быть полезным в активизации производства цифрового контента. Хотя объект прав или шифрованный контент могут быть переданы через пользовательские устройства 110 и 150 с помощью мобильных устройств, на практике это вызывает затруднение. Для упрощения передачи объекта прав или шифрованного контента между устройствами требуется эффективное копирование или перемещение данных между устройством и портативным устройством, работающим промежуточным звеном между устройствами. Помимо этого, чтобы обеспечить копирование и перемещение данных через портативное устройство данных без нарушения авторского права, требуется способ управления копированием и перемещением объекта прав. Кроме того, требуется способ управления последовательностью команд, используемых для перемещения объекта прав, чтобы предотвратить потерю информацию или добавление информации несанкционированным вводом.
Техническое решение
Настоящее изобретение обеспечивает устройство и способ для перемещения и копирования объекта права, содержащего информацию, относящуюся к праву на использование цифрового контента, чтобы управлять авторскими правами на цифровой контент, посредством чего реализуется эффективное распределение цифрового контента и эффективное управление авторскими правами на цифровой контент.
Настоящее изобретение также обеспечивает устройство и способ для разделения назначения права, чтобы дублировать с помощью информации управления перемещение и копирование объекта прав.
Настоящее изобретение также обеспечивает устройство и способ для выделения последовательного номера для перемещения и копирования объекта права, чтобы предотвратить потерю данных и несанкционированный доступ.
Согласно одному объекту настоящего изобретения обеспечивается способ перемещения с помощью устройства объекта права от устройства к портативному запоминающему устройству, включающий в себя преобразование объекта права в формат, поддерживаемый портативным запоминающим устройством, шифрование с помощью устройства преобразованного объекта прав, передачу шифрованного объекта прав от устройства к портативному запоминающему устройству и деактивацию объекта прав, хранящегося в устройстве, после завершения передачи шифрованного объекта прав.
Согласно другому объекту настоящего изобретения обеспечивается способ перемещения объекта прав, включающий в себя перемещение объекта прав, включая запрос портативного запоминающего устройства на перемещение объекта прав с помощью устройства, прием шифрованного объекта прав из портативного запоминающего устройства, дешифрацию и хранение принятого объекта прав в устройстве и деактивацию объекта прав, хранящегося в портативном запоминающем устройстве.
Согласно еще одному объекту настоящего изобретения обеспечивается портативное запоминающее устройство, включающее в себя интерфейсный блок, который соединяет портативное запоминающее устройство с устройством, блок управления, который преобразует формат объекта прав, который передается устройству или принимается от устройства через интерфейсный блок, и деактивирует объект права, который полностью перемещен, и блок шифрования симметричным ключом, который шифрует или дешифрует объект права, преобразованный блоком управления.
Согласно дальнейшему объекту настоящего изобретения обеспечивается устройство, включающее в себя интерфейсный блок, который соединяет устройство с портативным запоминающим устройством, блок управления, который преобразует формат объекта прав, который передается портативному запоминающему устройству или принимается из портативного запоминающего устройства через интерфейсный блок, и деактивирует объект прав, который полностью перемещен, и блок шифрования симметричным ключом, который шифрует или дешифрует объект прав, преобразованный блоком управления.
Краткое описание чертежей
Описанные выше и другие объекты настоящего изобретения будут понятнее после подробного описания примерных вариантов осуществления со ссылками на приложенные чертежи, на которых:
Фиг.1 представляет собой концептуальную схему стандарта управления цифровыми правами (DRM);
Фиг.2 представляет собой схему, иллюстрирующую элементы, относящиеся к DRM, использующие защищенную мультимедиакарту (ММС);
Фиг.3 представляет собой блок-схему процедуры взаимной аутентификации согласно примерному варианту осуществления настоящего изобретения.
Фиг.4 представляет собой блок-схему процедуры для применения последовательного номера согласно примерному варианту осуществления настоящего изобретения;
Фиг.5 и Фиг. 6 иллюстрируют примеры команд и параметров, необходимых для перемещения и копирования объекта прав (ОП) (RO), согласно примерному варианту осуществления настоящего изобретения.
Фиг.7 представляет собой блок-схему процедуры для перемещения RO от устройства защищенной ММС согласно примерному варианту осуществления настоящего изобретения;
Фиг.8 представляет собой блок-схему процедуры для перемещения RO от защищенной ММС устройству согласно примерному варианту осуществления настоящего изобретения;
Фиг.9 представляет собой блок-схему процедуры для копирования RO из устройства защищенной ММС согласно примерному варианту осуществления настоящего изобретения;
Фиг.10 представляет собой блок-схему процедуры для копирования RO из защищенной ММС устройству согласно примерному варианту осуществления настоящего изобретения;
Фиг.11 представляет собой блок-схему протокола для перемещения RO от устройства защищенной ММС согласно примерному варианту осуществления настоящего изобретения;
Фиг.12 представляет собой блок-схему протокола для перемещения RO от защищенной ММС устройству согласно примерному варианту осуществления настоящего изобретения;
Фиг.13 представляет собой блок-схему процедуры для копирования RO цифровой работы, сохраненного в устройстве, в защищенную ММС согласно примерному варианту осуществления настоящего изобретения;
Фиг.14 представляет собой блок-схему процедуры для копирования RO цифровой работы, сохраненного на защищенной ММС, в устройство согласно примерному варианту осуществления настоящего изобретения;
Фиг.15 представляет собой блок-схему процедуры для копирования RO, сохраненного в устройстве, защищенной ММС согласно примерному варианту осуществления настоящего изобретения;
Фиг.16 представляет собой блок-схему процедуры для копирования RO, сохраненного в защищенной ММС, в устройство согласно примерному варианту осуществления настоящего изобретения;
Фиг.17 и 18 иллюстрируют структуру формата RO защищенной ММС (SMRF) согласно примерному варианту осуществления настоящего изобретения;
Фиг.19 иллюстрирует структуру информации об ограничениях согласно примерному варианту осуществления настоящего изобретения;
Фиг.20 и 21 иллюстрируют пример изменения в информации об ограничениях, имеющей структуру, проиллюстрированную на Фиг. 19;
Фиг.22 иллюстрирует структуру информации об ограничениях согласно другому примерному варианту осуществления настоящего изобретения;
Фиг.23, 24 и 25 иллюстрируют пример изменения в информации об ограничениях, имеющей структуру, проиллюстрированную на Фиг. 22, когда копируется RO;
Фиг.26 представляет собой функциональную блок-схему защищенной ММС согласно примерному варианту осуществления настоящего изобретения;
Фиг.27 представляет собой функциональную блок-схему устройства согласно примерному варианту осуществления настоящего изобретения;
Фиг.28 и 29 иллюстрируют структуру команды SET_MOVE_RO согласно примерному варианту осуществления настоящего изобретения;
Фиг.30 и 31 иллюстрируют структуру команды GET_CONFIRM согласно примерному варианту осуществления настоящего изобретения;
Фиг.32 и 33 иллюстрируют структуру команды SET_SELECT_RO согласно примерному варианту осуществления настоящего изобретения;
Фиг.34 и 35 иллюстрируют структуру команды CET_MOVE_RO согласно примерному варианту осуществления настоящего изобретения;
Фиг.36 и 37 иллюстрируют структуру команды SET_CONFIRM согласно примерному варианту осуществления настоящего изобретения;
Фиг.38 и 39 иллюстрируют структуру команды SET_COPY_RO согласно примерному варианту осуществления настоящего изобретения;
Фиг.40 и 41 иллюстрируют структуру команды GET_COPY_RO согласно примерному варианту осуществления настоящего изобретения;
Фиг.42, 43, 44, 45 и 46 иллюстрируют структуру параметров команды SET_MOVE_RO согласно примерному варианту осуществления настоящего изобретения;
Фиг.47, 48, 49, 50 и 51 иллюстрируют структуру параметров команды GET_MOVE_RO согласно примерному варианту осуществления настоящего изобретения;
Фиг.52, 53, 54, 55 и 56 иллюстрируют структуру параметров команды SET_COPY_RO согласно примерному варианту осуществления настоящего изобретения;
Фиг.57, 58, 59, 60 и 61 иллюстрируют структуру параметров команды GET_COPY_RO согласно примерному варианту осуществления настоящего изобретения.
Режим работы для изобретения
Настоящее изобретение и его способы осуществления могут быть поняты более полно со ссылкой на последующее подробное описание примерных вариантов осуществления и сопутствующие чертежи. Настоящее изобретение может, однако, быть осуществлено во множестве различных форм и не может быть истолковано как ограниченное примерными вариантами осуществления, изложенными здесь. Скорее эти примерные варианты осуществления обеспечивает то, что это раскрытие будет законченное и полное, а также будет полностью передавать специалистам концепцию изобретения, и настоящее изобретение будет определяться только приложенной формулой изобретения. Одинаковые ссылочные позиции относятся к подобным элементам по всему описанию.
В настоящем изобретении устройством, в большинстве случаев, обозначаются цифровые аппараты, такие как цифровые камеры, мобильные телефоны, компьютеры и переносной компьютер. Портативными запоминающими устройствами являются устройства памяти, такие как защищенные мультимедиакарты (ММС), которые являются портативными и переносными и включают в себя операционный блок и интерфейс для устройства. В дальнейшем для ясности описания примером портативного запоминающего устройства будет защищенная ММС. Защищенная ММС взята только потому, что широко использована и распространена в промышленности, но настоящее изобретение не ограничено защищенной ММС.
В дальнейшем примерные варианты осуществления настоящего изобретения будут подробно описаны со ссылкой на приложенные чертежи. После изложения подробного описания будут кратко описаны термины, используемые в этом описании. Описание терминов должно быть истолковано так, чтобы обеспечить лучшее понимание описания, а термины, которые не являются точно определенными здесь, не следует толковать как ограничивающие объем объекта изобретения.
- Криптография с открытым ключом
Криптография с открытым ключом относится к так называемому асимметричному шифру, в котором ключ, используемый для шифрования, отличается от ключа, используемого для дешифровки. Алгоритм с открытым ключом является общедоступным, но невозможно или сложно дешифровать оригинальный контент только криптографическим алгоритмом, ключом шифрования и зашифрованным текстом. Примеры криптографической системы с открытым ключом включают в себя криптосистемы Диффи и Хеллмана, криптосистемы RSA (Ривеста-Шамира-Адлемана), криптосистемы Эль Гамала и криптосистемы эллиптической кривой. Криптография с открытым ключом в 100-1000 раз медленнее, чем криптография с симметричным ключом, и она обычно используется для замены ключа и цифровой подписи, а не для шифрования контента.
- Криптография с симметричным ключом
Криптография с симметричным ключом является симметричным шифром, относящимся к так называемой криптографии с секретным ключом, использующей один и тот же ключ для шифрования и дешифровки. Стандарт шифрования данных (DES) является самым обыкновенным симметричным шифром. В последнее время увеличивается число приложений, использующих улучшенный стандарт шифрования (AES).
- Сертификат
Источник сертификатов сертифицирует пользователей открытого ключа в соответствии с шифром открытого ключа. Сертификат представляет собой сообщение, содержащее открытый ключ и информацию идентификации личности, которая подписывается источником сертификатов с помощью секретного ключа. Соответственно, надежность сертификата может быть просто проверена с помощью открытого ключа источника сертификатов, примененного к сертификату, и, таким образом, предотвращается возможность атаки с изменением пользовательского открытого ключа.
- Цифровая подпись
Цифровая подпись генерируется лицом с правом подписи для отображения, что документ записан. Примерами цифровой подписи являются цифровая подпись RSA (Ривеста-Шамира-Адлемана), цифровая подпись Эль Гамала, цифровая подпись DSA (алгоритма цифровой подписи) и цифровая подпись Шнорра. Когда используется цифровая подпись RSA, отправитель шифрует сообщение со своим секретным ключом и посылает шифрованное сообщение получателю. Получатель дешифрует шифрованное сообщение. В этом случае подтверждается, что сообщение шифровано отправителем.
- Случайное число
Случайное число представляет собой последовательность чисел или знаков со случайными свойствами. Поскольку генерировать настоящее случайное число дорого, можно использовать псевдослучайное число.
- Портативное запоминающее устройство
Портативное запоминающее устройство, используемое в настоящем изобретении, включает в себя энергонезависимую память, такую как флэш-память, в которую данные могут быть записаны/считаны из нее или удалены из нее и которая может быть подключена к устройству. Примерами такого портативного запоминающего устройства являются интеллектуальная карта, флэш-карты, компактные флэш-карты (CF), xD карты и мультимедиакарты. В дальнейшем защищенная ММС будет толковаться как портативное запоминающее устройство.
- Устройство
Устройство, используемое в настоящем изобретении, может быть портативным или непортативным мультимедиаустройством.
- Взаимная аутентификация
Устройство и портативное запоминающее устройство выполняют аутентификацию взаимно. Когда ключ сеанса, то есть ключ, используемый для шифрования данных, передаваемых с помощью криптографии с открытым ключом, совместно используется устройством и портативным запоминающим устройством для взаимной аутентифиакции, шифруются с помощью ключа сеанса данные, передаваемые между устройством и портативным запоминающим устройством.
- Объект прав (RO)
Объект прав содержит контент права для цифровой работы и определяет право на воспроизведение, отображение, выполнение, печать, экспорт (например, копирование или передачу) или проверять цифровую работу. Чтобы выполнить управление цифровыми правами (DRM) между устройством и портативным запоминающим устройством, необходимо использовать RO, содержащий информацию, относящуюся к праву на цифровой контент.
- Перемещение
Термин «перемещение» означает перенос цифрового объекта от одного устройства другому. Перемещение цифрового объекта означает перемещение самого цифрового объекта из одного местоположения в устройстве в другое или из устройства в другое устройство. После перемещения цифрового объекта не остается его копии.
- Копирование
Термин «копирование» означает, что другой цифровой объект, который является таким же цифровым объектом, как и в устройстве, генерируется в различных местоположениях в устройстве или в другом устройстве. Это также означает, что один или более цифровых объектов, имеющих одинаковый контент или информацию, генерируется как цифровой объект. После копирования существуют два или более идентичных цифровых объекта.
- Информация об ограничениях
Информация об ограничениях относится к ограничениям, позволяющим объекту прав (RO) копироваться и перемещаться только в особых состояниях. Поскольку информация об ограничениях управляет копированием и перемещением, она может именоваться информацией управления. Далее термин «информация управления» используется в таких же пределах, что и термин «информация об ограничениях».
Фиг.2 представляет собой схематическую схему, иллюстрирующую элементы, относящиеся к управлению цифровыми правами (DRM), использующие защищенную мультимедиакарту (ММС).
Пользовательское устройство 210 может получать шифрованный контент из источника 220 контента. Шифрованный контент представляет собой контент, защищенный с помощью DRM. Для воспроизведения шифрованного контента необходим RO для шифрованного контента. RO состоит из определения прав на контент, ограничений на права и права для самого RO. Примером прав для контента могут быть воспроизведения, время воспроизведения и длительность воспроизведения. Примером прав на RO может быть перемещение или копирование. Другими словами, RO, содержащий право на перемещение, может быть перемещен к другому устройству или защищенной ММС. RO, содержащий права на копирование, может быть скопирован в другое устройство или защищенную ММС. Когда перемещается RO, оригинальный RO деактивируется после перемещения (то есть сам RO удаляется или удаляется право, находящееся в RO). Однако, когда RO копируется, оригинальный RO может быть использован в активизированном состоянии даже после копирования.
После получения шифрованного контента пользовательское устройство 210 может запросить RO из источника 230 прав, чтобы получить право на воспроизведение. Когда пользовательское устройство 210 принимает RO вместе с ответом RO из источника 230 прав, пользовательское устройство 210 может воспроизвести шифрованный контент с помощью RO. При этом пользовательское устройство 210 может передавать RO через портативное запоминающее устройство к пользовательскому устройству 250, имеющему соответствующий шифрованный объект. Портативное запоминающее устройство может быть защищенной ММС 260 с функцией DRM. В этом случае пользовательское устройство 210 выполняет взаимную аутентификацию с защищенной ММС 260, затем перемещает RO к защищенной ММС 260. Для воспроизведения шифрованного контента пользовательское устройство 210 запрашивает право на воспроизведение из защищенной ММС 260 и принимает права на воспроизведение, то есть ключ шифрования контента из защищенной ММС 260. Пользовательское устройство 210 может воспроизводить шифрованный контент с помощью ключа шифрования контента. При этом после выполнения взаимной аутентификации с пользовательским устройством защищенная ММС 260 может перемещать RO к пользовательскому устройству 250 и разрешать пользовательскому устройству воспроизводить шифрованный контент.
В иллюстративных вариантах осуществления настоящего изобретения взаимная аутентификация между устройством и защищенной ММС 260 необходима для разрешения устройству использовать защищенную ММС 260. В результате взаимной аутентификации генерируется ключ сеанса. Ключ сеанса представляет собой ключ, совместно используемый устройством и защищенной ММС, и является действующим в течение периода доступа. Пока поддерживается доступ, информация, передаваемая между устройством и защищенной ММС, шифруется с помощью ключа сеанса для защищенной передачи. Взаимная аутентификация будет подробно описана со ссылкой на Фиг.3.
M
М
M
М
M
M
Фиг.3 представляет собой блок-схему процедуры взаимной аутентификации согласно примерному варианту осуществления настоящего изобретения. Взаимная аутентификация представляет собой процедуру, в которой устройство 500 и защищенная ММС 100 подтверждают подлинность друг друга и меняют случайные числа для генерирования ключа сеанса. Ключ сеанса может быть сгенерирован с помощью случайного числа, получаемого в течение взаимной аутентификации. На Фиг. 3 описания, расположенные выше стрелок, относятся к командам, запрашивающим другое устройство выполнить определенное действие, а описания, расположенные ниже стрелок, относятся к параметрам, необходимым для выполнения команд или передаваемых данных. В варианте осуществления настоящего изобретения устройство 500 выдает все команды для взаимной аутентификации, а защищенная ММС 100 выполняет действия, необходимые для выполнения команд. Например, команда, такая как ответ взаимной аутентификации, может быть послана из устройства 500 к защищенной ММС 100. Затем защищенная ММС 100 посылает certificate (сертификат) и шифрованное случайное number (число) к устройству 500. В другом варианте осуществления настоящего изобретения и устройство 500, и защищенная ММС 100 могут выдавать команды. Например, защищенная ММС 100 может посылать ответ взаимной аутентификации вместе с certificate и шифрованным случайным number к устройству 500. Подробное описание процедуры взаимной аутентификации будет изложено ниже.
D
D
D
D
На шаге S10 устройство 500 посылает команду запроса взаимной аутентификации к защищенной ММС 100. При запрашивании взаимной аутентификации устройство 500 посылает открытый ключ устройства к защищенной ММС 100. На шаге S10 посылается certificate (сертификат), выдаваемый устройству взаимной аутентификацией. Certificate подписывается цифровой подписью источника сертификатов и содержит ID (идентификатор) устройства и открытый ключ. На основе certificate защищенная ММС 100 может удостоверить устройство 500 и получить открытый ключ устройства.
D
D
D
D
На шаге S20 защищенная ММС 100 контролирует, является ли certificate надежным, использующим список отозванных сертификатов (CRL). Если certificate регистрируется в CRL, защищенная ММС 100 может отклонить взаимную аутентификацию с устройством 500. Если certificate не регистрируется в CRL, защищенная ММС 100 получает открытый ключ устройства с помощью certificate.
M
М
M
M
M
M
M
На шаге S30 защищенная ММС 100 генерирует случайное number (число). На шаге S40 случайное number шифруется с помощью открытого ключа устройства. На шаге S50 процедура ответа взаимной аутентификации выполняется с помощью посылки команды ответа взаимной аутентификации от устройства 500 к защищенной ММС 100 или от защищенной ММС 100 к устройству. В течение процедуры ответа взаимной аутентификации защищенная ММС 100 посылает открытый ключ защищенной ММС и шифрованное случайное number к устройству 500. В одном варианте осуществления настоящего изобретения вместо открытого ключа защищенной ММС может быть послан certificate защищенной ММС 100. В другом примерном варианте осуществления настоящего изобретения защищенная ММС 100 может послать свою цифровую подпись к устройству 500 вместе с шифрованным случайным number и certificate.
M
M
M
M
M
D
D
D
D
D
На шаге S60 устройство 500 принимает certificate и шифрованное случайное number, удостоверяет защищенную ММС 100 подтверждением certificate, получает открытый ключ защищенной ММС и получает случайное number дешифровкой случайного number с помощью открытого ключа устройства. На шаге S70 устройство 500 генерирует случайное number (число). На шаге S80 случайное number шифруется с помощью открытого ключа защищенной ММС. Далее процедура окончания взаимной аутентификации выполняется на шаге S90, на котором устройство 500 посылает шифрованное случайное number к защищенной ММС 100. В одном варианте осуществления настоящего изобретения устройство 500 может послать свою цифровую подпись защищенной ММС 100 вместе с шифрованным случайным number.
D
На шаге S100 защищенная ММС 100 принимает и дешифрует шифрованное случайное number. Как результат устройство 500 и защищенная ММС 100 могут знать случайное число друг друга. Далее и устройство 500, и защищенная ММС 100 генерируют свои собственные случайные числа и используют случайные числа друг друга, степень случайности может сильно увеличиться и возможна защищенная взаимная аутентификации. Другими словами, даже когда устройство 500 или защищенная ММС 100 имеют небольшую степень случайности, то другое из них может иметь дополнительную степень случайности.
Случайное число может быть сгенерировано с помощью модуля генерирования случайного числа (не показан). Как альтернатива, случайное число может быть одним числом, выбранным из множества чисел, сохраненных в устройстве или в защищенной ММС, или комбинации множества чисел, выбранных из сохраненных. Также случайное число может отображать число, комбинацию чисел или последовательность знаков, которые генерируются с помощью модуля генерирования случайного числа, или могут отображать одно число, комбинацию множества чисел, одну последовательность знаков или комбинации множества последовательностей знаков, выбранных из множества чисел или последовательностей знаков, сохраненных заранее.
На шагах S110 и S120 устройство 500 или защищенная ММС 100 генерируют свои ключи сеанса с помощью их двух случайных чисел. Для генерирования ключа сеанса с помощью двух случайных чисел может быть использован алгоритм, который опубликован. Простой алгоритм представляет собой XOR (Исключающее ИЛИ) двух случайных чисел. После генерирования ключей сеанса могут выполняться различные действия, защищенные DRM, между устройством 500 и защищенной ММС 100.
Блок данных протокола прикладной программы (APDU) представляет собой блок информации, передаваемой между устройством и защищенной ММС, и может включать в себя команду аутентификации, команду на выполнение копирования или перемещения RO, команду на воспроизведение или команду на проверку состояния карты и параметры для команд. В вариантах осуществления настоящего изобретения установка команды на выполнение особой функции обеспечивается командой и параметрами в APDU, когда он передается.
Сначала, до описания перемещения и копирования RO, будет описан счетчик посланных команд (SSC) для выполнения команд. Фиг. 4 представляет собой блок-схему процедуры для применения последовательного номера согласно примерному варианту осуществления настоящего изобретения. В структуре SSC, когда передается APDU, последовательный номер располагается в APDU, соответственно, он может контролировать, потерян ли APDU в течение передачи или передается ли запрещенный APDU. Последовательный номер увеличивается с передачей APDU. В примере, показанном на Фиг.4, последовательный номер увеличивается на 1. Чтобы передать APDU, на шаге S121 сначала выполняется процедура взаимной аутентификации. На шаге S122 APDU передается от устройства 500 защищенной ММС 100. Значение SSC, сохраненное в APDU, равняется init_SSC+1, где init_SSC представляет собой исходное значение SSC. На шаге S130 другой APDU, относящийся к выполнению следующей команды, передается от защищенной ММС 100 к устройству 500. В это время значение SSC, сохраненное в APDU, равняется init_SSC+2. Значение SSC, сохраненное в APDU, передаваемое на шаге S130, на единицу больше значения, сохраненного в APDU, передаваемого на предшествующем шаге, то есть на шаге S122. Таким образом, APDU, передаваемое на шаге S130, определяется как правильное и выполняется. Однако, когда происходят ошибки после того, как APDU, имеющее значение N, как значение SSC, передается на шаге S170, APDU, имеющее значение N+2, как значение SSC, может передаваться для выполнения следующей команды на шаге S180. Обычно APDU, передаваемое на шаге S180, должно иметь значение N+1, как значение SSC. Соответственно, в этом случае делается вывод, что один ADPU потерян. Следовательно, пока APDU, передаваемое на шаге S180, не является точным, устройство 500 может не выполнять его. В примерных вариантах осуществления настоящего изобретения значение SSC может быть назначено для перемещения или копирования RO, чтобы проверить, потерян ли какой либо RO в течение перемещения или копирования.
Со ссылкой на Фиг.5 и 6 будут описаны команды и параметры, необходимые для перемещения и копирования RO.
Как показано на Фиг.5, перемещение делится на два случая, обозначенных позициями 10 и 20. В случае, обозначенном позицией 10, RO перемещается от устройство к защищенной ММС, а необходимыми командами являются SET_MOVE_RO и GET_CONFIRM. Функции этих команд будут описаны позднее со ссылкой на Фиг. 7.
В случае, обозначенном позицией 20, RO перемещается от защищенной ММС к устройству, а необходимыми командами являются SET_SELECT_RO, GET_MOVE_RO и SET_CONFIRM. Функции этих команд будут описаны ниже со ссылкой на Фиг.8.
Копирование также делится на два случая, обозначенных позициями 30 и 40. В случае, обозначенном позицией 30, RO копируется от устройства к защищенной ММС, а необходимыми командами являются SET_COPY_RO и GET_CONFIRM. Функции этих команд будут описаны ниже со ссылкой на Фиг.9.
В случае, обозначенном позицией 40, RO копируется от защищенной ММС к устройству, а необходимыми командами являются SET_SELECT_RO, GET_COPY_RO и SET_CONFIRM. Функции этих команд будут описаны позднее со ссылкой на Фиг. 10.
Параметры для команд, которые используются в случаях, обозначенных позициями 10-40, будут описаны со ссылкой на Фиг.6. Параметр ROType, обозначенный позицией 51, определяет тип RO, который перемещается или копируется. «0х000» показывает основной RO, «0х01» показывает головной RO, а «0х02» показывает подчиненный RO. Головной RO и подчиненный RO будут описаны ниже со ссылкой на Фиг. 17 и 18.
Параметр, обозначенный позицией 52, показывает формат, поддерживаемый защищенной ММС. Пока формат, сохраненный в ведущем устройстве или устройстве, может отличаться от формата, который поддерживает ММС, формат RO должен преобразовываться в формат, пригодный для защищенный ММС, когда RO перемещается или копируется на защищенную ММС.
Параметр RID, обозначенный позицией 53, показывает идентификатор (ID) RO. Параметр ACK, обозначенный позицией 54, представляет собой результирующее значение перемещения или копирования. Результирующее значение «0» показывает успех, а результирующее значение «1» показывает неудачу. Параметр ORO, обозначенный позицией 55, показывает исходный RO и включает в себя информацию, относящуюся к будущему использованию.
Эти параметры являются только примерными. Состав, значения и типы параметров могут быть различными в других вариантах осуществления настоящего изобретения.
SEK
SET
SET
Фиг.7 представляет собой блок-схему процедуры для перемещения RO от устройства 500 к защищенной ММС 100. Для перемещения RO сначала должна быть выполнена взаимная аутентификация на шаге S210, как описывается выше. Здесь предположим, что устройство 500 знает ID RO, который перемещается, то есть параметр RID. Параметр K генерируется как ключ сеанса в течение взаимной аутентификации, команды шифруются с помощью ключа сеанса и затем передаются. В представленном ранее описании предположим, что данные, передаваемые между устройством 500 и защищенной ММС 100, шифруются с помощью этого ключа сеанса. Параметр SC.Encrypt(K параметр1||параметр2||...|||параметрn) показывает, что параметры команд от 1 до n, шифруются с помощью ключа сеанса K при передаче команд. На шаге S230 устройство 500 конфигурирует APDU с командой DET_MOVE_RO и передает APDU к защищенной ММС 100. В ней передаются значения AppendInfo, SSC, ROType и SMRF, а ORO передается выборочно.
Параметр AppendInfo представляет собой информацию, относящуюся к тому, как добавляется блок данных APDU. В параметре AppendInfo содержится длина информации и информация о номере блоков. Как описывается выше, параметр SSC содержит последовательный номер. Параметры ROType, SMRF и ORO описаны выше со ссылкой на Фиг. 6. Когда выполнено перемещение RO, на шаге S240 устройство 500 принимает информацию, относящуюся к результату перемещения от защищенной ММС 100. Этот шаг выполняется в соответствии с командой GET_CONFIRM, содержащей значение SSC и значение ACK. Когда выполняется команда GET_CONFIRM, перемещаемый RO становится ложным в устройстве 500. Другими словами, когда RO перемещается к защищенной ММС 100, устройство 100 удаляет на основании этого перемещаемый RO или делает перемещаемый RO непригодным для использования.
SEK
Фиг.8 является блок-схемой процедуры для перемещения RO от защищенной ММС 100 к устройству 500. На шаге S310 выполняется взаимная аутентификация и генерируется ключ K сеанса. На шаге S330 устройство 500 посылает команду SET_SELECT_RO к защищенной ММС 100. Здесь значение SSC и значение RID RO, которые должны быть перемещены, передаются в виде параметров. В соответствии с командой защищенная ММС 100 передает на шаге S340 RO вместе с командой GET_MOVE_RO. Здесь RO преобразуется в формат, соответствующий SMRF. Команда GET_MOVE_RO содержит параметры AppendInfo, SSC, ROType и SMRF. Параметр ORO может быть добавлен выборочно. Когда на шаге S350 выполняется перемещение RO, устройство передает команду SET_CONFIRM, содержащую параметр ACK, к защищенной ММС 100, чтобы сообщить об успехе или неудаче перемещения. Когда перемещение удачно, защищенная ММС 100 удаляет перемещаемый RO или делает перемещаемый RO непригодным для использования.
SEK
SEK
SEK
Фиг.9 представляет собой блок-схему процедуры для копирования RO из устройства 500 в защищенную ММС 100. На шаге S410 выполняется взаимная аутентификация. Здесь предположим, что устройство 500 знает параметр RID RO, который должен быть скопирован. Ключ K сеанса генерируется в течение взаимной аутентификации, а команды до передачи шифруются с помощью ключа K сеанса. На шаге S430 устройство 500 конфигурирует APDU с командой SET_COPY_RO и передает APDU к защищенной ММС 100. В это время передаются параметры SSC и SMRF. Параметр SMRF получается преобразованием RO в формат, поддерживаемый защищенной ММС 100. Защищенная ММС 100 дешифрует RO, принимаемый от устройства 100, с помощью ключа K сеанса и сохраняет дешифрованный RO. Когда выполняется копирование RO, на шаге S440 устройство 500 получает информацию, относящуюся к результату копирования, от защищенной ММС 100. Этот шаг возможен на основании команды GET_CONFIRM, содержащей параметры SSC и ACK. Когда выполняется команда GET_CONFIRM, устройство 500 меняет информацию, относящуюся к скопированному RO, например, уменьшается число доступных копий.
SEK
Фиг.10 представляет собой блок-схему процедуры для копирования RO из защищенной ММС 100 к устройству 500. На шаге S510 выполнятся взаимная аутентификация и генерируется ключ K сеанса. На шаге S530 устройство 500 посылает к защищенной ММС 100 команду SET_SELECT_RO, имеющую параметры SSC и RID RO, который должен быть скопирован. В соответствии с командой на шаге S540 защищенная МСС 100 посылает к устройству 500 команду GET_COPY_RO с RO, который должен быть скопирован. Здесь RO, который должен быть скопирован, преобразуется в формат, соответствующий параметру SMRF.
Параметрами команды GET_COPY_RO являются SSC и SMRF. Когда выполняется копирование RO, на шаге S550 устройство 500 посылает команду SET_CONFIRM с параметром АСК к защищенной ММС 100, чтобы сообщить об успехе или неудаче копирования. Когда копирование удачное, защищенная ММС 100 меняет информацию, относящуюся к скопированному RO, например, уменьшая число доступных копий. Поскольку RO вновь генерируется в случае копирования, то ограничения могут быть сделаны так, чтобы мог быть скопирован только исходный RO.
Другие примерные варианты осуществления настоящего изобретения по перемещению RO, показанные на Фиг. 7 и 8, будут описаны ниже. Фиг. 11 представляет собой блок-схему протокола для перемещения RO от устройства 500 к защищенной ММС 100 в соответствии с примерным вариантом осуществления настоящего изобретения.
Перемещение от устройства 500 к защищенной ММС 100 может быть выполнено на основе RO и защищенного контента, которые находятся в устройстве 500. Далее будет описан случай перемещения RO, находящегося в устройстве 500.
Прежде чем устройство 500 перемещает RO к защищенной ММС 100, на шаге S610 выполняется взаимная аутентификация между устройством 500 и защищенной ММС 100. На шагах S611 и S613 защищенная ММС 100 и устройство 500 генерируют ключи сеанса для шифрования и дешифрования.
Чтобы выбрать перемещаемый к защищенной ММС 100 RO, на шаге S620 пользователь устройства 500 ищет информацию, относящуюся к RO, сохраненную в устройстве 500. На основе информации, относящейся к RO, пользователь определяет находится ли перемещаемый RO в устройстве 500 и имеется ли разрешение на перемещение перемещаемого RO среди разрешений на экспорт. Если перемещаемый RO находится в устройстве 500 и имеется разрешение на перемещение, то на шаге S630 RO, который зашифрован и сохранен в устройстве 500, дешифруется с помощью уникального ключа устройства 500. На шаге S640 меняется информация об ограничениях разрешения передачи RO и RO преобразуется в соответствующий формат.
На шаге S650 преобразованный RO шифруется с помощью ключа сеанса, общего для устройства 500 и защищенной ММС 100. На шаге S640 соответствующий формат представляет собой формат, поддерживаемый защищенной ММС 100.
Когда устройство 500 загружает RO, REL представляет собой обычный расширяемый язык разметки (XML) или бинарное представление протокола беспроводного доступа (WBXML). Например, право на воспроизведение, выраженное в XML, представляется в виде:
<o-ex:rights
xmlns:o-ex=”http://odrl.net/1.1/ODRL-EX”
xmlns:o-dd=”http://odrl.net/1.1/ODRL-DD”
>
<o-ex:context>
<o-dd:version>1.0</0-dd:version>
</o-ex:context>
<o-ex:agreement>
<o-ex:asset>
<o-ex:context>
<o-dd:uid>cid:4567829547@foo.com</o-dd:uid>
<o-ex:context>
<o-ex:asset>
<o-ex:permission>
<o-dd:play/>
</o-ex:permission>
</o-ex:agreement>
</o-ex:rights>
Когда RO, сохраненный в устройстве 500 в формате XML, перемещается к портативному запоминающему устройству, то есть защищенной ММС 100, без преобразования формата, RO может быть ограничен для защищенной ММС 100, имеющей меньший объем памяти, чем устройство 500. По этой причине в вариантах осуществления настоящего изобретения право на воспроизведение и информация об ограничениях преобразуются в двоичный формат, меньший чем текст XML, когда они передаются к защищенной ММС 100. Формат RO, поддерживаемый ММС 100, будет позднее описан со ссылками на Фиг. 17 и 18.
В других вариантах осуществления настоящего изобретения RO может быть разделен на две части для преобразования формата на шаге S640.
Например, если RO позволяет конкретному видеоконтенту, который отображается в течение пяти временных отрезков, то RO может быть разделен на пользовательский запрос на право просмотра в течение трех временных отрезков и на право просмотра в течение двух временных отрезков. В этом случае процесс перемещения может быть выполнен, чтобы назначить пользователю другого устройства только право на просмотр в течение двух временных отрезков.
Устройство 500 шифрует RO, преобразованный в соответствующий формат, с помощью ключа сеанса на шаге S650 и посылает шифрованный RO к защищенной ММС 100 на шаге S660. Для шифрования RO может быть использован алгоритм симметричной криптографии, такой как стандарт шифрования данных (DES) или улучшенный стандарт шифрования (AES).
На шаге S670 защищенная ММС 100 дешифрует шифрованный RO, принятый от устройства 500, с помощью ключа сеанса. На шаге S691 защищенная ММС 100 шифрует дешифрованный RO с помощью своего уникального ключа в соответствии с алгоритмом шифрования, определенного в ней, и сохраняет шифрованный RO. Далее на шаге S680 защищенная ММС 100 посылает результирующий ответ устройству 500, чтобы сообщить, нормально ли выполняется процесс перемещения.
Информационное сообщение, нормально ли выполняется процесс перемещения, может быть выражено словом состояния в результирующем ответе на команду перемещения от устройства 500 или может быть послано как отдельное подтверждение. Защищенная ММС 100 может назначить слову состояния значение, показывающее успех, когда процесс перемещения нормально выполняется, и значение, показывающее неудачу или число попыток, когда процесс перемещения нормально не выполняется, чтобы сообщить результат процесса перемещения устройству 500. Слово состояния в результирующем ответе для команды перемещения будет описано позднее со ссылкой на Фиг. 28 и 29. Нормальный отклик может быть словом состояния, показывающим, что команда выполнена успешно или что информация ответа отдельно генерируется защищенной ММС 100 для отображения, что перемещение успешно выполнено.
Если принимается ответ, уведомляющий, что процесс перемещения нормально выполнен, то есть нормальный ответ, от защищенной ММС 100, на шаге S693 устройство деактивирует исходный перемещаемый RO, чтобы не допустить существования RO одновременно в устройстве 500 и защищенной ММС 100. Чтобы деактивировать исходный RO, он может быть удален, или метка для отображения активации или деактивации RO может быть установлена в состояние деактивации.
Если устройство 500 не принимает нормальный ответ, уведомляющий, что процесс перемещения нормально выполнен в заранее заданный период времени, или принят ненормальный ответ, уведомляющий, что процесс перемещения нормально не выполнен, то устройство 500 деактивирует RO и сообщает о неудачи процесса перемещения пользователю устройства 500. В это время защищенная ММС 100 также деактивирует принимаемый RO. Деактивация RO, который подвергается процессу перемещения или копирования, может быть осуществлена установкой метки, которая показывает состояние RO, как одно из следующих: состояние активации, состояние деактивации и временное состояние, для временного состояния. Деактивация RO выполняется, чтобы предупредить создание дубликатов RO, создаваемых из-за ненормального процесса перемещения, и предотвращения от кражи RO взломщиками.
Когда устройство 500 не принимает нормальный ответ в заранее заданный период времени или принимает ненормальный ответ, и, следовательно, RO в временном состоянии или состоянии деактивации защищено в устройстве 500 и защищенной ММС 100, устройство 500 проверяет данные журнала или другие данные, когда впоследствии осуществляется доступ к защищенной ММС 100 для определения того, какой из соответствующих RO в устройстве 500 или в защищенной ММС 100 будет активироваться, и изменяет метку RO, определенную для активации.
В другом варианте осуществления настоящего изобретения, когда перемещение RO неудачно, он может быть перемещен повторно в соответствии с доступным числом попыток.
Фиг. 12 представляет собой блок-схему протокола для перемещения RO из защищенной ММС 100 к устройству 500 в соответствии с примерным вариантом осуществления настоящего изобретения.
Перемещение то защищенной ММС 100 к устройству 500 может быть осуществлено на основе RO или защищенного контента, который находится в защищенной ММС 100. Далее будет описан случай перемещения RO, находящегося в защищенной МС 100.
Прежде чем устройство 500 запрашивает от защищенной ММС информацию, относящуюся к RO, на шаге S710 выполняется взаимная аутентификация между устройством 500 и защищенной ММС 100. На шагах S711 и S713 защищенная ММС 100 и устройство 500 соответственно генерируют ключи сеанса для шифрования и дешифрования.
Чтобы выбрать RO, который должен быть перемещен от защищенной ММС 100 к устройству 500, на шаге S720 пользователь устройства запрашивает информацию, относящуюся к RO, сохраненную в защищенной ММС 100. Информация, относящаяся к частным RO, может быть запрошена посылкой к защищенной ММС 100 информации, относящейся к контенту, например, ID контента или ID RO. Как альтернатива, может быть запрошен список всех доступных RO, находящихся в защищенной ММС 100. На шаге S730 информация, относящаяся к RO, принимается от защищенной ММС 100 в ответ на запрос. На шаге S740 пользователь выбирает перемещаемый RO на основе принимаемой информации.
Когда выбирается RO для перемещения, пользователь выбирает, имеется ли в защищенной ММС 100 RO для перемещения к устройству 500 и имеется ли разрешение на перемещение перемещаемого RO среди разрешений на экспорт. Если имеется RO для перемещения и имеется разрешение на перемещение, то на шаге S750 запрашивается перемещение выбранного RO. На шаге S671 защищенная ММС 100 дешифрует соответствующий RO, который шифрован и сохранен в ней с помощью ее уникального ключа. На шаге S763 информация об ограничениях, относящаяся к разрешению на перемещение RO, изменяется, а RO преобразуется в соответствующий формат. На шаге S765 преобразованный RO шифруется с помощью ключа сеанса, общего для устройства 500 и защищенной ММС 100.
На шаге S763 соответствующий формат может быть форматом системы DRM, который поддерживается устройством 500. Например, формат RO, сохраненного в защищенной ММС 100, преобразуется в формат XML или формат WBXML, который поддерживается устройством 500.
В других вариантах осуществления настоящего изобретения RO может быть разделен на две части для преобразования формата на шаге S763.
Защищенная ММС 100 шифрует на шаге S765 RO, преобразованный в соответствующий формат с помощью ключа сеанса, и посылает шифрованный RO к устройству 500 на шаге S780. Для шифрования RO используется алгоритм симметричной криптографии, такой как DES или AES.
На шаге S785 устройство 500 дешифрует шифрованный RO, принятый от защищенной ММС 100 с помощью ключа сеанса. На шаге S795 устройство 500 шифрует дешифрованный RO с помощью своего уникального ключа в соответствии с алгоритмом шифрования, определенного в нем, и сохраняет шифрованный RO.
Если перемещение RO от защищенной ММС 100 выполняется нормально, устройство 500 заставляет защищенную ММС 100 деактивировать RO в защищенной ММС 100, чтобы не допустить существования RO одновременно в устройстве 500 и защищенной ММС 100. Чтобы деактивировать RO, RO может быть удален или метка для отображения активации и деактивации RO могла быть установлена в состояние деактивации.
Если процесс перемещения выполняется ненормально, устройство 500 деактивирует RO и уведомляет пользователя устройства 500 о неудаче процесса перемещения. Одновременно с этим защищенная ММС 100 также деактивирует RO. Деактивация RO, который подвергается процессу перемещения или копирования, может быть осуществлена установкой во временное состояние метки, которая показывает состояние RO, как одно из следующих: состояние активации, состояние деактивации и временное состояние. Деактивация RO выполняется, чтобы предупредить создание дубликатов RO, создаваемых из-за ненормального процесса перемещения, и предотвратить кражу RO взломщиками.
Когда процесс перемещения является ненормально выполненным и, следовательно, RO в временном состоянии или состоянии деактивации защищен в устройстве 500 и защищенной ММС 100, устройство 500 проверяет данные журнала или другие данные, когда впоследствии осуществляет доступ защищенной ММС 100 для определения того, какой из соответствующих RO в устройстве 500 или в защищенной ММС 100 будет активироваться, и изменяет метку RO, определенную для активации.
Другие варианты осуществления копирования RO, показанные на Фиг. 9 и 10, будут описаны со ссылкой на Фиг. 13-16.
Фиг.13 представляет собой блок-схему процедуры для копирования RO цифровой работы в устройстве 500 в защищенную ММС 100. Как описывается выше, чтобы выполнить заранее заданную операцию (например, воспроизведение, копирование или перемещение) между устройством 500 и портативным запоминающим устройством, таким как защищенная ММС 100, должна быть выполнена на шаге S810 взаимная аутентификация. Во время взаимной аутентификации генерируется общий ключ К шифрования, то есть ключ сеанса, необходимый для шифрования и передачи данных между двумя устройствами. До копирования RO защищенная ММС 100 может быть проверена, чтобы выяснить на шагах S820 и S830, достаточно ли пространства для хранения RO в защищенной ММС 100. Далее на шаге S840 устройство 500 выполняет задачи, необходимые, чтобы послать RO к защищенной ММС 100. Поскольку RO обычно шифруется и затем хранится в устройстве для защиты RO от манипуляций с ним, RO необходимо дешифровать до копирования. Соответственно, на первом действии на шаге S840 устройство 500 дешифрует шифрованный RO с помощью своего уникального ключа и преобразует дешифрованный RO в соответствующий формат, который может быть сохранен в защищенной ММС 100. Преобразование формата выполняется до тех пор, пока формат RO в устройстве 500 может отличаться от находящегося в защищенной ММС 100. Например, хотя RO хранится в устройстве 500 в формате XML или WBXML, формат файла, который может быть распознан защищенной ММС 100, может быть двоичным файловым потоком, учитывающим сжатие. Поэтому необходимо преобразовывать копируемый RO для защищенной ММС 100. Далее на шаге S840 устройство 500 шифрует преобразованный RO с помощью общего ключа К шифрования, чтобы обеспечить защиту передачи. На шаге S850 устройство 500 посылает шифрованный RO с помощью команды SET_COPY_RO к защищенной ММС 100. На шаге S860 защищенная ММС 100 дешифрует шифрованный RO, принимаемый от устройства 500, с помощью общего ключа К шифрования, шифрует дешифрованный RO с помощью своего уникального ключа и сохраняет шифрованный RO. Защищенная ММС 100 шифрует RO до его сохранения, чтобы с помощью этого гарантировать безопасность RO.
Фиг.14 представляет собой блок-схему процедуры для копирования RO цифровой работы в защищенной ММС 100 в устройство 500. На шаге S910 выполняется взаимная аутентификация и поэтому генерируется общий ключ К шифрования, то есть ключ сеанса. До копирования RO на шагах S920 и S930 устройство 500 может принять информацию о RO от защищенной ММС 100, чтобы определить RO, сохраненные в защищенной ММС 100. Далее на шаге S940 защищенная ММС 100 выполняет задачи, необходимые, чтобы послать RO к устройству 500. Поскольку на шаге S940 RO обычно шифруется и затем хранится в портативном запоминающем устройстве для защиты RO, защищенная ММС 100 дешифрует шифрованный RO с помощью с помощью своего уникального ключа, преобразует дешифрованный RO в соответствующий формат, который может быть сохранен в устройстве 500, и шифрует с помощью общего ключа К шифрования преобразованный RO. На шаге S950 защищенная ММС 100 посылает шифрованный RO с помощью команды GET_COPY_RO к устройству 500. Преобразование дешифрованного RO включает в себя преобразование шифрованного RO в формат файла, поддерживаемый устройством 500. На шаге S960 устройство 500 дефишрует шифрованный RO, принимаемый от защищенной ММС 100, с помощью общего ключа К шифрования, шифрует дешифрованный RO с помощью своего уникального ключа и сохраняет шифрованный RO.
При этом пока копирование RO включает в себя копирование цифровых авторских прав, необходима информация об ограничениях для копирования. Информация об ограничениях, которая будет описана ниже со ссылкой на Фиг.19, включает в себя информацию для управления правом при копировании. Если разрешается неограниченное копирование, сложно защитить авторские права. Поэтому дополнительно необходима информация управления. Фиг. 15 и 16 иллюстрируют процедуры копирования RO, включая управление копированием. В этих процедурах исходный RO и его копия должны быть изменены.
Фиг. 15 представляет собой блок-схему процедуры для копирования RO, сохраненного в устройстве 500, к защищенной ММС 100. Шаги S1010, S1020 и S1030, выполняющие взаимную аутентификацию и доставляющие информацию, касающуюся защищенной ММС 100, являются точно такими же, как и шаги S810, S820 и S830, показанные на Фиг. 13. Шаг S1040 также идентичен шагу S840, за исключением того, что добавляется задача изменения информации управления для копирования RO. На шаге S1040 устройство 500 изменяет информацию управления, преобразует RO и шифрует RO с помощью общего ключа шифрования. Здесь информация управления изменяется для согласования с правами, присвоенными копированному RO, и посылается вместе с копируемым RO. На шаге S1050 шифрованный RO с помощью команды SET_COPY_RO посылается к защищенной ММС 100. Шаг S1060, выполняемый защищенной ММС 100, принимающей копируемый RO, является точно таким же, как и шаг S860, показанный на Фиг. 13. На шаге S1070 защищенная ММС 100 посылает сообщение, указывающее на успех, устройству 500, когда копирование RO нормально выполняется. В ответ на сообщение на шаге S1080 устройство 500 изменяет информацию управления для исходного RO, сохраненного в нем.
Фиг.16 представляет собой блок-схему процедуры для копирования RO, сохраненного в защищенной ММС 100, в устройство 500. Шаги S1110, S1120 и S1130, выполняющие взаимную аутентификацию и доставляющие информацию о RO, являются точно такими же, как и шаги S910, S920 и S930, показанные на Фиг.14. Шаг S1140 также является идентичным шагу S940, за исключением того, что добавляется задача изменения информации управления для копирования RO. На шаге S1140 защищенная ММС 100 изменяет информацию управления, преобразует RO в формат, пригодный для устройства 500, и шифрует RO с помощью общего ключа шифрования. На шаге S1150 шифрованный RO с помощью команды GET_COPY_RO посылается к устройству 500. Шаг S1160, выполняемый устройством 500, принимающий шифрованный RO, является точно таким же, как и шаг S960, показанный на Фиг.14. На шаге S1170 устройство 500 посылает сообщение, указывающее на успех, защищенной ММС 100, когда копирование RO нормально выполняется. В ответ на сообщение на шаге S1180 защищенная ММС 100 изменяет информацию управления для RO, сохраненного в нем.
Фиг.17 и 18 иллюстрируют структуру формата 700 RO защищенной ММС (SMRF) в соответствии с примерным вариантом осуществления настоящего изобретения.
Как показано на Фиг.17, SMRF 700 включает в себя область права, область ресурсов и область разрешения, а также может включать в себя множество областей ресурсов и областей разрешения. Соответственно, номер области ресурсов показывает число областей ресурсов, а номер области разрешений показывает число областей разрешения.
Область права имеет структуру 710, включающую в себя информацию, относящуюся к версии RO и ID RO. Область ресурса содержит информацию, относящуюся к данным контента, использование которой управляется с помощью RO. Область разрешения содержит информацию, относящуюся к уровню фактического использования и к действию, которое разрешается источником прав в соответствии с защищенными данными контента.
Область ресурса имеет структуру 720, включающую в себя ID ресурса для идентификации индивидуального ресурса, ID контента (или ID головного RO), ссылку на ID головного RO, показатель профиля сообщения + значение профиля сообщения и ключ шифрования контента (CEK). Поскольку SMRF 700 может включать в себя множество ресурсов, номер области ресурсов располагается впереди первой области ресурсов.
Когда RO SMRF 700 представляет собой головной RO, включается ID головного RO вместо ID контента. Когда RO представляет собой подчиненный RO, то включается ссылка на ID головного RO.
Здесь головной RO и подчиненный RO находятся в отношении, в котором один RO определяется наследованием разрешения и ограничения от другого RO. Головной RO определяет разрешение и ограничение для контента DRM, а подчиненный RO наследует их. Подчиненный RO именуется контентом. Однако головной RO не может напрямую ссылаться на свой контент, а может ссылаться на своего подчиненного. Когда разрешается доступ к контенту в соответствии с информацией разрешения, относящейся к подчиненному или головному RO, представитель DRM учитывает ограничение на разрешение при условии доступа, а все верхние уровни ограничиваются на головном и подчиненном RO. Как результат, источник прав может поддержать абонентскую бизнес-модель.
Показатель профиля сообщения и значение профиля сообщения предназначены для защиты целостности ссылки на контент. Значение профиля сообщения представляет собой значение, генерируемое общим хеш-алгоритмом, например алгоритмом1 безопасного хеширования (SHA1). Показатель профиля сообщения показывает тип хеш-алгоритма, используемого для генерирования значения показателя профиля.
CEK представляет собой значение двоичного ключа для шифрования контента. СЕК также представляет собой значение ключа, используемое устройством для дешифровки шифрованного контента. Устройство может использовать контент, принимая СЕК из защищенной ММС.
Как показано на Фиг.18, область разрешения имеет структуру 730. Поскольку SMRF 700 может включать в себя множество областей разрешения, то номер области разрешения располагается впереди первой области разрешения. Область разрешения включает в себя количество ссылок на ID ресурсов, ссылки на ID ресурсов, количество областей информации разрешения и области информации разрешения. По меньшей мере одна ссылка на ID ресурса может быть расположена перед областью информации разрешения. Ссылка на ID ресурса указывает на ID ресурс, включенный в структуру 720.
RO может иметь 7 типов разрешения: разрешение на воспроизведение, разрешение на отображение, разрешение на выполнение, разрешение на печать, разрешение на экспорт, разрешение на копию и разрешение на перемещение.
Разрешение на воспроизведение указывает на право на воспроизведение контента DRM в аудио/видеоформате. Агент DRM не разрешает доступ на основе права воспроизведения к такому контенту, как JAVA игры, которые не могут быть выражены в аудио/видеоформате.
Разрешение на воспроизведение может опционально иметь ограничение. Если имеется точно определенное ограничение, агент DRM предоставляет право на воспроизведение в соответствии с точно определенным ограничением. Если нет точно определенного ограничения, агент DRM представляет неограниченные права на воспроизведение.
Разрешение на отображение указывает на право на отображение контента DRM через визуальное устройство. Агент DRM не разрешает доступ на основе отображения в соответствии с контентом, таким как изображения в формате gif или jpeg, которые не могут быть отображены на визуальном устройстве.
Разрешение на выполнение указывает на право на выполнение контента DRM, такого как JAVA игры и другие прикладные программы. Разрешение на печать показывает право на генерирование печатной копии контента DRM, такого как изображения в формате jpeg.
Разрешение на экспорт указывает на право на посылку контента DRM и соответствующих RO к системе DRM, отличной от системы DRM альянса открытых мобильных архитектур (OMA) или архитектуры защиты контента. Разрешение на экспорт может иметь ограничение. Ограничение точно определяет систему DRM архитектуры защиты контента, к которой может быть послан контент DRM или же сам RO. Разрешение на экспорт делится на режим перемещения и режим копирования. Когда RO экспортируется из текущей системы DRM к другой системе DRM, RO удаляется из текущей системы DRM в режиме перемещения и не удаляется из текущей системы DRM в режиме копирования.
Разрешение на перемещение делится на режим устройство - защищенная ММС и на режим защищенная ММС - устройство. В режиме устройство - защищенная ММС RO в устройстве посылается к защищенной ММС, а исходный RO в устройстве деактивируется. Подобные операции выполняются в режиме перемещения защищенная ММС - устройство.
Разрешение на копирование делится на копирование устройство - защищенная ММС и копирование защищенная ММС - устройство. При копировании устройство - защищенная ММС RO в устройстве посылается защищенной ММС, но отличается от разрешения на перемещение тем, что исходный RO в устройстве не деактивируется. Подобные операции выполняются при копировании защищенная ММС - устройство.
Число областей информации разрешения показывает число разрешений. Область информации разрешения содержит информацию, такую как ограничение, относящееся к одному из семи разрешений.
Область информации разрешения имеет структуру 750, включающую в себя показатель разрешения, показатель экспорта, число ограничений и показатель разрешений + информация об ограничениях. Показатель разрешения показывает тип разрешения и имеет одно из значений, показанных в таблице 1.
Таблица 1
Название разрешения
Показатель разрешения
Все
0х00
Воспроизведение
0х01
Отображение
0х02
Выполнение
0х03
Печать
0х04
Экспорт
0х05
Перемещение
0х06
Копирование
0х07
Показатель экспорта используется, когда показатель разрешения показывает экспорт, чтобы определить один из предмета экспорта с помощью процесса копирования или предмета эксперта с помощью процесса перемещения.
Область информации разрешения включает в себя информацию, относящуюся к части или всем ограничениям, показанным в таблице 2. Информация об ограничениях ограничивает использование цифрового контента. Таблица 2 показывает типы ограничений. Показатель ограничения имеет одно из значений, показанных в Таблице 2, и показывает тип ограничения.
Таблица 2
Название ограничения
Показатель ограничения
Без ограничения
0х00
Счет
0х01
Время счет
0х02
Интервал
0х03
Накопление
0х04
Время обмена данными
0х05
Индивидуальное
0х06
Системное
0х07
Примеры структуры области показатель ограничения + информация об ограничениях, соответствующая значению показателя ограничения, будут описаны далее со ссылкой на Фиг. 19.
Структура 751 для ограничения счета включает в себя 2-байтовую подобласть счета для точного определения количества ограничений, предоставленных контенту. Структура 752 для ограничения времени счета включает в себя подобласть счета и подобласть таймера, чтобы точно определить количество ограничений, предоставленных контенту в течение периода времени, определенного таймером.
Структура 753 для ограничения интервала включает в себя подобласть времени, имеющую структуру 754, чтобы точно определить временной интервал, в котором RO может быть выполнено для соответствующего контента. Структура 755 для ограничения накопления точно определяет максимальный интервал времени для накопленного измеренного периода времеми, пока RO выполняется для соответствующего контента DRM. Если накопленный измеренный период времени превышает максимальный интервал времени, точно определенный ограничением накопления, то агент DRM не разрешает доступ к контенту DRM с соответствующим RO. Структура 756 для ограничения времени обмена данными включает в себя две подобласти времени, определяющие продолжительность действия ограничения, и выборочно содержащая время начала или время окончания. Если содержится время начала, использование контента DRM разрешается после наступления заданного времени и даты. Если содержится время окончания, использование контента DRM разрешается до заданного времени и даты. Структура 757 для индивидуального ограничения точно определяет персону, с которой связан контент DRM, например, с помощью унифицированного указателя ресурсов (URL) персоны. Соответственно, если идентификация пользователя устройства не идентична идентификации персоны, которой разрешено использовать контент DRM, агент DRM не разрешает доступ к контенту DRM. Структура 758 для системного ограничения точно определяет систему DRM или архитектуру защиты контента, к которым контент или RO могут быть экспортированы. Подобласть версии системы DRM, включенная в структуру 758, точно определяет информацию о версии системы DRM или архитектуру защиты контента. Подобласть системы DRM, включенная в структуру 758, точно определяет название системы DRM или архитектуру защиты контента.
В области показатель ограничения + информация об ограничениях, показанной на Фиг. 19, информация об ограничениях изменяется, когда RO копируется или перемещается. Например, когда количество копий RO точно определяется ограничением счета со структурой 751, RO может быть скопирован или перемещен только то число раз, которое соответствует заданному счетчику. Когда счетчик равняется 3, RO может быть скопирован или перемещен только три раза. Если RO скопирован или перемещен три раза, далее RO не может быть скопирован или перемещен. В другом примере, если RO имеет разрешение на копирование с ограничением временем счета, имеющим структуру 752, точно определяющую, что RO может быть скопирован до K раз в течение заранее заданного периода времени, то RO может быть скопирован максимум К раз только в заранее заданный период времени.
Информация об ограничениях, показанная на Фиг. 19, точно определяет, сколько раз, когда и кем RO может копироваться или передаваться. Соответственно, такая информация об ограничениях становится информацией управления, использующей RO для управления копированием или перемещением.
В течение копирования или перемещения RO информация об ограничениях, то есть информация управления для RO, изменятся, чтобы не допустить посторонних лиц к копированию или перемещению RO. Дополнительно, поскольку RO не копируется и не перемещается после истечения времени или счетчика, ограничивающих DRM, RO может быть эффективно управляем. Изменение информации управления при копировании RO, будет описано в виде примера.
Фиг. 20 и 21 иллюстрируют пример изменения в информации об ограничениях, то есть информации управления, имеющей структуру, проиллюстрированную на Фиг.19. Как показано на Фиг.20, информация об ограничениях содержит счетчик, показывающий доступное число копий, и время обмена данными, показывающее временной интервал, в течение которого RO может быть скопирован. Информация об ограничениях появляется до копирования RO, поэтому информация об ограничениях предполагается для исходного RO. В соответствии с информацией об ограничениях RO может быть скопирован до трех раз в течение заранее заданного интервала времени. Сравнение информации об ограничениях на Фиг. 20 с информацией об ограничениях на Фиг. 21 происходит после копирования RO, значение счетчика уменьшается на 1 после копирования RO. Поэтому время обмена данными в информации об ограничениях на Фиг.20, прежде чем копируется RO, имеет 2004-03-12Т10:23:00 как значение начала и 2004-04-12Т21:23:00 как значение окончания. Соответственно, RO может быть скопирован с 10:23:00 12 марта 2004 года по 21:23:00 12 апреля 2004 года. RO не может быть скопирован вне этого интервала времени. Подобная информация об ограничениях может быть установлена для перемещения RO. Для перемещения RO может быть установлено количество перемещений, в которых RO может быть перемещен, и интервал времени, в течение которого RO может быть перемещен.
Информация об ограничениях, то есть информация управления, показанная на Фиг. 19, может быть сконфигурирована по-разному. Для простоты описания информация управления выражается в XML, что позволяет пользователю использовать расширенную разметку. Другими словами, пользователь может определить структуру документа или данных и сконфигурировать данные в соответствии с определенной структурой. Такой способ определения данных используется во многих стандартах. Например, XML используется для определения OREL, который представляет собой язык для выражения права для DRM в OMA. В XML определяется элемент, а структура данных, находящихся в элементе, также формируется с помощью элементов. Фиг.22 иллюстрирует структуру информации об ограничениях в соответствии с другим вариантом осуществления настоящего изобретения. Информация об ограничении, показанная на Фиг.22, содержит счетчик копий, различия между интервалом времени, в течение которого разрешено с генерациями выполнять копирование, и так далее.
На Фиг.22 элементы TIME (время) и COUNT (счетчик) представляются в элементе COPY (копирование). Элемент TIME дает временное ограничение на копирование. Рассматриваются моменты времени, соответствующие определенным значениям START (начало) и END (конец) в элементе TIME, а копирование выполняется, если удовлетворяется временное ограничение. После копирования такую информацию, относящуюся к временному ограничению на копирование, не нужно изменять для исходного RO и для скопированного RO.
Элемент COUNT дает ограничение на генерирование при копировании. Элемент COUNT содержит больше информации, чем элемент TIME, поскольку он должен содержать информацию управления для каждой копии. Элементу COUNT необходимо всего 4 элемента. Во-первых, элемент MYGEN показывает, представляет ли собой текущий RO оригинал или копию, и если текущий RO представляет собой копию, указывает, как много генераций выполнено от исходного RO до текущего RO. Генерирование показывает, сколько копий сделано до текущего RO. Например, генерирование исходного RO может быть установлено на 1, а генерирование RO, скопированного с исходного RO, может быть установлено на 2. В этом случае, когда значение MYGEN текущего RO равняется «n», значение MYGEN RO, скопированного с текущего RO, будет «n+1». Элемент ACCEPT_GEN содержит информацию, относящуюся к генерированию, для которого еще разрешено копирование. Когда значение MYGEN превышает значение ACCEPT_GEN, копирование не выполняется. Элемент NUM показывает число раз, которое может быть скопировано текущее RO. Когда значение NUM равняется 0, текущий RO не может быть скопирован. Значение NUM уменьшается на 1 всякий раз, когда выполняется копирование. Элемент COPYGEN_INFO содержит информацию, относящуюся к числу копий RO, разрешенных на каждом генерировании. COPYGEN_INFO показывает GEN и GENNUM. GEN представляет собой информацию, относящуюся к генерированию, а GENNUM показывает число копий, разрешенных при данном генерировании. Следовательно, копирование выполняется, только когда удовлетворены временное ограничение, данное элементом TIME, и ограничение, данное элементом COUNT.
Фиг. 23, 24 и 25 иллюстрируют пример изменений в информации об ограничениях, имеющей структуру, проиллюстрированную на Фиг. 22, когда копируется RO. Как показано на Фиг.23, информация об ограничениях для исходного RO до копирования включает в себя <MYGEN>1</MYGEN>, показывающее, что генерирование текущего RO, то есть исходного RO, равняется 1. Поскольку значение ACCEPT_GEN равняется 3, копирование при генерировании 1 разрешено. Поскольку NUM содержит значение 5, могут быть сгенерированы последующие 5 копий текущего RO. COPYGEN_INFO содержит информацию о копировании для любого генерирования RO. Число копий, разрешенное на каждое генерирование, хранится в COPYGEN_INFO и является необходимым для генерирования информации об ограничениях для копируемого RO. GEN показывает генерирование, а GENNUM показывает число копий, разрешенных при генерировании. Пока GENNUM равняется 4, когда GEN равняется 2, RO, скопированное с исходного RO, может быть скопировано четырежды, что представляется в информации об ограничениях для скопированного RO после копирования, как показано на Фиг. 24. Когда исходный RO успешно копируется, информация (а) об ограничениях изменяется в информации (b) об ограничениях для исходного RO после копирования. На Фиг. 24 представлена информация об ограничении для исходного RO после копирования, NUM имеет значение 4, которое получается уменьшением 5 на 1, и GENNUM в COPYGEN_INFO также имеет измененное значение. Здесь информация об ограничении выражается в XML для ясности описания, но преобразуется, чтобы сделать ее соответствующей структуре RO и форматам файлов устройства и портативного запоминающего устройства.
Фиг. 26 представляет собой функциональную блок-схему защищенной ММС 100 согласно примерному варианту осуществления настоящего изобретения.
В примерном варианте осуществления термины «блок» или «модуль», используемые здесь, означают, без ограничения, программную или аппаратную компоненту, такую как программируемая пользователем вентильная матрица (FPGA) или специализированная интегральная микросхема (ASIC), которые выполняют конкретные задачи. Модуль может преимущественно быть сформирован, чтобы располагаться на адресуемом носителе памяти, и сформирован для выполнения на одном или более процессорах. Таким образом, модуль может включать в себя, в качестве примера, компоненты, такие как программные компоненты, объектно-ориентированные программные компоненты, компоненты классов и компоненты задач, процессы, функции, свойства, процедуры, подпрограммы, сегменты программного кода, драйверы, встроенные программы, схемные решения, данные, базы данных, таблицы, массивы и переменные величины. Функции, реализованные в компонентах и модулях, могут быть объединены в меньшем количестве компонентов и модулей или отделены в дополнительных компонентах и модулях. Дополнительно, компоненты и модули могут быть осуществлены так, что они выполняются на одном или более компьютеров в системе связи.
Для осуществления DRM защищенной ММС 100 необходимы функция безопасности, функция сохранения контента или RO, функция обмена данными с устройством и функция DRM. Для выполнения этих функций защищенная ММС 100 включает в себя блок 1040 шифрования для функции безопасности, причем блок 1040 шифрования имеет модуль 1042, модуль 1044 генерирования ключа сеанса и модуль 1046 AES, блок 1030 хранения контента/RO с функцией хранения, интерфейсный блок 1010, позволяющий данным изменяться в устройстве, и блок 1020 управления, управляющий каждым модулем для выполнения процедуры DRM.
Блок 1020 управления преобразует RO в файл с форматом, пригодным для устройства, и изменяет информацию RO, до передачи RO устройству. RO преобразуется, когда структура RO, сохраненная в устройстве, отличается от сохраненной в портативном запоминающем устройстве, то есть защищенной ММС 100, так, что устройство может распознать RO. Дополнительно блок 1020 управления обеспечивает возможность работы приложений, сохраненных в защищенной ММС 100.
Интерфейсный блок 1010 разрешает защищенной ММС 100 соединяться с устройством. Когда защищенная ММС 100 соединяется с устройством, интерфейсный блок 1010 защищенной ММС 100 может быть электрически соединен с интерфейсным блоком устройства. Однако электрическое соединение является только примером, а соединение может также относится к состоянию, в котором защищенная ММС 100 может соединиться с устройством через беспроводную среду.
Модуль 1042 RSA выполняет шифрование с открытым ключом. Конкретнее, модуль 1042 RSA выполняет шифрование RSA в соответствии с запросом от блока 1020 управления. В вариантах осуществления настоящего изобретения в течение взаимной аутентификации шифрование RSA используется для изменения ключа (случайного числа) или цифровой подписи. Однако шифрование RSA является только примером, и может быть использовано другое шифрование с открытым ключом.
Модуль 1044 генерирования ключа сеанса генерирует случайное число для передачи устройству и генерирует ключ сеанса с помощью случайного числа, принимаемого от устройства, и сгенерированного случайного числа. Случайное число, сгенерированное модулем 1044 генерирования ключа сеанса, шифруется модулем 1042 RSA и затем передается устройству через интерфейсный блок 1010. При этом вместо генерирования случайного числа в модуле 1044 генерирования ключа сеанса случайное число может быть выбрано из множества случайных чисел, обеспеченных заранее.
Модуль 1046 AES выполняет шифрование с симметричным ключом, используя сгенерированный ключ сеанса. Конкретнее, модуль 1046 AES использует шифрование AES для шифрования ключа шифрования контента, полученного из RO, с ключом сеанса и для шифрования другой важной информации в течение связи с устройством. Шифрование AES является только примерным, и может быть использовано другое шифрование с симметричным ключом, такое как шифрование DES.
Блок 1030 хранения контента/RO хранит шифрованный контент и RO. Защищенная ММС 100 шифрует RO в соответствии с шифрованием AES с помощью уникального ключа, который не может быть считан устройством, и дешифрует RO с помощью уникального ключа, чтобы разрешить перемещение или копирование RO в устройство. Шифрование RO с помощью уникального ключа в соответствии с шифрованием с симметричным ключом является только примером. В качестве альтернативы, RO может быть шифровано с помощью секретного ключа защищенной ММС 100 и, когда необходимо, может быть дешифровано с помощью открытого ключа защищенной ММС 100.
Фиг. 27 представляет собой функциональную блок-схему устройства 500 согласно примерному варианту осуществления настоящего изобретения.
Для осуществления DRM защищенной ММС 500 необходима функция защиты, функция хранения контента или RO, функция обмена данными с устройством и функция DRM. Чтобы осуществить эти функции, защищенная ММС 500 включает в себя блок 5040 шифрования для функции защиты, причем блок 5040 шифрования содержит модуль 5042 RSA, модуль 5044 генерирования ключа сеанса и модуль 5046 AES, блок 5030 хранения контента/RO с функцией хранения, интерфейсный блок 5010, позволяющий обмениваться данными с устройством, и блок 5020 управления, управляющий каждым модулем при выполнении процедуры DRM.
Блок 5020 управления преобразует RO в файл с форматом, подходящим устройству, и изменяет информацию RO до передачи RO в устройство. RO преобразуется так, чтобы когда структура RO, сохраненного в устройстве, отличается от структуры, сохраненной в портативном запоминающей устройстве, то есть защищенной ММС 500, устройство могло распознать RO. Дополнительно блок 5020 управления обеспечивает работу приложений, сохраненных в защищенной ММС 500.
Интерфейсный блок 5010 разрешает защищенной ММС 500 соединяться с устройством. Когда защищенная ММС 500 соединяется с устройством, интерфейсный блок 5010 защищенной ММС 500 может быть электрически соединен с интерфейсным блоком устройств. Однако электрическое соединение является только примером, а соединение может относится к состоянию, в котором защищенная ММС 500 может соединиться с устройством через беспроводную среду.
Модуль 5042 RSA выполняет шифрование с открытым ключом. Конкретнее, модуль 5042 RSA выполняет шифрование RSA в соответствии с запросом от блока 5020 управления. В вариантах осуществления настоящего изобретения в течение взаимной аутентификации шифрование RSA используется для изменения ключа (случайного числа) или цифровой подписи. Однако шифрование RSA является только примером, и может быть использовано другое шифрование с открытым ключом.
Модуль 5044 генерирования ключа сеанса генерирует случайное число для передачи устройству и генерирует ключ сеанса с помощью случайного числа, принимаемого от устройства, и сгенерированного случайного числа. Случайное число, сгенерированное модулем 5044 генерирования ключа сеанса, шифруется модулем 5042 RSA и затем передается устройству через интерфейсный блок 5010. При этом вместо генерирования случайного числа в модуле 5044 генерирования ключа сеанса случайное число может быть выбрано из множества случайных чисел, обеспеченных заранее.
Модуль 5046 AES выполняет шифрование с симметричным ключом, используя сгенерированный ключ сеанса. Конкретнее, модуль 5046 AES использует шифрование AES для шифрования ключа шифрования контента, полученного из RO, с ключом сеанса и для шифрования другой важной информации в течение связи с устройством. Шифрование AES является только примером, и может быть использовано другое шифрование с симметричным ключом, такое как шифрование DES.
Блок 5030 хранения контента/RO хранит шифрованный контент и RO. Защищенная ММС 500 шифрует RO в соответствии с шифрованием AES с помощью уникального ключа, который не может быть считан устройством, и дешифрует RO с помощью уникального ключа, для перемещения или копирования RO в устройство. Шифрование RO с помощью уникального ключа в соответствии с шифрованием с симметричным ключом является только примером. В качестве альтернативы, RO может быть шифрован с помощью секретного ключа защищенной ММС 500 и, когда необходимо, может быть дешифрован с помощью открытого ключа защищенной ММС 500.
Блок 5060 отображения визуально отображает контент, который разрешает воспроизводить RO. Блок 5060 отображения может быть осуществлен на базе жидкокристаллического дисплея (ЖКД) (LCD), ЖКД на тонкопленочных транзисторах (TFT) или электролюминесцентного (EL) устройства отображения.
Ниже будут описаны примеры команд, используемых для перемещения RO, показанных на Фиг. 7 и 8, и для копирования RO, показанных на Фиг. 9 и 10.
Команда содержит входную команду и ответ на выходе. Устройство передает входную команду вместе с инструкцией к защищенной ММС и принимает данные или результат выполнения инструкции из защищенной ММС через ответ на выходе. Соответственно, каждая команда имеет входную команду, которая передается от устройства к защищенной ММС, а данные или результирующее значение, соответствующие входной команде, передаются от защищенной ММС к устройству через ответ на выходе. Команда представляет собой пример APDU.
Теперь будет объяснено описание элементов, включенных во входную команду.
Параметры CLA и INS представляют собой информацию для передачи инструкции. Инструкция, включенная во входную команду, может быть распознана как SET_MOVE_RO на основе комбинации команд P1 и Р2, которые могут быть различными. Например, когда Р1 равняется 01, инструкция может быть распознана как относящаяся к перемещению и может быть определена с помощью Р2 как одна из SET_MOVE_RO или GET_MOVE_RO. Соответственно, команды, описанные со ссылкой на Фиг.7-10, могут отличаться одна из другой с помощью комбинаций Р1 и Р2.
Параметры Lc и Le показывают, содержит ли поле данных информацию. Когда устройство передает входную команду вместе с полем данных к защищенному устройству ММС, параметры Lc и Le имеют значения «FFh» и «00h» соответственно. Однако, когда устройство посылает входную команду для запроса защищенной ММС для передачи конкретных данных, в поле данных информация отсутствует. Соответственно, параметры Lc и Le имеют значения «00h» и «FFh» соответственно, указывая, что в поле данных нет данных. Однако значения полей инструкций, включенных во входную команду, могут меняться.
Ответ на выходе используется защищенной ММС, принимающей входную команду, чтобы передать полученные значения или данные. Когда устройство запрашивает определенное значение данных, поле данных может быть сохранена информация. При этом результат для защищенной ММС, принимающей входную команду от устройства, выражается двумя значениями состояния SW1 и SW2 слова состояния. Слово состояния может указывать на один из двух случаев, в которых либо входная команда из устройства успешно принимается и обрабатывается защищенный ММС, либо значение метки ошибочно. Согласно слову состояния, принимаемому от защищенной ММС, устройство может распознать, успешно ли принят защищенной ММС APDU, содержащий информацию о команде. Когда значения SW1 и SW2 состояния имеют значения «90h» и «00h» соответственно, информация о команде принята успешно. Когда значения SW1 и SW2 состояния имеют значения «6Dh» и «00h» соответственно, метка является неизвестной. Когда значения SW1 и SW2 состояния имеют значения «6Вh» и «00h» соответственно, значение параметра имеет ошибку. Когда значения SW1 и SW2 состояния имеют значения «69h» и «85h» соответственно, требуется повторная аутентификация, поскольку доступ получен без аутентификации или имеется проблема с аутентификацией. Ответ на выходе сообщает, должным ли образом приняты значения входной команды защищенной ММС, но не сообщает, должным ли образом обработана защищенной ММС входная команда. Чтобы получить информацию, должным ли образом обработана защищенной ММС входная команда, используется независимая инструкция GET_CONFIRM.
Фиг. 28 и 29 иллюстрирует структуру команды SET_MOVE_RO, используемой на шаге S230, показанном на Фиг. 7. Как показано на Фиг. 28, поскольку команда SET_MOVE_RO передает RO от устройства к защищенной ММС, значения Lc и Le имеют значения «FFh» и «00h» соответственно. Значения Р1 и Р2 могут быть заранее заданными значениями для отображения того, что инструкция является SET_MOVE_RO. Это характеристика значений Р1 и Р2 применима и к другим инструкциям. Таким образом, когда ниже будут описываться другие инструкции, описания значений Р1 и Р2 будут опущены. Область данных во входной команде включает в себя информацию, необходимую для передачи RO. Информация содержит значения AppendInfo, SSC, ROType и SMRF и выборочно содержит ORO, которое описано со ссылкой на Фиг. 7. Информация шифруется с помощью ключа сеанса, а затем передается.
Как показано по Фиг. 29, ответ на выходе защищенной ММС, соответствующий входной команде, может быть распознан по значению состояния, показывающему успех или неудачу. Ответ на выходе не является значением, которое получается вследствие выполнения команды, но показывает, должным ли образом защищенная ММС принимает APDU, содержащий инструкцию. Значение состояния описано выше.
Фиг. 30 и 31 иллюстрируют структуру команды GET_CONFIRM, используемой на шаге S240, показанном на Фиг. 7. Как показано на Фиг. 30, после выполнения перемещения информация о результате выполнения команды может быть получена из защищенной ММС с помощью команды GET_CONFIRM, которая включает в себя параметры SSC и ACK. Поскольку команда GET_CONFIRM используется устройством для приема специальных данных от защищенный ММС, значения Lc и Le имеют значения «00h» и «FFh» соответственно. Параметры Р1 и Р2 могут иметь заранее заданные значения для отображения того, что инструкция представляет собой GET_CONFIRM. Поле данных во входной команде не содержит значений, поскольку устройство запрашивает данные. Как показано на Фиг. 31, ответ на выходе из защищенной ММС, соответствующий входной команде, может быть распознан значением данных, показывающим результат перемещения, то есть успешно ли перемещение, и значением состояния, показывающим, должным ли образом принята входная команда, принимаемая защищенной ММС. Значение данных включает в себя значение ACK и значение SSC, которые шифрованы и переданы к устройству. Значение состояния описано выше.
Фиг. 32 и 33 иллюстрируют структуру команды SET_SELECT, используемой на шаге S330, показанном на Фиг. 8, и на шаге S530, показанном на Фиг. 8. Эта команда используется для передачи параметра RID, то есть ID RO, который должен быть скопирован или перемещен и необходим для перемещения или копирования RO от защищенной ММС к устройству. Как показано на Фиг.32, шифрованные значения параметров SSC и RID хранятся в поле данных входной команды, которая передается от устройства к защищенной ММС. Поскольку специальные данные передаются от устройства к защищенной ММС, значения Lc и Le имеют значения «FFh» и «00h» соответственно. Как показано на Фиг. 33, ответ на выходе на входную команду включает в себя значение, показывающее, должным ли образом входная команда принята защищенной ММС, и может быть распознан по комбинации значений параметров SW1 и SW2.
Фиг. 34 и 35 иллюстрируют структуру команды GET_MOVE_RO, используемой на шаге S340, показанном на Фиг.8. В этой команде перемещаемый RO передается как значение поля данных. Поскольку данные передаются от защищенной ММС к устройству, параметры Р1 и Р2 во входной команде показывают, что инструкция представляет собой GET_MOVE_RO. Перемещаемый RO шифруется и хранится в области данных ответа на выходе, который передается от защищенной ММС к устройству.
Фиг. 36 и 37 иллюстрируют структуру команды SET_CONFIRM, используемой на шаге S350, показанном на Фиг. 8, и на шаге S550, показанном на Фиг.10. Эта команда используется для информирования защищенной ММС о успехе или неудаче перемещения или копирования. Поле данных во входной команде включает в себя значение SSC и значение ACK в виде параметров. Когда защищенная ММС сообщает об успехе, защищенная ММС изменяет информацию, относящуюся к исходному RO, который является объектом копирования или перемещения. Параметры Lc и Le во входной команде и параметры SW1 и SW2 в ответе на выходе являются такими же, как и описанные выше.
Фиг. 38 и 39 иллюстрируют структуру команды SET_COPY_RO, используемой на шаге S410, показанном на Фиг.9. В этой команде, поскольку RO передается от устройства к защищенной ММС, значения Lc и Le имеют значения «FFh» и «00h» соответственно. Параметры Р1 и Р2 могут иметь заранее заданные значения для отображения того, что команда представляет собой SET_COPY_RO. Поле данных во входной команде включает в себя информацию, необходимую для передачи RO. Информация содержит значения SSC и SMRF. Информация шифруется с помощью ключа сеанса, а затем передается.
Ответ на выходе от защищенной ММС, соответствующий входной команде, может быть распознан по значению состояния, показывающего успех или неудачу. Ответ на выходе не является значением, обусловленным выполнением инструкции, а показывает, должным ли образом защищенная ММС приняла APDU, содержащий инструкцию. Значение состояния описано выше.
Фиг. 40 и 41 иллюстрирует структуру команды GET_COPY_RO, используемой на шаге S540, показанном на Фиг.10. В этой команде копируемая RO передается как значение поля данных. Поскольку данные передаются от защищенной ММС к устройству, параметры Р1 и Р2 во входной команде показывают, что инструкция представляет собой GET_COPY_RO. Копируемый RO шифруется и хранится в поле данных ответа на выход, который передается от защищенной ММС к устройству.
Фиг. 42-46 показывают примеры значений параметров при выполнении команд.
Фиг. 42-46 показывают примеры параметров инструкции SET_MOVE_RO. Как показано на Фиг. 42, 43 и 44, инструкция SET_MOVE_RO включает в себя поле заголовка и поле данных. Поле заголовка содержит информацию, идентифицирующую инструкции, а поле данных содержит информацию, относящуюся к команде. Поле Р1 в поле заголовка имеет значение, указывающее на инструкцию SET_MOVE_RO. T-поле в области данных представляет собой поле метки, имеющей значение метки, указывающее на инструкцию SET_MOVE_RO. L-поле в поле данных имеет значение, указывающее длину V-поля в поле данных. V-поле имеет шифрованное значение перемещаемого RO.
Инструкция SET_MOVE_RO передает шифрованный RO к защищенной ММС и, следовательно, ответ на выходе от этой команды не имеет значений в его T-, L- и V-полях, как показано на Фиг. 45. Слово состояния в ответе на выходе включает в себя информацию о результате выполнения команды SET_MOVE_RO.
Слово состояния выражается комбинацией параметров SW1 и SW2, показывающей одно из следующего: «успешное выполнение команды (или успешная передача)», «неизвестная метка», «ошибочный параметр в V-поле», «необходима основная аутентификация», «необходима аутентификация», «подтверждение неудачно» и «число попыток», как показано на Фиг.46. Слово состояния, имеющее значение, показывающее «успешное выполнение команды (или успешная передача)», соответствует нормальному ответу, а слово состояния, имеющее значение, показывающее «подтверждение неудачно», соответствует ненормальному ответу.
Фиг. 47-51 показывают примеры параметров инструкции GET_MOVE_RO, которая имеет формат, подобный формату команды SET_MOVE_RO. Поле Р1 в поле заголовка имеет значение, указывающее на команду GET_MOVE_RO. Поскольку команда GET_MOVE_RO запрашивает передачу RO, который выбран пользователем устройства, область данных команды GET_MOVE_RO не имеет значений.
Область данных в ответе не выходе имеет шифрованное значение RO, перемещение которого запрошено. Слово состояния в ответе на выходе включает в себя информацию о результате выполнения команды. Т-поле в области данных представляет собой поле метки, имеющую значение метки, указывающее ответ на команду GET_MOVE_RO. L-поле имеет значение, указывающее длину V-поля. V-поле имеет шифрованное значение RO.
Слово состояния выражается комбинацией параметров SW1 и SW2, показывающей одно из следующего: «успешное выполнение команды», «неизвестная метка», «ошибочный параметр в V-области», «необходима основная аутентификация» и «необходима аутентификация».
Фиг. 52-56 показывают примеры параметров инструкции SET_COPY_RO. Параметры CLA и INS не определяют команду, но определяют группу команд, имеющих схожие свойства. Соответственно, две инструкции SET_COPY_RO и GET_COPY_RO, относящиеся к копированию, имеют одинаковые значения CLA и INS. Группа инструкций, относящихся к копированию, имеет значение «00» для CLA и значение «74» для INS. Инструкция SET_COPY_RO отличается от других команд, относящихся к копированию, с помощью параметров Р1 и Р2. Копируемый RO шифруется и сохраняется в поле данных в инструкции SET_COPY_RO, которая передается к портативному запоминающему устройству. Если поле данных содержит данные, параметры Lc и Le имеют значения «FF» и «00» соответственно. Когда поле данных не содержит данные, параметры Lc и Le имеют значения «00» и «FF» соответственно. Поскольку инструкция SET_CORY_RO имеет данные в поле данных, параметры Lc и Le имеют значения «FF» и «00» соответственно. Поле данных включает в себя поле метки (Т), длины (L) и значения (V). Шифрованный RO устанавливается в V-поле и передается. В соответствии с инструкцией SET_COPY_RO, портативное запоминающее устройство использует слово состояния как ответ. Как показано на Фиг.56, слово состояния содержит параметры SW1 и SW2 для указания, успешно ли выполнено копирование, имеются ли ошибки данных в значении метки, имеется ли ошибка в V-поле, нужна ли аутентификация и возможна ли повторная попытка копирования, когда происходит ошибка в течение копирования.
Фиг. 57-61 показывают примеры параметров инструкции GET_COPY_RO для копирования RO от портативного запоминающего устройства к устройству. Поскольку команда GET_COPY_RO представляет собой инструкция копирования, она имеет те же самые значения CLA и INS, что и команда SET_COPY_RO, и отличается от инструкции SET_COPY_RO с помощью параметров Р1 и Р2. Как описано выше, если нет данных в поле данных, параметры Lc и Le имеют значения «FF» и «00» соответственно. Если поле данных содержит данные, параметры Lc и Le имеют значения «00» и «FF» соответственно. Поскольку инструкция GET_CORY_RO имеет данные в области данных, параметры Lc и Le имеют значения «00» и «FF» соответственно. RO, сохраненный в портативной запоминающем устройстве, шифруется и устанавливается в области данных и передается вместе с параметрами SW1 и SW2, указывающими, успешно ли выполнена инструкция.
Промышленная применимость
Согласно настоящему изобретению перемещение и копирование цифровых произведений может быть управляемо. Поскольку информация управления для перемещения и копирования точно определяется, необдуманное или случайное копирование и перемещение цифровых произведений, и, следовательно, авторские права могут быть защищены.
Помимо этого, поскольку команде присваивают ее номер в последовательности, может быть предотвращена потеря данных или неавторизованный доступ.
Более того, поскольку между устройством и портативным запоминающим устройством выполняется взаимная аутентификация, информация цифрового произведения не будет раскрыта в течение передачи, и, следовательно, авторские права могут быть защищены.
В заключение подробного описания отметим, что специалисту будет понятно, что различные вариации и изменения могут быть выполнены в отношении вариантов осуществления настоящего изобретения без значительного отхода от принципов настоящего изобретения. Следовательно, раскрытые варианты осуществления изобретения используются только в иллюстративных целях без ограничения настоящего изобретения.