ES2963487T3 - Control remoto de un dispositivo informático - Google Patents

Control remoto de un dispositivo informático Download PDF

Info

Publication number
ES2963487T3
ES2963487T3 ES18727386T ES18727386T ES2963487T3 ES 2963487 T3 ES2963487 T3 ES 2963487T3 ES 18727386 T ES18727386 T ES 18727386T ES 18727386 T ES18727386 T ES 18727386T ES 2963487 T3 ES2963487 T3 ES 2963487T3
Authority
ES
Spain
Prior art keywords
computing device
bridge module
projection
certificate chain
bridge
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
ES18727386T
Other languages
English (en)
Inventor
Thomas Blackie
Laurent Cremmer
Alberto Bonamico
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.)
Vnc Automotive Ltd
Original Assignee
Vnc Automotive Ltd
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 Vnc Automotive Ltd filed Critical Vnc Automotive Ltd
Application granted granted Critical
Publication of ES2963487T3 publication Critical patent/ES2963487T3/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/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/3247Cryptographic 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 involving digital signatures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

Un método para establecer una sesión de control remoto entre un primer dispositivo informático y un segundo dispositivo informático para permitir que una interfaz gráfica de usuario de una aplicación ejecutada por un procesador del primer dispositivo informático sea controlada y vista remotamente en el segundo dispositivo informático, el método implementado en el primer dispositivo informático y que comprende: establecer una conexión con un módulo puente, siendo el módulo puente externo al primer dispositivo informático; realizar un procedimiento de autenticación con el módulo puente utilizando la conexión; establecer un canal de comunicación seguro con el módulo puente en la conexión; recibir, desde el módulo puente, una solicitud de autenticación transmitida desde el segundo dispositivo informático; en respuesta a recibir la solicitud de autenticación (i) acceder a una cadena de certificados de proyección almacenada en un almacén de datos seguro del módulo puente utilizando el canal de comunicación seguro, (ii) generar una respuesta que incluye la cadena de certificados de proyección, y (iii) dar instrucciones, a través de el canal de comunicación seguro, el módulo puente para firmar criptográficamente la respuesta usando una clave privada que está asociada con el módulo puente y se almacena en el almacén de datos seguro, y en respuesta recibir una firma del módulo puente a través del canal de comunicación seguro; y transmitir una respuesta de autenticación firmada al segundo dispositivo informático a través del módulo puente para establecer la sesión de control remoto, comprendiendo la respuesta de autenticación firmada la cadena de certificado de proyección y la firma. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Control remoto de un dispositivo informático
Campo de la invención
La presente invención se refiere a un método y sistema para controlar y/o visualizar de forma remota un dispositivo informático.
Antecedentes
Es conocido el uso de un primer dispositivo informático para ver y controlar un segundo dispositivo informático utilizando una aplicación de visor de computación en red virtual (VNC) que se ejecuta en el primer dispositivo informático (VNC Visor) y una aplicación de servidor VNC que se ejecuta en el segundo dispositivo informático (VNC Servidor). El contenido de la pantalla del segundo dispositivo informático se duplica en el primer dispositivo informático. El primer dispositivo informático tiene un mecanismo de interfaz que permite al usuario enviar eventos de entrada del usuario, como presionar una tecla física en el dispositivo, mover el cursor del ratón o tocar una entrada de la pantalla táctil, al segundo dispositivo informático que se está controlando. Como podrá apreciarse, la forma del enlace de datos y la naturaleza de los dispositivos informáticos pueden variar, dependiendo de la situación que se utilice.
Las tecnologías de proyección de aplicaciones en vehículos para dispositivos inteligentes, como MirrorLink, permiten que una aplicación se ejecute en un dispositivo inteligente como, por ejemplo, pero no limitado a, un teléfono inteligente para ser mostrado y utilizado en un vehículo utilizando la pantalla nativa y el mecanismo de control del vehículo.
Desde el punto de vista del dispositivo inteligente, el vehículo está abstraído detrás de una especificación de interfaz de hardware y software específica de la tecnología.
La tecnología actual de proyección de aplicaciones en vehículos para dispositivos inteligentes se basa en (i) una conexión física entre dispositivos, generalmente controlado en el espacio del sistema en el remitente (servidor VNC), (ii) una capa de autenticación, exigiendo el uso de un elemento seguro, generalmente controlado en el espacio del sistema en el remitente, para almacenar cadenas de certificados confiables u otros medios de autenticación, y (iii) un componente del sistema que se integrará en el remitente, que deben utilizar las aplicaciones para permitir la proyección.
El documento US 2008/320566 A1 describe un servicio de proxy que permite una operación de unión a un dominio para un cliente a través de una red no segura, empleando una relación de confianza original entre el proxy y un dispositivo en lugar de requerir o depender de la confianza pública.
Sumario de la invención
La presente invención está definida de acuerdo con las reivindicaciones independientes. Realizaciones específicas se definen en las reivindicaciones dependientes.
Según un aspecto de la presente invención, se proporciona un método para establecer una sesión de control remoto entre un primer dispositivo informático y un segundo dispositivo informático para permitir que una interfaz gráfica de usuario de una aplicación ejecutada por un procesador del primer dispositivo informático sea controlado remotamente y visto en el segundo dispositivo informático, el método implementado en el primer dispositivo informático y que comprende: establecer una conexión con un módulo puente, el módulo puente externo al primer dispositivo informático; realizar un procedimiento de autenticación con el módulo puente utilizando la conexión; establecer un canal de comunicación seguro con el módulo puente en la conexión; recibir, desde el módulo puente, una solicitud de autenticación transmitida desde el segundo dispositivo informático; en respuesta a recibir la solicitud de autenticación (i) acceder a una cadena de certificados de proyección almacenada en un almacén de datos seguro del módulo puente utilizando el canal de comunicación seguro, en el que la cadena de certificados de proyección comprende una cadena de certificados que conduce a un certificado raíz de confianza de proyección, en el que el certificado raíz de confianza de proyección se almacena en el segundo dispositivo informático, (ii) generar una respuesta que incluya la cadena de certificados de proyección, y (iii) instruir, a través del canal de comunicación seguro, el módulo puente firma criptográficamente la respuesta usando una clave privada que está asociada con el módulo puente y se almacena en el almacén de datos seguro, y en respuesta recibe una firma del módulo puente a través del canal de comunicación seguro; y transmitir una respuesta de autenticación firmada al segundo dispositivo informático a través del módulo puente para establecer la sesión de control remoto, comprendiendo la respuesta de autenticación firmada (i) la cadena de certificados de proyección que se va a validar utilizando el certificado raíz de confianza de proyección y (ii) la firma.
El acceso a la cadena de certificados de proyección puede comprender transmitir una solicitud para la cadena de certificados de proyección al módulo puente a través del canal de comunicación seguro, y recibir la cadena de certificados de proyección desde el módulo puente a través del canal de comunicación seguro.
La realización del procedimiento de autenticación comprende uno o más de: (i) recuperar una cadena de certificados asociada con el primer dispositivo informático del almacenamiento en el primer dispositivo informático; firmar la cadena de certificados asociada con el primer dispositivo informático con una clave privada asociada con el primer dispositivo informático; y transmitir la cadena de certificados firmada al módulo puente para su validación por el módulo puente, dicha clave privada almacenada en la memoria del primer dispositivo informático; y (ii) recibir una cadena de certificados firmada asociada con el módulo puente junto con una clave pública asociada con el módulo puente; y validar la cadena de certificados asociada con el módulo puente usando un certificado raíz almacenado en la memoria del primer dispositivo informático.
El establecimiento de un canal de comunicación seguro con el módulo puente en la conexión puede comprender: generar al menos una clave de cifrado simétrica; cifrar dicha al menos una clave de cifrado simétrica usando una clave pública asociada con el módulo puente para generar al menos una clave de cifrado simétrica cifrada; y transmitir al menos una clave de cifrado simétrica cifrada al módulo puente.
El método puede comprender además invalidar al menos una clave de cifrado simétrica en respuesta a la detección de la pérdida de dicha conexión.
El método puede comprender además: recibir una solicitud, desde el módulo puente, para iniciar la proyección de dicha interfaz gráfica de usuario al segundo dispositivo informático, la solicitud procedente del segundo dispositivo informático; y transmitir una orden al módulo puente para establecer un puente que permita enrutar los datos entre el primer dispositivo informático y el segundo dispositivo informático.
El establecimiento de la conexión con el módulo puente puede ser en respuesta a la entrada del usuario recibida en el primer dispositivo informático.
Un dispositivo puente externo tanto al primer dispositivo informático como al segundo dispositivo informático puede comprender el módulo puente, dicho establecimiento de una conexión con el módulo puente comprende establecer una conexión con el dispositivo puente.
El segundo dispositivo informático puede comprender el módulo puente, dicho establecimiento de una conexión con el módulo puente comprende establecer una conexión con el segundo dispositivo informático.
La conexión establecida con el módulo puente puede ser una conexión inalámbrica. La conexión inalámbrica puede establecerse de acuerdo con un protocolo inalámbrico de igual a igual. La conexión inalámbrica puede ser una conexión Wi-Fi Direct o una conexión Bluetooth
La conexión establecida con el módulo puente puede ser una conexión por cable.
El segundo dispositivo informático puede ser una unidad principal de vehículo integrada en un vehículo, comprendiendo la unidad principal del vehículo una pantalla para mostrar la interfaz gráfica de usuario de dicha aplicación.
El primer dispositivo informático puede ser un dispositivo informático móvil, siendo la informática móvil la de un teléfono móvil, un ordenador portátil, tableta y un dispositivo informático sin cabeza.
Según otro aspecto de la presente invención, se proporciona un producto de programa informáti
una sesión de control remoto entre un primer dispositivo informático y un segundo dispositivo informático para permitir que una interfaz gráfica de usuario de una aplicación ejecutada por un procesador del primer dispositivo informático ser controlado remotamente y visto en el segundo dispositivo informático, el producto de programa de ordenador que comprende código incorporado en un medio no transitorio legible por ordenador y configurado de manera que cuando se ejecuta en un procesador del primer dispositivo informático para realizar las etapas del método descritas en el presente documento.
El código puede proporcionarse en un soporte como un disco, CD o DVD-ROM, memoria programada, como por ejemplo una memoria de sólo lectura (Firmware), o en un soporte de datos como, por ejemplo, un soporte de señales óptico o eléctrico. El código (y/o datos) para implementar realizaciones de la invención puede comprender fuente, código objeto o ejecutable en un lenguaje de programación convencional (interpretado o compilado) como C, o código ensamblador, código para configurar o controlar un ASIC (circuito integrado de aplicación específica) o FPGA (matriz de puerta programable en campo), o código para un lenguaje de descripción de hardware.
Según otro aspecto de la presente invención, se proporciona un dispositivo informático que comprende: un procesador configurado para ejecutar una aplicación para establecer una sesión de control remoto entre el dispositivo informático y un segundo dispositivo informático para permitir una interfaz gráfica de usuario de una aplicación de usuario ejecutada por el procesador del dispositivo informático para ser controlado remotamente y visto en el segundo dispositivo informático, en el que la aplicación está configurada para: establecer una conexión con un módulo puente, el módulo puente externo al dispositivo informático; realizar un procedimiento de autenticación con el módulo puente utilizando la conexión; establecer un canal de comunicación seguro con el módulo puente en la conexión; recibir, desde el módulo puente, una solicitud de autenticación transmitida desde el segundo dispositivo informático; en respuesta a recibir la solicitud de autenticación (i) acceder a una cadena de certificados de proyección almacenada en un almacén de datos seguro del módulo puente utilizando el canal de comunicación seguro, en el que la cadena de certificados de proyección comprende una cadena de certificados que conduce a un certificado raíz de confianza de proyección, en el que el certificado raíz de confianza de proyección se almacena en el segundo dispositivo informático, (ii) generar una respuesta que incluya la cadena de certificados de proyección, y (iii) instruir, a través del canal de comunicación seguro, el módulo puente para firmar criptográficamente la respuesta usando una clave privada que está asociada con el módulo puente y se almacena en el almacén de datos seguro, y en respuesta recibe una firma del módulo puente a través del canal de comunicación seguro; y transmitir una respuesta de autenticación firmada al segundo dispositivo informático a través del módulo puente para establecer la sesión de control remoto, comprendiendo la respuesta de autenticación firmada (i) la cadena de certificados de proyección que se va a validar utilizando el certificado raíz de confianza de proyección y (ii) la firma.
La realización del procedimiento de autenticación comprende uno o más de: (i) recuperar una cadena de certificados asociada con el primer dispositivo informático del almacenamiento en el primer dispositivo informático; firmar la cadena de certificados asociada con el primer dispositivo informático con una clave privada asociada con el primer dispositivo informático; y transmitir la cadena de certificados firmada al módulo puente para su validación por el módulo puente, dicha clave privada almacenada en la memoria del primer dispositivo informático; y (ii) recibir una cadena de certificados firmada asociada con el módulo puente junto con una clave pública asociada con el módulo puente; y validar la cadena de certificados asociada con el módulo puente usando un certificado raíz almacenado en la memoria del primer dispositivo informático.
Según otro aspecto de la presente invención, se proporciona un método para establecer una sesión de control remoto entre un primer dispositivo informático y un segundo dispositivo informático para permitir que una interfaz gráfica de usuario de una aplicación ejecutada por un procesador del primer dispositivo informático sea controlado remotamente y visto en el segundo dispositivo informático, el método implementado en un módulo puente y que comprende: establecer una conexión con el primer dispositivo informático, el módulo puente externo al primer dispositivo informático; realizar un procedimiento de autenticación con el primer dispositivo informático que utiliza la conexión; establecer un canal de comunicación seguro con el primer dispositivo informático en la conexión; transmitir una solicitud de autenticación recibida desde el segundo dispositivo informático al primer dispositivo informático; recibir una solicitud desde el primer dispositivo informático a través del canal de comunicación seguro, para una cadena de certificados de proyección almacenada en un almacén de datos seguro del módulo puente, en el que la cadena de certificados de proyección comprende una cadena de certificados que conduce a un certificado raíz de confianza de proyección, en el que el certificado raíz de confianza de proyección se almacena en el segundo dispositivo informático y, en respuesta, se recupera la cadena de certificados de proyección del almacén de datos seguro y se transmite la cadena de certificados de proyección al primer dispositivo informático a través del canal de comunicación seguro; recibir una respuesta que incluye la cadena del certificado de proyección y una solicitud para firmar dicha respuesta, desde el primer dispositivo informático a través del canal de comunicación seguro; firmar criptográficamente la respuesta usando una clave privada asociada con el módulo puente y que se almacena en el almacén de datos seguro para generar una firma para el primer dispositivo informático, y transmitir la firma al primer dispositivo informático a través del canal de comunicación seguro; y transmitir una respuesta de autenticación firmada recibida desde el primer dispositivo informático al segundo dispositivo informáti
la respuesta de autenticación firmada (i) la cadena de certificados de proyección que se va a validar utilizando el certificado raíz de confianza de proyección y (ii) la firma.
La realización del procedimiento de autenticación comprende uno o más de: (i) recibir una cadena de certificados firmada asociada con el primer dispositivo informático desde el primer dispositivo informático; y validar la cadena de certificados asociada con el primer dispositivo informático utilizando un certificado raíz almacenado en dicho almacén de datos seguro; y (ii) recuperar una cadena de certificados asociada con el módulo puente de dicho almacén de datos seguro; firmar la cadena de certificados asociada con el módulo puente con una clave privada asociada con el módulo puente; y transmitir la cadena de certificados firmada al primer dispositivo informático para su validación por el primer dispositivo informático, dicha clave privada se almacena en dicho almacén de datos seguro.
El método puede comprender establecer un puente para permitir que los datos se enruten entre el primer dispositivo informático y el segundo dispositivo informático.
Tras la construcción del puente, el método puede comprender: recibir datos en un primer formato desde el segundo dispositivo informático para transmitirlos al primer dispositivo informático y transmitir dichos datos en un segundo formato al primer dispositivo informático; y recibir datos en el segundo formato desde el primer dispositivo informático para transmitirlos al segundo dispositivo informático y transmitir dichos datos en el primer formato al segundo dispositivo informático.
El primer formato y el segundo formato pueden ser iguales.
De manera alternativa, el primer formato y el segundo formato pueden ser diferentes, comprendiendo el método realizar una traducción de los datos entre el primer formato y el segundo formato.
El método puede comprender además: transmitir una solicitud al primer dispositivo informático para iniciar la proyección de dicha interfaz gráfica de usuario al segundo dispositivo informático, la solicitud procedente del segundo dispositivo informático; y, en respuesta, recibir una orden desde el primer dispositivo informáti
puente para permitir que los datos se enruten entre el primer dispositivo informático y el segundo dispositivo informático.
La conexión establecida con el primer dispositivo informático puede ser una conexión por cable o inalámbrica.
Según otro aspecto de la presente invención, se proporciona un módulo puente para establecer una sesión de control remoto entre un primer dispositivo informático y un segundo dispositivo informático para permitir que una interfaz gráfica de usuario de una aplicación ejecutada por un procesador del primer dispositivo informático sea controlado remotamente y visto en el segundo dispositivo informático, en el que el módulo puente está configurado para: establecer una conexión con el primer dispositivo informático, el módulo puente externo al primer dispositivo informático; realizar un procedimiento de autenticación con el primer dispositivo informático que utiliza la conexión; establecer un canal de comunicación seguro con el primer dispositivo informático en la conexión; transmitir una solicitud de autenticación recibida desde el segundo dispositivo informático al primer dispositivo informático; recibir una solicitud desde el primer dispositivo informático a través del canal de comunicación seguro, para una cadena de certificados de proyección almacenada en un almacén de datos seguro del módulo puente, en el que la cadena de certificados de proyección comprende una cadena de certificados que conduce a un certificado raíz de confianza de proyección, en el que el certificado raíz de confianza de proyección se almacena en el segundo dispositivo informático y, en respuesta, recuperar la cadena de certificados de proyección del almacén de datos seguro y transmitir la cadena de certificados de proyección al primer dispositivo informático a través del canal de comunicación seguro; recibir una respuesta que incluya la cadena del certificado de proyección y una solicitud para firmar dicha respuesta, desde el primer dispositivo informático a través del canal de comunicación seguro; firmar criptográficamente la respuesta usando una clave privada asociada con el módulo puente y que se almacena en el almacén de datos seguro para generar una firma para el primer dispositivo informático, y transmitir la firma al primer dispositivo informático a través del canal de comunicación seguro; y transmitir una respuesta de autenticación firmada recibida desde el primer dispositivo informático al segundo dispositivo informáti
la respuesta de autenticación firmada (i) la cadena de certificados de proyección que se va a validar utilizando el certificado raíz de confianza de proyección y (ii) la firma.
La realización del procedimiento de autenticación comprende uno o más de: (i) recuperar una cadena de certificados asociada con el primer dispositivo informático del almacenamiento en el primer dispositivo informático; firmar la cadena de certificados asociada con el primer dispositivo informático con una clave privada asociada con el primer dispositivo informático; y transmitir la cadena de certificados firmada al módulo puente para su validación por el módulo puente, dicha clave privada almacenada en la memoria del primer dispositivo informático; y (ii) recibir una cadena de certificados firmada asociada con el módulo puente junto con una clave pública asociada con el módulo puente; y validar la cadena de certificados asociada con el módulo puente usando un certificado raíz almacenado en la memoria del primer dispositivo informático.
El módulo puente puede estar integrado en un dispositivo puente, el dispositivo puente externo tanto al primer dispositivo informático como al segundo dispositivo informático.
El módulo puente puede estar integrado en el segundo dispositivo informático.
Estos y otros aspectos serán evidentes a partir de las realizaciones descritas a continuación. El ámbito de la presente divulgación no pretende limitarse a este sumario ni a implementaciones que necesariamente resuelvan alguna o todas las desventajas señaladas.
Breve descripción de los dibujos
Para comprender mejor la presente divulgación y mostrar cómo se pueden poner en práctica las realizaciones, se hace referencia a los dibujos adjuntos, en los que:
La figura 1 es un diagrama de bloques esquemático de una implementación conocida de tecnología de proyección de aplicaciones en vehículos;
La figura 2 es un diagrama de bloques esquemático de una implementación de tecnología de proyección de aplicaciones en vehículos de acuerdo con realizaciones de la presente invención;
La figura 3 es un diagrama de bloques esquemático más detallado de una implementación de tecnología de proyección de aplicaciones en vehículos de acuerdo con realizaciones de la presente invención;
La figura 4 ilustra un proceso de aprovisionamiento clave;
La figura 5 ilustra el intercambio de certificados y claves entre los distintos componentes del sistema;
La figura 6a muestra una descripción general de una secuencia de sesión de proyección;
La figura 6b muestra una secuencia de autenticación mutua en la secuencia de la sesión de proyección; La figura 6c muestra una secuencia de establecimiento de sesión de proyección en la secuencia de sesión de proyección; y
La figura 6d muestra una secuencia de autenticación de proyección en la secuencia de sesión de proyección.
Descripción detallada
En la figura 1 se muestra un diagrama de bloques esquemático de una implementación conocida de tecnología de proyección de aplicaciones en vehículos 100.
Como se muestra en la figura 1, una aplicación de usuario 122 (por ejemplo, una aplicación de navegación, una aplicación de comunicación, una aplicación de música, etc.) se ejecuta en el espacio del usuario en un dispositivo informático móvil 12.
Para proyectar la interfaz gráfica de usuario de la aplicación de usuario 122 que se muestra en una pantalla del dispositivo informático móvil 12 en una pantalla de un dispositivo informático remoto 10, por ejemplo, una unidad principal de vehículo integrada en un vehículo, una aplicación de servidor VNC 124 ejecutándose en el espacio del sistema (por ejemplo, en un sistema operativo Android™) en el dispositivo informático móvil 12 se utiliza para capturar una imagen mostrada en la pantalla del dispositivo informático móvil y enviarla a través de un enlace de transporte (por ejemplo, un cable USB) al dispositivo informático remoto 10; por lo tanto, el dispositivo informático móvil 12 puede denominarse servidor VNC ya que envía información para ser vista en el dispositivo informático remoto 10. Una aplicación de visor VNC correspondiente 102 se está ejecutando en el dispositivo informático remoto 10 para recibir la imagen de la pantalla del dispositivo informático móvil 12 y emitirla en una pantalla en el dispositivo informático remoto 10; por lo tanto, el dispositivo remoto puede denominarse visor VNC.
Como ya saben las personas expertas en la técnica, el sistema operativo de un dispositivo informático moderno generalmente segrega la memoria virtual en espacio del sistema y espacio del usuario. Principalmente, esta separación sirve para proporcionar protección de la memoria y del hardware contra comportamientos de software maliciosos o errantes. El espacio del sistema está estrictamente reservado para ejecutar un kernel de sistema operativo privilegiado, extensiones del kernel y la mayoría de los controladores de dispositivos. En contraste, el espacio de usuario es el área de memoria donde se ejecutan el software de la aplicación y algunos controladores.
Mediante un dispositivo informático remoto, se refiere a cualquier dispositivo que esté físicamente alejado del dispositivo informático móvil. El dispositivo informático remoto puede estar ubicado a una distancia considerable del dispositivo móvil o puede estar ubicado cerca (por ejemplo, ambos dentro de un vehículo).
La conocida tecnología de proyección de aplicaciones en vehículos MirrorLink se basa en:
• El uso de USB CDC/NCM (Modo de control de red de clase de dispositivo de comunicación de bus serie universal) como capa de transporte 128, sin embargo, esto no es compatible de forma nativa con sistemas operativos conocidos como Android™ y no está disponible para la aplicación de servidor VNC 124;
• Una capa de autenticación, exigir el uso de un par de clave privada/clave pública y una cadena de certificado de dispositivo de proyección almacenada de forma segura en un almacén de datos seguro 126 en el dispositivo inteligente, la cadena de certificados del dispositivo de proyección que conduce de nuevo a un certificado raíz de confianza 106 del Car Connectivity Consortium (CCC) almacenado en el dispositivo informático 10; y
• Un servidor MirrorLink (por ejemplo, una aplicación de servidor VNC 124) con privilegios del sistema, capaz de acceder al almacén de datos seguro 126 para recuperar la cadena de certificados del dispositivo de proyección, intercambios de signos, y capaz de reenviar la interfaz gráfica de usuario de la aplicación de usuario 122 al Cliente MirrorLink (por ejemplo, una aplicación de visor VNC 102) usando una API a nivel de sistema.
Tomemos así el ejemplo del dispositivo informático móvil 12 que es un teléfono móvil. Para implementar la tecnología de proyección de aplicaciones en el vehículo MirrorLink, el proveedor del teléfono móvil debe modificar el sistema operativo que se ejecuta en el teléfono móvil para agregar los protocolos USB requeridos y también certificar el teléfono móvil, por ejemplo, certificado DAP (protocolo de atestación de dispositivo) de manera que el almacén de datos seguro 126 almacene la cadena del certificado del dispositivo de proyección para que el teléfono móvil pueda presentarse como un dispositivo MirrorLink Server certificado ante la unidad central del vehículo.
Las realizaciones de la presente invención superan las limitaciones ligadas al hardware de las soluciones conocidas.
En la figura 2 se muestra un diagrama de bloques esquemático de una implementación de tecnología de proyección de aplicaciones en un vehículo 200 de acuerdo con realizaciones de la presente invención.
El dispositivo informático 10 (también denominado en el presente documento segundo dispositivo informático) mostrado en la figura 2 es el mismo que el dispositivo informático 10 mostrado en la figura 1.
En realizaciones de la presente invención, un módulo puente 114 se vuelve responsable de implementar funciones del sistema de hardware y software que normalmente estarían integradas en el dispositivo informático móvil 12 (también denominado en el presente documento primer dispositivo informático y dispositivo inteligente) a nivel de sistema.
Como se muestra en la figura 2, un dispositivo puente 14 puede comprender el módulo puente 114. En estas realizaciones, el dispositivo puente 14 es un dispositivo independiente (externo tanto al dispositivo informático 10 como al dispositivo informático móvil 12) que está dispuesto para comunicarse tanto con el dispositivo informático 10 como con el dispositivo informático móvil 12.
Así, el dispositivo puente 14 comprende un componente de transporte 146 que se adapta a los requisitos de transporte 108 del espectador objetivo; un almacén de datos seguro (por ejemplo, un elemento seguro) 144 que proporciona almacenamiento, operaciones de cifrado y firma que cumplen con los requisitos de seguridad de la tecnología de proyección del dispositivo informático móvil, por ejemplo MirrorLink; y una interfaz de comunicación P2P segura 142 y una API que permiten que la aplicación de servidor VNC 124 que se ejecuta en el dispositivo informático móvil 12 haga uso del transporte 146 del dispositivo puente y el elemento seguro 144 para actuar como un servidor compatible con la tecnología de proyección de dispositivos inteligentes.
El dispositivo puente 14 se conecta al dispositivo informático 10. El dispositivo puente 14 puede configurarse para conectarse al dispositivo informático 10 mediante una conexión por cable. Por ejemplo, el dispositivo puente 14 puede tomar la forma de una llave que se va a conectar a un puerto (por ejemplo, un puerto USB) en el dispositivo informático 10. El dispositivo puente 14 puede configurarse para comunicarse con el dispositivo informático 10 usando un protocolo Ethernet a través de USB tal como el protocolo USB CDC/NCM; sin embargo, se apreciará que otros protocolos para la capa de transporte entre el dispositivo informático 10 y el dispositivo puente 14 puede ser usado. En realizaciones alternativas, el dispositivo puente 14 está configurado para conectarse al dispositivo informático 10 usando una conexión inalámbrica.
El dispositivo puente 14 también se conecta al dispositivo informático móvil 12. El dispositivo puente 14 puede configurarse para conectarse al dispositivo informático 10 usando una conexión inalámbrica de acuerdo con un protocolo inalámbrico de igual a igual que está disponible para aplicaciones espaciales de usuario tales como una conexión Wi-Fi Direct, una conexión Universal Plug and Play o una conexión Bluetooth. Por tanto, será evidente que el dispositivo puente 14 puede añadir capacidades inalámbricas al receptor que de otro modo estaría cableado (dispositivo informático 10). En realizaciones alternativas, el dispositivo puente 14 está configurado para conectarse al dispositivo informático móvil 12 usando una conexión por cable (por ejemplo, USB, HDMI, una conexión universal Plug and Play, etc.).
El dispositivo puente 14 y la aplicación de servidor VNC 124 se comunican a través de un canal seguro, por ejemplo, una conexión Secure Socket Layer (SSL). Como se explicará con más detalle a continuación, la comunicación segura entre el dispositivo puente 14 y la aplicación de servidor VNC 124 se puede lograr implementando cadenas de certificados confiables que son independientes de la tecnología de proyección (utilizada para la autenticación) y el intercambio de al menos una clave de cifrado simétrica para establecer un canal seguro.
El dispositivo informático 10 se conecta al dispositivo puente 14 y, para todos los efectos, ve la combinación del dispositivo puente 14 y la aplicación de servidor VNC 124 del espacio de usuario como un dispositivo inteligente normal que tiene soporte integrado a nivel de sistema para la tecnología de proyección (como en el dispositivo informático móvil de la técnica anterior mostrado en la figura 1).
Para proyectar la interfaz gráfica de usuario de la aplicación de usuario 122 en una pantalla de un dispositivo informático remoto 10, por ejemplo, una unidad principal de vehículo con una pantalla integrada en un vehículo, la aplicación de servidor VNC 124 que se ejecuta en el espacio de usuario en el dispositivo informático móvil 12 se usa para capturar una imagen mostrada en una pantalla del dispositivo informático móvil 12 y enviarla a través de una interfaz de comunicaciones P2P 127 al dispositivo informático remoto 10 a través del dispositivo puente 14.
La aplicación de visor VNC correspondiente 102 que se ejecuta en el dispositivo informático remoto 10 está configurada para recibir la imagen de la pantalla del dispositivo informático móvil 12 y emitirla en una pantalla en el dispositivo informático remoto 10.
La "pantalla" del dispositivo informático móvil 12 podría ser una pantalla física, por ejemplo, una pantalla de un teléfono móvil, PDA, ordenador portátil o tableta, etc. Sin embargo, la pantalla del dispositivo informático móvil 12 no necesita ser física, es decir, podría ser una visualización virtual en la memoria del dispositivo informático 12. Esto es, el dispositivo informático móvil 12 podría ser un dispositivo informático portátil sin cabeza (un dispositivo informático sin pantalla física) tal como un Intel® Compute Stick. En estas realizaciones alternativas en las que la pantalla es una pantalla virtual, un dispositivo informático externo con una pantalla, en comunicación por cable o inalámbrica con el dispositivo informático portátil sin cabeza 12, se puede utilizar para ver la interfaz gráfica de usuario de la aplicación de usuario 122 que se está proyectando en la aplicación de visor VNC 102.
Será evidente que el propósito del dispositivo puente 14 es doble:
1. Puentear de forma transparente todos los datos relevantes de la sesión de control remoto entre el dispositivo informático remoto 10 y el dispositivo informático móvil 12. Esto es, para unir de forma transparente los datos de la sesión de control remoto entre su interfaz de capa de transporte 146 (por ejemplo, una interfaz USB CDC-NCM) y su interfaz de comunicación P2P 142.
El término "datos de sesión de control remoto" incluye cualquier dato intercambiado entre el dispositivo informático 10 y el dispositivo informático móvil 12 a través del dispositivo puente 14, por ejemplo, mensajes intercambiados para el establecimiento de una sesión de control remoto entre el dispositivo informático 10 y el dispositivo informático móvil 12, datos de imagen intercambiados durante la sesión de control remoto, mensajes de eventos de entrada del usuario intercambiados durante la sesión de control remoto (por ejemplo, cuando un usuario realiza una operación de entrada a la aplicación proyectada 104 en el dispositivo informático 10 o una operación de entrada a la aplicación de usuario 122 que se ejecuta en el dispositivo informático móvil 12), y mensajes intercambiados para la terminación de una sesión de control remoto entre el dispositivo informático 10 y el dispositivo informático móvil 12.
2. Actuar como un elemento seguro que almacena los certificados que la aplicación de servidor VNC 124 utilizará para presentarse como un dispositivo certificado al dispositivo informático remoto 10, y firmar una respuesta de atestación (por ejemplo, una respuesta de atestación DAP) en nombre de la aplicación de servidor VNC 124.
El uso del dispositivo puente 14 en realizaciones de la presente invención permite a cualquier tercero implementar cualquier tecnología de proyección de dispositivo inteligente, independiente del sistema operativo del dispositivo inteligente y de la tecnología de proyección preferida, en total conformidad con la tecnología de proyección objetivo.
En la figura 3 se muestra un diagrama de bloques esquemático más detallado de la implementación de la tecnología de proyección de aplicaciones en el vehículo 200.
Como se muestra en la figura 3, el dispositivo informático móvil 12 comprende un almacén de claves 129 accesible en el espacio del usuario que almacena una cadena de certificados de aplicación de servidor 121, un certificado raíz de confianza del fabricante del puente y un par de claves pública/privada de aplicación de servidor 125.
Como se muestra en la figura 3, el almacén de datos seguro (por ejemplo, un elemento seguro) 144 en el dispositivo puente 14 almacena una cadena de certificado de dispositivo puente 140, una cadena de certificados de dispositivo de proyección 143, un par de claves pública/privada de dispositivo puente 141 y un certificado raíz de confianza de aplicación de servidor 145.
Como se muestra en la figura 3, el dispositivo informático 10 almacena un certificado raíz de confianza de proyección 105.
La figura 4 ilustra un proceso de aprovisionamiento de claves de acuerdo con realizaciones de la invención que hace referencia a una autoridad de certificación de proyección, un proveedor de dispositivo puente, una autoridad de certificación del proveedor de dispositivo puente, un proveedor de aplicaciones de servidor y una autoridad certificadora de proveedor de aplicaciones de servidor. Una o más etapas mostradas en la figura 4 pueden implementarse como parte del proceso de fabricación/producción del dispositivo puente 14, aplicación de servidor VNC 124 y/o aplicación de visor VNC 102. Alternativa o adicionalmente, una o más etapas mostradas en la figura 4 pueden implementarse después de que el dispositivo puente 14, la aplicación de servidor VNC 124 y/o la aplicación de visor<v>N<c>102 se ha fabricado/producido.
Se apreciará que el proveedor de la aplicación de servidor y la autoridad certificadora del proveedor de la aplicación de servidor pueden ser, de hecho, la misma entidad. De forma similar, el proveedor del dispositivo puente y la autoridad certificadora del proveedor del dispositivo puente pueden ser, de hecho, la misma entidad. Además, el proveedor del dispositivo puente y el proveedor de la aplicación de servidor pueden ser, de hecho, la misma entidad.
Como se muestra en la figura 4, en la etapa 1, la autoridad certificadora del proveedor del dispositivo puente genera un par de claves pública/privada del fabricante, (SKPuente/PKPuente) donde SK es una clave secreta (privada) y PK es una clave pública. En la etapa 2, la autoridad certificadora del proveedor del dispositivo puente envía una solicitud de firma de certificado del fabricante de la proyección (también denominado en el presente documento certificado del fabricante puente) a la autoridad certificadora de la proyección. En la etapa 3, la autoridad certificadora de proyección emite un certificado firmado del fabricante de la proyección (CertPuente) a la autoridad de certificación del proveedor del dispositivo puente que corresponde a la clave pública Puente del proveedor del dispositivo puente firmado con la clave privada SOroyeccion de la autoridad certificadora de proyección. Esto es, la autoridad de certificación de proyección verifica la autenticidad de la clave pública Puente del proveedor del dispositivo puente.
El certificado del fabricante de la proyección permite al proveedor del dispositivo puente actuar como autoridad de subcertificación para la autoridad de certificación de la proyección. De esta manera, al firmar la clave pública del dispositivo puente Pospositivo con su clave privada CA S iente , el proveedor del dispositivo puente establece dos cadenas de confianza (o cadenas de certificados): una que conduce al certificado raíz de confianza del fabricante del puente 123 (que permite que la aplicación de servidor<v>N<c>124 confíe en el dispositivo puente 14) y otra que conduce al certificado raíz de confianza de proyección 105 (permitir que la aplicación de visor VNC 102 confíe en la aplicación de servidor VNC 124, a través del dispositivo puente 14).
En la etapa 4, el dispositivo puente 14 genera el par de claves pública/privada del dispositivo puente 141, (SKDispositivo/PKDispositivo). En la etapa 5, el dispositivo puente 14 envía una solicitud de firma de certificado de dispositivo puente con la clave pública 141 del dispositivo puente a la autoridad certificadora del proveedor del dispositivo puente. En la etapa 6, la autoridad de certificación del proveedor del dispositivo puente emite un certificado de dispositivo puente firmado 140 (CertDispositivo), también denominado en el presente documento certificado de dispositivo, al dispositivo puente 14 que corresponde a la clave pública Pospositivo del dispositivo puente firmado con la clave privada SKPuente del proveedor del dispositivo puente. Esto es, la autoridad de certificación del proveedor del dispositivo puente verifica la autenticidad de la clave pública POspositivo del dispositivo puente. También en la etapa 6, la autoridad certificadora del proveedor del dispositivo puente emite una cadena de certificado de dispositivo de proyección firmada 143 al dispositivo puente 14.
La cadena de certificados de dispositivo de proyección 143 comprende el certificado raíz de confianza de proyección 105 en la parte superior, el certificado del fabricante de la proyección (CertPuente) y el certificado de dispositivo puente 140 (CertDispositivo). La cadena de certificados de dispositivo puente 140 comprende el certificado raíz de confianza del proveedor del dispositivo puente 123 en la parte superior y el certificado de dispositivo puente (CertDispositivo).
En la etapa 7, el proveedor de la aplicación de servidor genera el par de claves pública/privada de la aplicación de servidor 125. En la etapa 8, el proveedor de la aplicación de servidor envía una solicitud de firma de certificado de la aplicación de servidor con la clave pública 125 de la aplicación de servidor a la autoridad certificadora del proveedor de la aplicación de servidor. En la etapa 9, la autoridad de certificación del proveedor de aplicaciones de servidor emite una cadena de certificados de aplicación de servidor firmada 121 al proveedor de aplicaciones de servidor que corresponde a la clave pública de la aplicación de servidor PKservidor firmada con la clave privada SKProveedor del proveedor de aplicaciones de servidor. Esto es, la autoridad de certificación del proveedor de la aplicación de servidor verifica la autenticidad de la clave pública POervidorde la aplicación de servidor. La cadena de certificado de aplicación de servidor firmada 121 y el par de claves pública/privada 125 se aprovisionan en el momento de la construcción como parte de la aplicación de servidor VNC 124 o son descargados posteriormente por un usuario del proveedor de la aplicación de servidor.
En la etapa 10, la autoridad de certificación del proveedor del dispositivo de puente publica el certificado raíz de confianza del proveedor del dispositivo de puente 123 (también denominado en el presente documento certificado raíz de confianza del fabricante del puente) al proveedor de la aplicación de servidor. En la etapa 11, el proveedor de la aplicación de servidor instala el certificado raíz de confianza del proveedor del dispositivo puente 123 como parte de la aplicación de servidor VNC 124.
En la etapa 12, la autoridad certificadora del proveedor de la aplicación de servidor publica el certificado raíz de confianza 145 del proveedor de la aplicación de servidor para el proveedor del dispositivo puente. En la etapa 13, el proveedor del dispositivo puente instala el certificado raíz de confianza del proveedor de la aplicación de servidor 145 en el dispositivo puente 14.
Por último, en la etapa 14, la autoridad de certificación de proyección publica el certificado raíz de confianza de proyección 105 en la aplicación de visor VNC 102.
La figura 5 también muestra la distribución de certificados y claves públicas entre la autoridad de certificación de proyección, el proveedor del dispositivo puente, el proveedor de la aplicación de servidor, el dispositivo puente 14 y la aplicación de servidor VNC 124. La numeración utilizada en la figura 5 corresponde a los números de etapas que se muestran en la figura 4. La figura 5 ilustra cómo la cadena de confianza de la tecnología de proyección se puede integrar perfectamente con la propia cadena de confianza de los dispositivos puente y con las propias cadenas de confianza de la aplicación de servidor VNC.
Ahora se hace referencia a la figura 6a que ilustra una visión general de una secuencia de sesión de proyección.
En la etapa 1, un usuario inicia la aplicación de visor VNC 102 en el dispositivo informático 10. Esto hace que la aplicación de visor VNC 102 encienda el dispositivo puente 14 (etapa 2) y se conecte al dispositivo puente 14 (etapa 3).
En la etapa 4, el usuario inicia la aplicación de servidor VNC 124 en el dispositivo informático 12. En la etapa 5, la aplicación de servidor VNC 124 busca un dispositivo puente de acuerdo con la capa P2P elegida (por ejemplo, enumeración USB, Bluetooth, WiFi-P2P, etc.) y en la etapa 6 el dispositivo puente 14 y la aplicación de servidor VNC 124 se emparejan a través de la capa de comunicación elegida (conexión física USB, punto de control UPnP, formación de grupos WiFi-P2P, etc.).
La secuencia de sesión de proyección luego pasa a una fase de establecimiento de conexión segura 602 en la que en la etapa 7 la aplicación de servidor VNC 124 y el dispositivo puente 14 se autentican entre sí y en la etapa 8 la aplicación de servidor VNC 124 y el dispositivo puente 14 establecen un canal de comunicación seguro (por ejemplo, una conexión SSL) entre la aplicación de servidor VNC 124 y el dispositivo puente 14.
Los expertos en la técnica apreciarán que existen varias formas de implementar la fase de establecimiento de conexión segura 602.
Ahora se hace referencia a la figura 6b que ilustra una forma de implementar la fase 602 de establecimiento de conexión segura.
Como se muestra en la figura 6b en la etapa 6, la interfaz de comunicaciones P2P 127 envía la cadena de certificados de aplicación de servidor 121 firmada con la clave privada de aplicación de servidor 125 a la interfaz de comunicación P2P 142 del dispositivo puente. Esto es, la cadena de certificados de aplicación de servidor 121 (incluida la clave pública 125 de la aplicación de servidor VNC) se empaqueta en un mensaje y el mensaje en sí está firmado con una firma por la aplicación de servidor VNC 124 usando su clave privada 125. Tras la recepción, en la etapa 7, el dispositivo puente 14 verifica que el mensaje es genuino, verificando que la firma del mensaje corresponde a la clave pública de la aplicación de servidor en la cadena de certificados de la aplicación de servidor 121. Como es conocido por los expertos en la técnica, una firma es un hash de un mensaje cifrado con una clave privada. El dispositivo puente 14 realiza esta verificación calculando un hash del mensaje, descifra la firma utilizando la clave pública de la aplicación de servidor VNC (incluida en la cadena de certificados de la aplicación de servidor 121) y compara los dos valores; si coinciden, la firma se considera válida. En la etapa 7, el dispositivo puente 14 verifica además que la aplicación de servidor VNC 124 es quien dice ser, validando la cadena de certificados de aplicaciones de servidor 121 usando el certificado raíz de confianza del proveedor de aplicaciones de servidor 145. La autenticación proporcionada es exitosa, la interfaz de comunicación P2P 142 envía un mensaje de autenticación aceptada a la interfaz de comunicación P2P 127 en la etapa 8, de lo contrario, en caso de fallo de autenticación, la interfaz de comunicación P2P 142 se desconecta de la interfaz de comunicación P2P 127 (etapa 18).
De una manera similar, en la etapa 9, el dispositivo puente 14 responde enviando su cadena de certificado de dispositivo puente 140 firmada con la clave privada 141 del dispositivo puente desde la interfaz de comunicación P2P 142 del dispositivo puente a la interfaz de comunicaciones P2P 127. Esto es, la cadena de certificados del dispositivo puente 140 (incluida la clave pública 141 del dispositivo puente) se empaqueta en un mensaje y el mensaje en sí está firmado con una firma por el dispositivo puente 14 usando su clave privada 141. Tras la recepción, en la etapa 10, la aplicación de servidor VNC 124 verifica que el mensaje es genuino, verificando que la firma del mensaje corresponde a la clave pública del dispositivo puente en la cadena de certificados del dispositivo puente 140. La aplicación de servidor<v>N<c>124 realiza esta verificación calculando un hash del mensaje, descifra la firma utilizando la clave pública del dispositivo puente (incluida en la cadena de certificados 140 del dispositivo puente) y compara los dos valores; si coinciden, la firma se considera válida. En la etapa 10, la aplicación de servidor VNC 124 verifica además que el dispositivo puente 14 es quien dice ser, validando la cadena de certificados del dispositivo puente 140 usando el certificado raíz de confianza del proveedor del dispositivo puente 123. La autenticación proporcionada es exitosa, la aplicación de servidor VNC 124 envía un mensaje de autenticación aceptada a través de la interfaz de comunicaciones P2P 127 a la interfaz de comunicación P2P 142 del dispositivo puente en la etapa 11, de lo contrario, en caso de fallo de autenticación, la interfaz de comunicación P2P 142 se desconecta de la interfaz de comunicación P2P 127 (etapa 17).
Como se muestra en la figura 6b, para establecer un canal de comunicación seguro entre la aplicación de servidor VNC 124 y el dispositivo puente 14. La aplicación de servidor VNC 124 y el dispositivo puente 14 pueden establecer una conexión SSL que se muestra con referencia a las etapas 12-16 en la figura 6b.
En la etapa 12, la interfaz de comunicaciones P2P 127 genera al menos una clave de cifrado simétrica para ser utilizada tanto por la aplicación de servidor VNC 124 como por el dispositivo puente 14 tanto para el cifrado como para el descifrado de datos transmitidos en el canal de comunicación seguro. La interfaz de comunicaciones P2P 127 puede generar un par de claves de cifrado simétricas para ser utilizadas para el cifrado y descifrado respectivamente tanto por la Aplicación de Servidor VNC 124 como por el dispositivo puente 14, el par de claves puede ser idéntico o puede haber una transformación simple entre las dos claves.
En la etapa 13, la interfaz de comunicaciones P2P 127 cifra al menos una clave de cifrado simétrica utilizando la clave pública del dispositivo puente (recibida en la etapa 9 anterior) para generar al menos una clave de cifrado simétrica cifrada.
En la etapa 14, la interfaz de comunicaciones P2P 127 envía al menos una clave de cifrado simétrica cifrada a la interfaz de comunicaciones P2P 142 del dispositivo puente 14 para establecer una conexión SSL. La interfaz de comunicación P2P 142 descifra al menos una clave de cifrado simétrica cifrada utilizando la clave privada 141 del dispositivo puente.
En la etapa 15, la interfaz de comunicación P2P 142 devuelve un acuse de recibo cifrado con al menos una clave de cifrado simétrica a la interfaz de comunicaciones P2P 127 para iniciar la sesión cifrada. En la etapa 16, la interfaz de comunicaciones P2P 12 informa a la aplicación de servidor VNC 124 que se ha establecido el canal de comunicación seguro. Una vez establecido el canal de comunicación seguro, tanto la aplicación de servidor VNC 124 como el dispositivo puente 14 pueden cifrar los datos transmitidos con al menos una clave de cifrado simétrica.
Ahora volvemos a la descripción general de la secuencia de la sesión de proyección que se muestra en la figura 6a.
En la etapa 9, un usuario proporciona una entrada de usuario a la aplicación de visor VNC 102 que se ejecuta en el dispositivo informático 10 para iniciar la proyección de una interfaz gráfica de usuario de la aplicación de usuario 122 que se muestra en una pantalla del dispositivo informático móvil 12 en una pantalla del dispositivo informático 10.
La secuencia de sesión de proyección luego pasa a una fase de establecimiento de sesión de proyección 604 en la que en la etapa 10 la aplicación de visor VNC 102 envía una solicitud al dispositivo puente 14 para iniciar la proyección, y en la etapa 11 el dispositivo puente 14 establece un túnel de comunicación entre el visor VNC aplicación 102 y la aplicación de servidor VNC 124.
Esto es, el dispositivo puente 14 establece un puente que permite que el flujo de datos del protocolo de proyección se enrute desde la aplicación de visor VNC 102 a través de la capa de transporte del dispositivo puente 146 y la interfaz de comunicación P2P 142 hasta la aplicación de servidor VNC 124 a través de la conexión p2p . De forma similar, el puente permite que el flujo de datos del protocolo de proyección se enrute desde la aplicación de servidor VNC 124 a la interfaz de comunicación P2P 142 a través de la conexión P2P, a través de la capa de transporte del dispositivo puente 146 hasta la aplicación de visor VNC 102.
La fase de establecimiento de sesión de proyección 604 se muestra con más detalle en la figura 6c. Como se muestra en la figura 6c, la aplicación de visor VNC 102 transmite un mensaje (iniciar masaje de proyección) a la aplicación de servidor VNC 124 a través del dispositivo puente (etapas 1 a 4) para indicar a la aplicación de servidor VNC 124 que inicie la proyección de la aplicación de usuario 122 a la aplicación de visor VNC 102. Esto se muestra en la figura 6a en la etapa 12. En respuesta, la aplicación de servidor VNC 124 transmite un mensaje (etapas 5 y 6) a la interfaz P2P 142 del dispositivo puente, ordenar a la interfaz P2P 142 que establezca un "túnel" entre la interfaz de transporte 146 del dispositivo puente y la interfaz P2P 142 de manera que los datos de la sesión de control remoto en un primer formato transmitido desde la aplicación de visor VNC 102 puedan ser recibidos por el dispositivo puente 14 (usando la interfaz de transporte 146) y se transmite a la aplicación de servidor VNC 124 en un segundo formato (usando la interfaz P2P 142), y a la inversa, para que los datos de la sesión de control remoto en el segundo formato transmitido desde la aplicación de servidor VNC 124 puedan ser recibidos por el dispositivo puente (usando la interfaz P2P 142) y transmitido a la aplicación de visor VNC 102 (usando la interfaz de transporte 146) en el primer formato.
La interfaz P2P 142 se configura para realizar la tunelización de comunicación (para actuar como un puente) en caso de recibir datos de la aplicación de visor VNC 102 o la aplicación de servidor VNC 124 e informa a la aplicación de visor VNC 102 del establecimiento de la tunelización de comunicación (etapas 7 y 8).
En algunas realizaciones, la tunelización de comunicación que se realiza mediante la interfaz P2P 142 es simplemente retransmisión de datos de sesión de control remoto que se reciben por el dispositivo puente 14 (usando la interfaz de transporte 146) a la aplicación de servidor VNC 124 (usando la interfaz P2P 142) y retransmisión remota controlar los datos de la sesión en la dirección opuesta. Esto es, el primer formato y el segundo formato mencionados anteriormente son iguales. La interfaz P2P 142 puede realizar la encapsulación de datos de sesión de control remoto recibidos. Por ejemplo, la interfaz P2P 142 puede realizar un túnel IP para encapsular un paquete IP recibido en otro paquete IP y transmitir el paquete IP encapsulado hacia su destino (la aplicación 102 de visor VNC o la aplicación 124 de servidor VNC).
En otras realizaciones, la tunelización de comunicación que se realiza mediante la interfaz P2P 142 comprende que la interfaz P2P 142 realiza una traducción (y la traducción inversa) entre diferentes formatos de datos. Expresado de otra manera, la interfaz P2P 142 recibe datos de sesión de control remoto en un primer formato transmitido desde la aplicación de visor VNC 102, realiza una función en los datos de la sesión de control remoto en el primer formato para generar datos de la sesión de control remoto en un segundo formato (por lo que el segundo formato es diferente al primer formato) y transmite los datos de la sesión de control remoto en el segundo formato al servidor de aplicación VNC 124, De forma similar, la interfaz P2P 142 recibe datos de sesión de control remoto en el segundo formato transmitido desde la aplicación de servidor VNC 124, realiza la función inversa en los datos de la sesión de control remoto en el segundo formato para generar datos de la sesión de control remoto en el primer formato y suministra los datos de la sesión de control remoto en el primer formato a la interfaz de transporte 146 para su transmisión a la aplicación de visor VNC 102.
La función mencionada anteriormente, puede incluir encapsulación. Por ejemplo, el primer formato puede ser datos USB y el segundo formato puede ser datos IP. En este ejemplo, la interfaz P2P 142 encapsula un paquete USB recibido desde la aplicación de visor VNC 102 en un paquete IP para su transmisión a la aplicación de servidor VNC 124, y de manera similar encapsula un paquete IP recibido desde la aplicación de servidor VNC 124 en un paquete USB para su transmisión a aplicación de visor VNC 102. Así, en las realizaciones, el dispositivo puente 14 permite la comunicación entre la aplicación de servidor VNC 124 y la aplicación de visor VNC 102 cuando el dispositivo informático móvil 12 no es compatible para la comunicación con el dispositivo informático 10 (por ejemplo, cuando el uso de USB CDC/NCM como capa de transporte no es disponible para la aplicación de servidor VNC 124).
La función mencionada anteriormente, puede incluir cifrado (la función inversa correspondiente es descifrado), por ejemplo, el primer formato puede ser datos de IP no cifrados y el segundo formato puede ser datos de IP cifrados. Se apreciará que la interfaz<p>2<p>142 puede realizar otras funciones no descritas en el presente documento.
La aplicación de servidor VNC 124 se anuncia a sí misma a la aplicación de visor VNC 102. Esto podría ser en respuesta a un mensaje de búsqueda transmitido por la aplicación de visor VNC 102 y detectado por la aplicación de servidor VNC 124, como se muestra en la figura 6c (etapas 7-8).
Una vez que el túnel de comunicación está activo entre la aplicación de visor VNC 102 y la aplicación de servidor VNC 124, la secuencia de sesión de proyección pasa a una fase de autenticación de proyección 606 en la que en la etapa 13 la aplicación de visor VNC 102 envía una solicitud de autenticación, a través del dispositivo puente 14, a la aplicación de servidor VNC 124; y en respuesta en la etapa 14 la aplicación de servidor VNC 124 envía una respuesta de autenticación, a través del dispositivo puente 14, a la aplicación de visor VNC 102.
La fase de autenticación de proyección 606 se muestra con más detalle en la figura 6d.
Una vez que la aplicación de visor VNC 102 ha descubierto la aplicación de servidor VNC 124, la aplicación de visor VNC 102 envía, en la etapa 12, una solicitud de autenticación a través del dispositivo puente 14 a la aplicación de servidor VNC 124 (que requiere que la aplicación de servidor VNC 124 se verifique a sí misma).
En la presente invención, la aplicación de servidor VNC 124 delega operaciones específicas de protocolo que no se pueden realizar en el dispositivo informático al módulo puente 114 en el dispositivo puente 14. En particular, la aplicación de servidor VNC 124 utiliza el dispositivo puente 14 para realizar las operaciones criptográficas requeridas por el mecanismo de autenticación del protocolo de proyección.
En la etapa 13, la aplicación de servidor VNC 124 envía una solicitud al dispositivo puente 14 para la cadena de certificado del dispositivo de proyección 143 almacenada en el almacén de datos seguro 144 a través del canal seguro establecido en la etapa 8 de la figura 6a (es decir, usando al menos una clave de cifrado simétrica). En las etapas 14 16, la interfaz P2P 142 accede al almacén de datos seguro 144 para recuperar la cadena de certificados del dispositivo de proyección 143 y envía la cadena de certificados del dispositivo de proyección 143 a la aplicación de servidor VNC 124, a través del canal seguro.
La aplicación de servidor VNC 124 genera una respuesta que incluye la cadena de certificado de proyección 143, y en la etapa 17 instruye al dispositivo puente 14, a través del canal seguro, para firmar criptográficamente la respuesta utilizando la clave privada 141 del dispositivo puente (denominada en la figura 6d clave privada del dispositivo de proyección del dispositivo inteligente).
En las etapas 18-20, la interfaz P2P 142 recupera la clave privada 141 del dispositivo puente del almacén de datos seguro 144 y utiliza la clave privada 141 del dispositivo puente para firmar criptográficamente la respuesta recibida en la etapa 17, a continuación se transmite al menos la firma como respuesta de certificación firmada, a través del canal seguro, desde la interfaz P2P 142 a la aplicación de servidor VNC 124. La respuesta de certificación firmada transmitida en la etapa 20 puede incluir solo la firma generada usando la clave privada 141 del dispositivo puente, o puede incluir tanto la firma generada usando la clave privada 141 del dispositivo puente como la cadena de certificado del dispositivo de proyección 143.
En la etapa 21, la aplicación de servidor VNC 124 transmite una respuesta de autenticación a la aplicación de visor VNC 102 a través del dispositivo puente 14 como respuesta a la solicitud de autenticación recibida en la etapa 12. La respuesta de autenticación transmitida a la aplicación de visor VNC 102 en la etapa 21 incluye tanto la firma recibida en la etapa 20 como la cadena de certificado del dispositivo de proyección 143. La aplicación de visor VNC 102 valida la cadena de certificado del dispositivo de proyección 143 usando el certificado raíz de confianza de proyección 105. De esta manera, la aplicación de visor VNC 102 ve la combinación del dispositivo puente 14 y la aplicación de servidor VNC 124 del espacio de usuario como un dispositivo inteligente normal que tiene soporte incorporado a nivel de sistema para la tecnología de proyección
También se muestra en la figura 6d una fase de "Establecimiento de la conexión de transporte de proyección" que se implementa después del etapa 3 en la figura 6a en el escenario en el que el dispositivo puente está configurado para conectarse a un puerto USB en el dispositivo informático 10. Como es conocido por los expertos en la técnica, cuando un dispositivo periférico USB está conectado a un puerto USB de un dispositivo informático, el dispositivo informático detectará y configurará automáticamente el dispositivo periférico. La fase de establecimiento de conexión de transporte de proyección configura y activa la función de transporte de proyección USB en el dispositivo puente 14 para que los datos de la sesión de control remoto puedan intercambiarse en la interfaz USB entre el dispositivo puente y el dispositivo informático 10.
Volviendo a la figura 6a, la secuencia de sesión de proyección luego pasa a una fase de proyección 608 en la que en la etapa 15 la aplicación de visor VNC 102 transmite una solicitud para que la aplicación de servidor VNC 124 proyecte la interfaz gráfica de usuario de la aplicación de usuario 122 mostrada en una pantalla del dispositivo informático móvil 12 a la aplicación de visor VNC 102. En la etapa 15, la aplicación de visor VNC 102 transmite la solicitud, a través del dispositivo puente 14, a la aplicación de servidor VNC 124.
En la etapa 16, la aplicación de servidor VNC 124 captura datos de imagen de la interfaz gráfica de usuario de la aplicación de usuario 122 y transmite los datos de imagen capturados a la aplicación de visor VNC 102 a través del dispositivo puente 14 de manera que la aplicación de visor VNC 102 muestra la aplicación proyectada 104 en una pantalla del dispositivo informático 10.
Como se muestra en la etapa 17, un usuario puede operar la aplicación proyectada 104 a través de la aplicación de visor VNC 102 usando un mecanismo de entrada en el dispositivo informático 10, por ejemplo, presionando un botón físico en el dispositivo informático 10, girar un botón giratorio en el dispositivo informático 10 o realizar una selección de pantalla táctil en la pantalla del dispositivo informático 10 (en el caso en que la pantalla del dispositivo informático 10 sea sensible al tacto). Durante la sesión de control remoto, la aplicación de visor VNC 102 está configurada para enviar eventos de entrada del usuario a la aplicación de servidor VNC 124 y, en respuesta, recibir datos de imagen que reflejan cambios en la interfaz gráfica de usuario de la aplicación de usuario 122 causados por los eventos de entrada del usuario.
Durante la fase de proyección 608 une de forma transparente todos los datos relevantes de la sesión de control remoto entre el dispositivo informático remoto 10 y el dispositivo informático móvil 12 independientemente de las capacidades integradas del dispositivo informático móvil 12. De acuerdo con realizaciones de la presente invención, la aplicación de servidor VNC 124 puede implementar el protocolo de proyección sin dependencias a nivel de sistema.
Como se muestra en la figura 6a, la sesión de control remoto puede ser finalizada por un usuario que proporciona una entrada de usuario a la aplicación de servidor VNC 124 (etapa 18), la aplicación de servidor VNC 124 configurada para comunicar la terminación de la sesión de control remoto a la aplicación de visor VNC 102 (etapa 19) y terminar el túnel de comunicación establecido en la fase de establecimiento de la sesión de proyección 604 (etapa 22).
Como se muestra en la figura 6a, la sesión de control remoto puede ser terminada por un usuario que proporciona una entrada de usuario a la aplicación de visor VNC 102 (etapa 20), la aplicación de visor VNC 102 configurada para comunicar la terminación de la sesión de control remoto a la aplicación de servidor VNC 124 (etapa 21) en respuesta a lo cual la aplicación de servidor VNC 124 se configura para terminar el túnel de comunicación establecido en la fase de establecimiento de sesión de proyección 604 (etapa 22).
Como se muestra en la figura 6a, la aplicación de servidor VNC 124 está configurada para terminar el canal de comunicación seguro con el dispositivo puente 14 en respuesta a recibir una entrada del usuario para terminar (es decir, apagar) la aplicación de servidor VNC 124 que se ejecuta en el dispositivo informático móvil 12.
Se apreciará por lo anterior que el uso del dispositivo puente 14 permite mejorar la tecnología de proyección del dispositivo inteligente objetivo en áreas tales como:
• Gestión de energía de dispositivos inteligentes, ampliando el número de canales de transmisión disponibles para la aplicación de Servidor VNC 124 (es decir, usando Bluetooth Low Energy para tráfico de ancho de banda bajo y Wi-Fi para tráfico de ancho de banda alto) de forma transparente a la tecnología de proyección.
• Privacidad al restringir el manejo de datos dentro de la propia aplicación de servidor VNC 124, sin la necesidad de interactuar con un componente propietario del sistema.
• Manipulación al aislar los elementos de seguridad específicos del protocolo fuera del espacio del usuario en el dispositivo inteligente dentro de un módulo distinto e independiente.
• Seguridad al permitir que la comunicación inalámbrica general esté completamente cifrada independientemente de las capacidades de cifrado de la tecnología de proyección original.
Todas las ventajas anteriores se logran sin alterar la conformidad con la tecnología de proyección original.
Aunque en el presente documento se ha analizado la tecnología de proyección de aplicaciones para vehículos MirrorLink, esto es sólo un ejemplo de una tecnología de proyección de aplicaciones para vehículos, y la aplicación de servidor VNC 124 puede configurarse para funcionar de acuerdo con cualquier tecnología de proyección de aplicaciones para vehículos conocida tal como proyección automática de Android, CarPlay, Miracast, etc. Es decir, la aplicación de servidor 124 y la aplicación de visualización 102 no tienen que funcionar de acuerdo con el protocolo VNC, esto es simplemente un ejemplo. Por lo tanto, la aplicación de servidor VNC 124 puede considerarse de manera más general como una aplicación de servidor de proyección y la aplicación de visor<v>N<c>102 puede considerarse de manera más general como una aplicación de visor de proyección.
Aunque se han analizado realizaciones anteriormente con referencia a un dispositivo puente independiente 14 que comprende el módulo puente 114, en realizaciones alternativas, el dispositivo informático 10 comprende el módulo puente 114. Esto es, el módulo puente 114 está integrado en el dispositivo informático 10.
Aunque la invención se ha mostrado y descrito particularmente con referencia a realizaciones preferidas, los expertos en la técnica entenderán que se pueden realizar diversos cambios en la forma y los detalles sin apartarse del ámbito de la invención según es definido por las reivindicaciones adjuntas.

