ES2268524T3 - Dispositivo y programa de comunicacion. - Google Patents

Dispositivo y programa de comunicacion. Download PDF

Info

Publication number
ES2268524T3
ES2268524T3 ES04007647T ES04007647T ES2268524T3 ES 2268524 T3 ES2268524 T3 ES 2268524T3 ES 04007647 T ES04007647 T ES 04007647T ES 04007647 T ES04007647 T ES 04007647T ES 2268524 T3 ES2268524 T3 ES 2268524T3
Authority
ES
Spain
Prior art keywords
data
file
adf
application
jar
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES04007647T
Other languages
English (en)
Inventor
Naoki Naruse
Yuichi Ichikawa
Tatsuro Oi
Nobuyuki Watanabe
Yasunori Hattori
Masato Takeshita
Masakazu Nishida
Mao Asai
Masayuki Tsuda
Atsuki Tomioka
Kazuhiro Yamada
Satoshi Washio
Dai Kamiya
Naoki Yamane
Keiichi Murakami
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo 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 NTT Docomo Inc filed Critical NTT Docomo Inc
Application granted granted Critical
Publication of ES2268524T3 publication Critical patent/ES2268524T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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
    • 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
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Circuits Of Receivers In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Un dispositivo de comunicación que comprende: un medio de recepción (16F) para recibir un archivo descriptor de aplicación (ADF) desde un primer nodo (12), conteniendo el archivo descriptor de aplicación (ADF) datos para probar la autenticidad (datos de certificado) y datos (URL) que indican una ubicación de almacenamiento (12) de un archivo de aplicación (Jar), y para recibir un archivo de descripción de seguridad (SDF) desde un segundo nodo (18) que es diferente del primer nodo (12), conteniendo el archivo de descripción de seguridad (SDF) un valor de salida de una función unidireccional (valor de código de comprobación) que opera sobre datos para probar la autenticidad (datos de certificado); un medio de cálculo (16B) para calcular un valor de salida de la función unidireccional (valor de código de comprobación) que opera sobre los datos para probar la autenticidad (datos de certificado) contenidos en el archivo descriptor de aplicación (ADF); y un medio de comparación (16B) para comparar el valor de salida (valor de código de comprobación) de los datos para probar la autenticidad (datos de certificado) contenidos el archivo de descripción de seguridad (SDF) y el valor de salida (valor de código de comprobación) de los datos para probar la autenticidad (datos de certificado) calculados por el medio de cálculo; caracterizado porque el medio de recepción recibe el archivo de aplicación (Jar) desde una ubicación de almacenamiento (12) indicada por los datos que indican la ubicación de almacenamiento (12) del archivo de aplicación (Jar) contenidos en el archivo descriptor de aplicación (ADF) cuando el medio de comparación determina que los valores de salida (valores de código de comprobación) de los datos para probar la autenticidad (datos de certificado) son idénticos entre sí.

Description

