BRPI0209741B1 - distribuição e execução de aplicativo seguras em um ambiente sem fio - Google Patents

distribuição e execução de aplicativo seguras em um ambiente sem fio

Info

Publication number
BRPI0209741B1
BRPI0209741B1 BRPI0209741A BR0209741A BRPI0209741B1 BR PI0209741 B1 BRPI0209741 B1 BR PI0209741B1 BR PI0209741 A BRPI0209741 A BR PI0209741A BR 0209741 A BR0209741 A BR 0209741A BR PI0209741 B1 BRPI0209741 B1 BR PI0209741B1
Authority
BR
Brazil
Prior art keywords
application
wireless device
wireless
server
run
Prior art date
Application number
BRPI0209741A
Other languages
English (en)
Other versions
BR0209741A (pt
Inventor
Anand Krishnan
Brian Minear
Gerald Horel
Karen Crossland
Laurence Lundblade
Marc S Phillips
Mazen Chmaytelli
Mitchell Oliver
Stephen A Sprigg
Yan Zhuang
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of BR0209741A publication Critical patent/BR0209741A/pt
Publication of BRPI0209741B1 publication Critical patent/BRPI0209741B1/pt

Links

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)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)

Abstract

"distribuição e execução segura de aplicação em um ambiente sem fio". a presente invenção provê distribuição e execução protegida e segura de aplicação mediante provimento de sistemas e métodos que testam uma aplicação para assegurar que satisfaz critérios predeterminados associados ao ambiente no qual executará. ademais, usando listas de regras e de permissão, remoção de aplicação e uma técnica de detecção de modificação, tal como assinaturas digitais, a presente invenção prove mecanismos para distribuir e executar seguramente aplicações testadas, ou não testadas, mediante determinação de se a aplicação foi modificada, determinação de se possui permissão para executar em um determinado ambiente de dispositivo sem fio e remover a aplicação.

Description

