ES2926968T3 - Una primera entidad, una segunda entidad, un nodo intermedio, métodos para establecer una sesión segura entre una primera y una segunda entidad, y productos de programa informático - Google Patents

Una primera entidad, una segunda entidad, un nodo intermedio, métodos para establecer una sesión segura entre una primera y una segunda entidad, y productos de programa informático Download PDF

Info

Publication number
ES2926968T3
ES2926968T3 ES16733737T ES16733737T ES2926968T3 ES 2926968 T3 ES2926968 T3 ES 2926968T3 ES 16733737 T ES16733737 T ES 16733737T ES 16733737 T ES16733737 T ES 16733737T ES 2926968 T3 ES2926968 T3 ES 2926968T3
Authority
ES
Spain
Prior art keywords
entity
string
random number
application
user
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.)
Active
Application number
ES16733737T
Other languages
English (en)
Inventor
Boris Petrov Dokov Goranov
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.)
UBIQU BV
Original Assignee
UBIQU BV
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 UBIQU BV filed Critical UBIQU BV
Application granted granted Critical
Publication of ES2926968T3 publication Critical patent/ES2926968T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

La invención se refiere a un método para establecer una sesión segura entre una primera entidad y una segunda entidad. En una realización, la primera entidad es un dispositivo de autenticación de usuarios y la segunda entidad es una aplicación que se ejecuta en una plataforma. El método comprende generar un primer número aleatorio. Un usuario ingresa una primera cadena, derivada de dicho primer número, en la segunda entidad. Además, el método incluye aplicar una función unidireccional a la primera cadena oa una derivada de la misma, obteniendo una cadena codificada. El método también comprende transmitir la cadena codificada a un nodo intermedio que está en conexión con la primera entidad y la segunda entidad. Además, el método comprende el paso de compartir un segundo número aleatorio con la segunda entidad. El método también comprende un paso de derivar una clave secreta de la primera y la segunda cadena. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Una primera entidad, una segunda entidad, un nodo intermedio, métodos para establecer una sesión segura entre una primera y una segunda entidad, y productos de programa informático.
La presente invención se refiere a un método para establecer una sesión segura entre una primera y una segunda entidad.
A los efectos del intercambio seguro de información en Internet, por ejemplo, para permitir el acceso fiable a los datos, el almacenamiento, procesamiento y distribución seguros de la información, es indispensable una sesión segura entre entidades en Internet. Por ejemplo, se debe establecer una sesión segura, y opcionalmente mantenerla, entre un servidor en el que se ejecuta una aplicación y el lugar de trabajo del usuario, tal como una PC o una tableta.
Es un objeto de la invención proporcionar un método para establecer una sesión segura entre una primera y una segunda entidad, de manera segura y rápida. Para ello, de acuerdo con la invención, se proporciona un método para establecer una sesión segura entre una primera entidad y una segunda entidad, la primera y la segunda entidad son un dispositivo de autenticación de usuario y una aplicación que se ejecuta en una plataforma, respectivamente, o viceversa. de acuerdo con la reivindicación 1, el método que se realiza por una primera entidad, una segunda entidad y un nodo intermedio. El método comprende las etapas de generar un primer número aleatorio, exportar una primera cadena derivada de dicho primer número aleatorio a un usuario para ingresar la primera cadena en una segunda entidad, aplicar una función unidireccional o una función similar a la primera cadena o a una derivada de la misma, obtener una cadena codificada, transmitir la cadena codificada a un nodo intermedio que está en conexión con la primera entidad y una segunda entidad, el método que comprende además las etapas de generar un segundo número aleatorio, derivar una segunda cadena de dicho segundo número aleatorio y transmitir la segunda cadena a la segunda entidad si una etapa de verificación de comparar de las cadenas codificadas transmitidas por la primera entidad y la segunda entidad tiene un resultado positivo, o recibir de la segunda entidad una segunda cadena derivada de un segundo número aleatorio generado por la segunda entidad, el método que comprende además, opcionalmente, la etapa de derivar una clave secreta de la primera y la segunda cadena.
Al reenviar cadenas codificadas a un nodo intermedio, se puede verificar que la primera y la segunda entidad comparten información única en forma de la primera cadena, incluso si el nodo intermedio no conoce dicha información única. Entonces, se puede establecer un canal de transmisión de datos seguro desde la primera entidad a través del nodo intermedio hasta la segunda entidad, y viceversa. Al compartir además una segunda cadena única, la primera y la segunda entidad pueden obtener una clave única que solo es conocida por dicha primera y segunda entidad, lo que permite de esta manera un intercambio de información seguro a través de dicho canal de transmisión establecido.
Además, la invención se refiere a una aplicación de la plataforma que es una primera entidad, un dispositivo de autenticación que es una segunda entidad y un nodo intermedio que está en conexión con la primera y la segunda entidad.
Además, la invención se refiere a productos de programa informático. Un producto de programa informático puede comprender un conjunto de instrucciones ejecutables por un ordenador almacenadas en un portador de datos, tal como un CD o un DVD. El conjunto de instrucciones ejecutables por un ordenador el cual permite a un ordenador programable llevar a cabo los métodos definidos anteriormente, puede también estar disponible para descargar desde un servidor remoto, por ejemplo vía Internet o a través de una aplicación.
Otras modalidades ventajosas de acuerdo con la invención se describen en las siguientes reivindicaciones.
La publicación de patente US 2011/0296186 A1 muestra un sistema y método para proporcionar acceso autenticado a un terminal de inicio en relación con los servicios proporcionados por un terminal de destino a través de una red de comunicaciones. En un aspecto, un servidor global comprende un módulo de comunicaciones, que recibe y procesa un mensaje de iniciación de intercambio de claves desde el terminal de inicio para establecer un canal de comunicaciones cifrado con el terminal de destino. El módulo de comunicaciones, en respuesta a un mensaje de iniciación de intercambio de claves recibido, realiza un proceso de establecimiento de comunicación cifrada con respecto al mensaje de iniciación de intercambio de claves recibido. El proceso de establecimiento de comunicación cifrada comprende la autenticación del terminal de inicio y, en caso de que el terminal de inicio se autentique con éxito, la transmisión de datos de clave correspondientes al mensaje de iniciación de intercambio de claves recibido al terminal de destino. Los datos de clave se identifican sobre la base de los datos asociados con el terminal de inicio.
A manera de ejemplo solamente, las modalidades de la presente invención se describirán ahora con referencia a las figuras acompañantes en las cuales:
La Figura 1 muestra una red que comprende una primera entidad de acuerdo con la invención, una segunda entidad de acuerdo con la invención y un nodo intermedio de acuerdo con la invención;
La Figura 2 muestra un primer diagrama de proceso de acuerdo con la invención;
La Figura 3 muestra un segundo diagrama de proceso de acuerdo con la invención;
La Figura 4 muestra un tercer diagrama de proceso de acuerdo con la invención;
La Figura 5 muestra un cuarto diagrama de proceso de acuerdo con la invención;
La Figura 6 muestra un diagrama de flujo de un método de acuerdo con la invención que se está realizando en la primera entidad mostrada en la Figura 1;
La Figura 7 muestra un diagrama de flujo de un método de acuerdo con la invención que se está realizando en la segunda entidad mostrada en la Figura 1;
La Figura 8 muestra un diagrama de flujo de un método de acuerdo con la invención que se está realizando en el nodo intermedio mostrado en la Figura 1;
La Figura 9 muestra una configuración tradicional;
La Figura 10 muestra una primera configuración de acuerdo con una modalidad de la invención, y
La Figura 11 muestra una segunda configuración de acuerdo con una modalidad de la invención.
Se observa que las figuras muestran simplemente una modalidad preferida de acuerdo con la invención. En las figuras, los mismos números de referencia se refieren a partes iguales o correspondientes.
La Figura 1 muestra una red 1 que comprende una primera entidad 10 de acuerdo con la invención, una segunda entidad 20 de acuerdo con la invención y un nodo intermedio 40 de acuerdo con la invención. En la modalidad mostrada, la primera entidad 10 es una aplicación del lugar de trabajo del usuario, tal como una PC, una tableta, una caja registradora u otra aplicación que se ejecuta en un dispositivo de hardware operado por un usuario. Además, en la modalidad mostrada, la segunda entidad 20 es un dispositivo de autenticación de usuario, tal como un teléfono celular, un PDA, una tarjeta inteligente, una ficha, una clave electrónica u otro dispositivo personal que sirva para fines de autenticación. La red 1 comprende además un servidor de autenticación 30 asociado con la segunda entidad 20. Además, la red 1 comprende una primera ruta de transmisión de datos 5 que conecta la aplicación del lugar de trabajo del usuario 10 con el nodo intermedio 40, una segunda ruta de transmisión de datos 6 que conecta la segunda entidad 20 con el servidor de autenticación 30 y una tercera ruta de transmisión de datos 7 que conecta el nodo intermedio 40 al servidor de autenticación 30.
La primera entidad 10 está provista de una serie de módulos para establecer una sesión segura con una segunda entidad 20 como se describe a continuación. Para ello, la primera entidad 10 incluye un primer generador aleatorio 11 para generar un primer número aleatorio, una interfaz de E/S 12 para exportar una primera cadena derivada de dicho primer número aleatorio a un usuario para ingresar la primera cadena en una segunda entidad 20, un procesador 13 para aplicar una función unidireccional a la primera cadena o a una derivada de la misma, obteniendo una cadena codificada, y una unidad de transmisión 14 para transmitir la cadena codificada al nodo intermedio 40 que está en conexión con la primera entidad 10 y la segunda entidad 20. Además, la primera entidad 10 incluye una unidad receptora 15 para recibir de la segunda entidad 20 una segunda cadena derivada de un segundo número aleatorio generado por la segunda entidad 20. El procesador 13 se dispone además para derivar una clave secreta de la primera y la segunda cadena. Opcionalmente, la primera entidad 10 está provista de un segundo generador aleatorio 16 para generar un segundo número aleatorio como se describe a continuación.
Además, la segunda entidad 20 está provista de una serie de módulos para facilitar un procedimiento de establecimiento de una sesión segura con la primera entidad 10. Para ello, la segunda entidad 20 incluye una interfaz de E/S 21 para recibir una primera cadena derivada de un primer número aleatorio generado por una primera entidad 10, un procesador 22 para aplicar una función unidireccional a la primera cadena o a una derivada de la misma, obteniendo una cadena codificada, una unidad de transmisión 23 para transmitir la cadena codificada a un nodo intermedio que está en conexión con una primera y una segunda entidad. Además, la segunda entidad 20 incluye un segundo generador aleatorio 24 para generar un segundo número aleatorio. El procesador 22 se dispone para derivar una segunda cadena de dicho segundo número aleatorio y para transmitir la segunda cadena a la primera entidad 10 si una etapa de verificación de comparar de las cadenas codificadas transmitidas por la primera entidad 10 y la segunda entidad 20 tiene un resultado positivo. El procesador 22 se dispone además para derivar una clave secreta de la primera y la segunda cadena. Además, la segunda entidad 20 está provista de una unidad receptora 25.
El nodo intermedio 40 que está en conexión con una primera y una segunda entidad para establecer una conexión segura entre la primera y la segunda entidad 10, 20 comprende una unidad receptora 41 para recibir una cadena codificada de la primera y la segunda entidad 10, 20 y un procesador 42 para verificar si las cadenas codificadas recibidas de la primera y la segunda entidad 10, 20 coinciden entre sí. Si las cadenas codificadas se corresponden entre sí, se puede configurar una sesión segura. El procesador 42 se dispone además para autorizar a la primera y la segunda entidad 10, 20 a compartir una segunda cadena derivada del segundo número aleatorio generado por la segunda entidad 20, si la etapa de verificación tiene un resultado positivo.
La primera entidad 10, la segunda entidad 20 y el nodo intermedio 40 están provistos cada uno de una unidad de procesamiento 19, 29, 49 para controlar la operación de la respectiva entidad o nodo en la red 1.
Se observa que en otra modalidad de la invención, la primera entidad 10 es el dispositivo de autenticación del usuario mientras que la segunda entidad 20 es la aplicación de la plataforma. Entonces, la primera entidad 10 no solo genera el primer número aleatorio, sino también el segundo número aleatorio. El segundo número aleatorio se envía como una segunda cadena a la segunda entidad 20, ya sea al ingresar manualmente la segunda cadena en la interfaz de E/S 21 de la segunda entidad 20 o mediante la transmisión de una ruta digital, preferentemente en formato cifrado. También en esta modalidad, la sesión segura se establece entre un dispositivo de autenticación de usuario y una aplicación de la plataforma a través de una primera ruta de transmisión de datos 5, una segunda ruta de transmisión de datos 6 y una tercera ruta de transmisión de datos 7. La aplicación de la plataforma de la sesión segura se puede elegir, por ejemplo, para que sea una aplicación del lugar de trabajo del usuario, una aplicación en la nube, una aplicación de proveedor de autenticación o una aplicación de sistema de transacciones.
La primera cadena derivada del primer número aleatorio, generada por la primera entidad 10, puede implementarse como un mensaje aleatorio producido a partir de dicho primer número aleatorio. La primera cadena también se puede producir como otra representación del primer número aleatorio. Alternativamente, la primera cadena y el primer número aleatorio son idénticos.
Además, la derivada de la primera cadena se puede generar al aplicar una función hash o una función similar a la cadena. De cualquier otra manera, la derivada de la primera cadena es idéntica a la propia cadena. Se aplica una función unidireccional a la derivada de la primera cadena para obtener una cadena cifrada.
La segunda cadena se puede transmitir de forma cifrada. Alternativamente, la segunda cadena se exporta aun usuario, por ejemplo, a través de una pantalla para ingresar la cadena en la primera o segunda entidad 10, 20.
En la modalidad descrita anteriormente, el nodo intermedio 40 puede ser un servidor en el que se ejecuta una aplicación específica, por ejemplo, una aplicación de gestión de documentos para gestionar el almacenamiento, procesamiento y/o distribución de documentos en la nube. Alternativamente, el nodo intermedio 40 es el proveedor de autenticación que está conectado de manera segura al dispositivo de autenticación.
Cuando se ha establecido la sesión segura entre la primera y la segunda entidad 10, 20, puede usarse un canal de transmisión seguro para la transferencia de datos unidireccional o bidireccional, tal como la transferencia de un mensaje, una clave de descifrado y/o cifrado, o un cuadro de diálogo de autorización. Las claves de descifrado y/o cifrado pueden usarse para autorizar un documento en una aplicación en la nube.
Si la aplicación de la plataforma es una aplicación de sistema de transacciones, generalmente se conecta remotamente una aplicación del lugar de trabajo de usuario. Luego, se puede iniciar un proceso de transacción, que incluye las etapas para preparar una instrucción de transacción persistente en la aplicación del lugar de trabajo del usuario, realizar un diálogo de autorización entre la aplicación del sistema de transacciones y el dispositivo de autenticación, y ejecutar la instrucción de transacción solo cuando el diálogo de autorización se ha completado correctamente. El diálogo de autorización puede incluir las etapas de transmitir un código, desde la aplicación del sistema de transacciones al dispositivo de autenticación para ingresar el código en la aplicación del lugar de trabajo del usuario, transmitir el código desde la aplicación del lugar de trabajo del usuario a la aplicación del sistema de transacciones, opcionalmente en formato cifrado, y verificar si el código o el equivalente cifrado del mismo recibido por la aplicación del sistema de transacciones es el mismo que el código transmitido por dicha aplicación del sistema de transacciones, o el equivalente cifrado del mismo.
En una modalidad específica de acuerdo con la invención, la etapa de transmitir la segunda cadena se implementa al exportar la segunda cadena a un usuario, a través de una interfaz de E/S de una entidad 10; 20 para introducir manualmente la segunda cadena en una interfaz de E/S de la otra entidad 20; 10, respectivamente.
El dispositivo de autenticación de usuario está asociado con el servidor de autenticación 30 como un resultado de un proceso de identificación que se ha realizado antes de establecer una conexión segura entre la primera entidad 10 y la segunda entidad 20. Entonces, existe una conexión segura entre el dispositivo de autenticación de usuario y el servidor de autenticación asociado 30, de modo que un usuario del dispositivo de autenticación puede realizar un proceso de identidad o capacidad en un contexto particular, por ejemplo, para tener acceso a una caja de seguridad.
Ventajosamente, los datos de autenticación pueden ponerse a disposición del nodo intermedio 40, por ejemplo, en forma de metadatos, para informar al nodo intermedio 40 sobre una identidad o capacidad del dispositivo de autenticación de usuario que transmite la cadena codificada al nodo intermedio 40.
La Figura 2 muestra un primer diagrama de proceso de acuerdo con la invención. Aquí, el primer número aleatorio es generado por la primera entidad 10, una aplicación de la plataforma de usuario, cargada como una cadena codificada Cm al nodo intermedio 40 y almacenada en una unidad de memoria intermedia 45 asociada con el nodo intermedio 40. El primer número aleatorio o la primera cadena se exporta al usuario, por ejemplo, a través de una pantalla, y el usuario lo ingresa en una primera acción manual del usuario U1 en la segunda entidad 20, un dispositivo de autenticación de usuario. Luego, la segunda entidad 20 reenvía la cadena codificada Cm y datos de identificación de usuario UID al servidor de autenticación 30 para la identificación mutua, que incluye la recuperación de información de metadatos de identificación almacenados en una unidad de almacenamiento de autenticación 35 asociada con el servidor de autenticación 30, y transporte de metadatos de identificación relevantes y la primera cadena codificada al nodo intermedio 40 Luego, el nodo intermedio 40 realiza una verificación de las cadenas codificadas recibidas de la primera y la segunda entidad 10, 20. Si las cadenas corresponden, el nodo intermedio 40 autoriza a la primera y la segunda entidad 10, 20 a compartir un segundo número aleatorio para calcular una clave única. Se establece una conexión segura S entre la aplicación del lugar de trabajo del usuario y el dispositivo de autenticación del usuario.
La Figura 3 muestra un segundo diagrama de proceso de acuerdo con la invención. Nuevamente, la primera entidad 10, una aplicación del lugar de trabajo del usuario, genera el primer número aleatorio y carga el número como una cadena codificada Cm al nodo intermedio 40 para almacenamiento en la unidad de memoria intermedia 45. Similar al proceso que se muestra en la Figura 2, el primer número aleatorio o la primera cadena se exporta al usuario, por ejemplo, a través de una pantalla, y el usuario lo ingresa en una primera acción manual del usuario U1 en la segunda entidad 20, el dispositivo de autenticación de usuario. Aquí, tanto la primera entidad 10 como la segunda entidad 20 obtienen una clave secreta Sm, Su y aplica la clave Sm, Su al número Cm, o equivalente del mismo, obteniendo la cadena codificada Tm, Tu, transformaciones cifradas del número aleatorio Cm o el equivalente de Cm. Como ejemplo, se puede aplicar un intercambio de claves diffie-hellmann. Las transformaciones cifradas Tm, Tu, se cargan en el nodo intermedio 40 y el servidor de autenticación 30, respectivamente. Además, los datos de identificación de usuario UID de la segunda entidad 20 se envían al servidor de autenticación 30 para la identificación mutua, que incluye la recuperación de información de los metadatos de identificación almacenados en una unidad de almacenamiento de autenticación 35 asociada con el servidor de autenticación 30 y el transporte de metadatos de identificación relevantes, la primera cadena codificada Cm y la transformación cifrada Tu, al nodo intermedio 40. El nodo intermedio 40 realiza una verificación de las cadenas codificadas Cm recibidas de la primera y la segunda entidad 10, 20. Si las cadenas corresponden, el nodo intermedio 40 autoriza a la primera y la segunda entidad 10, 20 a compartir un segundo número aleatorio. Las cadenas codificadas Tm, Tu, se cargan en la segunda y la primera entidad 20, 10, respectivamente. Luego, tanto la primera como la segunda entidad 10, 20 calculan una clave con base en las cadenas codificadas Tm, Tu. Se establece una conexión segura S entre la aplicación del lugar de trabajo del usuario y el dispositivo de autenticación del usuario.
La Figura 4 muestra un tercer diagrama de proceso de acuerdo con la invención. Aquí, el primer número aleatorio es generado por la segunda entidad 20, que también genera el segundo número aleatorio. La primera cadena derivada de dicho primer número aleatorio se ingresa en la primera entidad 10 a través de una segunda acción manual del usuario U2. El proceso es más similar al segundo proceso explicado con referencia a la Figura 3.
La Figura 5 muestra un cuarto diagrama de proceso de acuerdo con la invención. Aquí, dos cadenas se ingresan manualmente en la primera y la segunda entidad 10, 20. En contraste con el segundo proceso donde la transformación cifrada Tu se reenvía a través del servidor de autenticación 30 y el nodo intermedio 40 a la primera entidad 10, la transformación cifrada Tu, obtenida al aplicar una clave secreta Su al número Cm, o su equivalente, ahora se ingresa manualmente en la primera entidad 10.
En el cuarto diagrama de proceso, la primera entidad 10 genera un primer número aleatorio. El primer número aleatorio o la primera cadena se exporta al usuario, por ejemplo, a través de una pantalla, y el usuario lo ingresa en una primera acción manual del usuario U1 en la segunda entidad 20, el dispositivo de autenticación de usuario. Aquí, tanto la primera entidad 10 como la segunda entidad 20 obtienen una clave secreta Sm, Su y aplica la clave Sm, Su al número Cm, o equivalente del mismo, obteniendo la cadena codificada Tm, Tu, transformaciones cifradas del número aleatorio Cm o el equivalente de Cm. También la cadena codificada Tm es ingresada por el usuario en la primera acción manual del usuario U1 en la segunda entidad 20. La transformación cifrada Tm y los datos de identificación de usuario UID se cargan desde la segunda entidad 20 al servidor de autenticación 30, para la identificación mutua, que incluye la recuperación de información de los metadatos de identificación almacenados en una unidad de almacenamiento de autenticación 35 asociada con el servidor de autenticación 30, y el transporte de metadatos de identificación relevantes y la transformación cifrada Tm, al nodo intermedio 40. La transformación cifrada Tm también se carga desde la primera entidad 10 al nodo intermedio 40. El nodo intermedio 40 realiza una verificación de las cadenas codificadas Cm recibidas de la primera y la segunda entidad 10, 20. Si las cadenas corresponden, el nodo intermedio 40 autoriza a la primera y la segunda entidad 10, 20 a compartir un segundo número aleatorio.
La transformación cifrada Tu , obtenida al aplicar una clave secreta Su al número Cm, o su equivalente, se ingresa manualmente en la primera entidad 10 a través de una segunda acción manual del usuario U2. Con base en las cadenas codificadas Tm, Tu, tanto la primera como la segunda entidad 10, 20 calculan una clave. Se establece una conexión segura S entre la aplicación del lugar de trabajo del usuario y el dispositivo de autenticación del usuario. Aquí, la segunda cadena se transfiere a través de la segunda acción manual del usuario U2.
Cabe señalar que la sesión segura se puede configurar entre el dispositivo de autenticación de usuario y una aplicación de la plataforma de usuario, tal como una aplicación del lugar de trabajo del usuario, una aplicación en la nube, un proveedor de autenticación o una aplicación de transacción.
La Figura 6 muestra un diagrama de flujo de un método de acuerdo con la invención que se está realizando en una primera entidad. El método se aplica para establecer una sesión segura entre una primera entidad y una segunda entidad, la primera y la segunda entidad son un dispositivo de autenticación de usuario y una aplicación que se ejecuta en una plataforma, respectivamente, o viceversa, el método que se realiza por una primera entidad. El método comprende una etapa de generar 610 un primer número aleatorio, una etapa de exportar 620 una primera cadena derivada de dicho primer número aleatorio, para que un usuario ingrese la primera cadena en una segunda entidad, una etapa de aplicar 630 una función unidireccional a la primera cadena o a una derivada de la misma, obteniendo una cadena codificada, una etapa de transmitir 640 la cadena codificada a un nodo intermedio que está en conexión con la primera entidad y una segunda entidad. El método comprende además las etapas de generar 650 un segundo número aleatorio, derivar una segunda cadena de dicho segundo número aleatorio y transmitir la segunda cadena a la segunda entidad si se ha una etapa de verificación de comparar de las cadenas codificadas transmitidas por la primera entidad y la segunda entidad tiene un resultado positivo, o la etapa de recibir de la segunda entidad una segunda cadena derivada de un segundo número aleatorio generado por la segunda entidad. Además, el método comprende la etapa de derivar 660 una clave secreta de la primera y la segunda cadena.
La Figura 7 muestra un diagrama de flujo de un método de acuerdo con la invención que se está realizando en una segunda entidad. El método se aplica para establecer una sesión segura entre una primera entidad y una segunda entidad, la primera y la segunda entidad son un dispositivo de autenticación de usuario y una aplicación que se ejecuta en una plataforma, respectivamente, o viceversa, el método lo realiza una segunda entidad. El método comprende una etapa de recibir 710, a través de una interfaz de E/S, una primera cadena derivada de un primer número aleatorio generado por una primera entidad, una etapa de aplicar 720 una función unidireccional a la primera cadena o a una derivada de la misma, obteniendo una cadena codificada, una etapa de transmitir 730 la cadena codificada a un nodo intermedio que está en conexión con una primera y una segunda entidad. Además, el método comprende las etapas de generar 740 un segundo número aleatorio, derivar una segunda cadena de dicho segundo número aleatorio y transmitir la segunda cadena a la primera entidad si una etapa de verificación de comparar las cadenas codificadas transmitidas por la primera entidad y la segunda entidad tiene un resultado positivo, o la etapa de recibir de la primera entidad una segunda cadena derivada de un segundo número aleatorio generado por la primera entidad. El método comprende además una etapa de derivar 750 una clave secreta de la primera y la segunda cadena.
La Figura 8 muestra un diagrama de flujo de un método de acuerdo con la invención que se está realizando en un nodo intermedio que está en conexión con una primera entidad y una segunda entidad. El método se aplica para establecer una sesión segura entre una primera entidad y una segunda entidad, la primera y la segunda entidad son un dispositivo de autenticación de usuario y una aplicación que se ejecuta en una plataforma, respectivamente, o viceversa, el método que se realiza por un nodo intermedio. El método comprende una etapa de recibir 810 una cadena codificada de una primera y una segunda entidad, la cadena codificada que se obtiene al aplicar una función unidireccional a una primera cadena o a una derivada de la misma, la primera cadena que se deriva de un primer número aleatorio generado por una primera entidad, una etapa de verificar 820 si las cadenas codificadas recibidas de la primera y la segunda entidad son las mismas, y una etapa de autorizar 830 a la primera y la segunda entidad a compartir una segunda cadena derivada de un segundo número aleatorio generado por la primera o la segunda entidad, respectivamente, si la etapa de verificación tiene un resultado positivo.
La Figura 9 muestra una configuración tradicional, que comprende un dispositivo 91 que ejecuta una aplicación para proporcionar un contexto, un software intermedio 92 que incluye una interfaz de programación de aplicaciones, API, una visualización y entrada de pin 93, y un elemento seguro 94 que interactúa con un activo que contiene información secreta.
De acuerdo con un aspecto de la invención, se proporciona un servidor, también llamado qKey. qKey acopla o conecta estrechamente el contexto y el pin, orquesta la entrada y visualización seguras y garantiza el uso de un elemento seguro para el activo. El qkey es un elemento seguro con tecnología de control único y una segunda pantalla segura, incluso dentro del mismo dispositivo.
La Figura 10 muestra una primera configuración de acuerdo con una modalidad de la invención. Aquí, la configuración de tarjeta inteligente tradicional usada en una PC con software intermedio y un lector se usa de otra manera. La primera configuración de acuerdo con la invención incluye una API qKey 95.
La API de software intermedio se modifica de manera que el contexto se ingrese antes de la entrada de PIN. En lugar de enviar el contexto directamente al elemento seguro, existe un enfoque alternativo en donde el contexto se envía a un servidor Qkey, a través de la API qkey. Aquí, el servidor qkey se asoció de manera segura con el elemento seguro en una fase anterior. Esta es una conexión uno a uno. Esta asociación segura se usa para enviar de manera segura el contexto al elemento seguro a través del servidor qkey. El servidor qkey ahora asegura que el contexto se muestre al usuario a través del software intermedio en este caso, y el usuario ahora puede aprobar el contexto con su PIN, el PIN se combina con el contexto seguro y el elemento seguro realiza la operación en el contexto con el activo. Se frustra un ataque de un hombre en el medio, porque un atacante no puede sustituir un hash.
Una mejora de la primera configuración que se muestra en la Figura 10 podría ser que cuando el elemento seguro está asociado con el qkey, esta asociación comprende también una asociación con un token de usuario, tal como un teléfono móvil, tableta u ordenador portátil o hardware dedicado, tal como un dispositivo de protección Bluetooth o reloj. Este token de usuario puede usarse para mostrar el contexto y la entrada del PIN. Es posible activar numerosos dispositivos con el mismo elemento seguro, por lo que será más fácil reemplazar un elemento seguro con la aprobación de otro elemento seguro, pero del mismo nivel.
Una mejora de esta configuración podría ser que el propio elemento seguro esté ubicado en una ubicación diferente a la ubicación del dispositivo en el que se inicia el activo y en el que se instaló el software intermedio. El dispositivo que se comunica con el software intermedio de la API qkey también se asociará con el qkey o elemento seguro SE antes de la entrada del contexto en una de las API.
El contexto ahora puede ingresar al software intermedio o a la API qkey, el servidor qkey ahora envía el contexto a la qkey, la clave asegura que el contexto se envíe al SE y la qkey asegura que el contexto se muestre al usuario y el consentimiento del usuario se adquiere mediante una comprobación de autenticación, por ejemplo, al ingresar un PIN. Después de que el usuario ingrese el PIN, la qkey garantiza que los activos realicen su operación en el contexto previamente preparado en el elemento seguro. El contexto puede ser una transacción o una firma digital u otra operación que un usuario desee que se ejecute.
El dispositivo puede ser una PC, ordenador portátil, teléfono móvil, reloj, decodificador, punto o terminal de venta, ATM, sitio web de la aplicación. El software intermedio puede ser un proveedor de identidad CSP, PKCS#11, RADIUS, LDAP, MS AD, SOAP/oAUTH/Openid o similar. La API qkey se puede implementar como un servicio web o cualquier otra abstracción adecuada.
La qKey es una aplicación, posiblemente en un dispositivo informático en red, posiblemente conectado a un modelo de seguridad de hardware HSM para el almacenamiento criptográfico seguro, o completamente implementado en un HSM, que está conectado a una red y que implementa la API qKey, posiblemente con un intermediario de software intermedio al frente.
El elemento seguro puede ser una SIM en un teléfono móvil, una tarjeta inteligente en un ordenador portátil, un entorno de ejecución seguro en un procesador como chip separado en una placa base, etc. La visualización y el teclado (software) se pueden intermediar a través del software intermedio o en un teléfono móvil.
El Activo puede ser información, un secreto y secreto criptográfico, un secreto criptográfico simétrico, un secreto criptográfico asimétrico, una plantilla biométrica o cualquier otro, posiblemente de valor para el usuario, relacionado con el elemento seguro. Preferentemente, cuando se adjunta algo físico al elemento seguro, el uso de ese activo se controla de manera similar.
La asociación segura de la qkey con el elemento seguro y el dispositivo de visualización y entrada de pin puede tener las siguientes opciones.
De manera estática, donde la asociación se realiza en una fase previa, en un entorno posiblemente seguro. De manera dinámica, donde en una modalidad el elemento seguro genera el activo y un mensaje de anuncio de activación o nonce que implica un número usado una vez. Este mensaje de anuncio de activación luego se exporta desde el elemento seguro y luego se distribuye al dispositivo de visualización y entrada de PIN, donde se ingresa este mensaje de anuncio. El dispositivo de visualización y entrada de PIN puede establecerse mediante el uso de pruebas de conocimiento cero, diffie-helman o cualquier otro protocolo de establecimiento de claves que dé como resultado una conexión segura compartida o que forme una conexión segura con el elemento seguro. Como un ejemplo, se puede obtener una conexión segura mediante el uso de un método como se describió anteriormente.
En una modalidad particular, un proceso puede incluir el siguiente protocolo.
Principios
un dispositivo C no registrado (por ejemplo, un teléfono usado para visualización y entrada de PIN)
un componente de elemento seguro G (por ejemplo, HSM, elemento seguro)
un componente distribuidor D (qkey)
Contexto
La puerta de enlace G tiene una clave pública PK(G) que el dispositivo C conoce El dispositivo C tiene un nonce N, conocido por G.
Hay una solicitud de suscripción abierta con dicho nonce N y
token asociado T en el Distribuidor
Etapas
C genera un nonce nuevo NC y una clave de cifrado temporal K C envía a G: (NC, K, N) cifrado con PK(G) G descifra el mensaje con la clave privada asociada a PK(G) G ejecuta los siguientes protocolos, lo que da como resultado que G tenga NS y T
• Suscribirse a la suscripción abierta
• G envía a D: N
• D se asegura de que el nonce N esté vinculado a una suscripción abierta y, de ser así,
• D envía a G: T
• Establecer la clave y vincularla a la suscripción
• G genera un nuevo nonce NS, asociado a T y NC
• G calcula la clave de comunicación de NC y NS y la almacena con T
G envía a C: (NC, NS, T) cifrado con K
C descifra el mensaje anterior con K
C calcula la clave de comunicación de NC y NS
Dicha asociación también se puede establecer de manera estática y dinámica entre el software intermedio y la API qkey, el software intermedio y el elemento seguro, el software intermedio y el dispositivo de visualización y entrada de PIN, o entre la API qKey y el dispositivo de visualización y entrada de PIN y entre la API qkey y el elemento seguro.
Cuando el software intermedio y el dispositivo de visualización y entrada de PIN han establecido una asociación segura, esto también se conoce como una identificación en el lado del software intermedio y una adición de dispositivo en el lado del token de visualización y entrada de PIN.
La Figura 11 muestra una segunda configuración de acuerdo con una modalidad de la invención. En esta modalidad ventajosa, un elemento seguro 96 está ubicado en un centro de datos, donde también está ubicada la qkey. El elemento seguro 96 está implementado en software en un HSM y contiene la clave pública de la qkey y una privada exclusiva para sí mismos. El elemento seguro y la qkey están asociados estáticamente, conociendo las claves públicas del otro. En el elemento seguro se crea un activo, el activo son un par de claves privadas públicas asimétricas y un mensaje de activación y anuncio. Opcionalmente, se almacena previamente una segunda clave pública en el elemento seguro, que se usa para cifrar el mensaje de anuncio de activación. El token de visualización y entrada se puede implementar como una aplicación en un token de usuario, tal como un teléfono móvil. Este token de usuario está asociado con la qkey. El mensaje de anuncio de activación se ingresa en el token de visualización y entrada 97. Si estaba cifrado, debe descifrarse con la clave privada. Esta clave privada podría ubicarse en una instalación de impresión segura usada para imprimirla en papel a prueba de manipulaciones y almacenarse en un sobre cerrado a prueba de manipulaciones y el mensaje de anuncio de activación podría distribuirse al usuario y solo se le entregará una vez que la identidad del usuario se establece con suficiente seguridad. Cuando una activación fue exitosa, es posible crear otro token de usuario en un dispositivo diferente, tal como teléfono o tableta con la misma asociación con el servidor qKey, o una nueva asociación, basada en la asociación original, o simplemente vinculada a la asociación original o simplemente reutilizar algunos datos que se establecieron en relación con la asociación, es decir, la identidad de alguien. Después de que el token de visualización y entrada establezcan una asociación segura con el elemento seguro, mediante el uso del mensaje de anuncio de activación para el elemento seguro, qKey organiza el intercambio de mensajes.
La aplicación en el token de usuario puede tener tres funciones, a saber, recibir mensajes de qkey o el elemento seguro, mostrar el contexto al usuario y la entrada segura de un resultado de autenticación, tal como un PIN de usuario. El resultado de la autenticación podría ser un PIN, un elemento biométrico del usuario o un segundo dispositivo, por ejemplo, un dispositivo Bluetooth en posesión del usuario consultado por la aplicación sobre la presencia o entrada del usuario.
Para facilitar el uso seguro de la aplicación, la aplicación tiene una asociación segura con la qkey y/o el elemento seguro y/o el software intermedio y las aplicaciones almacenan esta asociación de manera segura, mediante el uso de criptografía, posiblemente criptografía ofuscada para evitar la divulgación de la asociación.
La aplicación también está ofuscada para evitar el descifrado y el uso de la asociación. La ofuscación de la asociación y la ofuscación de la aplicación se pueden generar de manera única para cada dispositivo durante la asociación y se pueden actualizaren intervalos regulares.
Preferentemente, la aplicación comprueba su propia integridad. Una forma de verificar la integridad es al calcular un hash y verificar que este hash sea correcto. La aplicación puede verificar su entorno, por ejemplo, por medio de la lectura de datos que identifican o identifican parcialmente el entorno y los comparan con datos previamente almacenados o los suben a un servicio de verificación. La aplicación se puede registrar en una red. Este registro puede ser de mensajería push, SMS GSM o red IP. Parte de la asociación con la qkey o el elemento seguro es la dirección que pertenece a este registro de red. En una modalidad preferida, cuando el contexto se envía al token de visualización y entrada, siempre se envía a esta dirección, lo que evita la clonación de la aplicación en otro dispositivo. La aplicación monitorea activamente el teléfono móvil. Si la aplicación detecta que el teléfono está comprometido, hay una aplicación maliciosa o cuando se detecta una heurística hostil, notifica a qkey de este hecho y/o interrumpe la operación, y/o borra los parámetros confidenciales de seguridad. La aplicación puede usar SSL para la comunicación segura y la fijación de certificados SSL para evitar vulnerabilidades de SSL. Además, la aplicación usa diferentes funciones que ofrece el sistema operativo, tal como el almacenamiento seguro de claves criptográficas, para aprovechar cualquier medida adicional que también ofrezca (el sistema operativo) el token del usuario. Además, el servidor qKey y el dispositivo pueden comunicarse a través de SSL. Preferentemente, el servidor qKey y/o el elemento seguro envía un mensaje que incluye el contexto a una dirección preestablecida de la aplicación, de manera que se contrarresta que el mensaje se entregue en un clon de la aplicación. Esto se puede lograr, por ejemplo, mediante el uso de un mensaje push, un mensaje SMS o a través de una dirección IP.
Adicionalmente, para evitar ataques triviales, se usa un teclado de cliente, posiblemente en una disposición tal que la ubicación de los símbolos o la entrada de ubicación o la dirección de la entrada del usuario no revele el símbolo ingresado.
La asociación de software intermedio con la qkey del token de visualización e inicio de sesión puede tomar muchas formas, la forma preferida es a través del mensaje de anuncio de identificación presentado anteriormente. Este mensaje de anuncio puede usarse posteriormente para establecer una conexión segura de extremo a extremo entre el teléfono móvil donde reside la aplicación que actúa como un token de visualización e inicio de sesión y el dispositivo que usa o se comunica con el software intermedio. Como alternativa, puede usarse una contraseña de nombre de usuario existente, donde la qkey se usa como un segundo factor.
El activo usado determina cuál es el contexto y qué tan rico es este contexto y también cuáles son los elementos clave que son cruciales para mostrar al usuario, para que tome una decisión informada sobre si el usuario desea o no que el activo realice la operación en el contexto. Por ejemplo, cuando el activo es una clave privada RSA para la autenticación, el contexto puede ser un HASH para probar la posesión de la clave, pero también un logotipo que se mostrará en el teléfono móvil y/o una URL, agente de usuario, marca de tiempo de la dirección IP, geolocalización de la descripción del servicio, etc.
El proceso de usuario del teléfono móvil puede ser el siguiente:
1. Originalmente, el contexto está vinculado al activo en el elemento seguro,
2. Después de recibir un mensaje seguro y dirigido, la aplicación muestra el contexto al usuario, o al menos una parte del contexto que es relevante para el usuario para este tipo de operación de activo.
3. El usuario da su aprobación,
4. Después de la aprobación del usuario, el elemento seguro realiza la operación.
El elemento seguro contiene el activo. Para facilitar a muchos usuarios, el elemento seguro se mejora de tal manera que el activo se puede sacar de manera segura del elemento seguro e insertarlo de nuevo cuando sea necesario. Una manera de hacerlo es generar una clave simétrica en el elemento seguro y usar esta clave simétrica con AES en modo OCB. Si esta clave simétrica solo se conoce en el elemento seguro/HSM, el activo es tan seguro fuera del HSM como dentro. Si este medio de protección consiste en que la inserción y extracción de un activo se replica de manera segura de forma controlada entre HSM, se logra una solución escalable. Cuando este medio se puede respaldar de manera segura, por ejemplo, mediante el uso de tarjetas inteligentes, se logra la continuidad del negocio. El HSM donde se encuentra el activo también puede contar los intentos de PIN incorrectos o los mensajes de anuncio de activación, y bloquear la operación cuando se realizan demasiados intentos incorrectos.
Cuando junto con la asociación segura del elemento seguro con la qkey, se puede establecer adicionalmente alguna forma de atributos y direccionamiento. El elemento seguro podría, por ejemplo, implementarse en la propia casa del propietario, donde la qkey, con base en el contexto de la solicitud, puede determinar dónde se encuentra el elemento seguro y enrutarlo allí. Por lo tanto, un usuario final no tiene que confiar sus activos al operador del servicio qkey. La tenencia múltiple se puede lograr cuando el elemento seguro puede tener diferentes claves simétricas asociadas con diferentes clientes para permitir cargar colecciones distintivas de activos, logrando así una tenencia múltiple y economías de escala. Los métodos definidos anteriormente se pueden realizar mediante el uso de estructuras de hardware dedicadas, tales como componentes FPGA y/o ASIC. De cualquier otra manera, el método también puede al menos parcialmente realizarse mediante el uso de un producto de programa informático que comprende instrucciones para provocar que una unidad de procesamiento de la primera entidad, la segunda entidad y el nodo intermedio realice las etapas descritas anteriormente de los métodos de acuerdo con la invención. Todas las etapas de un método pueden en principio realizarse en un único procesador. Sin embargo, se observa que en modalidades ventajosas de acuerdo con la invención, las etapas se realizan en unidades de procesamiento separadas. Como un ejemplo, la etapa de derivar una clave secreta se puede realizar en una unidad de procesamiento separada.
De acuerdo con un aspecto, se proporciona un método para realizar una instrucción en una aplicación de la plataforma, que comprende las etapas de:
• preparar una instrucción persistente en una aplicación del lugar de trabajo del usuario que está conectada de manera remota a la aplicación de la plataforma;
• reenviar la instrucción persistente a la aplicación de la plataforma;
• configurar una conexión segura entre la aplicación de la plataforma y un dispositivo de autenticación;
• realizar un diálogo de autorización entre la aplicación del sistema de transacciones y el dispositivo de autenticación; y
• ejecutar la instrucción de transacción solo cuando el diálogo de autorización ha finalizado con éxito.
La etapa de establecer una conexión segura entre la aplicación de la plataforma y el dispositivo de autenticación se puede realizar como se describió anteriormente. Sin embargo, también son aplicables otros métodos para configurar la conexión segura. Como un ejemplo, la aplicación de la plataforma es una aplicación de sistema de transacciones y la instrucción es una instrucción de transacción.
De acuerdo con otro aspecto, se proporciona una aplicación de la plataforma que está conectada de manera remota a una aplicación del lugar de trabajo del usuario y que tiene una conexión segura con un dispositivo de autenticación, la aplicación de la plataforma que comprende un procesador que se dispone para:
• recibir una instrucción persistente preparada en el lugar de trabajo del usuario;
• realizar un diálogo de autorización con el dispositivo de autenticación, a través de la conexión segura; y • ejecutar la instrucción solo cuando el diálogo de autorización ha finalizado con éxito.
De acuerdo con otro aspecto adicional, se proporciona un producto de programa informático para ejecutar una instrucción en una aplicación de la plataforma, el producto de programa informático que comprende un código legible por ordenador para facilitar que una unidad de procesamiento realice las etapas de:
• preparar una instrucción persistente en una aplicación del lugar de trabajo del usuario que está conectada de manera remota a la aplicación de la plataforma;
• reenviar la instrucción persistente a la aplicación de la plataforma;
• configurar una conexión segura entre la aplicación de la plataforma y un dispositivo de autenticación;
• realizar un diálogo de autorización entre la aplicación del sistema de transacciones y el dispositivo de autenticación; y
• ejecutar la instrucción solo cuando el diálogo de autorización ha finalizado con éxito.
Se debe entender que las modalidades de la invención descritas anteriormente son únicamente ilustrativas y que son posibles otras modalidades sin apartarse del alcance de la presente invención. Se comprenderá que son posibles muchas variantes.
Dichas variantes serán claras para el experto en la técnica y se considera que caen dentro del alcance de la invención como se define en las siguientes reivindicaciones.

