MXPA06002812A - Metodos y aparatos para determinar la integridad de un dispositivo. - Google Patents

Metodos y aparatos para determinar la integridad de un dispositivo.

Info

Publication number
MXPA06002812A
MXPA06002812A MXPA06002812A MXPA06002812A MXPA06002812A MX PA06002812 A MXPA06002812 A MX PA06002812A MX PA06002812 A MXPA06002812 A MX PA06002812A MX PA06002812 A MXPA06002812 A MX PA06002812A MX PA06002812 A MXPA06002812 A MX PA06002812A
Authority
MX
Mexico
Prior art keywords
integrity
response
application
operates
preselected
Prior art date
Application number
MXPA06002812A
Other languages
English (en)
Inventor
Ivan Hugh Mclean
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of MXPA06002812A publication Critical patent/MXPA06002812A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/305Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/40Monitoring; Testing of relay systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/104Location integrity, e.g. secure geotagging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Social Psychology (AREA)
  • Virology (AREA)
  • Electromagnetism (AREA)
  • Mobile Radio Communication Systems (AREA)
  • General Factory Administration (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Se describen metodos y aparatos para determinar la integridad de un dispositivo; se provee un metodo para uso en un servidor para proveer una revision de la integridad dinamica del dispositivo de un cliente; el metodo incluye seleccionar una aplicacion de integridad a partir de una o mas aplicaciones de integridad, en donde la aplicacion de integridad seleccionada opera para generar una respuesta de integridad preseleccionada unica; el metodo tambien incluye descargar la aplicacion de integridad seleccionada para ejecucion en el dispositivo del cliente, y recibir una respuesta desde la aplicacion de integridad seleccionada; el metodo tambien incluye determinar si la respuesta es o no la respuesta de integridad preseleccionada.

Description

METODOS Y APARATOS PASA DETERMINAR LA INTEGRIDAD DE UN DISPOSITIVO CAMPO DE LA INVENCION La invención se refiere generalmente a redes de datos inalámbricas, y con mayor particularidad, a métodos y aparatos para determinar dinámicamente la integridad de un dispositivo.
ANTECEDENTES DE LA INVENCION Avances en tecnología han dado como resultado el desarrollo y despliegue de redes de datos extensas. Estas redes incluyen tanto redes de datos públicas, tal como la Internet así como redes especializadas, tal como redes de telecomunicaciones inalámbricas . Los usuarios de estas redes pueden tener acceso a una amplia variedad de información y servicios que están disponibles como recursos de red. Un ejemplo en donde existe una demanda creciente de recursos de red es en ambientes de red inalámbrica. En ambientes inalámbricos, una variedad de dispositivos inalámbricos, tal como teléfonos inalámbricos, asistentes digitales personales (PDA) , y dispositivos de localización, 2 se comunican en una red inalámbrica. La red inalámbrica también puede incluir servidores de red que operen para proveer varios recursos de red a los dispositivos inalámbricos. Además, las redes inalámbricas también se pueden acoplar a una red pública, tal como la Internet, de tal manera que recursos en la red pública pueden estar disponibles para los dispositivos inalámbricos en la red inalámbrica. Típicamente, un dispositivo inalámbrico puede descargar un programa de aplicación o contenido de multimedia desde un servidor de red utilizando la red inalámbrica. La aplicación o contenido se puede descargar gratis, o puede ser comprado por el usuario del dispositivo inalámbrico, quien obtiene eficazmente los derechos para utilizar la aplicación o contenido durante un periodo de vencimiento basado en el conteo ilimitado, fijo o de uso. Infortunadamente, debido a la facilidad y conveniencia de tener acceso a recursos de red, actualmente existe una variedad de problemas de integridad del dispositivo. Por ejemplo, durante la operación y uso normales, es posible que un dispositivo descargue un código malintencionado en la forma de virus, gusanos, etc., que pueden poner en peligro la operación del dispositivo. También es posible que el dispositivo haya recibido aplicaciones o contenido no autorizado mediante la descarga de versiones ilegales, tal como versiones no autorizadas que tienen sus funciones de seguridad o licénciamiento deshabilitadas. El dispositivo también puede tener aplicaciones u otro software que esté diseñado para sortear características de seguridad de red, permitiendo así que el dispositivo obtenga servicios de red en una forma autorizada. Una solución empleada para corregir estos problemas involucra el uso de software basado en el cliente estático que periódicamente "llama a casa" para reportar el estado del dispositivo del cliente. Sin embargo, los enfoques de dicho software basado en el cliente estático presentan imperfecciones, debido a que solo se basan en la integridad del código basado en el cliente estático. El ambiente del cliente puede ser extremadamente hostil y el código basado en el cliente tiene probabilidades de ser desarmado para conocer su ingeniería inversa y/o puede ser modificado para esconder o ignorar cualquier evidencia incriminatoria o para burlar cualquier funcionalidad significativa. Por lo tanto, las actualizaciones periódicas del software del cliente forman una solución parcial, pero éstas sufren inevitablemente el mismo destino. Por lo tanto, se requiere un sistema que opere para revisar la integridad de un dispositivo, en donde la revisión de la integridad se realice de una forma dinámica 4 evitando así que los procedimientos para la revisión de la integridad se vean descubiertos en cuanto a su ingeniería o de otra manera, burlados.
SUMARIO DE LA INVENCION En una o más modalidades se provee un sistema de integridad que opera para ejecutar una revisión de la integridad dinámica de un dispositivo. Por ejemplo, en una modalidad se provee un mecanismo que ejecuta la revisión de la integridad dinámica del dispositivo de un cliente para detectar signos de actividad hostil, la presencia de aplicaciones o contenido ilegales, o el abuso de derechos asociados con el contenido o aplicaciones digitales . En una modalidad, el mecanismo provisto por el sistema de integridad es dinámico y por lo tanto extremadamente difícil de invertir en su ingeniería o de burlar, debido a que dicho ataque debe ser ejecutado de manera efectiva en tiempo real . En una modalidad se provee un método para utilizar en un servidor para proveer una revisión de la integridad dinámica del dispositivo de un cliente. El método comprende seleccionar una aplicación de integridad seleccionada a partir de una o más aplicaciones de integridad, en donde la aplicación de integridad seleccionada opera para generar una respuesta de integridad previamente seleccionada única. El método también comprende descargar la aplicación de integridad seleccionada para su ejecución en el dispositivo del cliente, y recibir una respuesta de la aplicación de integridad seleccionada. El método también comprende determinar si la respuesta es o no la respuesta de integridad preseleccionada. En otra modalidad, el aparato es provisto para proporcionar una revisión de la integridad dinámica del dispositivo de un cliente. El aparato comprende lógica de selección que opera para seleccionar una aplicación de integridad seleccionada a partir de una o más aplicaciones de integridad, en donde la aplicación de integridad seleccionada opera para generar una respuesta de integridad preseleccionada única. El aparato también comprende lógica de transmisión que opera para descargar la aplicación de integridad seleccionada para su ejecución en el dispositivo del cliente. El aparato también comprende lógica de recepción que opera para recibir una respuesta de la aplicación de integridad seleccionada. El aparato también comprende lógica de determinación que opera para determinar si la respuesta es o no la respuesta de integridad preseleccionada . En otra modalidad se provee un aparato que opera para proveer una revisión de la integridad dinámica del dispositivo de un cliente. El aparato comprende medios para seleccionar una aplicación de integridad seleccionada a partir de una o más aplicaciones de integridad, en donde la aplicación de integridad seleccionada opera para generar una respuesta de integridad preseleccionada única. El aparato también comprende medios para descargar la aplicación de integridad seleccionada para su ejecución en el dispositivo del cliente. El aparato también comprende medios para recibir una respuesta de la aplicación de integridad seleccionada. El aparato también comprende medios para determinar si la respuesta es o no la respuesta de integridad preseleccionada. En otra modalidad se proveen medios legibles por computadora que comprenden instrucciones, las cuales al ser ejecutadas por un procesador en un sistema de integridad operan para verificar dinámicamente la integridad de un dispositivo. Los medios legibles por computadora comprenden instrucciones para seleccionar una aplicación de integridad seleccionada a partir de una o más aplicaciones de integridad, en donde la aplicación de integridad seleccionada opera para generar una respuesta de integridad preseleccionada única. Los medios legibles por computadora también comprenden instrucciones para descargar la aplicación de integridad seleccionada para su ejecución en el dispositivo del cliente. Los medios legibles por 7 computadora también comprenden instrucciones para recibir una respuesta de la aplicación de integridad seleccionada. Los medios legibles por computadora también comprenden instrucciones para determinar si la respuesta es o no la respuesta de integridad preseleccionada. Otros aspectos, ventajas y características de la presente invención serán aparentes después de la revisión de la breve descripción de las figuras, la descripción detallada de la invención y las reivindicaciones a continuación.
BREVE DESCRIPCION DE LAS FIGURAS Los aspectos y ventajas anteriores de las modalidades descritos en la presente invención serán fácilmente aparentes por referencia a la siguiente descripción detallada cuando se tome en conjunto con las figuras anexas, en donde: La figura 1 muestra una red de datos que comprende una modalidad de un sistema de integridad para revisar la integridad de un dispositivo; La figura 2 muestra un diagrama en bloques funcionales que ilustra una modalidad de un sistema de integridad que opera para ejecutar la revisión de la integridad dinámica de un dispositivo; y 8 La figura 3 muestra una modalidad de un método para operar un sistema de integridad para revisar la integridad de un dispositivo.
DESCRIPCION DETALLADA DE LA INVENCION La siguiente descripción detallada describe un sistema de integridad que ejecuta la revisión de la integridad dinámica del dispositivo de un cliente. En una modalidad, se crea un número de aplicaciones de integridad extremadamente pequeñas y únicas durante un periodo de tiempo determinado. Cada aplicación ejecuta un conjunto ligeramente diferente de operaciones de revisión de integridad cuando se ejecutan en el dispositivo de un cliente. Los resultados de esas operaciones de revisión de integridad son reportadas de regreso a un servidor central . En una modalidad, cuando el cliente se conecta al servidor para descargar aplicaciones o para solicitar otros servicios de servidor, el servidor selecciona y descarga una o más aplicaciones de integridad. Los criterios para la frecuencia a la cual ocurre esto y la selección de las aplicaciones que se van a descargar pueden incluir, pero no se limitan a, el tipo de hardware del cliente, la ubicación geográfica, el identificador (ID) de la portadora, o un análisis estadístico del comportamiento del cliente. Cada 9 aplicación de integridad revisa uno o más aspectos del dispositivo del cliente y crea un mensaje de respuesta única, el cual en una modalidad, es encriptado, autenticado y transmitido al servidor central. La aplicación entonces se retira por sí misma del cliente. Si el mensaje de respuesta contiene evidencia incriminatoria, si la autenticación falla, o si la autenticación no es recibida o es recibida después de un periodo limite, entonces el servidor puede emprender la acción correspondiente. Por ejemplo, se puede restringir la actividad del cliente con el servidor. En una o más modalidades, las aplicaciones de integridad interactüan con un ambiente de tiempo de ejecución realizándose en el cliente que es utilizado para simplificar la operación del cliente, tal como mediante el aprovisionamiento de llamadas generalizadas para recursos específicos del dispositivo. Dicho ambiente de tiempo de ejecución es la plataforma de software Ambiente Binario de Ejecución Binario para Móviles™ (BREW™) desarrollada por QUALCOMM, Inc . , de San Diego, California. En la siguiente descripción, se asumirá que el cliente es un dispositivo inalámbrico que está ejecutando un ambiente de tiempo de ejecución, tal como la plataforma de software BREW. Sin embargo, en una o más modalidades, las aplicaciones de integridad son convenientes para uso con otros tipos de ambientes de tiempo de ejecución para proveer la revisión de la integridad dinámica de una variedad de dispositivos alámbricos e inalámbricos. Por ejemplo, los dispositivos inalámbricos pueden ser cualquier tipo de dispositivo inalámbrico, incluyendo pero no limitado a, un teléfono inalámbrico, localizador, PDA, dispositivo de correo electrónico, computadora, u otro tipo de dispositivo inalámbrico. La figura 1 muestra una red de datos 100 que comprende una modalidad de un sistema de integridad para revisar la integridad de un dispositivo. La red 100 comprende un dispositivo inalámbrico 102 que se comunica con una red de datos inalámbrica 104 a través de un canal de comunicación inalámbrico 106. La red 100 también comprende una autoridad 108 que opera para proveer servicios al dispositivo inalámbrico 102 y otras entidades en comunicación con la red 104. Por ejemplo, la autoridad puede ser un servidor de red asociado con una red de telecomunicaciones. La autoridad 108 se comunica con la red inalámbrica utilizando el enlace 110, el cual puede ser un enlace cableado o inalámbrico. Por ejemplo, el dispositivo inalámbrico 102 puede ser un teléfono inalámbrico, y la autoridad 108 puede ser parte de una red de telecomunicaciones a nivel nacional que provea servicios de telecomunicaciones al dispositivo 102.
Durante la operación, el sistema de integridad opera para revisar dinámicamente la integridad del dispositivo 102. Por ejemplo, en una modalidad, la autoridad 108 opera para seleccionar una o más de las aplicaciones de integridad 112 que se van a descargar al dispositivo 102, como lo muestra la trayectoria 114. Las aplicaciones de integridad 112 tienen respuestas predefinidas únicas conocidas que pueden ser configuradas, modificadas, actualizadas, o de otro modo, determinadas en periodos aleatorios o periódicos. Una vez que se descarga una aplicación de integridad en el dispositivo 102, ésta corre en el dispositivo para determinar la integridad del dispositivo con respecto a otro u otros aspectos. Por ejemplo, la aplicación de integridad 118 es descargada al dispositivo utilizando la trayectoria 114. En una modalidad, la aplicación de integridad 118 corre bajo un ambiente de tiempo de ejecución que está funcionando en el dispositivo 102, por ejemplo, el ambiente de tiempo de ejecución BREW. En una modalidad, la aplicación de integridad 118 realiza en el dispositivo 102 una búsqueda de virus, gusanos, u otro código malintencionado. En otra modalidad, la aplicación de integridad 118 puede realizar en el dispositivo 102 una búsqueda de contenido de marca registrada, y cuando dicho contenido es encontrado, la aplicación de integridad 118 entonces realiza una revisión para determinar si se tienen las licencias adecuadas para el contenido. La aplicación de integridad 118 puede revisar virtualmente casi cualquier aspecto del dispositivo 102 para determinar la integridad del dispositivo 102. Una vez que la aplicación de integridad 118 ha determinado la integridad del dispositivo 102, la aplicación 118 opera para generar una respuesta que es transmitida de regreso a la autoridad 108, como se muestra en la trayectoria 116. Por ejemplo, si la apliqación de integridad 118 determina que la integridad del dispositivo es aceptable, una respuesta de integridad predefinida es generada por la aplicación de integridad 118 y transmitida a la autoridad 108. La respuesta también puede incluir cualquier otra información de integridad descubierta respecto al dispositivo. Por ejemplo, la respuesta puede incluir información sobre aplicaciones, contenido, u otra información encontrada en el dispositivo. Además, en una modalidad, la respuesta se genera y transmite en tiempo real. Si la integridad del dispositivo no es aceptable, la aplicación de integridad 118 genera un mensaje de respuesta negativa que es transmitido de regreso a la autoridad 108. En una modalidad no se generará una respuesta de integridad si el dispositivo 102 incluye software, hardware, una combinación de software y hardware,, o algún otro agente que bloquee la operación de la aplicación de integridad 118. En este caso, la autoridad 108 tiene libertad para asumir que la integridad del dispositivo no es aceptable debido a que no se recibió una respuesta. Por ejemplo, si el sistema de integridad no recibe una respuesta en un intervalo de tiempo predeterminado, entonces se asume que no se ha transmitido respuesta alguna. En una situación, puede ser posible que el dispositivo 102 contenga un agente que intente falsificar el mensaje de respuesta predefinido. Sin embargo, debido a que el sistema de integridad es dinámico, y a que la respuesta se espera en tiempo real, resulta extremadamente difícil que un agente falsifique la respuesta. En una modalidad, la autoridad 108 opera para seleccionar de manera aleatoria las aplicaciones de integridad que se van a descargar en el dispositivo 102. Esto evita que un agente en el dispositivo 102 anticipe el tipo de revisión de integridad que se va a realizar. En otra modalidad, la autoridad 108 opera para cambiar la respuesta de integridad predefinida de la aplicación de integridad seleccionada. Por ejemplo, la autoridad puede incluir un indicador de tiempo real o una firma digital en el mensaje de respuesta predefinido. Por lo tanto, incluso si un agente en el dispositivo está consciente de una respuesta de integridad 14 predefinida previa, la transmisión de esa respuesta previa a la autoridad dará como resultado una revisión de integridad fallida. La selección de la aplicación de integridad y/o el tipo de respuesta de integridad se puede ajusfar dinámicamente para que cambie de manera aleatoria o periódica de tal manera que ningún agente que opere en el dispositivo podrá saber por anticipado la respuesta de integridad predefinida. Además, sería extremadamente difícil revertir la ingeniería de la aplicación de integridad para determinar cuál es la respuesta de integridad predefinida debido a que dicha reversión de ingeniería tendría que realizarse en tiempo real. Como resultado, la operación del sistema de integridad es extremadamente difícil de burlar. La figura 2 muestra un diagrama en bloques funcionales que ilustra una modalidad de un sistema de integridad 200 que opera para ejecutar la revisión de integridad dinámica de un dispositivo. Por ejemplo, el sistema de integridad 200 es conveniente para uso con, o como parte de, la autoridad 108 para revisar la integridad del dispositivo inalámbrico 102. El sistema de integridad 200 comprende lógica de procesamiento 202 que está acoplada a un enlace de datos interno 204. También acoplados al enlace de datos interno 204 están la memoria 206, la interfaz de usuario 208, y la interfaz i/o 210. El sistema de integridad 200 también comprende lógica de selección 212 acoplada a la lógica de procesamiento 202, y memoria de aplicación 214 acoplada al enlace de datos interno 204. La memoria de aplicación 214 comprende un conjunto de aplicaciones de integridad (Aplicación 1, Aplicación 2,... Aplicación N) . En una o más modalidades, la lógica de procesamiento 202 comprende un CPU, disposición de compuerta, lógica de hardware, software, o cualquier combinación de hardware y software. Por lo tanto, la lógica de procesamiento 202 generalmente comprende lógica para ejecutar instrucciones legibles por computadora. La memoria 206 comprende RAM, ROM, FLASH, EEROM, o cualquier otro tipo conveniente de memoria-, o una combinación de los mismos. En una modalidad, la memoria 206 está en la parte de adentro del sistema de integridad 200, y en otra modalidad, la memoria 206 comprende una tarjeta de memoria removible o dispositivo de memoria que se puede anexar de manera selectiva al sistema de integridad 200, y por lo tanto se puede acoplar al enlace interno 204. Por lo tanto, la memoria 206 puede comprender virtualmente cualquier tipo de memoria que tenga la capacidad de almacenar instrucciones que pueden ser ejecutadas por la lógica de procesamiento 202.
La interfaz de usuario 208 recibe una entrada de usuario 216, por ejemplo, desde un teclado, dispositivo indicador, almohadilla de tacto, u otros mecanismos de ingreso para permitir a un usuario interactuar con el dispositivo 102. La interfaz de usuario 208 también se puede acoplar a un dispositivo de pantalla, tal como un CRT, LCD, LED, o cualquier otro tipo de dispositivo de pantalla para proveer una pantalla visual al usuario. También se puede acoplar cualquier otro tipo de dispositivo de entrada o salida a la interfaz de usuario 208, tal como, almacenamiento de disco, lógica de audio, dispositivos de video, etc. La interfaz I/O 210 opera para transmitir y recibir información entre el sistema de integridad 200 y dispositivos externos, sistemas, y/o redes que utilizan el enlace de comunicación 218. Por ejemplo, la interfaz i/O 210 provee comunicación entre el sistema de integridad 200 y la autoridad 108. En otra modalidad, la interfaz I/O 210 provee comunicación entre el sistema de integridad 200 y la red inalámbrica 104, permitiendo así que el sistema de integridad 200 se comunique directamente con el dispositivo 102. En una modalidad, la interfaz I/O 210 comprende un circuito de radiotransceptor (que no se muestra) el cual opera para transmitir y recibir información sobre una red de datos inalámbricos utilizando el enlace de comunicación 218. Por ejemplo, el enlace de comunicación 218 puede ser el enlace de comunicación 110 que se muestra en la figura 1. Por ejemplo, el transceptor comprende circuiteria que modula la información recibida desde la lógica de procesamiento 202 y convierte la información modulada en señales de alta frecuencia convenientes para transmisión inalámbrica. De manera similar, el transceptor también comprende circuiteria para convertir las señales de comunicación de alta frecuencia recibidas en señales convenientes para la desmodulación y procesamiento posterior por parte de la lógica de procesamiento 202. En otra modalidad, la interfaz i/O 210 comprende un transceptor que opera para transmitir y recibir información sobre un enlace de comunicación cableado, tal como una línea telefónica, u otro tipo de línea de datos, para comunicarse con un sistema remoto en una red de datos pública, tal como la Internet. En otra modalidad todavía, la interfaz i/O 210 comprende circuiteria que opera para comunicarse con dispositivos locales, tal como una estación de trabajo local. La interfaz I/O 210 también puede incluir circuiteria (tal como lógica de puerto serial o paralelo) para comunicarse con una impresora u otra computadora o dispositivo local, tal como un disco flexible o tarjeta de 18 memoria. Por lo tanto, la interfaz 1/0 210 puede comprender cualquier tipo de hardware, software o combinación de los mismos para permitir que el sistema de integridad 200 se comunique con otros dispositivos o sistemas locales o remotamente ubicados . En una modalidad, la lógica de selección 212 comprende un CPU, procesador, lógica, software, o cualquier combinación de hardware y software. La lógica de selección 212 está acoplada a la lógica de procesamiento a través del enlace de selección 220 y opera para proveer información de selección a la lógica de procesamiento 202. La información de selección identifica una o más aplicaciones de integridad (Aplicación - Aplicación N) que se van a transmitir al dispositivo 102. Por ejemplo, la lógica de selección 212 es utilizada por la lógica de procesamiento 202 para determinar cuáles son las aplicaciones de integridad que se van a recuperar de la memoria de aplicación 214, las cuales son transmitidas posteriormente al dispositivo 102. Virtualmente cualquier tipo de proceso o procedimiento de selección puede ser empleado por la lógica de selección 212 para seleccionar las aplicaciones de integridad para transmisión al dispositivo. Por ejemplo, la lógica de transmisión puede utilizar indicadores de tiempo, ubicación, aleatorios o periódicos para seleccionar las aplicaciones de integridad seleccionadas que se van a 19 transmitir al dispositivo 102. Después de seleccionar la aplicación de integridad que se va a transmitir al dispositivo, la lógica de procesamiento 202 opera para incluir un indicador de referencia en la aplicación que se utiliza en un mensaje de respuesta predefinido utilizado por la aplicación. Por ejemplo, el indicador de referencia puede ser una referencia de hora o fecha, una firma digital, o cualquier otro tipo de indicador de referencia. Cuando la aplicación intenta transmitir un mensaje de respuesta de regreso al sistema de integridad, en la respuesta se utiliza el indicador de referencia. Por lo tanto el sistema de integridad puede utilizar el indicador de referencia para distinguir entre respuestas reales y falsas. Por ejemplo, una respuesta falsa no tendrá el indicador de referencia correcto. Se debería observar que la configuración del sistema de integridad 200 es solo una conf guración conveniente. También es posible ejecutar el sistema de integridad 200 utilizando otras configuraciones, elementos funcionales o conf guraciones de elementos dentro del alcance de la presente invención. Durante la operación del sistema de integridad 200, la lógica de procesamiento 202 ejecuta instrucciones de programas almacenadas en la memoria 206 para ejecutar 20 las funciones aquí descritas. Por ejemplo, , en una modalidad, el sistema de integridad 200 ejecuta las funciones descritas cuando la lógica de procesamiento 202 ejecuta instrucciones de programa almacenadas en la memoria 206. En otra modalidad, las instrucciones de programas son almacenadas en un medio legible por computadora, tal como un disco flexible, CD, tarjeta de memoria, dispositivo de memoria FLASH, ROM, o cualquier otro tipo de dispositivo de memoria. Las instrucciones de programa son cargadas en la memoria 206 a través de la interfaz I/O 210. Por ejemplo, el sistema de integridad 200 puede descargar las instrucciones de programa del medio legible por computadora en la memoria 206 a través de la interfaz I/O 210. La figura 3 muestra una modalidad de un método 300 para operar una modalidad de un sistema de integridad, por ejemplo, el sistema de integridad 200. Por ejemplo, el método 300 se describirá con referencia al sistema de integridad 200 que se muestra en la figura 2. Se asumirá que el sistema de integridad 200 está acoplado a una red de datos para que el sistema 200 pueda entablar comunicación con un dispositivo, por ejemplo, el dispositivo inalámbrico 102. En el bloque 302, el dispositivo del cliente se registra ante la autoridad para obtener los servicios de dicha autoridad. Por ejemplo, el dispositivo se registra ante la autoridad para descargar una aplicación, contenido de multimedia, o para recibir algún otro servicio. En el bloque 304, el sistema de integridad que opera en la autoridad selecciona una aplicación de integridad para descargar al dispositivo. Por ejemplo, la lógica de procesamiento 202 recibe información de selección desde la lógica de selección 212, y esa información se utiliza para recuperar una o más aplicaciones de integridad desde la memoria 214. Cada aplicación de integridad opera para determinar un aspecto de la integridad del cliente. Por ejemplo, una aplicación de integridad puede determinar si existe o no un virus en el cliente, y otra aplicación puede determinar si el contenido de multimedia licenciado existe o no en el cliente. Cada aplicación de integridad tiene un mensaje de respuesta predeterminado conocido por la autoridad. En el bloque 306, el sistema de integridad ajusta dinámicamente el mensaje de respuesta deseado de la aplicación de integridad. Por ejemplo, en una modalidad, el sistema de integridad configura el mensaje de respuesta para que incluya una referencia de tiempo real, por ejemplo, la hora actual, una firma digital, o alguno otro indicador de referencia. Por lo tanto, cuando la aplicación de integridad transmite el mensaje de respuesta de regreso a la autoridad, el sistema de integridad puede verificar la 22 referencia en tiempo real. De forma virtual, en el mensaje de respuesta se puede incluir dinámicamente cualquier referencia de tiempo real u otra referencia de verificación. En el bloque 308, el sistema de integridad descarga la aplicación de integridad seleccionada en el dispositivo. Por ejemplo, la lógica de procesamiento 202 transmite la aplicación al dispositivo utilizando la interfaz 1/0 210. La aplicación incluye el indicador de referencia dinámica. En el bloque 310, la aplicación de integridad seleccionada corre en el dispositivo y adquiere la información de integridad. Por ejemplo, la aplicación de integridad seleccionada corre bajo un ambiente de tiempo de ejecución ejecutándose en el dispositivo. Por ejemplo, el ambiente de tiempo de ejecución puede ser un ambiente BREW. Durante operación, la aplicación de integridad obtiene información relacionada con uno o más aspectos de la integridad del cliente. Por ejemplo, la aplicación puede determinar si el dispositivo tiene un virus, o puede determinar si el dispositivo tiene contenido no licenciado. Virtualmente, la aplicación de integridad puede determinar cualquier aspecto de la integridad del cliente. Si la aplicación corre exitosamente, la aplicación de integridad transmite un mensaje de respuesta de integridad de regreso 23 al sistema de integridad en la autoridad. En el bloque 312, se realiza una prueba para determinar si la aplicación de integridad ha transmitido un mensaje de respuesta de regreso al sistema de integridad. Por ejemplo, después de determinar la integridad del dispositivo del cliente, la aplicación de integridad genera un mensaje de respuesta que es transmitido de regreso al sistema de integridad. El mensaje de respuesta incluye la referencia de tiempo real tal como la proporcionó inicialmente el sistema de integridad. Si se recibe una respuesta proveniente de la aplicación de integridad, el método avanza al bloque 314. Si no se recibe una respuesta, el método avanza al bloque 316. En el bloque 314, el sistema de integridad recibe el mensaje de respuesta transmitido desde la aplicación de integridad ejecutándose en el dispositivo del cliente. El sistema de integridad opera para procesar el mensaje de respuesta para así determinar la integridad del dispositivo del cliente. Por ejemplo, el mensaje de respuesta incluye el indicador de referencia, el cual indica que la respuesta provenía de la aplicación descargada. En el mensaje de respuesta se puede incluir virtualmente cualquier otra información para informar al sistema de integridad sobre la integridad del dispositivo del cliente. En el bloque 316, si no se recibió una respuesta 24 desde la aplicación de integridad, el sistema de integridad puede asumir que el dispositivo ha bloqueado la operación del programa de integridad, y como resultado, la autoridad puede operar para emprender la acción adecuada. Por ejemplo, se puede restringir el dispositivo para que éste no reciba servicios adicionales provenientes de la autoridad. Se ha descrito un sistema de integridad que incluye métodos y aparatos para revisar dinámicamente la integridad del dispositivo de un cliente. El sistema es adecuado para proveer integridad dinámica, revisando todos los tipos de dispositivos alámbricos e inalámbricos, y es especialmente conveniente para uso con teléfonos móviles. Por consiguiente, aunque aquí se han ilustrado y descrito una o más modalidades de métodos y aparatos para la integridad de un sistema, se apreciará que se pueden realizar varios cambios a las modalidades sin apartarse de su espíritu o características esenciales. Por lo tanto, la presente descripción pretende ser ilustrativa, y no una limitación del alcance de la invención, el cual se estipula en las reivindicaciones anexas.

Claims (20)

25 NOVEDAD DE LA INVENCION Habiendo descrito el presente invento, se considera como una novedad y, por lo tanto, se reclama como prioridad lo contenido en las siguientes : REIVINDICACIONES
1. - Un método para uso en un servidor para proveer una revisión de integridad dinámica del dispositivo de un cliente, el método comprende: seleccionar una aplicación de integridad seleccionada a partir de o más aplicaciones de integridad, en donde la aplicación de integridad opera para generar una respuesta de integridad preseleccionada única; descargar la aplicación de integridad seleccionada para ejecución en el dispositivo del cliente; recibir una respuesta desde la aplicación de integridad seleccionada; y determinar si la respuesta es o no la respuesta de integridad preseleccionada.
2. - El método de conformidad con la reivindicación 1, que además comprende ajustar dinámicamente la respuesta de integridad preseleccionada para incluir un valor de referencia.
3. - El método de conformidad con la reivindicación 2, carácter!zado porque el valor de 26 referencia es un valor de referencia basado en tiempo.
4. - El método de conformidad con la reivindicación 1, caracterizado porque el paso de determinación comprende comparar la respuesta con la respuesta de integridad preseleccionada.
5. - El método de conformidad con la reivindicación 1, caracterizado porque la respuesta comprende la ausencia de cualquier respuesta dentro de un periodo de tiempo que se puede seleccionar.
6. - El método de conformidad con la reivindicación 1, caracterizado porque el paso de seleccionar comprende seleccionar aleatoriamente la aplicación de integridad seleccionada a partir de una o más aplicaciones de integridad.
7. - El método de conformidad con la reivindicación 1, caracterizado porque el paso de seleccionar comprende seleccionar la aplicación de integridad seleccionada a partir de una o más aplicaciones de integridad con base en la ubicación del dispositivo.
8. - El método de conformidad con la reivindicación 1, caracterizado porque el dispositivo del cliente es un dispositivo inalámbrico.
9. - Un aparato para proveer una revisión de integridad dinámica de un dispositivo, el aparato comprende: seleccionar lógica que opere para una aplicación de integridad seleccionada a partir de una o más aplicaciones de integridad, en donde la aplicación de integridad seleccionada opera para generar una respuesta de integridad preseleccionada única; lógica de transmisión que opere para descargar la aplicación de integridad seleccionada para ejecución en el dispositivo; lógica de recepción que opere para recibir una respuesta desde la aplicación de integridad seleccionada; y lógica de determinación que opere para determinar si la respuesta es o no la respuesta de integridad preseleccionada.
10. - El aparato de conformidad con la reivindicación 9, que además comprende lógica para ajustar dinámicamente la respuesta de integridad preseleccionada para incluir un valor de referencia.
11. ~ El aparato de conformidad con la reivindicación 10, caracterizado porque el valor de referencia es un valor basado en tiempo.
12. - El aparato de conformidad * con la reivindicación 9, caracterizado porque el dispositivo es un dispositivo inalámbrico.
13. - Un aparato que opere para proveer una revisión de integridad dinámica de un dispositivo, el aparato comprende: medios para seleccionar una aplicación de integridad seleccionada a partir de una o más aplicaciones de integridad, en donde la aplicación de 28 integridad seleccionada opera para generar una respuesta de integridad preseleccionada única; medios para descargar la aplicación de integridad seleccionada para ejecución en el dispositivo; medios para recibir una respuesta desde la aplicación de integridad seleccionada; y medios para determinar si la respuesta es o no la respuesta de integridad preseleccionada.
14. - El aparato de conformidad con la reivindicación 13, que además comprende medios para ajustar dinámicamente la respuesta de integridad preseleccionada para incluir un valor de referencia.
15. - El aparato de conformidad con la reivindicación 14, caracterizado porque el valor de referencia es un valor basado en tiempo.
16. - El aparato de conformidad con la reivindicación 13, caracterizado porque el dispositivo es un dispositivo inalámbrico. 17.- Un medio legible por computadora que comprende instrucciones que cuando son ejecutadas por un procesador en un sistema de integridad operan para revisar dinámicamente la integridad de un dispositivo, el medio legible por computadora comprende: instrucciones para seleccionar una aplicación de integridad seleccionada a partir de una o más aplicaciones de integridad, en donde la aplicación de integridad seleccionada opera para generar una respuesta de integridad preseleccionada única; instrucciones para descargar la aplicación de integridad seleccionada para ejecución en el dispositivo; instrucciones para recibir una respuesta desde la aplicación de integridad seleccionada; e instrucciones para determinar si la respuesta es o no la respuesta de integridad preseleccionada. 18. - El medio legible por computadora de conformidad con la reivindicación 17, que además comprende instrucciones para ajustar dinámicamente la respuesta de integridad preseleccionada para incluir un valor de referencia. 19. - El medio legible por computadora de conformidad con la reivindicación 18, caracterizado porque el valor de referencia es un valor basado en tiempo. 20. - El aparato de conformidad con la reivindicación 17, caracterizado porque el dispositivo es un dispositivo inalámbrico.
MXPA06002812A 2003-09-10 2004-08-17 Metodos y aparatos para determinar la integridad de un dispositivo. MXPA06002812A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/659,847 US6973305B2 (en) 2003-09-10 2003-09-10 Methods and apparatus for determining device integrity
PCT/US2004/027037 WO2005026877A2 (en) 2003-09-10 2004-08-17 Methods and apparatus for determining device integrity

Publications (1)

Publication Number Publication Date
MXPA06002812A true MXPA06002812A (es) 2006-06-14

Family

ID=34273532

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA06002812A MXPA06002812A (es) 2003-09-10 2004-08-17 Metodos y aparatos para determinar la integridad de un dispositivo.

Country Status (17)

Country Link
US (1) US6973305B2 (es)
EP (1) EP1665590A4 (es)
JP (2) JP2007505394A (es)
KR (1) KR101041761B1 (es)
CN (1) CN1868153B (es)
AR (1) AR047718A1 (es)
AU (1) AU2004273429A1 (es)
BR (1) BRPI0414228A (es)
CA (1) CA2539451A1 (es)
IL (1) IL173984A0 (es)
MX (1) MXPA06002812A (es)
MY (1) MY136940A (es)
NZ (1) NZ545555A (es)
PE (1) PE20050741A1 (es)
RU (1) RU2354054C2 (es)
TW (1) TW200514382A (es)
WO (1) WO2005026877A2 (es)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1338938A1 (en) * 2002-02-22 2003-08-27 SCHLUMBERGER Systèmes Protection against unauthorised execution of a program on an IC card
US7752320B2 (en) * 2003-11-25 2010-07-06 Avaya Inc. Method and apparatus for content based authentication for network access
US7558848B1 (en) * 2004-02-27 2009-07-07 F5 Networks, Inc. System and method for determining integrity over a virtual private network tunnel
US8539608B1 (en) * 2004-03-25 2013-09-17 Verizon Corporate Services Group Inc. Integrity checking at high data rates
US7496348B2 (en) * 2005-06-07 2009-02-24 Motorola, Inc. Wireless communication network security method and system
US7907531B2 (en) * 2005-06-13 2011-03-15 Qualcomm Incorporated Apparatus and methods for managing firmware verification on a wireless device
US20070123214A1 (en) * 2005-11-25 2007-05-31 Motorola, Inc. Mobile device system and strategies for determining malicious code activity
WO2007107701A2 (en) * 2006-03-22 2007-09-27 British Telecommunications Public Limited Company Communications device monitoring
WO2007117585A2 (en) * 2006-04-06 2007-10-18 Smobile Systems Inc. System and method for managing malware protection on mobile devices
TW201112656A (en) * 2006-05-09 2011-04-01 Interdigital Tech Corp Secure time functionality for a wireless device
US7734247B2 (en) * 2007-01-25 2010-06-08 Sony Ericsson Mobile Communications Ab Configurable serial memory interface
US8544092B2 (en) * 2009-03-12 2013-09-24 International Business Machines Corporation Integrity verification using a peripheral device
US8850211B2 (en) * 2009-04-27 2014-09-30 Qualcomm Incorporated Method and apparatus for improving code and data signing
US8745747B2 (en) * 2009-12-31 2014-06-03 Fujitsu Limited Data protecting device
US9202049B1 (en) 2010-06-21 2015-12-01 Pulse Secure, Llc Detecting malware on mobile devices
CA2804869C (en) * 2010-07-09 2016-05-24 Research In Motion Limited Microcode-based challenge/response process
US8726338B2 (en) 2012-02-02 2014-05-13 Juniper Networks, Inc. Dynamic threat protection in mobile networks
KR101457086B1 (ko) 2012-11-30 2014-11-12 한국전자통신연구원 임베디드 시스템의 펌웨어 무결성 검증 장치 및 방법
KR102324336B1 (ko) 2015-03-20 2021-11-11 한국전자통신연구원 사용자 장치 및 그것에 대한 무결성 검증 방법
KR102522778B1 (ko) 2016-04-27 2023-04-19 한국전자통신연구원 분산 대리자 기반 무결성 검증을 수행하는 개별 기기, 그를 포함하는 개별 기기 무결성 검증 시스템 및 그 방법
WO2020086668A1 (en) * 2018-10-23 2020-04-30 Visa International Service Association Validation service for account verification

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4101141C1 (es) * 1991-01-16 1992-07-02 Siemens Nixdorf Informationssysteme Ag, 4790 Paderborn, De
JP3393521B2 (ja) * 1995-10-19 2003-04-07 日本電信電話株式会社 端末プログラム改ざん検出方法、および情報センタ
JP2001154840A (ja) * 1999-11-26 2001-06-08 Adores Inc プログラムの改変を認識するシステムおよびその方法
JP2001331214A (ja) * 2000-05-23 2001-11-30 Yokogawa Electric Corp 遠隔保守システム
US6745011B1 (en) * 2000-09-01 2004-06-01 Telephia, Inc. System and method for measuring wireless device and network usage and performance metrics
JP2002288136A (ja) * 2001-03-26 2002-10-04 Foundation For Nara Institute Of Science & Technology ユーザ情報管理装置、ユーザ情報管理方法、ユーザ情報管理プログラム及び同プログラムを記録した記録媒体
JP2003099142A (ja) * 2001-09-26 2003-04-04 Mitsubishi Electric Corp ソフトウェアのライセンス管理システム
JP2003124866A (ja) * 2001-10-11 2003-04-25 Nec Commun Syst Ltd 移動端末故障探索システム
JP2003131901A (ja) * 2001-10-25 2003-05-09 Ricoh Co Ltd 電子機器の診断システムおよびコンピュータが実行するためのプログラム
US7263351B2 (en) * 2002-07-01 2007-08-28 Qualcomm Incorporated Wireless network optimization through remote device data

Also Published As

Publication number Publication date
EP1665590A4 (en) 2009-12-23
BRPI0414228A (pt) 2006-10-31
US6973305B2 (en) 2005-12-06
CN1868153B (zh) 2012-08-08
PE20050741A1 (es) 2005-10-18
TW200514382A (en) 2005-04-16
RU2354054C2 (ru) 2009-04-27
KR20060119967A (ko) 2006-11-24
CN1868153A (zh) 2006-11-22
JP2012141996A (ja) 2012-07-26
RU2006111468A (ru) 2006-09-10
US20050059352A1 (en) 2005-03-17
JP2007505394A (ja) 2007-03-08
WO2005026877A3 (en) 2005-07-21
MY136940A (en) 2008-11-28
CA2539451A1 (en) 2005-03-24
IL173984A0 (en) 2006-07-05
AU2004273429A1 (en) 2005-03-24
NZ545555A (en) 2008-01-31
EP1665590A2 (en) 2006-06-07
AR047718A1 (es) 2006-02-15
JP5591841B2 (ja) 2014-09-17
KR101041761B1 (ko) 2011-06-17
WO2005026877A2 (en) 2005-03-24

Similar Documents

Publication Publication Date Title
JP5591841B2 (ja) デバイスの完全性を判定する方法及び装置
US11259183B2 (en) Determining a security state designation for a computing device based on a source of software
JP4519843B2 (ja) 無線ネットワークにおけるコンテンツ保護のための方法及び機器
KR101558715B1 (ko) 서버 결합된 멀웨어 방지를 위한 시스템 및 방법
US20150180908A1 (en) System and method for whitelisting applications in a mobile network environment
US7591010B2 (en) Method and system for separating rules of a security policy from detection criteria
US20130097659A1 (en) System and method for whitelisting applications in a mobile network environment
WO2013184799A1 (en) Evaluating whether to block or allow installation of a software application
Sohr et al. Software security aspects of Java-based mobile phones
Kukielka Evaluating the Effectiveness of Context-Based Security for Mobile Devices

Legal Events

Date Code Title Description
FG Grant or registration