Выполнение приложения с разрешенным тестированием
Иллюстрации
Показать всеИзобретение относится к технике связи, в частности к обработке приложений для использования в беспроводном устройстве. Система тестирования и способ выполнения приложения в беспроводном устройстве включает в себя функцию управления для поддержки разрешений на тестирование и для контроля риска предоставления тестовой среды, связанной с тестированием приложений. Технический результат заключается в повышении безопасности, степени защиты и целостности приложений, выполняемых в беспроводном устройстве. 6 н. и 12 з.п. ф-лы, 10 ил.
Реферат
Настоящее изобретение относится к обработке приложений для их использования в беспроводном устройстве и, в частности, касается повышения степени защиты, безопасности и целостности приложений, выполняемых в беспроводном устройстве.
Уровень техники
За последние годы наблюдается бурный рост беспроводной связи. Так как потребители и фирмы все больше полагаются на беспроводные устройства, такие как мобильные телефоны и персональные карманные компьютеры (PDA), провайдеры беспроводных услуг, то есть телекоммуникационные компании, соперничают друг с другом за предоставление дополнительных функциональных возможностей для этих беспроводных устройств. Эти дополнительные функциональные возможности не только повышают спрос на беспроводные устройства, но также увеличивают частоту их использования существующими пользователями. Однако расширение функциональных возможностей, особенно в результате увеличения числа приложений, доступных беспроводному устройству, приводит к возрастанию затрат и сложности, что мешает телекоммуникационным компаниям обеспечивать эти функциональные возможности.
Кроме того, важно обеспечить, чтобы приложение, размещенное в беспроводном устройстве, было правильно выполнено. В настоящее время ответственность за выполнение приложения в беспроводном устройстве лежит на разработчике, производителе беспроводного устройства и/или телекоммуникационной компании. Так как разрабатывается все больше приложений и количество приложений, используемых в беспроводном устройстве, непрерывно растет, среда беспроводных устройств становится все более динамичной. Например, беспроводное устройство в любой заданный момент может выбрать для извлечения или выполнения несколько различных приложений из большого набора имеющихся приложений. Таким образом, обеспечение доставки данного приложения в беспроводное устройство и его надежного выполнения все труднее поддается контролю.
Это особенно актуально потому, что неправильное выполнение приложения может не только губительным образом отразиться на конкретном беспроводном устройстве, но также оказать отрицательное воздействие на работу сети телекоммуникационной компании и других сетевых компонентов, в том числе других беспроводных устройств. Например, одно приложение, если не ограничить его возможности, может получить контроль за управлением мощностью беспроводного устройства и вызвать помехи среди других беспроводных устройств, а также уменьшить общую пропускную способность в соте, обслуживающей данное беспроводное устройство.
В настоящее время ни у производителей беспроводных устройств, ни у телекоммуникационных компаний нет оборудования для выполнения операций, связанных с тестированием и надежным распространением приложений в динамической среде, в которой распространяются и выполняются приложения. Таким образом, особую озабоченность вызывает проблема, состоящая в том, что распространение и выполнение приложений в беспроводных устройствах может нанести ущерб беспроводному устройству, в котором выполняется приложение, сети или другим беспроводным устройствам в этой сети.
Кроме того, возникают другие проблемы надежности (безопасности), поскольку с увеличением количества разработанных приложений среда, через которую эти приложения распространяются в беспроводные устройства, становится все более динамичной. Поскольку количество приложений и количество разработчиков, создающих эти приложения, увеличивается, также возрастает потребность в информации об источнике любого данного приложения, то есть о его разработчике. Телекоммуникационная компания либо производитель телефонной трубки хотят иметь возможность, с определенной степенью надежности, определить источник приложения.
Следовательно, в данной области техники имеется потребность в системе и способе обеспечения более надежной среды для распространения и выполнения приложений в беспроводном устройстве.
Сущность изобретения
Системы и способы, соответствующие настоящему изобретению, преодолевают недостатки существующих систем, предоставляя независимое разрешение на приложение для его тестирования в устройстве.
В одном варианте способ выполнения приложения в беспроводном устройстве заключается в том, что принимают разрешение, связанное с беспроводным устройством, делают запрос на выполнение приложения в беспроводном устройстве, оценивают разрешение, связанное с беспроводным устройством, с использованием правила, хранящегося в беспроводном устройстве, и выполняют приложение в случае, если оценка разрешения и упомянутое правило указывают, что выполнение приложения разрешено. Согласно способу дополнительно делают запрос на выполнение второго приложения в беспроводном устройстве и выполняют второе приложение в ответ на вторую оценку разрешения и правило, указывающие, что выполнение второго приложения разрешено.
В другом варианте настоящего изобретения способ доступа к приложениям в беспроводном устройстве заключается в том, что делают запрос независимого разрешения на приложение для беспроводного устройства, принимают независимое разрешение на приложение, инициируют доступ к первому приложению в беспроводном устройстве, оценивают независимое разрешение на первое приложение в беспроводном устройстве и осуществляют доступ к первому приложению в случае, если оценка независимого разрешения на приложение указывает, что доступ разрешен.
Еще в одном варианте изобретения беспроводное устройство содержит вход для приема независимого разрешения на приложение, запоминающее устройство для запоминания независимого разрешения на приложение и уникального идентификатора, связанного с беспроводным устройством, и управляющую программу, сконфигурированную с возможностью определения доступа к приложению путем оценки независимого разрешения на приложения и уникального идентификатора.
В следующем варианте изобретения способ управления тестированием в устройстве заключается в том, что принимают информацию о профиле (совокупности параметров) для тестирующего объекта, оценивают информацию о профиле для тестирующего объекта, посылают тестовый ключ, связанный с устройством, и отслеживают распространение тестового ключа. Тестовый ключ может представлять собой разрешение на тестирование. Согласно способу дополнительно задают период срока действия тестового ключа, по окончании которого тестовый ключ становится недействительным. Согласно способу также тестируют множество приложений в устройстве, причем при тестировании множества приложений осуществляют оценку тестового ключа перед выполнением каждого из множества приложений.
Краткое описание чертежей
Сопроводительные чертежи, включенные в описание и составляющие его часть, иллюстрируют предпочтительные на сегодняшний день варианты изобретения и вместе с общим описанием, приведенным выше, и подробным описанием предпочтительных вариантов, приведенным ниже, служат для объяснения принципов изобретения. На чертежах:
фиг.1 - блок-схема, иллюстрирующая процесс высокого уровня, состоящий в распространении и выполнении приложений в приведенном в качестве примера варианте осуществления настоящего изобретения;
фиг.2 - блок-схема, иллюстрирующая архитектуру системы, в которой можно практически реализовать приведенный в качестве примера вариант осуществления настоящего изобретения;
фиг.3 - блок-схема, иллюстрирующая архитектуру беспроводной сети, в которой можно практически реализовать систему обработки для надежного распространения приложений в приведенном в качестве примера варианте осуществления настоящего изобретения;
фиг.4 - блок-схема, иллюстрирующая беспроводное устройство и некоторые внутренние компоненты в приведенном в качестве примера варианте осуществления настоящего изобретения;
фиг.5 - блок-схема, иллюстрирующая информацию, которую используют для создания цифровой подписи и передают в беспроводное устройство в приведенном в качестве примера варианте осуществления настоящего изобретения;
фиг.6 - блок-схема, показывающая этапы, которые использует сервер или серверы при распространении приложения в приведенном в качестве примера варианте осуществления настоящего изобретения;
фиг.7 - блок-схема, показывающая этапы, которые использует беспроводное устройство при выполнении приложения в приведенном в качестве примера варианте осуществления настоящего изобретения;
фиг.8 - изображение архитектуры системы, в которой можно реализовать приведенный в качестве примера вариант осуществления настоящего изобретения;
фиг.9 - блок-схема, иллюстрирующая процесс приема разрешения на тестирование в приведенном в качестве примера варианте осуществления настоящего изобретения; и
фиг.10 - процесс выполнения приложения, имеющего разрешение на тестирование, хранящееся в беспроводном устройстве, в приведенном в качестве примера варианте осуществления настоящего изобретения.
Подробное описание предпочтительного варианта осуществления изобретения
Теперь обратимся к приведенным в качестве примера и предпочтительным на сегодняшний день вариантам осуществления изобретения, показанным на сопроводительных чертежах, на которых одинаковые ссылочные позиции обозначают одинаковые или соответствующие части на всех чертежах. Характерные особенности, задачи и преимущества настоящего изобретения станут более очевидными специалистам в данной области техники после рассмотрения последующего подробного описания вместе с сопроводительными чертежами.
Введение
В настоящем изобретении предлагается надежное (безопасное) и защищенное распространение и выполнение приложений на основе предложенных систем и способов, которые тестируют приложение, гарантируя, что оно удовлетворяет требованиям среды, в которой будет выполняться. Кроме того, на основе использования правил и списка разрешений, удаления приложений и способа обнаружения модификаций, такого как цифровые подписи, в настоящем изобретении предложены механизмы для надежного (безопасного) распространения и выполнения тестированного или не тестированного приложения путем определения того, было ли модифицировано данное приложение; определения того, имеется ли разрешение на его выполнение в данной среде беспроводных устройств; и удаления приложения, если это потребуется.
Специалистам в данной области техники должно быть понятно, что в предшествующем материале для простоты описания распространяются и выполняются файлы типа приложений. Термин «приложение» может также включать в себя файлы, имеющие исполнимое содержимое, такие как: объектный код, сценарии (скрипты), файл Java, файл закладок (или PQA файлы), WML сценарии (скрипты), байтовый код и PERL сценарии. Кроме того, используемый здесь термин «приложение» может также включать в себя файлы, которые на самом деле не являются исполнимыми, такие как документы, которые возможно потребуется открывать, либо другие файлы данных, к которым необходим доступ.
На фиг.1 представлена блок-схема, иллюстрирующая процесс высокого уровня, состоящий в распространении и выполнении приложений согласно приведенному в качестве примера варианту осуществления настоящего изобретения. Один вариант осуществления настоящего изобретения предоставляет возможность связать идентификацию разработчика с данным приложением; выполняет тестирование приложения для среды, в которой предполагается его выполнение; выдает разрешения, которые можно использовать для указания о том, какие устройства и системы могут выполнять данное приложение; и обеспечивает удаление приложения, если приложение выполняет недопустимые или нежелательные действия.
Предпочтительно, чтобы системы и способы с целью повышения надежности (безопасности) распространения и выполнения приложения использовали все указанные технологии. Однако понятно, что повышению надежности (безопасности) распространения и выполнения приложения будет способствовать использование даже одной или нескольких из указанных технологий.
Процесс высокого уровня начинается с привязки идентификационных данных разработчика к приложению (этап 100). Этот процесс может быть выполнен путем привязки идентификационных данных разработчика к приложению при его распространении. В альтернативном варианте соответствующие идентификационные данные разработчика могут храниться вместе с соответствующим приложением на сервере в системе. Также предпочтительно, чтобы идентификационные данные разработчика хранились и были связаны с информацией приложения, так чтобы их нельзя было легко изменить.
Затем выполняется тестирование приложения на предмет выполнения недопустимых операций (этап 105). Приложение может быть использовано в среде, в которой недопустимые операции могут не только оказать воздействие на устройство, в котором выполняется приложение, но также на другие устройства, которые к нему подсоединены или работают с ним в общей сети. Тестирование приложения предпочтительно выполнять таким образом, чтобы оно не привело к появлению неправильных системных вызовов или негативно воздействовало на данное устройство или другие подсоединенные к нему устройства во время работы приложения. В одном варианте это тестирование выполняется в процессе сертификации, при котором приложение тестируют с целью определения того, удовлетворяет ли оно заданным критериям. Также для тестирования приложения предпочтительно, обеспечить процесс сертификации, не зависящий от разработчика. Независимость процесса сертификации способствует более точному и надежному тестированию.
Перед выполнением приложения осуществляется его проверка, чтобы определить, «разрешается» ли его выполнение в данном устройстве (этап 110). Эта проверка может быть выполнена путем использования разрешений и правил, описанных ниже, либо с помощью других механизмов разрешения, известных специалистам в данной области техники. Кроме того, предпочтительно, чтобы проверка приложения выполнялась перед каждой попыткой его выполнения. Такой перманентный процесс проверки повышает надежность (безопасность) выполнения приложения. Например, этим обеспечивается защита от приложения, зараженного вирусом Trojan horse, который мог проникнуть в это приложение в исполняющем устройстве через другое приложение.
Затем приложение, которое выполняет недопустимую или нежелательную операцию, удаляется из устройства (этап 115). Это предотвращает возможность того, что работа приложения приведет к дополнительным повреждениям, а также освобождает память устройства для других пользователей. В альтернативном варианте удаление приложения из беспроводного устройства не является обязательным. Удаление приложения может означать блокировку его выполнения, при этом само приложение остается в устройстве.
На фиг.2 изображена архитектура системы, в которой можно практически реализовать приведенный в качестве примера вариант осуществления изобретения. Разработчик 200 создает приложение для использования в беспроводном устройстве 230. Как было описано выше, специалистам в данной области техники понятно, что, хотя предшествующее описание включает в себя тип файлов - приложения, можно использовать и другие типы файлов. Кроме того, специалистам в данной области техники понятно, что настоящее изобретение можно использовать с другими беспроводными и не беспроводными устройствами, а также оно может использовать беспроводные и не беспроводные сети или их комбинацию.
Обычно разработчик 200 имеет набор спецификаций для разработки приложения, выполняемого в беспроводном устройстве 230. В одном варианте беспроводное устройство включает в себя программную платформу (платформу программного обеспечения), облегчающую взаимодействие приложения с беспроводным устройством, такую как программный продукт BREWTM, разработанный QUALCOMM, Incorporated, со штаб-квартирой в Сан-Диего, Калифорния. Разработчик может создать приложение, удовлетворяющее требованиям программной платформы, или программным средствам BREWTM, определенным стандартам и соглашениям.
Разработчик 200 в одном варианте связан с центральным сервером 205, так что он может передать приложение на центральный сервер 205 электронным путем. В одном варианте центральным сервером является сервер Центрального управления приложениями (ACCHQ), используемый при распространении приложений в беспроводные устройства. Разработчик 200 может снабдить приложение цифровой подписью (дополнительно обсуждается ниже), наличие которой позволяет определить, было ли модифицировано данное приложение. Очевидно, что в физическом соединении с центральным сервером нет необходимости. Разработчик 200 может, например, послать на центральный сервер 205 приложение, записанное на компакт-диске, к примеру, почтовым отправлением первого класса.
Кроме того, разработчик посылает на центральный сервер 205 различную информацию, идентифицирующую источник. Эта информация, идентифицирующая источник, может включать в себя информацию любого типа, которая может быть связана с приложением и идентифицирует разработчика: к примеру, название компании, идентификационные данные компании по налоговому ведомству либо другую идентифицирующую информацию.
Центральный сервер 205 либо сам, либо вместе с сервером 210 сертификации используется при анализе и сертификации приложений. В одном варианте сервер сертификации представляет собой центр управления приложениями (АСС). В одном варианте сервер 210 сертификации анализирует приложение, чтобы определить, удовлетворяет ли приложение заданным критериям сертификации, которые может использовать разработчик в качестве руководящих указаний при разработке приложения. Критерии сертификации могут представлять собой любые критерии, которым должно удовлетворять приложение перед его выполнением в беспроводном устройстве. Указанные критерии могут включать проверку того: (а) что приложение функционирует, как это заявлено разработчиком, а значит, что оно не оказывает отрицательного воздействия на работу беспроводного устройства (например, оно не выводит из строя телефон); (b) что приложение не осуществляет доступ к тем данным или областям памяти, к которым доступ не положен (например, приложение не осуществляет доступ к данным или файлам, принадлежащим другим приложениям, операционной системе или программным средствам платформы); и (с) что приложение не оказывает неблагоприятного воздействия на ресурсы беспроводных устройств, к примеру, не монополизирует вход и выход данного беспроводного устройства в ущерб другим устройствам.
Центральный сервер 205 может также задать набор разрешений, связанных с приложением. Этот список разрешений определяется различными факторами, включая анализ того, прошло ли беспроводное устройство через процесс сертификации; в каких сетях 220 разрешено выполнение приложение; и поддерживает ли беспроводное устройство данное приложение. Для определения списка разрешений может быть использовано множество факторов, выбор которых остается за специалистами в данной области техники при реализации настоящего изобретения.
Центральный сервер 205 принимает информацию, идентифицирующую разработчика, и сопоставляет ее с приложением, созданным разработчиком 200. Если с приложением возникнут какие-либо проблемы, то центральный сервер сможет идентифицировать источник приложения. В одном варианте информация о разработчике поступает в беспроводное устройство 230, так что упомянутое сопоставление может выполнить само беспроводное устройство или другие системы, подсоединенные к этому беспроводному устройству.
В одном варианте центральный сервер также соединен с сервером 215 загрузки приложений (ADS). Сервер 215 загрузки приложений используется для взаимодействия с беспроводным устройством через беспроводную сеть 220 для загрузки приложения. Центральный сервер может также выслать список разрешений и информацию о разработчике, связанную с данным приложением, на сервер ADS, в котором эта информация может храниться до передачи в беспроводное устройство. Предпочтительно, чтобы приложение, список разрешений и идентификационные данные разработчика имели цифровую подпись от центрального сервера для повышения уровня защиты от модификации.
Специалистам в данной области техники очевидно, что сервер ADS можно использовать для соединения с множеством сетей 220 для распространения приложений, файлов и другой информации в различные беспроводные устройства 230. Кроме того, для передачи в беспроводное устройство списка разрешений на использование приложения и идентификационных данных разработчика можно использовать как беспроводные, так и не беспроводные сети.
В ответ на запрос приложения сервер ADS 215 через сеть 220 высылает в беспроводное устройство 230 приложение, список разрешений, идентификационные данные разработчика и цифровую подпись (подписи). В одном варианте беспроводное устройство 230 содержит ключ для проверки цифровой подписи, чтобы определить, было ли модифицировано приложение; список разрешений; и/или информацию о разработчике.
Предпочтительно, чтобы в случае применения цифровых подписей в настоящем изобретении центральный сервер использовал ключ защиты для создания цифровой подписи и устанавливал в беспроводном устройстве ключ для оценки цифровой подписи. При использовании ключа защиты беспроводное устройство будет иметь более высокую степень уверенности в том, что цифровая подпись была создана центральным сервером, а не мошенником.
Беспроводное устройство может инициировать удаление приложения в случае, если приложение вызвало появление каких-либо ошибок в беспроводном устройстве, либо удалять приложение по какой-либо другой требуемой причине. Кроме того, приложение может быть удалено из беспроводного устройства на основе запроса от ADS или центрального сервера. Такой процесс удаления приложения обеспечивает дополнительную защиту среды беспроводного устройства от повторного выполнения поврежденных приложений и/или приложений, наносящих ущерб окружающей данное устройство среде.
На фиг.3 изображена архитектура беспроводной сети, в которой можно практически реализовать систему распространения приложений в приведенном в качестве примера варианте осуществления настоящего изобретения. Центральный сервер 302 является объектом, который сертифицирует сам или вместе с сервером сертификации прикладные программы, совместимые с заданным набором стандартов или соглашениями по программированию. Как было описано выше, эти стандарты программирования могут быть установлены таким образом, что приложение будет выполняться на программной платформе, такой как платформа BREWTM .
В одном варианте база данных 304 центрального сервера состоит из записи с идентификационными данными для каждой прикладной программы, загруженной в любой момент времени в каждое беспроводное устройство 330 в сети 300, электронным служебным номером («ESN») для лица, которое загрузило прикладную программу, и мобильным идентификационным номером (MIN), являющимся уникальным для беспроводного устройства 330, несущего данную прикладную программу. В альтернативном варианте база данных 304 центрального сервера содержит записи для каждого беспроводного устройства 330 в сети 300 модели беспроводных устройств, для телекоммуникационной компании, владеющей беспроводной сетью, для региона, в котором используется беспроводное устройство 330, а также любую другую информацию, которую можно использовать для определения того, какие прикладные программы несет в себе то или иное беспроводное устройство 330. Кроме того, в базе данных центрального сервера также может храниться информация, связанная с приложением, которая идентифицирует разработчика.
Центральный сервер 302 может также включать в себя источник 322 команд удаления. Источник 322 команд удаления - это человек (люди) или объект (объекты), который принимает решение удалить одну или несколько намеченных прикладных программ. Источник 322 команд удаления также является объектом, который формирует команду 316 удаления (обсуждаемую ниже), транслируемую в идентифицированное беспроводное устройство 330, которое несет намеченную прикладную программу (программы). В альтернативном варианте, а не как ограничение, источник 322 команд удаления может представлять собой одного или нескольких человек или объектов, имеющих отношение к разработке и выпуску намеченной прикладной программы, людей или объектов, имеющих отношение к изготовлению беспроводного устройства 330, и/или людей или объектов, имеющих отношение к функционированию любой части сети 300.
Центральный сервер 302 осуществляет связь с одним или несколькими компьютерными серверами 306, например ADS, через сеть 308, такую как сеть Интернет (предпочтительно защищенную). Серверы 306 через сеть 308 также имеют связь с сетью 310 телекоммуникационной компании. Сеть 310 телекоммуникационной компании осуществляет связь с центром коммутации мобильной связи (ЦКМ, MSC) 312 как через сеть Интернет, так и обычную систему телефонной связи (POTS) (показаны на фиг.3 под обобщенной ссылкой 311). По соединению 311 через Интернет между сетью 310 телекоммуникационной компании и ЦКМ 312 пересылаются данные, а POTS 311 пересылает речевую информацию. В свою очередь, ЦКМ 312 подсоединен к множеству базовых станций (БПС, BTS) 314. ЦКМ 312 подсоединен к БПС как через Интернет 311 (для пересылки данных), так и через POTS 311 (для речевой информации). БПС 314 посылает сообщение беспроводным путем в беспроводные устройства 330, используя услугу передачи коротких сообщений (SMS) либо любой другой способ эфирной передачи.
Одним из примеров сообщения, посылаемого базовой станцией БПС 314 в настоящем изобретении, является команда 316 удаления. Как обсуждается ниже, беспроводное устройство 330 в ответ на прием команды 316 удаления реагирует, деинсталлируя намеченную прикладную программу 109, хранящуюся в беспроводном устройстве 330. Команда 316 удаления формируется источником 322 команд удаления (который может быть либо нет тем же самым человеком (людьми) или объектом (объектами), который принял решение инициировать удаление намеченной прикладной программы 109). Команда 316 удаления посылается источником 322 команд удаления через сеть 300 для трансляции в беспроводные устройства 330.
Другим примером сообщения, транслируемого базовой станцией БПС 314, является сообщение 318 об удалении. Как обсуждается ниже, сообщение 316 об удалении - это сообщение, которое транслируется в беспроводное устройство 330, несущее намеченную прикладную программу, и является командой на деинсталляцию намеченной прикладной программы. В ответ на сообщение 316 об удалении беспроводное устройство 330 автоматически устанавливает связь с источником 320 сообщений об удалении. Источник 320 сообщений об удалении посылает в беспроводное устройство 330 информацию с идентификационными данными намеченной прикладной программы. В ответ на прием этой информации беспроводное устройство 330 деинсталлирует намеченную прикладную программу.
Источником 320 сообщения об удалении может быть тем же объектом, что и центральный сервер 302. В альтернативном варианте, и не как ограничение, источником 320 сообщения об удалении может быть один или несколько человек или объектов, имеющих отношение к разработке и выпуску намеченной прикладной программы 109, люди или объекты, имеющие отношение к изготовителю беспроводного устройства 330, и/или люди или объекты, имеющие отношение к функционированию любой части сети 300.
Аналогичным образом вышеуказанную сеть можно использовать для посылки приложения, списка разрешений и соответствующих цифровых подписей от центрального сервера на различные серверы 306 (например, ADS') через ЦКМ и БПС на беспроводные устройства 330.
В результате использования сообщения об удалении, как это было описано в вышеуказанном варианте, повышается надежность (безопасность) распространения и выполнения приложений, благодаря обеспечению механизма деинсталляции поврежденных или нежелательных приложений. Специалистам в данной области техники очевидно, что, хотя выше описывалась команда удаления, инициируемая центральным сервером, инициировать удаление или деинсталляцию приложения и связанной с ним информации может также и само беспроводное устройство.
На фиг.4 показано беспроводное устройство и некоторые внутренние компоненты в приведенном в качестве примера варианте осуществления настоящего изобретения. Хотя этот вариант подразумевает применение беспроводного устройства 400, его используют здесь в качестве примера, а не как какое-либо преднамеренное ограничение. В альтернативном варианте изобретение может быть выполнено в виде любого удаленного модуля, способного осуществлять связь через сеть, в том числе, но не как ограничение, в виде беспроводных и не беспроводных устройств, таких как персональные карманные компьютеры (PDA), беспроводные модемы, карты PCMCIA (Международная организация производителей карт памяти для персональных компьютеров), терминалы доступа, персональные компьютеры, устройства без дисплея или клавиатуры, либо любая их комбинация или субкомбинация. Эти примеры удаленных модулей могут также содержать пользовательский интерфейс, такой как клавиатура, визуальное устройство отображения или звуковое устройство отображения.
Беспроводное устройство 400, показанное на фиг.4, имеет специализированную интегральную схему (ASIC) 415, установленную во время изготовления беспроводного устройства 400. Схема ASIC представляет собой компонент аппаратного обеспечения, который приводится в действие программными средствами, включенными в состав ASIC. В беспроводном устройстве 400 во время его изготовления также устанавливают интерфейс прикладного программирования (API) 410. В одном варианте интерфейс API представляет собой платформу BREW API или программную платформу. API 410 является программным продуктом, сконфигурированным с возможностью взаимодействия со схемой ASIC. API 410 выступает в качестве интерфейса между аппаратными средствами ASIC 415 и прикладными программами (обсуждаемыми ниже), инсталлированными в беспроводном устройстве 400. В альтернативном варианте беспроводное устройство 400 может содержать схемы любого другого вида, обеспечивающие совместимость программ с аппаратной конфигурацией беспроводного устройства 400. Беспроводное устройство 400 также имеет запоминающее устройство 405. Запоминающее устройство 405 состоит из ОЗУ (RAM) и ПЗУ (ROM), но в альтернативном варианте может представлять собой память любого вида, такую как СППЗУ, ЭСППЗУ или вставки плат флэш-памяти.
Область 405 памяти беспроводного устройства можно использовать для хранения принятых приложений и списков разрешений (425). Кроме того, область 405 памяти можно использовать для хранения одного или нескольких «ключей» 405. Эти ключи можно использовать для цифровой подписи, применяя алгоритм подписи для определения того, была ли модифицирована подписанная информация.
В беспроводном устройстве 400 также могут быть инсталлированы правила 435. Эти правила можно использовать вместе со списком разрешений для определения того, разрешено ли выполнение приложения. Например, правило может устанавливать, что выполнение приложения разрешено, если в списке разрешений установлен флаг сертификации (то есть флаг, указывающий, что приложение прошло сертификацию). Список разрешений будет иметь установленный флаг сертификации, либо нет в зависимости от того, прошло ли приложение сертификацию. Выдача разрешения либо отказа на выполнение приложения происходит на основе применения упомянутого правила к информации, содержащейся в списке разрешений.
Изготовитель (не показан) беспроводного устройства 400 загружает прикладные программы в память 405 беспроводного устройства 400 во время изготовления беспроводного устройства 400. Эти прикладные программы могут представлять собой любую программу, потенциально полезную или привлекающую внимание пользователя беспроводного устройства, такие как игры, книги или данные или программные продукты любого другого типа. Прикладные программы также могут загружаться в беспроводное устройство 400 по радиоканалу после изготовления беспроводного устройства.
Во время изготовления беспроводного устройства 400 изготовитель может также загрузить программу удаления (не показана) в память 405 беспроводного устройства 400. Программа удаления также может быть инсталлирована по радиоканалу после изготовления беспроводного устройства 400.
При выполнении беспроводным устройством 400 программа удаления деинсталлирует одну или несколько намеченных прикладных программ из одного из приложений, хранящихся в беспроводном устройстве 400. Намеченная прикладная программа - это прикладная программа, которую необходимо деинсталлировать из беспроводного устройства 400 по различным причинам, обсуждаемым ниже.
Программа удаления может быть дополнительно или в качестве альтернативного варианта запрограммирована на блокирование намеченной прикладной программы или ее перепрограммирования для выполнения иным образом.
Беспроводное устройство 400 имеет локальную базу данных 420, установленную производителем. Интерфейс API беспроводного устройства запрограммирован на автоматическое обновление локальной базы данных 420 с помощью записи идентифицирующей информации о каждой из прикладных программ, хранящихся в беспроводном устройстве 400. Локальная база данных 420 содержит запись идентификационных данных подписей, уникальных для каждой прикладной программы, хранящейся в беспроводном устройстве 402. Кроме того, локальная база данных 420 может содержать запись о местоположении прикладных программ в памяти 405 беспроводного устройства 400 и любую другую информацию, полезную для слежения за тем, какие прикладные программы загружены в беспроводное устройство 400, и где они находятся.
На блок-схеме по фиг.5 показана информация, используемая для создания цифровой подписи, которая передается в беспроводное устройство в приведенном в качестве примера варианте осуществления настоящего изобретения. Как известно специалистам в данной области техники, цифровые подписи можно использовать для слежения за тем, был ли модифицирован цифровой файл. Как было описано ранее, цифровые подписи можно применить в любом цифровом файле, включая документы, приложения, базы данных и т.п. Обычно цифровая подпись создается с применением ключа к файлу на основе использования алгоритма подписи. Эта цифровая подпись создается с использованием информации, содержащейся в данном файле. Обычно цифровую подпись посылают принимающей стороне вместе с файлом. Принимающая сторона файла и цифровой подписи может затем применить к принятому файлу и цифровой подписи ключ для определения того, был ли модифицирован этот файл во время его передачи принимающей стороне.
Ключи, применяемые при создании и оценке цифровой подписи, можно использовать для определения идентификации подписавшей стороны. Например, можно сформировать ключ для создания объектом цифровой подписи и поддержания безопасности. Этот объект может распространять соответствующий ключ, который можно использовать для оценки цифровой подписи. Если поддерживается защита ключа, и он не был несанкционированно раскрыт, то принимающая сторона, оценивающая цифровую подпись, может не только определить, была ли модифицирована информация, но также установить идентификацию подписавшей стороны.
В альтернативном варианте объекты третьей стороны могут создавать ключи для заданных объектов с обеспечением их защиты. В этом случае принимающая сторона, имеющая ключ, связанный с определенными идентификационными данными, сможет определить, являлся ли этот объект подписавшей стороной.
В одном варианте осуществления настоящего изобретения цифровая подпись 515 формируется путем использования в качестве входных данных для алгоритма 530 цифровой подписи следующего: ключа 525 подписавшей стороны, например, ключа центрального сервера на фиг. 2; приложения 500; списка 505 разрешений; и информации 510, идентифицирующей разработчика. В рез