Claims (15)

REIVINDICACIONES
1. Un método para establecer una sesión segura entre una primera entidad y una segunda entidad, la primera y la segunda entidad son un dispositivo de autenticación de usuario y una aplicación que se ejecuta en una plataforma, respectivamente, o viceversa, el método que se realiza por la primera entidad, la segunda entidad y un nodo intermedio que está en conexión con la primera y la segunda entidad, el método que comprende las etapas de:
- generar, por parte de la primera entidad, un primer número aleatorio;
- exportar, por parte de la primera entidad, una primera cadena derivada de dicho primer número aleatorio, para que un usuario ingrese la primera cadena en la segunda entidad, en donde la primera cadena es idéntica al primer número aleatorio, o en donde se produce la primera cadena como un mensaje aleatorio a partir del primer número aleatorio o como otra representación del primer número aleatorio;
- aplicar, por parte de la primera entidad, una función unidireccional o una función similar a la primera cadena o a un derivado de la misma, obteniendo una cadena codificada;
-transmitir, por parte de la primera entidad, la cadena codificada al nodo intermedio;
- recibir, por parte la segunda entidad, a través de una interfaz de E/S, la primera cadena derivada del primer número aleatorio generado por la primera entidad;
- aplicar, por parte de la segunda entidad, una función unidireccional a la primera cadena recibida o a una derivada de la misma, obteniendo una cadena codificada;
-transmitir, por parte de la segunda entidad, la cadena codificada obtenida al nodo intermedio;
- recibir, por parte del nodo intermedio, la cadena codificada de la primera y la segunda entidad, y - verificar, por parte del nodo intermedio, si las cadenas codificadas recibidas de la primera y la segunda entidad son las mismas;
- si la etapa de verificación tiene un resultado positivo, autorizar, por parte del nodo intermedio, la primera y la segunda entidad a establecer una sesión segura, en particular a compartir una segunda cadena derivada por la primera o la segunda entidad, respectivamente, de un segundo número aleatorio generado por la primera o la segunda entidad, respectivamente.
2. Un método de acuerdo con la reivindicación 1, en donde, en la etapa de aplicar una función unidireccional, la derivada de la primera cadena se obtiene al realizar una función hash a la primera cadena.
3. Un método de acuerdo con cualquiera de las reivindicaciones anteriores, en donde la sesión segura se usa para soportar la transferencia segura de datos unidireccionales o bidireccionales, tal como la transferencia de un mensaje, una clave de descifrado y/o cifrado, un diálogo de autorización, autorización de un documento en una aplicación en la nube, o para realizar una instrucción en una aplicación de la plataforma, esta última que comprende las etapas de:
- preparar una instrucción persistente en una aplicación del lugar de trabajo del usuario que está conectada de manera remota a la aplicación de la plataforma;
- reenviar la instrucción persistente a la aplicación de la plataforma;
- establecer una conexión segura entre la aplicación de la plataforma y un dispositivo de autenticación; - realizar un diálogo de autorización entre la aplicación de la plataforma y el dispositivo de autenticación; y - ejecutar la instrucción solo cuando el diálogo de autorización ha finalizado de manera exitosa.
4. Un método de acuerdo con cualquiera de las reivindicaciones anteriores, en donde el diálogo de autorización incluye las etapas de:
- transmitir un código, desde la aplicación de la plataforma al dispositivo de autenticación para introducir el código en la aplicación del lugar de trabajo del usuario;
- transmitir el código desde la aplicación del lugar de trabajo del usuario a la aplicación de la plataforma; y - verificar si el código recibido por la aplicación del sistema de transacciones es el mismo que el código transmitido por dicha aplicación del sistema de transacciones.
5. Un método de acuerdo con cualquiera de las reivindicaciones anteriores, en donde la etapa de transmitir la segunda cadena se implementa al exportar la segunda cadena a un usuario, a través de una interfaz de E/S de una entidad, para introducir manualmente la segunda cadena en una interfaz de E/S de la otra entidad.
6. Un método de acuerdo con cualquiera de las reivindicaciones anteriores, en donde se muestra un contexto a un usuario a través de un software intermedio, en donde se implementa un token de visualización y entrada como una aplicación en un token de usuario, la aplicación que incluye las funciones de:
- recibir un mensaje de anuncio de un servidor qKey o elemento seguro,
- mostrar el contexto al usuario, y
- entrada segura del resultado de la autenticación,
y en donde el servidor qKey o elemento seguro envía un mensaje que incluye contexto a una dirección preespecificada de la aplicación.
7. Un método de acuerdo con la reivindicación 6, en donde la aplicación está asociada de manera segura con el servidor qKey, el elemento seguro y/o el software intermedio.
8. Un método de acuerdo con la reivindicación 6 o 7, en donde la aplicación se ofusca a sí misma y/o comprueba su propia integridad.
9. Un método de acuerdo con cualquiera de las reivindicaciones anteriores 6-8, en donde el mensaje de anuncio se usa posteriormente para establecer una conexión de extremo a extremo entre un teléfono móvil que tiene la aplicación y el dispositivo que usa o se comunica con el software intermedio.
10. Un método de acuerdo con cualquiera de las reivindicaciones anteriores, en donde la asociación se realiza al realizar las etapas de:
- generar, por parte del elemento seguro, un activo y un mensaje de anuncio de activación,
- exportar el mensaje de anuncio de activación desde el elemento seguro e ingresarlo en el token de visualización y entrada.
11. Un método de acuerdo con cualquiera de las reivindicaciones anteriores, en donde se establece una asociación estática o dinámica entre el software intermedio y la API qKey, entre el software intermedio y el elemento seguro, entre el software intermedio y el token de visualización y entrada, entre la API qKey y el token de visualización y entrada, y/o entre la API qKey y elemento seguro.
12. Una aplicación de la plataforma que es una primera entidad dispuesta para establecer una sesión segura con un dispositivo de autenticación de acuerdo con la reivindicación 13, que es una segunda entidad, la primera entidad que comprende:
- un primer generador de números aleatorios para generar un primer número aleatorio;
- una interfaz de E/S para exportar una primera cadena derivada de dicho primer número aleatorio, para que un usuario ingrese la primera cadena en la segunda entidad, en donde la primera cadena es idéntica al primer número aleatorio, o en donde se produce la primera cadena como un mensaje aleatorio a partir del primer número aleatorio o como otra representación del primer número aleatorio;
- un procesador para aplicar una función unidireccional o función similar a la primera cadena o a una derivada de la misma, obteniendo una cadena codificada;
- una unidad de transmisión para transmitir la cadena codificada a un nodo intermedio que está en conexión con la primera entidad y la segunda entidad;
en donde, si el dispositivo de autenticación comprende una unidad receptora,
la primera entidad comprende además un segundo generador de números aleatorios para generar un segundo número aleatorio, en donde el procesador se dispone además para derivar una segunda cadena de dicho segundo número aleatorio y para transmitir la segunda cadena a la segunda entidad si una etapa de verificación de comparar las cadenas codificadas transmitidas por la primera entidad y la segunda entidad tiene un resultado positivo,
y en donde, si el dispositivo de autenticación comprende un segundo generador de números aleatorios, la primera entidad comprende además una unidad receptora para recibir de la segunda entidad una segunda cadena que se deriva de un segundo número aleatorio generado por la segunda entidad.
13. Un dispositivo de autenticación que es una segunda entidad dispuesta para establecer una sesión segura con una aplicación de la plataforma de acuerdo con la reivindicación 12, la segunda entidad que comprende:
- una interfaz de E/S para recibir una primera cadena derivada de un primer número aleatorio generada por una primera entidad, en donde la primera cadena es idéntica al primer número aleatorio, o en donde la primera cadena se produce como un mensaje aleatorio a partir del primer número aleatorio o como otra representación del primer número aleatorio;
- un procesador para aplicar una función unidireccional o función similar a la primera cadena o a una derivada de la misma, obteniendo una cadena codificada;
- una unidad de transmisión para transmitir la cadena codificada a un nodo intermedio que está en conexión con la primera y la segunda entidad;
en donde, si la aplicación de la plataforma comprende una unidad receptora,
la segunda entidad comprende además un segundo generador de números aleatorios para generar un segundo número aleatorio, en donde el procesador se dispone para derivar una segunda cadena a partir de dicho segundo número aleatorio y para transmitir la segunda cadena a la primera entidad si una etapa de verificación de comparar las cadenas codificadas transmitidas por la primera entidad y la segunda entidad tiene un resultado positivo;
y en donde, si la aplicación de la plataforma comprende un segundo generador de números aleatorios, la segunda entidad comprende una unidad receptora para recibir de la primera entidad una segunda cadena que se deriva de un segundo número aleatorio generado por la primera entidad.
14. Un nodo intermedio que está en conexión con una aplicación de la plataforma de acuerdo con la reivindicación 12, y con un dispositivo de autenticación de acuerdo con la reivindicación 13 para establecer una conexión segura entre la primera y la segunda entidad, el nodo intermedio que comprende:
- una unidad receptora para recibir una cadena codificada de la primera y la segunda entidad, la cadena codificada que se obtiene al aplicar una función unidireccional o una función similar a una primera cadena o a una derivada de la misma, la primera cadena que se deriva de un primer número aleatorio generado por la primera entidad, en donde la primera cadena es idéntica al primer número aleatorio, o en donde la primera cadena se produce como un mensaje aleatorio a partir del primer número aleatorio o como otra representación del primer número aleatorio;
- un procesador para verificar si las cadenas codificadas recibidas de la primera y la segunda entidad son las mismas,
en donde el procesador se dispone además para autorizar a la primera y la segunda entidad a establecer una sesión segura, en particular para compartir una segunda cadena derivada de un segundo número aleatorio generado por la primera o la segunda entidad, respectivamente, si la etapa de verificación tiene un resultado positivo.
15. Un producto de programa informáti
segunda entidad, la primera y la segunda entidad que son un dispositivo de autenticación de usuario y una aplicación que se ejecuta en una plataforma, respectivamente, o viceversa, el producto de programa informático que comprende un código legible por ordenador para facilitar que la primera entidad, la segunda entidad y un nodo intermedio que está en conexión con la primera y la segunda entidad, realicen las etapas relacionados como se define en la reivindicación 1.
ES16733737T 2015-04-30 2016-04-29 Una primera entidad, una segunda entidad, un nodo intermedio, métodos para establecer una sesión segura entre una primera y una segunda entidad, y productos de programa informático Active ES2926968T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL2014743A NL2014743B1 (en) 2015-04-30 2015-04-30 A first entity, a second entity, an intermediate node, methods for setting up a secure session between a first and second entity, and computer program products.
PCT/NL2016/050307 WO2016175659A1 (en) 2015-04-30 2016-04-29 A first entity, a second entity, an intermediate node, methods for setting up a secure session between a first and second entity, and computer program products