Claims (13)

REIVINDICACIONES
1. Un método para establecer una sesión de control remoto entre un primer dispositivo informático (12) y un segundo dispositivo informático (10) para permitir que una interfaz gráfica de usuario de una aplicación (122) ejecutada por un procesador del primer dispositivo informático se controle remotamente y vea en el segundo dispositivo informático, el método implementado en el primer dispositivo informático y que comprende:
establecer una conexión con un módulo puente (14), el módulo puente externo al primer dispositivo informático; realizar un procedimiento de autenticación con el módulo puente utilizando la conexión, en el que realizar el procedimiento de autenticación comprende al menos uno de: (i) recuperar una cadena de certificados (121) asociada con el primer dispositivo informático del almacenamiento en el primer dispositivo informático, firmar la cadena de certificados asociada con el primer dispositivo informático con una clave privada (125) asociada con el primer dispositivo informático, y transmitir la cadena de certificados firmada al módulo puente para su validación por parte del módulo puente, dicha clave privada almacenada en la memoria en el primer dispositivo informático, y (ii) recibir una cadena de certificado firmada (140) asociada con el módulo puente junto con una clave pública (141) asociada con el módulo puente, y validar la cadena de certificado asociada con el módulo puente utilizando un certificado raíz (123) almacenado en la memoria del primer dispositivo informático;
establecer un canal de comunicación seguro con el módulo puente en la conexión;
recibir, desde el módulo puente, una solicitud de autenticación transmitida desde el segundo dispositivo informático;
en respuesta a recibir la solicitud de autenticación (i) acceder a una cadena de certificado de proyección (143) almacenada en un almacén de datos seguro (144) del módulo puente utilizando el canal de comunicación seguro, en el que la cadena de certificados de proyección comprende una cadena de certificados que conduce a un certificado raíz de confianza de proyección, en el que el certificado raíz de confianza de proyección se almacena en el segundo dispositivo informático, (ii) generar una respuesta que incluya la cadena de certificados de proyección, y (iii) instruir, a través del canal de comunicación seguro, al módulo puente para que firme criptográficamente la respuesta usando una clave privada (141) que está asociada con el módulo puente y se almacena en el almacén de datos seguro, y en respuesta recibe una firma del módulo puente a través del canal de comunicación seguro; y
transmitir una respuesta de autenticación firmada al segundo dispositivo informático a través del módulo puente para establecer la sesión de control remoto, comprendiendo la respuesta de autenticación firmada (i) la cadena de certificados de proyección que se va a validar utilizando el certificado raíz de confianza de proyección y (ii) la firma.
2. Un método de acuerdo con la reivindicación 1, en el que acceder a la cadena de certificados de proyección comprende transmitir una solicitud para la cadena de certificados de proyección al módulo puente a través del canal de comunicación seguro, y recibir la cadena de certificados de proyección desde el módulo puente a través del canal de comunicación seguro.
3. Un método de acuerdo con cualquier reivindicación anterior, en el que al menos uno de:
(i) el establecimiento de la conexión con el módulo puente es en respuesta a la entrada del usuario recibida en el primer dispositivo informático; y
(ii) dicho establecimiento de un canal de comunicación seguro con el módulo puente en la conexión comprende:
generar al menos una clave de cifrado simétrica;
cifrar dicha al menos una clave de cifrado simétrica usando una clave pública (141) asociada con el módulo puente para generar al menos una clave de cifrado simétrica cifrada; y
transmitir al menos una clave de cifrado simétrica cifrada al módulo puente;
opcionalmente, en el que el método comprende además invalidar la al menos una clave de cifrado simétrica en respuesta a la detección de la pérdida de dicha conexión.
4. Un método de acuerdo con cualquier reivindicación anterior, en el que el método además comprende:
recibir una solicitud, desde el módulo puente, para iniciar la proyección de dicha interfaz gráfica de usuario al segundo dispositivo informático, la solicitud procedente del segundo dispositivo informático; y
transmitir una orden al módulo puente para establecer un puente que permita que los datos se enruten entre el primer dispositivo informático y el segundo dispositivo informático.
5. Un método de acuerdo con cualquier reivindicación anterior, en el que:
un dispositivo puente externo tanto al primer dispositivo informático como al segundo dispositivo informático comprende el módulo puente, dicho establecimiento de una conexión con el módulo puente comprende establecer una conexión con el dispositivo puente; o
el segundo dispositivo informático comprende el módulo puente, dicho establecimiento de una conexión con el módulo puente comprende establecer una conexión con el segundo dispositivo informático.
6. Un método de acuerdo con cualquier reivindicación anterior, en el que al menos uno de:
(i) el segundo dispositivo informático es una unidad principal de vehículo integrada en un vehículo, comprendiendo la unidad principal del vehículo una pantalla para mostrar la interfaz gráfica de usuario de dicha aplicación; y (ii) el primer dispositivo informático es un dispositivo informático móvil, siendo el dispositivo informático móvil uno de los teléfonos móviles, un ordenador portátil, tableta y un dispositivo informático sin cabeza.
7. Un producto de programa informáti
informático (12) y un segundo dispositivo informático (10) para permitir que una interfaz gráfica de usuario de una aplicación (122) ejecutada por un procesador del primer dispositivo informático sea remotamente controlado y visto en el segundo dispositivo informático, el producto de programa informático que comprende un código incorporado en un medio no transitorio legible por ordenador y configurado para ejecutarse en un procesador del primer dispositivo informático para realizar el método de cualquier reivindicación anterior.
8. Un dispositivo informático (12) que comprende:
un procesador configurado para ejecutar una aplicación para establecer una sesión de control remoto entre el dispositivo informático y un segundo dispositivo informático (10) para permitir que una interfaz gráfica de usuario de una aplicación de usuario (122) ejecutada por el procesador del dispositivo informático se controle de forma remota y vea en el segundo dispositivo informático, en el que la aplicación está configurada para:
establecer una conexión con un módulo puente (14), el módulo puente externo al dispositivo informático; realizar un procedimiento de autenticación con el módulo puente utilizando la conexión, en el que realizar el procedimiento de autenticación comprende al menos uno de: (i) recuperar una cadena de certificados (121) asociada con el primer dispositivo informático del almacenamiento en el primer dispositivo informático, firmar la cadena de certificados asociada con el primer dispositivo informático con una clave privada (125) asociada con el primer dispositivo informático, y transmitir la cadena de certificados firmada al módulo puente para su validación por parte del módulo puente, dicha clave privada almacenada en la memoria del primer dispositivo informático; y (ii) recibir una cadena de certificados firmada (140) asociada con el módulo puente junto con una clave pública (141) asociada con el módulo puente, y validar la cadena de certificados asociada con el módulo puente usando un certificado raíz (123) almacenado en memoria en el primer dispositivo informático;
establecer un canal de comunicación seguro con el módulo puente en la conexión;
recibir, desde el módulo puente, una solicitud de autenticación transmitida desde el segundo dispositivo informático;
en respuesta a recibir la solicitud de autenticación (i) acceder a una cadena de certificado de proyección (143) almacenada en un almacén de datos seguro (144) del módulo puente utilizando el canal de comunicación seguro, en el que la cadena de certificados de proyección comprende una cadena de certificados que conduce a un certificado raíz de confianza de proyección, en el que el certificado raíz de confianza de proyección se almacena en el segundo dispositivo informático (ii) genera una respuesta que incluye la cadena de certificados de proyección, y (iii) instruye, a través del canal de comunicación seguro, al módulo puente para firmar criptográficamente la respuesta usando una clave privada (141) que está asociada con el módulo puente y se almacena en el almacén de datos seguro, y en respuesta recibe una firma del módulo puente a través del canal de comunicación seguro; y transmitir una respuesta de autenticación firmada al segundo dispositivo informático a través del módulo puente para establecer la sesión de control remoto, comprendiendo la respuesta de autenticación firmada (i) la cadena de certificados de proyección que se va a validar utilizando el certificado raíz de confianza de proyección y (ii) la firma.
9. Un método para establecer una sesión de control remoto entre un primer dispositivo informático (12) y un segundo dispositivo informático (10) para permitir que una interfaz gráfica de usuario de una aplicación (122) ejecutada por un procesador del primer dispositivo informático se controle remotamente y vea en el segundo dispositivo informático, el método implementado en un módulo puente (14) y que comprende:
establecer una conexión con el primer dispositivo informático, el módulo puente externo al primer dispositivo informático;
realizar un procedimiento de autenticación con el primer dispositivo informático que utiliza la conexión, en el que realizar el procedimiento de autenticación comprende al menos uno de: (i) recibir una cadena de certificados firmada (121) asociada con el primer dispositivo informático desde el primer dispositivo informático, y validar la cadena de certificados asociada con el primer dispositivo informático utilizando un certificado raíz (145) almacenado en dicho almacén de datos seguro; y (ii) recuperar una cadena de certificados (140) asociada con el módulo puente de dicho almacén de datos seguro, firmar la cadena de certificados asociada con el módulo puente con una clave privada (141) asociada con el módulo puente, y transmitir la cadena de certificados firmada al primer dispositivo informático para su validación por el primer dispositivo informático, dicha clave privada almacenada en dicho almacén de datos seguro;
establecer un canal de comunicación seguro con el primer dispositivo informático en la conexión;
transmitir una solicitud de autenticación recibida desde el segundo dispositivo informático al primer dispositivo informático;
recibir una solicitud desde el primer dispositivo informático a través del canal de comunicación seguro, para una cadena de certificados de proyección almacenada (143) en un almacén de datos seguro (144) del módulo puente, en el que la cadena de certificados de proyección comprende una cadena de certificados que conduce a un certificado raíz de confianza de proyección, en el que el certificado raíz de confianza de proyección se almacena en el segundo dispositivo informático y, en respuesta, se recupera la cadena de certificados de proyección del almacén de datos seguro y se transmite la cadena de certificados de proyección al primer dispositivo informático a través del canal de comunicación seguro;
recibir una respuesta que incluye la cadena del certificado de proyección y una solicitud para firmar dicha respuesta, desde el primer dispositivo informático a través del canal de comunicación seguro;
firmar criptográficamente la respuesta usando una clave privada (141) asociada con el módulo puente y que se almacena en el almacén de datos seguro para generar una firma para el primer dispositivo informático, y transmitir la firma al primer dispositivo informático a través del canal de comunicación seguro; y
transmitir una respuesta de autenticación firmada recibida desde el primer dispositivo informático al segundo dispositivo informáti
firmada (i) la cadena de certificados de proyección que se va a validar utilizando el certificado raíz de confianza de proyección y (ii) la firma.
10. Un método de acuerdo con la reivindicación 9, en el que el método comprende establecer un puente para permitir que los datos se enruten entre el primer dispositivo informático y el segundo dispositivo informático; y opcionalmente en el que después del establecimiento del puente, el método comprende, además:
recibir datos en un primer formato desde el segundo dispositivo informático para transmitirlos al primer dispositivo informático y transmitir dichos datos en un segundo formato al primer dispositivo informático; y
recibir datos en el segundo formato desde el primer dispositivo informático para transmitirlos al segundo dispositivo informático y transmitir dichos datos en el primer formato al segundo dispositivo informático.
11. Un método de acuerdo con la reivindicación 10, en el que el método además comprende:
transmitir una solicitud al primer dispositivo informático para iniciar la proyección de dicha interfaz gráfica de usuario al segundo dispositivo informático, la solicitud procedente del segundo dispositivo informático; y
en respuesta, recibir una orden desde el primer dispositivo informáti
los datos se enruten entre el primer dispositivo informático y el segundo dispositivo informático.
12. Un producto de programa informáti
informático (12) y un segundo dispositivo informático (10) para permitir que una interfaz gráfica de usuario de una aplicación (122) ejecutada por un procesador del primer dispositivo informático sea remotamente controlado y visto en el segundo dispositivo informático, el producto de programa informático que comprende código incorporado en un medio legible por ordenador no transitorio y configurado para ejecutarse en un procesador para realizar el método de cualquiera de las reivindicaciones 9 a 11.
13. Un módulo puente (14) para establecer una sesión de control remoto entre un primer dispositivo informático (12) y un segundo dispositivo informático (10) para permitir que una interfaz gráfica de usuario de una aplicación (122) ejecutada por un procesador del primer dispositivo informático ser controlado remotamente y visto en el segundo dispositivo informático, en el que el módulo puente está configurado para:
establecer una conexión con el primer dispositivo informático, el módulo puente externo al primer dispositivo informático;
realizar un procedimiento de autenticación con el primer dispositivo informático que utiliza la conexión, en el que realizar el procedimiento de autenticación comprende al menos uno de: (i) recibir una cadena de certificados firmada (121) asociada con el primer dispositivo informático desde el primer dispositivo informático, y validar la cadena de certificados asociada con el primer dispositivo informático utilizando un certificado raíz (145) almacenado en dicho almacén de datos seguro; y (ii) recuperar una cadena de certificados (140) asociada con el módulo puente de dicho almacén de datos seguro, firmar la cadena de certificados asociada con el módulo puente con una clave privada (141) asociada con el módulo puente, y transmitir la cadena de certificados firmada al primer dispositivo informático para su validación por el primer dispositivo informático, dicha clave privada almacenada en dicho almacén de datos seguro;
establecer un canal de comunicación seguro con el primer dispositivo informático en la conexión;
transmitir una solicitud de autenticación recibida desde el segundo dispositivo informático al primer dispositivo informático;
recibir una solicitud desde el primer dispositivo informático a través del canal de comunicación seguro, para una cadena de certificados de proyección (143) almacenada en un almacén de datos seguro (144) del módulo puente, en el que la cadena de certificados de proyección comprende una cadena de certificados que conduce a un certificado raíz de confianza de proyección, en el que el certificado raíz de confianza de proyección se almacena en el segundo dispositivo informático y, en respuesta, recuperar la cadena de certificados de proyección del almacén de datos seguro y transmitir la cadena de certificados de proyección al primer dispositivo informático a través del canal de comunicación seguro;
recibir una respuesta que incluya la cadena del certificado de proyección y una solicitud para firmar dicha respuesta, desde el primer dispositivo informático a través del canal de comunicación seguro;
firmar criptográficamente la respuesta usando una clave privada (141) asociada con el módulo puente y que se almacena en el almacén de datos seguro para generar una firma para el primer dispositivo informático, y transmitir la firma al primer dispositivo informático a través del canal de comunicación seguro; y
transmitir una respuesta de autenticación firmada recibida desde el primer dispositivo informático al segundo dispositivo informáti
firmada (i) la cadena de certificados de proyección que se va a validar utilizando el certificado raíz de confianza de proyección y (ii) la firma.
ES18727386T 2017-08-02 2018-05-17 Control remoto de un dispositivo informático Active ES2963487T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1712441.3A GB2565282B (en) 2017-08-02 2017-08-02 Remote control of a computing device
PCT/GB2018/051335 WO2019025749A1 (en) 2017-08-02 2018-05-17 REMOTE CONTROL OF A COMPUTER DEVICE

