Sistema y método de firma mediante código por software.

Un método de control de acceso por código a una o más interfaces de programación de aplicaciones

(API) de un dispositivo (62), comprendiendo el método:

determinar si el código incluye una firma digital (96) auténtica del código correspondiente a una o más API del dispositivo; y

controlar el acceso por código a una o más API dependiendo de si el código incluye la firma digital auténtica o no.

Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E10186296.

Solicitante: BlackBerry Limited.

Nacionalidad solicitante: Canadá.

Dirección: 2200 University Avenue East Waterloo, ON N2K 0A7 CANADA.

Inventor/es: BROWN, MICHAEL S., YACH, DAVID, P., LITTLE, HERBERT, A..

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE INFORMACION DIGITAL, p. ej. COMUNICACION... > Disposiciones, aparatos, circuitos o sistemas no... > H04L29/06 (caracterizadas por un protocolo)
  • SECCION G — FISICA > COMPUTO; CALCULO; CONTEO > TRATAMIENTO DE DATOS DIGITALES ELECTRICOS (computadores... > G06F1/00 (Detalles no cubiertos en los grupos G06F 3/00 - G06F 13/00 y G06F 21/00 (arquitecturas de computadores universales con programas grabados G06F 15/76))
  • SECCION G — FISICA > COMPUTO; CALCULO; CONTEO > TRATAMIENTO DE DATOS DIGITALES ELECTRICOS (computadores... > G06F21/00 (Disposiciones de seguridad para la protección de computadores sus componentes, programas o datos contra actividades no autorizadas)

PDF original: ES-2465967_T3.pdf

 

google+ twitter facebook

Fragmento de la descripción:

Sistema y método de firma mediante código por software ANTECEDENTES

1. Campo de la Invención Esta invención está relacionada en general con el campo de los protocolos de seguridad para aplicaciones de software. Más en particular, la invención proporciona un sistema y método de firma mediante código que está adaptado perfectamente en particular para las aplicaciones Java® para los dispositivos móviles de comunicaciones, tal como los Asistentes Digitales Personales (PDA) , teléfonos celulares, y dispositivos de comunicaciones radioeléctricas bilaterales (denominados colectivamente de ahora en adelante como “dispositivos móviles” o sencillamente “dispositivos”) .

2. Descripción de la técnica relacionada Son conocidos los protocolos de seguridad que incluyen esquemas de firma mediante códigos por software. Típicamente, dichos protocolos de seguridad se utilizan para asegurar la fiabilidad de las aplicaciones de software que se descargan desde Internet. En un esquema típico de firma mediante código por software, se encuentra asociada una firma digital a la aplicación de software que identifica al desarrollador del software. Una vez que el software se descarga por el usuario, el usuario tiene que utilizar típicamente su propia evaluación para determinar si la aplicación del software es fiable o no, basándose solamente en su conocimiento de la reputación del desarrollador del software. Este tipo de esquema de firma mediante código no asegura que la aplicación de software escrita por una tercera parte para un dispositivo móvil pueda interactuar debidamente con las aplicaciones nativas del dispositivo y con otros recursos. Debido a que los protocolos de las firmas por código típicas no son seguros y que se basan solo en el juicio del usuario, existe un riesgo serio de que aplicaciones de software del tipo de “caballo de Troya” puedan ser descargadas e instaladas en un dispositivo móvil.

La exposición “Handbuch der Chipkarten” (Manual de las tarjetas de chip) de W. Rankl / W. Effing. Edición 3ª, de 1999, describe el control de acceso mediante métodos a múltiples miniaplicaciones o subprogramas de carga segura en un Sistema de entorno Java Card.

Permanece también la necesidad de operadores de redes que tengan un sistema y método para mantener el control sobre las aplicaciones de software que se activan en los dispositivos móviles.

Permanece la necesidad adicional en las redes de 2, 5G y 3G en las que los clientes de corporaciones o bien los operadores de redes les gustaría controlar los tipos de software en los dispositivos suministrados a sus empleados.

SUMARIO Se proporciona un sistema y código de firma mediante código. El sistema de firma mediante código opera con conjunción con una aplicación de software que tiene una firma digital y que incluye una plataforma de la aplicación, una interfaz de programación de la aplicación (API) , y una máquina virtual. La interfaz API está configurada para enlazar la aplicación de software con la plataforma de la aplicación. La máquina virtual verifica la autenticidad de la firma digital con el fin de controlar el acceso a la API mediante la aplicación del software.

Un sistema de firma por código para la operación en conjunción con una aplicación de software que tiene una firma digital, de acuerdo con otra realización de la invención, que comprende una plataforma de aplicación, una pluralidad de API, configurada cada una para enlazar la aplicación del software con un recurso en la plataforma de la aplicación, y una máquina virtual que verifica la autenticidad de la firma digital, con el fin de controlar el acceso a la API por la aplicación del software, en el que la maquina virtual verifica la autenticidad de la firma digital con el fin de controlar el acceso a la pluralidad de API por la aplicación del software.

De acuerdo con una realización adicional de la invención, un método de controlar el acceso a las interfaces de programación de aplicaciones sensibles en un dispositivo móvil que comprende las etapas de cargar una aplicación de software en el dispositivo móvil que requiere el acceso a una API sensible, determinando si la aplicación de software incluye o no una firma digital asociada con la API sensible, y si la aplicación de software no incluye una firma digital asociada con la API sensible, denegando entonces el acceso de la aplicación de software a la API sensible.

En otra realización de la invención, un método para controlar el acceso a una interfaz de programación de la aplicación (API) en un dispositivo móvil mediante una aplicación de software creada por un desarrollador de software que comprende las etapas de recibir la aplicación de software desde el desarrollador de software, revisando la aplicación de software para determinar si puede acceder a la API, si la aplicación de software puede acceder a la API, y asociando entonces una firma digital a la aplicación de software, verificando la autenticidad de una firma digital asociada con una aplicación del software, y proporcionando el acceso a la API en las aplicaciones de software para las cuales es auténtica la firma digital asociada.

Un método para restringir el acceso a una interfaz API en un dispositivo móvil, de acuerdo con una realización adicional de la invención, que comprende las etapas de registrar uno o más desarrolladores de software de confianza probada para diseñar aplicaciones de software que tengan acceso a la API sensible, recibiendo un algoritmo de Hash de una aplicación de software, determinando si la aplicación del software fue diseñada por uno de los desarrolladores de software registrados, y si la aplicación de software fue diseñada por uno de los desarrolladores de software registrados, generándose entonces una firma digital utilizando el algoritmo de Hash de la aplicación de software, en el que la firma digital puede asociarse a la aplicación del software, y en el que el dispositivo móvil verifica la autenticidad de la firma digital con el fin de controlar el acceso a la interfaz API sensible por la aplicación de software.

En una realización adicional más, un método para restringir el acceso a las interfaces de programación de aplicaciones en un dispositivo móvil que comprende las etapas de cargar una aplicación de software en el dispositivo móvil que requiere el acceso a una o más interfaces API, determinando si el software de aplicación incluye o no una firma digital asociada con el dispositivo móvil, y si la aplicación de software no incluye una firma digital asociada con el dispositivo móvil, denegando entonces el acceso a la aplicación de software de una ó más API.

BREVE DESCRIPCIÓN DE LOS DIBUJOS

La figura 1 es un diagrama que muestra un protocolo de firma de código de acuerdo con una realización de la invención;

la figura 2 es un diagrama de flujo del protocolo de firma de código descrito anteriormente con referencia a la figura 1;

la figura 3 es un diagrama de bloques de un sistema de firma por código en un dispositivo móvil;

la figura 3A es un diagrama de bloques de un sistema de firma por código en una pluralidad de dispositivos móviles;

la figura 4 es un diagrama de flujo que muestra la operación del sistema de firma por código descrito anteriormente con referencia a la figura 3 y a la figura 3A;

la figura 5 es un diagrama de flujo que muestra la gestión de las autoridades de firma por código descrita con referencia a la figura 3A; y

la figura 6 es un diagrama de bloques de un dispositivo de comunicaciones móviles en el cual puede ser

implementado un sistema y método de firma por código.

DESCRIPCIÓN DETALLADA Con referencia ahora a las figuras de los... [Seguir leyendo]

 


Reivindicaciones:

1. Un método de control de acceso por código a una o más interfaces de programación de aplicaciones (API) de un dispositivo (62) , comprendiendo el método:

determinar si el código incluye una firma digital (96) auténtica del código correspondiente a una o más API del dispositivo; y controlar el acceso por código a una o más API dependiendo de si el código incluye la firma digital auténtica o no.

2. El método de la reivindicación 1, que comprende además:

purgar el código del dispositivo (62) si el código no incluye la firma digital (96) auténtica.

3. El método de cualquier reivindicación precedente, en el que controlar el acceso por código comprende:

denegar el acceso por código a una o más API si el código no incluye la firma digital (96) auténtica.

4. El método de cualquier reivindicación precedente, en el que controlar el acceso o código comprende:

conceder el acceso por código a una o más API si el código incluye la firma digital (96) auténtica.

5. El método de cualquier reivindicación precedente, en el que la firma digital auténtica corresponde a una pluralidad de API.

6. El método de cualquier reivindicación precedente, en el que el código incluye una pluralidad de firmas digitales (96) ; y en el que la pluralidad de firmas digitales (96) incluye firmas digitales que corresponden a diferentes API.

7. El método de cualquier reivindicación precedente, en el que el código incluye una pluralidad de firmas digitales (96) ; y en el que la pluralidad de firmas digitales (96) incluye firmas digitales asociadas con diferentes tipos de dispositivos.

8. El método de la reivindicación 6 ó de la reivindicación 7, en el que cada una de la pluralidad de firmas digital (96) fue generada por una autoridad de firma por código respectiva correspondiente.

9. El método de la reivindicación 8, en el que cada una de la pluralidad de firmas digitales (96) fue generada por su correspondiente autoridad de firma por código aplicando una clave privada respectiva asociada con la autoridad de firma por código a un Hash del código.

10. El método de cualquier reivindicación precedente, en el que la firma digital auténtica es generada por una autoridad de firma por código.

11. El método de la reivindicación 10, en el que la autoridad de firma por código incluye uno o más fabricantes cualquiera del dispositivo, un autor de una o más API, un representante del fabricante del dispositivo, o un representante del autor de esa u otras API.

12. El método de cualquier reivindicación precedente, en el que determinar si el código incluye o no la firma digital auténtica (96) comprende:

generar un Hash del código para obtener un Hash generado; aplicar una clave pública a una firma digital (96) incluida en el código para obtener un Hash recuperado, en el que la clave pública corresponde a una clave privada utilizada para generar la firma digital (96) ; y comparar el Hash generado con el Hash recuperado.

13. El método de cualquier reivindicación precedente, en el que determinar si el código incluye o no la firma digital auténtica (96) comprende:

determinar si el código incluye o no una firma global auténtica.

14. El método de cualquier reivindicación precedente, en el que el código comprende cualquiera de los siguientes: una aplicación de software, una actualización para una aplicación de software, un comando, un argumento de comando, y una librería.

15. El método de cualquier reivindicación precedente, que comprende además:

visualizar un mensaje si el código intenta acceder a una o más API.

16. El método de cualquier reivindicación precedente, que además comprende: 5 recibir un comando de usuario que concede o deniega el acceso por código a una o más API.

17. El método de cualquier reivindicación precedente, en el que la API o Más API están asociadas con una o más librerías, la librería o más librerías incluyendo una clave de firma pública utilizada para determinar si el código incluye o no la firma digital auténtica.

18. Un dispositivo para llevar a cabo el método de una cualquiera de las reivindicaciones 1 a 17.

19. Un dispositivo de acuerdo con la reivindicación 18, en el que el dispositivo es un dispositivo móvil. 15 20. El código para realizar el método de una cualquiera de las reivindicaciones 1 a 17.