"DISTRIBUIÇÃO E EXECUÇÃO DE APLICATIVO SEGURAS EM UM AMBIENTE SEM FIO" Campo da Invenção A presente invenção relaciona-se ao processamento de aplicativos para uso em um dispositivo sem fio, e mais especificamente, para aumentar a segurança, proteção e integridade de aplicativos executados em um dispositivo sem fio.
Histórico A comunicação sem fio experimentou crescimento explosivo em anos recentes. Como os consumidores e negócios confiam mais em seus dispositivos sem fio, tais como telefones móveis e assistentes pessoais digitais (PDAs -Personal Digital Assistants), os provedores de serviço sem fio, isto é, operadoras, se esforçam para prover funcionalidade adicional nestes dispositivos sem fio. Esta funcionalidade adicional não apenas aumentaria a demanda para dispositivos sem fio mas também aumentaria o uso entre usuários atuais. 0 aumento da funcionalidade, especificamente mediante aumento dos aplicativos acessíveis pelo dispositivo sem fio, porém, é oneroso e complicado, desencorajando, assim, operadoras de prover esta funcionalidade.
Ademais, há pouca a nenhuma garantia de que um aplicativo, uma vez colocado em um dispositivo sem fio, executará corretamente. Atualmente, a confiança na capacidade do aplicativo de executar em um dispositivo sem fio repousam no desenvolvedor, no fabricante de dispositivo sem fio e/ou na operadora. Como mais aplicativos são desenvolvidos e o número de aplicativos em um dispositivo sem fio aumenta, o ambiente do dispositivo sem fio torna-se mais dinâmico. Como exemplo, um dispositivo sem fio pode escolher recuperar ou executar vários aplicativos diferentes de um grande conjunto de aplicativos disponíveis em qualquer determinado momento. Assim, assegurar que qualquer determinado aplicativo será distribuído ao dispositivo sem fio e será executado seguramente torna-se muito mais difícil de controlar.
Isto possui uma relevância específica porque uma execução imprópria de um aplicativo não apenas pode afetar de modo a lesar o dispositivo sem fio, mas também pode ser prejudicial à rede operadora (carrier network) e outros componentes de rede, incluindo outros dispositivos sem fio. Como exemplo, um aplicativo, se não contido, poderia assumir o controle do controle de potência de um dispositivo sem fio e causar interferência em outros dispositivos sem fio e diminuir a capacidade total na célula que está atendendo o dispositivo sem fio.
Atualmente, nem fabricantes de dispositivos sem fio nem operadoras são equipadas para suportar o teste e distribuição segura de aplicativos em uma distribuição de aplicativo dinâmica e ambiente de execução. Assim, há um interesse que aplicativos sejam distribuídos e executados em dispositivos sem fio que podem causar dano ao dispositivo sem fio, à rede operadora, ou outros componentes de rede.
Além disso, outros assuntos de segurança surgem quando mais aplicativos são desenvolvidos e o ambiente pelo qual aplicativos são transmitidos a um dispositivo sem fio torna-se mais dinâmico. Como o número de aplicativos e o número de desenvolvedores que criam estes aplicativos aumentam, o desejo de saber a fonte de qualquer determinado aplicativo, isto é, o desenvolvedor, também aumenta. Uma operadora ou um fabricante de aparelho telefônico quererão saber, com algum grau de confiança, que eles podem determinar a fonte de um aplicativo caso o aplicativo cause dano.
Por conseguinte, o que é necessário na técnica é um sistema e um método para prover um ambiente mais seguro para a distribuição e execução de aplicativos em um dispositivo sem fio.
SUMÁRIO DA INVENÇÃO
Sistemas e métodos consistentes com a presente invenção superam as deficiências de sistemas existentes mediante criação de um ambiente mais seguro para distribuição e execução de aplicativo, que aplicativos de teste com padrões predeterminados, provêem rastreabilidade ao desenvolvedor para não repúdio, verificação de modificações não intencionais para o aplicativo, autorização da remoção do aplicativo a partir do dispositivo sem fio e/ou uso de regras e permissões que definem o ambiente no qual um aplicativo pode executar. A certificação de que um aplicativo satisfaz padrões predeterminados provê a vantagem de identificar de antemão possíveis erros que poderíam ocorrer durante a execução. Isto ajuda a impedir o efeito prejudicial da execução de um aplicativo. A rastreabilidade provê a vantagem de não repúdio. Caso haja qualquer problema com o aplicativo, é benéfico rastrear de volta à fonte do aplicativo, isto é, o desenvolvedor, para corrigir o problema. Adicionalmente, a rastreabilidade desencoraja desenvolvedores de criar aplicativos que tenham resultados prejudiciais, seja intencional ou não intencional.
Ademais, a capacidade de determinar se um aplicativo é modificado antes de recebê-lo no dispositivo sem fio provê a vantagem de segurança aumentada ao assegurar que o aplicativo recebido é o mesmo que foi transmitido. Uma vez que aplicativos são distribuídos mais livremente no ambiente sem fio, a capacidade de determinar se um aplicativo foi modificado aumenta a confiança de que um aplicativo recebido pelo dispositivo sem fio não foi modificado, seja acidentalmente ou intencionalmente.
Ao prover um conjunto de regras e permissões que definem quando aplicativos podem executar, também aumenta a segurança de uma distribuição e execução de aplicativo de sistema mediante prevenção da execução não autorizada de um aplicativo em plataformas, por exemplo, sistemas ou ambientes nos quais não seja autorizado. A capacidade de remover aplicativos de um dispositivo sem fio também aumenta a segurança de um sistema de distribuição de aplicativo. Se um aplicativo é instalado em um aparelho telefônico, seja pelo fabricante ou pelo download de um aplicativo, possuindo um mecanismo para remover o aplicativo devido a conseqüências negativas imprevistas, aumenta a segurança de distribuição e execução de um aplicativo de sistema mediante remoção de código prejudicial e indesejável que podería ser danoso.
Os sistemas e métodos consistentes com a presente invenção podem recorrer a uma ou mais das técnicas aqui descritas. Ao recorrer a todas as técnicas aqui descritas e designadas, porém, os sistemas e métodos consistentes com a presente invenção provêem alta qualidade e distribuição e execução segura de aplicativos.
Em uma modalidade da presente invenção, um método para distribuir e processar um aplicativo, compreende as etapas de receber o aplicativo è informações de identificação, certificar que o aplicativo satisfaz um critério predeterminado, designar uma permissão ao aplicativo, transmitir o aplicativo, a permissão e as informações de identificação para o dispositivo utilizando uma técnica de detecção de modificação, determinar se o aplicativo foi modificado durante a transmissão, armazenar uma regra no dispositivo, determinar se o aplicativo pode ser processado utilizando a permissão e a regra, e remover o aplicativo do dispositivo.
Em outra modalidade da presente invenção, é apresentado um método para executar um aplicativo em um dispositivo sem fio, compreendendo as etapas de armazenar uma regra para avaliar uma permissão, receber informações que compreendem o aplicativo, a permissão e uma identificação utilizando uma técnica de detecção de modificação, receber uma requisição para executar o aplicativo no dispositivo sem fio, avaliar as informações recebidas para determinar se as informações recebidas foram modificadas, no evento em que as informações recebidas não foram modificadas, avaliar a permissão associada ao aplicativo e no evento em que a permissão é concedida, executar o aplicativo.
Em ainda outra modalidade da presente invenção, é apresentado um método para executar um aplicativo em um dispositivo sem fio, compreendendo as etapas de armazenar uma regra para avaliar uma permissão, receber informações que compreendem o aplicativo, a permissão e uma identificação utilizando uma técnica de detecção de modificação, receber uma requisição para executar o aplicativo no dispositivo sem fio, avaliar as informações recebidas para determinar se as informações recebidas foram modificadas, no evento em que as informações recebidas não foram modificadas, avaliar a permissão associada ao aplicativo e no evento em que a permissão é concedida, executar o aplicativo.
BREVE DESCRIÇÃO DOS DESENHOS
Os desenhos anexos, que estão incorporados e constituem uma parte da especificação, ilustram modalidades preferidas atualmente da invenção e, junto com a descrição geral dada acima e a descrição detalhada das modalidades preferidas dada abaixo, serve para explicar os princípios da invenção. Nos desenhos: A Figura 1 é um fluxograma que descreve o processo de alto nivel de distribuição e execução segura de aplicativo em uma modalidade exemplar da presente invenção; A Figura 2 é um diagrama de blocos que descreve uma arquitetura de sistema na qual uma modalidade exemplar da presente invenção pode ser praticada; A Figura 3 é um diagrama de blocos que descreve uma arquitetura de rede sem fio na qual um sistema de processamento de distribuição segura de aplicativo pode ser praticada em uma modalidade exemplar da presente invenção; A Figura 4 é um diagrama de blocos que descreve um dispositivo sem fio e alguns componentes internos em uma modalidade exemplar da presente invenção; A Figura 5 é um diagrama de blocos que descreve as informações usadas para criar uma assinatura digital e transmiti-la a um dispositivo sem fio em uma modalidade exemplar da presente invenção; A Figura 6 é um fluxograma que descreve as etapas usadas por um servidor ou servidores na distribuição de um aplicativo em uma modalidade exemplar da presente invenção; e A Figura 7 é um fluxograma que descreve as etapas usadas por um dispositivo sem fio ao executar um aplicativo em uma modalidade exemplar da presente invenção.
DESCRIÇÃO DETALHADA DA MODALIDADE PREFERIDA
Será realizada agora referência, em detalhes, para as modalidades exemplares e preferidas da invenção como ilustrado nos desenhos anexos, nas quais referências de caracteres similares ou partes similares ou correspondentes ao longo dos diversos desenhos. A natureza, objetivos e vantagens da presente invenção ficarão mais aparentes para os técnicos na área depois de considerar a seguinte descrição detalhada em relação aos desenhos anexos. A presente invenção provê distribuição e execução protegida e segura de aplicativo ao prover sistemas e métodos que testam um aplicativo para assegurar que satisfazem os critérios predeterminados associados ao ambiente no qual executará. Ademais, mediante uso de listas de regras e de permissão, a remoção de aplicativo e uma técnica de detecção de modificação, tal como assinaturas digitais, a presente invenção provê mecanismos para distribuir e executar com segurança um aplicativo testado, ou não testado, mediante determinação de se o aplicativo foi modificado, determinar se possui permissão para executar em um determinado ambiente de dispositivo sem fio, e remover o aplicativo caso seja desejável fazê-lo.
Será reconhecido pelos técnicos na área que a seguir será descrito um tipo de arquivo de aplicativo sendo distribuído e executado por simplicidade de descrição. Um "aplicativo" também pode incluir arquivos que possuem conteúdo executável, tal como: código de objeto, Scripts, arquivos em java, um arquivo de marcador (ou arquivos PQA) , scripts WML, código de byte e scripts perl. Adicionalmente, no "aplicativo" aqui designado, também pode incluir arquivos que não são executáveis em natureza, tal como documentos que podem precisar ser abertos ou outros arquivos de dados que precisam ser acessados. A Figura 1 é um fluxograma que descreve o processo de alto nível de distribuição e execução de aplicativo seguro de uma maneira consistente com uma modalidade exemplar da presente invenção. Uma modalidade da presente invenção habilita uma identificação de desenvolvedor a ser associada ao aplicativo, executa teste no aplicativo para o ambiente em que é pretendido que o aplicativo seja executado, designa permissões que podem ser usadas para ditar quais dispositivos ou sistemas podem executar o aplicativo, e provê remoção de aplicativo caso um aplicativo execute ações ilegais ou indesejáveis. É preferível que sistemas e métodos empreguem todas estas técnicas para aumentar a distribuição e execução segura de um aplicativo. Será reconhecido, porém, que mesmo o emprego de uma ou mais destas técnicas aumentará a distribuição e execução segura de um aplicativo. O processo de alto nível começa mediante associação da identificação de desenvolvedor com um aplicativo (Etapa 100). Este processo pode ser executado ao ligar a identificação de desenvolvedor com o aplicativo como ele é distribuído. Alternativamente, a identificação de desenvolvedor associado pode ser armazenada junto com o aplicativo correspondente em um servidor no sistema. Também é preferível que as informações de identificação de desenvolvedor sejam armazenadas e associadas com as informações de aplicativo de forma que não sejam facilmente modificadas. O aplicativo é a seguir testado para operação imprópria (Etapa 105) . 0 aplicativo pode ser usado em um ambiente em que a operação imprópria não apenas afeta o dispositivo no qual o aplicativo está sendo executado, mas também aqueles outros dispositivos que estão conectados ou em rede com aquele dispositivo. É preferível testar o aplicativo de forma que não faça chamadas de sistema impróprias ou afete negativamente o dispositivo ou outros dispositivos conectados durante sua operação. Em uma modalidade, este teste é executado por um processo de certificação em que o aplicativo é testado para determinar se atende critérios predeterminados. Também é preferível, ter um processo de certificação independente do desenvolvedor, para testar o aplicativo. A independência do processo de certificação encoraja teste mais acurado e confiável.
Antes de executar o aplicativo, o aplicativo é verificado para determinar se é "permitido" a executar no dispositivo (Etapa 110). Esta verificação pode ser executada pelo uso de permissões e regras, descritas abaixo, ou por outros mecanismos de permissão conhecidos pelos técnicos na área. Ademais, é preferível que o aplicativo seja verificado antes de cada tentativa de execução do aplicativo. Este processo de verificação persistente aumenta a segurança da execução do aplicativo. Como exemplo, ele vigia um aplicativo que possui cavalo de Tróia (Trojan horse) que pode ter sido inserido naquele aplicativo no dispositivo em execução através de outro aplicativo.
Um aplicativo que executa uma operação imprópria ou indesejável é então removida do dispositivo (Etapa 115). Isto impede o aplicativo de fazer qualquer dano adicional e também libera memória no dispositivo para outros usos. Alternativamente, o aplicativo não precisa ser removido do aplicativo. A remoção de um aplicativo pode estar relacionada a desabilitação do aplicativo e deixar o aplicativo no dispositivo. A Figura 2 descreve uma arquitetura de sistema na qual uma modalidade exemplar da presente invenção pode ser praticada. Um desenvolvedor 200 cria um aplicativo para uso no dispositivo sem fio 230. Como descrito acima, será reconhecido pelos técnicos na área que, enquanto a descrição precedente inclui um tipo de arquivo de aplicativo, outros tipos de arquivo podem ser usados. Ademais, será reconhecido pelos técnicos na área que a presente invenção pode ser usada com outros dispositivos sejam sem fio ou não e pode empregar redes sem fio, redes que não sejam sem fio, ou uma combinação de tais.
Tipicamente, o desenvolvedor 200 terá um conjunto de especificações de desenvolvimento para as quais desenvolver o aplicativo para executar no dispositivo sem fio 230. Em uma modalidade, o dispositivo sem fio inclui uma plataforma de software para ajudar na interface do aplicativo com o dispositivo sem fio, tal como o software BREW™ desenvolvido pela QUALCOMM, Incorporated, sediada em San Diego, Califórnia, EUA. 0 desenvolvedor pode criar o aplicativo que satisfaz a plataforma de software, ou software BREW™, padrões de especificação e convenções.
0 desenvolvedor 200 é conectado a um servidor central 205, em uma modalidade, de forma ele possa transmitir eletronicamente o aplicativo ao servidor central 205. Em uma modalidade, o servidor central é um servidor de sede de centro de controle de aplicativo (ACCHQ
Application Control Center Headquarters) usado na distribuição de aplicativos ao dispositivo sem fio. O desenvolvedor 200 pode assinar digitalmente o aplicativo (discutido adicionalmente abaixo) para determinar se o aplicativo foi modificado. Será reconhecido que uma conexão física ao servidor central não é necessária. Como exemplo o desenvolvedor 200 pode enviar, tal como através de correio de primeira classe, o aplicativo para o servidor central 205 armazenado em um CD-ROM.
Adicionalmente, o desenvolvedor envia várias informações de identificação de fonte ao servidor central 205. Estas informações de identificação de fonte podem incluir qualquer tipo de informações que podem ser associadas ao aplicativo que identifica o desenvolvedor, tal como um nome de companhia, identificação de imposto da companhia, ou outras informações identificadoras. 0 servidor central 205, seja apenas por si ou utilizando um servidor de certificação 210, é usado na análise e certificação de aplicativos. Em uma modalidade, um centro de controle de aplicativo (ACC - Application Control Center) pode ser usado como um servidor de certificação. O servidor de certificação 210 pode ser usado para analisar o aplicativo para determinar se o aplicativo satisfaz critérios de certificação predeterminados. Estes critérios podem incluir se o aplicativo satisfez a especificação de desenvolvimento para execução em um dispositivo sem fio ou plataforma. Os critérios de certificação, porém, podem ser qualquer critério que um aplicativo deve satisfazer antes da execução em um dispositivo sem fio ou plataforma. Tais critérios podem incluir a verificação: (a) de que o aplicativo funciona como reivindicado pelo desenvolvedor, de forma que o aplicativo não prejudica a operação do dispositivo sem fio (por exemplo, não estraga o telefone); (b) de que o aplicativo não acessa dados ou memória que não deve (por exemplo, não acessa dados ou arquivos de propriedade de outros aplicativos, o sistema operacional ou software de plataforma); e (c) de que não impacta negativamente nos recursos de dispositivos sem fio, tal como monopolízação danosa da entrada e da saida do dispositivo sem fio. 0 servidor central 205 também pode designar um conjunto de permissões em uma lista associada ao aplicativo. Esta lista de permissão é determinada através de diversos fatores, incluindo uma análise de se o aplicativo passou pelo processo de certificação, quais redes 220 o aplicativo é aprovado para executar, e se o dispositivo sem fio suporta o aplicativo. Pode haver muitos fatores usados para determinar uma lista de permissão o que é deixado aos técnicos na área ao implementar a presente invenção. 0 servidor central 205 recebe as informações de identificação de desenvolvedor e as correlaciona com o aplicativo criado pelo desenvolvedor 200. Caso existam quaisquer problemas com o aplicativo, o servidor central poderá identificar a fonte do aplicativo. Em uma modalidade, as informações de desenvolvedor são passadas ao dispositivo sem fio 230 de forma que a correlação possa ser executada pelo dispositivo sem fio ou outros sistemas conectados ao dispositivo sem fio.
Em uma modalidade, o servidor central também é conectado a um servidor de download de aplicativo (ADS -Application Download Server) 215. 0 servidor de download de aplicativo 215 é usado para conectar com um dispositivo sem fio através de uma rede sem fio 220 para fazer download de um aplicativo. O servidor central também pode enviar a lista de permissões e identificação de desenvolvedor associado com o aplicativo ao ADS em que pode ser armazenado até transmissão a um dispositivo sem fio. É preferido que o aplicativo, a lista de permissão e a identificação de desenvolvedor sejam assinadas digitalmente pelo servidor central para aumentar a segurança contra modificação.
Será reconhecido pelos técnicos na área que um ADS pode ser usado para conectar a múltiplas redes 220 para a distribuição de aplicativos, arquivos e outras informações para os diversos dispositivos sem fio 230. Ademais, redes sem fio ou não sem fio podem ser empregadas para transmitir a lista de permissão do aplicativo e identificação de desenvolvedor ao dispositivo sem fio.
Em resposta a uma requisição de um aplicativo, o ADS 215 enviará o aplicativo, a lista de permissão, a identificação de desenvolvedor e a(s) assinatura(s) digital(is) para o dispositivo sem fio 230 através da rede 220. Em uma modalidade, o dispositivo sem fio 230 conterá uma chave para verificar a assinatura digital para determinar se o aplicativo, a lista de permissão e/ou informações de desenvolvedor são modificadas. É preferido, caso assinaturas digitais sejam empregadas na presente invenção, que o servidor central use uma chave segura para criar a assinatura digital e instalar uma chave em um dispositivo sem fio para avaliar a assinatura digital. Mediante uso de uma chave segura, o dispositivo sem fio terá um grau maior de confiança de que a assinatura digital foi criada pelo servidor central e não por um impostor.
Caso o aplicativo cause qualquer erro no dispositivo sem fio, ou por qualquer outra razão desejada, o dispositivo sem fio pode iniciar a remoção do aplicativo. Ademais, um aplicativo pode ser removido do dispositivo sem fio com base em uma requisição do ADS ou servidor central. Esta requisição a partir do servidor pode ser iniciada para qualquer razão desejada. Como exemplo, o servidor pode iniciar a remoção de aplicativos de um dispositivo sem fio porque o aplicativo foi executado impropriamente em outro dispositivo, uma nova versão do aplicativo é distribuída, ou mesmo razões de negócios que ditam que o aplicativo deve ser removido. Este processo de remoção de aplicativo protege adicionalmente o ambiente de dispositivo sem fio de execução repetida de aplicativos corrompidos e/ou destrutivos. A Figura 3 descreve uma arquitetura de rede sem fio na qual um sistema de distribuição de aplicativo pode ser praticado em uma modalidade exemplar da presente invenção. Um servidor central 302 é uma entidade que certifica, seja por si mesma ou em combinação com um servidor de certificação, os programas de aplicativo como compatíveis com um conjunto definido de padrões de programação ou convenções. Como descrito anteriormente, estes padrões de programação podem ser estabelecidos de forma que o aplicativo executará em uma plataforma de software, tal como a plataforma BREW™.
Em uma modalidade, o banco de dados de servidor central 304 consiste em um registro das identificações para cada programa aplicativo que foi feito download a qualquer hora em cada dispositivo sem fio 330 na rede 300, um número de serviço eletrônico ("ESN" - Electronic Service Number) para o indivíduo que fez o download do programa aplicativo, e um número de identificação de móvel ("MIN" - Mobile Identification Number) único para o dispositivo sem fio 330 que porta aquele programa aplicativo. Alternativamente, o banco de dados de servidor central 304 contém registros de cada dispositivo sem fio 330 na rede 300 do modelo de dispositivo sem fio, operadora da rede sem fio, a região em que o dispositivo sem fio 330 é usado, e quaisquer outras informações úteis para identificar quais dispositivos sem fio 330 estão portando quais programas aplicativo. Adicionalmente, o banco de dados de servidor central também pode armazenar estas informações de identificação de desenvolvedor associadas a um aplicativo.
Em uma modalidade, o servidor central 302 também pode incluir uma fonte de comando de remoção 322. A fonte de comando de remoção 322 é a pessoa (s) ou entidade (s) que pode tomar a decisão de remover um ou mais programas aplicativo meta. A fonte de comando de remoção 322 também é a entidade que constrói um comando de remoção 316 (discutido abaixo) que é difundido a dispositivo sem fio identificado 330 que porta o(s) programa(s) aplicativo(s) meta(s). Alternativamente, e sem limitação, a fonte de comando de remoção 322 pode ser uma ou mais pessoas ou entidades envolvidas com o desenvolvimento e emissão do programa aplicativo meta, pessoas ou entidades envolvidas com a fabricação do dispositivo sem fio 330, e/ou pessoas ou entidades envolvidas com a função de qualquer parte da rede 300. O servidor central 302 comunica-se com um ou mais servidores de computador 306, por exemplo, um ADS, através de uma rede 308, tal como a Internet, preferivelmente segura. Os servidores 306 também se comunicam com uma rede operadora 310 através de uma rede 308. A rede operadora 310 comunica-se com o MSC 312 pela Internet e pelo sistema de telefonia ordinário plano (POTS - Plain Ordinary Telephone System) (coletivamente identificado na Figura 3 como 311) . A conexão de Internet 311 entre a rede operadora 310 e o MSC 312 transfere dados, e o POTS 311 transfere informações de voz. 0 MSC 312, por sua vez, é conectado a múltiplas estações base ("BTS") 314. 0 MSC 312 é conectado ao BTS pela Internet 311 (para transferência de dados) e pelo POTS 311 (para informações de voz). 0 BTS 314 envia mensagens de forma sem fio aos dispositivos sem fio 330 através do serviço de mensagens curtas ("SMS" - Short Message Service), ou qualquer outro método através do ar.
Um exemplo de uma mensagem enviada pela BTS 314 na presente invenção é um comando de remoção 316. Como discutido adicionalmente aqui, o dispositivo sem fio 330, em resposta à recepção de um comando de remoção 316, responde desinstalando um programa aplicativo meta armazenado no dispositivo sem fio 330. Em uma modalidade, o programa de remoção pode adicionalmente ou alternativamente ser programado para desabilitar o programa aplicativo meta ou reprogramá-lo para executar diferentemente. O dispositivo sem fio também pode apagar o aplicativo e quaisquer informações relacionadas, tal como uma lista de permissão. O comando de remoção 316 é construído pela fonte de comando de remoção 322 (que pode ou não ser a(s) mesma(s) pessoa(s) ou entidade(s) que tomam a decisão de iniciar uma remoção do programa aplicativo meta). O comando de remoção 316 é enviado pela fonte de comando de remoção 322 através da rede 300 para difusão aos dispositivos sem fio 330.
Mediante utilização do comando de remoção como descrito na modalidade acima, a segurança de distribuição e execução de aplicativo é aumentada ao prover um mecanismo para desinstalar aplicativos corrompidos ou indesejáveis. Será reconhecido pelos técnicos na área que, enquanto a descrição precedente descreveu um comando de remoção iniciado pelo servidor central, o dispositivo sem fio também pode iniciar a remoção ou desinstalação do aplicativo e de suas informações relacionadas.
De modo similar, a rede acima pode ser usada para enviar o aplicativo, a lista de permissão e as assinaturas digitais associadas a partir do servidor central para diversos servidores 306 (por exemplo, ADS) através do MSC e BTS para os dispositivos sem fio 330. A Figura 4 descreve um dispositivo sem fio e alguns componentes internos em uma modalidade exemplar da presente invenção. Enquanto esta modalidade é dirigida a um dispositivo sem fio 4 00, é usada como um exemplo sem qualquer limitação intencional. A invenção pode alternativamente ser executada em qualquer forma de módulo remoto capaz de se comunicar através de uma rede, incluindo, sem limitação, dispositivos sem fio e não sem fio, tal como assistentes pessoais digitais ("PDAs"), modems sem fio, cartões PCMCIA, terminais de acesso, computadores pessoais, dispositivos sem uma tela ou teclado, ou qualquer combinação ou subcombinação de tais. Estes exemplos de módulos remotos também podem possuir uma interface de usuário, tal como um teclado, tela visual ou tela sonora. O dispositivo sem fio 400 mostrado na Figura 4 possui um circuito integrado de aplicação especifica ("ASIC" - Application Specific Integrated Circuit) 415 instalado na ocasião em que o dispositivo sem fio 400 é fabricado. O ASIC é um componente de hardware que é dirigido por software incluído no ASIC. Uma interface de programação de aplicativo ("API" - Application Programming Interface) 410 também é instalada no dispositivo sem fio 400 no momento da fabricação. Em uma modalidade, a API representa uma API BREW ou plataforma de software. A API 410 é um programa de software configurado para interagir com o ASIC. A API 410 serve como uma interface entre o hardware do ASIC 415 e programas aplicativo (discutido abaixo) instalados no dispositivo sem fio 400. Alternativamente, o dispositivo sem fio 400 pode conter qualquer outra forma de conjunto de circuitos que permitiría que programas de serem operados da maneira que seja compatível com a configuração de hardware do dispositivo sem fio 400. O dispositivo sem fio 400 também possui armazenamento 405. O armazenamento 405 consiste em RAM e ROM, mas, alternativamente, podería ser qualquer forma de memória, tal como EPROM, EEPROM ou inserções de cartões flash. A área de armazenamento 405 do dispositivo sem fio pode ser usada para armazenar aplicativos recebidos e listas de permissão 425. Adicionalmente, a área de armazenamento 405 pode ser usada para armazenar uma ou mais "chaves" 430. Estas chaves podem ser aplicadas a uma assinatura digital que usa um algoritmo de assinatura para determinar se as informações assinadas foram modificadas.
As regras 435 também podem ser instaladas no dispositivo sem fio 400. Estas regras podem ser usadas junto com a lista de permissão para determinar se é permitido para um aplicativo executar. Como exemplo, uma regra pode declarar que é permitido para um aplicativo executar se um flag de certificação for configurado na lista de permissão (isto é, indicando a certificação de aplicativo aprovada). A lista de permissão terá o flag de certificação configurado ou não, dependendo se passou pela certificação. Mediante aplicação da regra às informações contidas na lista de permissão, a permissão para executar o aplicativo é concedida ou negada. O fabricante (não mostrado) do dispositivo sem fio 400 pode fazer download de programas aplicativo no armazenamento 405 do dispositivo sem fio 400 no momento em que o dispositivo sem fio 400 é fabricado. Estes programas aplicativo podem ser quaisquer programas potencialmente úteis ou de entretenimento para o usuário do dispositivo sem fio, tal como jogos, livro, ou qualquer outro tipo de dados ou programas de software. Os programas aplicativo também podem sofrer download pelo dispositivo sem fio 400 através do ar depois que o dispositivo sem fio é fabricado. O programa de remoção, quando executado pelo dispositivo sem fio 400, desinstala um ou mais programas aplicativo meta de um dos aplicativos armazenados no dispositivo sem fio 400. O programa aplicativo meta é um programa aplicativo que precisa ser desinstalado do dispositivo sem fio 400 por várias razões discutidas abaixo. O dispositivo sem fio 400 possui um banco de dados local 420 instalado pelo fabricante. A API do dispositivo sem fio é programada para atualizar automaticamente o banco de dados local 420 com um registro de informações de identificação sobre cada um dos programas aplicativo armazenados no dispositivo sem fio 400. 0 banco de dados local 420 contém um registro das identificações de assinatura únicas para cada programa aplicativo armazenado no dispositivo sem fio 402. Adicionalmente, o banco de dados local 420 pode conter um registro do local dos programas aplicativo dentro do armazenamento 405 no dispositivo sem fio 400 e quaisquer outras informações úteis para manter rastro de quais programas aplicativo sofrem download pelo dispositivo sem fio 400, e onde eles ficam situados. A Figura 5 é um diagrama de blocos que descreve informações usadas para criar uma assinatura digital e transmiti-la a um dispositivo sem fio em uma modalidade exemplar da presente invenção. Como é conhecido pelos técnicos na área, as assinaturas digitais podem ser usadas para rastrear se um arquivo digital foi modificado. Como descrito, as assinaturas digitais podem ser aplicadas a qualquer arquivo digital, incluindo documentos, aplicativos, bancos de dados, etc. Em geral, uma assinatura digital é criada mediante aplicação de uma chave a um arquivo utilizando um algoritmo de assinatura. Esta assinatura digital é criada utilizando as informações contidas no arquivo. Tipicamente, a assinatura digital é enviada junto com o arquivo a um destinatário. 0 destinatário do arquivo e da assinatura digital pode a seguir aplicar uma chave ao arquivo recebido e à assinatura digital para determinar se o arquivo foi modificado durante a transmissão ao destinatário.
As chaves usadas para criar e avaliar uma assinatura digital podem ser usadas para determinar a identidade do signatário. Por exemplo, uma chave pode ser gerada para criar uma assinatura digital por uma entidade e mantida em segurança. Esta entidade pode distribuir uma chave correspondente que pode ser usada para avaliar a assinatura digital. Se a chave é mantida em segurança e não comprometida, o destinatário que avalia a assinatura digital não apenas pode determinar se as informações foram modificadas, mas também a identidade do signatário.
Alternativamente, entidades de terceira parte podem criar chaves para entidades especificas de uma forma segura. Portanto, um destinatário que possui uma chave associada a uma identidade especifica poderá determinar se aquela entidade foi o signatário.
Em uma modalidade da presente invenção, uma assinatura digital 515 é gerada mediante uso da chave do signatário 525, por exemplo, uma chave do servidor central (ver Figura 2) , o aplicativo 500, a lista de permissão 505 e as informações de identidade de desenvolvedor 510 como entrada para um algoritmo de assinatura digital 530. 0 resultado é uma assinatura digital 515 que é dependente das informações contidas nas entradas.
Depois de criar a assinatura digital 515, o aplicativo 500, a lista de permissão 505, as informações de identidade de desenvolvedor 510 e a assinatura digital 515 são transmitidos ao dispositivo sem fio 520. O dispositivo sem fio pode a seguir usar a assinatura digital para determinar se quaisquer do aplicativo ou informações relacionadas (isto é, a lista de permissão e as informações de identidade de desenvolvedor) foram modificadas. Adicionalmente, o uso de uma das técnicas descritas acima, tal como uma chave segura, o dispositivo sem fio também pode ter confiança na identidade do signatário que transmitiu estas informações ao dispositivo sem fio. A Figura 6 é um fluxograma que descreve as etapas usadas por um servidor ou servidores na distribuição de um aplicativo de uma maneira consistente com uma modalidade exemplar da presente invenção. Nesta modalidade exemplar, o processo começa recebendo um aplicativo e uma assinatura digital (Etapa 600) . A assinatura digital é informações relacionadas ao aplicativo tal que possa ser determinado se o aplicativo foi modificado antes de sua recepção. Ademais, é preferível que a chave usada para assinar a assinatura digital seja designada por uma terceira parte de modo a validar que a entidade ou desenvolvedor que assinam o aplicativo é o desenvolvedor que recebeu a chave designada.
Depois de receber o aplicativo e a assinatura digital, a assinatura digital é avaliada para determinar se o desenvolvedor que enviou o aplicativo é o mesmo que assinou o aplicativo (Etapa 605) . Caso uma terceira parte tenha designado a chave ao desenvolvedor para criar a assinatura digital, a terceira parte pode também designar a chave para avaliar a assinatura digital à parte receptora, tal como para o servidor central descrito com relação à Figura 2. A identificação do desenvolvedor, ou qualquer que seja a entidade que assinou e/ou criou o aplicativo, é a seguir armazenada e associada ao aplicativo (Etapa 610). 0 armazenamento pode estar em uma tabela, banco de dados ou em alguma outra forma tal que possa ser recuperado depois no evento em que a identidade do desenvolvedor precisar ser determinada. Em uma modalidade, o armazenamento da identificação do desenvolvedor é armazenado em um dispositivo sem fio e não em um servidor. O aplicativo recebido é a seguir certificado para determinar se atende critérios especificados (Etapa 615) . Em uma modalidade, um aplicativo pode ser escrito para executar em uma plataforma especifica, tal como a plataforma BREW™ desenvolvida pela QUALCOMM, Incorporated, sediada em San Diego, Califórnia, EUA, usada em dispositivos sem fio. Uma plataforma especifica, ou dispositivo, pode possuir requerimentos específicos que um aplicativo deve satisfazer antes de tê-lo executado no dispositivo. Como exemplo, uma plataforma ou dispositivo pode requerer que um aplicativo não acesse localizações de memória específicas no dispositivo de modo que a integridade do dispositivo ou outros aplicativos localizados na memória não sejam comprometidos. Estes critérios podem ser especificados e o aplicativo pode ser testado para determinar se estes critérios serão atendidos. Preferivelmente, estes critérios são predeterminados e providos ao desenvolvedor para ser incorporado no desenvolvimento do aplicativo.
Depois da certificação, as permissões associadas com o aplicativo para um determinado ambiente são designadas (Etapa 620). A permissão pode ser designada com base em muitos fatores, dependendo do ambiente no qual a presente invenção é implementada. Em uma modalidade, os aplicativos são planejados para um dispositivo sem fio. Nesta modalidade, a designação de permissões pode depender da rede operadora, requerimentos de um dispositivo sem fio, resultados de testes de certificação, e desenvolvedor, operadora ou outros ambientes de testes, por exemplo. Portanto, um exemplo de uma lista de permissão é uma indicação de que o aplicativo passou no teste de certificação e que pode executar na rede de uma operadora especifica. 0 servidor a seguir assina digitalmente o aplicativo, a lista de permissão, e a identificação de desenvolvedor (Etapa 625) . Em uma modalidade, esta assinatura é executada utilizando uma chave segura de forma que a identidade do servidor possa ser determinada por aqueles que estejam recebendo estas informações assinadas digitalmente. Não é requerido que a assinatura do desenvolvedor que foi recebida pelo servidor também seja assinada ou que a assinatura do desenvolvedor seja enviada ao dispositivo sem fio. 0 aplicativo, a lista de permissão, a identificação de desenvolvedor e a assinatura criados na etapa 625 são a seguir transmitidos a um dispositivo sem fio (Etapa 630). A Figura 7 é um fluxograma que descreve as etapas usadas por um dispositivo sem fio ao executar um aplicativo de uma forma consistente com uma modalidade exemplar da presente invenção. Nesta modalidade, o dispositivo sem fio armazena regras para avaliar permissões associadas a um aplicativo (Etapa 700). Será reconhecido pelos técnicos na área que, enquanto a presente invenção descreve um paradigma de regras/permissões, há muitos paradigmas que podem ser usados para conceder permissão a um aplicativo para um dispositivo especifico ou plataforma e estes são considerados como dentro do escopo da presente invenção. 0 dispositivo sem fio a seguir recebe o aplicativo, a lista de permissão, a identificação de desenvolvedor e a assinatura digital (Etapa 705). Em uma modalidade, o dispositivo sem fio pode avaliar a assinatura digital recebida para determinar a identidade do signatário. A assinatura digital também pode ser usada para determinar se o aplicativo, a lista de permissão ou identificação de desenvolvedor foram modificados depois de terem sido assinados. 0 dispositivo sem fio a seguir recebe uma requisição para executar o aplicativo (Etapa 710) . Esta requisição pode ser procedente do usuário do dispositivo sem fio que deseja executar um programa. Alternativamente, a requisição pode ser realizada pelo próprio dispositivo sem fio ou alguma requisição transmitida ao dispositivo sem fio, ou através de uma rede ou conexão direta para o dispositivo sem fio.
Depois de receber a requisição, o dispositivo sem fio avalia a assinatura digital e a lista de permissão associada ao aplicativo antes de sua execução (Etapa 720). Como descrito, o dispositivo sem fio, em uma modalidade, pode usar regras para avaliar a lista de permissões. Caso mediante avaliação da assinatura digital seja determinado que o aplicativo, a lista de permissão ou a identificação de desenvolvedor não foram modificados, o dispositivo sem fio avalia a lista de permissão utilizando as regras armazenadas. Caso não houvesse nenhuma modificação e a avaliação das regras contra a lista de permissão indicasse que é concedida permissão para o aplicativo de executar no dispositivo sem fio, o processamento procede para executar o aplicativo no dispositivo (Etapa 730).
Caso a avaliação na Etapa 720 indicar que o aplicativo, a lista de permissão ou a identificação de desenvolvedor foram modificados depois de serem assinados, ou que seja negada permissão para o aplicativo de executar no dispositivo sem fio, o aplicativo não é executado (Etapa 725) . O processamento prossegue para remover o aplicativo do dispositivo sem fio (Etapa 750). Também é preferido que a lista de permissão e a identificação de desenvolvedor também sejam removidas do dispositivo sem fio. A etapa seguinte 730, a execução do aplicativo é monitorada para determinar se executar uma operação ilegal ou imprópria (Etapa 735) . 0 dispositivo sem fio ou a plataforma que o dispositivo sem fio está utilizando pode definir que certas operações são ilegais ou impróprias. Estas operações podem incluir aquelas de áreas de memória restritas ou localizações de memória usadas por outros programas ou arquivos. Adicionalmente, tais operações podem envolver usos prejudiciais dos recursos do dispositivo sem fio tal que eles não apenas possam afetar o dispositivo sem fio, mas outros dispositivos na rede do dispositivo sem fio que estejam ligados.
Caso uma tal operação ilegal ou imprópria seja tentada, a execução do aplicativo é parada (Etapa 745) e removida do dispositivo sem fio (Etapa 750) junto com, preferivelmente, a identificação de desenvolvedor e a lista de permissão. Como declarado acima, alternativamente, o processo de remoção pode envolver a desabilitação do aplicativo, impedindo assim sua execução, e mantendo o aplicativo no dispositivo sem fio.
Caso nenhuma operação ilegal, imprópria, ou indesejável seja executada na etapa 735, o aplicativo é permitido continuar sua execução (Etapa 740).
CONCLUSÃO O uso de mecanismos para certificar, detectar modificações, determinar a identidade de fonte, designar permissões, e incorporar a capacidade de remover o aplicativo, sistemas e métodos consistentes com a presente invenção aumentam a proteção e segurança na distribuição e execução de aplicativo. Os sistemas e métodos podem implementar poucos ou todos estes mecanismos. Quanto mais mecanismos implementados, maior será o grau de segurança que é alcançado.
Em uma modalidade, um desenvolvedor envia um aplicativo a um servidor. O desenvolvedor pode assinar o aplicativo para protegê-la contra modificação não autorizada. Um servidor verifica a identidade do desenvolvedor, e executa teste de certificação no aplicativo. 0 servidor também designa permissões ao aplicativo, ao criar uma lista de permissão. 0 aplicativo, a lista de permissão, a identificação de desenvolvedor são assinados digitalmente pelo servidor e enviados a um dispositivo sem fio junto com a assinatura digital. Um dispositivo sem fio verifica a assinatura digital por modificações e a lista de permissão em relação a regras armazenadas antes de executar o aplicativo. Em uma modalidade, estas verificações são executadas antes de cada tentativa de executar o aplicativo no dispositivo sem fio. Caso as verificações indicarem que o aplicativo foi modificado ou teve permissão negada de executar, o aplicativo não é executado e é removido do dispositivo sem fio. Ademais, se durante execução, o aplicativo tentar uma operação ilegal ou imprópria, o aplicativo é finalizado e a seguir removido do dispositivo sem fio. A descrição precedente de uma implementação da invenção foi apresentada para propósitos de ilustração e descrição. Não é exaustivo e não limita a invenção à forma precisa revelada. Modificações e variações são possíveis levando em conta os ensinamentos acima ou podem ser adquiridos a partir da prática da invenção. Como exemplo, a implementação descrita inclui software mas uma modalidade da presente invenção pode ser implementada como uma combinação de hardware e software ou apenas em hardware. A invenção pode ser implementada com sistemas de programação orientados a objeto e não orientados a objeto. Adicionalmente, embora aspectos da presente invenção sejam descritos como sendo armazenados em memória, os técnicos na área apreciarão que estes aspectos também podem ser armazenados em outros tipos de meios legíveis por computador, tal como dispositivos de armazenamento secundários, como discos rígidos, disquetes, ou CD-ROM; uma onda portadora da Internet ou outro meio de propagação; ou outras formas de RAM ou ROM. 0 escopo da invenção está definido pelas reivindicações e suas equivalentes.

