ES2334336T3 - Distribucion y ejecucion de aplicacion seguras en un entorno inalambrico. - Google Patents

Distribucion y ejecucion de aplicacion seguras en un entorno inalambrico. Download PDF

Info

Publication number
ES2334336T3
ES2334336T3 ES02739391T ES02739391T ES2334336T3 ES 2334336 T3 ES2334336 T3 ES 2334336T3 ES 02739391 T ES02739391 T ES 02739391T ES 02739391 T ES02739391 T ES 02739391T ES 2334336 T3 ES2334336 T3 ES 2334336T3
Authority
ES
Spain
Prior art keywords
application
quad
wireless
wireless device
server
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
ES02739391T
Other languages
English (en)
Inventor
Laurence Lundblade
Marc S. Phillips
Brian Minear
Yan Zhuang
Anand Krishnan
Stephen A. Sprigg
Mazen Chmaytelli
Mitchell Oliver
Gerald Horel
Karen Crossland
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
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
Application granted granted Critical
Publication of ES2334336T3 publication Critical patent/ES2334336T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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

Un procedimiento de procesamiento y distribución por un servidor de una aplicación para su uso en un dispositivo inalámbrico que se comunica a través de una red inalámbrica, que comprende: recibir (600) la aplicación y una primera información de identificación asociada con la aplicación, pudiendo utilizarse dicha primera información de identificación para confirmar una identidad de una fuente de la aplicación; caracterizado por: certificar (615) si la aplicación satisface cada criterio en un conjunto de criterios predeterminados, en el que cada criterio está asociado respectivamente con un entorno inalámbrico en el que puede ejecutarse la aplicación, indicando el resultado de la certificación que la aplicación es compatible con normas predeterminadas; y después de dicha certificación, asignar (620) un conjunto de permisos a la aplicación, incluyendo dicho conjunto de permisos, permisos que dependen de los resultados de dicha certificación; y transmitir (630) la aplicación, el conjunto de permisos y una segunda información de identificación que puede utilizarse para confirmar una identidad de dicho servidor, al dispositivo inalámbrico.

Description

