RU2295753C2 - Безопасное распределение и выполнение приложений в беспроводной среде - Google Patents

Безопасное распределение и выполнение приложений в беспроводной среде Download PDF

Info

Publication number
RU2295753C2
RU2295753C2 RU2003137835/09A RU2003137835A RU2295753C2 RU 2295753 C2 RU2295753 C2 RU 2295753C2 RU 2003137835/09 A RU2003137835/09 A RU 2003137835/09A RU 2003137835 A RU2003137835 A RU 2003137835A RU 2295753 C2 RU2295753 C2 RU 2295753C2
Authority
RU
Russia
Prior art keywords
application
permission
wireless device
developer
execute
Prior art date
Application number
RU2003137835/09A
Other languages
English (en)
Other versions
RU2003137835A (ru
Inventor
Лоренс ЛАНДБЛЭЙД (US)
Лоренс ЛАНДБЛЭЙД
Марк С. ФИЛЛИПС (US)
Марк С. ФИЛЛИПС
Брайан МАЙНИР (US)
Брайан МАЙНИР
Ян ЗУАНГ (US)
Ян ЗУАНГ
Ананд КРИШНАН (US)
Ананд КРИШНАН
Стефен А. СПРИГГ (US)
Стефен А. СПРИГГ
Мазен ЧМАЙТЕЛЛИ (US)
Мазен ЧМАЙТЕЛЛИ
Митчелл ОЛИВЕР (US)
Митчелл ОЛИВЕР
Джеральд ОРЕЛЬ (CA)
Джеральд ОРЕЛЬ
Карен КРОССЛЭНД (US)
Карен КРОССЛЭНД
Original Assignee
Квэлкомм Инкорпорейтед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Квэлкомм Инкорпорейтед filed Critical Квэлкомм Инкорпорейтед
Publication of RU2003137835A publication Critical patent/RU2003137835A/ru
Application granted granted Critical
Publication of RU2295753C2 publication Critical patent/RU2295753C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H4/00Swimming or splash baths or pools
    • E04H4/0006Devices for producing waves in swimming pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/0093Training appliances or apparatus for special sports for surfing, i.e. without a sail; for skate or snow boarding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/04Games or sports accessories not covered in groups A63B1/00 - A63B69/00 for small-room or indoor sporting games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63GMERRY-GO-ROUNDS; SWINGS; ROCKING-HORSES; CHUTES; SWITCHBACKS; SIMILAR DEVICES FOR PUBLIC AMUSEMENT
    • A63G31/00Amusement arrangements
    • A63G31/007Amusement arrangements involving water
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T29/00Metal working
    • Y10T29/49Method of mechanical manufacture
    • Y10T29/49826Assembling or joining
    • Y10T29/49947Assembling or joining by applying separate fastener

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Настоящее изобретение относится к обработке приложений для использования в беспроводном устройстве. Технический результат заключается в обеспечении безопасного и защищенного распределения и исполнения приложения с помощью систем и способов, которые тестируют приложение на соответствие заранее определенным критериям, связанным со средой, в которой оно будет исполняться. Используя правила и списки разрешений, выгрузку приложения и технологию обнаружения изменений, такие как цифровая подпись, настоящее изобретение предоставляет механизмы для безопасного распределения и исполнения тестированных или не тестированных приложений, определяя, было ли приложение изменено, имеет ли приложение разрешение на исполнение в данной среде беспроводных устройств, и выгружая приложение. 15 н. и 38 з.п. ф-лы, 7 ил.

Description

Настоящее изобретение относится к обработке приложений для использования в беспроводном устройстве и, более конкретно, к повышению безопасности, защищенности и сохранности приложений, выполняемых на беспроводных устройствах.
В последние годы беспроводная связь развивается взрывоподобными темпами. По мере того, как потребители и бизнес все более полагаются на свои беспроводные устройства, такие как мобильные телефоны и персональные цифровые помощники (PDA), провайдеры беспроводных услуг, например владельцы беспроводных сетей, стремятся повысить функциональность таких беспроводных устройств. Такая дополнительная функциональность не только повысила бы спрос на беспроводные устройства, но и привела бы к более широкому их использованию уже существующими владельцами. Однако повышение функциональности, в частности расширение приложений, к которым имеют доступ беспроводные устройства, дорого и усложнено, что мешает владельцам беспроводных сетей предоставлять такую функциональность.
Более того, почти нет уверенности в том, что приложение, загруженное в беспроводное устройство, будет работать правильно. В настоящее время надежды на способность приложения выполняться на беспроводном устройстве возлагаются на разработчика этого приложения, изготовителя беспроводного устройства и/или владельцев беспроводных сетей. Чем больше разрабатывается приложений и чем больше становится количество приложений в беспроводном устройстве, тем более динамичной становится среда беспроводного устройства. Например, беспроводное устройство в любой данный момент времени может отыскивать или выполнять множество различных приложений из большого пула доступных приложений. Следовательно, становится все более сложно контролировать загрузку каждого данного приложения и его безопасное выполнение на беспроводном устройстве.
Это становится особенно важным, поскольку неправильное выполнение приложения может не только нанести вред беспроводному устройству, но и причинить ущерб беспроводной сети и сетевым компонентам, включая другие беспроводные устройства. Например, одно приложение, если его не ограничить, может взять под контроль средства управления мощностью беспроводного устройства и создавать помехи для других беспроводных устройств, снижая общую емкость ячейки, обслуживающей это беспроводное устройство.
В настоящее время ни изготовители беспроводных устройств, ни владельцы беспроводных сетей не имеют технических средств для тестирования и безопасного распределения приложений в динамической среде распределения и выполнения приложений. Таким образом, существует опасность того, что приложение, загруженное в беспроводное устройство и выполняемое на нем, может причинить вред беспроводному устройству, беспроводной сети или другим компонентам сети.
Кроме того, по мере разработки большего числа приложений и повышения динамичности среды, в которой эти приложения распределяются по беспроводным устройствам, возникают и другие проблемы безопасности. С ростом количества приложений и их разработчиков также растет и желание узнать источник любого данного приложения, т.е. его разработчика. Владельцы беспроводных сетей или изготовители носимых устройств захотят убедиться с определенной степенью уверенности, что они смогут определить источник приложения, если это приложение причинит вред.
Следовательно, имеется потребность в системе и способе для создания более безопасной среды для распределения и выполнения приложений на беспроводном устройстве.
Система и способ по настоящему изобретению преодолевают недостатки существующих систем путем создания более безопасной среды для распределения и выполнения приложений, которая тестирует приложения по заранее определенным стандартам, обеспечивает трассируемость для разработчика для исключения искажений информации, проверяет приложения на несанкционированные модификации, позволяет удалить приложение из беспроводного устройства и/или использовать правила и систему разрешений, которые определяют среду, в которой приложение может выполняться.
Сертификация приложений на предмет соответствия заранее определенным стандартам дает возможность заранее обнаружить возможные ошибки, которые могут возникнуть во время выполнения. Это помогает предотвратить вредный эффект, способный возникнуть при выполнении приложения.
Трассируемость позволяет обеспечить отсутствие искажений информации. Если с приложением возникают проблемы, полезно отследить путь к источнику приложения, т.е. к разработчику, чтобы исправить такую проблему. Кроме того, функция трассируемости не позволит разработчикам как умышленно, так и случайно создавать приложения, которые дают вредные результаты.
Кроме того, возможность определить, было ли приложение модифицировано еще до его загрузки в беспроводное устройство, дает преимущество в повышении безопасности, гарантируя, что принятое приложение является тем же самым, которое было отправлено. Поскольку в беспроводной среде приложения распределяются более свободно, способность обнаружить модификацию приложения повышает уверенность в том, что принятое беспроводным устройством приложение не было умышленно или случайно изменено.
Создание набора правил и разрешений, которые определяют когда приложения могут исполняться, также повышает безопасность системы распределения и выполнения приложений, предотвращая несанкционированное исполнение приложений на платформах, например в системах или средах, для которых оно не предназначено.
Возможность удалить приложение из беспроводного устройства также повышает безопасность системы распределения приложений. Если приложение установлено на носимом устройстве либо изготовителем такого устройства, либо путем загрузки, наличие механизма для выгрузки приложения из-за непредвиденных негативных последствий повышает безопасность системы распределения и выполнения приложений за счет удаления вредного и нежелательного кода, который может создавать вредные эффекты. Системы и способы по настоящему изобретению могут обращаться к одной или нескольким описанным здесь технологиям. Однако обращение ко всем описанным и указанным здесь технологиям обеспечивает системам и способам по настоящему изобретению возможность высококачественного и безопасного распределения и исполнения приложений.
В одном варианте настоящего изобретения раскрывается способ распределения и обработки приложения, который содержит этапы, на которых принимают приложение и идентифицирующую информацию, проверяют, что приложение удовлетворяет заранее определенным критериям, присваивают приложению разрешение, передают приложение, разрешение и идентифицирующую информацию на устройство, используя технологию обнаружения модификаций, определяют, было ли приложение модифицировано при передаче, вводят правило в запоминающее устройство, определяют с помощью правила и разрешения, может ли приложение выполняться, и выгружают приложение из устройства.
В другом варианте настоящего изобретения раскрывается способ выполнения приложения на беспроводном устройстве, который содержит этапы, на которых вводят в запоминающее устройство правило для оценки разрешения, принимают информацию, содержащую приложение, разрешение и идентификатор, используя технологию обнаружения модификаций, принимают запрос на исполнение приложения на беспроводном устройстве, оценивают принятую информацию для определения наличия в ней модификаций, если принятая информация не была модифицирована, оценивают разрешение, ассоциированное с приложением, и, если разрешение дано, выполняют приложение.
В еще одном варианте настоящего изобретения раскрывается способ выполнения приложения на беспроводном устройстве, который содержит этапы, на которых вводят в устройство правило для оценки разрешения, принимают информацию, относящуюся к приложению, разрешению и идентификатору с использованием технологии определения наличия модификаций, принимают запрос на исполнение приложения на беспроводном устройстве, оценивают принятую информацию на предмет обнаружения модификаций, если принятая информация не была модифицирована, оценивают разрешение, ассоциированное с приложением, и, если разрешение дано, выполняют приложение.
На прилагаемых чертежах, являющихся неотъемлемой частью настоящего описания, приведены иллюстрации предпочтительных в настоящее время вариантов осуществления настоящего изобретения, которые в сочетании с общим описанием, приведенным выше, и подробным описанием предпочтительных вариантов, приводимым ниже, служат для пояснения принципов настоящего изобретения. На чертежах:
Фиг.1 - блок-схема, иллюстрирующая процесс высокого уровня безопасного распределения и исполнения приложений в примерном варианте настоящего изобретения.
Фиг.2 - блок-схема, иллюстрирующая архитектуру системы, в которой может быть реализован примерный вариант настоящего изобретения.
Фиг.3 - блок-схема, иллюстрирующая архитектуру беспроводной сети, в которой может быть реализована система безопасного распределения и исполнения приложений по примерному варианту настоящего изобретения.
Фиг.4 - блок-схема, иллюстрирующая беспроводное устройство и некоторые внутренние компоненты в примерном варианте настоящего изобретения.
Фиг.5 - блок-схема, иллюстрирующая информацию, используемую для создания цифровой подписи, передаваемой на беспроводное устройство в примерном варианте настоящего изобретения.
Фиг.6 - блок-схема, иллюстрирующая этапы, применяемые на сервере или серверах при распределении приложения в примерном варианте настоящего изобретения.
Фиг.7 - блок-схема, иллюстрирующая этапы, используемые в беспроводном устройстве при исполнении приложения в примерном варианте настоящего изобретения.
Ниже приводятся ссылки на примерный и предпочтительный варианты настоящего изобретения, показанные на прилагаемых чертежах, где на всех чертежах одинаковыми позициями обозначены одинаковые или подобные детали.
Сущность, достигаемый результат и преимущества настоящего изобретения будут более понятны специалистам из нижеследующего подробного описания в сочетании с прилагаемыми чертежами.
Настоящее изобретение обеспечивает безопасное и защищенное распределение и исполнение приложений с помощью систем и способов, которые тестируют приложение, чтобы убедиться, что оно удовлетворяет заранее определенным критериям, связанным со средой, в которой оно будет исполняться. Более того, используя списки правил и разрешений, удаление приложений и технологию обнаружения модификаций, такую как цифровая подпись, настоящее изобретение обеспечивает механизмы безопасного распределения и исполнения тестированных или не тестированных приложений путем определения, было ли приложение модифицировано, имеет ли оно разрешение на исполнение в данной среде беспроводного устройства и путем выгрузки приложения, если это является желательным.
Из вышесказанного специалистом должно быть ясно, что речь идет о файле прикладной программы, который распределяется и исполняется. «Приложение» также может включать файлы, имеющие исполняемое содержимое, такое как объектный код, сценарии, ява-файлы, файлы закладок (или PQA-файлы), WML-сценарии, побайтовый код и сценарии на языке Perl. Кроме того, упоминаемое здесь «приложение» может также содержать файлы, которые по своей природе не являются исполняемыми, такие как документы, которые должны открываться, или другие файлы данных, к которым необходимо получить доступ.
На фиг.1 представлена блок-схема, иллюстрирующая процесс высокого уровня безопасного распределения и исполнения приложения способом по примерному варианту настоящего изобретения. Вариант настоящего изобретения позволяет вводить в приложение идентификатор разработчика, тестировать приложение для среды, в которой оно должно работать, присваивать разрешения, которые можно использовать для определения, какие устройства или системы могут исполнять это приложение, и обеспечивает выгрузку приложения, если оно выполнит недопустимые или нежелательные действия. Для повышения безопасности распределения и исполнения приложений предпочтительно, чтобы системы и способы использовали все эти технологии. Однако следует понимать, что использование даже одной или нескольких из этих технологий приводит к повышению безопасности распределения и исполнения приложений.
Процесс высокого уровня начинается с присвоения приложению идентификатора разработчика (шаг 100). Этот процесс может выполняться путем связывания идентификатора разработчика с приложением при его распределении. Альтернативно, ассоциированный идентификатор разработчика может храниться вместе с соответствующим приложением на сервере в системе. Предпочтительно также, чтобы информация идентификатора разработчика хранилась и ассоциировалась с приложением так, чтобы ее нельзя было легко модифицировать.
Затем приложение тестируется на неправильную работу (шаг 105). Приложение может использоваться в среде, где неправильная операция может повлиять не только на устройство, на котором оно исполняется, но и на другие устройства, которые соединены с этим устройством или связаны с ним через сеть. Предпочтительно тестировать приложение, чтобы оно не выполняло ошибочных системных вызовов или не влияло отрицательно во время работы на устройство или на другие подключенные устройства. В одном варианте это тестирование выполняется через процесс сертификации, при котором приложение тестируется на соответствие заранее определенным критериям. Также предпочтительно, чтобы сертификационный процесс для тестирования приложений был независим от разработчика. Независимость сертификационного процесса способствует более точному и надежному тестированию.
Перед исполнением приложение проверяется на «разрешение» исполнения на данном устройстве (шаг 110). Эта проверка может выполняться с помощью разрешений или правил, описываемых ниже, или с помощью других механизмов проверки, известных специалистам. Более того, предпочтительно, чтобы приложение проверялось перед каждой попыткой исполнения. Такой процесс продолжительной проверки повышает безопасность исполнения приложений. Например, он защищает от вирусов-троянов, которые могут встраиваться в это приложение на исполняющем устройстве во время исполнения другого приложения.
Приложение, которое выполняет недопустимую или нежелательную операцию, затем выгружается из устройства (шаг 115). Это предотвращает нанесение дополнительного ущерба этим приложением и высвобождает память в устройстве для другого использования. Альтернативно, приложение можно не выгружать из устройства. Выгрузкой приложения может называться отключение этого приложения, при том что оно остается в устройстве.
На фиг.2 показана архитектура системы, в которой может быть реализован примерный вариант настоящего изобретения. Разработчик 200 создает приложение для использования на беспроводном устройстве 230. Как описано выше, специалистам должно быть ясно, что хотя в вышеприведенном описании используется тип файлов «приложение», могут использоваться и другие типы файлов. Более того, специалистам должно быть ясно, что настоящее изобретение может использоваться с другими беспроводными или проводными устройствами и может использоваться в беспроводных сетях, проводных сетях или в комбинированных сетях.
Обычно разработчик 200 получает комплект спецификаций, по которым он разрабатывает приложение для работы на беспроводном устройстве 230. В одном варианте беспроводное устройство содержит программную платформу, способствующую интерфейсу приложения с этим беспроводным устройством, например пакет BREW™, разработанный фирмой QUALCOMM, Incorporated, расположенной в Сан-Диего, Калифорния. Разработчик может создать приложение, удовлетворяющее требованиям программной платформы или пакета BREW™, стандартным спецификациям и правилам.
В одном варианте разработчик 200 соединен с центральным сервером 205, чтобы иметь возможность передать приложение электронным способом на центральный сервер 205. В одном варианте центральный сервер является сервером Штаб-квартиры Центра по контролю за приложениями (Application Control Center Headquarters, ACCHQ), который используется для распределения приложений по беспроводным устройствам. Разработчик 200 может использовать цифровую подпись на приложении (более подробно описывается ниже) для обнаружения факта модификации приложения. Следует понимать, что физическое соединение с центральным сервером не является необходимым. Например, разработчик 200 может послать приложение на центральный сервер 205 заказным отправлением, содержащим компакт-диск.
Кроме того, разработчик посылает на центральный сервер 205 различную информацию для определения источника. Информация для идентификации источника может ассоциироваться с приложением, которое идентифицирует разработчика, указывая, например, название компании, номер налогоплательщика этой компании или другую идентифицирующую информацию.
Центральный сервер 205 либо самостоятельно, либо через сервер 210 сертификации используется для анализа и сертификации приложений. В одном варианте в качестве сервера сертификации может использоваться Центр контроля за приложениями (Application Control Center, ACC). Сервер 210 сертификации может использоваться для анализа приложения, чтобы определить удовлетворяет ли оно заранее определенным сертификационным критериям. Сертификационными критериями, однако, могут быть любые критерии, которым приложение должно удовлетворять до исполнения на беспроводном устройстве. Такие критерии могут включать проверку того, что (а) приложение функционирует, как заявлено разработчиком, чтобы приложение вносило помехи в работу беспроводного устройства (например, чтобы оно не приводило к аварийному отказу телефона); (b) приложение не пытается получить доступ к данным или к памяти, к которым оно не должно иметь доступ (например, оно не имеет доступа к файлам или данным, относящимся к другим приложениям, операционной системе или программной платформе); и (с) оно не влияет отрицательно на ресурсы беспроводного устройства, например, пагубно монополизируя вход и выход беспроводного устройства.
Центральный сервер 205 может также вводить комплект разрешений в список, ассоциируемый с этим приложением. Такой список разрешений определяется разными факторами, включая анализ того, прошло ли приложение процесс сертификации, в каких сетях 220 этому приложению разрешено выполняться, и поддерживает ли беспроводное устройство это приложение. Для определения списка разрешений может использоваться множество факторов, задача определения этих факторов оставляется для тех специалистов, которые будут внедрять настоящее изобретение.
Центральный сервер 205 принимает идентификационную информацию разработчика и коррелирует ее с приложением, созданным разработчиком 200. Если в приложении имеются какие-либо проблемы, центральный сервер сможет идентифицировать источник приложения. В одном варианте информация о разработчике передается на беспроводное устройство 230 так, что корреляция может быть проведена беспроводным устройством или другими системами, соединенными с беспроводным устройством.
В одном варианте центральный сервер также соединен с сервером 215 загрузки приложений (СЗП) (Application Download Server, ADS). Это сервер 215 загрузки приложений используется для интерфейса с беспроводным устройством через беспроводную сеть 220 для загрузки приложения. Центральный сервер может также посылать на СЗП список разрешений и идентификатор разработчика, ассоциированные с приложением, которые будут там храниться до передачи на беспроводное устройство. Предпочтительно приложение, список разрешений и идентификатор разработчика имеют цифровую подпись центрального сервера для повышения защиты от модификаций.
Специалистам понятно, что СЗП может использоваться для соединения множества сетей 220 для распределения приложений, файлов и другой информации по различным беспроводным устройствам 230. Более того, для передачи списка разрешений приложения и идентификатора разработчика могут использоваться и проводные, и беспроводные сети.
В ответ на запрос о загрузке приложения СЗП 215 посылает по сети 220 на беспроводное устройство 230 приложение, список разрешений, идентификатор разработчика и цифровую подпись (подписи). В одном варианте беспроводное устройство 230 содержит ключ для проверки цифровой подписи для определения, не были ли модифицированы приложение, список разрешений и/или идентификатор разработчика.
Предпочтительно, если в настоящем изобретении используется цифровая подпись, чтобы центральный сервер использовал безопасный ключ для создания цифровой подписи и устанавливал ключ на беспроводном устройстве для проверки цифровой подписи. Используя безопасный ключ, беспроводное устройство будет иметь более высокую степень надежности, поскольку цифровая подпись создается центральным сервером, а не отправителем.
Если приложение вызывает какие-либо ошибки беспроводного устройства или по любой другой причине, беспроводное устройство может инициировать выгрузку приложения. Более того, приложение может быть выгружено из беспроводного устройства по запросу СЗП или центрального сервера. Такой запрос от сервера может быть инициирован по любой желаемой причине. Например, сервер может инициировать выгрузку приложения из беспроводного устройства, если приложение совершит недопустимую операцию в отношении другого устройства, при появлении новой версии приложения или даже по деловым причинам, диктующим необходимость выгрузки приложения. Такой процесс выгрузки приложения дополнительно защищает среду беспроводного устройства от повторного исполнения поврежденного и/или деструктивного приложения.
На фиг.3 показана архитектура беспроводной сети, в которой может быть реализована система распределения приложений по настоящему изобретению. На центральный сервер 302 возложена функция сертификации либо самостоятельно, либо в комбинации с сервером сертификации, прикладных программ как совместимых с определенным набором стандартов или правил программирования. Как описано выше, стандарты программирования могут быть сформулированы так, чтобы приложение исполнялось на программной платформе, такой как платформа BREW™.
В одном варианте база 304 данных центрального сервера состоит из записей идентификаторов для каждой прикладной программы, которая когда-либо загружалась на любой беспроводное устройство 330 в сети 300, электронного сервисного номера (ЭСН) (Electronic Service Number, ESN) лица, которое загружало прикладную программу и мобильного идентификационного номера (МИН) (Mobile Identification Number, MIN), уникального для беспроводного устройства 330, в которое загружена эта прикладная программа. Альтернативно, база 304 данных центрального сервера содержит записи для каждого беспроводного устройства 330 в сети 300, содержащие данные о модели беспроводного устройства, о владельце беспроводной сети, о регионе, в котором используется беспроводное устройство 330, и любую другую информацию, полезную для идентификации того, на каком беспроводном устройстве 330 какая прикладная программа загружена. Кроме того, база данных центрального сервера может хранить и идентификатор разработчика, ассоциированный с приложением.
В одном варианте центральный сервер 302 может также содержать источник 322 команды на выгрузку. Источник 322 команды на выгрузку - это лицо(лица) или устройство(устройства), которые могут принимать решение о выгрузке одной или более целевых прикладных программ. Источник 322 команды на выгрузку - это также устройство, которое «конструирует» команду 316 на выгрузку (описываемую ниже), которая передается на идентифицированное беспроводное устройство 330, на которое загружена целевая прикладная программа (программы). Альтернативно и без ограничений, источником 322 команды на выгрузку может быть лицо или лица или организации, причастные к разработке и выпуску целевой прикладной программы, лица или организации, причастные к производству беспроводного устройства 330 и/или лица или организации, причастные к функционированию любой части сети 300.
Центральный сервер 302 поддерживает связь с одним или более сервером 306, например СЗП, по сети 308, например, через Интернет, предпочтительно, по защищенной сети. Серверы 306 также поддерживают связь с несущей сетью 310 по сети 308. Несущая сеть 310 поддерживает связь с мобильным центром 312 коммутации (МЦК) и по Интернету и по обычной телефонной сети (совместно показанным на фиг.4 позицией 311). Через Интернет-соединение 311 между несущей сетью 310 и мобильным центром 312 коммутации передаются данные, а по телефонной сети 311 передается голосовая информация. Мобильный центр 312 коммутации в свою очередь соединен с множеством базовых станций 314. Мобильный центр 312 коммутации соединен с базовыми станциями и через Интернет (для передачи данных) и через обычную телефонную сеть (для передачи голосовой информации). Базовая станция 314 посылает беспроводные сообщения на беспроводные устройства 330 с помощью службы коротких сообщений (СКС) (SMS) или любым другим способом, используемым в беспроводной связи.
Одним примером сообщения, посылаемого базовой станцией 314, является команда 316 на выгрузку. Как дополнительно описано ниже, беспроводное устройство 330 в ответ на прием команды 316 на выгрузку отвечает деинсталляцией целевой прикладной программы, хранящейся в беспроводном устройстве 330. В одном варианте команда на выгрузку может быть дополнительно или альтернативно запрограммирована так, чтобы останавливать выполнение целевой прикладной программы или перепрограммировать ее так, чтобы она работала по-другому. Беспроводное устройство может также стирать приложение и любую связанную с ним информацию, например список разрешений.
Команда 316 на выгрузку «конструируется» источником 322 (который может быть тем же лицом или организацией, которое приняло решение о инициации выгрузки целевой прикладной программы, или другим лицом или организацией). Команда 316 на выгрузку посылается источником 322 по сети 300 для передачи на беспроводное устройство 330.
Использование команды на выгрузку описанным выше способом приводит к повышению безопасности при распределении и исполнении приложений за счет создания механизма удаления поврежденных или нежелательных приложений. Специалистам понятно, что еще до получения описанной выше команды на выгрузку от центрального сервера беспроводное устройство также может инициировать выгрузку или деинсталляцию приложения и связанной с ним информации.
Подобным же образом вышеописанная сеть может использоваться для посылки приложения, списка разрешений и ассоциированной цифровой подписи от центрального сервера на различные серверы 306 (например, СЗП) через мобильные центры коммутации и базовые станции на беспроводные устройства 330.
На фиг.4 показано беспроводное устройство и некоторые его внутренние компоненты в примерном варианте настоящего изобретения. Несмотря на то, что этот вариант относится к беспроводному устройству 400, он используется как пример, без каких-либо ограничений. Изобретение может быть альтернативно реализовано на любом удаленном модуле, способном осуществлять связь по сети, включая без ограничений, проводные и беспроводные устройства, такие как «персональные цифровые помощники» (ПЦП) (PDA), беспроводные модемы, карты PCMCIA, терминалы доступа, персональные компьютеры, устройства без дисплея и клавиатуры или любая комбинация или субкомбинация таких устройств. Эти примеры удаленных модулей также могут иметь пользовательский интерфейс, такой как клавиатура, видеодисплей или звуковой дисплей.
Беспроводное устройство 400, показанное на фиг.4, имеет специализированную интегральную схему (СИС) ("ASIC") 415, установленную во время изготовления этого беспроводного устройства. Во время изготовления в беспроводное устройство 400 также устанавливается программный интерфейс приложения (ПИП) ("API") 410. В одном варианте ПИП представляет BREW ПИП или программную платформу. ПИП 410 - это программное средство, сконфигурированное для взаимодействия с СИС. ПИП 410 служит интерфейсом между аппаратными средствами СИС 415 и прикладными программами (описываемыми ниже), инсталлированными на беспроводном устройстве 400. Альтернативно, беспроводное устройство 400 может содержать любые другие формы схем, которые позволят программам работать способом, совместимым с конфигурацией аппаратных средств беспроводного устройства 400. Беспроводное устройство 400 также имеет запоминающее устройство 405. Запоминающее устройство 405 состоит из ОЗУ и ПЗУ, однако, альтернативно, может относиться к любому другому типу - СППЗУ, ЭСППЗУ или сменным флэш-картам памяти.
Запоминающее устройство 405 в беспроводном устройстве может использоваться для хранения принятых прикладных программ и списков разрешений 425. Кроме того, запоминающее устройство 405 может использоваться для хранения одного или более «ключей». Эти ключи могут применяться к цифровой подписи, используя алгоритм подписи для определения, не была ли модифицирована подписанная информация.
На беспроводном устройстве 400 могут устанавливаться правила 435. Эти правила могут использоваться в сочетании со списком разрешений для определения, имеет ли приложение разрешение на исполнение. Например, в правиле может указываться, что приложению разрешено исполняться, если в списке разрешений установлен сертификационный флаг (т.е. указывающий, что приложение прошло сертификацию). В списке разрешений сертификационный флаг устанавливается или нет, в зависимости от того, прошло ли приложение сертификацию или нет. Применяя это правило к информации, содержащейся в списке разрешений, выдается либо разрешение, либо запрет на исполнение этого приложения.
Изготовитель (не показан) беспроводного устройства 400 может загружать прикладные программы в запоминающее устройство 405 этого беспроводного устройства 400 во время его изготовления. Такие прикладные программы могут быть любыми программами, потенциально полезными для пользователя или являющимися развлекательными программами, например игры, книги или любые другие типы данных или программ. Прикладные программы также можно загружать в беспроводное устройство 400 и по каналам связи после того, как это устройство будет изготовлено.
Программа удаления, исполняемая на беспроводном устройстве 400, деинсталлирует одну или более прикладных программ из установленных на беспроводном устройстве 400. Целевая прикладная программа - это прикладная программа, которую нужно выгрузить из беспроводного устройства по различным причинам, описываемым ниже.
Беспроводное устройство 400 имеет локальную базу 420 данных, установленную изготовителем. ПИП беспроводного устройства запрограммирован на автоматическое обновление локальной базы 420 данных, записывая в нее идентифицирующую информацию о каждой прикладной программе, хранящейся в беспроводном устройстве 400. Локальная база 420 данных содержит запись об идентификационных подписях, уникальных для каждой прикладной программы, хранящейся в беспроводном устройстве 400. Дополнительно, локальная база 420 данных может содержать запись о расположении прикладных программ в запоминающем устройстве 405 беспроводного устройства 400 и любую другую информацию, полезную для слежения за загрузкой прикладных программ в беспроводное устройство 400 и за их расположением в нем.
Фиг.5 - это блок-схема, показывающая информацию, используемую для создания цифровой подписи и передаваемую на беспроводное устройство в примерном варианте настоящего изобретения. Как известно специалистам, цифровые подписи могут использоваться для определения наличия модификаций в файлах. Как описано выше, цифровая подпись может использоваться с любыми файлами, включая документы, приложения, базы данных и пр. В общем цифровая подпись создается путем применения к файлу ключа с использованием алгоритма подпись. Такая цифровая подпись создается с использованием информации, содержащейся в файле. Типично, цифровая подпись посылается получателю вместе с файлом. Получатель файла и цифровой подписи затем может применить к файлу и цифровой подписи ключ, чтобы определить, не был ли файл изменен при его передаче получателю.
Ключи, используемые для создания и оценки цифровой подписи, могут использоваться для определения личности подписавшего. Например, можно сгенерировать и хранить в недоступной форме ключ для создания цифровой подписи организации. Эта организация может распространить соответствующий ключ для проверки своей цифровой подписи. Если ключ хранится в безопасности и не стал доступен посторонним, получатель, проверяя цифровую подпись, может определить не только факт изменения информации, но и личность отправителя. Альтернативно, организации - третьи лица могут создавать ключи для других организаций в защищенном режиме. Таким образом, получатель, имеющий ключ, ассоциированный с конкретной личностью, получит возможность определить, является ли отправителем именно эта личность.
В одном варианте осуществления настоящего изобретения цифровая подпись 515 генерируется с помощью ключа 525, например ключа центрального сервера (см. фиг.2), приложения 500, списка 505 разрешений и идентификатора 510 разработчика, которые подаются на вход алгоритма 530 создания цифровой подписи. Результатом работы алгоритма является цифровая подпись 515, которая зависит от информации, поданной на вход.
После создания цифровой подписи 515 приложение 500, список 505 разрешений, идентификатор 510 разработчика и цифровая подпись 515 передаются на беспроводное устройство 520. Беспроводное устройство затем может использовать цифровую подпись для определения, не были ли изменены какое-либо приложение или связанная с ним информация (например, список разрешений и идентификатор разработчика). Кроме того, использование одной из вышеуказанных технологий, например безопасный ключ, дает уверенность в личности того, кто передал эту информацию на беспроводное устройство.
Фиг.6 - блок-схема, описывающая шаги, применяемые сервером или серверами при распределении приложений в соответствии с примерным вариантом настоящего изобретения. В этом примерном варианте процесс начинается с приема приложения и цифровой подписи (шаг 600). Цифровая подпись - это информация, связанная с приложением так, что позволяет определить, не было ли изменено приложение перед приемом. Более того, предпочтительно, чтобы ключ, используемый для создания цифровой подписи, присваивался третьей стороной для того, чтобы удостовериться, что организация или разработчик, подписавшие приложение, являются той организацией или тем разработчиком, которые получили этот ключ.
После приема приложения и цифровой подписи цифровую подпись проверяют для определения, является ли разработчик, отправивший приложение, и разработчик, подписавший приложение, одним и тем же лицом (шаг 605). Если разработчику ключ для создания цифровой подписи был выдан третьей стороной, то эта третья сторона может выдать ключ принимающей стороне, например центральному серверу, описанному со ссылками на фиг.2, для проверки цифровой подписи.
Идентификация разработчика или любого лица, подписавшего и/или создавшего приложение, затем вводится в запоминающее устройство и ассоциируется с приложением (шаг 610). Память может быть организована в табличной форме, в форме базы данных или в любой другой форме, позволяющей извлекать информацию, если в дальнейшем понадобится определить личность разработчика. В одном варианте настоящего изобретения информация о разработчике хранится не на сервере, а в беспроводном устройстве.
Затем принятое приложение проверяется на соответствие установленным критериям (шаг 615). В одном варианте приложение может быть написано для исполнения на конкретной платформе, такой как платформа BREW™, разработанной корпорацией QUALCOMM, Incorporated, расположенной в Сан-Диего, Калифорния и применяемой в беспроводных устройствах. Конкретная платформа или устройство могут иметь конкретные требования, которым должно удовлетворять приложение прежде, чем оно будет исполняться на этом устройстве. Например, платформа или устройство могут требовать, чтобы приложение не обращалось к конкретным адресам памяти, чтобы не была нарушена целостность устройства или других приложений, расположенных в памяти. Эти критерии можно специфицировать и приложение можно тестировать для определения соответствия этим критериям. Предпочтительно такие критерии определяются заранее и предоставляются разработчику для учета во время разработки приложений.
После сертификации для данной среды присваиваются разрешения, ассоциированные с приложением (шаг 620). Разрешения могут присваиваться на базе множества факторов в зависимости от среды, в которой реализуется настоящее изобретение. В одном варианте приложения предназначены для работы на беспроводных устройствах. В этой среде присвоение разрешений может зависеть от несущей сети, требований к беспроводному устройству, результатов проверки на сертификацию и тестовой среды разработчика или владельца сети. Таким образом, пример списка разрешений является индикатором, что приложение прошло тестирование на сертификацию и может исполняться в конкретной сети.
Затем сервер ставит цифровую подпись на приложение, список разрешений и идентификатор разработчика (шаг 625). В одном варианте эта подпись совершается с помощью защищенного ключа так, что те, кто принимает подписанную информацию, могут определить тождественность сервера. Осуществить подпись разработчика, полученную сервером, или посылать ее на беспроводное устройство не требуется.
Приложение, список разрешений, идентификатор разработчика и подпись, созданная на шаге 625, затем передаются на беспроводное устройство (шаг 630).
На фиг.7 представлена блок-схема, иллюстрирующая шаги, применяемые в беспроводном устройстве при исполнении приложения в соответствии с примерным вариантом настоящего изобретения. В этом варианте беспроводное устройство сохраняет правила для оценки разрешений, ассоциированных с приложением (шаг 700). Специалистам понятно, что хотя в настоящем изобретении описывается парадигма правил/разрешений, существует много парадигм, которые можно использовать для выдачи разрешений на использование приложения на конкретном устройстве или платформе, и они попадают в объем настоящего изобретения.
Беспроводное устройство затем принимает приложение, список разрешений, идентификатор разработчика и цифровую подпись (шаг 705). В одном варианте беспроводное устройство может оценивать принятую цифровую подпись для определения личности подписавшего. Цифровая подпись может также использоваться для определения факта модификации приложения, списка разрешений или идентификатора разработчика после того, как подпись была поставлена.
Беспроводное устройство затем принимает запрос на исполнение приложения (шаг 710). Запрос может прийти от пользователя беспроводного устройства, желающего запустить программу. Альтернативно, запрос может быть сделан самим беспроводным устройством или получен беспроводным устройством из удаленного источника по сети или через прямое соединение с беспроводным устройством.
Получив запрос, прежде, чем исполнять приложение, беспроводное устройство оценивает цифровую подпись и список разрешений, ассоциированный с приложением (шаг 720). Как описано выше, беспроводное устройство в одном варианте может использовать правила для оценки списка разрешений. Если в результате оценки цифровой подписи будет обнаружено, что приложение, список разрешений или идентификатор разработчика не модифицированы, тогда беспроводное устройство оценивает список разрешений на соответствие хранящимся в его памяти правилам. Если модификаций не было и анализ соответствия списка разрешений правилам показывает, что приложению дано разрешение на исполнение на этом беспроводном устройстве, то начинается исполнение этого приложения на устройстве (шаг 730).
Если оценка на шаге 720 покажет, что приложение, список разрешений или идентификатор разработчика после проставления цифровой подписи подверглись изменению, или что приложению отказано в разрешении на исполнение на этом беспроводном устройстве, тогда приложение не исполняется (шаг 725). Начинается процесс выгрузки приложения из беспроводного устройства (шаг 750). Предпочтительно также, чтобы список разрешений и идентификатор разработчика также выгружались из проводного устройства.
После шага 730 производится мониторинг исполнения приложения для определения, не выполняет ли оно недопустимых или ошибочных операций (шаг 735). Беспроводное устройство или платформа, которую использует беспроводное устройство, могут определить некоторые операции как недопустимые или ошибочные. К таким операциям могут относиться те, которые пытаются получить доступ к закрытым для них участкам или ячейкам памяти, которые используются другими программами или файлами. Кроме того, эти операции могут заключаться во вредном использовании ресурсов беспроводного устройства так, что вредят не только беспроводному устройству, но и другим устройствам в сети, к которой подключено это беспроводное устройство.
При попытке совершить такую недопустимую или ошибочную операцию исполнение приложения останавливается (шаг 745) и приложение выгружается из беспроводного устройства (шаг 750) предпочтительно вместе с идентификатором разработчика и списком разрешений. Как указано выше, альтернативно, процесс выгрузки может заключаться в прекращении выполнения приложения, но с сохранением его в беспроводном устройстве.
Если на шаге 735 не выполняется недопустимых или ошибочных операций, то приложению разрешается продолжать исполняться (шаг 740).
Используя механизмы сертификации, обнаружения модификаций, определения личности источника, присвоения разрешений и встраивая возможность выгрузки приложений, системы и способы в соответствии с настоящим изобретением повышают безопасность и защищенность распределения и исполнения приложений. Такие системы и способы могут использовать некоторые или все такие механизмы. Чем больше реализовано механизмов, тем выше степень безопасности.
В одном варианте разработчик посылает приложение на сервер. Разработчик может использовать цифровую подпись для защиты приложения от несанкционированного изменения. Сервер проверяет личность разработчика и выполняет сертификационное тестирование приложения. Приложение, список разрешений и идентификатор разработчика получают цифровую подпись сервера и вместе с этой подписью посылаются на беспроводное устройство. Перед исполнением приложения беспроводное устройство проверяет цифровую подпись на изменение и список разрешений на соответствие правилам, хранящимся в его памяти. В одном варианте такие проверки осуществляются перед каждой попыткой исполнить приложение на беспроводном устройстве. Если проверка показывает наличие изменений в приложении или отказ в разрешении на исполнение, приложение не исполняется и выгружается из беспроводного устройства. Более того, если во время исполнения приложение попытается выполнить недопустимую или ошибочную операцию, его исполнение будет прервано и оно будет выгружено из беспроводного устройства.
Вышеуказанное описание реализации настоящего изобретения представлено с целью иллюстрации. Оно не является исчерпывающим и не ограничивает объема настоящего изобретения описанной формой. В свете вышеизложенного возможны различные изменения и дополнения, которые также могут быть внесены в ходе реализации настоящего изобретения. Например, в описанном варианте используются программные средства, но другой вариант настоящего изобретения может быть реализован как комбинация программных или аппаратных средств или в виде только аппаратных средств. Настоящее изобретение может быть реализовано с помощью как объектно-ориентированных, так и не объектно-ориентированных систем программирования. Кроме того, аспекты настоящего изобретения описаны как хранимые в памяти, специалистам понятно, что такие аспекты могут храниться и на других типах машинных носителей, например в устройствах вторичной памяти, таких как жесткие диски, гибкие диски, оптические носители, несущая волна от Интернета или другая среда распространения, или другие формы ОЗУ и ПЗУ. Объем настоящего изобретения определяется формулой изобретения, которая представлена ниже.

Claims (53)

1. Способ распределения и исполнения приложений, содержащий шаги, на которых принимают приложение и идентифицирующую информацию, содержащую идентификатор, присвоенный приложению, который является идентификатором разработчика, сертифицируют приложение на соответствие заранее определенным критериям, присваивают приложению разрешение, которое является разрешением на исполнение приложения на определенном устройстве в определенной сети, передают приложение, разрешение и идентифицирующую информацию на устройство, использующее технологию обнаружения изменений, определяют, было ли приложение изменено во время передачи, вводят в память устройства данные, содержащие правило, определяющее, может ли принятое приложение быть исполнено на данном устройстве, с помощью разрешения и правила определяют, может ли приложение исполняться, исполняют приложение, выгружают приложение из устройства.
2. Способ по п.1, в котором на шаге исполнения приложения инициируют исполнение приложения на устройстве, осуществляю мониторинг исполнения приложения, и обнаруживают попытки приложения выполнить недопустимую операцию.
3. Способ по п.1, в котором приложению отказывают в разрешении на исполнение на устройстве.
4. Способ по п.1, по которому идентификационная информация извлекается устройством.
5. Способ по п.1, который также содержит шаг, на котором обнаруживают изменение в приложении.
6. Способ по п.1, который также содержит шаг, на котором обнаруживают изменение в разрешении.
7. Способ по п.1, по которому в технологии обнаружения изменений используют цифровую подпись.
8. Способ распределения и исполнения приложений, содержащий шаги, на которых принимают приложения и идентифицирующую информацию, содержащую идентификатор, присвоенный приложению, который является идентификатором разработчика, сертифицируют приложение на соответствие заранее определенным критериям, присваивают приложению разрешение, которое является разрешением на исполнение приложения на определенном устройстве в определенной сети, передают приложение, разрешение и идентифицирующую информацию на беспроводное устройство, вводят в память устройства данные, содержащие правило, определяющее может ли принятое приложение быть исполнено на данном устройстве, с помощью разрешения и правила определяют, может ли приложение исполняться, и исполняют приложение.
9. Способ по п.8, в котором на шаге исполнения приложения инициируют исполнение приложения на беспроводном устройстве, осуществляют мониторинг исполнения приложения, обнаруживают попытки приложения выполнить недопустимую операцию, и выгружают приложение из беспроводного устройства.
10. Способ по п.8, по которому приложению отказывают в разрешении на исполнение на беспроводном устройстве и который также содержит шаг, на котором выгружают приложение из устройства.
11. Способ по п.8, по которому идентификационная информация определяется беспроводным устройством.
12. Способ по п.8, по которому для передачи приложения, разрешения и идентификационной информации используют технологию обнаружения изменений.
13. Способ по п.12, по которому в технологии обнаружения изменений используют цифровую подпись.
14. Способ по п.12, который также содержит шаги, на которых обнаруживают изменения в приложении, переданном на устройство, и выгружают приложение из устройства.
15. Способ по п.12, который также содержит шаги, на которых обнаруживают изменение в разрешении, переданном на устройство, и выгружают приложение из устройства.
16. Способ распределения и исполнения приложений, содержащий шаги, на которых принимают приложение и идентификационную информацию, содержащую идентификатор, присвоенный приложению, который является идентификатором разработчика, присваивают приложению разрешение, которое является разрешением на исполнение приложения на определенном устройстве в определенной сети, передают приложение, разрешение и идентификационную информацию на устройство, используя технологию обнаружения изменений, определяют, было ли приложение изменено во время передачи, вводят в память устройства данные, содержащие правило, определяющее, может ли принятое приложение быть исполнено на данном устройстве, используя разрешение и правило определяют, может ли приложение исполняться, исполняют приложение и выгружают приложение из устройства.
17. Способ по п.16, в котором на шаге исполнения приложения инициируют исполнение приложения на беспроводном устройстве, осуществляют мониторинг исполнения приложения, обнаруживают попытки приложения выполнить недопустимые операции и выгружают приложение из беспроводного устройства.
18. Способ по п.16, по которому приложению отказывают в разрешении на исполнение на беспроводном устройстве и который также содержит шаг, на котором приложение выгружают из устройства.
19. Способ по п.16, по которому идентификационная информация определяется беспроводным устройством.
20. Способ по п.16, по которому для передачи приложения, разрешения и идентификационной информации используют технологию обнаружения изменений.
21. Способ по п.20, по которому технология обнаружения изменений использует цифровую подпись.
22. Способ по п.20, который также содержит шаги, на которых обнаруживают изменения в приложении, переданном на устройство, и выгружают приложение из устройства.
23. Способ по п.12, который также содержит шаги, на которых обнаруживают изменения в приложении, переданном на устройство, и выгружают приложение из устройства.
24. Система для распределения и исполнения приложения на беспроводном устройстве, содержащая центральный сервер, выполненный с возможностью принимать приложение и идентификатор разработчика, присваивать разрешения, ассоциированные с приложением, и передавать информацию о приложении на беспроводное устройство, сервер, выполненный с возможностью сертификации приложения на соответствие заранее определенным критериям, и беспроводное устройство, выполненное с возможностью принимать приложение и идентификатор разработчика и оценивать присвоенное разрешение.
25. Система по п.24, в которой центральный сервер также выполнен с возможностью передавать приложение на беспроводное устройство, используя технологию обнаружения изменений.
26. Система по п.24, в которой центральный сервер также выполнен с возможностью передавать разрешение на беспроводное устройство, используя технологию обнаружения изменений.
27. Система по п.24, в которой сервером сертификации приложений является центральный сервер.
28. Система по п.24, в которой беспроводное устройство выполнено с возможностью оценки присвоенного разрешения, используя правило, хранящееся в беспроводном устройстве.
29. Система для распределения и исполнения приложения на беспроводном устройстве, содержащая средство для приема приложения и идентифицирующей информации, содержащей идентификатор, присвоенный приложению, который является идентификатором разработчика, средство для присвоения приложению разрешения, которое является разрешением на исполнение приложения на определенном устройстве в определенной сети, средство для передачи приложения, разрешения и идентификационной информации на устройство с использованием технологии обнаружения изменений, средство для обнаружения изменений приложения, средство для хранения в устройстве данных, содержащих правило, определяющее, может ли принятое приложение быть исполнено на данном устройстве, средство для определения с помощью разрешения и правила, может ли приложение исполняться, средство для исполнения приложения, и средство для выгрузки приложения из устройства.
30. Способ выполнения распределения приложений, содержащий шаги, на которых принимают приложение и идентификационную информацию, содержащую идентификатор, присвоенный приложению, который является идентификатором разработчика, сертифицируют соответствие приложения заранее определенным критериям, присваивают разрешение приложению, которое является разрешением на исполнение приложения на определенном устройстве в определенной сети, передают приложение, разрешение и идентификационную информацию на устройство с использованием технологии обнаружения изменений, и инициируют запрос на выгрузку приложения из устройства.
31. Способ по п.30, который также содержит шаги, на которых оценивают принятое приложение и идентификационную информацию для определения личности разработчика приложения.
32. Способ по п.30, по которому в технологии обнаружения изменений используют цифровую подпись.
33. Способ выполнения распределения приложения, содержащий шаги, на которых принимают приложение и идентификационную информацию, содержащую идентификатор, присвоенный приложению, который является идентификатором разработчика, присваивают разрешение приложению, которое является разрешением на исполнение приложения на определенном устройстве в определенной сети, и передают приложение, разрешение и идентификационную информацию на устройство, используя технологию обнаружения изменений.
34. Способ по п.33, который также содержит шаг, на котором инициируют запрос на выгрузку приложения из устройства.
35. Способ по п.33, который также содержит шаг, на котором сертифицируют соответствие приложения заранее определенному критерию.
36. Способ по п.33, который также содержит шаг, на котором оценивают принятое приложение и идентификационную информацию для определения личности разработчика приложения.
37. Способ по п.33, по которому в технологии обнаружения изменений используют цифровую подпись.
38. Система для распределения приложения, содержащая центральный сервер, выполненный с возможностью прима приложения и идентификационной информации, содержащей идентификатор, присвоенный приложению, который является идентификатором разработчика, присвоения разрешения, которое является разрешением на исполнение приложения на определенном устройстве в определенной сети, передачи приложения с использованием технологии обнаружения изменений, и сетевое соединение с центральным сервером для приема приложения.
39. Система по п.38, в которой центральный сервер также выполнен с возможностью сертификации соответствия приложения заранее определенному критерию.
40. Система для распределения приложения, содержащая средство для приема приложения и идентификационной информации, содержащей идентификатор, присвоенный приложению, который является идентификатором разработчика, средство для сертификации соответствия приложения заранее определенному критерию, средство для присвоения приложению разрешения, которое является разрешением на исполнение приложения на определенном устройстве в определенной сети, и средство для передачи приложения, разрешения и идентификационной информации на устройство с использованием технологии обнаружения изменений.
41. Машиночитаемый носитель, содержащий выполняемые компьютером команды для распределения приложений, при которых принимают приложение и идентификационную информацию, содержащую идентификатор, присвоенный приложению, который является идентификатором разработчика, сертифицируют приложение на соответствие заранее определенному критерию, присваивают разрешение приложению, которое является разрешением на исполнение приложения на определенном устройстве в определенной сети, и передают приложение, разрешение и идентификационную информацию на устройство с использованием технологии обнаружения изменений.
42. Способ исполнения приложения на беспроводном устройстве, содержащий шаги, на которых сохраняют в устройстве данные, содержащие правило, определяющее, может ли принятое приложение быть исполнено на данном устройстве, принимают информацию, содержащую приложение, разрешение и идентификатор разработчика, присвоенный приложению, с использованием технологии обнаружения изменений; принимают запрос на исполнение приложения на беспроводном устройстве, оценивают принятую информацию для обнаружения изменений, если принятая информация не была изменена, оценивают разрешение, ассоциированное с приложением, и если разрешение дано, исполняют приложение.
43. Способ по п.42, по которому в технологии обнаружения изменений используют цифровую подпись.
44. Способ по п.42, который также содержит шаг, на котором осуществляют мониторинг исполнения приложения для обнаружения попыток выполнения недопустимых операций.
45. Способ по п.42, который также содержит шаг, на котором выгружают приложение из беспроводного устройства.
46. Способ исполнения приложения на беспроводном устройстве, содержащий шаги, на которых сохраняют в устройстве данные, содержащие правило, определяющее, может ли принятое приложение быть исполнено на данном устройстве, принимают информацию, содержащую приложение, разрешение и идентификатор разработчика, присвоенный приложению, с использованием технологии обнаружения изменений, принимают запрос на исполнение приложения на беспроводном устройстве, и оценивают разрешение, ассоциированное с приложением, и если информация была изменена, выгружают приложение из беспроводного устройства.
47. Способ по п.46, который также содержит шаги, на которых, если принятая информация не была изменена, оценивают разрешение, ассоциированное с приложением, и если разрешение выдано, исполняют приложение.
48. Способ по п.46, по которому в технологии обнаружения изменений используют цифровую подпись.
49. Способ по п.46, который также содержит шаг, на котором осуществляют мониторинг исполнения приложения для обнаружения попыток совершения недопустимых операций.
50. Способ по п.49, который также содержит шаг, на котором выгружают приложение из беспроводного устройства в случае попытки выполнения недопустимой операции.
51. Беспроводное устройство для исполнения приложений, содержащее ввод для приема приложения и разрешения, которое является разрешением на исполнение приложения на определенном устройстве в определенной сети, данных, содержащих правило, определяющее может ли принятое приложение быть исполнено для оценки разрешения, и ключ, хранящийся в запоминающем устройстве, для оценки цифровой подписи, при этом беспроводное устройство выполнено с возможностью исполнения приложения после оценки разрешения и цифровой подписи.
52. Беспроводное устройство для исполнения приложения, содержащее средство для хранения данных, содержащих правило, определяющее может ли принятое приложение быть исполнено для оценки разрешения, которое является разрешением на исполнение приложения на определенном устройстве в определенной сети, средство для приема информации, содержащей приложение, разрешение и идентификатор разработчика, присвоенный приложению, с использованием технологии обнаружения изменений, средство для приема запроса на исполнение приложения на беспроводном устройстве, средство для оценки принятой информации для обнаружения изменений в ней, средство для оценки разрешения, ассоциированного с приложением, если принятая информация не была изменена, и средство для исполнения приложения, если разрешение дано.
53. Машиночитаемый носитель, содержащий выполняемые компьютером команды для распределения приложений, при которых сохраняют данные, содержащие правило, определяющее, может ли принятое приложение быть исполнено, оценки разрешения, принимают информацию, содержащую приложение и идентификатор разработчика, присвоенный приложению, используя технологию обнаружения изменений, принимают запрос на исполнение приложения на беспроводном устройстве, оценивают принятую информацию для обнаружения изменений в принятой информации, если принятая информация не была изменена, оценивают разрешение, ассоциированное с этим приложением, и если разрешение дано, исполняют приложение.
RU2003137835/09A 2001-05-31 2002-05-23 Безопасное распределение и выполнение приложений в беспроводной среде RU2295753C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/872,418 US7099663B2 (en) 2001-05-31 2001-05-31 Safe application distribution and execution in a wireless environment
US09/872,418 2001-05-31

Publications (2)

Publication Number Publication Date
RU2003137835A RU2003137835A (ru) 2005-05-27
RU2295753C2 true RU2295753C2 (ru) 2007-03-20

Family

ID=25359530

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2003137835/09A RU2295753C2 (ru) 2001-05-31 2002-05-23 Безопасное распределение и выполнение приложений в беспроводной среде

Country Status (20)

Country Link
US (5) US7099663B2 (ru)
EP (2) EP2163986B1 (ru)
JP (2) JP4795636B2 (ru)
KR (1) KR100634773B1 (ru)
CN (1) CN1258141C (ru)
AR (1) AR036043A1 (ru)
AT (1) ATE447739T1 (ru)
AU (1) AU2002312041B2 (ru)
BR (1) BRPI0209741B1 (ru)
CA (1) CA2448979C (ru)
DE (1) DE60234267D1 (ru)
ES (1) ES2334336T3 (ru)
HK (1) HK1069451A1 (ru)
IL (1) IL159117A0 (ru)
MX (1) MXPA03010890A (ru)
NZ (1) NZ529867A (ru)
PE (1) PE20030021A1 (ru)
RU (1) RU2295753C2 (ru)
TW (1) TWI252701B (ru)
WO (1) WO2002097620A2 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2483454C2 (ru) * 2008-07-22 2013-05-27 Сименс Индастри, Инк. Разработка, тестирование и демонстрация решений автоматизации с использованием виртуальных компьютеров на основе web и vpn туннелирования

Families Citing this family (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL133584A (en) * 1999-12-19 2010-02-17 Enco Tone Ltd Method for the acoustic encodification of dynamic identification codes
US7099663B2 (en) 2001-05-31 2006-08-29 Qualcomm Inc. Safe application distribution and execution in a wireless environment
JP2003050641A (ja) * 2001-08-07 2003-02-21 Nec Corp プログラム管理システム、そのプログラム管理方法、及び情報管理プログラム
US20030041125A1 (en) * 2001-08-16 2003-02-27 Salomon Kirk C. Internet-deployed wireless system
US8832754B2 (en) * 2002-05-03 2014-09-09 Tvworks, Llc System and method for providing synchronized events to a television application
JP2003337716A (ja) * 2002-05-20 2003-11-28 Ntt Docomo Inc 電子機器、データ共用方法、プログラム及び記憶媒体
US6965674B2 (en) * 2002-05-21 2005-11-15 Wavelink Corporation System and method for providing WLAN security through synchronized update and rotation of WEP keys
GB0212314D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Secure mobile wireless device
US7965842B2 (en) * 2002-06-28 2011-06-21 Wavelink Corporation System and method for detecting unauthorized wireless access points
US7606242B2 (en) * 2002-08-02 2009-10-20 Wavelink Corporation Managed roaming for WLANS
US7522906B2 (en) 2002-08-09 2009-04-21 Wavelink Corporation Mobile unit configuration management for WLANs
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
US7139559B2 (en) * 2002-12-09 2006-11-21 Qualcomm Inc. System and method for handshaking between wireless devices and servers
US7793355B2 (en) 2002-12-12 2010-09-07 Reasearch In Motion Limited System and method of owner control of electronic devices
US7088237B2 (en) 2003-02-14 2006-08-08 Qualcomm Incorporated Enhanced user privacy for mobile station location services
KR100670723B1 (ko) * 2003-02-21 2007-01-19 리서치 인 모션 리미티드 전자 장치들의 다중-레벨 제어 시스템 및 방법
AU2003233574B9 (en) * 2003-05-17 2010-03-25 Microsoft Corporation Mechanism for evaluating security risks
US7203967B2 (en) * 2003-09-10 2007-04-10 Qualcomm Incorporated Methods and apparatus for content protection in a wireless network
US8549166B2 (en) 2004-03-01 2013-10-01 Qualcomm Incorporated Execution of unverified programs in a wireless, device operating environment
CN100465889C (zh) * 2004-04-29 2009-03-04 杭州斯达康通讯有限公司 将计算机程序下载至手机的方法
WO2005106678A1 (en) 2004-04-30 2005-11-10 Research In Motion Limited System and method of operation control on an electronic device
CN1311341C (zh) * 2004-05-10 2007-04-18 杭州斯达康通讯有限公司 将计算机数据下载至手机时进行数字签名的方法
US7979706B1 (en) * 2004-09-29 2011-07-12 Rockwell Automation Technologies, Inc. Systems and methods for queuing an action in industrial automation systems
US20060093149A1 (en) * 2004-10-30 2006-05-04 Shera International Ltd. Certified deployment of applications on terminals
US7877744B2 (en) * 2004-11-05 2011-01-25 Qualcomm Incorporated Method, software and apparatus for activating resident applications
US20060107327A1 (en) * 2004-11-16 2006-05-18 Sprigg Stephen A Methods and apparatus for enforcing application level restrictions on local and remote content
DE102004058882A1 (de) * 2004-12-06 2006-06-08 Giesecke & Devrient Gmbh Erzeugen von Programmcode in einem Ladeformat und Bereitstellen von ausführbarem Programmcode
US20060149741A1 (en) * 2005-01-04 2006-07-06 Oracle International Corporation Efficient Approach to Implement Applications on Server Systems in a Networked Environment
JP4232767B2 (ja) * 2005-03-14 2009-03-04 セイコーエプソン株式会社 ソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法
JP4727278B2 (ja) * 2005-04-05 2011-07-20 株式会社エヌ・ティ・ティ・ドコモ アプリケーションプログラム検証システム、アプリケーションプログラム検証方法およびコンピュータプログラム
US7770785B2 (en) * 2005-06-13 2010-08-10 Qualcomm Incorporated Apparatus and methods for detection and management of unauthorized executable instructions on a wireless device
US8238352B2 (en) * 2005-09-02 2012-08-07 Cisco Technology, Inc. System and apparatus for rogue VoIP phone detection and managing VoIP phone mobility
US20070078907A1 (en) * 2005-10-05 2007-04-05 Ming-Tsung Chiang Method for updating function of handheld apparatus through plug-and play (PnP) storage device
US9573067B2 (en) * 2005-10-14 2017-02-21 Microsoft Technology Licensing, Llc Mass storage in gaming handhelds
US8045958B2 (en) 2005-11-21 2011-10-25 Research In Motion Limited System and method for application program operation on a wireless device
EP1788505A1 (en) * 2005-11-21 2007-05-23 Research In Motion Limited System and method for application program operation on a wireless device
EP1826944B1 (en) * 2006-02-27 2009-05-13 Research In Motion Limited Method of customizing a standardized IT policy
US8117441B2 (en) * 2006-06-20 2012-02-14 Microsoft Corporation Integrating security protection tools with computer device integrity and privacy policy
TW201251496A (en) 2006-12-28 2012-12-16 Interdigital Tech Corp Efficient uplink operation with high instantaneous data rates
US8126456B2 (en) * 2007-01-17 2012-02-28 Eagency, Inc. Mobile communication device monitoring systems and methods
US10045327B2 (en) 2007-01-17 2018-08-07 Eagency, Inc. Mobile communication device monitoring systems and methods
US8712396B2 (en) * 2007-01-17 2014-04-29 Eagency, Inc. Mobile communication device monitoring systems and methods
US9324074B2 (en) 2007-01-17 2016-04-26 Eagency, Inc. Mobile communication device monitoring systems and methods
US8875266B2 (en) * 2007-05-16 2014-10-28 Vmware, Inc. System and methods for enforcing software license compliance with virtual machines
US10181055B2 (en) 2007-09-27 2019-01-15 Clevx, Llc Data security system with encryption
US10783232B2 (en) 2007-09-27 2020-09-22 Clevx, Llc Management system for self-encrypting managed devices with embedded wireless user authentication
US11190936B2 (en) 2007-09-27 2021-11-30 Clevx, Llc Wireless authentication system
US10778417B2 (en) 2007-09-27 2020-09-15 Clevx, Llc Self-encrypting module with embedded wireless user authentication
US20090273438A1 (en) * 2008-05-01 2009-11-05 Delphi Technologies, Inc. Remote monitoring, interrogation and control apparatus for stationary and mobile systems
WO2009097350A1 (en) * 2008-01-29 2009-08-06 Palm, Inc. Secure application signing
JP2009253565A (ja) * 2008-04-04 2009-10-29 Hitachi Ltd 携帯端末装置および携帯端末装置における無線通信方式の管理方法
US9342287B2 (en) 2008-05-05 2016-05-17 Apple Inc. Software program ratings
US9076176B2 (en) * 2008-05-05 2015-07-07 Apple Inc. Electronic submission of application programs for network-based distribution
US9531836B2 (en) * 2008-12-18 2016-12-27 Telefonaktiebolaget Lm Ericsson (Publ) Distributing an application via a network node
CN105338106B (zh) * 2008-12-18 2019-03-12 爱立信电话股份有限公司 分发应用
FR2943482B1 (fr) * 2009-03-18 2011-05-27 Bouygues Telecom Sa Procede et systeme de securisation de demandes applicatives
US8505084B2 (en) * 2009-04-06 2013-08-06 Microsoft Corporation Data access programming model for occasionally connected applications
JP5332838B2 (ja) * 2009-04-07 2013-11-06 ソニー株式会社 情報処理装置、および実行制御方法
US9197417B2 (en) * 2009-04-24 2015-11-24 Microsoft Technology Licensing, Llc Hosted application sandbox model
US8850211B2 (en) * 2009-04-27 2014-09-30 Qualcomm Incorporated Method and apparatus for improving code and data signing
US8433296B2 (en) 2009-05-01 2013-04-30 Ryan Hardin Exclusive delivery of content within geographic areas
US8522343B2 (en) * 2009-12-21 2013-08-27 Palm, Inc. Removing an active application from a remote device
DE102010006572A1 (de) * 2010-02-02 2011-08-04 Giesecke & Devrient GmbH, 81677 Verfahren zum Ausführen einer Anwendung
US8924461B2 (en) * 2010-02-03 2014-12-30 Symantec Corporation Method, system, and computer readable medium for remote assistance, support, and troubleshooting
US8315920B2 (en) * 2010-03-09 2012-11-20 At&T Intellectual Property I, L.P. Method for automating onboarding of user generated ringback tones to sales distribution channel
US8230268B2 (en) * 2010-05-13 2012-07-24 Bank Of America Corporation Technology infrastructure failure predictor
US8359284B2 (en) 2010-05-13 2013-01-22 Bank Of America Corporation Organization-segment-based risk analysis model
US8533537B2 (en) 2010-05-13 2013-09-10 Bank Of America Corporation Technology infrastructure failure probability predictor
JP5560110B2 (ja) * 2010-06-16 2014-07-23 Kddi株式会社 携帯端末およびプログラム
BR112013004345B1 (pt) * 2010-08-25 2020-12-08 Lookout, Inc. sistema e método para evitar malware acoplado a um servidor
US20120053994A1 (en) * 2010-08-30 2012-03-01 Bank Of America Organization resource allocation based on forecasted change outcomes
US9342381B2 (en) 2011-02-03 2016-05-17 Symantec Corporation Method and system for establishing a DLP-compliant environment
US9880604B2 (en) 2011-04-20 2018-01-30 Microsoft Technology Licensing, Llc Energy efficient location detection
AU2012294372B2 (en) * 2011-08-08 2016-03-03 Bloomberg Finance Lp System and method for electronic distribution of software and data
US8856771B2 (en) * 2011-08-19 2014-10-07 International Business Machines Corporation Protection for unauthorized firmware and software upgrades to consumer electronic devices
US8776040B2 (en) 2011-08-19 2014-07-08 International Business Machines Corporation Protection for unauthorized firmware and software upgrades to consumer electronic devices
US9443258B2 (en) 2011-08-26 2016-09-13 Apple Inc. Mass ingestion of content related metadata to an online content portal
US8918841B2 (en) * 2011-08-31 2014-12-23 At&T Intellectual Property I, L.P. Hardware interface access control for mobile applications
US8898459B2 (en) 2011-08-31 2014-11-25 At&T Intellectual Property I, L.P. Policy configuration for mobile device applications
US9161225B2 (en) * 2011-09-23 2015-10-13 Blackberry Limited Authentication procedures for managing mobile device applications
US10135613B2 (en) * 2012-01-13 2018-11-20 Qualcomm Incorporated Method and apparatus for generating a privilege-based key
KR101308351B1 (ko) * 2012-02-24 2013-09-17 주식회사 팬택 어플리케이션에 권한을 할당하는 단말기 및 상기 단말기의 권한 할당 방법
KR101900047B1 (ko) * 2012-03-12 2018-09-18 삼성전자주식회사 애플리케이션이 필요로 하는 권한을 진단하는 방법 및 장치
TW201349009A (zh) 2012-04-13 2013-12-01 Ologn Technologies Ag 用於數位通信之安全區
WO2013153437A1 (en) 2012-04-13 2013-10-17 Ologn Technologies Ag Apparatuses, methods and systems for computer-based secure transactions
EP2839400A4 (en) * 2012-04-16 2016-01-06 Intel Corp RELIABLE USER INTERACTION
TW201403375A (zh) 2012-04-20 2014-01-16 歐樂岡科技公司 用於安全購買之安全區
GB201207816D0 (en) * 2012-05-04 2012-06-13 Vodafone Ip Licensing Ltd Telecommunication networks
CN103491056B (zh) * 2012-06-12 2017-12-26 中兴通讯股份有限公司 应用权限的控制方法及装置
US9349015B1 (en) * 2012-06-12 2016-05-24 Galois, Inc. Programmatically detecting collusion-based security policy violations
US20140006781A1 (en) * 2012-06-23 2014-01-02 Pomian & Corella, Llc Encapsulating the complexity of cryptographic authentication in black-boxes
US9141783B2 (en) * 2012-06-26 2015-09-22 Ologn Technologies Ag Systems, methods and apparatuses for the application-specific identification of devices
US8862892B2 (en) * 2012-07-31 2014-10-14 Adobe Systems Incorporated System and method for detecting a security compromise on a device
US9619653B2 (en) 2012-07-31 2017-04-11 Adobe Systems Incorporated System and method for detecting a security compromise on a device
US8875303B2 (en) 2012-08-02 2014-10-28 Google Inc. Detecting pirated applications
WO2014051597A1 (en) * 2012-09-28 2014-04-03 Hewlett-Packard Development Company, L.P. Application security testing
US8938053B2 (en) 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
WO2014065784A1 (en) 2012-10-23 2014-05-01 Hewlett-Packard Development Company. L.P. Controlling distribution and use of a developer application in a network environment
CN104956326A (zh) 2013-02-01 2015-09-30 惠普发展公司,有限责任合伙企业 基于抽象测试用户控制的测试脚本创建
WO2014141202A1 (en) 2013-03-15 2014-09-18 Ologn Technologies Ag Systems, methods and apparatuses for securely storing and providing payment information
US9998866B2 (en) 2013-06-14 2018-06-12 Microsoft Technology Licensing, Llc Detecting geo-fence events using varying confidence levels
US9820231B2 (en) * 2013-06-14 2017-11-14 Microsoft Technology Licensing, Llc Coalescing geo-fence events
US9948640B2 (en) 2013-08-02 2018-04-17 Ologn Technologies Ag Secure server on a system with virtual machines
JP6069160B2 (ja) * 2013-10-07 2017-02-01 株式会社日立製作所 制御システム及び認証装置
JP2016540287A (ja) 2013-10-18 2016-12-22 ノキア テクノロジーズ オサケユイチア 電子デバイスにおけるアプリケーションを動作させ、許可をモニタリングする方法とシステム
US10783254B2 (en) * 2014-10-02 2020-09-22 Massachusetts Institute Of Technology Systems and methods for risk rating framework for mobile applications
KR20160080118A (ko) * 2014-12-02 2016-07-07 주식회사 수산아이앤티 스타트 애플리케이션의 모바일 임베딩 방법, 스타트 애플리케이션의 모바일 임베딩을 수행하는 사용자 단말 및 컴퓨터 프로그램
CN104484608A (zh) * 2014-12-16 2015-04-01 北京奇虎科技有限公司 一种应用程序的消息处理方法和装置
KR20160098912A (ko) * 2015-02-11 2016-08-19 한국전자통신연구원 어플리케이션 퍼미션 재조정 방법 및 이를 수행하는 사용자 단말
GB2562923B (en) * 2016-01-04 2020-02-12 Clevx Llc Data security system with encryption
US10275183B2 (en) 2016-02-24 2019-04-30 Bank Of America Corporation System for categorical data dynamic decoding
US10366337B2 (en) 2016-02-24 2019-07-30 Bank Of America Corporation Computerized system for evaluating the likelihood of technology change incidents
US10366338B2 (en) 2016-02-24 2019-07-30 Bank Of America Corporation Computerized system for evaluating the impact of technology change incidents
US10216798B2 (en) 2016-02-24 2019-02-26 Bank Of America Corporation Technical language processor
US10067984B2 (en) 2016-02-24 2018-09-04 Bank Of America Corporation Computerized system for evaluating technology stability
US10430743B2 (en) 2016-02-24 2019-10-01 Bank Of America Corporation Computerized system for simulating the likelihood of technology change incidents
US10019486B2 (en) 2016-02-24 2018-07-10 Bank Of America Corporation Computerized system for analyzing operational event data
US10275182B2 (en) 2016-02-24 2019-04-30 Bank Of America Corporation System for categorical data encoding
US10223425B2 (en) 2016-02-24 2019-03-05 Bank Of America Corporation Operational data processor
US10366367B2 (en) 2016-02-24 2019-07-30 Bank Of America Corporation Computerized system for evaluating and modifying technology change events
US10387230B2 (en) 2016-02-24 2019-08-20 Bank Of America Corporation Technical language processor administration
KR101782539B1 (ko) 2016-08-19 2017-09-28 주식회사 수산아이앤티 스타트 애플리케이션의 모바일 임베딩 방법, 스타트 애플리케이션의 모바일 임베딩을 수행하는 사용자 단말 및 컴퓨터 프로그램
US10467124B2 (en) * 2016-12-19 2019-11-05 General Electric Company Certification process for cloud platform
JP6691085B2 (ja) 2017-09-20 2020-04-28 ファナック株式会社 アプリケーションセキュリティ管理システム及びエッジサーバ
US10861600B2 (en) * 2017-09-28 2020-12-08 General Electric Company Method and system for user-verifiable certification of software for medical devices
US10747525B2 (en) * 2018-03-09 2020-08-18 International Business Machines Corporation Distribution of a software upgrade via a network
GB201805429D0 (en) * 2018-04-03 2018-05-16 Palantir Technologies Inc Security system and method
EP3712789A1 (en) * 2019-03-22 2020-09-23 Siemens Aktiengesellschaft Method and administration device for administrating code artifacts for an industrial system
JP2021099693A (ja) * 2019-12-23 2021-07-01 グローリー株式会社 有価媒体処理装置
WO2021260753A1 (ja) * 2020-06-22 2021-12-30 日本電気株式会社 送信装置、受信装置、コンテナ伝送システム、方法、及びプログラム

Family Cites Families (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5684841A (en) 1979-12-13 1981-07-10 Denki Kagaku Kogyo Kk Electron gun
US4919545A (en) 1988-12-22 1990-04-24 Gte Laboratories Incorporated Distributed security procedure for intelligent networks
US5276876A (en) * 1990-05-16 1994-01-04 International Business Machines Corporation Registration of resources for commit procedures
FR2662879B1 (fr) 1990-05-30 1994-03-25 Alcatel Cit Procede de maintenance centralisee, pour un reseau de telephone sans fil.
US6694359B1 (en) * 1991-08-21 2004-02-17 Unova, Inc. Data collection and dissemination system
DE69323926T2 (de) * 1992-05-15 1999-09-30 Addison M. Fischer Verfahren und Vorrichtung zur Sicherheit eines Computersystem mit Programmberechtigungsdatenstrukturen
FR2698510B1 (fr) 1992-11-26 1994-12-23 Schlumberger Ind Sa Réseau de communication.
WO1995014345A1 (en) * 1993-11-15 1995-05-26 Qualcomm Incorporated A method for handling unrecognizable commands in a wireless environment
SE502433C2 (sv) * 1994-02-11 1995-10-16 Nobelpharma Ab Distansorgan för tandimplantat
US5521958A (en) 1994-04-29 1996-05-28 Harris Corporation Telecommunications test system including a test and trouble shooting expert system
NO942031L (no) 1994-06-01 1995-12-04 Ericsson As Creative Engineeri System for overvåkning av telefonnett og/eller datakommunikasjonsnett, spesielt mobiltelefonnett
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US5987134A (en) 1996-02-23 1999-11-16 Fuji Xerox Co., Ltd. Device and method for authenticating user's access rights to resources
US5838910A (en) 1996-03-14 1998-11-17 Domenikos; Steven D. Systems and methods for executing application programs from a memory device linked to a server at an internet site
US5825877A (en) * 1996-06-11 1998-10-20 International Business Machines Corporation Support for portable trusted software
US5862474A (en) * 1996-08-08 1999-01-19 Qualcomm Incorporated Programmable wireless modem
US6026293A (en) * 1996-09-05 2000-02-15 Ericsson Inc. System for preventing electronic memory tampering
US5953654A (en) 1996-11-01 1999-09-14 Harris Corporation Wireless communications system for identifying unauthorized mobile units
US6167520A (en) * 1996-11-08 2000-12-26 Finjan Software, Inc. System and method for protecting a client during runtime from hostile downloadables
US5892904A (en) 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US6061346A (en) 1997-01-17 2000-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Secure access method, and associated apparatus, for accessing a private IP network
US6167522A (en) * 1997-04-01 2000-12-26 Sun Microsystems, Inc. Method and apparatus for providing security for servers executing application programs received via a network
JPH10301772A (ja) 1997-04-30 1998-11-13 Sony Corp 情報処理装置および情報処理方法、並びに記録媒体
US5940590A (en) 1997-05-31 1999-08-17 International Business Machines Corporation System and method for securing computer-executable program code using task gates
US6496979B1 (en) * 1997-10-24 2002-12-17 Microsoft Corporation System and method for managing application installation for a mobile device
US6125447A (en) 1997-12-11 2000-09-26 Sun Microsystems, Inc. Protection domains to provide security in a computer system
US6163693A (en) 1997-12-16 2000-12-19 Ericsson, Inc. Automated warranty registration
GB2333864B (en) 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
US6259791B1 (en) * 1998-02-26 2001-07-10 Motorola, Inc. Method and apparatus in a wireless messaging system for controlling a hierarchical provision of service
US6493870B1 (en) * 1998-03-20 2002-12-10 Sun Microsystems, Inc. Methods and apparatus for packaging a program for remote execution
US6421781B1 (en) * 1998-04-30 2002-07-16 Openwave Systems Inc. Method and apparatus for maintaining security in a push server
US6339826B2 (en) 1998-05-05 2002-01-15 International Business Machines Corp. Client-server system for maintaining a user desktop consistent with server application user access permissions
KR100591098B1 (ko) 1998-05-14 2006-06-19 가부시키가이샤 세가 정보 처리 장치, 정보 처리 방법과 정보 기록 매체 및정보 처리 시스템
IL124571A0 (en) 1998-05-21 1998-12-06 Miki Mullor Method of restricting software operation within a licensed limitation
JP3995338B2 (ja) 1998-05-27 2007-10-24 富士通株式会社 ネットワーク接続制御方法及びシステム
US6256393B1 (en) 1998-06-23 2001-07-03 General Instrument Corporation Authorization and access control of software object residing in set-top terminals
SE9802423D0 (sv) * 1998-07-06 1998-07-06 Pascal Medical Ab Anordning för behandling av Ménières sjukdom och liknande åkommor
US6141010A (en) * 1998-07-17 2000-10-31 B. E. Technology, Llc Computer interface method and apparatus with targeted advertising
US6587684B1 (en) * 1998-07-28 2003-07-01 Bell Atlantic Nynex Mobile Digital wireless telephone system for downloading software to a digital telephone using wireless data link protocol
US6256493B1 (en) * 1998-07-31 2001-07-03 Motorola, Inc. Selective call receiver and method for programming a selective call receiver
US6694370B1 (en) * 1998-08-01 2004-02-17 International Business Machines Corporation Computerized method and system for implementing distributed applications
AU6401999A (en) 1998-09-28 2000-04-17 Argus Systems Group, Inc. Trusted compartmentalized computer operating system
US6609199B1 (en) 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US6158010A (en) 1998-10-28 2000-12-05 Crosslogix, Inc. System and method for maintaining security in a distributed computer network
US6052600A (en) * 1998-11-23 2000-04-18 Motorola, Inc. Software programmable radio and method for configuring
FI990461A0 (fi) 1999-03-03 1999-03-03 Nokia Mobile Phones Ltd Menetelmä ohjelmiston lataamiseksi palvelimelta päätelaitteeseen
FI990601A0 (fi) 1999-03-17 1999-03-17 Sonera Oy Menetelmä ja järjestelmä tietoliikennejärjestelmässä
JP2001028572A (ja) 1999-03-19 2001-01-30 Sanyo Electric Co Ltd 情報配信システム
US6463534B1 (en) 1999-03-26 2002-10-08 Motorola, Inc. Secure wireless electronic-commerce system with wireless network domain
WO2000072149A1 (en) 1999-05-25 2000-11-30 Motorola Inc. Pre-verification of applications in mobile computing
US6334056B1 (en) * 1999-05-28 2001-12-25 Qwest Communications Int'l., Inc. Secure gateway processing for handheld device markup language (HDML)
US6263434B1 (en) 1999-09-21 2001-07-17 Sun Microsystems, Inc. Signed group criteria
US6775536B1 (en) * 1999-11-03 2004-08-10 Motorola, Inc Method for validating an application for use in a mobile communication device
US7213247B1 (en) 2000-01-10 2007-05-01 Wind River Systems, Inc. Protection domains for a computer operating system
US6782527B1 (en) 2000-01-28 2004-08-24 Networks Associates, Inc. System and method for efficient distribution of application services to a plurality of computing appliances organized as subnets
US6615038B1 (en) * 2000-04-28 2003-09-02 Samsung Electronics Co., Ltd. System and method for automatically creating and updating a mobile station configuration database in a wireless network
US6728536B1 (en) 2000-05-02 2004-04-27 Telefonaktiebolaget Lm Ericsson Method and system for combined transmission of access specific access independent and application specific information over public IP networks between visiting and home networks
US6862696B1 (en) * 2000-05-03 2005-03-01 Cigital System and method for software certification
US20020107809A1 (en) 2000-06-02 2002-08-08 Biddle John Denton System and method for licensing management
US7131143B1 (en) 2000-06-21 2006-10-31 Microsoft Corporation Evaluating initially untrusted evidence in an evidence-based security policy manager
US6981281B1 (en) 2000-06-21 2005-12-27 Microsoft Corporation Filtering a permission set using permission requests associated with a code assembly
US7051366B1 (en) 2000-06-21 2006-05-23 Microsoft Corporation Evidence-based security policy manager
US7076557B1 (en) 2000-07-10 2006-07-11 Microsoft Corporation Applying a permission grant set to a call stack during runtime
US7350204B2 (en) 2000-07-24 2008-03-25 Microsoft Corporation Policies for secure software execution
US6628938B1 (en) 2000-08-14 2003-09-30 Koninklijke Philips Electronics N.V. Wireless system, a method of selecting an application while receiving application specific messages and user location method using user location awareness
US6931545B1 (en) 2000-08-28 2005-08-16 Contentguard Holdings, Inc. Systems and methods for integrity certification and verification of content consumption environments
US7130885B2 (en) * 2000-09-05 2006-10-31 Zaplet, Inc. Methods and apparatus providing electronic messages that are linked and aggregated
EP1340167A2 (en) * 2000-11-28 2003-09-03 4thPass Inc. Method and system for maintaining and distributing wireless applications
US20020078380A1 (en) * 2000-12-20 2002-06-20 Jyh-Han Lin Method for permitting debugging and testing of software on a mobile communication device in a secure environment
US7174534B2 (en) * 2001-01-22 2007-02-06 Symbol Technologies, Inc. Efficient system and method for running and analyzing multi-channel, multi-modal applications
KR100614433B1 (ko) * 2001-05-14 2006-08-22 엔티티 도꼬모 인코퍼레이티드 애플리케이션 관리 서버, 이동 단말 및 애플리케이션 관리 방법
US7099663B2 (en) 2001-05-31 2006-08-29 Qualcomm Inc. Safe application distribution and execution in a wireless environment
US7120429B2 (en) * 2001-08-13 2006-10-10 Qualcomm Inc. System and method for licensing applications on wireless devices over a wireless network
IL160342A0 (en) * 2001-08-15 2004-07-25 Qualcomm Inc Test enabled application execution
US6941134B2 (en) * 2002-12-19 2005-09-06 Cingular Wireless Ii, Llc Automated device behavior management based on preset preferences
US6999748B2 (en) * 2002-12-19 2006-02-14 Cingular Wireless Ii, Llc Automated device behavior management based on network charging and rating conditions
US7735120B2 (en) 2003-12-24 2010-06-08 Apple Inc. Server computer issued credential authentication
EP2020797B1 (en) 2007-08-02 2016-06-15 Apple Inc. Client-server Opaque token passing apparatus and method
US8701172B2 (en) 2008-08-13 2014-04-15 Apple Inc. System and method for facilitating user authentication of web page content
US8837716B2 (en) 2009-02-02 2014-09-16 Apple Inc. Sensor derived authentication for establishing peer-to-peer networks
WO2014208209A1 (ja) 2013-06-25 2014-12-31 日産自動車株式会社 ハイブリッド車両の制御装置及び制御方法
WO2016153977A1 (en) 2015-03-22 2016-09-29 Apple Inc. Methods and apparatus for user authentication and human intent verification in mobile devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2483454C2 (ru) * 2008-07-22 2013-05-27 Сименс Индастри, Инк. Разработка, тестирование и демонстрация решений автоматизации с использованием виртуальных компьютеров на основе web и vpn туннелирования
US9237070B2 (en) 2008-07-22 2016-01-12 Siemens Industry, Inc. Development, test, and demonstration of automation solutions using web-based virtual computers and VPN tunneling

Also Published As

Publication number Publication date
US7099663B2 (en) 2006-08-29
CN1258141C (zh) 2006-05-31
CA2448979C (en) 2011-03-01
BR0209741A (pt) 2006-02-07
WO2002097620A3 (en) 2004-05-06
RU2003137835A (ru) 2005-05-27
NZ529867A (en) 2006-06-30
CN1537273A (zh) 2004-10-13
IL159117A0 (en) 2004-05-12
HK1069451A1 (en) 2005-05-20
EP2163986A2 (en) 2010-03-17
US20060287958A1 (en) 2006-12-21
JP4795636B2 (ja) 2011-10-19
ATE447739T1 (de) 2009-11-15
WO2002097620A2 (en) 2002-12-05
US20020183056A1 (en) 2002-12-05
BRPI0209741B1 (pt) 2015-09-22
PE20030021A1 (es) 2003-01-29
DE60234267D1 (de) 2009-12-17
AR036043A1 (es) 2004-08-04
KR20040004361A (ko) 2004-01-13
EP2163986A3 (en) 2012-04-18
JP4440983B2 (ja) 2010-03-24
JP2009054165A (ja) 2009-03-12
TWI252701B (en) 2006-04-01
USRE48001E1 (en) 2020-05-19
US8112076B2 (en) 2012-02-07
EP2163986B1 (en) 2016-05-18
MXPA03010890A (es) 2004-02-27
US20100173608A1 (en) 2010-07-08
ES2334336T3 (es) 2010-03-09
JP2005517220A (ja) 2005-06-09
EP1438657A2 (en) 2004-07-21
KR100634773B1 (ko) 2006-10-16
US20120137349A1 (en) 2012-05-31
US8588766B2 (en) 2013-11-19
EP1438657B1 (en) 2009-11-04
US7684792B2 (en) 2010-03-23
AU2002312041B2 (en) 2008-06-05
CA2448979A1 (en) 2002-12-05

Similar Documents

Publication Publication Date Title
RU2295753C2 (ru) Безопасное распределение и выполнение приложений в беспроводной среде
US7096004B2 (en) Test enabled application execution
AU2002312041A1 (en) Safe application distribution and execution in a wireless environment
US20030051169A1 (en) Using permissions to allocate device resources to an application
AU2002324717A1 (en) Test enabled application execution
NZ548062A (en) Test enabled application execution
AU2002326629A1 (en) Using permissions to allocate device resources to an application