Publications (1)

Publication Number Publication Date
ES2963487T3 true ES2963487T3 (es) 2024-03-27

Family

ID=59778860

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18727386T Active ES2963487T3 (es) 2017-08-02 2018-05-17 Control remoto de un dispositivo informático

Country Status (7)

Country Link
US (1) US11251972B2 (es)
EP (1) EP3662366B1 (es)
JP (1) JP7024980B2 (es)
CN (1) CN110998527B (es)
ES (1) ES2963487T3 (es)
GB (1) GB2565282B (es)
WO (1) WO2019025749A1 (es)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111832003B (zh) * 2019-04-17 2024-09-27 阿里巴巴集团控股有限公司 一种应用程序的车联网联盟认证方法和装置
US11329954B1 (en) * 2019-07-30 2022-05-10 Berryville Holdings, LLC Traceless access to remote deployed devices in undisclosed locations
KR20220051306A (ko) * 2019-08-23 2022-04-26 삼성전자주식회사 전자 디바이스 및 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법
RU2767710C2 (ru) * 2020-08-24 2022-03-18 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения удаленного управления средством удаленного администрирования с использованием сигнатур
FR3119906B1 (fr) * 2021-02-12 2024-01-19 Renault Sas Procédé de vérification de l’authenticité d’une commande d’un actionneur
CN113138739B (zh) * 2021-05-17 2023-06-27 北京字跳网络技术有限公司 一种投屏方法、系统、装置、电子设备及存储介质
CN113778590B (zh) * 2021-08-23 2024-05-14 维沃移动通信有限公司 远程协助方法、装置、电子设备及介质
US12494898B2 (en) * 2022-08-31 2025-12-09 Red Hat, Inc. Secured peripheral device communication via bridge device in virtualized computer system
FR3153956B1 (fr) * 2023-10-10 2026-03-13 Somfy Activites Sa Procédé et dispositif de contrôle d’exécution d’au moins une action par un objet connecté dans un réseau de communication
US20250258668A1 (en) * 2024-02-14 2025-08-14 International Business Machines Corporation Application setting sharing
CN119814755B (zh) * 2024-12-27 2025-08-05 临海市新睿电子科技股份有限公司 工业物联网设备的远程控制方法及计算机可读存储介质

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134534A (ja) * 1999-11-08 2001-05-18 Ntt Communications Kk 認証代行方法、認証代行サービスシステム、認証代行サーバ装置及びクライアント装置
US7350074B2 (en) * 2005-04-20 2008-03-25 Microsoft Corporation Peer-to-peer authentication and authorization
US20060294366A1 (en) * 2005-06-23 2006-12-28 International Business Machines Corp. Method and system for establishing a secure connection based on an attribute certificate having user credentials
US12321458B2 (en) * 2007-03-06 2025-06-03 Unisys Corporation Methods and systems for providing and controlling cryptographic secure communications terminal operable in a plurality of languages
CN101272295B (zh) * 2007-03-21 2012-01-25 联想(北京)有限公司 支持多投影源的虚拟网络投影系统及方法
US20080320566A1 (en) * 2007-06-25 2008-12-25 Microsoft Corporation Device provisioning and domain join emulation over non-secured networks
CN102308589B (zh) * 2009-02-17 2014-07-30 松下电器产业株式会社 再现装置和再现方法
JP5499524B2 (ja) * 2009-06-12 2014-05-21 富士通株式会社 中継プログラムおよび中継装置
US8887250B2 (en) * 2009-12-18 2014-11-11 Microsoft Corporation Techniques for accessing desktop applications using federated identity
US9009219B2 (en) * 2010-01-27 2015-04-14 Vmware, Inc. Native viewer use for service results from a remote desktop
US8505083B2 (en) * 2010-09-30 2013-08-06 Microsoft Corporation Remote resources single sign on
US10068084B2 (en) * 2011-06-27 2018-09-04 General Electric Company Method and system of location-aware certificate based authentication
US8699709B2 (en) * 2011-07-08 2014-04-15 Motorola Solutions, Inc. Methods for obtaining authentication credentials for attaching a wireless device to a foreign 3GPP wireless domain
US12418794B2 (en) * 2011-07-15 2025-09-16 Omnissa, Llc Mobile device authentication
US10291721B2 (en) * 2011-07-15 2019-05-14 Vmware, Inc. Remote document signing
US9413538B2 (en) * 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9191394B2 (en) * 2012-02-08 2015-11-17 Microsoft Technology Licensing, Llc Protecting user credentials from a computing device
JP5799880B2 (ja) * 2012-04-04 2015-10-28 株式会社デンソー 通信装置、プログラムおよび通信確立方法
US9380048B2 (en) * 2012-10-15 2016-06-28 Saife, Inc. Certificate authority server protection
TWI629902B (zh) * 2012-12-20 2018-07-11 中強光電股份有限公司 具有視訊功能的投影裝置及利用投影裝置進行視訊會談的方法
CN104919833B (zh) * 2012-12-20 2019-11-08 爱尔比奎特公司 高效头单元通信集成
US9348555B2 (en) * 2013-03-15 2016-05-24 Volkswagen Ag In-vehicle access of mobile device functions
GB2505268B (en) * 2013-04-10 2017-10-11 Realvnc Ltd Methods and apparatus for remote connection
IN2013MU02698A (es) * 2013-08-19 2015-06-19 Deere & Co
KR102312725B1 (ko) * 2014-02-05 2021-10-13 애플 인크. 제어기와 액세서리 사이의 통신을 위한 균일한 통신 프로토콜
US10929843B2 (en) * 2014-05-06 2021-02-23 Apple Inc. Storage of credential service provider data in a security domain of a secure element
JP6226197B2 (ja) * 2014-05-23 2017-11-08 パナソニックIpマネジメント株式会社 証明書発行システム、クライアント端末、サーバ装置、証明書取得方法、及び証明書発行方法
EA037018B1 (ru) * 2014-08-18 2021-01-27 Балаж Чик Способ цифрового подписания электронного файла
US10122703B2 (en) * 2014-09-30 2018-11-06 Citrix Systems, Inc. Federated full domain logon
US10841316B2 (en) * 2014-09-30 2020-11-17 Citrix Systems, Inc. Dynamic access control to network resources using federated full domain logon
US9491161B2 (en) * 2014-09-30 2016-11-08 Citrix Systems, Inc. Systems and methods for performing single sign-on by an intermediary device for a remote desktop session of a client
US9755976B2 (en) * 2014-12-10 2017-09-05 GM Global Technology Operations LLC Method and apparatus for remote vehicle screen operation
US9525672B2 (en) * 2014-12-19 2016-12-20 Amazon Technologies, Inc. Multi-faceted compute instance identity
CN104575142B (zh) * 2015-01-29 2018-01-02 上海开放大学 体验式数字化多屏无缝跨媒体互动开放教学实验室
KR101929048B1 (ko) * 2015-06-24 2018-12-13 한국전자통신연구원 인메모리 기반 가상 데스크탑 서비스를 위한 장치 및 방법
US10075532B2 (en) * 2016-01-12 2018-09-11 Jens Schmidt Method and system for controlling remote session on computer systems
US10757079B2 (en) * 2016-01-12 2020-08-25 Jens Schmidt Method and system for controlling remote session on computer systems using a virtual channel
CA3017533A1 (en) * 2016-03-18 2017-09-21 Forticode Limited Method and system for user authentication with improved security
US10469268B2 (en) * 2016-05-06 2019-11-05 Pacific Star Communications, Inc. Unified encryption configuration management and setup system
US10523632B2 (en) * 2016-09-19 2019-12-31 Verisign, Inc. GTLD domain name registries RDAP architecture
US10285051B2 (en) * 2016-09-20 2019-05-07 2236008 Ontario Inc. In-vehicle networking
US10523445B2 (en) * 2016-11-28 2019-12-31 Ssh Communications Security Oyj Accessing hosts in a hybrid computer network
US10505917B2 (en) * 2017-06-05 2019-12-10 Amazon Technologies, Inc. Secure device-to-device process for granting access to a physical space
US11321465B2 (en) * 2019-04-04 2022-05-03 Cisco Technology, Inc. Network security by integrating mutual attestation
US11379571B2 (en) * 2019-07-12 2022-07-05 Hewlett Packard Enterprise Development Lp Presence terminal-based side channel communications

