ES2334336T3 - Distribucion y ejecucion de aplicacion seguras en un entorno inalambrico. - Google Patents
Distribucion y ejecucion de aplicacion seguras en un entorno inalambrico. Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring 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
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04H—BUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
- E04H4/00—Swimming or splash baths or pools
- E04H4/0006—Devices for producing waves in swimming pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/35—Protecting application or service provisioning, e.g. securing SIM application provisioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/60—Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B69/00—Training appliances or apparatus for special sports
- A63B69/0093—Training appliances or apparatus for special sports for surfing, i.e. without a sail; for skate or snow boarding
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B71/00—Games or sports accessories not covered in groups A63B1/00 - A63B69/00
- A63B71/04—Games or sports accessories not covered in groups A63B1/00 - A63B69/00 for small-room or indoor sporting games
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63G—MERRY-GO-ROUNDS; SWINGS; ROCKING-HORSES; CHUTES; SWITCHBACKS; SIMILAR DEVICES FOR PUBLIC AMUSEMENT
- A63G31/00—Amusement arrangements
- A63G31/007—Amusement arrangements involving water
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10T—TECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
- Y10T29/00—Metal working
- Y10T29/49—Method of mechanical manufacture
- Y10T29/49826—Assembling or joining
- Y10T29/49947—Assembling 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.
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.
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.
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.
13 independiente. Otras realizaciones de la invención se especifican en las reivindicaciones dependientes adjuntas.
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.
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.
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).
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.
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)
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)
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 | 苹果公司 | 用于移动设备中的用户认证和人类意图验证的方法和装置 |
-
2001
- 2001-05-31 US US09/872,418 patent/US7099663B2/en not_active Expired - Lifetime
-
2002
- 2002-05-23 NZ NZ529867A patent/NZ529867A/en not_active IP Right Cessation
- 2002-05-23 WO PCT/US2002/016485 patent/WO2002097620A2/en active Application Filing
- 2002-05-23 CN CNB028149742A patent/CN1258141C/zh not_active Expired - Lifetime
- 2002-05-23 RU RU2003137835/09A patent/RU2295753C2/ru active
- 2002-05-23 CA CA2448979A patent/CA2448979C/en not_active Expired - Lifetime
- 2002-05-23 ES ES02739391T patent/ES2334336T3/es not_active Expired - Lifetime
- 2002-05-23 EP EP09174958.0A patent/EP2163986B1/en not_active Expired - Lifetime
- 2002-05-23 IL IL15911702A patent/IL159117A0/xx unknown
- 2002-05-23 AT AT02739391T patent/ATE447739T1/de not_active IP Right Cessation
- 2002-05-23 JP JP2003500736A patent/JP4795636B2/ja not_active Expired - Lifetime
- 2002-05-23 EP EP02739391A patent/EP1438657B1/en not_active Expired - Lifetime
- 2002-05-23 BR BRPI0209741A patent/BRPI0209741B1/pt active IP Right Grant
- 2002-05-23 KR KR1020037002109A patent/KR100634773B1/ko active IP Right Grant
- 2002-05-23 AU AU2002312041A patent/AU2002312041B2/en not_active Expired
- 2002-05-23 MX MXPA03010890A patent/MXPA03010890A/es active IP Right Grant
- 2002-05-23 DE DE60234267T patent/DE60234267D1/de not_active Expired - Lifetime
- 2002-05-30 PE PE2002000459A patent/PE20030021A1/es active IP Right Grant
- 2002-05-30 AR ARP020102027A patent/AR036043A1/es active IP Right Grant
- 2002-05-31 TW TW091111721A patent/TWI252701B/zh not_active IP Right Cessation
-
2005
- 2005-03-02 HK HK05101823A patent/HK1069451A1/xx not_active IP Right Cessation
-
2006
- 2006-08-28 US US11/467,877 patent/US7684792B2/en not_active Expired - Lifetime
-
2008
- 2008-09-17 JP JP2008238450A patent/JP4440983B2/ja not_active Expired - Lifetime
-
2010
- 2010-03-22 US US12/728,904 patent/US8112076B2/en not_active Expired - Fee Related
-
2012
- 2012-02-07 US US13/368,056 patent/US8588766B2/en not_active Ceased
-
2015
- 2015-11-18 US US14/945,210 patent/USRE48001E1/en not_active Expired - Lifetime
Also Published As
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 |