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

Un método de control de acceso a una pluralidad de interfaces de programación de aplicaciones

(API) sensibles o librerías que incluyen una API sensible en un dispositivo mediante una aplicación firmada con al menos una única firma digital generada utilizando una clave privada respectiva, estando cada firma digital asociada con al menos una de la pluralidad de aplicaciones API sensibles o librerías que incluyen una API sensible, que comprende:

verificar la autenticidad de cada firma digital utilizando una clave pública correspondiente para la API sensible asociada o librería que incluye una API sensible,

en donde si una o más firmas digitales no son verificadas, la aplicación es o bien purgada, o no ejecutada o restringida de acceder a las API sensibles o a las librerías que incluyen una API sensible.

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

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 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))

PDF original: ES-2545791_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 dispositivo y un método para controlar el acceso a una pluralidad de interfaces de programación de aplicaciones (API) sensibles o librerías que incluyen una API sensible en un dispositivo mediante una aplicación firmada con al menos una única firma digital generada utilizando una clave privada respectiva. En una realización, el dispositivo opera o funciona en 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 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.

En un aspecto adicional, se proporciona un código para realizar el método.

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 firmas 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 dibujos, la figura 1 es un diagrama que muestra un protocolo de firma por código de acuerdo con una realización de la invención. El desarrollador de aplicaciones 12 crea una aplicación de software 14 (aplicación Y) para un dispositivo móvil que requiere el acceso una o más interfaces API sensibles en el dispositivo móvil. La aplicación de software Y 14 puede ser, por ejemplo, una aplicación Java, que opera en una máquina virtual Java instalada en el dispositivo móvil. Una API habilita la aplicación de software Y para hacer de interfaz con una plataforma de la aplicación que puede incluir, por ejemplo, recursos tales como el hardware del dispositivo, sistema operativo y software central y modelos de datos. Con el fin de llamadas de función o bien para interactuar con dichos recursos del dispositivo, la aplicación de software Y tiene que tener acceso a una o más API. Las API pueden por tanto "puentear" una aplicación de software y los recursos asociados del dispositivo. En esta descripción y en las reivindicaciones adjuntas, las referencias al acceso de las API deberán ser interpretadas en el sentido de incluir el acceso de una API de forma que permite que la aplicación de software Y interactúe con uno o más recursos del dispositivo correspondientes, Proporcionando el acceso a cualquier API se permite por tanto que una aplicación de software Y pueda interactuar con los recursos asociados del... [Seguir leyendo]

 


Reivindicaciones:

1. Un método de control de acceso a una pluralidad de interfaces de programación de aplicaciones (API) sensibles o librerías que incluyen una API sensible en un dispositivo mediante una aplicación firmada con al menos una única firma digital generada utilizando una clave privada respectiva, estando cada firma digital asociada con al menos una de la pluralidad de aplicaciones API sensibles o librerías que incluyen una API sensible, que comprende:

verificar la autenticidad de cada firma digital utilizando una clave pública correspondiente para la API sensible asociada o librería que incluye una API sensible, en donde si una o más firmas digitales no son verificadas, la aplicación es o bien purgada, o no ejecutada o restringida de acceder a las API sensibles o a las librerías que incluyen una API sensible.

2. El método de la reivindicación 1, en el que si la autenticidad de cada firma digital se verifica, se permite a la aplicación acceder a las API sensibles o a las librerías que incluyen una API sensible para la cual la firma digital asociada ha sido verificada.

3. El método de una cualquiera de las reivindicaciones anteriores, que comprende además:

facilitar una opción de usuario para controlar la concesión o denegación del acceso mediante la aplicación a una o más API sensibles o librerías que incluyen una API sensible.

4. El método de una cualquiera de las reivindicaciones anteriores, que comprende además:

recibir un comando de usuario que concede o deniega el acceso de la aplicación a por lo menos una API sensible o librería que incluye una API sensible.

5. El método de una cualquiera de las reivindicaciones anteriores, en el que verificar la autenticidad de una firma digital comprende:

generar una versión transformada de la aplicación; aplicar una clave pública a una firma digital para obtener una versión recuperada de la aplicación, en donde la clave pública corresponde a una clave privada utilizada para generar la firma digital; y, comparar la versión transformada generada con la versión recuperada.

6. El método de una cualquiera de las reivindicaciones anteriores, en el que verificar la autenticidad de la firma digital comprende:

generar un Hash de la aplicación para obtener un Hash generado; aplicar una clave pública a una firma digital para obtener un Hash recuperado de la aplicación, en donde la clave pública corresponde a una clave privada utilizada para generar la firma digital; y comparar el Hash generado con el Hash recuperado.

7. El método de una cualquiera de las reivindicaciones anteriores, en el que al menos una firma digital comprende una firma global, una firma de dispositivo específico, una firma de librería específica, una firma de API específica o una combinación de las mismas.

8. El método de una cualquiera de las reivindicaciones anteriores, en el que la aplicación comprende una aplicación actualizada.

9. El método de una cualquiera de las reivindicaciones anteriores, en el que la pluralidad de API sensibles o librerías que incluyen una API sensible, comprende al menos una de las siguientes: una API de base de datos, una API de interfaz de usuario, una API criptográfica, una API de radio, una API que hace interfaz con un programa de calendario y modelos de datos de entrada de calendario, una API que hace interfaz con los circuitos de transmisión y funciones del dispositivo móvil, una API capaz de hacer interfaz con los servicios de más bajo nivel realizados por el sistema operativo del dispositivo móvil, o una combinación de los mismos.

10. El método de una cualquiera de las reivindicaciones anteriores, en el que la clave pública está instalada en el dispositivo, y la clave pública está incluida en la librería que incluye la API sensible.

11. El método de una cualquiera de las reivindicaciones anteriores, en el que la clave pública es recuperada a partir de un repositorio de claves públicas.

12. El método de una cualquiera de las reivindicaciones anteriores, que comprende además permitir a la aplicación acceder al menos a una API no clasificada como sensible.

13. El método de una cualquiera de las reivindicaciones anteriores, en el cual el dispositivo incluye una primera API sensible o librería asociada con una clave pública y una segunda API sensible o librería asociada con una clave pública diferente.

14. El método de una cualquiera de las reivindicaciones anteriores, en el que la aplicación incluye múltiples firmas.

15. El método de una cualquiera de las reivindicaciones anteriores, en el cual las firmas digitales son generadas por una o más autoridades de firmas por código.

16. El método de la reivindicación 15, en el que la autoridad o más autoridades de firmas por código incluyen uno o más de entre un fabricante del dispositivo, un autor de la API sensible, un representante del autor de la API sensible,

o un representante del fabricante del dispositivo.

17. El método de una cualquiera de las reivindicaciones anteriores, que comprende además: visualizar un mensaje constatando que la aplicación está intentando acceder a uno o más recursos del dispositivo.

18. El método de una cualquiera de las reivindicaciones anteriores, en el que el dispositivo comprende un dispositivo móvil.

19. El método de una cualquiera de las reivindicaciones anteriores, en donde la aplicación comprende un virus o un código malicioso.

20. Un dispositivo para realizar el método de una cualquiera de las reivindicaciones 1 a 19.

21. El código para realizar el método de una cualquiera de las reivindicaciones 1 a 19.