Dispositivo y programa de comunicación.
Campo técnico
La presente invención se refiere a una tecnología para determinar la autenticidad de datos descargados.
Técnica anterior
Comúnmente, el software se descarga a dispositivos de comunicación a través de redes de comunicación como Internet, y se usa en esos dispositivos de comunicación. Sin embargo, tal descarga y uso de software da lugar a un riesgo de ataques de pirateo de datos, lo cual puede tener como resultado accesos no autorizados a datos. Si se obtiene acceso no autorizado, puede descargarse software malicioso al dispositivo de comunicación.
Para contrarrestar este problema, se ha desarrollado una diversidad de tecnologías para determinar la autenticidad del software descargado. Por ejemplo, se ha propuesto un procedimiento donde, antes de descargar software, un proveedor del software facilita una tarjeta de circuito integrado (denominada en lo sucesivo tarjeta "IC") a un usuario, conteniendo la tarjeta IC un valor de código de comprobación, que permite al usuario autentificar el software. (Por ejemplo, consúltese la patente japonesa abierta a consulta por el público Nº 11-205767). Por este procedimiento, cuando un usuario da instrucciones a un dispositivo de comunicación de descargar software después de que la tarjeta IC ha sido cargada en el dispositivo de comunicación, el dispositivo de comunicación descarga el software y calcula un valor de código de comprobación del software usando una función de creación de códigos de comprobación. Después, el dispositivo de comunicación compara el valor de código de comprobación calculado y el valor de código de comprobación almacenado en la tarjeta IC para determinar si los valores coinciden, y por lo tanto si está autorizada la descarga del software recibido al dispositivo.
Relacionada con el procedimiento descrito anteriormente está la popularidad de estaciones móviles que son capaces de descargar software de aplicación Java (marca registrada) (denominado en lo sucesivo "software Java-AP"), y de ejecutar un programa de aplicación contenido en el software Java-AP descargado (el programa de aplicación será denominado en lo sucesivo "Java-APP").
Cuando se descarga software Java-AP a tal estación móvil, primero se descarga un archivo descriptor de aplicación (denominado en lo sucesivo un "ADF") desde un dispositivo servidor contenido en la World Wide Web (denominada en lo sucesivo "Web") a la estación móvil, y después se descarga a la estación móvil un archivo Java Archive (denominado en lo sucesivo un "archivo JAR") que contiene un Java-APP.
Debe observarse que en esta memoria descriptiva el término "software Java-AP" se refiere a una combinación de un ADF y un archivo JAR. Un problema que afecta a archivos que comprenden software Java-AP para descarga a una estación móvil es que pueden estar sujetos a un ataque malicioso. Por consiguiente, es necesario confirmar, de antemano, la autenticidad del software que se va a descargar.
Un ADF es un archivo que contiene datos de información acerca de un archivo JAR correspondiente. Tal información incluye, por ejemplo, una fecha de cuándo fue actualizado el archivo JAR. Por lo tanto, para mantener la paridad, cuando el archivo JAR es actualizado también debe actualizarse el ADF correspondiente. De esta manera, confirmando la correspondencia apropiada del archivo JAR pertinente y el ADF, es posible confirmar la autenticidad del software Java-AP.
Un procedimiento que ha sido propuesto pensando en este objetivo es el siguiente. En primer lugar, se integran en un solo archivo un ADF y un archivo JAR que tienen una correspondencia válida. Después se calcula un valor de código de comprobación del archivo integrado. El valor de código de comprobación se usa para determinar si un ADF descargado y un archivo JAR tienen una correspondencia válida. En el documento de patente anteriormente mencionado (patente japonesa abierta a consulta por el público Nº 11-205767) se propone un procedimiento similar a este.
Un Java-APP contenido en un archivo JAR estará sujeto comúnmente a una diversidad de modificaciones que son implementadas por un proveedor para corregir fallos del programa o mejorarlo. Sin embargo, cada vez que se modifica el Java-APP, cambiará el valor de código de comprobación del software Java-AP. Como resultado, se hace necesario para el proveedor del Java-APP, concretamente un proveedor de contenidos (denominado en lo sucesivo "CP"), distribuir tarjetas IC que contienen un nuevo valor de código de comprobación a estaciones móviles en las que ha sido modificado o mejorado el Java-APP. Sin embargo, la provisión y distribución de tales tarjetas tras cada modificación y mejora de un programa tendrían como resultado, obviamente, costes y problemas logísticos inaceptables, y por lo tanto es poco realista.
La solicitud de patente europea EP1289326A1 desvela un procedimiento sistemático para confirmar autenticidad de software descargado. Un remitente transmite a un receptor el software y el valor de código de comprobación asignado del software. El receptor comprueba la firma en el valor de código de comprobación descifrando el valor de código de comprobación firmado usando una clave pública del remitente. El receptor también calcula un valor de código de comprobación del software recibido. Por último, el receptor verifica ese valor de código de comprobación sin firmar y el valor de código de comprobación calculado para confirmar la autenticidad del software.
La solicitud de patente europea EP1033652A2 también desvelaba un sistema y procedimiento para confirmar autenticidad de software descargado. Un servidor transmite a un terminal un software y el valor de la suma de control firmada del software. El terminal comprueba entonces el signo en el valor del signo de control descifrando el valor de código de comprobación firmado usando una clave pública del servidor. El terminal también calcula un valor de suma de control del software recibido. El terminal verifica entonces el valor de suma de control sin firmar y un valor de signo de control calculado para confirmar la autenticidad del software.
En vista de esta situación, la presente invención va dirigida a proporcionar un medio para confirmar la autenticidad y correspondencia válida de múltiples archivos.
Exposición de la invención
Para solucionar el problema descrito anteriormente, la presente invención proporciona un dispositivo de comunicación que comprende: un medio de recepción para recibir (a) un primer archivo que contiene datos que indican un cierto valor que se calcula sobre la base de datos de un cierto tipo contenidos en otro archivo, y (b) un segundo archivo que contiene datos del cierto tipo; un medio de cálculo para calcular un valor que se obtiene para asignar los datos del cierto tipo contenidos en el segundo archivo a una función unidireccional; un medio de comparación para comparar el valor que es calculado por el medio de cálculo y el cierto valor indicado por los datos contenidos en el primer archivo; y un medio de determinación para determinar la validez de correspondencia del primer archivo y el segundo archivo según un resultado de la comparación hecha por el medio de comparación.
La presente invención proporciona además un programa para dar instrucciones a un ordenador para ejecutar: una etapa de recepción para recibir, (a) un primer archivo que contiene datos que indican un cierto valor que es calculado sobre la base de datos de un cierto tipo contenidos en otro archivo, y (b) un segundo archivo que contiene datos del cierto tipo; una etapa de cálculo para calcular para calcular un valor que se obtiene para asignar los datos del cierto tipo contenidos en el segundo archivo a una función unidireccional; una etapa de comparación para comparar el valor que es calculado en la etapa de cálculo y el cierto valor indicado por los datos contenidos en el primer archivo; y una etapa de determinación para determinar la validez de correspondencia del primer archivo y el segundo archivo según un resultado de la comparación hecha en la etapa de comparación.
Según la presente invención, los datos de un cierto tipo contenidos en el segundo archivo recibido por el medio de recepción se asignan a una función unidireccional, y un valor obtenido a partir de la función unidireccional se compara con un valor indicado por datos contenidos en el primer archivo, que también es recibido por el medio de recepción. Después, se determina la autenticidad de una combinación del primer archivo y el segundo archivo sobre la base de un resultado de la comparación. Por lo tanto, según la presente invención, puede confirmarse la validez de correspondencia de archivos plurales que están relacionados entre sí, como una serie de archivos que comprenden software.
Breve descripción de los dibujos
La Fig. 1 es un diagrama de bloques que ilustra configuraciones de un sistema de descarga según una realización de la presente invención.
La Fig. 2 es un dibujo conceptual que ilustra una estructura de datos típica de un ADF usado en el sistema.
La Fig. 3 es un dibujo conceptual que ilustra una estructura de datos de un SDF almacenado en un dispositivo servidor de confianza del sistema.
La Fig. 4 es un diagrama de bloques que ilustra configuraciones de una estación móvil contenida en el sistema.
La Fig. 5 es un dibujo conceptual que ilustra una estructura funcional de la estación móvil.
La Fig. 6 es un gráfico secuencial que ilustra flujos de datos en la realización de la presente invención.
La Fig. 7 es un organigrama que ilustra procedimientos para determinar la autenticidad de archivos descargados ejecutados en la estación móvil.
Mejor modo de llevar a cabo la invención
En la siguiente descripción se explicará, con referencia a los dibujos, un sistema de descarga que se realiza implementando una realización de la presente invención. En los dibujos, elementos iguales están indicados por números de referencia iguales.
Según el sistema de descarga, un usuario de una estación móvil puede dar instrucciones (con seguridad) a la estación móvil de que descargue software Java-AP deseado, instale un Java-APP contenido en el software Java-AP descargado, y ejecute el Java-APP.
El software Java-AP se descarga a una estación móvil en el sistema de descarga de la siguiente manera. En primer lugar, la estación móvil visualiza una explicación preliminar del software Java-AP para el usuario. Cuando el usuario da instrucciones a la estación móvil de descargar el software Java-AP, la estación móvil recibe en primer lugar un ADF del software Java-AP. Después la estación móvil recibe un archivo llamado un archivo de descripción de seguridad (denominado en lo sucesivo "SDF") que corresponde al software Java-AP. Por último, la estación móvil recibe un archivo JAR del software Java-AP. Los archivos SDF contienen datos que indican restricciones de comportamiento aplicables a Java-APPs correspondientes que existen en una estación móvil. Por lo tanto, cuando una estación móvil ejecuta un Java-APP, la estación móvil controla, sobre la base de condiciones indicadas en un SDF correspondiente, el comportamiento de una aplicación proporcionada por el Java-APP.
En esta memoria descriptiva, el término "aplicación" significa un grupo de funciones que son proporcionadas por una CPU cuando la CPU ejecuta un programa. En la siguiente explicación, para describir una situación donde una CPU ejecuta un Java-APP para proporcionar un grupo de funciones, concretamente un Java-AP, se usará la expresión "se realiza un Java-AP". En lo sucesivo, una aplicación que se realiza mediante un Java-APP se denomina un Java-AP.
Un SDF es preparado por la empresa telefónica anteriormente mencionada a la finalización de un contrato formalizado entre la empresa telefónica y un CP que proporciona el software Java-AP. En el sistema de descarga en la presente realización, algunos Java-APPs tienen SDFs correspondientes, pero otros Java-APPs no tienen SDFs correspondientes. El comportamiento de un Java-AP realizado por un Java-APP que tiene un SDF correspondiente está restringido sobre la base del SDF. Tales Java-AP y Java-APP se denominan "Java-AP de confianza" y "Java-APP de confianza" en esta memoria descriptiva, ya que la fiabilidad está garantizada por la empresa telefónica de acuerdo a un contrato formalizado entre la empresa telefónica y un CP que proporciona el Java-APP.
En la siguiente explicación de la presente realización, "software Java-AP" puede significar una combinación de un ADF, un SDF y un archivo JAR cuando el Java-APP contenido en el archivo JAR es un Java-APP de confianza, o puede significar una combinación de un ADF y un archivo JAR cuando el Java-APP contenido en el archivo JAR no es un Java-APP de confianza. En esta memoria descriptiva, un Java-APP que no es un Java-APP de confianza se denomina un "Java-APP no de confianza", y una aplicación que se realiza mediante un Java-APP no de confianza se denomina un "Java-AP no de confianza". De la misma manera, en esta memoria descriptiva, el software Java-AP que contiene un Java-APP de confianza se denomina "software Java-AP de confianza", y un Java-AP que contiene un Java-APP no de confianza se denomina "software Java-AP no de confianza".
1: Configuración
Como se muestra en la Fig. 1, el sistema de descarga comprende: dispositivo servidor CP 12 conectado a Internet 11; red de comunicación de paquetes móviles 15 a través de la cual la empresa telefónica proporciona servicios de comunicación de paquetes móviles a estaciones móviles; estación móvil 16 que intercambia paquetes de datos con otros dispositivos de comunicación a través de la red de comunicación de paquetes móviles 15; dispositivo servidor de pasarela 17 que interconecta Internet 11 y la red de comunicación de paquetes móviles 15; y dispositivo servidor de confianza 18 que está conectado al dispositivo servidor de pasarela 17. Aunque, en la práctica, el sistema de descarga puede comprender estaciones móviles plurales, en la Fig. 1 sólo se muestra una estación móvil 16 por simplicidad. Por consiguiente, en la Fig. 1 sólo se muestra un dispositivo servidor CP 12.
En la siguiente descripción, se explican detalles de cada componente del sistema de descarga.
1-1: Dispositivo servidor CP
El dispositivo servidor CP 12 tiene componentes de hardware y características de un dispositivo servidor Web general. El dispositivo servidor CP 12 comprende el dispositivo de disco duro 12A. El dispositivo servidor CP 12 puede establecer una conexión después del protocolo de control de transmisión (denominado en lo sucesivo "TCP"), entre el dispositivo servidor CP 12 y un dispositivo de comunicación. Cuando el dispositivo servidor CP 12 recibe un mensaje de solicitud después de un procedimiento GET de protocolo de transferencia de hipertexto (denominado en lo sucesivo "HTTP") usando la conexión TCP, el dispositivo servidor CP 12 lee un archivo identificado por un localizador uniforme de recursos (denominado en lo sucesivo un "URL") que es asignado al procedimiento GET desde el dispositivo de disco duro 12A, transmite un mensaje de respuesta de HTTP que contiene el archivo al dispositivo de comunicación, y desconecta la conexión TCP.
El dispositivo de disco duro 12A almacena archivos JAR que contienen programas escritos en lenguaje de programación Java, y ADFs que contienen datos que indican información sobre sus archivos JAR correspondientes.
Los ADFs almacenados en el dispositivo servidor CP 12 están clasificados en ADFs que corresponden a Java-APPs de confianza, y ADFs que corresponden a Java-APPs no de confianza. Ambos tipos de ADFs contienen datos que están contenidos en un ADF normal en la técnica anterior, como datos que indican un nombre de software Java-AP, un URL de almacenamiento de JAR que son datos que indican una ubicación de almacenamiento de un archivo JAR en la Web, datos que indican un tamaño del archivo JAR, datos que indican una fecha de la última actualización del archivo JAR, etcétera. Cada uno de los ADFs que corresponden a software Java-AP de confianza contiene, como se muestra en la Fig. 2: APID de confianza que es un identificador asignado a cada software Java-AP de confianza; datos que indican un dominio de servidor de confianza que especifica una ubicación de almacenamiento de un SDF correspondiente en la Web, datos de certificado que son proporcionados desde una autoridad certificadora (denominada en lo sucesivo una "CA") a un CP que opera el dispositivo servidor CP 12; y un valor de código de comprobación JAR que indica un valor de código de comprobación de un archivo JAR correspondiente, además de los datos anteriormente mencionados.
Un valor de código de comprobación es un valor de una longitud fija que se obtiene como salida de una función de creación de códigos de comprobación cuando se introducen datos arbitrarios en la función de creación de códigos de comprobación. Una función de creación de códigos de comprobación es un ejemplo de una función unidireccional. Una "función unidireccional" es una función en forma de "y = f(x)", donde y se calcula rápidamente cuando se da x, pero donde es prácticamente imposible calcular x cuando se da y, ya que la función no tiene función inversa, y por lo tanto llevaría una cantidad desmesurada de tiempo calcular x.
El dispositivo servidor CP 12 tiene una función para generar y actualizar archivos que contienen los datos anteriormente mencionados de acuerdo a instrucciones del CP. El dispositivo de disco duro 12A también almacena datos de certificado, que son emitidos por una CA, y certifica que el CP está autentificado por la CA. El dispositivo servidor CP 12 almacena además un programa para calcular valores de código de comprobación de archivos JAR y datos de certificado después del algoritmo seguro de códigos de comprobación 1 (denominado en lo sucesivo "SHA-1").
1-2: Dispositivo servidor pasarela
El dispositivo servidor pasarela 17 es administrado por la empresa telefónica anteriormente mencionada, y tiene componentes de hardware y características de un dispositivo servidor Web general, dispositivo que interconecta redes de comunicación. El dispositivo servidor pasarela 17 retransmite datos entre la red de comunicación de paquetes móviles 15 e Internet 11.
1-3: Dispositivo servidor de confianza
El dispositivo servidor de confianza 18 es administrado por la empresa telefónica anteriormente mencionada, y tiene componentes de hardware y características de un dispositivo servidor Web general. El dispositivo servidor de confianza 18 comprende el dispositivo de disco duro 18A, y después de establecer una conexión TCP con un dispositivo de comunicación, cuando el dispositivo servidor de confianza 18 recibe un mensaje de solicitud después de un procedimiento GET de HTTP usando la conexión TCP, el dispositivo servidor de confianza 18 lee un archivo identificado por un URL que se asigna al procedimiento GET desde el dispositivo de disco duro 18A, transmite un mensaje de respuesta de HTTP que contiene el archivo al dispositivo de comunicación, y desconecta la conexión TCP.
El dispositivo de disco duro 18A almacena SDFs, cada uno de los cuales corresponde a cada uno de los Java-APPs de confianza.
Un SDF es un archivo realizado por la empresa telefónica para un Java-APP de confianza. Como se muestra en la Fig. 3, un SDF contiene: un URL de almacenamiento de JAR que indica un URL de una ubicación de almacenamiento de un archivo JAR que contiene el Java-AP de confianza; una marca de datos de certificado de ADF que indica si un ADF correspondiente contiene datos de certificado; un valor de código de comprobación de certificado que indica un valor de código de comprobación calculado según los datos de certificado contenidos en el ADF; y datos de permiso que indican interfaces para programas de aplicación (denominadas en lo sucesivo "APIs") o URLs que un Java-AP de confianza realizado por el Java-APP de confianza puede usar o a los que puede acceder.
Los datos de permiso incluyen "datos de permiso para acceder a datos personales" que indican si se permite al Java-AP de confianza usar APIs para acceder a datos de guía telefónica, datos de correo electrónico no leído y datos de historial de correo electrónico saliente/entrante, "datos de permiso para cambiar configuración" que indican si se permite al Java-AP de confianza usar APIs para cambiar configuraciones de una melodía o una imagen para notificar llegadas/transmisiones de correo electrónico, y una imagen para una pantalla no interactiva, y "datos de permiso para URLs" que indican URLs a las que se permite acceder al Java-AP.
1-4: Estación móvil
Como se muestra en la Fig. 4, la estación móvil 16 comprende: un programa de sistema operativo (OS); un programa de entorno Java-AP para establecer un entorno para hacer que puedan funcionar Java-APs; ROM 16A para almacenar diversas clases de programas como programas de aplicaciones nativas; CPU 16B para ejecutar programas almacenados en la ROM 16A; unidad de visualización 16C; memoria no volátil 16D; RAM 16E; unidad de comunicación 16F; y unidad operativa 16G. Estos componentes de la estación móvil 16 están conectados entre sí por medio de un bus de datos.
La unidad de visualización 16C comprende, por ejemplo, un panel de visualización de cristal líquido y un circuito de excitación de panel, y visualiza imágenes construidas a partir de datos que son proporcionados por la CPU 16B.
La memoria no volátil 16D es, por ejemplo, una memoria estática de acceso aleatorio (SRAM) o una memoria de sólo lectura borrable y programable eléctricamente (EEPROM). El software Java-AP que se descarga desde dispositivos servidores contenidos en la Web se almacena en la memoria no volátil 16D. La memoria no volátil 16D también almacena un programa para calcular valores de código de comprobación después del SHA-1.
La unidad de comunicación 16F comprende una antena y una unidad de comunicación inalámbrica; comunica de manera inalámbrica paquetes de datos con la red de comunicación de paquetes móviles 15, y retransmite paquetes de datos entre la CPU 16B y la red de comunicación de paquetes móviles 15. La unidad de comunicación 16F comprende un CODEC, un micrófono y un altavoz para comunicación por voz; y permite a la estación móvil 16 mantener comunicación por voz a través de una red de telefonía móvil (no mostrada) que tiene un sistema de conmutación de línea.
La unidad operativa 16G comprende hardware como un teclado para que un usuario introduzca operaciones; y proporciona a la CPU 16B ciertas señales según las operaciones llevadas a cabo por el usuario.
2. Operación
En la siguiente descripción, se explican operaciones de ejemplo del sistema de descarga anteriormente mencionado.
Cuando se enciende una fuente de alimentación (no mostrada) de la estación móvil 16, la CPU 16B lee el programa de OS almacenado en la ROM 16A y ejecuta el programa de OS usando la RAM 16E como área de trabajo. Después de las instrucciones del programa de OS, la CPU 16B es capaz de proporcionar varias funciones básicas como controlar la interfaz de usuario (UI). La Fig. 5 muestra una estructura de un OS que es realizado en la estación móvil 16 por el programa de OS. El OS especifica instrucciones proporcionadas por el usuario sobre la base de señales recibidas desde la unidad operativa 16G según operaciones del usuario, y lleva a cabo ciertos procedimientos según las instrucciones.
Por ejemplo, cuando el usuario solicita descarga de software Java-AP, un navegador Web en el OS transfiere la solicitud a un gestor de aplicaciones Java (denominado en lo sucesivo un "JAM").
Cuando el usuario solicita la ejecución de un programa JAM, que es un programa de aplicaciones nativas de la estación móvil 16, el OS inicia el programa JAM y realiza un JAM en la estación móvil 16. El JAM visualiza una lista de Java-APPs instalados en la estación móvil 16, y cuando el usuario selecciona uno de los Java-APPs que aparecen en la lista, el JAM inicia el Java-APP seleccionado. Más concretamente, cuando la estación móvil 16 recibe del usuario una instrucción para iniciar un cierto Java-APP, el programa de entorno Java-AP es iniciado por la CPU 16B, y se establece un entorno Java-AP en la estación móvil 16. Después, el Java-APP es iniciado por la CPU 16B usando el entorno Java-AP, y se proporcionan funciones de un Java-AP. Un entorno Java-Ap contiene, por ejemplo, la máquina virtual K (KVM), que es una máquina virtual Java ligera adaptada a una estación móvil como la estación móvil 16, y APIs que proporcionan varias funciones para Java-APs. Las APIs que están preparadas para Java-APs se clasifican en APIs de confianza que sólo se permite usar a Java-APs de confianza después de los datos de permiso contenidos en SDFs, y APIs JAVA no de confianza que se permite usar a todos los Java-APs.
En esta memoria descriptiva se omiten explicaciones de operaciones para establecer y desconectar conexiones TCP, ya que las operaciones siguen un procedimiento bien conocido de HTTP. En la siguiente explicación, las operaciones que son ejecutadas por la CPU 16B siguiendo instrucciones de los programas anteriormente mencionados, como el programa de OS, un programa navegador Web, un programa JAM, un Java-APP y un programa de aplicación nativa, se describen como "operaciones llevadas a cabo por la estación móvil 16" para simplificar la descripción.
2-1: Preparación de software Java-AP de confianza
En la siguiente descripción se explican, con referencia a la Fig. 6, operaciones para el dispositivo servidor CP 12, que es administrado por un CP, para preparar un Java-APP de confianza.
La empresa telefónica proporciona de antemano al CP un programa para calcular valores de código de comprobación de archivos JAR y datos de certificado después del SHA-1. El programa se denomina en lo sucesivo una "herramienta". El dispositivo de disco duro 12A del dispositivo servidor CP 12 almacena la herramienta, así como los datos de certificado recibidos desde la CA.
El CP prepara un Java-APP para realizar un Java-AP que sea capaz de cambiar melodías para notificar llegadas de correo electrónico según números de teléfono de remitentes de correos electrónicos. El Java-APP se llama "Melody by Telno Appli". El CP da instrucciones al dispositivo servidor CP 12 de generar un archivo JAR que contenga un "Melody by Telno Appli", y de almacenar el archivo JAR en una ubicación de almacenamiento identificada por un URL de almacenamiento de http://www.b.co.jp/melody.jar. Por otra parte, el CP introduce datos que han de estar contenidos en un ADF, como datos que indican el nombre del Java-APP "Melody by Telno Appli" y el URL de almacenamiento de JAR, en el dispositivo servidor CP 12. Después, el CP da instrucciones al dispositivo servidor CP 12 de ejecutar la herramienta.
Después de la instrucción del CP, la CPU del dispositivo servidor CP 12 lee la herramienta almacenada en el dispositivo de disco duro 12A y, siguiendo las instrucciones de la herramienta, calcula un valor de código de comprobación del archivo JAR (denominado en lo sucesivo un "valor de código de comprobación de JAR") y un valor de código de comprobación de los datos de certificado (denominado en lo sucesivo un "valor de código de comprobación de certificado"). Después, la CPU del dispositivo servidor CP 12 genera un ADF que contiene datos que indican el valor de código de comprobación de JAR, los datos de certificado, los datos que indican el nombre del Java-APP "Melody by Telno Appli", y los datos que indican el URL de almacenamiento de JAR http://www.b.co.jp/melody.jar.
Después, el dispositivo servidor CP 12 transmite, al dispositivo servidor de confianza 18, el ADF y el archivo JAR junto con datos que indican el valor de código de comprobación de certificado (etapa S1).
Cuando la empresa telefónica, que administra el dispositivo servidor de confianza 18, recibe los archivos y datos anteriormente mencionados desde el dispositivo servidor CP 12, la empresa telefónica determina si el CP está autorizado.
Más concretamente, la empresa telefónica comprueba si los datos de certificado contenidos en el ADF son emitidos por una CA en la que la empresa telefónica confía, o si los datos de certificado son emitidos por CAs plurales con una cadena de certificados válida y las CAs plurales son administradas por una CA de un nivel superior en la que la empresa telefónica confía.
Después de completar la comprobación de autenticidad, la empresa telefónica determina la autenticidad del Java-APP proporcionado por el CP. Más concretamente, la empresa telefónica revisa descripciones del Java-APP contenido en el archivo JAR para comprobar si el Java-AP realizado por el Java-APP no destruye datos personales almacenados en la estación móvil 16, no filtra los datos personales a un dispositivo externo, etcétera.
Después de la inspección del programa, la empresa telefónica determina APIs que se permite que use el Java-AP y URLs a las que se permite acceder al Java-AP, según un resultado de la inspección. La empresa telefónica introduce después datos que indican las APIs y URLs al dispositivo servidor de confianza 18.
En respuesta a la entrada, la CPU del dispositivo servidor de confianza 18 genera un SDF que corresponde al ADF y al archivo JAR recibidos desde el dispositivo servidor CP 12. El SDF generado por la CPU contiene datos que indican el URL de almacenamiento de JAR http://www.b.co.jp/melody.jar contenido en el ADF, una marca de datos de certificado de ADF "SÍ", datos que indican el valor de código de comprobación de certificado recibido desde el dispositivo servidor CP 12, y datos de permiso que indican las APIs y los URLs introducidos por la empresa telefónica.
Después de generar el ADF, la CPU del dispositivo servidor de confianza 18 añade datos que indican un APID de confianza "0001", que identifican el Java-APP de confianza, y datos que indican un dominio de servidor de confianza http://www.a.co.jp/melody.asf, que identifica una ubicación de almacenamiento del SDF en el dispositivo servidor de confianza 18. Después, la CPU transmite el ADF que contiene los datos anteriormente mencionados al dispositivo servidor CP 12 (etapa S2).
La CPU del dispositivo servidor CP 12 recibe el ADF y almacena el ADF en el dispositivo de disco duro 12A. Después del almacenamiento del ADF en el dispositivo servidor CP 12, el archivo JAR que contiene el Java-APP está listo para ser descargado a la estación móvil 16.
2-2: Descarga de software Java-AP a estación móvil 16
En la siguiente descripción se explicarán, con referencia a la Fig. 6, operaciones que se ejecutan en el sistema de descarga cuando el usuario da instrucciones a la estación móvil 16 de descargar software Java-AP.
En la siguiente explicación, se supone que el ADF y el archivo JAR del software Java-AP que ha de ser descargado no son modificados después de que el software Java-AP está preparado, como se explica en la sección 2-1.
El usuario da instrucciones a la estación móvil 16 de descargar el Java-APP de confianza "Melody by Telno Appli" desde el dispositivo servidor CP 12 a la estación móvil 16 usando la unidad operativa 16G.
Cuando la CPU 16B recibe la instrucción realizada por el usuario para descargar el software Java-Ap de confianza a través del navegador Web, la CPU 16B lleva a cabo una serie de procedimientos para descargar el Java-AP de confianza a la estación móvil 16 de la siguiente manera.
En primer lugar, la CPU 16B recibe el ADF que corresponde al Java-APP desde el dispositivo servidor CP 12. Más concretamente, la CPU 16B establece una conexión TCP con el dispositivo servidor CP 12, genera un mensaje de solicitud para transmitir el ADF, y transmite el mensaje de solicitud al dispositivo servidor CP 12 (etapa S3). La CPU 16B recibe un mensaje de respuesta que contiene el ADF en respuesta al mensaje de solicitud (etapa S4), y desconecta la conexión TCP. Después de recibir el mensaje de respuesta, la CPU 16B almacena el ADF contenido en el mensaje de respuesta en la memoria no volátil 16D.
Después, la CPU 16B determina si el Java-APP que ha de ser descargado es un Java-APP de confianza. Más concretamente, la CPU 16B comprueba si el ADF contiene datos que indican un APID de confianza, y cuando el ADF contiene los datos, la CPU 16B determina que el Java-APP es un Java-APP de confianza, ya que los datos indican que existe un SDF que corresponde al Java-APP. Por otra parte, cuando el ADF no contiene los datos, la CPU 16B determina que el Java-APP es un Java-APP no de confianza.
En un caso en que el Java-APP que ha de ser descargado es un Java-APP no de confianza, la estación móvil 16 descarga el archivo JAR desde una ubicación de almacenamiento, que es identificada por los datos que indican el URL de almacenamiento de JAR contenido en el ADF, siguiendo los mismos procedimientos que se llevan a cabo en un sistema de descarga normal en la técnica anterior.
En este caso de ejemplo, como el ADF contiene datos que indican el APID de confianza "0001", la CPU 16B determina que el Java-APP que ha de ser descargado es un Java-APP de confianza. Por consiguiente, la CPU 16B recibe el SDF que corresponde al Java-APP desde una ubicación de almacenamiento identificada por los datos que indican el dominio de servidor de confianza http://www.a.co.jp/melody.sdf. Más concretamente, la CPU 16B establece una conexión TCP con el dispositivo servidor de confianza 18, genera un mensaje de solicitud para transmitir el SDF, que es identificado por el dominio de servidor de confianza http://www.a.co.jp/melody.sdf indicado por los datos contenidos en el ADF, y transmite el mensaje de solicitud usando la conexión TCP (etapa S5). La CPU 16B recibe un mensaje de respuesta que contiene el SDF en respuesta al mensaje de solicitud (etapa S6), y desconecta la conexión TCP.
En la siguiente descripción se explicarán, con referencia a la Fig. 7, operaciones para determinar la autenticidad del software Java-AP de confianza después de descargar el software Java-AP de confianza.
La CPU 16B determina si el ADF contiene datos de certificado (etapa S101). Más concretamente, la CPU 16B comprueba si el ADF contiene marca de datos de certificado de ADF que indique "SÍ". Cuando la CPU 16B determina que el ADF no contiene datos de certificado (etapa S101; No), la CPU 16B se salta los procedimientos para revisar datos de certificado, y pasa a procedimientos para descargar el archivo JAR (etapa S104).
En este caso de ejemplo, como el ADF contiene los datos de marca de certificado de ADF que indican "SÍ", la CPU 16B determina que el ADF contiene datos de certificado (etapa S101; Sí), y calcula un valor de código de comprobación de los datos de certificado contenidos en el ADF (etapa S102).
Después de calcular el valor de código de comprobación, la CPU 16B compara el valor de código de comprobación calculado y el valor de código de comprobación contenido en el SDF para determinar si son idénticos entre sí (etapa S103). Si los valores de código de comprobación no son idénticos entre sí (etapa S103; N0), existe una posibilidad de que los datos de certificado contenidos en el ADF hayan sido modificados por alguien después de que la empresa telefónica preparara el SDF. Por lo tanto, la CPU 16B notifica un fallo de descarga al usuario, borra el ADF, restaura configuraciones de software en la estación móvil 16 en un estado antes de que fuera descargado el ADF (etapa S107), y pone fin a los procedimientos para descargar el software Java-AP.
En este caso de ejemplo, se determina que los valores de código de comprobación son idénticos entre sí (etapa S103; Sí), y la CPU 16B descarga el archivo JAR a la estación móvil 16 (etapa S104). Más concretamente, la CPU 16B establece una conexión TCP con el dispositivo servidor CP 12 usando el URL de almacenamiento de JAR http://www.b.co.jp/melody.jar que está contenido en el ADF, e indica una ubicación de almacenamiento en el dispositivo servidor CP 12 donde se almacena el archivo JAR, genera un mensaje de solicitud para transmitir el archivo JAR, y transmite el mensaje de solicitud al dispositivo servidor CP 12 (etapa S7 en la Fig. 6). La CPU 16B recibe un mensaje de respuesta que contiene el archivo JAR desde el dispositivo servidor CP 12 en respuesta al mensaje de solicitud (etapa S8 en la Fig. 6), y desconecta la conexión TCP.
Después de recibir el mensaje de respuesta, la CPU 16B calcula un valor de código de comprobación del archivo JAR contenido en el mensaje de respuesta (etapa S105). La CPU 16B compara el valor de código de comprobación calculado y el valor de código de comprobación de JAR contenido en el ADF para determinar si son idénticos entre sí (etapa S106). Cuando los valores de código de comprobación no son idénticos entre sí (etapa S106; No), existe una posibilidad de que el archivo JAR haya sido falsificado o modificado después de que fuera preparado el archivo JAR. Por lo tanto, la CPU 16B notifica un fallo de descarga al usuario, borra el ADF y el archivo JAR, restaura configuraciones de software en la estación móvil 16 a un estado antes de que fuera descargado el ADF (etapa S108), y pone fin a los procedimientos para descargar el software Java-AP.
En este caso de ejemplo, los valores de código de comprobación son idénticos entre sí (etapa S106; Sí). Por consiguiente, la CPU 16B notifica al usuario que el software Java-AP fue descargado con éxito, almacena el archivo JAR recibido y el SDF recibido en la memoria no volátil 16D (etapa S109), y completa el procedimiento para descargar el software Java-AP.
Después de completar los procedimientos de descarga para el software Java-AP de confianza, la CPU 16B monitoriza el comportamiento de un software Java-AP de confianza realizado por el Java-APP de confianza contenido en el archivo JAR, y permite o restringe el uso por parte del Java-AP de APIs para acceder a datos personales como los datos de la guía telefónica y para cambiar configuraciones de la estación móvil 16, y acceso a URLs, según los datos de permiso para acceder a datos personales, los datos de permiso para cambiar la configuración, y los datos de permiso para URLs, respectivamente, que están contenidos en el SDF.
Como se explicó anteriormente, según la presente realización, es posible determinar si los datos de certificado que están contenidos en un ADF han sido modificados después de que la empresa telefónica ha determinado la autenticidad de los datos de certificado, verificando que un valor de código de comprobación, que se calcula usando los datos de certificado contenidos en el ADF, y un valor de código de comprobación calculado de antemano usando los datos de certificado y contenidos en un SDF correspondiente, son idénticos entre sí. En resumen, según la presente realización, se determina la autenticidad de una combinación de un SDF y un ADF.
Cuando los datos de certificado en el ADF se sobrescriben con los mismos datos de certificado que los contenidos en el SDF, los valores de código de comprobación de ambos datos de certificado se hacen idénticos, y la combinación del SDF y el ADF se determina como autentificada, aun cuando el ADF sea modificado después de que fuera preparado el SDF. Por consiguiente, si el CP tiene que modificar el ADF para modificar el archivo JAR para el propósito, por ejemplo, de corregir fallos en el archivo JAR, después de que la empresa telefónica determina la autenticidad de los datos de certificado, el CP puede mantener la autenticidad de la combinación entre el SDF y el ADF sobre la base de los mismos datos de certificado en el ADF modificado que se usan en el ADF original. Por lo tanto, la empresa telefónica no tiene que repetir operaciones para determinar la autenticidad de los datos de certificado cuando el ADF es modificado por el CP.
Por otra parte, según la presente realización, es posible determinar si un archivo JAR que es descargado desde un CP ha sido modificado o falsificado después de que la empresa telefónica determina la autenticidad del archivo JAR, verificando que un valor de código de comprobación que se calcula usando el archivo JAR descargado y un valor de código de comprobación que fue calculado de antemano usando el archivo JAR y estaba contenido en un ADF correspondiente son idénticos entre sí. En resumen, según la presente realización, se determina la autenticidad de una combinación de un archivo JAR y un ADF. Por consiguiente, puede prevenirse el uso de un archivo JAR falsificado en la estación móvil 16.
Por otra parte, según la presente realización, no hay necesidad de distribuir de antemano a cada estación móvil un medio de grabación como una tarjeta IC que contenga un valor de código de comprobación.
Por consiguiente, en el sistema de descarga según la presente realización, puede determinarse fácilmente la autenticidad de combinaciones de ADFs, SDFs y archivos JAR.
Como los procedimientos para calcular un valor de código de comprobación requieren muchos menos recursos de cálculo que para calcular una clave pública usada en sistemas de autentificación convencionales, la presente realización puede adoptarse para uso con un dispositivo cuyos recursos de cálculo son limitados, como una estación móvil.
3: Modificación
La presente invención no está limitada a la realización descrita anteriormente, y puede modificarse dentro del alcance técnico de la presente invención. A continuación se dan ejemplos de tales modificaciones.
(1) En la realización anterior, un SDF contiene un valor de código de comprobación de datos de certificado, que está contenido en un ADF que corresponde al SDF, y la estación móvil 16 determina la autenticidad de una combinación del SDF y el ADF comparando un valor de código de comprobación calculado mediante el uso de los datos de certificado contenidos en el ADF, y el valor de código de comprobación contenido en el SDF. Un valor de código de comprobación usado en el sistema de descarga no está limitado a un valor de código de comprobación de datos de certificado, y para el mismo propósito también puede usarse un valor de código de comprobación de otro tipo de datos contenidos en un ADF, o un valor de código de comprobación de todo el ADF.
Por otra parte, en la realización anterior, un ADF contiene un valor de código de comprobación de un archivo JAR correspondiente, una estación móvil 16 determina la autenticidad de una combinación del ADF y el archivo JAR comparando un valor de código de comprobación calculado mediante el uso del archivo JAR y el valor de código de comprobación contenido en el ADF. Un valor de código de comprobación usado en el sistema de descarga no está limitado a un valor de código de comprobación de todo el archivo JAR, y para el mismo propósito también puede usarse un valor de código de comprobación de una parte del archivo JAR.
(2) En la realización anterior, se usan funciones de creación de códigos de comprobación que usan SHA-1 para calcular valores de código de comprobación para determinar la autenticidad de combinaciones de archivos. Sin embargo, también pueden usarse otras clases de funciones de creación de códigos de comprobación en el sistema de descarga. Por ejemplo, también se adoptan funciones de creación de códigos de comprobación que usan Message Digest 5 (MD5) para el sistema de descarga según la presente invención. Por otra parte, pueden usarse todas las demás clases de funciones unidireccionales en el sistema de descarga, en lugar de las funciones de creación de códigos de comprobación.
(3) En la realización anterior, los programas para determinar la autenticidad de archivos se almacenan en una ROM de una estación móvil. Los programas pueden almacenarse en cualquier otra clase de dispositivos de almacenamiento como una EEPROM de una estación móvil. Cuando los programas se almacenan en un dispositivo de almacenamiento regrabable como una EEPROM, los programas pueden ser descargados a la estación móvil desde un dispositivo externo a través de la red de comunicación móvil, y almacenados en el dispositivo de almacenamiento regrabable. Cuando la estación móvil tiene una interfaz para comunicarse con un dispositivo de almacenamiento externo, los programas pueden proporcionarse a la estación móvil conectando a la estación móvil un dispositivo de almacenamiento externo como una tarjeta de memoria que contiene los programas. En este caso, la estación móvil puede leer los programas directamente del dispositivo de almacenamiento externo y ejecutarlos.
(4) En la realización explicada anteriormente, un ADF contiene datos que indican un dominio de servidor de confianza, y un SDF, que corresponde a un Java-APP de confianza que ha de ser descargado a una estación móvil, es identificado sobre la base de los datos. Un SDF puede ser identificado de otras maneras. Por ejemplo, la estación móvil 16 puede obtener datos que indican un URL para identificar de antemano el dispositivo servidor de confianza 18, y cuando la estación móvil 16 genera un mensaje de solicitud para transmitir el SDF desde el dispositivo servidor de confianza 18 a la estación móvil 16, la estación móvil 16 puede añadir al mensaje de solicitud el URL que identifica el dispositivo servidor de confianza 18 y datos que indican un APID de confianza para identificar el SDF que corresponde al software Java-AP de confianza que ha de ser descargado.

