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:
- G06F1/00 FISICA. › G06 CALCULO; CONTEO. › G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › Detalles no cubiertos en los grupos G06F 3/00 - G06F 13/00 y G06F 21/00 (arquitecturas de computadores con programas almacenados de propósito general G06F 15/76).
PDF original: ES-2545791_T3.pdf
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 dispositivo, por lo que denegando el acceso a una API se impide que la aplicación se software Y pueda interactuar con los recursos asociados. Por ejemplo, una API de base datos puede comunicarse con un fichero del dispositivo o un sistema de almacenamiento de datos, y tener acceso a la API de la base de datos que proporcionaría la interacción entre una aplicación de software Y y el fichero o el sistema de almacenamiento de datos. La API de la interfaz de usuario (UI) se comunicaría con los controladores y/o el software de control de los componentes del dispositivo tal como una pantalla, teclado y cualesquiera otros componentes que proporcionen la salida hacia el usuario o acepten la entrada del usuario. En un dispositivo móvil, una API de radio puede proporcionarse tan bien como una interfaz para los recursos de comunicaciones radioeléctricas tales como un transmisor y un receptor. De forma similar, una interfaz API criptográfica puede proporcionarse para interactuar con un... [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.
Patentes similares o relacionadas:
MÉTODO PARA LA ELIMINACIÓN DEL SESGO EN SISTEMAS DE RECONOCIMIENTO BIOMÉTRICO, del 24 de Junio de 2020, de UNIVERSIDAD AUTONOMA DE MADRID: Método para eliminación del sesgo (por edad, etnia o género) en sistemas de reconocimiento biométrico, que comprende definir un conjunto de M muestras de Y personas diferentes […]
Sistema y método para una salida digital pervasiva de dispositivo a dispositivo, del 23 de Octubre de 2019, de Flexiworld Technologies, Inc: Un método de salida de datos para transmitir de forma inalámbrica, en uno o más dispositivos de salida, contenidos digitales a los que se accede mediante un […]
Método y programa de autenticación de usuario, y aparato de formación de imágenes, del 15 de Mayo de 2019, de RICOH COMPANY, LTD.: Un método de autenticación de usuario para un aparato de formación de imágenes que se puede conectar a través de una red a un aparato de […]
Derechos divididos en dominio autorizado, del 27 de Febrero de 2019, de KONINKLIJKE PHILIPS N.V: Un método para controlar el acceso a un elemento de contenido en un sistema que comprende un conjunto de dispositivos, constituyendo el conjunto […]
Método y programa de autenticación de usuario, y aparato de formación de imágenes, del 20 de Febrero de 2019, de RICOH COMPANY, LTD.: Un método de autenticación de usuario para un aparato de formación de imágenes que se puede conectar a través de una red a un aparato […]
Método y sistema para realizar una transacción y para realizar una verificación de acceso legítimo o uso de datos digitales, del 7 de Febrero de 2019, de Ward Participations B.V: Método para realizar una transacción electrónica entre una primera parte de transacción y una segunda parte de transacción usando un dispositivo electrónico operado […]
Método y sistema para realizar una transacción y para realizar una verificación de acceso legítimo o uso de datos digitales, del 16 de Enero de 2019, de Ward Participations B.V: Método para realizar una transacción electrónica entre una primera parte de transacción y una segunda parte de transacción usando un dispositivo […]
Aparato de formación de imágenes, método de borrado y método de gestión de disco duro, del 25 de Octubre de 2018, de RICOH COMPANY, LTD.: Un aparato de formación de imágenes que incluye unos recursos de soporte físico que se van a usar para un proceso de formación de imágenes, al menos un programa para llevar […]