Publications (1)

Publication Number Publication Date
ES2926968T3 true ES2926968T3 (es) 2022-10-31

Family

ID=55085848

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16733737T Active ES2926968T3 (es) 2015-04-30 2016-04-29 Una primera entidad, una segunda entidad, un nodo intermedio, métodos para establecer una sesión segura entre una primera y una segunda entidad, y productos de programa informático

Country Status (6)

Country Link
US (1) US11206129B2 (es)
EP (1) EP3289724B1 (es)
DK (1) DK3289724T3 (es)
ES (1) ES2926968T3 (es)
NL (1) NL2014743B1 (es)
WO (1) WO2016175659A1 (es)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL2014743B1 (en) * 2015-04-30 2017-01-18 Ubiqu B V A first entity, a second entity, an intermediate node, methods for setting up a secure session between a first and second entity, and computer program products.
US10715497B1 (en) * 2017-02-13 2020-07-14 Wells Fargo Bank, N.A. Digital safety box for secure communication between computing devices
US11849043B2 (en) * 2020-11-13 2023-12-19 Sony Group Corporation Zero-knowledge authentication based on device information

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167521A (en) * 1997-08-29 2000-12-26 International Business Machines Corporation Securely downloading and executing code from mutually suspicious authorities
FR2790177B1 (fr) * 1999-02-22 2001-05-18 Gemplus Card Int Authentification dans un reseau de radiotelephonie
JP2001016196A (ja) * 1999-04-28 2001-01-19 Fuji Soft Abc Inc 多重アファイン鍵を用いる暗号化・復号化方法、認証方法、及びこれを用いる各装置
AU7182701A (en) * 2000-07-06 2002-01-21 David Paul Felsher Information record infrastructure, system and method
US7487535B1 (en) * 2002-02-01 2009-02-03 Novell, Inc. Authentication on demand in a distributed network environment
EP1526677A4 (en) * 2002-06-19 2006-12-20 Secured Communications Inc METHOD AND DEVICE FOR INTER AUTHENTICATION
GB2392590B (en) * 2002-08-30 2005-02-23 Toshiba Res Europ Ltd Methods and apparatus for secure data communication links
US7522731B2 (en) * 2003-04-28 2009-04-21 Firetide, Inc. Wireless service points having unique identifiers for secure communication
US7546357B2 (en) * 2004-01-07 2009-06-09 Microsoft Corporation Configuring network settings using portable storage media
US8555350B1 (en) * 2006-06-23 2013-10-08 Cisco Technology, Inc. System and method for ensuring persistent communications between a client and an authentication server
US8064597B2 (en) * 2007-04-20 2011-11-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for mobile device credentialing
US8230490B2 (en) * 2007-07-31 2012-07-24 Keycorp System and method for authentication of users in a secure computer system
US8307457B2 (en) * 2009-01-29 2012-11-06 Lg Electronics Inc. Method and terminal for receiving rights object for content on behalf of memory card
US8527773B1 (en) * 2009-03-09 2013-09-03 Transunion Interactive, Inc. Identity verification systems and methods
WO2011117929A1 (ja) * 2010-03-26 2011-09-29 富士通株式会社 乱数生成器、暗号化装置、及び認証装置
US9270663B2 (en) * 2010-04-30 2016-02-23 T-Central, Inc. System and method to enable PKI- and PMI-based distributed locking of content and distributed unlocking of protected content and/or scoring of users and/or scoring of end-entity access means—added
US9350708B2 (en) * 2010-06-01 2016-05-24 Good Technology Corporation System and method for providing secured access to services
CN102348206B (zh) * 2010-08-02 2014-09-17 华为技术有限公司 密钥隔离方法和装置
DE102011077218B4 (de) * 2011-06-08 2023-12-14 Servicenow, Inc. Zugriff auf in einer Cloud gespeicherte Daten
US8745718B1 (en) * 2012-08-20 2014-06-03 Jericho Systems Corporation Delivery of authentication information to a RESTful service using token validation scheme
US9124582B2 (en) * 2013-02-20 2015-09-01 Fmr Llc Mobile security fob
WO2015055807A1 (en) * 2013-10-17 2015-04-23 Siemens Aktiengesellschaft Method and network node device for controlling the run of technology specific push-button configuration sessions within a heterogeneous or homogeneous wireless network and heterogeneous or homogeneous wireless network
NL2011717C2 (en) * 2013-10-31 2015-05-04 Ubiqu B V A first entity, a second entity, an intermediate node, methods for setting up a secure session between a first and second entity, and computer program products.
JP2015192446A (ja) * 2014-03-31 2015-11-02 富士通株式会社 プログラム、暗号処理方法、及び暗号処理装置
US9438417B2 (en) * 2014-08-12 2016-09-06 Robert Bosch Gmbh System and method for shared key agreement over untrusted communication channels
NL2014743B1 (en) * 2015-04-30 2017-01-18 Ubiqu B V A first entity, a second entity, an intermediate node, methods for setting up a secure session between a first and second entity, and computer program products.