Claims (6)

1. Un dispositivo de comunicación que comprende:
un medio de recepción (16F) para recibir un archivo descriptor de aplicación (ADF) desde un primer nodo (12), conteniendo el archivo descriptor de aplicación (ADF) datos para probar la autenticidad (datos de certificado) y datos (URL) que indican una ubicación de almacenamiento (12) de un archivo de aplicación (Jar), y para recibir un archivo de descripción de seguridad (SDF) desde un segundo nodo (18) que es diferente del primer nodo (12), conteniendo el archivo de descripción de seguridad (SDF) un valor de salida de una función unidireccional (valor de código de comprobación) que opera sobre datos para probar la autenticidad (datos de certificado);
un medio de cálculo (16B) para calcular un valor de salida de la función unidireccional (valor de código de comprobación) que opera sobre los datos para probar la autenticidad (datos de certificado) contenidos en el archivo descriptor de aplicación (ADF); y
un medio de comparación (16B) para comparar el valor de salida (valor de código de comprobación) de los datos para probar la autenticidad (datos de certificado) contenidos el archivo de descripción de seguridad (SDF) y el valor de salida (valor de código de comprobación) de los datos para probar la autenticidad (datos de certificado) calculados por el medio de cálculo;
caracterizado porque
el medio de recepción recibe el archivo de aplicación (Jar) desde una ubicación de almacenamiento (12) indicada por los datos que indican la ubicación de almacenamiento (12) del archivo de aplicación (Jar) contenidos en el archivo descriptor de aplicación (ADF) cuando el medio de comparación determina que los valores de salida (valores de código de comprobación) de los datos para probar la autenticidad (datos de certificado) son idénticos entre sí.
2. El dispositivo de comunicación según la reivindicación 1, que además comprende un medio de control (16B) para llevar a cabo procedimientos según instrucciones descritas en un archivo de aplicación (Jar), en el que:
el archivo descriptor de aplicación (ADF) contiene un valor de salida de una función unidireccional (valor de código de comprobación) que opera sobre todo o una cierta parte de un archivo de aplicación (Jar),
el medio de cálculo calcula un valor de salida de la función unidireccional (valor de código de comprobación) que opera sobre todo o una cierta parte del archivo de aplicación (Jar) recibido por el medio de recepción,
el medio de comparación compara el valor de salida (valor de código de comprobación) del archivo de aplicación (Jar) contenido en el archivo descriptor de aplicación (ADF) y el valor de salida (valor de código de comprobación) del archivo de aplicación (Jar) calculado por el medio de cálculo, y
el medio de control lleva a cabo procedimientos según instrucciones descritas en el archivo de aplicación (Jar) recibido por el medio de recepción cuando el medio de comparación determina que los valores de salida (valores de código de comprobación) del archivo de aplicación (Jar) son idénticos entre sí.
3. El dispositivo de comunicación según la reivindicación 1, en el que:
el archivo descriptor de aplicación (ADF) contiene datos (URL) que indican una ubicación de almacenamiento (18) del archivo de descripción de seguridad (SDF), y
el medio de recepción recibe el archivo de descripción de seguridad (SDF) desde el segundo nodo (18) indicado por los datos que indican la ubicación de almacenamiento (18) del archivo de descripción de seguridad (SDF) contenido en el archivo descriptor de aplicación (ADF).
4. El dispositivo de comunicación según la reivindicación 1, en el que:
los datos para probar la autenticidad son datos de certificado obtenidos desde un tercer nodo (CA) que es diferente del primer y segundo nodos.
5. El dispositivo de comunicación según la reivindicación 1, que además comprende un medio de control (16B) para llevar a cabo procedimientos según instrucciones descritas en un archivo de aplicación (Jar), en el que:
el archivo de descripción de seguridad (SDF) contiene datos (datos de permiso) para indicar permisos para procedimientos que se han de llevar a cabo según instrucciones descritas en el archivo de aplicación (Jar) recibido por el medio de recepción, y
el medio de control lleva a cabo procedimientos según instrucciones los cuales se indica que son permitidos por los datos para indicar permisos (datos de permiso).
6. Un medio de grabación que puede ser leído por un ordenador que graba un programa para hacer que un ordenador ejecute:
recibir un archivo descriptor de aplicación (ADF) desde un primer nodo (12), conteniendo el archivo descriptor de aplicación (ADF) datos para probar la autenticidad (datos de certificado) y datos (URL) que indican una ubicación de almacenamiento (12) de un archivo de aplicación (Jar);
recibir un archivo de descripción de seguridad (SDF) desde un segundo nodo (18) que es diferente del primer nodo (12), conteniendo el archivo de descripción de seguridad (SDF) un valor de salida de una función unidireccional (valor de código de comprobación) que opera sobre datos para probar la autenticidad (datos de certificado);
calcular un valor de salida de la función unidireccional (valor de código de comprobación) que opera sobre los datos para probar la autenticidad (datos de certificado) contenidos en el archivo descriptor de aplicación (ADF);
comparar el valor de salida (valor de código de comprobación) de los datos para probar la autenticidad (datos de certificado) contenidos en el archivo de descripción de seguridad (SDF) y el valor de salida (valor de código de comprobación) de los datos para probar la autenticidad (datos de certificado) calculado por el medio de cálculo;
caracterizado por
recibir el archivo de aplicación (Jar) desde una ubicación de almacenamiento (12) indicada por los datos que indican la ubicación de almacenamiento (12) del archivo de aplicación (Jar) contenido en el archivo descriptor de aplicación (ADF) cuando un resultado de la comparación indica que los valores de salida (valores de código de comprobación) de los datos para probar la autenticidad (datos de certificado) son idénticos entre sí.
ES04007647T 2003-03-31 2004-03-30 Dispositivo y programa de comunicacion. Expired - Lifetime ES2268524T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003-96088 2003-03-31
JP2003096088A JP4176533B2 (ja) 2003-03-31 2003-03-31 端末装置及びプログラム