Distribución y ejecución de aplicación seguras en un entorno inalámbrico.
Descripción campo de la invención
La presente invención se refiere a un procesamiento de aplicaciones para su uso en un dispositivo inalámbrico y, más en particular, al aumento de la protección, la seguridad y la integridad de aplicaciones ejecutadas en un dispositivo inalámbrico.
Antecedentes
El documento EP-A-0 875 815 da a conocer un aparato y procedimiento de procesamiento de información. El aparato de procesamiento de información recibe un programa que ha sido cifrado mediante un servidor de autoridad de certificados de programa usando una clave secreta, y decodifica el programa con una clave pública en una sección de decodificación. Después, se ejecuta el programa decodificado. Sin embargo, la sección de decodificación no emite el código de programa no cifrado recibido, evitando así la ejecución de un programa no certificado.
La comunicación inalámbrica ha experimentado un crecimiento espectacular en los últimos años. A medida que consumidores y empresas depositan su confianza cada vez más es sus dispositivos inalámbricos, tales como teléfonos móviles y asistentes digitales personales (PDA), los proveedores de servicios inalámbricos, es decir, los operadores, se esfuerzan en proporcionar funcionalidad adicional en estos dispositivos inalámbricos. Esta funcionalidad adicional no sólo aumentará la demanda de dispositivos inalámbricos, sino también el uso entre usuarios corrientes. El aumento de la funcionalidad, específicamente aumentando las aplicaciones accesibles desde el dispositivo inalámbrico, sin embargo, es costoso y complicado, lo que frena a los operadores a la hora de proporcionar esta funcionalidad.
Además, hay pocas o ninguna garantía de que una aplicación, una vez dispuesta en un dispositivo inalámbrico, se ejecute adecuadamente. En la actualidad, la responsabilidad de que una aplicación pueda ejecutarse en un dispositivo inalámbrico recae en el desarrollador, el fabricante del dispositivo inalámbrico y/o el operador. A medida que se desarrollan cada vez más aplicaciones y aumenta el número de aplicaciones en un dispositivo inalámbrico, el entorno del dispositivo inalámbrico se vuelve más dinámico. Por ejemplo, un dispositivo inalámbrico puede elegir recuperar o ejecutar un número de diferentes aplicaciones de una amplia gama de aplicaciones disponibles en cualquier momento dado. Por tanto, garantizar que cualquier aplicación dada se distribuirá al dispositivo inalámbrico y se ejecutará con seguridad resulta mucho más difícil de controlar.
Esto es particularmente problemático porque una ejecución incorrecta de una aplicación no sólo puede afectar negativamente al dispositivo inalámbrico, sino que también puede resultar dañina para la red de operador y otros componentes de red, incluyendo otros dispositivos inalámbricos. Por ejemplo, una aplicación, si no está restringida, podría tomar el control del control de potencia de un dispositivo inalámbrico y provocar interferencia entre otros dispositivos inalámbricos y disminuir la capacidad global en la célula que da servicio al dispositivo inalámbrico.
En la actualidad, ni los fabricantes de dispositivos inalámbricos ni los operadores están equipados para soportar la prueba y distribución segura de aplicaciones en un entorno de distribución y ejecución de aplicaciones dinámico. Por tanto, existe una preocupación porque se distribuyan y ejecuten en dispositivos inalámbricos aplicaciones que puedan provocar un daño al dispositivo inalámbrico, a la red de operador, o a otros componentes de red.
Además, surgen otras cuestiones de seguridad a medida que se desarrollan cada vez más aplicaciones y el entorno por el que se transmiten dichas aplicaciones a un dispositivo inalámbrico se vuelve más dinámico. A medida que aumenta el número de aplicaciones y el número de desarrolladores que crean estas aplicaciones, también aumenta el deseo de conocer la fuente de cualquier aplicación dada, es decir, el desarrollador. Un operador o un fabricante de microteléfonos querrá saber, con un cierto grado de fiabilidad, que pueden determinar la fuente de una aplicación en caso de que la aplicación provoque un daño.
Por consiguiente, lo que se necesita en la técnica es un sistema y un procedimiento para proporcionar un entorno más seguro para la distribución y ejecución de aplicaciones en un dispositivo inalámbrico.
Sumario de la invención
Los sistemas y procedimientos conforme a la presente invención superan las deficiencias de los sistemas existentes creando un entorno más seguro para la distribución y ejecución de aplicaciones que somete a prueba las aplicaciones con normas predeterminadas, proporciona trazabilidad hasta el desarrollador para evitar el repudio, comprueba modificaciones no previstas de la aplicación, permite la eliminación de la aplicación del dispositivo inalámbrico, y/o usa reglas y permisos que definen el entorno en el que puede ejecutarse una aplicación.
Certificar que una aplicación cumple normas predeterminadas proporciona la ventaja de descubrir posibles errores que podrían producirse más adelante durante la ejecución. Esto ayuda a evitar el efecto perjudicial de una ejecución de la aplicación.
La trazabilidad proporciona la ventaja de evitar el repudio. Si hay algún problema con la aplicación, resulta beneficioso poder rastrear la fuente de la aplicación, es decir, el desarrollador, para corregir el problema. Además, al tener trazabilidad se disuade a los desarrolladores de crear aplicaciones con resultados perjudiciales, ya sea de manera intencionada o no intencionada.
Además, la posibilidad de determinar si una aplicación se ha modificado antes de recibirse en el dispositivo inalámbrico proporciona la ventaja de una mayor seguridad al garantizar que la aplicación recibida es la misma que se transmitió. A medida que las aplicaciones se distribuyen de manera cada vez más libre en el entorno inalámbrico, la posibilidad de determinar si una aplicación se ha modificado aumenta la confianza de que una aplicación recibida por el dispositivo inalámbrico no se ha modificado, accidental o intencionadamente.
Proporcionar un conjunto de reglas y permisos que definen cuándo pueden ejecutarse las aplicaciones también aumenta la seguridad de un sistema de distribución y ejecución de aplicaciones al evitar la ejecución no autorizada de una aplicación en plataformas, por ejemplo, sistemas o entornos en los que no está autorizado.
La posibilidad de eliminar aplicaciones de un dispositivo inalámbrico también aumenta la seguridad de un sistema de distribución de aplicaciones. Si se instala una aplicación en un microteléfono, ya sea por el fabricante o a través de una descarga de aplicación, tener un mecanismo para eliminar la aplicación a causa de consecuencias negativas imprevistas aumenta la seguridad de un sistema de distribución y ejecución de aplicaciones al eliminar código perjudicial e indeseable que podría resultar perjudicial.
Los sistemas y procedimientos conforme a la presente invención pueden invocar una o más de las técnicas dadas a conocer en el presente documento. Invocando todas las técnicas dadas a conocer y a las que se hace referencia en el presente documento, sin embargo, los sistemas y procedimientos conforme a la presente invención proporcionan una alta calidad y distribución y ejecución segura de aplicaciones de alta calidad y segura.
Un aspecto de la presente invención es un procedimiento y un sistema para procesar y distribuir una aplicación según se define en las reivindicaciones 1 y 6 independientes, respectivamente. Otro aspecto de la invención es un procedimiento para procesar una aplicación para la su ejecución en un dispositivo inalámbrico según se define en la reivindicación 9 independiente. Otro aspecto de la invención es un dispositivo inalámbrico según se define en la reivindicación
13 independiente. Otras realizaciones de la invención se especifican en las reivindicaciones dependientes adjuntas.
Breve descripción de los dibujos
Los dibujos adjuntos, que se incorporan en, y constituyen una parte de, la memoria descriptiva, ilustran realizaciones actualmente preferidas de la invención y, junto con la descripción general dada anteriormente y la descripción detallada de las realizaciones preferidas que se da a continuación, sirven para explicar los principios de la invención. En los dibujos:
la figura 1 es un diagrama de flujo que representa el proceso de alto nivel de distribución y ejecución segura de aplicaciones en una realización ejemplar de la presente invención;
la figura 2 es un diagrama de bloques que representa una arquitectura de sistema en la que puede ponerse en práctica una realización ejemplar de la presente invención;
la figura 3 es un diagrama de bloques que representa una arquitectura de red inalámbrica en la que puede ponerse en práctica un sistema de procesamiento de distribución de aplicaciones segura de aplicaciones en una realización ejemplar de la presente invención;
la figura 4 es un diagrama de bloques que representa un dispositivo inalámbrico y algunos componentes integrantes en una realización ejemplar de la presente invención;
la figura 5 es un diagrama de bloques que representa información usada para crear una firma digital y transmitida a un dispositivo inalámbrico en una realización ejemplar de la presente invención;
la figura 6 es un diagrama de flujo que representa las etapas usadas por un servidor o servidores en la distribución de una aplicación en una realización ejemplar de la presente invención; y
la figura 7 es un diagrama de flujo que representa las etapas usadas por un dispositivo inalámbrico al ejecutar una aplicación en una realización ejemplar de la presente invención.
Descripción detallada de la realización preferida
A continuación se hará referencia en detalle a las realizaciones ejemplares y preferidas de la invención como según se ilustran en los dibujos adjuntos, en los que los mismos símbolos de referencia designan partes iguales o correspondientes a lo largo de los distintos dibujos. La naturaleza, objetivos y ventajas de la presente invención resultarán más evidentes para los expertos en la técnica tras considerar la siguiente descripción detallada en conexión con los dibujos adjuntos.
La presente invención proporciona la distribución y ejecución de aplicaciones seguras y protegidas proporcionando sistemas y procedimientos que someten a prueba una aplicación para garantizar que satisface los criterios predeterminados asociados con el entorno en el que se ejecutará. Además, usando reglas y listas de permisos, eliminación de aplicaciones, y una técnica de detección de modificación, tal como firmas digitales, la presente invención proporciona mecanismos para distribuir y ejecutar de manera segura una aplicación sometida o no a prueba determinando si la aplicación se ha modificado, determinar si tiene permiso para ejecutarse en un entorno de dispositivo inalámbrico dado, y eliminar la aplicación en caso de que fuera deseable hacerlo.
Los expertos en la técnica reconocerán que lo anterior describe un tipo de archivo de aplicación que se distribuye y ejecuta para mayor simplicidad de la descripción. Una "aplicación" también puede incluir archivos que tienen contenido ejecutable, tales como: código de objeto, secuencias de comandos, archivos java, un archivo de favoritos (o archivos PQA), secuencias de comandos de WML, código de byte, y secuencias de comandos en Perl. Además, una "aplicación" a la que se hace referencia en el presente documento, también puede incluir archivos que tienen una naturaleza no ejecutable, tales como documentos que puede que sea necesario abrir u otros archivos de datos a los que tenga que accederse.
La figura 1 es un diagrama de flujo que representa el proceso de alto nivel de distribución y ejecución segura de aplicaciones de manera consistente con una realización ejemplar de la presente invención. Una realización de la presente invención permite asociar una identificación de desarrollador con la aplicación, realiza pruebas en la aplicación para el entorno en el que está previsto que se ejecute la aplicación, asigna permisos que pueden utilizarse para establecer qué dispositivos o sistemas pueden ejecutar la aplicación, y proporciona la eliminación de la aplicación en caso que de una aplicación realice acciones ilegales o no deseadas.
Es preferible que los sistemas y procedimientos empleen todas estas técnicas para aumentar la distribución y ejecución segura de una aplicación. Se reconocerá, sin embargo, que incluso el emplear una o más de estas técnicas aumentará la distribución y ejecución segura de una aplicación.
El proceso de alto nivel empieza asociando la identificación de desarrollador con una aplicación (etapa 100). Este proceso puede realizarse vinculando la identificación de desarrollador con la aplicación según se distribuye. Alternativamente, la identificación de desarrollador asociada puede almacenarse junto con la aplicación correspondiente en un servidor en el sistema. También es preferible que la información de identificación de desarrollador se almacene y asocie con la información de aplicación de modo que no pueda modificarse fácilmente.
A continuación la aplicación se somete a prueba respecto a una operación inapropiada (etapa 105). La aplicación puede usarse en un entorno en el que una operación inapropiada no sólo puede afectar al dispositivo en el que se ejecuta la aplicación, sino también a los otros dispositivos que están conectados o conectados en red con ese dispositivo. Se prefiere someter a prueba la aplicación de modo que no realice llamadas de sistema inapropiadas o afecte negativamente al dispositivo u otros dispositivos conectados durante su operación. En una realización, estas pruebas se realizan mediante un proceso de certificación en el que se somete a prueba la aplicación para determinar si cumple criterios predeterminados. También es preferible tener un proceso de certificación independiente del desarrollador, para someter a prueba la aplicación. La independencia del proceso de certificación fomenta pruebas más precisas y fiables.
Antes de ejecutar la aplicación, la aplicación se comprueba para determinar si se "permite" que se ejecute en el dispositivo (etapa 110). Esta comprobación puede realizarse mediante el uso de permisos y reglas, que se describe a continuación, o mediante otros mecanismos de permiso conocidos por los expertos en la técnica. Además, es preferible que la aplicación se compruebe antes de cada intento de ejecutar la aplicación. Este proceso de comprobación persistente aumenta la seguridad de ejecutar la aplicación. Por ejemplo, protege frente a una aplicación que tiene un caballo de Troya que puede haberse insertado en esa aplicación en el dispositivo de ejecución a través de otra aplicación.
Una aplicación que realiza una operación inapropiada o no deseable se elimina entonces del dispositivo (etapa 115). Esto evita que la aplicación cause ningún daño adicional y también libera la memoria en el dispositivo para otros usos. Como alternativa, no es necesario eliminar la aplicación de la aplicación. Eliminar una aplicación puede referirse a deshabilitar la aplicación y dejar la aplicación en el dispositivo.
La figura 2 representa una arquitectura de sistema en la que puede ponerse en práctica una realización ejemplar de la presente invención. Un desarrollador 200 crea una aplicación para su uso en el dispositivo 230 inalámbrico. Según se describió anteriormente, los expertos en la técnica reconocerán que, aunque la descripción anterior incluye un tipo de archivo de aplicación, pueden usarse otros tipos de archivo. Además, los expertos en la técnica reconocerán que la presente invención puede usarse con otros dispositivos inalámbricos o no inalámbricos y puede emplear redes inalámbricas, redes no inalámbricas, o una combinación de las mismas.
Normalmente, el desarrollador 200 tendrá un conjunto de especificaciones de desarrollo para las que desarrollar la aplicación para ejecutarse en el dispositivo 230 inalámbrico. En una realización, el dispositivo inalámbrico incluye una plataforma de software para ayudar en la interconexión de la aplicación con el dispositivo inalámbrico, tal como el software BREW^{TM} desarrollado por QUALCOMM, Incorporated, con sede en San Diego, California. El desarrollador puede crear la aplicación que satisfaga la plataforma de software, o software BREW^{TM}, las normas de especificación, y las convenciones.
En una realización el desarrollador 200 está conectado a un servidor 205 central, de modo que puede transmitir electrónicamente la aplicación al servidor 205 central. En una realización, el servidor central es un servidor de sedes centrales de control de aplicación (ACCHQ) usado en la distribución de aplicaciones a dispositivos inalámbricos. El desarrollador 200 puede firmar digitalmente la aplicación (lo que se analiza a continuación) para determinar si la aplicación se ha modificado. Se reconocerá que no es necesaria una conexión física con el servidor central. Por ejemplo el desarrollador 200 puede enviar, tal como a través de correo de primera clase, la aplicación al servidor 205 central almacenado en un CD-ROM.
Además, el desarrollador envía diversa información de identificación de fuente al servidor 205 central. Esta información de identificación de fuente puede incluir cualquier tipo de información que pueda estar asociada con la aplicación que identifica el desarrollador, tal como un nombre de empresa, identificación fiscal de la empresa, u otra información de identificación.
El servidor 205 central se usa, o bien por sí mismo o usando un servidor 210 de certificación, en el análisis y la certificación de aplicaciones. En una realización, puede usarse un Centro de Control de Aplicación (ACC) como servidor de certificación. El servidor 210 de certificación puede usarse para analizar la aplicación para determinar si la aplicación satisface criterios de certificación predeterminados. Estos criterios pueden incluir si la aplicación satisfizo la especificación de desarrollo para la ejecución en un dispositivo inalámbrico o en una plataforma. Sin embargo, los criterios de certificación pueden ser cualquier criterio que debe satisfacer una aplicación antes de su ejecución en un dispositivo inalámbrico o plataforma. Tales criterios pueden incluir verificar: (a) que la aplicación funciona según afirmó el desarrollador, de modo que la aplicación no perjudica la operación del dispositivo inalámbrico (por ejemplo, no estropea el teléfono); (b) que la aplicación no accede a datos o memoria a los que no debería (por ejemplo, no accede a datos o archivos propios de otras aplicaciones, el sistema operativo o software de plataforma); y (c) que no impacta negativamente en los recursos de dispositivos inalámbricos, tal como monopolizando de forma perjudicial la entrada y salida del dispositivo inalámbrico.
El servidor 205 central también puede asignar un conjunto de permisos en una lista asociada con la aplicación. Esta lista de permisos está determinada por diversos factores, incluyendo un análisis respecto a si la aplicación superó el proceso de certificación, en qué redes 220 se autoriza que se ejecute la aplicación, y si el dispositivo inalámbrico soporta la aplicación. Pueden usarse muchos factores para determinar una lista de permisos y se deja a los expertos en la técnica a la hora de implementar la presente invención.
El servidor 205 central recibe la información de identificación de desarrollador y la correlaciona con la aplicación creada por el desarrollador 200. En caso de que exista cualquier problema con la aplicación, el servidor central podrá identificar la fuente de la aplicación. En una realización, la información de desarrollador se pasa al dispositivo 230 inalámbrico de modo que la correlación puede realizarse por el dispositivo inalámbrico u otros sistemas conectados al dispositivo inalámbrico.
En una realización, el servidor central también está conectado a un servidor 215 de descarga de aplicaciones (ADS). El servidor 215 de descarga de aplicaciones se usa para interconectarse con un dispositivo inalámbrico a través de una red 220 inalámbrica para descargar una aplicación. El servidor central también puede enviar la lista de permisos e identificación de desarrollador asociada con la aplicación al ADS donde puede almacenarse hasta su transmisión a un dispositivo inalámbrico. Se prefiere que la aplicación, la lista de permisos y la identificación de desarrollador estén firmadas digitalmente por el servidor central para aumentar la seguridad frente a la modificación.
Los expertos en la técnica reconocerán que puede usarse un ADS para conectarse a múltiples redes 220 para la distribución de aplicaciones, archivos y otra información a los diversos dispositivos 230 inalámbricos. Además, pueden emplearse redes inalámbricas y no inalámbricas para transmitir la lista de permisos de la aplicación y la información de desarrollador al dispositivo inalámbrico.
En respuesta a una petición de una aplicación, el ADS 215 enviará la aplicación, la lista de permisos, la identificación de desarrollador, y las firma(s) digital(es) al dispositivo 230 inalámbrico a través de la red 220. En una realización, el dispositivo 230 inalámbrico contendrá una clave para comprobar la firma digital con el fin de determinar si se ha modificado la aplicación, la lista de permisos y/o la información de desarrollador.
Si se emplean firmas digitales en la presente invención, se prefiere que el servidor central use una clave protegida para crear la firma digital e instalar una clave en un dispositivo inalámbrico para evaluar la firma digital. Usando una clave protegida, el dispositivo inalámbrico tendrá un mayor grado de fiabilidad de que la firma digital se creó por el servidor central y no por un impostor.
En caso de que la aplicación cause cualquier error en el dispositivo inalámbrico, o por cualquier otro motivo deseado, el dispositivo inalámbrico puede iniciar la eliminación de la aplicación. Además, también puede eliminarse una aplicación del dispositivo inalámbrico basándose en una petición desde el ADS o servidor central. Esta petición desde el servidor puede iniciarse por cualquier motivo deseado. Por ejemplo, el servidor puede iniciar la eliminación de aplicaciones desde un dispositivo inalámbrico porque la aplicación se realizó de manera inapropiada en otro dispositivo, se distribuye una nueva versión de la aplicación, o incluso por motivos de negocios que establecen que la aplicación debería eliminarse. Este proceso de eliminación de aplicaciones protege además el entorno del dispositivo inalámbrico frente a una ejecución repetida de aplicaciones corruptas y/o destructivas.
La figura 3 representa una arquitectura de red inalámbrica en la que puede ponerse en práctica un sistema de distribución de aplicaciones en una realización ejemplar de la presente invención. Un servidor 302 central es una entidad que certifica, o bien por sí mismo o en combinación con un servidor de certificación, que los programas de aplicación son compatibles con un conjunto definido de normas de programación o convenciones. Según se describió anteriormente, estas normas de programación pueden establecerse de modo que la aplicación se ejecutará en una plataforma de software, tal como la plataforma BREW^{TM}.
En una realización, la base 304 de datos de servidor central consiste en un registro de las identificaciones para cada programa de aplicación descargado en cualquier momento a cada dispositivo 330 inalámbrico en la red 300, un Número de Servicio Electrónico ("ESN") para el individuo que descargó el programa de aplicación, y un Número de Identificación Móvil ("MIN") único del dispositivo 330 inalámbrico que lleva ese programa de aplicación. Alternativamente, la base 304 de datos de servidor central contiene registros para cada dispositivo 330 inalámbrico en la red 300 del modelo de dispositivo inalámbrico, operador de red inalámbrica, la región en la que se usa el dispositivo 330 inalámbrico, y cualquier otra información útil para identificar qué dispositivo 330 inalámbrico lleva qué programas de aplicación. Además, la base de datos de servidor central puede almacenar también esta información de identificación de desarrollador asociada con una aplicación.
En una realización, el servidor 302 central también puede incluir una fuente 322 de orden de eliminación. La fuente 322 de orden de eliminación es (son) la(s) persona(s) o entidad(es) que toma(n) la decisión de eliminar uno o más programas de aplicación objetivo. La fuente 322 de orden de eliminación es también la entidad que construye una orden 316 de eliminación (que se analiza a continuación) que se difunde al dispositivo 330 inalámbrico identificado que lleva el (los) programa(s) de aplicación objetivo. Como alternativa, y sin limitación, la fuente 322 de orden de eliminación pueden ser una o más personas o entidades implicadas en el desarrollo y publicación del programa de aplicación objetivo, personas o entidades implicadas en la fabricación del dispositivo 330 inalámbrico, y/o personas o entidades implicadas en la función de cualquier parte de la red 300.
El servidor 302 central se comunica con uno o más servidores 306 informáticos, por ejemplo, un ADS, a través de una red 308, tal como Internet, preferiblemente protegida. Los servidores 306 también se comunican con una red 310 del operador a través de una red 308. La red 310 del operador se comunica con el MSC 312 tanto a través de Internet como del Sistema de Servicio Telefónico Ordinario (POTS) (identificado en su conjunto en la figura 3 como 311). La conexión 311 de Internet entre la red 310 del operador y el MSC 312 transfiere datos, y el POTS 311 transfiere información de voz. El MSC 312, a su vez, está conectado con múltiples estaciones 314 base ("BTS"). El MSC 312 está conectado al BTS tanto a través de Internet 311 (para transferencia de datos) como del POTS 311 (para información de voz). El BTS 314 envía de forma inalámbrica mensajes a los dispositivos 330 inalámbricos a través de servicio de mensajes cortos ("SMS"), o cualquier otro procedimiento aéreo.
Un ejemplo de un mensaje enviado por el BTS 314 en la presente invención es una orden 316 de eliminación. Según se analiza además en el presente documento, el dispositivo 330 inalámbrico, en respuesta a la recepción de una orden 316 de eliminación, responde desinstalando un programa de aplicación objetivo almacenado en el dispositivo 330 inalámbrico. En una realización, el programa de eliminación puede programarse adicional o alternativamente para deshabilitar el programa de aplicación objetivo o volver a programarlo para que funcione de diferente manera. El dispositivo inalámbrico también puede borrar la aplicación y cualquier información relacionada, tal como una lista de permisos.
La orden 316 de eliminación se construye por la fuente 322 de orden de eliminación (que puede(n) ser la(s)
\hbox{misma(s)}
persona(s) o entidad(es) que toma(n) la decisión de iniciar una eliminación del programa de aplicación objetivo o no). La orden 316 de eliminación se envía por la fuente 322 de orden de eliminación a través de la red 300 para difundirse a los dispositivos 330 inalámbricos.
Usando la orden de eliminación según se describió en la realización anterior, se aumenta la seguridad de distribución y ejecución de aplicaciones proporcionando un mecanismo para desinstalar aplicaciones corruptas o no deseadas. Los expertos en la técnica reconocerán que, aunque anteriormente se describió una orden de eliminación iniciada por el servidor central, el dispositivo inalámbrico también puede iniciar la eliminación o desinstalación de la aplicación y su información relacionada.
De manera similar, la red anterior puede usarse para enviar la aplicación, la lista de permisos y firmas digitales asociadas desde el servidor central a varios servidores 306 (por ejemplo, ADS) a través del MSC y el BTS a los dispositivos 330 inalámbricos.
La figura 4 representa un dispositivo inalámbrico y algunos componentes internos en una realización ejemplar de la presente invención. Aunque esta realización está dirigida a un dispositivo 400 inalámbrico, se usa como ejemplo sin pretenderse ninguna limitación. La invención podría realizarse alternativamente en cualquier forma de módulo remoto con capacidad para comunicarse a través de una red, incluyendo, sin limitación, dispositivos inalámbricos y no inalámbricos, tales como asistentes digitales personales ("PDA"), módem inalámbricos, tarjetas PC-MCIA, terminales de acceso, ordenadores personales, dispositivos sin pantalla o teclado, o cualquier combinación o subcombinación de los mismos. Estos ejemplos de módulos remotos también pueden tener una interfaz de usuario, tal como un teclado, pantalla visual o pantalla de voz.
El dispositivo 400 inalámbrico mostrado en la figura 4 tiene un circuito 415 integrado de aplicación específica ("ASIC") instalado en el momento en que se fabrica el dispositivo 400 inalámbrico. El ASIC es un componente de hardware que funciona mediante un software incluido en el ASIC. Una interfaz 410 de programación de aplicación ("API") también se instala en el dispositivo 400 inalámbrico en el momento de la fabricación. En una realización, la API representa una plataforma de software o API de BREW. La API 410 es un programa de software configurado para interaccionar con el ASIC. La API 410 sirve como interfaz entre el hardware de ASIC 415 y programas de aplicación (que se analizan a continuación) instalados en el dispositivo 400 inalámbrico. Como alternativa, el dispositivo 400 inalámbrico puede contener cualquier otra forma de conjunto de circuitos que permitiría operar los programas de una manera que es compatible con la configuración de hardware del dispositivo 400 inalámbrico. El dispositivo 400 inalámbrico tiene también un almacenamiento 405. El almacenamiento 405 consiste en RAM y ROM, sin embargo, como alternativa,
podría ser cualquier forma de memoria, tal como EPROM, EEPROM o elementos de inserción de tarjeta flash.
La zona 405 de almacenamiento del dispositivo inalámbrico puede usarse para almacenar aplicaciones recibidas y listas 425 de permisos. Además, la zona 405 de almacenamiento puede usarse para almacenar una o más "claves" 405. Estas claves pueden aplicarse a una firma digital usando un algoritmo de firma para determinar si se ha modificado la información firmada.
Las reglas 435 también pueden estar instaladas en el dispositivo 400 inalámbrico. Estas reglas pueden usarse junto con la lista de permisos para determinar si se permite ejecutar una aplicación. Por ejemplo, una regla puede indicar que se permite ejecutar una aplicación si una etiqueta de certificación se ajusta en la lista de permisos (es decir, indicando que la aplicación superó la certificación). La lista de permisos tendrá la etiqueta de certificación ajustada o no, dependiendo de si ha superado la certificación. Aplicando la regla a la información contenida en la lista de permisos, o bien se concede o bien se deniega el permiso para ejecutar la aplicación.
El fabricante (no mostrado) del dispositivo 400 inalámbrico puede descargar programas de aplicación al almacenamiento 405 del dispositivo 400 inalámbrico cuando se fabrica el dispositivo 400 inalámbrico. Estos programas de aplicación pueden ser cualquier programa potencialmente útil o de entretenimiento para el usuario del dispositivo inalámbrico, tal como juegos, libros, o cualquier otro tipo de programas de datos o software. Los programas de aplicación también pueden descargarse al dispositivo 400 inalámbrico de manera aérea una vez fabricado el dispositivo inalámbrico.
El programa de eliminación, cuando se ejecuta por el dispositivo 400 inalámbrico, desinstala uno o más programas de aplicación objetivo de una de las aplicaciones almacenadas en el dispositivo 400 inalámbrico. El programa de aplicación objetivo es un programa de aplicación que tiene que desinstalarse del dispositivo 400 inalámbrico por diversos motivos comentados a continuación.
El dispositivo 400 inalámbrico tiene una base 420 de datos local instalada por el fabricante. La API del dispositivo inalámbrico está programada para actualizar automáticamente la base 420 de datos local con un registro de información de identificación sobre cada uno de los programas de aplicación almacenados en el dispositivo 400 inalámbrico. La base 420 de datos local contiene un registro de las identificaciones de firma únicas para cada programa de aplicación almacenado en el dispositivo 402 inalámbrico. Además, la base 420 de datos local puede contener un registro de la ubicación de los programas de aplicación dentro del almacenamiento 405 en el dispositivo 400 inalámbrico y cualquier otra información útil para tener un seguimiento de qué programas de aplicación se descargan al dispositivo 400 inalámbrico, y dónde están ubicados.
La figura 5 es un diagrama de bloques que representa información usada para crear una firma digital y transmitida a un dispositivo inalámbrico en una realización ejemplar de la presente invención. Como saben los expertos en la técnica, pueden usarse firmas digitales para hacer un seguimiento de si se ha modificado un archivo digital. Según se describe, las firmas digitales pueden aplicarse a cualquier archivo digital, incluyendo documentos, aplicaciones, bases de datos, etc. En general, una firma digital se crea aplicando una clave a un archivo usando un algoritmo de firma. Esta firma digital se crea usando la información contenida en el archivo. Normalmente, la firma digital se envía junto con el archivo a un destinatario. El destinatario del archivo y la firma digital puede aplicar entonces una clave al archivo y la firma digital recibidos para determinar si el archivo se ha modificado durante la transmisión al destinatario.
Las claves usadas para crear y evaluar una firma digital pueden usarse para determinar la identidad del firmante. Por ejemplo, puede generarse una clave para crear una firma digital por una entidad y mantenerse protegida. Esta entidad puede distribuir una clave correspondiente que puede usarse para evaluar la firma digital. Si la clave se mantiene protegida y no se pone en peligro, el destinatario que evalúa la firma digital puede determinar no sólo si la información se ha modificado, sino también la identidad del firmante.
Alternativamente, terceras entidades pueden crear claves para entidades específicas de manera protegida. Por tanto, un destinatario que tiene una clave asociada con una identidad específica podrá determinar si esa entidad fue el firmante.
En una realización de la presente invención, se genera una firma 515 digital usando la clave 525 del firmante, por ejemplo, una clave del servidor central (véase la figura 2), la aplicación 500, la lista 505 de permisos y la información 510 de identidad del desarrollador como entrada para un algoritmo 530 de firma digital. El resultado es una firma 515 digital que depende de la información contenida en las entradas.
Tras crear la firma 515 digital, la aplicación 500, la lista 505 de permisos, la información 510 de identidad del desarrollador y la firma 515 digital se transmiten al dispositivo 520 inalámbrico. El dispositivo inalámbrico puede entonces usar la firma digital para determinar si o bien la aplicación o bien información relacionada (es decir, la lista de permisos y la información de identidad del desarrollador) se ha modificado. Además, usando una de las técnicas descritas anteriormente, tal como una clave protegida, el dispositivo inalámbrico también puede confiar en la identidad del firmante que transmitió esta información al dispositivo inalámbrico.
La figura 6 es un diagrama de flujo que representa las etapas usadas por un servidor o servidores en la distribución de una aplicación de una manera conforme con una realización ejemplar de la presente invención. En esta realización ejemplar, el proceso empieza recibiendo una aplicación y una firma digital (etapa 600). La firma digital es información relativa a la aplicación de manera que pueda determinarse si la aplicación se ha modificado antes de su recepción. Además, es preferible que la clave usada para firmar la firma digital se asigne por una tercera parte con el fin de validar que la entidad o desarrollador que firma la aplicación es el desarrollador que recibió la clave asignada.
Tras recibir la aplicación y la firma digital, la firma digital se evalúa para determinar si el desarrollador que envió la aplicación es el mismo que el que firmó la aplicación (etapa 605). Si una tercera parte asignó la clave al desarrollador para crear la firma digital, entonces la tercera parte también puede asignar la clave para evaluar la firma digital a la parte receptora, tal como al servidor central descrito con respecto a la figura 2.
La identificación del desarrollador, o cualquier entidad que firmó y/o creó la aplicación, se almacena entonces y se asocia con la aplicación (etapa 610). El almacenamiento puede ser en una tabla, una base de datos o de alguna otra forma de manera que pueda recuperarse más tarde en caso de que deba determinarse la identidad del desarrollador. En una realización, el almacenamiento de la identificación del desarrollador se almacena en un dispositivo inalámbrico y no en un servidor.
La aplicación recibida se certifica a continuación para determinar si cumple criterios especificados (etapa 615). En una realización, una aplicación puede escribirse para ejecutarse en una plataforma específica, tal como la plataforma BREW^{TM} desarrollada por QUALCOMM, Incorporated, con sede en San Diego; California, usada en dispositivos inalámbricos. Una plataforma, o dispositivo, específico puede tener requisitos específicos que debe cumplir una aplicación antes de hacer que se ejecute en el dispositivo. Por ejemplo, una plataforma o dispositivo puede requerir que una aplicación no acceda a ubicaciones de memoria específicas en el dispositivo de modo que no se ponga en peligro la integridad del dispositivo o de otras aplicaciones ubicadas en la memoria. Estos criterios pueden especificarse y la aplicación puede someterse a prueba para determinar si estos criterios se cumplen. Preferiblemente, estos criterios están predeterminados y se proporcionan al desarrollador para que los incorpore en el desarrollo de la aplicación.
Tras la certificación, se asignan los permisos asociados con la aplicación para un entorno dado (etapa 620). Pueden asignarse permisos basándose en muchos factores, dependiendo del entorno en el que se implemente la presente invención. En una realización, las aplicaciones están previstas para un dispositivo inalámbrico. En esta realización, asignar permisos puede depender de la red de operador, de requisitos de un dispositivo inalámbrico, de resultados de pruebas de certificación y entornos de prueba del desarrollador, operador u otros, por ejemplo. Por tanto, un ejemplo de una lista de permisos es una indicación de que la aplicación superó las pruebas de certificación y que puede ejecutarse en una red de un operador específico.
El servidor firma entonces digitalmente la aplicación, la lista de permisos y la identificación del desarrollador (etapa 625). En una realización, esta firma se realiza usando una clave protegida de modo que la identidad del servidor puede determinarse por quienes reciban esta información digitalmente firmada. No es necesario que la firma del desarrollador que se recibió en el servidor también esté firmada o que la firma del desarrollador se envíe al dispositivo inalámbrico.
La aplicación, la lista de permisos, la identificación del desarrollador y la firma creada en la etapa 625 se transmiten entonces a un dispositivo inalámbrico (etapa 630).
La figura 7 es un diagrama de flujo que representa las etapas usadas por un dispositivo inalámbrico al ejecutar una aplicación de una manera conforme con una realización ejemplar de la presente invención. En esta realización, el dispositivo inalámbrico almacena reglas para evaluar permisos asociados con una aplicación (etapa 700). Los expertos en la técnica reconocerán que, aunque la presente invención describe un paradigma de reglas/permisos, existen muchos paradigmas que pueden usarse para conceder permiso a una aplicación para un dispositivo o plataforma específico y se considera que entran dentro del alcance de la presente invención.
El dispositivo inalámbrico recibe entonces la aplicación, la lista de permisos, la identificación del desarrollador y la firma digital (etapa 705). En una realización, el dispositivo inalámbrico puede evaluar la firma digital recibida para determinar la identidad del firmante. La firma digital también puede usarse para determinar si la aplicación, la lista de permisos o la identificación del desarrollador se ha modificado después de haberse firmado.
El dispositivo inalámbrico recibe entonces una petición para ejecutar la aplicación (etapa 710). Esta petición puede proceder del usuario del dispositivo inalámbrico que quiere ejecutar un programa. Alternativamente, la petición puede realizarla el propio dispositivo inalámbrico o a partir de alguna petición transmitida al dispositivo inalámbrico, o bien a través de una red o bien mediante conexión directa al dispositivo inalámbrico.
Tras recibir la petición, el dispositivo inalámbrico evalúa la firma digital y la lista de permisos asociada con la aplicación antes de su ejecución (etapa 720). Según se ha descrito, el dispositivo inalámbrico, en una realización, puede usar reglas para evaluar la lista de permisos. Si al evaluar la firma digital se determina que la aplicación, la lista de permisos o la identificación del desarrollador no se han modificado, entonces el dispositivo inalámbrico evalúa la lista de permisos usando las reglas almacenadas. Si no ha habido modificación y la evaluación de las reglas frente a la lista de permisos indica que se ha concedido permiso a la aplicación para ejecutarse en el dispositivo inalámbrico, el procesamiento procede a ejecutar la aplicación en el dispositivo (etapa 730).
Si la evaluación en la etapa 720 indica que o la aplicación, o la lista de permisos o la identificación del desarrollador se han modificado después de haberse firmado, o que se ha denegado el permiso a la aplicación para ejecutarse en el dispositivo inalámbrico, entonces la aplicación no se ejecuta (etapa 725). El procesamiento procede a eliminar la aplicación del dispositivo inalámbrico (etapa 750). Se prefiere asimismo eliminar también la lista de permisos y la identificación del desarrollador del dispositivo inalámbrico.
Tras la etapa 730, se monitoriza la ejecución de la aplicación para determinar si realiza una operación ilegal o inapropiada (etapa 735). El dispositivo inalámbrico o la plataforma que usa el dispositivo inalámbrico pueden definir ciertas operaciones como ilegales o inapropiadas. Estas operaciones pueden incluir a las que acceden a zonas restringidas de memoria o a ubicaciones de memoria usadas por otros programas o archivos. Además, estas operaciones pueden implicar usos perjudiciales de los recursos del dispositivo inalámbrico de manera que no sólo pueden afectar al dispositivo inalámbrico, sino a otros dispositivos en la red a la que está conectado el dispositivo inalámbrico.
Si se intenta una operación ilegal o inapropiada de este tipo, entonces se detiene la ejecución de la aplicación (etapa 745) y se elimina del dispositivo inalámbrico (etapa 750) junto con, preferiblemente, la identificación del desarrollador y la lista de permisos. Según se indicó anteriormente, de manera alternativa, el proceso de eliminación puede implicar la deshabilitación de la aplicación, evitando así su ejecución, y manteniendo la aplicación en el dispositivo inalámbrico.
Si no se realiza ninguna operación ilegal, inapropiada o indeseable en la etapa 735, entonces se permite a la aplicación continuar la ejecución (etapa 740).
Conclusión
Usando mecanismos para certificar, detectar modificaciones, determinar identidad de fuente, asignar permisos e incorporar la posibilidad de eliminar la aplicación, los sistemas y procedimientos conforme a la presente invención aumentan la distribución y ejecución segura y protegida de aplicaciones. Los sistemas y procedimientos pueden implementar algunos o todos estos mecanismos. Cuantos más mecanismos se implementen, mayor grado de seguridad se conseguirá.
En una realización, un desarrollador envía una aplicación a un servidor. El desarrollador puede firmar la aplicación para protegerla frente a una modificación no autorizada. Un servidor comprueba la identidad del desarrollador, y realiza pruebas de certificación en la aplicación. El servidor también asigna permisos a la aplicación, creando una lista de permisos. La aplicación, la lista de permisos, la identificación del desarrollador, se firman digitalmente por el servidor y se envían a un dispositivo inalámbrico junto con la firma digital. Un dispositivo inalámbrico comprueba la firma digital por si se ha producido una modificación y la lista de permisos frente a reglas almacenadas antes de ejecutar la aplicación. En una realización, estas comprobaciones se realizan antes de cada intento de ejecutar la aplicación en el dispositivo inalámbrico. Si las comprobaciones indican que la aplicación se ha modificado o que se le ha denegado el permiso para ejecutarse, la aplicación no se ejecuta y se elimina del dispositivo inalámbrico. Además, si durante la ejecución, la aplicación intenta una operación ilegal o inapropiada, la aplicación se termina y después se elimina del dispositivo inalámbrico.
La descripción anterior de una implementación de la invención se ha presentado con fines de ilustración y descripción. Modificaciones y variaciones son posibles a la luz de las enseñanzas anteriores dentro del alcance de la invención según se define en las reivindicaciones. Por ejemplo, la implementación descrita incluye software, pero una realización de la presente invención puede implementarse como una combinación de hardware y software o en hardware solo. La invención puede implementarse con sistemas de programación tanto orientados a objetos como no orientados a objetos. Adicionalmente, aunque se han descrito aspectos de la presente invención como almacenados en memoria, los expertos en la técnica apreciarán que estos aspectos también pueden almacenarse en otros tipos de medios legibles por ordenador, tales como dispositivos de almacenamiento secundarios, como discos duros, discos flexibles, o CD-ROM; una onda portadora de Internet u otro medio de propagación; u otras formas de RAM o ROM. El alcance de la invención se define por las reivindicaciones y sus equivalentes.