Claims (12)

1. Método para um servidor processar e distribuir um aplicativo para uso em um dispositivo sem fio que se comunica através de uma rede sem fio, caracterizado pelo fato de que compreende: receber o aplicativo e uma primeira informação de identificação associada ao aplicativo, a primeira informação de identificação utilizável para confirmar uma identidade de uma origem do aplicativo; certificar se o aplicativo satisfaz a cada critério de um conjunto de critérios predeterminados, em que cada critério está respectivamente associado a um ambiente sem fio no qual o aplicativo pode ser executado; após a certificação, designar um conjunto de permissões ao aplicativo, o conjunto de permissões incluindo permissões dependentes dos resultados da certificação; e transmitir o aplicativo, o conjunto de permissões e uma segunda informação de identificação utilizável para confirmar uma identidade do servidor, para o dispositivo sem fio.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de o conjunto de critérios predeterminados compreende um primeiro critério associado a um dispositivo de rede sem fio especifico ou plataforma no qual o aplicativo pode ser executado.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que na transmissão, pelo menos o aplicativo é transmitido utilizando uma técnica de detecção de modulação.
4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que a técnica de detecção de modulação usa uma assinatura digital.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: avaliar o aplicativo recebido e informação de identificação para determinar a identidade do desenvolvedor do aplicativo.
6. Sistema para processar e distribuir um aplicativo para uso em um dispositivo sem fio que se comunica através de uma rede sem fio, compreendendo: uma rede operadora; uma infraestrutura para suportar a rede sem fio, acoplada à rede operadora; e um servidor acoplado à rede operadora, caracterizado pelo fato de que compreende: dispositivo para receber o aplicativo e uma primeira informação de identificação associada ao aplicativo, a primeira informação de identificação utilizável para confirmar uma identidade de uma fonte do aplicativo; dispositivo para certificar se o aplicativo satisfaz a cada critério em um conjunto de critérios predeterminados, em que cada critério está respectivamente associado a um ambiente sem fio no qual o aplicativo pode ser executado; dispositivo para designar um conjunto de permissões ao aplicativo após o aplicativo ter sido certificado pelo dispositivo para certificar, o conjunto de permissões incluindo permissões que dependem dos resultados da certificação do aplicativo pelo dispositivo para certificar; e dispositivo para transmitir o aplicativo, o conjunto de permissões e uma segunda informação de identificação utilizável para confirmar uma identidade do servidor, para o dispositivo sem fio.
7. Sistema, de acordo com a reivindicação 6, caracterizado pelo fato de que o dispositivo para transmitir utiliza uma técnica de detecção de modificação para transmitir o aplicativo, o conjunto de permissões e a segunda informação de identificação para o dispositivo sem fio.
8. Sistema, de acordo com a reivindicação 6, caracterizado pelo fato de que o servidor compreende: uma rede inter-servidor; um primeiro servidor configurado para receber o aplicativo; um segundo servidor configurado para certificar o aplicativo; e um terceiro servidor configurado para designar um conjunto de permissões e transmitir o aplicativo; em que os primeiro, segundo e terceiro servidores estão, cada um, acoplados à rede inter-servidora e o terceiro servidor está acoplado à rede operadora.
9. Método para processar um aplicativo para execução em um dispositivo sem fio que se comunica através de uma rede sem fio, caracterizado pelo fato de que compreende: receber, de um servidor através da rede sem fio, uma transmissão compreendendo o aplicativo, um conjunto de permissões, cada permissão associada a um critério de certificação, e uma informação de identificação utilizável para confirmar a identidade do servidor; determinar, com base na avaliação, uma regra previamente armazenada no dispositivo sem fio no conjunto de permissões, se se habilita o aplicativo para execução; executar o aplicativo com base no aplicativo tendo sido habilitado para execução; e remover o aplicativo do dispositivo sem fio com base no aplicativo não tendo sido habilitado para execução.
10. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que compreende: determinar se o aplicativo foi modificado durante a transmissão; e com base na determinação de que o aplicativo foi modificado durante a transmissão, remover o aplicativo do dispositivo sem fio.
11. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que compreende adicionalmente: determinar se o aplicativo foi modificado durante a transmissão; e armazenar uma regra dispositivo sem fio.
12. Dispositivo sem fio que se comunica através de uma rede sem fio e é capaz de executar um aplicativo, caracterizado pelo fato de que compreende: uma interface sem fio para receber o aplicativo, um conjunto de permissões e uma informação de identificação; uma plataforma de computador, acoplada à interface sem fio, a plataforma de computador compreendendo um primeiro armazenador para armazenar uma regra definida previamente, e um segundo armazenador para armazenar o aplicativo, o conjunto de permissões e a informação de identificação; em que a plataforma de computador é configurada para determinar, com base na avaliação da regra no conjunto de permissões: se se habilita o aplicativo para execução; executa o aplicativo com base no aplicativo tendo sido habilitado para execução; remove o aplicativo com base no aplicativo não tendo sido habilitado para execução.
BRPI0209741A 2001-05-31 2002-05-23 distribuição e execução de aplicativo seguras em um ambiente sem fio BRPI0209741B1 (pt)

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
PCT/US2002/016485 WO2002097620A2 (en) 2001-05-31 2002-05-23 Safe application distribution and execution in a wireless environment