Publications (1)

Publication Number Publication Date
ES2268524T3 true ES2268524T3 (es) 2007-03-16

Family

ID=32844639

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04007647T Expired - Lifetime ES2268524T3 (es) 2003-03-31 2004-03-30 Dispositivo y programa de comunicacion.

Country Status (8)

Country Link
US (1) US7558963B2 (es)
EP (1) EP1465383B8 (es)
JP (1) JP4176533B2 (es)
CN (1) CN1272953C (es)
AT (1) ATE335344T1 (es)
DE (1) DE602004001704T2 (es)
ES (1) ES2268524T3 (es)
TW (1) TWI265708B (es)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003202929A (ja) * 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
EP1491996B1 (en) * 2002-04-03 2014-02-12 NTT DoCoMo, Inc. Distribution method, distribution system, and terminal device
EP1783580A4 (en) * 2004-08-12 2011-03-23 Fujitsu Ltd JAVA APPLET, JAR FILE GENERATION PROCESS, JAR FILE GENERATION PROGRAM, AND JAR FILE GENERATION DEVICE
US20060107327A1 (en) * 2004-11-16 2006-05-18 Sprigg Stephen A Methods and apparatus for enforcing application level restrictions on local and remote content
CN101019106B (zh) * 2005-02-14 2010-04-14 松下电器产业株式会社 应用程序执行装置、管理方法和程序
US8316446B1 (en) * 2005-04-22 2012-11-20 Blue Coat Systems, Inc. Methods and apparatus for blocking unwanted software downloads
US7389426B2 (en) * 2005-11-29 2008-06-17 Research In Motion Limited Mobile software terminal identifier
KR20090007954A (ko) * 2007-07-16 2009-01-21 삼성전자주식회사 Drm 컨텐츠 다운로드 방법 및 시스템
JP4998314B2 (ja) * 2008-02-19 2012-08-15 コニカミノルタホールディングス株式会社 通信制御方法および通信制御プログラム
US9356991B2 (en) * 2010-05-10 2016-05-31 Litera Technology Llc Systems and methods for a bidirectional multi-function communication module
JP2012018657A (ja) * 2010-06-11 2012-01-26 Nintendo Co Ltd 情報処理端末、情報処理システム、情報処理プログラム
JP5132730B2 (ja) * 2010-07-20 2013-01-30 株式会社エヌ・ティ・ティ・ドコモ 配信方法および配信システム
JP5977018B2 (ja) * 2011-11-14 2016-08-24 ノキア テクノロジーズ オサケユイチア 複数のコンフィギュレーションを有する装置内におけるコンフィギュレーションの使用法
JP5952175B2 (ja) * 2012-11-27 2016-07-13 日本電信電話株式会社 制御装置、制御システム、制御方法および制御プログラム
CN109040032B (zh) * 2013-11-15 2021-02-23 华为终端有限公司 一种网络访问控制方法及装置
KR20160006925A (ko) * 2014-07-10 2016-01-20 한국전자통신연구원 앱 무결성 검증 장치 및 그 방법
GB2558485A (en) * 2016-05-13 2018-07-11 Nchain Holdings Ltd A method and system for verifying integrity of a digital asset using a distributed hash table and a peer-to-peer distributed ledger
US9967096B2 (en) 2016-05-23 2018-05-08 Accenture Global Solutions Limited Rewritable blockchain
CN110023944B (zh) * 2017-01-03 2021-12-28 华为技术有限公司 通信方法及终端设备、核心网设备

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6345288B1 (en) 1989-08-31 2002-02-05 Onename Corporation Computer-based communication system and method using metadata defining a control-structure
JPH07230380A (ja) 1994-02-15 1995-08-29 Internatl Business Mach Corp <Ibm> 適用業務プログラムの利用管理方法およびシステム
US5708709A (en) * 1995-12-08 1998-01-13 Sun Microsystems, Inc. System and method for managing try-and-buy usage of application programs
US5825877A (en) 1996-06-11 1998-10-20 International Business Machines Corporation Support for portable trusted software
TW313642B (en) 1996-06-11 1997-08-21 Ibm A uniform mechanism for using signed content
US6167520A (en) 1996-11-08 2000-12-26 Finjan Software, Inc. System and method for protecting a client during runtime from hostile downloadables
US6317742B1 (en) 1997-01-09 2001-11-13 Sun Microsystems, Inc. Method and apparatus for controlling software access to system resources
JPH11205767A (ja) 1998-01-16 1999-07-30 Sony Corp 受信装置及びデータ書換え方法
WO2000042498A1 (en) 1999-01-13 2000-07-20 Hitachi, Ltd. Method and system for executing mobile code
FI990461A7 (fi) * 1999-03-03 2000-10-20 Nokia Corp Menetelmä ohjelmiston lataamiseksi palvelimelta päätelaitteeseen
US6976165B1 (en) 1999-09-07 2005-12-13 Emc Corporation System and method for secure storage, transfer and retrieval of content addressable information
JP2001117769A (ja) 1999-10-20 2001-04-27 Matsushita Electric Ind Co Ltd プログラム実行装置
IL139327A (en) 1999-11-22 2005-06-19 Sun Microsystems Inc Mechanism for determining restrictions to impose on an implementation of a service
JP3740931B2 (ja) 2000-03-01 2006-02-01 日本電信電話株式会社 アプリケーションプログラム管理方法及びシステム及びコンピュータ読み取り可能な記録媒体
EP1132796A1 (en) 2000-03-08 2001-09-12 Universite Catholique De Louvain Mobile code and method for resource management for mobile code
US6971016B1 (en) 2000-05-31 2005-11-29 International Business Machines Corporation Authenticated access to storage area network
US6766353B1 (en) 2000-07-11 2004-07-20 Motorola, Inc. Method for authenticating a JAVA archive (JAR) for portable devices
JP2002182983A (ja) * 2000-12-13 2002-06-28 Sharp Corp データベースへのアクセス制御方法、データベース装置、リソースへのアクセス制御方法、情報処理装置
JP2003050641A (ja) 2001-08-07 2003-02-21 Nec Corp プログラム管理システム、そのプログラム管理方法、及び情報管理プログラム
EP1289326A1 (en) * 2001-08-30 2003-03-05 Motorola, Inc. Method of verifying downloaded software and corresponding device
US7003672B2 (en) * 2001-09-25 2006-02-21 Hewlett-Packard Development Company, L.P. Authentication and verification for use of software
JP4145118B2 (ja) * 2001-11-26 2008-09-03 松下電器産業株式会社 アプリケーション認証システム
JP2003202929A (ja) 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
EP1491996B1 (en) 2002-04-03 2014-02-12 NTT DoCoMo, Inc. Distribution method, distribution system, and terminal device