Claims (13)

1. Un procedimiento de procesamiento y distribución por un servidor de una aplicación para su uso en un dispositivo inalámbrico que se comunica a través de una red inalámbrica, que comprende:
\quad
recibir (600) la aplicación y una primera información de identificación asociada con la aplicación, pudiendo utilizarse dicha primera información de identificación para confirmar una identidad de una fuente de la aplicación; caracterizado por:
\quad
certificar (615) si la aplicación satisface cada criterio en un conjunto de criterios predeterminados, en el que cada criterio está asociado respectivamente con un entorno inalámbrico en el que puede ejecutarse la aplicación, indicando el resultado de la certificación que la aplicación es compatible con normas predeterminadas; y
\quad
después de dicha certificación,
\quad
asignar (620) un conjunto de permisos a la aplicación, incluyendo dicho conjunto de permisos, permisos que dependen de los resultados de dicha certificación; y
\quad
transmitir (630) la aplicación, el conjunto de permisos y una segunda información de identificación que puede utilizarse para confirmar una identidad de dicho servidor, al dispositivo inalámbrico.
2. El procedimiento según la reivindicación 1, en el que dicho conjunto de criterios predeterminados comprende un primer criterio asociado con un dispositivo de red inalámbrica o plataforma específica en el que puede ejecutarse la aplicación.
3. El procedimiento según la reivindicación 1, en el que, en dicha etapa de transmisión (630), se transmite al menos la aplicación usando una técnica de detección de modificación.
4. El procedimiento según la reivindicación 3, en el que la técnica de detección de modificación utiliza una firma digital.
5. El procedimiento según la reivindicación 1, que comprende además la etapa de:
\quad
evaluar la aplicación recibida y la información de identificación para determinar la identidad del desarrollador de la aplicación.
6. Un sistema para procesar y distribuir una aplicación para su uso en un dispositivo (400) inalámbrico que se comunica a través de una red (220) inalámbrica, una red (310) portadora; una infraestructura para soportar la red (220) inalámbrica, acoplada a dicha red (310) portadora; y un servidor (205), acoplado a dicha red (310) portadora, que comprende:
\quad
medios para recibir la aplicación y una primera información de identificación asociada con la aplicación, pudiendo utilizarse dicha primera información de identificación para confirmar una identidad de una fuente de la aplicación; caracterizado por:
\quad
medios para certificar si la aplicación satisface cada criterio en un conjunto de criterios predeterminados, en el que cada criterio está asociado respectivamente con un entorno inalámbrico en el que puede ejecutarse la aplicación, indicando el resultado de la certificación que la aplicación es compatible con normas predeterminadas;
\quad
medios para asignar un conjunto de permisos a la aplicación después de que la aplicación se haya certificado por los medios de certificación, incluyendo dicho conjunto de permisos, permisos que dependen de los resultados de dicha certificación; y
\quad
medios para transmitir la aplicación, el conjunto de permisos y una segunda información de identificación que puede utilizarse para confirmar una identidad de dicho servidor, al dispositivo inalámbrico.
7. El sistema según la reivindicación 6, en el que dichos medios de transmisión usan una técnica de detección de modificación para transmitir la aplicación, el conjunto de permisos, y la segunda información de identificación al dispositivo (400) inalámbrico.
8. El sistema según la reivindicación 6, en el que dicho servidor comprende:
\quad
una red (220) entre servidores;
\quad
un primer servidor (205) configurado para recibir la aplicación;
\quad
un segundo servidor (210) configurado para certificar la aplicación; y
\quad
un tercer servidor (215) configurado para asignar un conjunto de permisos y transmitir la aplicación;
\quad
en el que dicho primer (205), segundo (210) y tercer (215) servidor están acoplados cada uno a dicha red (220) entre servidores, y dicho tercer servidor (215) está acoplado a dicha red (220) portadora.
9. Un procedimiento para procesar una aplicación para su ejecución en un dispositivo (400) inalámbrico que se comunica a través de una red inalámbrica, que comprende:
\quad
recibir (700), desde un servidor a través de la red inalámbrica, una transmisión que comprende la aplicación, un conjunto de permisos, estando asociado cada permiso con un criterio de certificación y una información de identificación que puede utilizarse para confirmar la identidad del servidor, estando un criterio asociado con un entorno inalámbrico en el que puede ejecutarse la aplicación, siendo el criterio de certificación el resultado de una certificación que indica la compatibilidad de la aplicación con normas predeterminadas;
\quad
determinar (720), basándose en la evaluación de una regla previamente almacenada en el dispositivo inalámbrico sobre dicho conjunto de permisos, si se habilita la aplicación para la su ejecución;
\quad
ejecutar (730) la aplicación si la aplicación se ha habilitado para la su ejecución; y
\quad
eliminar (750) la aplicación del dispositivo inalámbrico si la aplicación no se ha habilitado para la su ejecución.
10. El procedimiento según la reivindicación 9, que comprende además:
\quad
determinar si la aplicación se ha modificado durante la transmisión; si se determina que la aplicación se ha modificado durante la transmisión, eliminar la aplicación del dispositivo (400) inalámbrico.
11. El procedimiento según la reivindicación 9, que comprende además:
\quad
determinar si la aplicación se ha modificado durante la transmisión; almacenar una regla en el dispositivo (400); y
\quad
determinar si la aplicación puede procesarse usando uno correspondiente del conjunto de permisos y la regla.
12. Un medio legible por ordenador que tiene almacenados en el mismo datos e instrucciones que, cuando se ejecutan en un ordenador, hacen que el ordenador realice todas las etapas del procedimiento según una cualquiera de las reivindicaciones 1 a 5 ó 9 a 11.
13. Un dispositivo (400) inalámbrico que se comunica a través de una red (220) inalámbrica y puede ejecutar una aplicación, y que está adaptado para ejecutar todas las etapas del procedimiento según se ha definido en la reivindicación 9, que comprende:
\quad
una interfaz inalámbrica para recibir la aplicación,
\quad
un conjunto de permisos y una información de identificación;
\quad
una plataforma informática, acoplada a dicha interfaz inalámbrica,
\quad
comprendiendo dicha plataforma informática un primer almacenamiento (435) para almacenar una regla previamente definida, y un segundo almacenamiento (425) para almacenar la aplicación, el conjunto de permisos y la información de identificación;
\quad
en el que la plataforma informática está configurada para determinar, basándose en la evaluación de la regla sobre el conjunto de permisos:
\quad
si se habilita la aplicación para la su ejecución;
\quad
ejecutar la aplicación si la aplicación se ha habilitado para la su ejecución; y
\quad
eliminar la aplicación si la aplicación no se ha habilitado para la su ejecución.
ES02739391T 2001-05-31 2002-05-23 Distribucion y ejecucion de aplicacion seguras en un entorno inalambrico. Expired - Lifetime ES2334336T3 (es)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
ES2334336T3 true ES2334336T3 (es) 2010-03-09