Also Published As

Publication number Publication date
DK3289724T3 (da) 2022-09-19
US11206129B2 (en) 2021-12-21
US20180123794A1 (en) 2018-05-03
EP3289724A1 (en) 2018-03-07
NL2014743B1 (en) 2017-01-18
EP3289724B1 (en) 2022-07-06
NL2014743A (en) 2016-11-07
WO2016175659A1 (en) 2016-11-03

Similar Documents

Publication Publication Date Title
CN109863770B (zh) 用于设备设定协议的配置器密钥包
US11533297B2 (en) Secure communication channel with token renewal mechanism
CN109088889B (zh) 一种ssl加解密方法、***及计算机可读存储介质
CN103118027B (zh) 基于国密算法建立tls通道的方法
EP2304636B1 (en) Mobile device assisted secure computer network communications
US8327143B2 (en) Techniques to provide access point authentication for wireless network
US11210658B2 (en) Constructing a distributed ledger transaction on a cold hardware wallet
US20150363775A1 (en) Key protection method and system
CN111512608B (zh) 基于可信执行环境的认证协议
US11636478B2 (en) Method of performing authentication for a transaction and a system thereof
US11375369B2 (en) Message authentication method and communication method of communication network system, and communication network system
US8397281B2 (en) Service assisted secret provisioning
US20200195446A1 (en) System and method for ensuring forward & backward secrecy using physically unclonable functions
US10411886B1 (en) Authenticating secure channel establishment messages based on shared-secret
WO2021231087A1 (en) Constructing a distributed ledger transaction on a cold hardware wallet
CN106788989A (zh) 一种建立安全加密信道的方法及设备
GB2522445A (en) Secure mobile wireless communications platform
ES2926968T3 (es) Una primera entidad, una segunda entidad, un nodo intermedio, métodos para establecer una sesión segura entre una primera y una segunda entidad, y productos de programa informático
US9917694B1 (en) Key provisioning method and apparatus for authentication tokens
KR101358375B1 (ko) 스미싱 방지를 위한 문자메시지 보안 시스템 및 방법
US20240113885A1 (en) Hub-based token generation and endpoint selection for secure channel establishment
WO2023284691A1 (zh) 一种账户的开立方法、***及装置
KR20200043855A (ko) Dim을 이용한 드론 인증 방법 및 장치
CN114065170A (zh) 平台身份证书的获取方法、装置和服务器
JP5932709B2 (ja) 送信側装置および受信側装置