Also Published As

Publication number Publication date
GB2565282B (en) 2021-12-22
JP7024980B2 (ja) 2022-02-24
WO2019025749A1 (en) 2019-02-07
CN110998527A (zh) 2020-04-10
JP2020530733A (ja) 2020-10-22
GB2565282A (en) 2019-02-13
GB201712441D0 (en) 2017-09-13
US11251972B2 (en) 2022-02-15
CN110998527B (zh) 2023-08-25
US20210126795A1 (en) 2021-04-29
EP3662366A1 (en) 2020-06-10
EP3662366C0 (en) 2023-08-23
EP3662366B1 (en) 2023-08-23

Similar Documents

Publication Publication Date Title
ES2963487T3 (es) Control remoto de un dispositivo informático
US20250141853A1 (en) Secure Session Resumption using Post-Quantum Cryptography
CN106663162B (zh) 安全地将计算设备配对
EP3119119B1 (en) Method, device and system for establishing secure connection
ES2961656T3 (es) Conexión segura de aplicaciones de dispositivos electrónicos a un servidor de aplicaciones
US12167236B2 (en) Remote management of hardware security modules
US10075439B1 (en) Programmable format for securely configuring remote devices
WO2019056957A1 (zh) 数据处理、身份认证方法及系统、终端
KR102816657B1 (ko) 블루투스 노드 페어링 방법 및 관련 장치
US12192185B2 (en) Data transmission method, communication processing method, device, and communication processing program
CN110213039A (zh) 一种管理方法、终端和服务器
JP2017525236A (ja) 増強メディア・プラットフォームによる通信の安全確保
EP4423970B1 (en) Method to establish a secure channel
CN109905252B (zh) 建立虚拟网络功能实例的方法和装置
CN115460562A (zh) 安全可信的点对点离线通信系统和方法
KR102162018B1 (ko) Intel SGX를 사용한 투명하고 안전한 IoT 게이트웨이 연결법
CN118473654A (zh) 基于可信执行环境的可信根实现方法及通信系统
EP3720042B1 (en) Method and device for determining trust state of tpm, and storage medium
ES2927040T3 (es) Procedimiento de protección de flujos de datos entre un equipo de comunicación y un terminal remoto, equipo que implementa el procedimiento
WO2014005534A1 (zh) 一种从数据提供方传输数据到智能卡的方法和系统
KR102029550B1 (ko) 디스플레이포트용 hdcp 설계
US12192348B2 (en) Key management in an integrated circuit
US20250097031A1 (en) Information processing device, qkd network system, information processing method, and computer program product
CN120238860A (zh) 通信方法及装置