Also Published As

Publication number Publication date
EP1465383B1 (en) 2006-08-02
JP4176533B2 (ja) 2008-11-05
ATE335344T1 (de) 2006-08-15
US20050005099A1 (en) 2005-01-06
CN1272953C (zh) 2006-08-30
DE602004001704D1 (de) 2006-09-14
EP1465383B8 (en) 2006-11-02
US7558963B2 (en) 2009-07-07
CN1535059A (zh) 2004-10-06
TWI265708B (en) 2006-11-01
EP1465383A1 (en) 2004-10-06
JP2004302973A (ja) 2004-10-28
DE602004001704T2 (de) 2007-10-04
TW200425695A (en) 2004-11-16

Similar Documents

Publication Publication Date Title
ES2268524T3 (es) Dispositivo y programa de comunicacion.
KR100582650B1 (ko) 컨텐츠 전송 방법 및 컨텐츠 전송 시스템
RU2595904C2 (ru) Способы и устройство для крупномасштабного распространения электронных клиентов доступа
KR101030819B1 (ko) 애플리케이션을 장치에 로딩하는 방법, 장치 및 스마트카드
US8452970B2 (en) System and method for code signing
KR100463736B1 (ko) 보안 환경에서의 이동 통신 장치 소프트웨어의 디버깅 및테스팅 허가 방법
US7933583B2 (en) Method and apparatus for digital image processing of an image from an image sensor
ES2362358T3 (es) Dispositivo de comunicación, procedimiento y programa para comprobar el permiso de ejecución de software.
EP2425370B1 (en) Method and apparatus to create a secure web browsing environment with privilege signing
US20040073801A1 (en) Methods and systems for flexible delegation
EP1626326A2 (en) Software code signing system and method
US20060137007A1 (en) Revoking a permission for a program
CN107332817B (zh) 支持多个访问控制客户端的移动装置和对应的方法
CN101064604B (zh) 远程访问方法、系统及设备
US20030059049A1 (en) Method and apparatus for secure mobile transaction
WO2008042524A2 (en) Method and system for displaying trust level on a wireless communication device
EP1561301B1 (en) Software integrity test in a mobile telephone
Jeziorski et al. Verification of Certificate Authorities (CAs) and integration with cloud providers for enhanced security
JP5132730B2 (ja) 配信方法および配信システム
Papamichail et al. TOWARDS FAULT TOLERANT VERIFICATION OF PROXY OBJECTS IN JINI
HK1068694B (en) Content delivery method and content delivery system