Publications (2)

Publication Number Publication Date
BR0209741A BR0209741A (pt) 2006-02-07
BRPI0209741B1 true BRPI0209741B1 (pt) 2015-09-22

Family

ID=25359530

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0209741A BRPI0209741B1 (pt) 2001-05-31 2002-05-23 distribuição e execução de aplicativo seguras em um ambiente sem fio

Country Status (20)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170300667A1 (en) * 2011-08-08 2017-10-19 Bloomberg Finance L.P. System and method for electronic distribution of software and data

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
CN100349087C (zh) * 2003-02-21 2007-11-14 捷讯研究有限公司 电子设备的多级控制系统和方法
WO2004107647A1 (en) * 2003-05-17 2004-12-09 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 杭州斯达康通讯有限公司 将计算机程序下载至手机的方法
CA2564186C (en) 2004-04-30 2019-08-20 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
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
US8126456B2 (en) * 2007-01-17 2012-02-28 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
US10778417B2 (en) 2007-09-27 2020-09-15 Clevx, Llc Self-encrypting module with embedded wireless user authentication
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
US10181055B2 (en) 2007-09-27 2019-01-15 Clevx, Llc Data security system with encryption
US20090273438A1 (en) * 2008-05-01 2009-11-05 Delphi Technologies, Inc. Remote monitoring, interrogation and control apparatus for stationary and mobile systems
EP2248366A4 (en) * 2008-01-29 2014-04-09 Qualcomm Inc SECURE APPLICATION SIGNATURE
JP2009253565A (ja) * 2008-04-04 2009-10-29 Hitachi Ltd 携帯端末装置および携帯端末装置における無線通信方式の管理方法
US9076176B2 (en) * 2008-05-05 2015-07-07 Apple Inc. Electronic submission of application programs for network-based distribution
US9342287B2 (en) 2008-05-05 2016-05-17 Apple Inc. Software program ratings
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
CN105338106B (zh) * 2008-12-18 2019-03-12 爱立信电话股份有限公司 分发应用
CN102257476B (zh) * 2008-12-18 2015-12-16 爱立信电话股份有限公司 分发应用
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
US8650277B2 (en) * 2010-02-03 2014-02-11 Symantec Corporation Method, system, and computer readable medium for gathering usage statistics
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
US8359284B2 (en) 2010-05-13 2013-01-22 Bank Of America Corporation Organization-segment-based risk analysis model
US8230268B2 (en) * 2010-05-13 2012-07-24 Bank Of America Corporation Technology infrastructure failure predictor
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株式会社 携帯端末およびプログラム
JP6019484B2 (ja) * 2010-08-25 2016-11-02 ルックアウト、アイエヌシー. サーバで結合されたマルウェア防止のためのシステムと方法
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
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
US8898459B2 (en) 2011-08-31 2014-11-25 At&T Intellectual Property I, L.P. Policy configuration for mobile device applications
US8918841B2 (en) * 2011-08-31 2014-12-23 At&T Intellectual Property I, L.P. Hardware interface access control for mobile 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 삼성전자주식회사 애플리케이션이 필요로 하는 권한을 진단하는 방법 및 장치
CA2870166C (en) 2012-04-13 2020-07-21 Ologn Technologies Ag Secure zone for digital communications
EP2836968B1 (en) 2012-04-13 2020-05-06 OLogN Technologies AG Apparatuses, methods and systems for computer-based secure transactions
WO2013158064A1 (en) * 2012-04-16 2013-10-24 Intel Corporation Trusted user interaction
US9432348B2 (en) * 2012-04-20 2016-08-30 Ologn Technologies Ag Secure zone for secure purchases
GB201207816D0 (en) 2012-05-04 2012-06-13 Vodafone Ip Licensing Ltd Telecommunication networks
US9349015B1 (en) * 2012-06-12 2016-05-24 Galois, Inc. Programmatically detecting collusion-based security policy violations
CN103491056B (zh) * 2012-06-12 2017-12-26 中兴通讯股份有限公司 应用权限的控制方法及装置
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
CN104685477B (zh) * 2012-09-28 2018-01-19 慧与发展有限责任合伙企业 应用程序安全测试
US8938053B2 (en) 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
EP2912593B1 (en) * 2012-10-23 2022-01-05 Hewlett-Packard Development Company, L.P. Controlling distribution and use of a developer application in a network environment
US10884905B2 (en) 2013-02-01 2021-01-05 Micro Focus Llc Test script creation based on abstract test user controls
EP2973180B1 (en) 2013-03-15 2020-01-15 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
CA2918596C (en) 2013-08-02 2023-03-07 Ologn Technologies Ag A secure server on a system with virtual machines
JP6069160B2 (ja) 2013-10-07 2017-02-01 株式会社日立製作所 制御システム及び認証装置
WO2015056056A1 (en) 2013-10-18 2015-04-23 Nokia Technologies Oy Method and system for operating and monitoring permissions for applications in an electronic device
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 한국전자통신연구원 어플리케이션 퍼미션 재조정 방법 및 이를 수행하는 사용자 단말
WO2017123433A1 (en) * 2016-01-04 2017-07-20 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
US10223425B2 (en) 2016-02-24 2019-03-05 Bank Of America Corporation Operational data 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
US10275182B2 (en) 2016-02-24 2019-04-30 Bank Of America Corporation System for categorical data encoding
US10387230B2 (en) 2016-02-24 2019-08-20 Bank Of America Corporation Technical language processor administration
US10019486B2 (en) 2016-02-24 2018-07-10 Bank Of America Corporation Computerized system for analyzing operational event data
US10216798B2 (en) 2016-02-24 2019-02-26 Bank Of America Corporation Technical language processor
US10366367B2 (en) 2016-02-24 2019-07-30 Bank Of America Corporation Computerized system for evaluating and modifying technology change events
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
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
ATE177857T1 (de) 1992-05-15 1999-04-15 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
WO1999059058A1 (fr) 1998-05-14 1999-11-18 Sega Enterprises, Ltd. Processeur d'informations, procede de traitement d'informations, support d'enregistrement d'informations et systeme de traitement d'informations
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
AU4793999A (en) * 1998-08-01 2000-02-28 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
AU4674300A (en) 1999-05-25 2000-12-12 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
AU2001266692A1 (en) 2000-06-02 2001-12-11 John Denton Biddle System and method for licensing management
US7051366B1 (en) 2000-06-21 2006-05-23 Microsoft Corporation Evidence-based security policy manager
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
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
AU2001296866A1 (en) * 2000-09-05 2002-03-22 Zaplet, Inc. Methods and apparatus providing electronic messages that are linked and aggregated
JP2004530958A (ja) * 2000-11-28 2004-10-07 フォースパス インコーポレイテッド 無線アプリケーションを保持および配信する方法およびシステム
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
CA2414246C (en) * 2001-05-14 2014-01-28 Ntt Docomo, Inc. System for managing program stored in storage block of mobile terminal
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
NZ531132A (en) * 2001-08-15 2006-10-27 Qualcomm Inc Test enabled application for executing an application on a wireless device
US6999748B2 (en) * 2002-12-19 2006-02-14 Cingular Wireless Ii, Llc Automated device behavior management based on network charging and rating conditions
US6941134B2 (en) * 2002-12-19 2005-09-06 Cingular Wireless Ii, Llc Automated device behavior management based on preset preferences
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 日産自動車株式会社 ハイブリッド車両の制御装置及び制御方法
CN107211026B (zh) 2015-03-22 2021-01-08 苹果公司 用于移动设备中的用户认证和人类意图验证的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170300667A1 (en) * 2011-08-08 2017-10-19 Bloomberg Finance L.P. System and method for electronic distribution of software and data

Also Published As

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

Similar Documents

Publication Publication Date Title
USRE48001E1 (en) Safe application distribution and execution in a wireless environment
US7096004B2 (en) Test enabled application execution
AU2002324717A1 (en) Test enabled application execution
AU2002312041A1 (en) Safe application distribution and execution in a wireless environment
EP1680719B1 (en) Method and device for controlling installation of applications using operator root certificates
KR100660641B1 (ko) 휴대 단말기의 부팅 보안 방법 및 그 휴대 단말기
US20040111618A1 (en) Software integrity test
NZ548062A (en) Test enabled application execution

Legal Events

Date Code Title Description
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 22/09/2015, OBSERVADAS AS CONDICOES LEGAIS.