Family

ID=25359530

Family Applications (1)

Application Number Title Priority Date Filing Date
ES02739391T Expired - Lifetime ES2334336T3 (es) 2001-05-31 2002-05-23 Distribucion y ejecucion de aplicacion seguras en un entorno inalambrico.

Country Status (20)

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

Families Citing this family (131)

* 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
JP2006518558A (ja) * 2003-02-21 2006-08-10 リサーチ イン モーション リミテッド 電子装置の複数レベル制御のシステムおよびその方法
JP2006526193A (ja) * 2003-05-17 2006-11-16 マイクロソフト コーポレーション セキュリティリスクを評価するための機構
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 杭州斯达康通讯有限公司 将计算机程序下载至手机的方法
CA2564285C (en) 2004-04-30 2014-07-08 Research In Motion Limited System and method of owner application control of electronic devices
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
US8332906B2 (en) * 2006-02-27 2012-12-11 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
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
US8712396B2 (en) * 2007-01-17 2014-04-29 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
US10783232B2 (en) 2007-09-27 2020-09-22 Clevx, Llc Management system for self-encrypting managed devices with embedded wireless user authentication
US10181055B2 (en) 2007-09-27 2019-01-15 Clevx, Llc Data security system with encryption
US10778417B2 (en) 2007-09-27 2020-09-15 Clevx, Llc Self-encrypting module with embedded wireless user authentication
US11190936B2 (en) 2007-09-27 2021-11-30 Clevx, Llc Wireless authentication system
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 携帯端末装置および携帯端末装置における無線通信方式の管理方法
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
US9369357B2 (en) * 2010-02-03 2016-06-14 Symantec Corporation Method, system, and computer readable medium for remote device management
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
US8533537B2 (en) 2010-05-13 2013-09-10 Bank Of America Corporation Technology infrastructure failure probability predictor
US8359284B2 (en) 2010-05-13 2013-01-22 Bank Of America Corporation Organization-segment-based risk analysis model
JP5560110B2 (ja) * 2010-06-16 2014-07-23 Kddi株式会社 携帯端末およびプログラム
CN103180862B (zh) * 2010-08-25 2016-03-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
WO2013022999A1 (en) * 2011-08-08 2013-02-14 Bloomberg Finance Lp System and method for electronic distribution of software and data
US8776040B2 (en) 2011-08-19 2014-07-08 International Business Machines Corporation Protection for unauthorized firmware and software upgrades to consumer electronic devices
US8856771B2 (en) * 2011-08-19 2014-10-07 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 삼성전자주식회사 애플리케이션이 필요로 하는 권한을 진단하는 방법 및 장치
CA3118235A1 (en) 2012-04-13 2013-10-17 Ologn Technologies Ag Apparatuses, methods and systems for computer-based secure transactions
CA2870166C (en) 2012-04-13 2020-07-21 Ologn Technologies Ag Secure zone for digital communications
CN104205112B (zh) * 2012-04-16 2018-09-21 英特尔公司 安全控制器、电子设备、用于可信用户交互的方法和装置
TW201403375A (zh) * 2012-04-20 2014-01-16 歐樂岡科技公司 用於安全購買之安全區
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
US9619653B2 (en) 2012-07-31 2017-04-11 Adobe Systems Incorporated System and method for detecting a security compromise on a device
US8862892B2 (en) * 2012-07-31 2014-10-14 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
KR20150063439A (ko) 2012-09-28 2015-06-09 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 어플리케이션 보안 시험
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
EP2951687A4 (en) 2013-02-01 2016-08-03 Hewlett Packard Entpr Dev Lp TEST STRIP GENERATION BASED ON ABSTRACT USER TESTING
CA3234925A1 (en) 2013-03-15 2014-09-18 Ologn Technologies Ag Systems, methods and apparatuses for securely storing and providing payment information
US9820231B2 (en) * 2013-06-14 2017-11-14 Microsoft Technology Licensing, Llc Coalescing geo-fence events
US9998866B2 (en) 2013-06-14 2018-06-12 Microsoft Technology Licensing, Llc Detecting geo-fence events using varying confidence levels
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 株式会社日立製作所 制御システム及び認証装置
US11218507B2 (en) 2013-10-18 2022-01-04 Nokia Technologies Oy Method and system for operating and monitoring permissions for applications in a 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 한국전자통신연구원 어플리케이션 퍼미션 재조정 방법 및 이를 수행하는 사용자 단말
JP6633228B2 (ja) * 2016-01-04 2020-01-22 クレブエックス エルエルシーClevx,Llc 暗号を伴うデータセキュリティシステム
US10223425B2 (en) 2016-02-24 2019-03-05 Bank Of America Corporation Operational data processor
US10216798B2 (en) 2016-02-24 2019-02-26 Bank Of America Corporation Technical language processor
US10019486B2 (en) 2016-02-24 2018-07-10 Bank Of America Corporation Computerized system for analyzing operational event data
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
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
US10067984B2 (en) 2016-02-24 2018-09-04 Bank Of America Corporation Computerized system for evaluating technology stability
US10275183B2 (en) 2016-02-24 2019-04-30 Bank Of America Corporation System for categorical data dynamic decoding
US10275182B2 (en) 2016-02-24 2019-04-30 Bank Of America Corporation System for categorical data encoding
US10430743B2 (en) 2016-02-24 2019-10-01 Bank Of America Corporation Computerized system for simulating the likelihood 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
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.
ZA948429B (en) * 1993-11-15 1995-06-30 Qualcomm Inc 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
ATE450003T1 (de) * 1998-08-01 2009-12-15 Ibm Komputergesteuerte verfahren und system zum implementieren von verteilten anwendungen
EP1119813A1 (en) 1998-09-28 2001-08-01 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
US7051366B1 (en) 2000-06-21 2006-05-23 Microsoft Corporation 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
WO2002021413A2 (en) * 2000-09-05 2002-03-14 Zaplet, Inc. Methods and apparatus providing electronic messages that are linked and aggregated
US20020131404A1 (en) * 2000-11-28 2002-09-19 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
US7917888B2 (en) * 2001-01-22 2011-03-29 Symbol Technologies, Inc. System and method for building multi-modal and multi-channel applications
CA2742139C (en) * 2001-05-14 2012-03-27 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
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 日産自動車株式会社 ハイブリッド車両の制御装置及び制御方法
CN107211026B (zh) 2015-03-22 2021-01-08 苹果公司 用于移动设备中的用户认证和人类意图验证的方法和装置

Also Published As

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

Similar Documents

Publication Publication Date Title
ES2334336T3 (es) Distribucion y ejecucion de aplicacion seguras en un entorno inalambrico.
US7096004B2 (en) Test enabled application execution
ES2385565T3 (es) Sistema y método de firma mediante código por software
AU2002324717A1 (en) Test enabled application execution
US20080168562A1 (en) Secure Processing Device and Secure Processing System
AU2002312041A1 (en) Safe application distribution and execution in a wireless environment
NZ548062A (en) Test enabled application execution