Область техники, к которой относится изобретение
Настоящее изобретение относится к способам и системам для создания, управления, модификации и/или принудительного выполнения управления цифровыми правами на основе времени для программных приложений, данных или другого цифрового контента.
Уровень техники
«Управление цифровыми правами» (сокращенно - «DRM») представляет собой обобщающий термин, относящийся к технологиям, используемым разработчиками программных средств, издателями или держателями авторских прав для управления доступом к цифровому контенту или его использованием, а также к ограничениям, связанным со специфичными экземплярами цифровых работ или устройств. Основанная на времени политика DRM обеспечивает для клиента неограниченный доступ к защищенному цифровому контенту на ограниченный период времени. Для обеспечения эффективности, процессор, осуществляющий основанную на времени политику DRM, должен иметь доступ к надежному источнику защищенного времени. Для поддержания целостности основанной на времени политики DRM доступ к защищенному контенту не должен быть разрешен, если надежный источник защищенного времени недоступен. Однако такие ограничительные политики могут раздражать клиентов, которые считают, что они надлежащим образом купили доступ к защищенному цифровому контенту и, поэтому, им должен быть разрешен доступ до тех пор, пока не истечет лицензированный "ограниченный период времени", независимо от того, доступен или нет надежный источник защищенного времени.
Для уменьшения такого раздражения клиентов, некоторые провайдеры цифрового контента, защищенного в соответствии с основанной на времени политикой DRM, могут выбрать возможность предоставления клиентам продленного доступа к защищенному цифровому контенту, даже когда надежный источник защищенного времени недоступен. Большинство таких провайдеров выполняет это на основе предположения, что надежный источник защищенного времени станет доступным прежде, чем истечет период лицензии. Такие альтернативные, основанные на времени политики DRM в значительной степени подвержены мошенничеству. Это связано с тем, что нечестные пользователи могут попытаться неправомерно расширить лицензию на "ограниченный период времени" путем манипуляций или модификации незащищенного источника времени таким образом, что лицензия, полученная на "ограниченный период времени", будет работать бесконечно. Кроме того, некоторые нечестные пользователи преднамеренно могут сделать надежный источник защищенного времени недоступным или недействительным таким образом, что продленный доступ к защищенному цифровому контенту будет разрешен, несмотря на тот факт, что срок действия лицензии должен был истечь.
Мобильные устройства, в частности, подвержены такому воздействию, поскольку внутренние часы мобильных устройств могут быть неточными, могут быть незащищены от модификации или даже могут отсутствовать. Сотовые телефоны, персональные карманные компьютеры (PDA, КПК), беспроводные модемы и аналогичные портативные устройства передачи данных представляют собой примеры мобильных устройств, которые могут не иметь собственных точных и защищенных часов. Кроме того, такие мобильные устройства могут не иметь надежного и/или защищенного средства получения защищенного времени во всех условиях.
По этим причинам были разработаны альтернативные политики DRM для ограничения использования или доступа к защищенному цифровому контенту на основе других критериев, кроме времени. Примеры таких альтернативных политик DRM включают в себя отслеживание и ограничение количества выполнений, случаев потребления или доступа к защищенному контенту. В то время как такие альтернативные политики DRM предоставляют для провайдеров защищенного контента эффективную альтернативу для основанных на времени политик DRM, потенциальные клиенты могут отказаться от покупки защищенного цифрового контента, приходя к выводу, что такие политики DRM являются слишком ограничивающими. В результате, происходит все меньшее количество продаж цифрового контента. Поэтому провайдерам защищенного цифрового контента может потребоваться более надежный способ или система для основанных на времени политик для лицензии DRM, которые позволили бы клиентам получать доступ в случае, когда надежный источник защищенного времени недоступен, но предотвратили бы чрезмерное злоупотребление со стороны нечестных клиентов.
Раскрытие изобретения
Варианты осуществления способов и систем, представленных в настоящем документе, направлены на решение проблемы формирования, управления, модификации и/или принудительного выполнения «гибких» политик лицензии для защиты цифрового контента (например, мультимедийных данных, данных, игрового контента или другого программного обеспечения) с помощью основанной на времени лицензии. Варианты осуществления относятся к ситуациям, когда надежный источник защищенного времени недоступен, и измеряющие время часы, если они вообще имеются в мобильном устройстве, содержащем контент, являются ненадежными или не заслуживающими доверия.
Ниже описаны варианты осуществления, которые позволяют полностью характеризовать широкое разнообразие политик, используя малое количество параметров. Значения параметров (и поэтому выбранные политики) могут быть установлены первоначально и в последующем их можно динамически изменять в любое время, например, путем дистанционной загрузки новых значений параметра. Значения параметра можно выбирать для определения и принудительного выполнения требуемого уровня компромисса между характеристиками удобства эксплуатации и защищенности.
Краткое описание чертежей
На приложенных чертежах, которые включены и составляют часть данного описания, иллюстрируются предпочтительные в настоящее время варианты воплощения, и, вместе с общим описанием, приведенным выше, и подробным описанием, приведенным ниже, используются для пояснения свойств вариантов выполнения.
На Фиг. 1A приведена схема системы для системы, включающей в себя множество мобильных устройств, имеющих доступ к источнику защищенного времени.
На Фиг. 1B приведена блок-схема элементов мобильного устройства определенного типа.
На Фиг. 1C приведена блок-схема элементов мобильного устройства другого типа.
На Фиг. 2 приведена таблица потенциальных параметров политики лицензии, их возможные величины и значения.
На Фиг. 3 приведена таблица, иллюстрирующая пример политик, определенных различными комбинациями потенциальных значений параметра.
На Фиг. 4 приведена блок-схема последовательности операций варианта выполнения процедуры, которая может быть выполнена агентом принудительного выполнения для принудительного выполнения основанной на времени политики лицензии с установленными параметрами.
На Фиг. 4a представлена распечатка альтернативного примера возможного псевдокода для процедуры, исполняющей обработку, показанную на Фиг. 4.
На Фиг. 4b приведена распечатка примера возможного псевдокода для альтернативной процедуры принудительного выполнения основанной на времени политики лицензии с установленными параметрами.
На Фиг. 5 представлена обработка блок-схемы последовательности операций для альтернативного варианта выполнения процедуры, которая может быть выполнена с помощью агента принудительного выполнения.
На Фиг. 5a приведена распечатка примера возможного альтернативного псевдокода для процедуры, предназначенной для принудительного выполнения основанной на времени политики лицензии с установленными параметрами.
На Фиг. 6 приведена обработка блок-схемы последовательности операций для этапов, выполняемых с помощью способа в соответствии с вариантом выполнения, в котором используют параметр TimeCallAt Startup.
На Фиг. 6a приведена распечатка примера возможного альтернативного псевдокода для процедуры, предназначенной для проверки, требуется ли получать защищенное время из источника защищенного времени.
На Фиг. 7 приведена обработка блок-схемы последовательности операций этапов, выполняемых способом в соответствии с вариантом выполнения, для проверки и загрузки обновленных параметров лицензии.
На Фиг. 7a представлен пример распечатки возможного альтернативного псевдокода процедуры проверки и загрузки обновленных параметров лицензии.
Осуществление изобретения
Различные варианты осуществления настоящего изобретения будут подробно описаны со ссылкой на приложенные чертежи. Везде, где это возможно, одинаковые номера ссылочных позиций используются на всех чертежах для обозначения одинаковых или аналогичных частей.
Лицензированный защищенный контент или просто «защищенный контент» может включать в себя, но не ограничивается этим, различные виды мультимедийных данных, арендуемых развлекательных данных, документов, программного обеспечения, данных пробного или демонстрационного контента и т.д. Существует множество подходов для защиты от копирования и DRM для защищенного контента.
Одна из наиболее часто применяемых политик DRM представляет собой основанную на времени лицензию. В соответствии с такими основанными на времени лицензиям клиентам разрешен неограниченный доступ к защищенному контенту на ограниченный период времени, например, до даты истечения срока действия. Здесь фраза «доступ к защищенному контенту» и аналогичные фразы подразумевают под собой просмотр, считывание, игру, выполнение, редактирование или модификацию контента. После истечения ограниченного периода времени клиенту больше не разрешен доступ к контенту, защищенному в соответствии с существующей лицензией.
Альтернативная политика DRM может представлять собой "неограниченную" лицензию. В случае, когда провайдеры защищенного контента не желают постоянно отслеживать дату/время срока истечения лицензии, провайдеры защищенного контента могут назначать оплату за защищенный контент и разрешать клиенту получать доступ к защищенному контенту без ограничений. В частности, клиент покупает защищенный контент, и он становится его собственностью, вместо приобретения лицензии на ограниченный период времени. Такие политики защиты могут не быть оптимальными, однако, поскольку множество потенциальных клиентов не желают оплачивать тариф с надбавкой при ограниченном предполагаемом использовании. Следовательно, меньшее количество потенциальных клиентов могут фактически стать оплачивающими клиентами, которые получают доступ к защищенному контенту, чем если бы защищенный контент был доступен в соответствии с основанной на времени лицензией.
Рассмотрим пример провайдера контента, который предоставляет клиентам доступ к музыкальной подборке. Различные политики DRM доступны для провайдера контента. Провайдер контента может сделать музыкальные подборки доступными для клиентов в соответствии с политикой, основанной на правилах использования. Такие правила использования могут содержать предельное подсчитанное число обращений, что позволяет клиенту оплатить или получить доступ к музыкальной подборке N раз. В качестве альтернативы, провайдер контента может сделать музыкальную подборку доступной для клиента в соответствии с основанными на времени ограничениями использования, которые позволяют клиенту оплатить музыкальную подборку до определенной даты или времени. Учитывая особенность защищенного контента (то есть музыкальную подборку) и способ, в соответствии с которым большинство клиентов предпочитает получать доступ к такому защищенному контенту, клиенты могут не желать быть ограниченными количеством раз, которое они оплачивают за использование подборки музыкального контента, но вместо этого желали бы быть ограниченными определенным количеством дней или часов, в течение которых эта подборка может быть воспроизведена. Следовательно, в таких ситуациях следует проанализировать, почему основанные на времени лицензии являются предпочтительными. Аналогичные ситуации могут возникнуть для защищенного контента, такого как игры или видеоизображения, где пользователь может желать получить неограниченный доступ к защищенному контенту, но, вероятно, устает от использования защищенного контента с течением времени.
Обычные политики основанных на времени лицензий для защищенного контента сравнивают дату/время истечения срока действия лицензии со значениями даты или времени, предоставляемыми внутренними часами. До тех пор, пока сравнение даты/времени срока истечения хранения с часами обозначает, что дата/время истечения лицензии еще не прошла, процессор предоставляет неограниченный доступ к защищенному контенту. Если сравнение показывает, что дата/время истечения срока действия лицензии истекли, тогда процессор запрещает дальнейший доступ к защищенному контенту. Будучи простыми по форме, такие политики и защиту DRM можно легко обойти, поскольку нечестный клиент относительно просто может выполнить манипуляции с часами устройства таким образом, чтобы ограниченный период времени был, по существу, бесконечным. Клиенты ПК (или другого устройства) могут иметь возможность многократного "скручивания" внутренних часов ПК (или другого устройства) таким образом, чтобы ограниченный период времени никогда не истек. Хотя существует программное средство для детектирования таких операций "скручивания", до настоящего времени такие программные средства не доказали свою эффективность.
Более надежная, основанная на времени политика лицензии может потребовать, чтобы часы, используемые для сравнения с датой/временем истечения срока действия основанной на времени лицензии, были надежным и защищенным источником времени, который предоставляет некоторую форму точного, надежного, защищенного от вмешательства времени. Такой источник защищенного времени может быть расположен в самом мобильном устройстве. В противном случае, можно использовать удаленные источники защищенного времени с разрешенным доступом. Например, веб-сайт www.time.gov в Интернет представляет собой удаленный, доступный, точный, надежный источник времени, который клиент не может модифицировать. До тех пор, пока мобильное устройство вынуждают обращаться к надежному и защищенному источнику времени (локальному или сетевому), более надежные, основанные на времени лицензии могут эффективно работать на основе времени.
Будучи мобильными, сотовые телефоны, КПК, беспроводные модемы и другие мобильные устройства передачи данных типично не должны обращаться к защищенному источнику времени. В то время как устройства CDMA (коллективный доступ с кодовым разделением) имеют источник времени, используемый для тесной корреляции с поддержанием времени, время может быть ненадежным в том смысле, что клиент может его модифицировать или изменить. Устройства GSM (глобальная система мобильной связи) могут не иметь представления о времени, поскольку время в устройстве GSM предоставляют, или им управляют независимо. Следовательно, основанные на времени политики DRM могут быть эффективно трудновыполнимыми в таких устройствах.
Вариант осуществления может содержать ограничительную политику DRM, которая может настаивать на том, чтобы защищенное время было доступно, для сравнения с датой/временем срока истечения лицензии прежде, чем будет предоставлен доступ к защищенному контенту. Такая настойчивость может раздражать клиента/пользователя. Во-первых, если источник защищенного времени не доступен локально, может потребоваться вызов для получения данных, для получения внешнего источника защищенного времени. Такой вызов для получения данных может вводить задержку в доступ к защищенному контенту, что может вызывать раздражение клиента/пользователя, если вызов данных не будет успешным. Во-вторых, возможно множество ситуаций, когда клиент желает получить доступ к защищенному контенту, который может быть правильно лицензирован, но по причинам, находящимся за пределами управления клиента/пользователя, источник защищенного времени является недоступным. Пример такой ситуации представляет собой случай, когда мобильное устройство без внутренних надежных часов, географически распложено за пределами сети своего обслуживающего провайдера. Такая ситуация может возникнуть, когда клиент/пользователь путешествует и может выходить за пределы сети своего обслуживающего провайдера. Такая ситуация называется "за пределами сети". Поскольку мобильное устройство находится за пределами сети, мобильные устройства будут неспособны получать сигнал, обеспечивающий возможность для мобильного устройства генерировать канал для передачи данных с источником защищенного времени, по меньшей мере, без использования роуминга.
Другой пример такой ситуации может представлять собой случай, когда мобильное устройство без внутренних надежных часов географически находится в пределах сети своего обслуживающего провайдера, но клиент отключил функцию приемопередатчика мобильного устройства. Такая ситуация может возникнуть, когда клиент/пользователь находится в месте, где требуется отключение функции приемопередатчика мобильного устройства. Например, когда клиент/пользователь находится на борту самолета или в больнице. Такая ситуация называется "в сети". Поскольку функция приемопередатчика мобильного устройства отключена, мобильное устройство не обладает возможностью получать сигнал, обеспечивающий для мобильного устройства возможность генерирования канала передачи данных с источником защищенного времени.
Другой пример такой ситуации может возникнуть, когда мобильное устройство находится в "режиме роуминга". Такая ситуация может возникнуть, когда клиент/пользователь перемещается за пределами своей конкретной сети обслуживающего провайдера, но все еще может находиться в пределах сети другого обслуживающего провайдера. Когда мобильное устройство находится в режиме роуминга, мобильное устройство имеет возможность выполнять и принимать телефонные вызовы, но не может установить канал передачи данных с источником защищенного времени.
Клиент/пользователь может почувствовать раздражение, когда доступ к защищенному контенту не будет разрешен в этих ситуациях, несмотря на тот факт, что защищенный контент был соответствующим образом лицензирован и дата/время истечения срока действия не наступили. Такое раздражение может заставить клиента/пользователя отказаться от выполнения в будущем основанных на времени лицензий, из-за такого отрицательного опыта.
Альтернативный вариант осуществления может обеспечить для клиента/пользователя возможность доступа к защищенному контенту, несмотря на недоступность защищенного времени, если предположить, что ситуации, описанные выше, являются временными по своей сути и маловероятно существуют в течение длительного периода времени, или в течение периода времени, которое продолжается за пределами даты/времени срока истечения лицензии. Однако такой альтернативный вариант осуществления может использоваться нечестным клиентом, который преднамеренно формирует любую из описанных выше ситуаций в течение длительного периода времени таким образом, чтобы лицензированный период времени, по существу, был бесконечным.
В соответствии с этим, требуется гибкий выбор политик лицензии, в частности, для использования в многорежимных устройствах (например, в устройстве, которое может работать в одной из сред CDMA и/или GSM) и на многорежимных рынках, которые обеспечивали бы ограниченный доступ к защищенному контенту при сохранении впечатлений клиента/пользователя. Провайдеры контента также желают получить возможность динамически модифицировать политику защиты после продажи, включая в себя продление или модификацию основанных на времени лицензий. Кроме того, желательно, чтобы производители беспроводных устройств и провайдеры услуг имели возможность конфигурировать принятые по умолчанию или специализированные политики на предприятиях производства или во время продажи. В соответствии с этим, необходимы альтернативные способы и системы для формирования, управления, модификации, и/или принудительного выполнения основанных на времени политик DRM.
Альтернативные варианты осуществления направлены на ситуации, когда надежный источник защищенного времени недоступен и измеряющие время часы, если присутствуют в мобильном устройстве, содержащем контент, являются ненадежными или не заслуживающими доверия. Различные варианты осуществления обеспечивают улучшенные основанные на времени лицензии и политики DRM, которые основаны на значениях конфигурации относительно малого количества параметров. Такие варианты осуществления, в частности, направлены на основанную на времени политику, когда источник защищенного времени, который предоставляет точное и надежное время, не всегда доступен. Варианты осуществления могут включать в себя адаптивный агент принудительного выполнения, который принудительно выполняет основанную на времени политику, на основе которой защищенное время является доступным или не доступным.
Несколько хорошо подобранных параметров можно использовать для генерирования и управления широким диапазоном гибких политик DRM. Широкий диапазон гибких политик DRM может обеспечить изменяющиеся уровни защиты и различные степени впечатления клиента/пользователя, которые могут быть обратно взаимосвязаны. Например, политики, имеющие очень сильный уровень защиты, могут иметь очень низкий уровень восприятия клиента/пользователя. Наоборот, политики, имеющие "хорошие" уровни защиты, могут иметь "очень хорошие" рейтинги при восприятии клиентом/пользователем. Различные перестановки параметров лицензии позволяют генерировать спектр политик. Использование всего лишь только нескольких параметров означает, что лицензии для множества элементов защищаемого контента могут быть компактно размещены в запоминающем устройстве мобильного устройства. Это позволяет использовать один относительно простой агент принудительного выполнения защиты в мобильном устройстве для обеспечения множества или всех потребностей для DRM.
Обычно надежная защита DRM может вызвать задержку, ограничения использования или другие неудобства, которые могут влиять на восприятие клиентом. Например, требование вызова данных по беспроводному каналу в сети обслуживающего провайдера для получения защищенного времени улучшает схему защиты DRM, но приводит к задержке доступа клиента к защищенному контенту. Кроме того, время, необходимое для беспроводной передачи данных с тем, чтобы получить защищенное время, может подразумевать дополнительные затраты, которые не приемлемы для клиента, особенно если каждый доступ к защищенному контенту требует такого телефонного вызова, обращение выполняют часто, и клиент должен подтверждать каждый вызов для получения времени. Для улучшения восприятия клиента, политика, генерируемая разными параметрами, может потребовать доступа к защищенному времени только, например, вначале, когда включают питание мобильного устройства.
В следующих разделах описаны варианты осуществления с определенными параметрами, примеры политики, на основе комбинаций значений параметров и процедуры для принудительного выполнения политики, отличающейся определенной комбинацией значений параметров. Конкретные описанные параметры представлены только с целью иллюстрации и не предназначены для ограничения объема изобретения или формулы изобретения.
На Фиг. 1A иллюстрируется вариант осуществления системы, в которой могут работать основанные на времени лицензии. Сеть 201 обслуживающего провайдера поддерживает беспроводную голосовую связь и/или передачу данных. Сеть 201 обслуживающего провайдера может использовать CDMA, GSM, Универсальную систему мобильной связи (UMTS), или другие технологии беспроводной связи. Двунаправленная радиосвязь между мобильными устройствами 100, 200 и сетью 201 обслуживающего провайдера происходит через базовые станции 205. Сеть 201 обслуживающего провайдера может иметь доступ к источнику 202 защищенного времени, который является надежным, точным и доступным для мобильных устройств 100, 200, через сеть 201 обслуживающего провайдера.
Пример мобильного устройства 100 более подробно иллюстрируется на Фиг. 1B. Мобильное устройство 100 может включать в себя радиоинтерфейс 101, защищенные часы 102, процессор 110 инструкций и запоминающее устройство 111, элементы, которые могут быть воплощены в виде аппаратных средств, программных средств или их комбинаций. Интерфейс 101 передачи по радиоканалу может представлять собой интерфейс CDMA, интерфейс GSM, многорежимный интерфейс, поддерживающий CDMA и GSM, или будущую производную одного из этих интерфейсов беспроводной связи. Защищенные часы 102 могут предоставлять собой локальный источник защищенного времени. Мобильное устройство 100 может надежно обновлять локальные защищенные часы 102, время от времени используя системный надежный источник 202 времени, доступ к которому может осуществляться через сеть 201 обслуживающего провайдера. Процессор 110 инструкции может представлять собой один или больше микропроцессоров, микроконтроллеров, процессоров цифровых сигналов (DSP, ПЦС), специализированных интегральных схем (ASIC, СИМС), или любую их комбинацию. В запоминающее устройство 111 можно обращаться с использованием процессора 110 инструкции, как к источнику инструкций процессора и/или данных. Запоминающее устройство 111 может включать в себя любую комбинацию оперативного запоминающего устройства (RAM), постоянного запоминающего устройства (ROM), запоминающего устройства типа флэш, программируемого постоянного запоминающего устройства (PROM), стираемого электронно-программируемого запоминающего устройства (EEPROM), стираемого постоянного запоминающего устройства (EPROM), запоминающего устройства на основе привода диска или тому подобное. Процессор 110 инструкции может включать в себя аппаратное средство, которое позволяет управлять доступом к радиоинтерфейсу 101 с защищенными часами 102 для одного или больше участков запоминающего устройства 111, и/или другим ресурсам мобильного устройства 100, таким как модули ввода/вывода.
В запоминающем устройстве 111 могут быть сохранены инструкции, выполняемые процессором 110 инструкции и/или цифровые данные, к которым обращаются инструкции, выполняемые процессором 110 инструкций. Инструкции и данные могут включать в себя операционную систему (OS) 103, агент 104 принудительного выполнения лицензии, параметры 105 лицензии, одну или больше прикладных программ 106 и элементы защищенного контента 107, 108. Операционная система 103 представляет собой набор инструкций для управления основной операцией мобильного устройства 100. Операционная система 103 может управлять доступом клиента к определенным защищенным участкам запоминающего устройства 111, содержащим значения 105 параметра лицензии и/или один или больше элементов защищенного контента 107, 108, сохраняемых в запоминающем устройстве 111. Сама по себе операционная система 103 должна быть защищенной (то есть устойчивой к внешним воздействиям) со стороны клиента для обеспечения защиты защищенного контента 107, 108. Здесь может быть предусмотрен отдельный набор значений параметра лицензии для каждого элемента защищенного контента 107, 108. В альтернативном варианте выполнения один набор значений параметра может относиться к более чем одному элементу защищенного контента 107, 108. Операционная система 110 может предоставлять для агента 104 выполнения лицензии привилегированный доступ к определенным защищенным участкам запоминающего устройства 111, такой как привилегированный доступ к параметрам 105 лицензии. Выполнение одной или больше прикладных программ 106 может осуществляться под управлением операционной системы 103, включая в себя, следует ли выполнить прикладную программу 106. Операционная система 103 также может управлять возможностью доступа приложения 106 к аппаратным ресурсам и запоминающему устройству 111. Например, операционная система 103 может управлять аппаратными средствами в процессоре 110, который динамически ограничивает различные блоки непрерывных адресов запоминающего устройства 111, как исполнительные, предназначенные для считывания и записи, предназначенные только для считывания или недоступные.
Другой пример мобильного устройства 200, которое не включает в себя защищенные локальные часы, иллюстрируется на Фиг. 1C. Мобильное устройство 200, показанное на Фиг. 1B, включает в себя элементы, которые функционируют аналогично элементам мобильного устройства 100, показанного на Фиг. 1B. Без локальных защищенных часов или их эквивалента мобильное устройство 200 не имеет локального источника защищенного времени. Мобильное устройство 200, однако, может быть выполнено с возможностью получения защищенного времени путем размещения вызова данных в сети 201 обслуживающего провайдера через радиоинтерфейс 101, под управлением программных инструкций, сохраняемых в запоминающем устройстве 111, которые выполняют в процессоре 110 инструкции.
Такой вызов данных может быть выполнен различными способами. Мобильное устройство 200 может размещать вызов сотового телефона для определенного номера, который может устанавливать канал передачи данных с защищенным источником времени, для получения данных защищенного времени в виде пакета данных беспроводной передачи. В качестве альтернативы, мобильное устройство 200 может открыть браузер и установить соединение с защищенным источником времени через беспроводный канал передачи данных через Интернет, подключаясь к защищенному источнику времени путем доступа к IP-адресу источника. В качестве третьей альтернативы, вызов данных может быть достигнут путем передачи специального SMS (СКС, служба коротких сообщений) сообщения по адресу, который может возвратить защищенное время, и ожидания ответного SMS сообщения. Каждым из этих альтернативных способов вызова защищенного источника времени можно управлять с помощью радиоинтерфейса 101, как выполняют управление программными инструкциями, сохраняемыми в запоминающем устройстве 111, выполняемыми в процессоре 110 инструкций. Приведенные здесь ссылки на "вызов данных" предназначены для охвата каждой из этих альтернатив и любых других беспроводных каналов передачи данных, которые может установить мобильное устройство с защищенным источником времени.
Защищенное время, которое сеть 201 обслуживающего провайдера возвращает как часть вызова данных, должно быть защищенным, а также должна обеспечиваться невозможность вмешательства клиента в принимаемое время. Операционная система 103 может принудительно обеспечивать защиту вызываемых данных, или возвращаемого защищенного времени, как данных, получаемых при вызове данных. Например, защита защищенного времени может быть обеспечена путем аутентификации данных при вызове данных. Аутентификация данных времени может быть достигнута путем включения цифровой подписи или хеш-функции на основе кода аутентификации сообщения (HMAC, ХКАС) с данными времени, используя эти известные способы аутентификации. Кроме того, данные времени могут быть зашифрованы с использованием хорошо известных способов шифрования. В качестве альтернативы, операционная система 103 может исключать для клиента возможности перехвата или выполнения манипуляций с защищенным временем, возвращаемым при вызове данных. Например, операционная система 103 может предотвращать доступ клиента к вызову данных (непосредственно или опосредованно) через команды или ввод в любую прикладную программу 106 или через нормальные функции мобильного устройства 200, доступные для клиента.
Любое количество мобильных устройств может быть связано с сетью 201 обслуживающего провайдера через одну или больше базовых станций 205. Для упрощения описания различных вариантов выполнения будет сделана ссылка на мобильное устройство 100 и мобильное устройство 200, которые представляют два класса мобильных устройств: один класс (мобильные устройства 100), имеющий защищенные часы, и другой класс (мобильные устройства 200), в котором отсутствуют защищенные часы.
Элементы защищенного контента 107, 108 защищены политиками лицензии, характеризуемыми сохраненным набором значений 105 параметра лицензии. Значения 105 параметра могут быть сохранены в защищенном участке запоминающего устройства 111, который не доступен для клиента через опции меню или нормальную функцию мобильного устройства. Таким образом, клиент не может модифицировать значения 105 параметра для отмены положений политики лицензии, отличающихся значениями 105 параметра. При этом параметры 105 лицензии считаются защищенными от вмешательства клиента.
Доступом к защищенному контенту 107, 108 можно управлять с помощью агента 104 принудительного выполнения, который может быть воплощен в виде аппаратных средств, встроенного программного обеспечения, программных средств и/или их комбинации. Сеть 201 обслуживающего провайдера может модифицировать значения параметра, например, через вызов защищенных данных между мобильным устройством 100, 200 и сетью 201 обслуживающего провайдера, в котором данные передают в операционную систему 103 или в агент 104 принудительного выполнения лицензии, который работает в мобильном устройстве 100, 200. Агент 104 принудительного выполнения также должен быть выполнен с возможностью защиты от вмешательства недобросовестного пользователя. Например, агент 104 принудительного выполнения может передавать инструкции в процессор 110, сохраненный в защищенном участке запоминающего устройства 111.
Основная задача агента 104 принудительного выполнения состоит в проверке того, что доступ к элементу защищенного контента 107, 108 будет авторизованным в соответствии с политикой лицензирования, в соответствии с которой описаны значения параметра лицензии. Агент 104 принудительного выполнения обычно работает в привилегированном состоянии защищенного процессора и имеет доступ, по меньшей мере, к некоторому защищенному участку запоминающего устройства 111, в частности к запоминающему устройству, содержащему значения 105 параметра лицензии, для защиты контента 107, 108. Контент значений параметра лицензии в защищенном участке запоминающего устройства 105 необходим для предотвращения модификации нечестным пользователем значений параметра лицензии, для обхода защиты одного или больше элементов защищенного контента 107, 108. Для самого агента 104 принудительного выполнения может не потребоваться доступ к защищенному контенту 107, 108.
В то же время, прикладная программа обычно работает в условиях ограниченного набора привилегий, назначенных операционной системой 103, и поэтому не может обращаться к значениям параметра 105 лицензии в защищенном участке запоминающего устройства 111. Прикладная программа может быть выполнена с возможностью доступа к защищенному контенту 107, 108, но только после того, как значение 105 параметра лицензии, ассоциированное с защищенными контента 107, 108, будет вначале использовано агентом 104 принудительного выполнения, для подтверждения того, что доступ к защищенному контенту 107, 108 является авторизованным. Если агент 104 принудительного выполнения определяет, что значения 105 параметра лицензии описывают лицензию, которая больше не является действительной, доступ к защищенному контенту 107, 108 блокируют. Если агент 104 принудительного выполнения обеспечивает возможность доступа к защищенному контенту 107, 108, он может проинформировать операционную систему об этом, чтобы обеспечить возможность временного доступа для прикладной программы 106 к защищенному контенту 107, 108.
Пример агента 104 принудительного выполнения представляет собой систему BREW компании Qualcomm. Приложение на основе BREW, например, может иметь цифровую подпись (Qualcomm или провайдера контента) с привилегиями, требуемыми для доступа к требуемым ресурсам. Поэтому приложение может обращаться только к ресурсам, доступным в соответствии с этими привилегиями. При этом BREW может исключать доступ со стороны приложения для записи в запоминающее устройство параметров политики и исключать доступ всех приложений к защищенному контенту, содержащемуся в запоминающем устройстве, по меньшей мере, первоначально.
Агент 104 принудительного выполнения может требовать выполнить доступ к защищенным часам 102, если такие существуют. Защищенное время, предпочтительно, содержится в устройстве, но, по меньшей мере, устройство выполнено с возможностью получения или обновления времени по требованию всякий раз, когда может быть установлено соединение с сетью и защищенное время доступно, из источника 202 защищенного времени. Политика лицензии, принудительно выполняемая агентом 104 принудительного выполнения, может описывать различные случаи, предписывающие как следует реагировать, если защищенное время не доступно, и когда устройство находится в зоне обслуживания, за пределами зоны обслуживания или в роуминге.
В таблице, показанной на Фиг. 2, представлены примеры параметров лицензии, их возможные значения и краткие описания этих параметров. При этом не предполагается, что Фиг. 2 является исчерпывающей, но представляет собой всего лишь иллюстрацию для показа потенциальных параметров, которые можно использовать для определения или описания схемы лицензирования. Первый параметр, идентифицированный на Фиг. 2, представляет собой ExpirationDate, который может представлять собой дату и/или время суток, когда происходит истечение срока действия лицензии, в соответствии с обычной политикой, основанной на времени DRM. Такое значение аналогично датам или времени истечения в обычных файлах данных основанной на времени лицензии DRM.
Второй параметр, показанный на Фиг. 2, представляет собой TimeCallAtAccess. Этот параметр может определять, должен или нет агент 104 принудительного выполнения лицензии вначале успешно получить защищенное время из источника 202 защищенного времени, например, используя вызов данных, перед доступом к защищенному контенту (например, 107, 108). Конечно, внутренние защищенные часы 102 составляют защищенный источник времени, поэтому, если защищенные часы будут доступны и правильно поддерживаются (даже защищенные безопасные часы иногда требуют ввода из внешнего источника, особенно, если обновления выполняют нечасто), то такой вызов данных будет ненужным. В случае, когда требуется, чтобы мобильное устройство 200 выполнило вызов данных для поиска защищенного времени (например, устройство не имеет защищенных внутренних часов 102 и TimeCallAtAccess = "1"), клиент может быть поставлен в неудобное положение из-за задержки в доступе к защищенному контенту, вызванной мобильным устройством 200, которое размещает вызов данных из дистанционного источника защищенного времени 202. В то время как такая задержка может представлять неудобство для клиента и может ухудшить восприятие пользователя/клиента, такие меры могут быть необходимыми для обеспечения надежной защиты защищенного контента от мошеннического использования. В соответствии с основанной на времени лицензией, дату/время истечения срока, ExpirationDate, сравнивают с защищенным временем, полученным из защищенного источника времени, для определения, является ли доступ авторизованным, прежде чем может быть продолжено предполагаемое действие.
Провайдерам услуг может быть желательным обеспечивать для клиентов возможность продолжать доступ к контенту с защищенным использованием на ограниченной основе, даже несмотря на то, что защищенное время может быть временно недоступным для мобильного устройства 200. В случаях, когда мобильное устройство 200 клиента находится в пределах зоны 201 обслуживания сети обслуживающего провайдера, но неспособно получить доступ к защищенному времени из источника 202 защищенного времени (то есть находится в зоне обслуживания), клиенту может быть разрешено ограниченное количество доступов "льготного периода" к защищенному контенту. Например, посетителей часто просят выключать сотовые телефоны, когда они находятся в больнице. В качестве другого примера, от пассажиров авиалиний требуют отключить передатчик мобильных устройств 200, в то время как самолет находится в полете. Кроме того, мобильные устройства 200 могут не иметь возможности принимать сигналы из сети 201 обслуживающего провайдера, когда они находятся внутри некоторых зданий или в системе метро. В качестве дополнительного примера, используя лицензию с "льготным периодом", клиенту в каждой из этих ситуаций все еще может быть разрешено использовать лицензированные игры, музыку, видеоданные, приложения и т.д., работающие в мобильном устройстве 200, даже при выключении функций беспроводной связи. В этих примерах, хотя мобильное устройство 200 может находиться в пределах зоны обслуживания сети 201 обслуживающего провайдера, мобильное устройство 200 не может обратиться к защищенному времени из источника 202 защищенного времени, поскольку функции беспроводной связи отключены, или сигналы блокированы структурой. В качестве альтернативы, в случаях, когда устройство беспроводной передачи находится за пределами зоны охвата такой сети 201 обслуживающего провайдера, защищенное время из защищенного источника времени может быть недоступным, независимо от того, разрешена ли беспроводная функция или нет. В обоих случаях для клиентов может быть разрешен ограниченный доступ к защищенному контенту.
Параметр InCoverageUseLimit, показанный на Фиг. 2, представляет собой параметр, который определяет предельное количество (или время) использования в течение "льготного периода" для ситуации, когда мобильное устройство 200 находится в такой зоне обслуживания. Такой параметр льготного периода при работе в зоне обслуживания может иметь неотрицательное целочисленное значение М, для представления максимального количества раз доступа к защищенному контенту, в то время как мобильное устройство 200 находится внутри сети 201 обслуживания обслуживающего провайдера, но мобильное устройство 200 неспособно успешно выполнять поиск или проверять время из защищенного источника времени.
Параметр OutCoverageUseLimit, показанный на Фиг. 2, представляет собой аналогичный параметр, который определяет предельное количество (или время) использования в течение "льготного периода" для ситуации, когда мобильное устройство 200 находится за пределами зоны обслуживания (то есть вне зоны обслуживания). Такой параметр льготного периода за пределами зоны обслуживания может иметь неотрицательное значение N для представления максимального количества раз, которое может обращаться к защищенному контенту, когда мобильное устройство 200 находится за пределами зоны обслуживания сети 201 обслуживающего провайдера, и мобильное устройство 200 не имеет возможности успешно получить или проверить время из защищенного источника времени.
В основанной на времени лицензии, характеризуемой параметрами InCoverageUseLimit и OutCoverageUseLimit, счетчик доступа в течение льготного периода агента 104 принудительного выполнения отслеживает количество раз доступа к защищенному контенту, в то время как защищенное время недоступно. Могут использоваться отдельные счетчики для подсчета количества раз доступа, выполненного без доступного защищенного времени, при нахождении внутри зоны обслуживания и за пределами зоны обслуживания. Каждый раз, когда происходит доступ к защищенному контенту, в то время как защищенное время недоступно, значение М или N, соответственно, можно сравнивать с ассоциированным счетчиком льготного периода для определения, будет ли авторизован доступ. Также можно использовать отдельные счетчики доступа при нахождении в зоне обслуживания и за пределами зоны обслуживания во время льготного периода для каждого отдельного элемента защищенного контента. Другими словами, отдельный счетчик льготного периода может увеличивать величину подсчета для каждой песни, игры, видеоизображения или прикладной программы, доступ к которым осуществляется, когда защищенное время недоступно. В качестве альтернативы, один счетчик может быть выполнен для подсчета количества раз, когда клиент получает доступ к любому типу защищенного контента.
После запроса клиентом доступа к защищенному контенту (например, 107, 108) агент 104 принудительного выполнения сравнивает величину подсчета в соответствующем счетчике льготного периода с соответствующим предельным значением М или N. Если величина подсчета равна или превышает предельное значение (то есть М или N), агент 104 принудительного выполнения запрещает доступ к защищенному контенту. В противном случае, агент принудительного выполнения последовательно увеличивает величину подсчета в соответствующем счетчике льготного периода и разрешает продолжить доступ к защищенному контенту. Таким образом, когда защищенное время недоступно, клиенту разрешено использовать ограниченное количество доступов к защищенному контенту. Как только количество попыток доступа превысит заданный предел, дальнейший доступ запрещают до тех пор, пока защищенное время не будет доступным из источника защищенного времени.
Благодаря предоставлению отдельных пределов (М и N) и счетчиков для ситуаций доступа в пределах зоны обслуживания и за пределами зоны обслуживания, лицензиары могут предлагать более гибкие политики DRM, чем было бы возможно, если бы существовал только один предел и один счетчик. Например, лицензиар может делать предположения о том, почему защищенное время не может быть доступным, и может создавать основанные на времени политики лицензии для того, чтобы различать возможные причины недоступности. Например, если разработчик политики лицензии предполагает, что клиент может преднамеренно экранировать мобильное устройство 200 так, чтобы оно выглядело как находящееся за пределами зоны обслуживания внешней сети 201 обслуживающего провайдера, после истечения срока действия лицензии, политика DRM может быть создана так, чтобы ограничить количество доступов к защищенному контенту, охватываемому лицензией. Если создатель политики озабочен тем, что мобильное устройство 200, находящееся в пределах зоны обслуживания, не может надежно получить доступ к удаленному источнику 202 защищенного времени, политика может быть установлена так, чтобы обеспечить большее количество доступов для использования защищенного контента.
Альтернативные варианты осуществления могут предоставлять один предел льготного периода и ассоциированный счетчик для подсчета количества обращений, которые используются каждый раз, когда защищенное время недоступно, независимо от того, находится ли устройство 200 мобильное клиента в зоне обслуживания или за пределами зоны обслуживания.
В варианте выполнения различные счетчики льготного периода могут быть сброшены всякий раз, когда защищенное время снова становится доступным после периода (определенного количества обращений к защищенному контенту), в течение которого защищенное время не было доступно. Как только защищенное время становится доступным, агент 104, 204 принудительного выполнения может определять, являются ли условия соответствующих лицензий все еще действительными, и не истекли ли сроки их действия. Если сроки их действия не истекли, агент 104, 204 принудительного выполнения может соответствующим образом выполнить сброс счетчиков льготного периода.
Если защищенное время становится доступным и если агент 104, 204 принудительного выполнения определяет, что текущее время прошло дату срока действия, то есть срок действия лицензии истек, агент 104 принудительного выполнения может недвусмысленно деактивировать или даже удалить используемый защищенный контент (например, 107, 108) и/или параметры лицензии (например, 105, 205) из запоминающего устройства 110. В качестве альтернативы, агент 104 принудительного выполнения может модифицировать параметры (105, 205) политики лицензии, для которой обнаружено, что срок действия истек, таким образом, что к ассоциированному контенту (107, 108) нельзя будет обратиться ни при каких условиях, ни в зоне обслуживания, ни за пределами зоны обслуживания. Например, предотвращение любого дальнейшего доступа может быть выполнено путем установки значений M и N, равными нулю. Всякий раз, когда клиент пытается обратиться к защищенному контенту (107, 108), мобильное устройство 100, 200 может уведомлять клиента о такой ситуации и также стимулировать клиента обновить лицензию. Обслуживающий провайдер может даже предоставлять для клиента способ обновления лицензии и загружать обновленные параметры лицензии.
Другой параметр, представленный на Фиг. 2, представляет собой UselnCoverageForRoaming, который может иметь значение TRUE или FALSE для раздельного реагирования на ситуацию, когда мобильное устройство находится в режиме роуминга, и защищенное время не доступно. Предоставляя отдельный параметр лицензии для роуминга, лицензиары получают возможность реагировать на общие ситуации, когда лицензиаты перемещаются и, таким образом, сталкиваются с более высокими тарифами за время доступа к радиоканалу из места вызова данных до источника защищенного времени. Вместо наложения более высоких тарифов на лицензиаров, лицензия DRM может быть выполнена так, чтобы разрешить ситуацию, как ситуацию в пределах зоны обслуживания или в ситуацию за пределами зоны обслуживания. Когда используется этот параметр, если значение параметра равно TRUE, часть, работающая для зоны обслуживания политики, применяется, когда мобильное устройство находится в режиме роуминга, и защищенное время не доступно. Следовательно, когда мобильное устройство находится в режиме роуминга, агент 104 принудительного выполнения будет исполнять политики использования, как если бы мобильное устройство находилось в зоне обслуживания, но защищенное время было недоступно (например, функция беспроводной связи отключена), используя параметр М InCoverageUseLimit для ограничения использования. В качестве альтернативы, если значение параметра установлено как FALSE, применяют политику для работы за пределами зоны обслуживания, когда мобильное устройство находится в режиме роуминга, и защищенное время не доступно, используя, таким образом, параметр N OutCoverageUseLimit. В качестве альтернативы, третий предел льготного периода (например, RoamCoverageUseLimit) и ассоциированный счетчик величины подсчета доступа (например, RoamUsesRemaining) могут быть установлены для предоставления специфичных условий лицензии для ситуации, в которой мобильное устройство 200 находится в роуминге. В другом варианте выполнения RoamCoverageUseLimit может использоваться вместо параметра UselnCoverageForRoaming.
Последний параметр, представленный на Фиг. 2, TimeCallAtStartup, который может иметь значения TRUE или FALSE, может быть предусмотрен для указания, должно ли мобильное устройство пытаться получать защищенное время, когда устройство включено. Если этот параметр установлен как TRUE, агент 104 принудительного выполнения должен получать защищенное время при включении, прежде чем может быть разрешен доступ к защищенному контенту. Вызов данных во время включения мобильного устройства 100 может потребоваться, поскольку защищенные часы 102 в мобильном устройстве 100 могут потерять отслеживание времени, в то время как питание было выключено, или защищенное время может стать ненадежным при отключенном питании.
Агент 104 принудительного выполнения может инициировать вызов данных для получения защищенного времени путем передачи сообщения со специальными данными, такого как текстовое SMS сообщение, через операционную систему 103, процессор 110 и радиоинтерфейс 101, через сеть 201. Сообщение со специальными данными может быть адресовано в источник 202 защищенного времени и может иметь специфичный формат, который источник 202 защищенного времени распознает как запрос на предоставление защищенного времени. В ответ на сообщение из агента 104 принудительного выполнения источник 202 защищенного времени может передать ответное SMS сообщение в агент 104 принудительного выполнения, который содержит защищенное время, в полезной нагрузке данных сообщения SMS. Само ответное сообщение может использовать определенную форму защиты для поддержания защиты защищенного времени. Ответное сообщение может быть защищено путем шифрования и аутентификации данных, содержащихся в ответном сообщении. Когда агент 104 принудительного выполнения принимает защищенное время, это защищенное время можно использовать для обновления защищенных часов 102.
Параметр TimeCallAtStartup отличается от других параметров лицензии, которые применяют "по требованию" (то есть в момент, когда запрашивается доступ к защищенному контенту). Если параметр лицензии TimeCallAtStartup имеет значение true для любой из политик лицензии или для политик лицензии, представленных всеми параметрами 105 лицензии в запоминающем устройстве 111, тогда агент 104 принудительного выполнения должен получить защищенное время сразу же после включения питания мобильного устройства 100, 200. Использование параметра лицензии TimeCallAtStartup не является взаимно исключающим с другими параметрами лицензии, и его можно использовать совместно с другими параметрами для повышения надежности лицензии DRM. Поскольку TimeCallAtStartup может иметь значение true для определенных политик лицензии защищенного контента, но не для всех, агенту 104 принудительного выполнения может потребоваться просканировать все параметры 105 лицензии в запоминающем устройстве 111 сразу после включения питания мобильного устройства 100, 200. Если параметр лицензии TimeCallAtStartup имеет значение true, по меньшей мере, для одной политики лицензии, тогда агент 104 принудительного выполнения должен проверить внутренний источник защищенного времени, и если он отсутствует, поместить вызов данных для попытки получения защищенного времени из источника 202 защищенного времени. Процедура сканирования параметров 105 лицензии для проверки истинного значения TimeCallAtStartup, раскрыта ниже со ссылкой на Фиг. 6 и 6a.
Выполнение параметра TimeCallAtStartup может ухудшить впечатление пользователя/клиента, поскольку приводит к тому, что клиент испытывает задержку во время включения из-за требования, чтобы мобильное устройство 200 без внутреннего защищенного источника времени выполнило вызов данных для получения защищенного времени. Кроме того, клиент/пользователь может быть сбит с толку тем, почему требуется вызов данных, когда не было сделано никакого запроса на доступ к защищенному контенту. Однако такие меры могут рассматриваться как необходимые некоторыми провайдерами лицензии для обеспечения надежности защиты защищенного контента от мошеннического использования. Хотя вызов данных при включении может рассматриваться как навязчивый и раздражающий для пользователя/клиента, одиночный вызов данных во время включения может быть менее навязчивым или раздражающим, чем требование выполнять вызов данных каждый раз при запросе доступа к защищенному контенту. Требование как вызова данных во время включения, так и вызова данных при каждом запросе доступа могло бы усилить механизмы защиты, но за счет впечатления пользователя.
Простое назначение значений для небольшого количества параметров, таких как параметры, представленные на Фиг. 2, можно охарактеризовать как гибкую основанную на времени лицензию, которую можно использовать для уравновешивания защиты по отношению к воздействию на впечатления пользователя. На Фиг. 3 представлено, как различные комбинации значений потенциальных параметров по Фиг. 2 могут характеризовать диапазон политик. Выбранные примеры политики будут описаны ниже с целью иллюстрации.
Политика 1, показанная на Фиг. 3, представляет собой пример политики лицензии, в которой значение TimeCallAtAccess равно TRUE, требуя, таким образом, получение агентом 104 принудительного выполнения защищенного времени всякий раз, когда запрашивают доступ к защищенному контенту. Кроме того, политика 1 разрешает нулевое количество попыток доступа во время льготного периода, когда мобильное устройство 200 находится в зоне обслуживания сети 201 обслуживающего провайдера или за пределами зоны обслуживания сети 201 обслуживающего провайдера. При этом не имеет значение, эмулирует или нет роуминг случай нахождения в зоне обслуживания, поскольку в любом случае нулевое количество попыток доступа разрешено в течение льготного периода. Таким образом, UselnCoverageForRoaming может иметь значение либо TRUE, или FALSE. Политика 1 также включает в себя значение TimeCallAtStartup, равное TRUE, что требует, чтобы агент 104 принудительного выполнения получал защищенное время во время включения мобильного устройства 100, 200. При таких установках параметров лицензии DRM клиент может получать доступ к защищенному контенту, ассоциированному с лицензией только, когда доступно защищенное время. Следовательно, защита от злоупотреблений или уровень ограничений рассматривается как находящаяся среди самой строгих политик. Однако такая защита обеспечивается за счет впечатлений пользователя. Если мобильное устройство 200 не включает в себя источник защищенного времени, политика требует частых вызовов данных для получения защищенного времени, и доступ к контенту будет отклонен каждый раз, когда приемопередатчик будет выключен или мобильное устройство будет находиться за пределами зоны обслуживания.
Политика 2 на Фиг. 3 представляет собой пример политики лицензии, в которой значение TimeCallAtAccess представляет собой TRUE, требуя, таким образом, чтобы агент 104 принудительного выполнения получал защищенное время всякий раз, когда требуется доступ к защищенному контенту. Если защищенное время недоступно и мобильное устройство 200 находится в пределах зоны обслуживания, политика 2 разрешает нулевое количество попыток доступа в течение льготного периода. Однако если защищенное время недоступно и мобильное устройство 200 находится за пределами зоны обслуживания, политика 2 разрешает N попыток доступа в течение льготного периода. Политика также включает в себя параметр UselnCoverageForRoaming, имеющий значение TRUE, таким образом, когда мобильное устройство 200 находится в режиме роуминга, политика следует условиям нахождения внутри зоны обслуживания, а именно не разрешает доступ в течение льготного периода. Политика 2 не требует, чтобы агент 104 принудительного выполнения получал защищенное время, когда мобильное устройство 100, 200 включают. При таких установках параметров защита от злоупотреблений рассматривается как "сильная", что несколько меньше, чем защита от злоупотреблений, обеспечивающая политику 1. Пониженный уровень эффективности связан с тем, что клиенту разрешено получить некоторое количество обращений к защищенному контенту, даже если защищенное время недоступно. Кроме того, политика 2 не требует дополнительного вызова данных во время включения. Однако уровень защиты считается сильным, поскольку величина N мала, таким образом, количество разрешенных попыток доступа во время льготного периода мало. По тем же причинам впечатление пользователя улучшается от "очень плохого" до "плохого".
Политика 3, показанная на Фиг. 3, представляет собой пример политики лицензии, в которой значение TimeCallAtAccess представляет собой TRUE, требуя, таким образом, чтобы агент 104 принудительного выполнения получал защищенное время всякий раз, когда требуется доступ к защищенному контенту. Если защищенное время недоступно и мобильное устройство 200 находится в пределах зоны обслуживания, политика 3 разрешает нулевое количество попыток доступа в течение льготного периода. Если защищенное время недоступно и мобильное устройство 200 находится за пределами зоны обслуживания, политика 3 разрешает максимум N попыток доступа в течение льготного периода. Однако, в отличие от политики 2, N представляет собой большое число, обеспечивая, таким образом, большое количество попыток использования в течение льготного периода за пределами зоны обслуживания. Политика 3 требует, чтобы агент 104 принудительного выполнения получал защищенное время при включении мобильного устройства 100, 200. В политике 3 уровень защиты рассматривается как "нормальный", поскольку политика 3 открыта для злоупотреблений, если клиент преднамеренно остается за пределами зоны обслуживания, чтобы использовать преимущество большого количества разрешенных попыток для льготного периода. При таких параметрах лицензии ощущения пользователя считаются "очень плохими", поскольку требуется вызов данных при включении мобильного устройства 200, и вызов данных при доступе к защищенному контенту запрашивают для мобильных устройств, которые не включают в себя внутренние источники защищенного времени.
Политика 4 практически идентична политике 3, но не требует запроса данных для защищенного времени при включении. При этом уровень защиты политики 4 считается "нормальным" (но несколько ниже, чем у политики 3). Однако ощущения пользователя/клиента улучшаются от "очень плохих" до "плохих", в значительной степени, из-за отсутствия вызова данных во время включения.
Политика 5 представляет собой пример политики лицензии, при которой TimeCallAtAccess имеет значение TRUE, требуя, таким образом, чтобы агент 104 принудительного выполнения запрашивал защищенное время всякий раз, когда требуется доступ к защищенному контенту. Если защищенное время недоступно и мобильное устройство 200 находится в пределах зоны обслуживания, политика 5 разрешает М попыток доступа в течение льготного периода. Если защищенное время недоступно и мобильное устройство 100, 200 находится за пределами зоны обслуживания, политика 5 разрешает N попыток доступа в течение льготного периода. В политике 5 число М установлено как малая величина, в то время как N установлено как большая величина. Параметр UselnCoverageForRoaming имеет значение TRUE, в связи с этим, когда мобильное устройство 100, 200 находится в режиме роуминга, политика эмулирует случай нахождения внутри зоны обслуживания, а именно разрешает М попыток доступа в течение льготного периода. Если мобильное устройство 200 находится за пределами зоны обслуживания, доступ к контенту может быть практически бесконечным, поскольку значение N велико. Параметр TimeCallAtStartup имеет значение TRUE, таким образом, политика 5 требует, чтобы агент 104 принудительного выполнения получал защищенное время при включении мобильного устройства 100, 200. Когда используют такие установки параметров, защита в политике 5 считается "нормальной". В то время как политика 5 получает преимущества из-за требования вызова данных для получения защищенного времени во время включения и при каждом случае запроса, клиенту предоставляется определенное количество попыток доступа в течение льготного периода, когда мобильное устройство 100, 200 находится либо в сети, либо за пределами сети. Благодаря такому разрешенному количеству попыток в течение льготного периода, уровень защиты понижается до "нормального". Ощущение пользователя от политики 5 рассматривается как "очень плохое", поскольку политика 5 все еще требует множественных вызовов данных, если в мобильном устройстве 200 отсутствует внутренний источник защищенного времени. Кроме того, количество попыток в течение льготного периода, когда мобильное устройство 100, 200 находится в сети, мало. Малое количество значений М накладывает ограничения для пользователя всего несколькими попытками доступа к защищенному контенту, когда он находится в зоне обслуживания.
Политика 6 представляет собой пример политики лицензии, аналогичной политике 5, но не требует вызова данных для получения защищенного времени во время включения устройства. При этом уровень защиты политики 6 рассматривается как "нормальный" (но несколько меньше, чем у политики 5). Однако впечатления пользователя/клиента улучшаются от "очень плохих" до "нормальных", в значительной степени, за счет отсутствия вызова данных при включении устройства.
Политика 7 представляет собой пример политики лицензии, при которой значение TimeCallAtAccess представляет собой TRUE, требуя, таким образом, чтобы агент 104 принудительного выполнения получал защищенное время всякий раз, когда требуется доступ к защищенному контенту. Если защищенное время недоступно и мобильное устройство 200 находится в пределах зоны обслуживания, политика 7 разрешает максимум М попыток доступа в течение льготного периода. Если защищенное время недоступно и мобильное устройство 100, 200 находится за пределами зоны обслуживания, политика 7 разрешает не более N попыток доступа в течение льготного периода. В политике 7, М и N установлены как большие значения. При этом находится ли мобильное устройство 100, 200, в роуминге или нет, не имеет особого значения, поскольку как М, так и N имеют большие значения. Политика 7 также устанавливает значение TimeCallAtStartup как FALSE, устраняя, таким образом, необходимость вызова данных во время включения. При таких установках параметров уровень защиты рассматривается как "нормальный", но политика открыта для злоупотреблений в течение длительных периодов, если пользователь специально делает невозможным вызов данных. Поскольку значения М и N велики, ощущения пользователя считаются "нормальными".
Политика 8 представляет собой пример политики лицензии, в которой TimeCallAtAccess имеет значение FALSE, в связи с чем агент 104 принудительного выполнения не должен получать защищенное время всякий раз, когда требуется доступ к защищенному контенту. Если защищенное время недоступно и мобильное устройство 200 находится в пределах зоны обслуживания, политика 8 разрешает нулевое количество попыток доступа в течение льготного периода. Если защищенное время недоступно и мобильное устройство 200 находится за пределами зоны обслуживания, политика 8 разрешает максимум N попыток доступа в течение льготного периода, и значение N мало. UselnCoverageForRoaming установлено как true, поэтому, когда мобильное устройство 100, 200 находится в режиме роуминга, политика эмулирует условия нахождения внутри зоны обслуживания. Политика 8 требует, чтобы агент 104 принудительного выполнения получал защищенное время только при включении мобильного устройства 100, 200. При использовании таких установок параметра, защита при политике 8 считается "сильной" и она открыта для злоупотреблений только в течение ограниченного времени, поскольку величина N мала. Поскольку политика 8 все еще требует вызова при включении и разрешает только ограниченное количество попыток доступа во время льготного периода, когда мобильное устройство 100, 200 находится за пределами сети, впечатление пользователя считается "очень плохим".
Политика 9 представляет собой пример политики лицензии, аналогичной политике 8, но при этом больше не требует вызова данных при включении устройства. В результате, уровень защиты снижается от "сильного" до "очень хорошего", но ожидаемое впечатление пользователя улучшается от "очень плохого" до "плохого". Это связано, в значительной степени, с отсутствием необходимости вызова данных.
Политика 10 представляет собой пример политики лицензии, в которой значение TimeCallAtAccess равно FALSE, поэтому агент 104 принудительного выполнения не должен получать защищенное время всякий раз, когда требуется доступ к защищенному контенту. Если защищенное время недоступно и мобильное устройство 200 находится в пределах зоны обслуживания, политика 10 разрешает максимум М попыток доступа в течение льготного периода. Если защищенное время недоступно и мобильное устройство 200 находится за пределами зоны обслуживания, политика 10 разрешает не более N попыток доступа в течение льготного периода. М и N оба имеют малые значения, поэтому установка UselnCoverageForRoaming не имеет особого значения. Политика 10 требует, чтобы агент 104 принудительного выполнения получал защищенное время только при включении мобильного устройства 100, 200. Поскольку М и N являются умеренно малыми, политика 10 разрешает только ограниченный доступ к защищенному контенту, когда защищенное время не доступно (как в зоне обслуживания, так и за пределами зоны обслуживания, или в режиме роуминга). При таких установках параметров, защита защищенного контента считается "хорошей", поскольку политика открыта для злоупотреблений только в течение ограниченного времени. Кроме того, защита в соответствии с политикой 10 считается "хорошей" из-за требования вызова данных для мобильных устройств, в которых отсутствует внутренний источник защищенного времени. Впечатление пользователя от политики 10 считается "плохим", поскольку величины М и N малы и поскольку вызов данных при включении мобильного устройства 200 является навязчивым и запутывающим пользователя. Однако впечатления пользователя могут быть "очень плохими", если мобильное устройство 200 не может часто предоставлять защищенное время, и клиент должен работать с ограниченными льготными периодами, независимо от того, находится ли мобильное устройство 100, 200 в зоне обслуживания, за пределами зоны обслуживания или в режиме роуминга. Вызов при включении может сбивать с толку, поскольку вызов при включении не очевидно относится к попытке доступа к защищенному контенту, ассоциированному с проверяемой лицензией.
Политика 11 представляет собой пример политики лицензии, аналогичной политике 10, но которая больше не требует вызова данных для защищенного времени при включении устройства. Поскольку вызовы данных для получения защищенного времени больше не требуются, эффективность политики 11 по защите контента снижается от "хорошей" до "нормальной". Однако ожидаемое впечатление пользователя может быть улучшено до "хорошего", но может быть "очень плохим" в определенных обстоятельствах. Впечатление пользователя от политики 11 считается "хорошим", поскольку больше не требуется выполнять вызовы данных и, поэтому, они не надоедают. Однако впечатления пользователя могут быть "очень плохими", если мобильное устройство 100, 200 не может часто предоставлять защищенное время, и клиент должен работать с ограниченными льготными периодами, независимо от того, находится ли мобильное устройство 100, 200 в зоне обслуживания, за пределами зоны обслуживания или в режиме роуминга.
Политика 12 представляет собой пример политики лицензии, которая устанавливает значение TimeCallAtAccess, равным false, таким образом, что агент 104 принудительного выполнения не должен получать защищенное время всякий раз, когда требуется доступ к защищенному контенту. Если защищенное время недоступно и мобильное устройство 100, 200 находится в пределах зоны обслуживания, политика 12 разрешает не более М попыток доступа в течение льготного периода. Если защищенное время недоступно и мобильное устройство 100, 200 находится за пределами зоны обслуживания, политика 12 разрешает не более N попыток доступа в течение льготного периода. Оба значения М и N большие, поэтому установка для UselnCoverageForRoaming не имеет особого значения. Политика 12 требует, чтобы агент 104 принудительного выполнения получал защищенное время только при включении мобильного устройства 100, 200. Значения М и N являются большими, в отличие от политики 10, и поэтому ослабляют защиту политики 12, когда мобильное устройство 100, 200 находится за пределами зоны обслуживания. При таких установках параметров, защита рассматривается как "слабая", поскольку при такой политике возможны злоупотребления в течение длительных периодов времени, используя большое количество попыток доступа в течение льготного периода. Впечатления пользователя в отношении политики 12 рассматриваются как "плохие", поскольку требуется вызов данных при включении мобильного устройства 100, 200 и навязчивыми и путающими пользователя. Вызов при включении может путать пользователя, поскольку такой вызов при включении не очевидно связан с попытками доступа к защищенному контенту, ассоциированному с проверяемой лицензией.
Политика 13 представляет собой пример политики лицензии, аналогичной политике 12, но в ней устранена необходимость вызова данных при включении. Значения М и N велики, в отличие от политики 11, и ослабляют защиту политики 13, когда мобильное устройство 100, 200 находится за пределами зоны обслуживания. Поэтому в такой политике могут быть допущены злоупотребления в течение более длительных периодов, чем в политике 11 в результате использования более длительных льготных периодов. Кроме того, отсутствие каких-либо вызовов данных делает политику 13 более слабой, чем политика 12. При установке такого параметра защита рассматривается как "очень слабая". Впечатление пользователя от политики 13 считается "хорошим", поскольку не требуется вызов данных вообще, поэтому они не надоедают.
Политика 14 представляет собой пример политики лицензии, которая устанавливает значение TimeCallAtAccess на false, так что агенту 104 принудительного выполнения не требуется извлекать защищенное время всякий раз, когда требуется доступ к защищенному контенту. Если защищенное время недоступно и мобильное устройство 100, 200 находится в пределах зоны обслуживания, политика 14 разрешает максимум М попыток доступа в течение льготного периода. Если защищенное время недоступно и мобильное устройство 100, 200 находится за пределами зоны обслуживания, политика 14 разрешает не более N попыток доступа в течение льготного периода. Оба значения М и N установлены большими, поэтому установка UselnCoverageForRoaming не имеет особого значения. При таких установках параметров политика 14 по Фиг. 3 обеспечивает меньший уровень защиты DRM от злоупотреблений со стороны клиента и меньший уровень защиты для провайдера контента. Политика 14 обеспечивает возможность доступа к использованию защищенного контента в течение длительных периодов, при этом для злоупотреблений пользователя требуются незначительные усилия, поэтому политика 14 рассматривается как "очень слабая". Однако политика 14 является полностью ненавязчивой для пользователя и, поэтому, считается "очень хорошей".
На Фиг. 4 показана блок-схема последовательности операций обработки варианта выполнения процедуры, которая может быть выполнена агентом 104 принудительного выполнения. На Фиг. 4a представлена распечатка примера возможного псевдокода, который может использоваться для выполнения этапов, показанных на Фиг. 4, специалистом в данной области техники. Когда клиент первоначально загружает защищенный контент, выполняется лицензия, и параметры, управляющие условиями лицензии, могут быть сохранены в защищенном участке запоминающего устройства 111. После того, как параметры запоминающего устройства будут сохранены в защищенной части запоминающего устройства 111, величина подсчета счетчика (LP) параметра лицензии может быть последовательно увеличена каждый раз для каждого сохраняемого параметра. На этапе 301, показанном на Фиг. 4, способ в соответствии с вариантом выполнения определяет, установлена ли лицензия, ассоциированная с защищенным контентом. Если параметры лицензии не были сохранены в защищенном участке запоминающего устройства 111, то значение LP будет равно нулю. Если значение LP равно нулю, доступ ко всему цифровому контенту, сохраненному в запоминающем устройстве 111, разрешен, этап 316. Однако если значение LP равно нулю, то должна действовать, по меньшей мере, одна основанная на времени лицензия.
На этапе 302 агент 104 принудительного выполнения через процессор 110 может определять, существует ли локальный источник защищенного времени 102. Если источник защищенного времени доступен, агент 104 принудительного выполнения через операционную систему 103 и процессор 110 может проверить, истек ли ограниченный период времени, на который клиенту был предоставлен доступ к защищенному контенту (этап 304). Если ограниченный период времени не истек, то агент 104 принудительного выполнения через операционную систему 103 и процессор 110 может установить значение InCoverageUseLimit на М, значение OutCoverageUse на N и счетчик льготного периода на нуль на этапе 307. Клиенту затем предоставляют доступ к защищенному контенту на этапе 319.
Если на этапе 304 определяют, что ограниченный период времени истек, лицензия может быть помечена как не действительная на этапе 305, и клиента информируют о том, что срок действия лицензии истек (этап 308). После информирования клиента об истечении срока лицензии доступ к защищенному контенту отклоняют (этап 318).
Если на этапе 302 локальный защищенный источник времени 102 не доступен, агент 104 принудительного выполнения через операционную систему 103 и процессор 110 выполняет поиск параметров 105 лицензии, ассоциированных с защищенным контентом, для определения, было ли установлено значение параметра TimeCallAtAccess как TRUE или FALSE, на этапе 303. Если параметр TimeCallAt Access установлен как FALSE, то способ в соответствии с вариантом выполнения определяет, разрешены ли для мобильного устройства 200 попытки доступа в течение льготного периода, когда мобильное устройство 200 находится в зоне обслуживания, за пределами зоны обслуживания или в роуминге (см. этапы 310-319 ниже).
Если параметр TimeCallAtAccess был установлен на TRUE, то выполняют вызов источника 202 защищенного времени для получения защищенного времени, этап 306. Если вызов данных для опроса источника защищенного времени успешен (этап 309), то способ в соответствии с вариантом выполнения может работать, как если бы локальный источник защищенного времени был доступен на этапе 302, и может продолжить выполнение этапов 304, 305, 307 и 308. Однако если вызов для получения защищенного источника времени безуспешен, то способ в соответствии с вариантами выполнения определяет, разрешено ли клиенту/пользователю делать попытки доступа в течение льготного периода, когда мобильное устройство 200 находится в зоне обслуживания, за пределами зоны обслуживания или в роуминге (см. этапы 310-319 ниже).
Для определения, разрешено ли клиенту/пользователю делать попытки доступа в течение льготного периода, когда мобильное устройство 100, 200 находится в зоне обслуживания, за пределами зоны обслуживания или в роуминге, способ в соответствии с вариантом выполнения должен вначале определить, в каком состоянии находится мобильное устройство 200 (то есть в зоне обслуживания, за пределами зоны обслуживания или в роуминге). Для такого определения агент 104 принудительного выполнения через операционную систему 103 и процессор 110 определяет, разрешена ли функция приемопередатчика мобильного устройства 200 на этапе 310.
Если функция приемопередатчика отключена или вызов данных безуспешен, можно сделать вывод, что мобильное устройство 200 находится в зоне обслуживания. Если функции приемопередатчика были отключены, предполагается, что мобильное устройство 200 могло бы успешно выполнить вызов данных для получения защищенного времени, но не выполнило это из-за отключенной функции приемопередатчика. Поскольку мобильное устройство 200 находится в зоне обслуживания, агент 104 принудительного выполнения через операционную систему 103 и процессор 110 определяет, разрешает ли политика лицензии клиенту/пользователю выполнить какие-либо попытки доступа из числа М в течение льготного периода, находясь в зоне обслуживания (этап 312). Агент 104 принудительного выполнения через операционную систему 103 и процессор 110 проверяет счетчик льготного периода и сравнивает его со значением М IntCoverageUseLimit для определения, имеются ли все еще какие-либо доступные попытки доступа для клиента в течение льготного периода, этап 312. Если сравнение счетчика льготного периода и значения М InCoverageUseLimit определяет, что дополнительные попытки доступа в течение льготного периода доступны на этапе 312, то величину подсчета счетчика попыток в течение льготного периода последовательно увеличивают на этапе 315 и разрешают доступ к защищенному контенту на этапе 319. Если сравнение счетчика в течение льготного периода и значения М InCoverageUseLimit определяет, что дополнительные попытки доступа в течение льготного периода не доступны на этапе 312, то доступ к защищенному контенту блокируется на этапе 318.
Если на этапе 310 определяют, что функция приемопередатчика включена, но мобильное устройство 200 не смогло выполнить вызов данных для получения защищенного времени из источника 202 защищенного времени, то можно предположить, что мобильное устройство 200 либо находится за пределами зоны обслуживания, либо находится в режиме роуминга. В соответствии с этим способ в соответствии с вариантом выполнения должен определить, какое условие применимо. На этапе 311 агент 104 принудительного выполнения через операционную систему 103 и процессор 110 определяет, находится ли мобильное устройство в режиме роуминга (то есть голосовые вызовы доступны, но вызовы данных не доступны). В большинстве мобильных устройств 200 такое определение ранее выполняли для определения, следует ли использовать дополнительные тарифы для голосовых вызовов. Если мобильное устройство 200 находится в режиме роуминга, агент 104 принудительного выполнения через операционную систему 103 и процессор 110 определяет, разрешает ли политика лицензии клиенту/пользователю выполнять какие-либо попытки из количества R попыток доступа в течение льготного периода, находясь в роуминге, этап 313. Агент 104 принудительного выполнения через операционную систему 103 и процессор 110 проверяет счетчик льготного периода и сравнивает его со значением R RoamUseLimit для определения, доступны ли все еще какие-либо попытки доступа в течение льготного периода для клиента, этап 313. Если сравнение счетчика льготного периода и значения R RoamUseLimit определяет, что дополнительные попытки доступа в течение льготного периода еще доступны (этап 313), то увеличивают значение подсчета счетчика попыток в течение льготного периода (этап 316) и разрешают доступ к защищенному контенту (этап 319). Если сравнение значения подсчета счетчика льготного периода и значения R RoamUseLimit определяет, что дополнительные попытки доступа в течение льготного периода не доступны (этап 313), то доступ к защищенному контенту блокируют (этап 318).
Если на этапе 311 определяют, что мобильное устройство 200 не находится в режиме роуминга, можно предположить, что мобильное устройство 200 находится за пределами зоны обслуживания. Если мобильное устройство 200 находится за пределами зоны обслуживания на этапе 311, то агент 104 принудительного выполнения через операционную систему 103 и процессор 110 определяет, разрешает ли политика лицензии клиенту/пользователю выполнить доступ в количестве N попыток в течение льготного периода, находясь за пределами зоны обслуживания, на этапе 314. Агент 104 принудительного выполнения через операционную систему 103 и процессор 110 проверяет счетчик льготного периода и сравнивает его значения со значением N OutCoverageUseLimit, для определения, доступны ли все еще для клиента какие-либо попытки доступа в течение льготного периода, на этапе 314. Если сравнение счетчика льготного периода и значения N OutCoverageUseLimit определяет, что дополнительные попытки доступа в течение льготного периода доступны (этап 314), значение подсчета счетчика попыток доступа в течение льготного периода последовательно увеличивают (этап 317) и предоставляют доступ к защищенному контенту (этап 319). Если сравнение значения счетчика льготного периода и значения N OutCoverageUseLimit определяет, что дополнительные попытки доступа в течение льготного периода не доступны, на этапе 314, то доступ к защищенному контенту блокируют на этапе 318.
Альтернативные варианты осуществления (не показаны) могут упростить способ путем устранения значения R параметра RoamUseLimit. Вместо этого можно использовать такой параметр, как значение параметра UselnCoverageForRoaming, которое может быть установлено как TRUE или FALSE. Если оно установлено как TRUE и определено, что мобильное устройство 200 находится в режиме роуминга, агент 104 принудительного выполнения через операционную систему 102 и процессор 110 рассматривает мобильное устройство 200, работающее в режиме роуминга, как если бы мобильное устройство 200 находилось в зоне обслуживания (то есть в зоне обслуживания с отключенной функцией приемопередатчика). Таким образом, попытки доступа в течение льготного периода, находясь в режиме роуминга, сравнивают со значением М InCoverageUseLimit. Если параметр UselnCoverageForRoaming установлен как FALSE и определено, что мобильное устройство 200 находится в режиме роуминга, агент 104 принудительного выполнения через операционную систему 102 и процессор 110 рассматривает мобильное устройство 200, находящееся в режиме роуминга, как если бы мобильное устройство 200 находилось за пределами зоны обслуживания. Таким образом, попытки доступа в течение льготного периода, при нахождении в режиме роуминга, сравнивают со значением N OutCoverageUseLimit.
На Фиг. 4a представлена распечатка псевдокода, который может быть воплощен для выполнения этапов, показанных на Фиг. 4 и описанных выше. Как показано в Фиг. 4a, в строке 401 названа процедура TestContentLicensing. LicenseParameters представляет собой ссылку на структуру данных, содержащую параметры 105, 205 лицензии для политики лицензии. Строка 402 начинает тело процедуры TestContentLicensing. В строке 403 проверяют, был ли аргумент, переданный в процедуру TestContentLicensing, равен нулю (см. этап 301 на Фиг. 4). Нулевой аргумент может возникать случайно или преднамеренно, когда вызывают процедуру TestContentLicensing относительно контента, для которого отсутствует лицензия. Если лицензия отсутствует, в процедуре предполагается, что к контенту может быть осуществлен доступ, и поэтому в строке 404 устанавливают, что исполнение продолжается в операторах, помеченных как AllowAccess (этап 319 на Фиг. 4).
Выражение в строке 410 можно рассматривать просто как комментарий или строку 410 можно использовать для направления ручной или автоматической отладки или проверки правильности процедуры. Строка 411 определяет, имеется ли локальный источник защищенного времени, такой как защищенные часы 102, в мобильном устройстве 100 (этап 302). В варианте выполнения защищенные часы 102 могут продолжать работать после того, как остальную часть мобильного устройства 100 отключают. Если локальный источник времени 102 является защищенным, строка 413 направляет продолжение выполнения в операторы, помеченные как TestForExpiration (этап 304 на Фиг. 4). В противном случае, исполнение продолжается в строке 413. Строку 420 можно рассматривать как комментарий или можно использовать для проверки правильности процедуры. Строка 421 определяет значение параметра TimeCallAtAccess в структуре данных, к которой обращается LicenseParameters (этап 303 на Фиг. 4). Если значение установлено как True, то строка 422 инициирует вызов для получения защищенного времени из источника 202 защищенного времени по сети 201 обслуживающего провайдера (этап 306 по Фиг. 4). Если вызов успешно извлекает защищенное время в строке 422, это защищенное время сохраняется в локальной переменной STime, и строка 424 направляет исполнение для продолжения в операторах, помеченных TestForExpiration (этап 304 на Фиг. 4).
На Фиг. 4a строка 430 утверждает, что защищенное время является недоступным. Строка 431 начинает последовательность случаев, определяющих режим работы мобильного устройства 200. Строка 431 определяет, работает ли мобильное устройство 200 в зоне обслуживания, за пределами зоны обслуживания или в режиме роуминга (этапы 310 и 311 на Фиг. 4). Таким образом, если мобильное устройство 100, 200 находится в зоне обслуживания, в строке 432 выполнение направляется для продолжения в операторах, помеченных Coverageln (этап 312, 315 на Фиг. 4). Если режим работы мобильного устройства 200 представляет собой роуминг, строка 434 направляет выполнение для продолжения в операторах, помеченных Roaming. Если режим работы мобильного устройства 200 находится за пределами зоны обслуживания, строка 436 направляет выполнение для продолжения в операторах, помеченных CoverageOut.
На Фиг. 4a в строке 440 последовательность операторов помечена меткой Coverageln. Строки, начинающиеся со строки 440, соответствуют случаю, когда мобильное устройство находится в режиме работы в зоне обслуживания (этап 312 Фиг. 4). Строка 441 проверяет переменное значение счетчика доступа InUsesAttempts, чтобы проверить, остаются ли еще разрешенные попытки доступа в течение льготного периода к защищенному контенту, в то время как мобильное устройство 200 работает в зоне обслуживания (этап 312 на Фиг. 4). Если больше разрешенных попыток обращения в течение льготного периода в зоне обслуживания не остается, строка 442 направляет выполнение для продолжения в оператор, помеченный BlockAccess (этап 318 на Фиг. 4). В противном случае, выполнение продолжается в строке 443, в которой выполняется последовательное приращение значения подсчета счетчика с названием InUsesAttempted (этап 315 на Фиг. 4). Для упрощения программирования, счетчик InUsesAttempted может быть представлен как поле целочисленной переменной, расположенное в той же структуре данных, к которой обращаются по LicenseParameters, которая также содержит параметры лицензии. Строка 444 направляет выполнение для продолжения в операторы, помеченные AllowAccess (этап 319 на Фиг. 4).
На Фиг. 4a последовательность операторов в строке 450 помечена меткой Roaming. Строки, начинающиеся со строки 450, соответствуют случаю, когда мобильное устройство, находится в режиме роуминга (этап 313 по Фиг. 4). Строка 451 проверяет переменное значение величины подсчета счетчика попыток доступа RoamUses Attempts, чтобы определить, остаются ли еще возможные попытки доступа в течение льготного периода к защищенному контенту, в то время как мобильное устройство 200 работает в режиме роуминга (этап 313 по Фиг. 4). Если разрешенных попыток доступа в течение льготного периода в режиме роуминга больше не остается, строка 452 направляет выполнение для продолжения в оператор, помеченный как BlockAccess (этап 318 на Фиг. 4). В противном случае, выполнение продолжается в строке 453, в которой выполняется последовательное приращение величины подсчета счетчика, называемого RoamUsesAttempted (этап 316 на Фиг. 4). Для упрощения программирования счетчик RoamUsesAttempted может представлять собой поле, содержащее целочисленную переменную, расположенную в той же структуре данных, к которой обращаются по LicenseParameters, которая также содержит параметры лицензии. Строка 454 направляет выполнение для продолжения в операторах, отмеченных AllowAccess (этап 319 на Фиг. 4).
На Фиг. 4a последовательность операторов в строке 460 помечена меткой CoverageOut. Строки, начинающиеся в строке 460, соответствуют случаю, когда мобильное устройство находится за пределами зоны обслуживания. Строка 461 проверяет величину OutUsesAttempts, чтобы проверить, остается ли какое-либо количество попыток доступа в течение льготного периода к защищенному контенту, в то время как мобильное устройство 200 работает за пределами зоны обслуживания (этап 314 по Фиг. 4). Если больше не остается попыток доступа в течение льготного периода за пределами зоны обслуживания, строка 462 направляет выполнение для продолжения в операторе, помеченном как BlockAccess (этап 318 на Фиг. 4). В противном случае, выполнение продолжается в строке 463, в которой выполняется последовательное приращение значения подсчета счетчика, называемого OutUsesAttempted (этап 317 на Фиг. 4). Для упрощения программирования OutUsesAttempted может представлять собой поле, содержащее целочисленную переменную, расположенное в той же структуре данных, которая обозначена как LicenseParameters, который также содержит параметры лицензии. Строка 464 направляет выполнение для продолжения в операторах, помеченных AllowAccess (этап (319 на Фиг. 4).
На Фиг. 4a в строке 470 последовательность операторов помечена меткой TestForExpiration, которая удостоверяет лицензию всякий раз, когда известно, что время STime защищено, как установлено в строке 471 (этап 302 по Фиг. 4). Строка 472 выполняет сравнение текущего защищенного времени STime с параметром ExpirationDate структуры данных, на которую ссылается LicenseParameters (этап 307 на Фиг. 4). Если STime больше, чем (то есть следует после) значение даты/времени истечения в параметре ExpirationDate для LicenseParameters, тогда срок действия лицензия истек. Строка 473 выполняет некоторое действие для однозначного обозначения, что срок действия лицензии истек (этап 305 на Фиг. 4). Это действие может удалять структуру данных параметра лицензии и защищенный контент, но это усложняет последующее возобновление прав доступа. Альтернативное действие в строке 473 состоит в том, чтобы пометить лицензию как лицензию, срок действия которой истек, в структуре данных, к которой обращается LicenseParameters (этап 305 по Фиг. 4). Например, структура данных может иметь булево поле, называемое Expired, которое устанавливают в значение True. В любом случае, строка 474 устанавливает значение InUseAttempts как значение, большее, чем InCoverageUseLimit М. Строка 475 устанавливает значение RoamUseAttempts как значение, большее, чем RoamCoverageUseLimit R. Строка 476 устанавливает значение OutUseAttempts как значение, большее, чем OutCoverageUseLimit N. Строки 477-479 устанавливают каждое значение InCoverageUseLimit, RoamUseLimit и OutCoverageUseLimit в нуль в структуре данных, обозначенной как LicenseParameters. Нулевые значения предотвращают возможность обмана со стороны клиента и использование любых остающихся неиспользованных попыток доступа в течение льготного периода за пределами зоны обслуживания путем преднамеренного экранирования мобильного устройства 200 так, чтобы оно находилось вне зоны обслуживания. Строка 480 информирует клиента о том, что срок действия лицензии истек, и клиенту может быть предложено обновить лицензию (этап 308 по Фиг. 4). Строка 479 направляет выполнение в оператор, обозначенный как BlockAccess, который будет предотвращать доступ к защищенному контенту (этап 318 на Фиг. 4).
Если в результате сравнения в строке 472 определено, что лицензия все еще действительна на основе STime (этап 304 на Фиг. 4), тогда строки 483-485 выполняют сброс в ноль целочисленных счетчиков попыток доступа в течение льготного периода (этап 307 на Фиг. 4), InUsesAttempts, RoamUseAttempts и OutUseAttempts, которые могут быть установлены в той же структуре данных LicenseParameters, которая содержит параметры лицензии политики лицензии. Поскольку определено, что срок действия лицензии не истек, и время является защищенным, счетчики доступа в течение льготного периода, InUsesAttempts, RoamUseAttempts и OutUsesAttempts сбрасываются в ноль.
На Фиг. 4a строка 490 присоединяет метку AllowAccess к оператору в строке 491, которая выполняет выход из процедуры и возвращает значение True для вызывающей процедуры TestContentLicensing, для обозначения, что лицензию следует рассматривать как лицензию, срок действия которой не истек, даже если защищенное время может не быть доступным (этап 319 на Фиг. 4). Строка 495 присоединяет метку BlockAccess к оператору в строке 496, которая выполняет выход из процедуры и возвращают значение False для вызывающего оператора процедуры TestContentLicensing для обозначения, что лицензию следует рассматривать как лицензию, срок действия которой истек (этап 318 на Фиг. 4). Строка 499 помечает конец процедуры TestContentLicensing.
На Фиг. 4b представлена распечатка образца псевдокода, который может быть воплощен для выполнения альтернативной процедуры, когда значение RoamUseLimit не используют, а вместо этого принимают значение по умолчанию или InUseLimit, при работе в режиме роуминга. Этот образец псевдокода, по существу, аналогичен образцу псевдокода, показанному на Фиг. 4a, однако, строки кода, отмеченные как RoamUseAttempts и RoamUseLimits, исключены. Вместо этого, добавлены новые строки 435-439 кода. Специалист в данной области техники может легко сгенерировать образец псевдокода, как принятый по умолчанию, для пропущенного OutUseLimit, если это потребуется. В строке 435, если мобильное устройство 200 рассматривают, как не находящееся ни в зоне обслуживания, ни за пределами зоны обслуживания, мобильное устройство 200 может рассматриваться как находящееся в режиме роуминга. В строке 436 агент 104 принудительного выполнения через операционную систему 103 и процессор 110 определяет из параметра UselnCoverageForRoaming структуры данных, обозначенной как LicenseParameters, следует ли рассматривать режим роуминга так же, как и случае нахождения в зоне обслуживания или в случае нахождения за пределами зоны обслуживания. Если значение параметра UselnCoverageForRoaming представляет собой True, тогда в режиме роуминга будут использовать те же параметры политики, как и для режима нахождения в зоне обслуживания, и в строке 437 направляют выполнение для продолжения в операторах, помеченных Coverageln. Если значение параметра UselnCoverageForRoaming представляет собой False, тогда в режиме роуминга будут использовать те же параметры политики, как и для нахождения вне пределов зоны обслуживания, и строка 439 направляет выполнение для продолжения в операторах, помеченных CoverageOut. Распечатка образца псевдокода, обозначенная на Фиг. 4a и 4b, представляет собой только примеры возможных псевдокодов, которые можно использовать для выполнения этапов различных вариантов выполнения. При этом не предполагается, что они ограничивают варианты осуществления каким-либо образом.
Для некоторых вариантов выполнения обслуживающий провайдер может иметь возможность конфигурирования или модификации параметров лицензии дистанционно и/или без остановки работы в полевых условиях. Например, обслуживающий провайдер может останавливать действие лицензий, для которых может быть идентифицировано неправильное использование, или обслуживающий провайдер может дистанционно улучшать или обновлять лицензию после оплаты, полученной от существующего лицензированного пользователя. Дистанционное улучшение условий или обновление могут быть выполнены путем использования стандартных способов надежной передачи новых значений параметров лицензии по беспроводному каналу передачи данных. Обновления параметров могут быть переданы в устройство, используя некоторое средство, такое как SMS с цифровой подписью.
На Фиг. 5 представлена блок-схема последовательности операций альтернативного варианта выполнения процедуры, которая может быть выполнена агентом 104 принудительного выполнения. Альтернативный вариант осуществления включает в себя все этапы, показанные на Фиг. 1, но дополнительно включает в себя этапы, которые обеспечивают для обслуживающего провайдера возможность конфигурирования или модификации параметров лицензии дистанционно или в полевых условиях. На Фиг. 5a представлен образец распечатки псевдокода, который специалисты в данной области техники могут использовать для выполнения этапов, показанных на Фиг. 5.
Альтернативный вариант осуществления, показанный на Фиг. 5, продолжается для выполнения этапов 301-319, показанных на Фиг. 4, как описано выше. Однако в альтернативном варианте выполнения по Фиг. 5, если агент 104 принудительного выполнения через операционную систему 103 и процессор 110 определяет, что локальное защищенное время доступно на этапе 302, или если вызов для получения защищенного времени выполнен успешно на этапе 309, то агент 104 принудительного выполнения через операционную систему 103 и процессор 110 определяет, пришло ли время для обновления политик лицензии и/или параметров, сохраненных в защищенном участке запоминающего устройства 111, на этапе 320. Время между обновлениями может представлять собой произвольный период времени T. Время T может быть предварительно установлено обслуживающим провайдером или может возникать как время, выраженное в часах, днях, месяцах и т.д. Если предварительно установленный период T времени истек, агент 104 принудительного выполнения через операционную систему 103 и процессор 110 входит в контакт с сервером обслуживающего провайдера (не показан) для определения, доступны ли обновления параметров лицензирования (LP, ПЛ), этап 321. Если обновление параметров лицензирования доступно, то параметры лицензирования будут загружены в защищенный участок запоминающего устройства 111 на этапе 322. После того, как обновленные параметры лицензирования будут загружены, агент 104 принудительного выполнения через операционную систему 103 и процессор 110 продолжает определение, истекла ли лицензия на основе времени клиента/пользователя, на этапе 304. Если срок действия лицензии не истек, новые параметры лицензии будут установлены на этапе 307. Новые параметры лицензии могут изменять количество попыток доступа в течение льготного периода, доступных для клиента/пользователя в случаях, когда мобильное устройство находится в зоне обслуживания, за пределами зоны обслуживания или в режиме роуминга.
На Фиг. 5a представлен образец псевдокода, который может быть воплощен для выполнения дополнительных этапов, показанных на Фиг. 5. Здесь добавлены дополнительные строки 500-511 псевдокода. На Фиг. 5a строка 411 проверяет, доступен ли локальный источник защищенного времени. Если локальный источник защищенного времени доступен, выполняется последовательность этапов, обозначенную Check Updates (этап 320 на Фиг. 5). Кроме того, если локальное защищенное время не доступно, строка 420, то выполняется последовательность этапов для получения защищенного времени, строки 421-424 (см. этапы 303, 306, 309 на Фиг. 5)). Если вызов для получения защищенного времени выполнен успешно (этап 309 по Фиг. 5)), то выполняют последовательность этапов, помеченных Check Updates (этап 320 на Фиг. 5). В последовательности Check Updates строки 500-510 выполняют проверку для того, чтобы определить, истекло ли предварительно установленное время T, строка 501 (этап 320 на Фиг. 5). Если предварительно установленный период времени T истек, то выполняется проверка для определения, доступны ли обновления от обслуживающего провайдера, строка 502 (этап 321 на Фиг. 5). Если обновление доступно, то выполняются инструкции для того, чтобы открыть канал защищенных данных, строка 504, и статистика доступа посылается обслуживающему провайдеру, строка 505. Новые параметры лицензии принимаются от обслуживающего провайдера и сохраняются, строки 506 и 507 (этап 322). После сохранения новых параметров лицензии защищенный канал закрывается, строка 508. После того, как защищенный канал данных закрыт в строке 508, образец псевдокода переходит к выполнению процедуры Test for Expiration, представленной выше со ссылкой на Фиг. 4a. Если предварительно установленный период времени T не истек, строка 501, то выполняется процедура Test for Expiration, как представлено выше со ссылкой на Фиг. 4a.
Обновления для параметров лицензии могут представлять собой результат покупки клиентом/пользователем новой лицензии и контента, или обновления, или улучшения условий текущей лицензии. Когда покупают новую лицензию или контент, процесс выгрузки новой лицензии или контента включает в себя сохранение новых значений параметра лицензии, включающее в себя сброс счетчиков льготного периода. В данном способе обновленные параметры лицензии, в принципе, выполняют как часть загрузки нового контента и лицензии. Когда пользователь контактирует с сервером для покупки/обновления условий новой части контента, правила лицензии, сопровождающей контент и управляющей самим контентом (воспроизвести до 15-го августа 2008 г.), представляют собой обновление для параметров лицензии (вызов при включении, льготные периоды за пределами зоны обслуживания и т.д.). Такие обновленные параметры лицензии могут быть глобальными, то есть применимыми ко всему контенту/данным, или могут быть применены только к самому новому загруженному контенту. Поскольку покупка нового контента требует установления защищенного соединения для передачи данных, параметры лицензии могут быть аутентифицированы, и зашифрованы, и защищены аналогично данным контента. Этот способ позволяет выполнять обновления параметра лицензии, когда пользователи покупают новые загрузки контента, исключая необходимость определенного соединения для обмена данных с сервером, в других случаях, улучшая, таким образом, восприятие пользователя. Используя такой способ, провайдеры контента могут поощрять частых покупателей контента лучшими/более удобными параметрами лицензии (например, более длительными лицензиями, с большим количеством попыток использования в течение льготного периода и т.д.) таким образом, что вознаграждение за закупку большего количества контента создает лучшее впечатление у пользователя. Таким образом, при каждой новой покупке провайдер контента может изменять параметры лицензии для всего своего контента в одной и той же транзакции загрузки.
В случае обновления защищенного контента, обновление параметров лицензии может сопровождаться обновлением на этапе, не показанном на Фиг. 5. Если строка 503 определяет, что обновление доступно, строка 504 открывает защищенное соединение для передачи данных. Соединение для передачи данных может быть защищенным в том смысле, что мобильное устройство 100, 200 предотвращает доступ клиента/пользователя к соединению и к передаче по данному каналу передачи данных. Для защиты значений параметров и возможной неблагоприятной попытки вмешательства в эти значения может быть предпочтительным шифровать параметры или внедрять значения параметров в малые части исполнительного кода и включать в них цифровую подпись или аутентификацию HMAC. Строка 505 вызывает передачу текущих параметров лицензии и/или статистики об активности доступа к защищенному контенту в сеть обслуживающего провайдера. Например, может поддерживаться статистика по общему количеству доступов к защищенному контенту в структуре данных, называемой AccessStatistics. Другие статистические данные могут представлять собой количество раз, кода счетчики LicenseParameters InUseAttempts и LicenseParameters OutUseAttempts, работающие в течение льготного периода, получили последовательное приращение, превысившее пределы М и N соответственно. Обслуживающий провайдер может использовать эти статистические данные, для определения значений для обновления параметров лицензии, которые сеть 201 обслуживающего провайдера передает в мобильное устройство 100, 200. Строка 506 сохраняет новые параметры лицензии обновления во временной структуре данных NewLicenseParameters. Затем строка 507 копирует новые значения параметров лицензии для структуры данных, обозначенной как LicenseParameters. Строка 508 закрывает защищенное соединение для передачи данных.
Как описано выше, один из возможных вариантов использования параметров лицензирования, используемых в вариантах выполнения, представляет собой TimeCallAtStartup. Если какая-либо политика защиты устанавливает такие параметры лицензии, как значение TRUE, тогда должно происходить обращение к защищенному времени из внутреннего источника защищенного времени в мобильное устройство 100, или может осуществляться вызов данных во время включения питания мобильного устройства 200. На Фиг. 6 представлены этапы, выполняемые способом в соответствии с вариантом выполнения, в котором используется параметр TimeCallAt Startup.
Как показано на Фиг. 6, агент 104 принудительного выполнения через операционную систему 103 и процессор 110 определяет, содержит ли мобильное устройство 100, 200 локальный источник защищенного времени, этап 900. Если мобильное устройство 100 содержит локальный источник защищенного времени, тогда агент 104 принудительного выполнения через операционную систему 103 и процессор 110 возвращает значение "FALSE", обозначающее, что не требуется выполнять вызов данных, поскольку защищенное время уже присутствует локально в мобильном устройстве 100, этап 903. Если, однако, мобильное устройство 200 не содержит локальный источник защищенного времени (этап 900), то агент 104 принудительного выполнения через операционную систему 103 и процессор 110 определяет, имеют ли параметры лицензирования для политики лицензирования, сохраняемой в защищенном участке запоминающего устройства 111, TimeCallAtStartup, установленный в значение TRUE, этап 902. Если это так, вызов данных будет необходим перед предоставлением доступа к защищенному контенту, этап 904.
Если первая политика лицензирования не содержит параметр лицензирования, обозначающий TRUE для TimeCallAtStartup, агент 104 принудительного выполнения через операционную систему 103 и процессор 110 продолжает проверять каждую политику лицензирования, сохраненную в защищенном участке запоминающего устройства 111, этап 902. Если любая другая политика лицензии, сохраненная в защищенном участке запоминающего устройства 111, возвращает значение "TRUE" для параметра TimeCallAtStartup, агент 104 принудительного выполнения через операционную систему 103 и процессор 110 потребует выполнить вызов данных из источника защищенного времени прежде, чем будет предоставлен доступ к защищенному контенту, этап 904. Если ни одна политика лицензии, сохраненная в защищенном участке запоминающего устройства 111, не возвращает значение True для TimeCallAtStartup, тогда не будет выполнен вызов данных, этап 905.
На Фиг. 6a представлен образец псевдокода, который может быть воплощен для выполнения этапов, показанных на Фиг. 6. Как показано на Фиг. 6a, цикл псевдокода может называться IsStartupTimeFetchNeeded, который может быть вызван как часть программы, инициируемая, когда включают питание мобильного устройства. Строки 601, 602 начинают тело процедуры. Строка 603 определяет, доступно ли локально защищенное время 102, например имеются ли защищенные часы в мобильном устройстве 100, 200, которые поддерживают время, в то время как питание мобильного устройства 100, 200 выключено, если имеется локальный источник 102 защищенного времени, процедура осуществляет выход в строке 604, возвращая результат (FALSE), обозначающий, что вызов данных не требуется. Если локальный источник 102 защищенного времени отсутствует, или для защищенных часов требуется инициализация, проверка или синхронизация, выполнение процедуры продолжается в строке 610. Выражение в строке 610 можно рассматривать как комментарий, или оно может помогать при ручной или автоматической проверке правильности процедуры. Строка 611 представляет собой начало цикла, который рекурсивно выполняется для каждой лицензии L, найденной в мобильном устройстве 200. Строка 613 представляет собой последнюю строку цикла, как обозначено отступом строк в этом цикле. Строка 612 проверяет, установлен ли параметр TimeCallAtStartup как значение TRUE для любой лицензии L. Если будет найдена лицензия L, для которой TimeCallAtStartup равен TRUE, процедура выполняет выход в строке 613 и возвращает значение TRUE как индикатор того, что необходимо получить защищенное время из сети обслуживающего провайдера во время включения мобильного устройства 200. Если не будет найдена ни одна лицензия L, имеющая значение TimeCallAtStartup, установленное в TRUE, цикл в конечном итоге останавливается, и выполнение продолжается в строке 620. Выражение в строке 620 можно рассматривать как комментарий или оно может помогать при проверке вручную или автоматически правильности процедуры. Строка 621 обеспечивает выполнение выхода из процедуры и возврат показателя, а именно значения FALSE, означающего, что ни одна лицензия не требует доступа к защищенному времени из источника 302 защищенного времени по сети 201 абонента услуги. Строка 622 помечает окончание тела процедуры IsStartupTimeFetchNeeded. Если процедура возвращает значение TRUE, тогда мобильное устройство 200 выполняет вызов данных для получения защищенного времени из источника 302 защищенного времени по сети 201 обслуживающего провайдера.
В альтернативных вариантах выполнения может использоваться более одной политики лицензии, то есть более одного набора параметров политики. Принятая по умолчанию политика (принятый по умолчанию набор параметров лицензии) может быть сконфигурирована в мобильном устройстве 100, 200 основным изготовителем оборудования (OEM). Обслуживающий провайдер, который закупил и затем впоследствии перепродал мобильное устройство, может диктовать другие параметры политики. Закрытая, обновленная или расширенная политика может быть доступна у обслуживающего провайдера за дополнительную плату для пользователя. В качестве альтернативы, обслуживающий провайдер может дополнительно ограничивать определенные параметры политики, принятые по умолчанию. Кроме того, условия использования отдельных лицензий, охватывающие определенные варианты использования защищенного контента, могут быть наложены поверх параметров лицензии мобильного устройства и/или обслуживающего провайдера (расширяя или дополнительно ограничивая политики мобильного устройства и/или обслуживающего провайдера).
В альтернативном варианте выполнения параметры политики или статистика использования контента могут быть переданы обратно в сервер контента, возможно, через защищенный канал, например, когда устройство беспроводной связи пользователя входит в контакт с сервером контента. Особенно важными могут быть данные, которые обозначают, сколько раз было запущено приложение/контент (или сколько было сделано попыток запуска), когда защищенное время было не доступно. В качестве альтернативы, вариант осуществления может присылать отчет, был ли превышен предел М льготного периода в зоне обслуживания, и предел N льготного периода за пределами зоны обслуживания (на Фиг. 2 и 3), или сколько раз были превышены пределы льготного периода и затем выполнен сброс после последнего отчета. Такая статистика может сигнализировать о потенциальных попытках злоупотреблений и может использоваться для запрета дальнейшего использования или дополнительных покупок контента для конкретного пользователя. Вариант осуществления может разрешать провайдеру сети динамически модифицировать параметры в зависимости от приобретенных обновлений или от подозреваемых злоупотреблений. Статистика использования также может предоставлять обратную связь по популярности контента. Вариант осуществления также может предоставлять для пользователя статус возможности использования защищенного контента текущего использования, такой как величина подсчета попыток доступа, оставшихся в течение льготного периода или периода роуминга.
В другом варианте выполнения параметры лицензирования и/или статистика использования, ассоциированная с определенным лицензированным контентом, могут быть переданы в сервер приложений по сети 201 обслуживающего провайдера, когда агент принудительного выполнения в мобильном устройстве 100, 200 принимает SMS сообщение из сервера приложений. Сервер может затем использовать значения параметра и/или статистику для отказа или предоставления доступа к лицензированному контенту или к дополнительному контенту.
На Фиг. 7 иллюстрируются этапы, выполняемые в способе в соответствии с вариантом выполнения, который разрешает мобильному устройству 100, 200 принимать SMS сообщение и модифицировать политику лицензии на основе статистических данных, переданных в SMS сообщении. Как показано на Фиг. 7, когда мобильное устройство 100, 200 принимает SMS сообщение, это SMS сообщение должно быть удостоверено как легитимное SMS сообщение от обслуживающего провайдера, а не фальшивое сообщение, этап 801. Если SMS сообщение не будет удостоверено на этапе 801, это SMS сообщение игнорируют, и мобильное устройство 100, 200 возвращается к ожиданию следующего сообщения, этап 805. Если SMS сообщение будет удостоверено как достоверное SMS сообщение, это SMS сообщение анализируют на этапе 802 для преобразования текстовых полей в новые значения параметра политики лицензии. Среди этих полей данных могут быть включены идентификаторы, предназначенные для идентификации, какие политики лицензии должны применять эти новые значения параметров лицензии, этап 803. После того как правильные политики лицензии будут идентифицированы на этапе 803 для модификации, новые значения параметра лицензии устанавливают в защищенном участке запоминающего устройства 111, этап 804. После установки новых значений параметров лицензии для идентифицированных политик лицензии, на этапе 804, мобильное устройство 100, 200 возвращается в состояние ожидание следующего SMS сообщения, этап 805.
На Фиг. 7a обозначен пример псевдокода, который может быть воплощен для выполнения этапов, показанных на Фиг. 7. Эта распечатка примера псевдокода может воплощать процедуру DoLicenseUpdateFromSMS, которая может быть вызвана, когда мобильное устройство 100, 200 принимает SMS сообщение, идентифицированное, как SMS сообщение для обновления лицензии. В строке 701, SMS сообщение представляет собой ссылку на SMS сообщение, переданное в процедуре DoLicenseUpdateFromSMS. В строке 702 начинается тело процедуры. Строка 703 определяет, является ли SMS сообщение легитимным от обслуживающего провайдера, а не фальшивым сообщением (этап 801 на Фиг. 7). Строка 704 анализирует содержимое сообщения и, в случае необходимости, преобразует текстовые поля в значении параметров лицензии (этап 802 на Фиг. 7). SMS сообщение может содержать значения для одного, некоторых или всех параметров лицензии, по меньшей мере, для одной лицензии или политики лицензии. SMS сообщение может идентифицировать индивидуальную лицензию L защищенного контента, на которую направлено SMS сообщение (этап 803 на Фиг. 7). DoLicenseUpdateFromSMS предполагает, что одна лицензия обновляется в соответствии с SMS сообщением, которое может представлять собой типичный случай. Однако, более чем одна лицензия может быть обновлена с помощью SMS сообщения. Строка 705 определяет, что контент SMS сообщения идентифицирует и находит местоположение параметров лицензии и лицензии L. Строка 706 устанавливает для LicenseParameters лицензии L новые значения, определенные в результате анализа участка данных пользователя SMS сообщения, SMSMessage (этап 804 по Фиг. 7). В строке 707 выполнение возвращается в вызывающий оператор процедуры DoLicenseUpdateFromSMS (этап 805 по Фиг. 7). Строку 710 можно рассматривать как комментарий, представляющий, что SMSMessage является поддельным. В строке 711 выполнение возвращается в вызывающий оператор процедуры DoLicenseUpdateFromSMS. Строка 712 помечает окончание тела процедуры.
Аппаратное средство, используемое для воплощения этапы способа по Фиг. 4, 4a, 4b, 5, 5a, 6, 6a, 7, 7a и политик, показанных на Фиг. 3, могут представлять собой элементы обработки и элементы запоминающего устройства, выполненные с возможностью выполнения набора инструкций, в которых набор инструкций предназначен для выполнения этапов способа, соответствующего указанным выше политикам. В качестве альтернативы, некоторые политики могут быть выполнены с помощью схемы, которая является специфичной для данной функции.
В варианте выполнения, в котором используется интегральная схема управления питанием (WMIC), питание для часов поддерживается даже при изъятии основной батареи. Это означает, что локальные защищенные часы 102 выполнены с возможностью поддержания своего состояния между циклами питания, по меньшей мере, в течение определенного указанного периода времени, такого как несколько дней. Это обеспечивает большее удобство для пользователя, поскольку клиент не должен ощущать задержку, связанную с поиском или обновлением времени из удаленного источника перед получением доступа к защищенному контенту. Это также означает, что, находясь в роуминге или за пределами какой-либо зоны обслуживания сети 201 обслуживающего провайдера, когда и внешний источник защищенного времени из сети недоступен, клиент может все еще получать доступ к лицензированному защищенному контенту, в соответствии с основанной на времени политикой лицензии.
Для специалистов в данной области техники будет понятно, что различные иллюстративные логические блоки, модули, схемы и этапы алгоритма, описанные в связи с вариантами выполнения, раскрытыми здесь, могут быть выполнены как электронное оборудование, компьютерное программное обеспечение, или комбинации обоих таких подходов. Для ясной иллюстрации возможности такой взаимозаменяемости аппаратных и программных средств, различные иллюстративные компоненты, блоки, модули, схемы и этапы были описаны более обобщенно с учетом их функций. Будут ли такие функции воплощены как аппаратные средство или программное средство, зависит от конкретного применения и конструктивных ограничений, наложенных на всю систему. Специалисты в данной области техники могут воплотить описанные функции различными способами для каждого конкретного варианта применения, но такие решения при выполнении не следует интерпретировать как вызывающие выход за пределы объема настоящего изобретения.
Различные иллюстративные логические блоки, модули и схемы, описанные в связи с вариантами выполнения, раскрытыми здесь, могут быть воплощены или выполнены с использованием процессора общего назначения, цифрового сигнального процессора (DSP), специализированной интегральной схемы (ASIC), логической матрицы, программируемой пользователем (FPGA) или другого программируемого логического устройства, дискретного элемента или транзисторной логики, дискретных аппаратных компонентов или любой их комбинации, разработанной для выполнения описанных здесь функций. Процессор общего назначения может представлять собой микропроцессор, но, в качестве альтернативы, процессор может представлять собой любой процессор, контроллер, микроконтроллер или конечный автомат. Процессор также может быть воплощен как комбинация вычислительных устройств, например, комбинация DSP и микропроцессора, множество микропроцессоров, один или больше микропроцессоров, совместно с ядром DSP, или любая другая такая конфигурация.
Этапы способа или алгоритма, описанные совместно с раскрытыми здесь вариантами выполнения, могут быть воплощены непосредственно в аппаратных средствах, в программном модуле, выполняемом процессором, или в комбинации этих двух подходов. Программный модуль может находиться в запоминающем устройстве ОЗУ, запоминающем устройстве типа флэш, запоминающем устройстве ПЗУ, запоминающем устройстве EPROM, запоминающем устройстве EEPROM, регистрах, жестком диске, на сменном диске, CD-ROM, на диске DVD или на носителе записи любой другой формы, известном в данной области техники. Примерный носитель записи подключают к процессору таким образом, что процессор может считывать информацию с носителя записи и записывать информацию не него. В качестве альтернативы, носитель записи может быть выполнен интегрально с процессором. Процессор и носитель записи могут находиться в ASIC. ASIC может быть установлена в терминале пользователя. В качестве альтернативы, процессор и носитель записи могут быть установлены как дискретные компоненты в терминале пользователя.
Хотя настоящее изобретение было раскрыто со ссылкой на конкретные примерные варианты осуществления, различные модификации, изменения и замены описанных вариантов выполнения возможны без выхода за пределы сферы и объема настоящего изобретение, как определено в приложенной формуле изобретения. В соответствии с этим, предполагается, что настоящее изобретение не должно ограничиваться описанными вариантами выполнения, но что оно имеет полный объем, определенный формулировками следующей формулы изобретения и ее эквивалентами.
Изобретение относится к способам и системам для создания, управления, модификации и/или принудительного выполнения управления цифровыми правами на основе времени для программных приложений, данных или другого цифрового контента. Техническим результатом является повышение эффективности защиты цифрового контента посредством использования основанных на времени лицензий. Варианты осуществления, в частности, направлены на ситуации, в которых источник времени является недоступным, ненадежным или недостоверным. Лицензии определены малым количеством параметров. Значения параметров могут быть определены по защищенному контенту или приложениям или могут быть включены в них. Значения параметра могут быть выбраны для определения и принудительного выполнения требуемого уровня компромисса между характеристиками удобства и простоты использования и защищенности. 3 н. и 22 з.п. ф-лы, 14 ил.
1. Способ ограничения доступа к защищенному контенту в мобильном устройстве в соответствии с основанной на времени лицензией, содержащий этапы, на которых:
сохраняют множество значений параметров, представляющих множество параметров, каждый из которых представляет условие политики, управляющее доступом к защищенному контенту, когда мобильное устройство не имеет доступа к источнику защищенного времени;
при этом первое из множества значений параметров, представляющее первое условие политики, представляет собой первое число разрешенных попыток доступа в течение льготного периода, когда мобильное устройство находится за пределами зоны покрытия обслуживающей сети, а второе из множества значений параметров, представляющее второе условие политики, представляет собой второе число разрешенных попыток доступа в течение льготного периода, когда мобильное устройство находится внутри зоны покрытия обслуживающей сети;
определяют, имеет ли мобильное устройство доступ к источнику защищенного времени;
предоставляют доступ к защищенному контенту, если мобильное устройство имеет доступ к источнику защищенного времени и срок действия основанной на времени лицензии не истек;
определяют, удовлетворяется ли первое условие политики, если мобильное устройство не имеет доступа к источнику защищенного времени и находится за пределами зоны покрытия обслуживающей сети;
определяют, удовлетворяется ли второе условие политики, если мобильное устройство не имеет доступа к источнику защищенного времени и находится внутри зоны покрытия обслуживающей сети; и
предоставляют доступ к защищенному контенту, если только удовлетворяется первое условие политики или второе условие политики.
2. Способ по п.1, в котором одно из множества значений параметров представляет собой число разрешенных попыток доступа в течение льготного периода, когда мобильное устройство находится в роуминге.
3. Способ по п.1 или 2, в котором одно из множества значений параметров указывает, должно ли мобильное устройство осуществить доступ к удаленному источнику защищенного времени каждый раз, когда предоставляется доступ к защищенному контенту.
4. Способ по п.1 или 2, в котором одно из множества значений параметров указывает, должно ли мобильное устройство осуществить доступ к удаленному источнику защищенного времени каждый раз, при включении питания мобильного устройства.
5. Способ по п.1 или 2, дополнительно содержащий этапы, на которых:
запрашивают сервер провайдера защищенного контента на периодической основе для определения, существуют ли обновления для множества значений параметров;
загружают обновления для множества значений параметров, если такие обновления существуют; и
сохраняют упомянутые обновления для множества значений параметров в мобильном устройстве.
6. Способ по п.5, в котором обновления для множества параметров загружают в виде зашифрованного и аутентифицируемого файла.
7. Способ по п.5, в котором обновления для множества параметров принимают в SMS сообщении.
8. Способ по п.5 дополнительно содержащий этап, на котором загружают обновления для множества значений параметров совместно с покупкой нового защищенного контента.
9. Мобильное устройство, содержащее:
процессор;
беспроводный приемопередатчик, соединенный с процессором и выполненный с возможностью подключения к сети беспроводной передачи данных; и
запоминающее устройство, соединенное с процессором, причем в запоминающем устройстве сохранены программные инструкции, выполненные с возможностью побуждения процессора осуществлять этапы, на которых:
сохраняют множество значений параметров, представляющих множество параметров, каждый из которых представляет условие политики, управляющее доступом к защищенному контенту, когда мобильное устройство не имеет доступа к источнику защищенного времени;
при этом первое из множества значений параметров, представляющее первое условие политики, представляет собой первое число разрешенных попыток доступа в течение льготного периода, когда мобильное устройство находится за пределами зоны покрытия обслуживающей сети, а второе из множества значений параметров, представляющее второе условие политики, представляет собой второе число разрешенных попыток доступа в течение льготного периода, когда мобильное устройство находится внутри зоны покрытия обслуживающей сети;
определяют, имеет ли мобильное устройство доступ к источнику защищенного времени;
предоставляют доступ к защищенному контенту, если мобильное устройство имеет доступ к источнику защищенного времени и срок действия основанной на времени лицензии не истек;
определяют, удовлетворяется ли первое условие политики, если мобильное устройство не имеет доступа к источнику защищенного времени и находится за пределами зоны покрытия обслуживающей сети;
определяют, удовлетворяется ли второе условие политики, если мобильное устройство не имеет доступа к источнику защищенного времени и находится внутри зоны покрытия обслуживающей сети; и
предоставляют доступ к защищенному контенту, если только удовлетворяется первое условие политики или второе условие политики.
10. Мобильное устройство по п.9, в котором одно из множества значений параметров, используемых программными инструкциями в запоминающем устройстве мобильного устройства, представляет собой число разрешенных попыток в течение льготного периода, когда мобильное устройство находится в роуминге.
11. Мобильное устройство по п.9 или 10, в котором одно из множества значений параметров, используемых программными инструкциями в запоминающем устройстве мобильного устройства, указывает, должно ли мобильное устройство осуществлять доступ к удаленному источнику защищенного времени каждый раз, когда предоставляют доступ к защищенному контенту.
12. Мобильное устройство по п.9 или 10, в котором одно из множества значений параметров, используемых программными инструкциями в запоминающем устройстве мобильного устройства, указывает, должно ли мобильное устройство осуществлять доступ к удаленному источнику защищенного времени каждый раз, когда включают питание мобильного устройства.
13. Мобильное устройство по п.9 или 10, в котором программные инструкции в запоминающем устройстве мобильного устройства дополнительно выполнены с возможностью побуждения процессора выполнять этапы, на которых:
запрашивают сервер провайдера защищенного контента на периодической основе для определения, существуют ли обновления для любого из множества значений параметров;
загружают обновления для множества значений параметров, если такие обновления существуют; и
сохраняют обновления для множества значений параметров в запоминающем устройстве мобильного устройства.
14. Мобильное устройство по п.13, в котором программные инструкции в запоминающем устройстве мобильного устройства дополнительно выполнены с возможностью побуждения процессора выполнять этап, на котором анализируют и дешифруют загружаемые обновления для множества значений параметров.
15. Мобильное устройство по п.13, в котором программные инструкции в запоминающем устройстве мобильного устройства дополнительно выполнены с возможностью побуждения процессора выполнять этап, на котором принимают обновления для множества значений параметров в SMS сообщении.
16. Мобильное устройство по п.13, в котором программные инструкции в запоминающем устройстве мобильного устройства дополнительно выполнены с возможностью побуждения процессора выполнять этап, на котором загружают обновления для множества значений параметров совместно с покупкой нового защищенного контента.
17. Сервер для предоставления защищенного контента в мобильное устройство, содержащий:
запоминающее устройство большой емкости, в котором хранятся отдельные файлы защищенного контента и база данных, содержащая множество значений параметров, представляющих множество параметров, каждый из которых представляет условие политики, управляющее доступом к защищенному контенту, когда мобильное устройство не имеет доступа к источнику защищенного времени;
при этом первое из множества значений параметров, представляющее первое условие политики, представляет собой первое число разрешенных попыток доступа в течение льготного периода, когда мобильное устройство находится за пределами зоны покрытия обслуживающей сети, а второе из множества значений параметров, представляющее второе условие политики, представляет собой второе число разрешенных попыток доступа в течение льготного периода, когда мобильное устройство находится внутри зоны покрытия обслуживающей сети;
процессор, соединенный с запоминающим устройством большой емкости и выполненный с возможностью подключения к сети беспроводной передачи данных, причем процессор сконфигурирован выполняемыми процессором программными инструкциями для выполнения этапов, на которых:
принимают запрос на загрузку защищенного контента мобильным устройством;
передают в мобильное устройство защищенный контент в ответ на этот запрос; и
передают в мобильное устройство, по меньшей мере, упомянутые первое и второе значения параметров.
18. Сервер по п.17, в котором одно из множества значений параметров представляет собой число разрешенных попыток доступа в течение льготного периода, когда мобильное устройство находится в роуминге.
19. Сервер по п.17 или 18, в котором одно из множества значений параметров указывает, должно ли мобильное устройство осуществлять доступ к удаленному источнику защищенного времени каждый раз, когда предоставляется доступ к защищенному контенту.
20. Сервер по п.17 или 18, в котором одно из множества значений параметров указывает, должно ли мобильное устройство осуществлять доступ к удаленному источнику защищенного времени каждый раз, когда включается питание мобильного устройства.
21. Сервер по п.17 или 18, в котором процессор сконфигурирован выполняемыми процессором программными инструкциями для осуществления доступа к запоминающему устройству большой емкости, для обновления каждого из множества значений параметров, представляющих множество условий политики, управляющих доступом к защищенному контенту, когда мобильное устройство не имеет доступа к источнику защищенного времени.
22. Сервер по п.17 или 18, в котором процессор дополнительно сконфигурирован выполняемыми процессором программными инструкциями для выполнения этапов, на которых:
принимают запросы из мобильного устройства для определения, существует ли обновление для любого из множества значений параметров в запоминающем устройстве большой емкости; и
передают в мобильное устройство, осуществляющее запрос, обновление для множества значений параметров, если обновление существует.
23. Сервер по п.22, в котором процессор сконфигурирован выполняемыми процессором программными инструкциями для выполнения этапа, на котором передают обновления для множества значений параметров в виде зашифрованного файла.
24. Сервер по п.22, в котором процессор сконфигурирован выполняемыми процессором программными инструкциями для выполнения этапов, на которых генерируют SMS сообщение и передают обновления для множества значений параметров, в виде SMS сообщения.
25. Сервер по п.22, в котором процессор дополнительно сконфигурирован выполняемыми процессором программными инструкциями для выполнения этапа, на котором загружают обновления для множества значений параметров, совместно с покупкой нового защищенного контента.
Пломбировальные щипцы | 1923 |
|
SU2006A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
СПОСОБ ПРЕДОСТАВЛЕНИЯ ЛИЦЕНЗИИ УПРАВЛЕНИЯ ЦИФРОВЫМИ ПРАВАМИ ДЛЯ ПОДДЕРЖКИ МНОЖЕСТВА УСТРОЙСТВ | 2004 |
|
RU2283508C2 |
Авторы
Даты
2012-03-20—Публикация
2008-12-24—Подача