ES3023362T3 - Vehicle-mounted device upgrade method and related device - Google Patents

Vehicle-mounted device upgrade method and related device Download PDF

Info

Publication number
ES3023362T3
ES3023362T3 ES22205812T ES22205812T ES3023362T3 ES 3023362 T3 ES3023362 T3 ES 3023362T3 ES 22205812 T ES22205812 T ES 22205812T ES 22205812 T ES22205812 T ES 22205812T ES 3023362 T3 ES3023362 T3 ES 3023362T3
Authority
ES
Spain
Prior art keywords
vehicle
enhancement
intended
control device
key
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
ES22205812T
Other languages
English (en)
Inventor
Yanjiang Yang
Zhuo Wei
Hsiao-Ying Lin
Tieyan Li
Junqiang Shen
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.)
Shenzhen Yinwang Intelligent Technology Co Ltd
Original Assignee
Shenzhen Yinwang Intelligent Technology Co 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 Shenzhen Yinwang Intelligent Technology Co Ltd filed Critical Shenzhen Yinwang Intelligent Technology Co Ltd
Application granted granted Critical
Publication of ES3023362T3 publication Critical patent/ES3023362T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Las realizaciones de la presente invención describen un método de actualización de dispositivos montados en vehículos y un dispositivo relacionado. El método puede aplicarse a un sistema montado en vehículos que incluye un dispositivo de control y uno o más dispositivos a actualizar. El método puede incluir: obtener, mediante el dispositivo de control, un paquete de actualización, que incluye varios archivos de actualización, cada uno de los cuales se utiliza para actualizar al menos un dispositivo a actualizar; realizar, mediante el dispositivo de control, la verificación de seguridad de los archivos de actualización; y enviar, mediante el dispositivo de control, un archivo de actualización objetivo a un dispositivo a actualizar mediante dicho archivo, cuya verificación de seguridad es correcta. De acuerdo con esta aplicación, el dispositivo montado en vehículos puede actualizarse de forma segura y eficiente. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Método de mejora de dispositivo montado en vehículo y dispositivo relacionado
CAMPO TÉCNICO
Esta solicitud está relacionada con el campo de tecnologías montadas en vehículo, y en particular, con un método de mejora de dispositivo montado en vehículo y un dispositivo relacionado.
ANTECEDENTES
En el futuro, cada vehículo es un nodo de red en internet de vehículos y es sustancialmente el mismo que un dispositivo conectado a web tal como un ordenador o un teléfono móvil. Se estima que del 60 % al 70 % de llamadas de vehículo en Norteamérica son provocados por problemas de firmware/software. Por lo tanto, mejorar un firmware/software de un dispositivo montado en vehículo es una etapa indispensable. Un vehículo convencional de dispositivo montado en vehículo a mejorar se llama para mejora de firmware/software. Este tipo de método tiene desventajas de costes altos y un ciclo largo.
Por lo tanto, para un futuro dispositivo montado en vehículo, tiene que implementarse una mejora remota más flexible usando una tecnología por el aire (Over-The-Air, OTA), justo como la mejora remota realizada para un ordenador y un teléfono móvil actualmente. La mejora remota de firmware/software para un dispositivo montado en vehículo puede brindar muchos beneficios. Por ejemplo, esto ayuda a arreglar rápidamente errores clave de firmware/software, mejora la seguridad del vehículo, y añade una nueva función o rasgo a tiempo al vehículo durante toda la vida útil. Por lo tanto, en esta manera de OTA, se puede implementar mejora de firmware/software sin llamar al vehículo. Esto puede reducir muchos de costes para un fabricante de vehículos o minorista y también brinda comodidad al propietario de un vehículo.
Sin embargo, durante la mejora remota para un dispositivo montado en vehículo a mejorar, como algunos dispositivos montados en vehículo a mejorar tienen problemas tales como limitada capacidad de computación o limitado espacio de almacenamiento, la eficiencia en la mejora para los dispositivos montados en vehículo a mejorar es relativamente baja, afectando incluso a la mejora de todo el sistema montado en vehículo. Por lo tanto, un problema que tiene que resolverse urgentemente es cómo garantizar una mejora segura y eficiente de firmware/software para un dispositivo montado en vehículo.
El documento US 2014/0282470 A1 describe sistemas y métodos para transmisión de datos entre uno o más vehículos y un aparato de control (p. ej., servidor u otro dispositivo informático). En particular, dicho documento está relacionado con sistemas, métodos y productos de programa informático para transmisión por el aire de imágenes electrónicas (El) entre uno o más vehículos y un subsistema de control.
COMPENDIO
Realizaciones de la presente invención proporcionan un método de mejora de dispositivo montado en vehículo y un vehículo inteligente, para resolver un problema que no se puede implementar mejora segura y eficiente de firmware/software para un dispositivo montado en vehículo. La invención se establece por las reivindicaciones anexas.
Según un primer aspecto, una realización de la presente invención proporciona un método de mejora de dispositivo montado en vehículo según la reivindicación 1. Según esta realización de la presente invención, en un lado de dispositivo de control montado en vehículo, se realiza procesamiento de verificación de seguridad en un paquete de mejora montado en vehículo requerido para mejorar un dispositivo montado en vehículo, para impedir que dispositivos montados en vehículo a mejorar que tienen diferentes capacidades de mejora participen en un proceso de verificación de seguridad, asegurando de ese modo que el dispositivo montado en vehículo se mejora de manera segura y eficientemente usando el paquete de mejora montado en vehículo.
En una implementación posible, el paquete de mejora montado en vehículo incluye una primera firma digital; y realizar, por parte del dispositivo de control montado en vehículo, verificación de seguridad en la pluralidad de archivos de mejora incluye: realizar, por parte del dispositivo de control montado en vehículo, verificación de firma digital en la pluralidad de archivos de mejora usando la primera firma digital. En otras palabras, el paquete de mejora montado en vehículo se verifica usando una firma digital, asegurando de ese modo la validez del paquete de mejora montado en vehículo obtenido desde fuera de un dispositivo montado en vehículo por el dispositivo de control montado en vehículo.
En una implementación posible, el método incluye además: enviar, por parte del dispositivo de control montado en vehículo, información de autenticación de identidad a un servidor de mejoras; y si la información de autenticación de identidad es autenticada por el servidor de mejoras, establecer un canal seguro entre el dispositivo de control montado en vehículo y el servidor de mejoras; y obtener, por parte de un dispositivo de control montado en vehículo, un paquete de mejora montado en vehículo de un servidor de mejoras incluye: obtener, por parte del dispositivo de control montado en vehículo, el paquete de mejora montado en vehículo del servidor de mejoras a través del canal seguro. En otras palabras, un canal seguro se establece entre el dispositivo de control montado en vehículo y el servidor de mejoras, para garantizar la confidencialidad del paquete de mejora montado en vehículo en un proceso de transmisión. En este caso, el paquete de mejora montado en vehículo no necesita ser encriptado adicionalmente. En una implementación posible, el paquete de mejora montado en vehículo se encripta usando una primera clave, y la primera clave es una clave simétrica; y el método incluye además: obtener, por parte del dispositivo de control montado en vehículo, la primera clave de un servidor de claves; y después de realizar, por parte del dispositivo de control montado en vehículo, verificación de firma digital en la pluralidad de archivos de mejora usando la primera firma digital, el método incluye: desencriptar, por parte del dispositivo de control montado en vehículo, la pluralidad de archivos de mejora usando la primera clave si tiene éxito la verificación de firma digital. En otras palabras, el paquete de mejora montado en vehículo se encripta, y una clave de encriptación se almacena en un servidor de claves dedicado, asegurando de ese modo efectivamente la confidencialidad del paquete de mejora montado en vehículo en un proceso de transmisión.
En una implementación posible, enviar, por parte del dispositivo de control montado en vehículo, un archivo de mejora pretendido a un dispositivo montado en vehículo a mejorar pretendido que se va a mejorar usando el archivo de mejora pretendido incluye: dividir, por parte del dispositivo de control montado en vehículo, el archivo de mejora pretendido en una pluralidad de subarchivos de mejora; generar, por parte del dispositivo de control montado en vehículo, una pluralidad de bloques de datos asociados mutuamente de la pluralidad de subarchivos de mejora usando un algoritmo preestablecido, y generar un primer código de autenticación de mensaje MAC de la pluralidad de bloques de datos usando una segunda clave, donde la segunda clave es una clave de algoritmo simétrica; y enviar secuencialmente, por parte del dispositivo de control montado en vehículo al dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos que llevan el primer MAC. En otras palabras, durante la transmisión del paquete de mejora montado en vehículo entre dispositivos montados en vehículo, un archivo de mejora se divide en una pluralidad de bloques de datos asociados usando un algoritmo preestablecido, y se realiza procesamiento de MAC en los bloques de datos asociados, de modo que el dispositivo de control montado en vehículo divide un archivo de mejora completo en una pluralidad de bloques de datos que se pueden transmitir por separado y en la que verificación de validez se puede realizar por separado. Adicionalmente, como la pluralidad de bloques de datos se asocian, un bloque de datos que tiene un problema de seguridad se puede localizar rápidamente usando un algoritmo relacionado. Por lo tanto, disminuye la carga de trabajo de computación y la complejidad de computación en una unidad de tiempo para un dispositivo montado en vehículo a mejorar que tiene una capacidad relativamente débil. Después de que ocurre un error de transmisión de archivo de mejora, una parte de error se puede encontrar tan rápidamente como sea posible, de modo que únicamente se solicita retransmitir la parte de error en vez del archivo de mejora entero. De esta manera, se garantiza además una mejora segura y eficiente para el dispositivo montado en vehículo.
En una implementación posible, el método incluye además: encriptar, por parte del dispositivo de control montado en vehículo, cada uno de la pluralidad de subarchivos de mejora usando una tercera clave; y generar, por parte del dispositivo de control montado en vehículo, una pluralidad de bloques de datos asociados mutuamente de la pluralidad de subarchivos de mejora usando un algoritmo preestablecido incluye: generar, por parte del dispositivo de control montado en vehículo usando el algoritmo preestablecido, la pluralidad de bloques de datos asociados mutuamente de la pluralidad de subarchivos de mejora que se encriptan usando la tercera clave. La confidencialidad del paquete de mejora montado en vehículo además se garantiza mientras que se garantiza la validez del paquete de mejora montado en vehículo, impidiendo de ese modo que el paquete de mejora montado en vehículo de sea obtenido por una parte no autorizada.
En una implementación posible, el archivo de mejora pretendido incluye una pluralidad de subarchivos de mejora, una pluralidad de bloques de datos asociados mutuamente se generan de la pluralidad de subarchivos de mejora usando un algoritmo preestablecido, y la pluralidad de subarchivos de mejora llevan una segunda firma digital de la pluralidad de bloques de datos que se genera usando una cuarta clave, donde la cuarta clave es una clave asimétrica; realizar, por parte del dispositivo de control montado en vehículo, verificación de seguridad en la pluralidad de archivos de mejora incluye: comprobar, por parte del dispositivo de control montado en vehículo, la segunda firma digital de la pluralidad de bloques de datos; y enviar, por parte del dispositivo de control montado en vehículo, un archivo de mejora pretendido a un dispositivo montado en vehículo a mejorar pretendido que se va a mejorar usando el archivo de mejora pretendido incluye: generar, por parte del dispositivo de control montado en vehículo, un segundo MAC de la pluralidad de bloques de datos usando una quinta clave, donde la quinta clave es una clave de algoritmo simétrica; y enviar secuencialmente, por parte del dispositivo de control montado en vehículo al dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos que llevan el segundo MAC. En otras palabras, puede implementarse transmisión de bloque y firma del paquete de mejora montado en vehículo en un lado de desarrollador de mejora. Esto es, antes de obtenerse por el dispositivo de control montado en vehículo, se obtienen bloques de datos a través de división usando un algoritmo preestablecido y firmado. En este caso, el dispositivo montado en vehículo necesita comprobar primero la validez de los bloques de datos, y entonces realiza procesamiento de MAC en bloques de datos comprobados como válidos. De esta manera, disminuye la carga de trabajo de computación y la complejidad de computación del dispositivo montado en vehículo a mejorar mientras se garantiza la validez del archivo de mejora montado en vehículo en un proceso de transmisión en vehículo. Por lo tanto, el dispositivo montado en vehículo se mejora de manera segura y eficientemente.
En una implementación posible, el algoritmo preestablecido incluye uno cualquiera de un algoritmo de cadena de hash, un algoritmo de árbol de hash, y un algoritmo de filtro de Bloom. El algoritmo preestablecido usa una función hash de los algoritmos anteriores, para dividir el archivo de mejora pretendido en una pluralidad de bloques de datos asociados mutuamente. De esta manera, durante el procesamiento de MAC, puede realizarse procesamiento de MAC únicamente en uno de la pluralidad de bloques de datos, y otros bloques de datos asociados pueden comprobarse usando un valor hash para asociación mutua.
En una implementación posible, el método incluye además: retransmitir, por parte del dispositivo de control montado en vehículo, un bloque de datos pretendido al dispositivo montado en vehículo a mejorar pretendido, donde el bloque de datos pretendido es un bloque de datos en el que la verificación falla en el dispositivo montado en vehículo a mejorar pretendido en la pluralidad de bloques de datos. En función de transmisión de bloques asociados, un bloque de datos en el que falla la verificación se puede localizar rápidamente, y cuando ocurre este tipo de error de transmisión, únicamente tiene que solicitarse de nuevo un bloque de datos correspondiente en vez del archivo de mejora entero, reduciendo de ese modo sobrecargas, mejorando la eficiencia de mejora y garantizando la seguridad de mejora.
Según un segundo aspecto, una realización de la presente invención proporciona un vehículo inteligente según la reivindicación 8.
En una implementación posible, el dispositivo de control montado en vehículo se configura específicamente para realizar verificación de firma digital en la pluralidad de archivos de mejora usando la primera firma digital. En otras palabras, el dispositivo de control montado en vehículo del vehículo inteligente en esta realización de la presente invención necesita comprobar la validez de la pluralidad de archivos de mejora en el paquete de mejora montado en vehículo que se obtiene desde fuera del vehículo.
En una implementación posible, el dispositivo de control montado en vehículo se configura específicamente para:
enviar información de autenticación de identidad al servidor de mejoras, si la información de autenticación de identidad es autenticada por el servidor de mejoras, establecer un canal seguro entre el dispositivo de control montado en vehículo y el servidor de mejoras, y obtener el paquete de mejora montado en vehículo del servidor de mejoras a través del canal seguro; o el paquete de mejora montado en vehículo se encripta usando una primera clave, la primera clave es una clave simétrica, y el dispositivo de control montado en vehículo se configura específicamente para: obtener la primera clave de un servidor de claves, y después de que tiene éxito la verificación de firma digital realizada en la pluralidad de archivos de mejora usando la primera firma digital, desencriptar la pluralidad de archivos de mejora usando la primera clave. En otras palabras, el dispositivo de control montado en vehículo del vehículo inteligente en esta realización de la presente invención puede establecer un canal seguro a un extremo de servidor, para garantizar la seguridad de un proceso de obtener el paquete de mejora montado en vehículo.
En una implementación posible, el dispositivo de control montado en vehículo se configura específicamente para: dividir el archivo de mejora pretendido en una pluralidad de subarchivos de mejora, generar una pluralidad de bloques de datos asociados mutuamente usando un algoritmo preestablecido, generar un primer código de autenticación de mensaje MAC de la pluralidad de bloques de datos usando una segunda clave, y enviar secuencialmente, al dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos que llevan el primer MAC, donde la segunda clave es una clave de algoritmo simétrica; y
el dispositivo montado en vehículo a mejorar se configura específicamente para: recibir secuencialmente la pluralidad de bloques de datos que llevan el primer MAC y que son enviados por el dispositivo de control montado en vehículo; realizar secuencialmente verificación en la pluralidad de bloques de datos en función del algoritmo preestablecido usando la segunda clave; y cuando se verifican todos de la pluralidad de bloques de datos, combinar la pluralidad de bloques de datos verificados secuencialmente para mejora.
En otras palabras, después de verificar la validez del paquete de mejora montado en vehículo obtenido desde fuera del vehículo, el dispositivo de control montado en vehículo del vehículo inteligente en esta realización de la presente invención divide el archivo de mejora en bloques y realiza procesamiento de MAC dentro de vehículo, para garantizar la validez del archivo de mejora durante transmisión en vehículo. Adicionalmente, como el dispositivo montado en vehículo a mejorar puede recibir y comprobar bloques del archivo de mejora, un error se puede localizar rápidamente. Además, la complejidad de computación es relativamente baja para comprobación de MAC. Por lo tanto, se puede garantizar que la comprobación y la mejora son relativamente fáciles para un dispositivo montado en vehículo a mejorar que tiene una capacidad de mejora relativamente débil en el vehículo. De esta manera, se garantiza la eficiencia y la seguridad de mejora de vehículo.
En una implementación posible, el dispositivo de control montado en vehículo se configura específicamente para:
encriptar cada uno de la pluralidad de subarchivos de mejora usando una tercera clave, y generar, usando el algoritmo preestablecido, la pluralidad de bloques de datos asociados mutuamente de la pluralidad de subarchivos de mejora que se encriptan usando la tercera clave; y
el dispositivo montado en vehículo a mejorar se configura específicamente para: cuando se verifican todos de la pluralidad de bloques de datos, desencriptar cada uno de la pluralidad de bloques de datos verificados secuencialmente usando la tercera clave, y combinar la pluralidad de bloques de datos que se desencriptan usando la tercera clave para mejora.
En otras palabras, para el dispositivo de control montado en vehículo del vehículo inteligente en esta realización de la presente invención, además se garantiza la confidencialidad del archivo de mejora a través de encriptación durante la transmisión del archivo de mejora en el vehículo.
En una implementación posible, el archivo de mejora pretendido incluye una pluralidad de subarchivos de mejora, una pluralidad de bloques de datos asociados mutuamente se generan de la pluralidad de subarchivos de mejora usando un algoritmo preestablecido, y la pluralidad de subarchivos de mejora llevan una segunda firma digital de la pluralidad de bloques de datos que se genera usando una cuarta clave, donde la cuarta clave es una clave asimétrica;
el dispositivo de control montado en vehículo se configura específicamente para: comprobar la segunda firma digital de la pluralidad de bloques de datos, generar un segundo MAC de la pluralidad de bloques de datos usando una quinta clave, y enviar secuencialmente, al dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos que llevan el segundo MAC, donde la quinta clave es una clave de algoritmo simétrica; y
el dispositivo montado en vehículo a mejorar se configura específicamente para: recibir secuencialmente la pluralidad de bloques de datos que llevan el segundo MAC y que son enviados por el dispositivo de control montado en vehículo; realizar secuencialmente verificación en la pluralidad de bloques de datos en función del algoritmo preestablecido usando la quinta clave; y cuando se verifican todos de la pluralidad de bloques de datos, combinar la pluralidad de bloques de datos verificados secuencialmente para mejora.
En otras palabras, después de verificar la validez del archivo de mejora dividido y firmado obtenido desde fuera del vehículo, el dispositivo de control montado en vehículo del vehículo inteligente en esta realización de la presente invención divide el archivo de mejora en bloques y realiza procesamiento de MAC dentro de vehículo, para garantizar la validez del archivo de mejora durante transmisión en vehículo. Adicionalmente, como el dispositivo montado en vehículo a mejorar puede recibir y comprobar bloques del archivo de mejora, un error se puede localizar rápidamente. Además, la complejidad de computación es relativamente baja para comprobación de MAC. Por lo tanto, se puede garantizar que la comprobación y la mejora son relativamente fáciles para un dispositivo montado en vehículo a mejorar que tiene una capacidad de mejora relativamente débil en el vehículo. De esta manera, se garantiza la eficiencia y la seguridad de mejora de vehículo.
Según un tercer aspecto, como ejemplo para un mejor entendimiento, se presenta un método de mejora de dispositivo montado en vehículo, que puede incluir:
recibir, por parte de un dispositivo montado en vehículo a mejorar pretendido, un archivo de mejora pretendido enviado por un dispositivo de control montado en vehículo, donde el archivo de mejora pretendido es un archivo de mejora en el que tiene éxito la verificación de seguridad realizada por el dispositivo de control montado en vehículo y que se utiliza para mejorar al menos el dispositivo montado en vehículo a mejorar pretendido; y realizar, por parte del dispositivo montado en vehículo a mejorar pretendido, una mejora segura usando el archivo de mejora pretendido. En esta realización de la presente invención, el dispositivo montado en vehículo a mejorar pretendido recibe un archivo de mejora en el que el procesamiento de verificación de seguridad ya se ha realizado en un lado de dispositivo de control montado en vehículo, y realiza mejora de dispositivo usando el archivo de mejora, para impedir a dispositivos montados en vehículo a mejorar que tienen diferentes capacidades de mejora que participen en un proceso de verificación de seguridad, de garantizando ese modo que un dispositivo montado en vehículo a mejorar se mejora de manera segura y eficientemente usando el paquete de mejora montado en vehículo.
En una implementación posible del ejemplo para un mejor entendimiento, realizar, por parte del dispositivo montado en vehículo a mejorar pretendido, una mejora segura usando el archivo de mejora pretendido incluye: usar, por parte del dispositivo montado en vehículo a mejorar pretendido, un modo de mejora de actualizaciones de sistema A/B, y realizar la mejora segura usando el archivo de mejora pretendido, donde el dispositivo montado en vehículo a mejorar es un primer dispositivo montado en vehículo a mejorar cuya capacidad de almacenamiento de recursos y/o capacidad de procesamiento superan un valor preestablecido o un primer dispositivo montado en vehículo a mejorar que se especifica por adelantado. Para un dispositivo montado en vehículo a mejorar que tiene una capacidad relativamente fuerte, se puede usar el modo de mejora de actualizaciones de sistema A/B para mejora.
En una implementación posible del ejemplo para un mejor entendimiento, el archivo de mejora pretendido incluye una pluralidad de subarchivos de mejora; recibir, por parte de un dispositivo montado en vehículo a mejorar pretendido, un archivo de mejora pretendido enviado por un dispositivo de control montado en vehículo incluye: recibir secuencialmente:, por parte del dispositivo montado en vehículo a mejorar pretendido, una pluralidad de bloques de datos que llevan un primer MAC y que son enviados por el dispositivo de control montado en vehículo, donde la pluralidad de bloques de datos son una pluralidad de bloques de datos asociados mutuamente que se generan de la pluralidad de subarchivos de mejora usando un algoritmo preestablecido, el primer MAC es un código de autenticación de mensaje de la pluralidad de bloques de datos que se genera usando una segunda clave, y la segunda clave es una clave simétrica; y realizar, por parte del dispositivo montado en vehículo a mejorar pretendido, una mejora segura usando el archivo de mejora pretendido incluye: realizar secuencialmente, por parte del dispositivo montado en vehículo a mejorar pretendido, verificación en la pluralidad de bloques de datos en función del algoritmo preestablecido usando la segunda clave; y cuando se verifican todos de la pluralidad de bloques de datos, combinar, por parte del dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos que se verifican secuencialmente para mejora. En otras palabras, durante la transmisión del paquete de mejora montado en vehículo entre dispositivos montados en vehículo, un archivo de mejora se divide en una pluralidad de bloques de datos asociados usando un algoritmo preestablecido, y se realiza procesamiento de MAC en los bloques de datos asociados, de modo que el dispositivo de control montado en vehículo divide un archivo de mejora completo en una pluralidad de bloques de datos que se pueden transmitir por separado y en la que verificación de validez se puede realizar por separado. Adicionalmente, como la pluralidad de bloques de datos se asocian, un bloque de datos que tiene un problema de seguridad se puede localizar rápidamente usando un algoritmo relacionado. Por lo tanto, disminuye la carga de trabajo de computación y la complejidad de computación en una unidad de tiempo para un dispositivo montado en vehículo a mejorar que tiene una capacidad relativamente débil. Después de que ocurre un error de transmisión de archivo de mejora, una parte de error se puede encontrar tan rápidamente como sea posible, de modo que únicamente se solicita retransmitir la parte de error en vez del archivo de mejora entero. De esta manera, se garantiza además una mejora segura y eficiente para el dispositivo montado en vehículo.
En una implementación posible del ejemplo para un mejor entendimiento, la pluralidad de subarchivos de mejora se encriptan usando una tercera clave; y cuando se verifican todos de la pluralidad de bloques de datos, combinar, por parte del dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos que se verifican secuencialmente para mejora incluye: cuando se verifican todos de la pluralidad de bloques de datos, desencriptar, por parte del dispositivo montado en vehículo a mejorar pretendido, cada uno de la pluralidad de bloques de datos verificados secuencialmente usando la tercera clave, y combinar la pluralidad de bloques de datos que se desencriptan usando la tercera clave para mejora. La confidencialidad del paquete de mejora montado en vehículo además se garantiza mientras que se garantiza la validez del paquete de mejora montado en vehículo, impidiendo de ese modo que el paquete de mejora montado en vehículo de sea obtenido por una parte no autorizada.
En una implementación posible del ejemplo para un mejor entendimiento, el archivo de mejora pretendido incluye una pluralidad de subarchivos de mejora; recibir, por parte de un dispositivo montado en vehículo a mejorar pretendido, un archivo de mejora pretendido enviado por un dispositivo de control montado en vehículo incluye: recibir secuencialmente:, por parte del dispositivo montado en vehículo a mejorar pretendido, una pluralidad de bloques de datos que llevan un segundo MAC y que son enviados por el dispositivo de control montado en vehículo, donde la pluralidad de bloques de datos son una pluralidad de bloques de datos asociados mutuamente que se generan de la pluralidad de subarchivos de mejora usando un algoritmo preestablecido, el segundo MAC es un código de autenticación de mensaje de la pluralidad de bloques de datos que se genera usando una quinta clave, y la quinta clave es una clave simétrica; y realizar, por parte del dispositivo montado en vehículo a mejorar pretendido, una mejora segura usando el archivo de mejora pretendido incluye: realizar secuencialmente, por parte del dispositivo montado en vehículo a mejorar pretendido, verificación en la pluralidad de bloques de datos en función del algoritmo preestablecido usando la quinta clave; y cuando se verifican todos de la pluralidad de bloques de datos, combinar, por parte del dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos que se verifican secuencialmente para mejora. En otras palabras, puede implementarse transmisión de bloque y firma del paquete de mejora montado en vehículo en un lado de desarrollador de mejora. Esto es, antes de obtenerse por el dispositivo de control montado en vehículo, se obtienen bloques de datos a través de división usando un algoritmo preestablecido y firmado. En este caso, el dispositivo montado en vehículo necesita comprobar primero la validez de los bloques de datos, y entonces realiza procesamiento de MAC en bloques de datos comprobados como válidos. De esta manera, disminuye la carga de trabajo de computación y la complejidad de computación del dispositivo montado en vehículo a mejorar mientras se garantiza la validez del archivo de mejora montado en vehículo en un proceso de transmisión en vehículo. Por lo tanto, el dispositivo montado en vehículo se mejora de manera segura y eficientemente.
En una implementación posible del ejemplo para un mejor entendimiento, el método incluye además: volver a obtener, por parte del dispositivo montado en vehículo a mejorar pretendido, un bloque de datos pretendido del dispositivo de control montado en vehículo, donde el bloque de datos pretendido es un bloque de datos en el que la verificación falla en el dispositivo montado en vehículo a mejorar pretendido en la pluralidad de bloques de datos. En función de transmisión de bloques asociados, un bloque de datos en el que falla la verificación se puede localizar rápidamente, y cuando ocurre este tipo de error de transmisión, únicamente tiene que solicitarse de nuevo un bloque de datos correspondiente en vez del archivo de mejora entero, reduciendo de ese modo sobrecargas, mejorando la eficiencia de mejora y garantizando la seguridad de mejora.
Según un cuarto aspecto, como ejemplo para un mejor entendimiento, se proporciona un aparato de mejora de dispositivo montado en vehículo. El aparato de mejora de dispositivo montado en vehículo tiene una función de implementar el método en una cualquiera de las anteriores realizaciones de método de mejora de dispositivo montado en vehículo. La función puede implementarse usando hardware o ejecutando correspondiente software por hardware. El hardware o software incluye uno o más módulos correspondientes a la función.
Según un quinto aspecto, como ejemplo para un mejor entendimiento, se proporciona un aparato montado en vehículo a mejorar. El dispositivo terminal tiene una función de implementar el método en una cualquiera de las anteriores realizaciones de método de mejora de dispositivo montado en vehículo. La función puede implementarse usando hardware o ejecutando correspondiente software por hardware. El hardware o software incluye uno o más módulos correspondientes a la función.
Según un sexto aspecto, como ejemplo para un mejor entendimiento, se proporciona un dispositivo de control montado en vehículo. El dispositivo de control montado en vehículo incluye un procesador, y el procesador se configura para apoyar al dispositivo de control montado en vehículo al realizar una correspondiente función en el método de mejora de dispositivo montado en vehículo proporcionado en el primer aspecto. El dispositivo de control montado en vehículo puede incluir además una memoria, y la memoria se configura para acoplarse al procesador y almacenar una instrucción de programa y datos que son necesarios para el dispositivo de control montado en vehículo. El dispositivo de control montado en vehículo puede incluir además una interfaz de comunicaciones para comunicación entre el dispositivo de control montado en vehículo y otro dispositivo o red de comunicaciones.
Según un séptimo aspecto, como ejemplo para un mejor entendimiento se proporciona un dispositivo montado en vehículo a mejorar pretendido. El dispositivo montado en vehículo a mejorar pretendido incluye un procesador, y el procesador se configura para apoyar al dispositivo montado en vehículo a mejorar pretendido a realizar una correspondiente función en el método de mejora de dispositivo montado en vehículo proporcionado en el tercer aspecto. El dispositivo montado en vehículo a mejorar pretendido puede incluir además una memoria, y la memoria se configura para acoplarse al procesador y almacenar una instrucción de programa y datos que son necesarios para el dispositivo montado en vehículo a mejorar pretendido. El dispositivo montado en vehículo a mejorar pretendido puede incluir además una interfaz de comunicaciones para comunicación entre el dispositivo montado en vehículo a mejorar pretendido y otro dispositivo o red de comunicaciones.
Según un octavo aspecto, como ejemplo para un mejor entendimiento, se proporciona un soporte de almacenamiento informático, configurado para almacenar una instrucción de software informático usado por el dispositivo de control montado en vehículo proporcionado en la sexto aspecto. La instrucción de software informático incluye un programa diseñado para implementar el anterior aspecto.
Según un noveno aspecto, como ejemplo para un mejor entendimiento, se proporciona un soporte de almacenamiento informático, configurado para almacenar una instrucción de software informático usado por el dispositivo montado en vehículo a mejorar pretendido proporcionado en el séptimo aspecto. La instrucción de software informático incluye un programa diseñado para implementar el anterior aspecto.
Según un décimo aspecto, como ejemplo para un mejor entendimiento, se proporciona un programa informático. El programa informático incluye una instrucción, y cuando el programa informático es ejecutado por un ordenador, el ordenador se habilita para realizar etapas del método de mejora de dispositivo montado en vehículo en cualquier implementación posible del primer aspecto.
Según un undécimo aspecto, como ejemplo para un mejor entendimiento, se proporciona un programa informático. El programa informático incluye una instrucción, y cuando el programa informático es ejecutado por un ordenador, el ordenador se habilita para realizar etapas del método de mejora de dispositivo montado en vehículo en cualquier implementación posible del tercer aspecto.
Según un duodécimo aspecto, como ejemplo para un mejor entendimiento, se proporciona un sistema de chip. El sistema de chip incluye un procesador, configurado para soportar un dispositivo montado en vehículo a mejorar pretendido o un dispositivo de control montado en vehículo al implementar una función relacionada con los anteriores aspectos, por ejemplo, recibir o procesar datos y/o información en los métodos anteriores. En un posible diseño, el sistema de chip incluye además una memoria, y la memoria se configura para almacenar una instrucción de programa; y datos que son necesarios para el dispositivo montado en vehículo a mejorar pretendido o el dispositivo de control montado en vehículo. El sistema de chip puede incluir un chip, o puede incluir un chip y otro dispositivo discreto.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La FIGURA 1 es un diagrama de una arquitectura de mejora de sistema montado en vehículo según una realización de la presente invención;
la FIGURA 2 es un diagrama estructural esquemático de un orquestador de OTA según una realización de la presente invención;
la FIGURA 3 es un diagrama estructural esquemático de un dispositivo montado en vehículo a mejorar según una realización de la presente invención;
la FIGURA 4 es otro diagrama de una arquitectura de mejora de sistema montado en vehículo según una realización de la presente invención;
la FIGURA 5 es un diagrama de flujo esquemático de un método de mejora de dispositivo montado en vehículo según una realización de la presente invención;
la FIGURA 6 es un diagrama estructural esquemático de un aparato de mejora montado en vehículo según una realización de la presente invención;
la FIGURA 7 es un diagrama estructural esquemático de un aparato montado en vehículo a mejorar según una realización de la presente invención;
la FIGURA 8 es un diagrama estructural esquemático de un dispositivo según una realización de la presente invención; y
la FIGURA 9 es un diagrama estructural esquemático de un vehículo inteligente según una realización de la presente invención.
DESCRIPCIÓN DE REALIZACIONES
A continuación se describen realizaciones de la presente invención con referencia a los dibujos adjuntos en las realizaciones de la presente invención.
En esta memoria descriptiva, las reivindicaciones y los dibujos adjuntos de esta solicitud, los términos "primero", "segundo", "tercero", "cuarto", etc. pretenden distinguir entre diferentes objetos, pero no indican un orden particular. Adicionalmente, los términos "que incluye" y "que tiene" y cualesquiera otras variantes del mismo pretenden cubrir una inclusión no exclusiva. Por ejemplo, un proceso, un método, un sistema, un producto o un dispositivo que incluye un serie de las etapas o unidades no se limita a las etapas o unidades enumeradas, pero opcionalmente incluye además una etapa o unidad no enumerada, u opcionalmente incluye además otra etapa o unidad inherente del proceso, el método, el producto o el dispositivo.
Mencionar una "realización" en esta memoria descriptiva significa que una característica, estructura o rasgo particular descrito con referencia a las realizaciones se puede incluir en al menos una realización de esta solicitud. La frase mostrada en diversas ubicaciones en esta memoria descriptiva puede no necesariamente referirse a una misma realización, y no es una realización independiente u opcional exclusiva de otra realización. Se entiende explícita e implícitamente por un experto en la técnica que las realizaciones descritas en esta memoria descriptiva pueden combinarse con otra realización.
Términos tales como "componente", "módulo" y "sistema" usados en esta memoria descriptiva se usan para indicar entidades relacionadas con ordenador, hardware, firmware, combinaciones de hardware y software, software, o software que se ejecuta. Por ejemplo, un componente puede ser, pero sin limitación a esto, un proceso que se ejecuta en un procesador, un procesador, un objeto, un archivo ejecutable, un hilo de ejecución, un programa y/o un ordenador. Según se muestra en las figuras, tanto un dispositivo informático como una aplicación que se ejecuta en un dispositivo informático pueden ser componentes. Uno o más componentes pueden residir dentro de un proceso y/o un hilo de ejecución, y un componente se puede localizar en un ordenador y/o distribuirse entre al menos dos ordenadores. Además, estos componentes se pueden ejecutar desde diversos medios legibles por ordenador que almacenan diversas estructuras de datos. Por ejemplo, los componentes pueden comunicarse usando un proceso local y/o remoto y sobre la base de, por ejemplo, una señal que tiene uno o más paquetes de datos (por ejemplo, datos de dos componentes que interactúan con otro componente en un sistema local, un sistema distribuido y/o por una red tal como internet que interactúan con otros sistemas usando la señal).
Primero, en esta solicitud se explican y se describen algunos términos, para facilitar el entendimiento para un experto en la técnica.
(1) . Una tecnología por el aire (Over-the-air Technology, OTA) es una tecnología para realizar la mejora remota de firmware o software a través de una interfaz de aire en comunicación móvil.
(2) . Un servicio de información montado en vehículo (Telematics) es un compuesto de telecomunicaciones (Telecommunications) y ciencias de la información (Informatics), y puede definirse literalmente como sistema de servicio que proporciona información usando un sistema informático integrado un vehículo tal como un automóvil, una aeronave, una embarcación, o un tren, tecnologías de comunicaciones inalámbricas, un aparato de navegación por satélite, o tecnologías de internet para intercambiar información tal como un texto o voz. En breve, el sistema de servicio conecta un vehículo a internet usando una red inalámbrica, y proporciona un vehículo propietario con diversa información necesaria para conducir y vivir.
(3) . Una unidad de control electrónico (Electronic Control Unit, ECU) es un microcontrolador específico de vehículo desde una perspectiva de uso. Como un ordenador común, la unidad de control electrónico incluye circuitos integrados a gran escala tales como un microprocesador (CPU), una memoria (una ROM o una RAM), una interfaz de entrada/salida (I/O), un convertidor analógico-a-digital (A/D), un conformador y un controlador.
(4) . Una unidad de control de vehículo (Vehicle control unit, VCU) también se puede denominar controlador de vehículo eléctrico integrado. La VCU es un controlador general de una cadena de trasmisión de vehículo eléctrico, es responsable de coordinar el funcionamiento de partes tales como un motor térmico, un motor de impulsión, un caja de engranajes, y una batería de energía, y tiene funciones de mejorar las prestaciones de potencia, prestaciones de seguridad y eficiencia económica de un vehículo. La VCU es una parte central de un sistema de control de vehículo eléctrico integrado y es un controlador central configurado para controlar arranque, funcionamiento, avance y retroceso, velocidad y parada de un motor de un vehículo eléctrico y controlar otro dispositivo electrónico del vehículo eléctrico. Como parte central de un sistema de control de un vehículo eléctrico puro, la VCU es responsable de tareas tales como intercambio de datos, gestión de seguridad, interpretación de intensión del conductor y gestión de corriente de alimentación. La VCU recoge una señal de un sistema de control de motor, una señal de un pedal de acelerador, una señal de un pedal de freno, y una señal de otra parte, determina una intensión de conducción de un conductor tras realizar análisis completo y genera una respuesta, y monitoriza acciones de controladores de partes de capa más baja. La VCU juega un papel en funciones tales como conducción normal del vehículo, regeneración y frenado de energía de batería, gestión de red, diagnosis y procesamiento de fallos y monitorización de estado de vehículo.
(6) . Un bus de red de área de controlador (Controller Area Network, CAN) es un bus de campo aplicado más ampliamente en el mundo. Recibe mucha atención la alta fiabilidad y una fuerte capacidad de detección de errores del bus CAN, y por lo tanto el bus CAN se aplica ampliamente a un sistema de control de ordenador de vehículo y un entorno industrial con una temperatura ambiente de hash, fuerte radiación electromagnética y vibración intensa. El bus CAN es un bus de campo ampliamente aplicado y tiene una gran perspectiva de aplicación en campos tales como medición industrial y automatización de control e industrial. Un CAN es una red de bus de comunicaciones en serie. El bus CAN tiene las ventajas de ser fiable, en tiempo real y flexible en comunicación de datos. Para diseño transparente y ejecución flexible, una estructura del bus CAN se divide en una capa física y una capa de enlace de datos (que incluye una subcapa de control de enlace lógico LLC y una subcapa de control de acceso a medios MAC) según un modelo estándar ISO/OSI.
(7) . Un código de autenticación de mensaje (Message Authentication Code, MAC) es una función de codificación para una fuente de señal. El mAc es similar a un algoritmo digest pero necesita usar una clave durante la computación, y por lo tanto el MAC depende de ambas de una clave usada e información cuyo MAC tiene que computarse. Realmente, el MAC se obtiene usualmente a través de construcción basada en el algoritmo digest.
(8) . Un algoritmo de derivación de clave (Key Derivation Function, KDF) es una función de derivación de clave usada durante encriptación y desencriptación. Una función de la función de derivación de clave es derivar datos de clave de un puerto serie de bit secreto compartido. Durante la negociación de clave, la función de derivación de clave trabaja en una cadena de bits secreta obtenida en intercambio de clave, para generar una clave de sesión requerida o datos de clave requeridos para encriptación adicional. (9) . Criptología de clave pública (criptología asimétrica): La criptología de clave pública también se denomina criptología asimétrica. Un algoritmo de clave asimétrica significa que una clave de encriptación de un algoritmo de encriptación es diferente de una clave de desencriptación del algoritmo de encriptación, o una clave del algoritmo de encriptación no se puede deducir usando la otra clave. Un usuario que tiene criptología de clave pública tiene una clave de encriptación y una clave de desencriptación, y la clave de desencriptación no puede obtenerse usando la clave de encriptación. Adicionalmente, la clave de encriptación es pública. La criptología de clave pública se diseña en función de este principio, para usar información de asistencia (información de trampilla) como clave secreta. La seguridad de este tipo de criptología depende de la complejidad de computación de un problema en la que se basa el tipo de criptología. Actualmente, la criptología de clave pública común incluye criptología de clave pública RSA, criptología de clave pública ElGamal, y criptología de curva elíptica.
(10) . Criptología simétrica: La encriptación de clave simétrica también se denomina encriptación de clave dedicada. Para ser específicos, un remitente de datos y un receptor de datos usan necesariamente una misma clave para realizar operaciones de encriptación y desencriptación en un texto plano. Esto es, una clave de encriptación se puede deducir de una clave de desencriptación, y viceversa. En la mayoría de algoritmos simétricos, una clave de encriptación es la misma que la clave de desencriptación. Estos algoritmos también se denominan algoritmo de clave secreta o algoritmo de una clave, y requieren que un remitente y un receptor acuerden sobre una clave antes asegurar la comunicación. La seguridad de los algoritmos simétricos depende de la clave, y la filtración de la clave significa que cualquiera puede encriptar y desencriptar un mensaje. La clave tiene que mantenerse secreta siempre que la comunicación requiera confidencialidad.
De las descripciones anteriores acerca del algoritmo de clave simétrica y el algoritmo de clave asimétrica, se puede aprender lo siguiente: Se usa una misma clave para ambas de encriptación de clave simétrica y desencriptación de clave simétrica, o es fácil deducir una clave de desencriptación de una clave de encriptación. Adicionalmente, el algoritmo de clave simétrica tiene características tales como fácil procesamiento de encriptación, rápida encriptación y desencriptación, una clave relativamente corta, y una historia de desarrollo larga, y el algoritmo de clave asimétrica tiene características tales como lenta encriptación y desencriptación, una clave larga, y una historia de desarrollo corta.
(11) . Se usa el protocolo de seguridad de capa de transporte (Transport Layer Security, TLS) para proporcionar confidencialidad e integridad de datos entre dos programas de aplicación. El protocolo incluye dos capas: el protocolo de registro de TLS (TLS Record) y el protocolo de saludo de TLS (TLS Handshake). El protocolo de seguridad de capa de transporte (TLS) se usa para garantizar la confidencialidad y la integridad de datos entre dos programas de aplicación de comunicaciones.
Primero, se proporciona un problema técnico que se tiene que resolver en esta solicitud y un escenario de aplicación. En la técnica anterior, un dispositivo convencional montado en vehículo se llama para mejora de firmware/software. Para ser específicos, un vehículo se llama a una ubicación especificada tal como un taller de reparación de automoción o un 4S Store, para mejorar firmware/software usando los siguientes métodos cuyas implementaciones específicas son la siguiente solución 1 y solución 2.
Solución 1: Usando una interfaz de grupo conjunto de acción de prueba (Joint Test Action Group, JTAG) o una interfaz de modo de depuración en segundo plano (Background Debugging Mode, BDM), realizar escritura online o realizar escritura después de desensamblar un dispositivo montado en vehículo. Específicamente, se puede incluir una manera 1 y una manera 2.
Manera 1: Primero descargar software a mejorar a un programador usando un ordenador personal (personal computer, PC), conectar el programador a un dispositivo de programación, colocar una placa de circuito impreso (Printed Circuit Board, PCB) de un sistema de control de vehículo electrónico en el dispositivo de programación y alinear la placa de circuito impreso con una interfaz de descarga, y finalmente encender el programador y escribir el software.
Manera 2: Conectar líneas de datos de descarga de programa de un PC y un microordenador de un chip a una PCB de un sistema de control de vehículo electrónico en serie, y utilizar el PC para descargar directamente un programa al microordenador de un chip.
La manera 1 y la manera 2 anteriores tienen problemas de requerir un experto en la técnica, costes más altos y operación bastante incómoda.
Solución 2: Realizar escritura flash en función de una diagnosis a bordo (On-Board Diagnostic, OBD) de un bus CAN.
Etapa 1. Entrar un modo de renovación de un estado de funcionamiento normal de programa de aplicación de un sistema de vehículo electrónico (interrupción o diagnosis por desencadenante).
Etapa 2. Comprobar una memoria de un chip de controlador de vehículo electrónico, y determinar si un programa de aplicación correcto está almacenado en la memoria.
Etapa 3. Si no hay programas de aplicación correctos en la memoria, descargar software de programa de aplicación de un dispositivo de diagnóstico, transmitir la software de programa de aplicación a través del bus CAN, y renovar un programa de aplicación en un flash (un módulo de renovación se configura para iniciar y guiar la escritura de software).
La solución 2 tiene problemas de requerir un experto en la técnica y un ciclo largo.
Además de la solución 1 y la solución 2 anteriores, actualmente, se implementa mejora remota para algunos vehículos. Sin embargo, la mejora remota se implementa generalmente principalmente para un dispositivo montado en vehículo que tiene una capacidad de computación relativamente fuerte y espacio de almacenamiento relativamente grande. En otras palabras, actualmente, un método de mejora seguro y eficiente de firmware/software no se puede proporcionar para un dispositivo montado en vehículo que tiene una capacidad de computación relativamente débil o espacio de almacenamiento relativamente pequeño. Por lo tanto, cómo implementar mejora segura y eficiente de firmware/software para dispositivos montados en vehículo a mejorar que tienen diferentes capacidades de mejora en un sistema montado en vehículo es un problema técnico que realmente se tiene que resolver en esta solicitud.
Para facilitar el entendimiento de las realizaciones de la presente invención, sobre la base de las descripciones anteriores, a continuación se describe primero una arquitectura de sistema de mejora montada en vehículo aplicada a las realizaciones de la presente invención. La FIGURA 1 es un diagrama de una arquitectura de mejora de sistema montado en vehículo (una arquitectura 1 por abreviar) según una realización de la presente invención. Un método de mejora de dispositivo montado en vehículo proporcionado en esta solicitud puede aplicarse a la arquitectura de sistema. La arquitectura de sistema incluye un servidor de mejoras, un dispositivo de control montado en vehículo, y una pluralidad de dispositivos montados en vehículo a mejorar tales como una HMI (human-machine interface, interfaz humano-máquina), un BMS (battery management system, sistema de gestión de batería), una ECU 1 y un ECU 2. El dispositivo de control montado en vehículo puede incluir una unidad de telemática y una unidad de orquestador de OTA (OTA Orchestrator) que se configuran para gestionar y ayudar en un proceso de mejora de la pluralidad de dispositivos montados en vehículo a mejorar. En la arquitectura de sistema, la mejora remota para un dispositivo montado en vehículo puede incluir los siguientes procesos básicos: liberación de paquete de mejora, obtención de paquete de mejora, transmisión en vehículo de paquete de mejora y mejora y confirmación.
El servidor de mejoras se configura para obtener un paquete de mejora montado en vehículo desencriptado de un desarrollador.
La telemática en el dispositivo de control montado en vehículo es responsable de la comunicación con el exterior. En esta solicitud, la telemática es responsable de comunicar con el servidor de mejoras y un servidor de claves, para implementar una tarea de obtener el paquete de mejora montado en vehículo y realizar algunas acciones de transmitir el paquete de mejora montado en vehículo (enviar el paquete de mejora montado en vehículo al orquestador de OTA).
El orquestador de OTA en el dispositivo de control montado en vehículo es responsable de la comunicación con los dispositivos montados en vehículo a mejorar en el vehículo. En esta solicitud, el paquete de mejora montado en vehículo pasa a través la telemática y una unidad/módulo de gestión, y finalmente llega en un dispositivo montado en vehículo a mejorar pretendido. Una función principal del orquestador de OTA es gestionar y ayudar en un proceso de mejora de los dispositivos montados en vehículo. Específicamente, el orquestador de OTA necesita tener las siguientes funciones: entrega y gestión de claves; gestión de proceso OTA; ayudar a otro dispositivo montado en vehículo a mejorar que tiene una capacidad más débil en una operación que requiere una gran carga de trabajo de computación, por ejemplo, verificar integridad y autenticidad de un paquete de mejora, o transcodificar (transcoding); y servir como nodo de respaldo de otro dispositivo montado en vehículo a mejorar que tiene una capacidad más débil, para restauración cuando falla la mejora. El orquestador de OTA es un entidad lógica y se puede desplegar físicamente en cualquier unidad o módulo potente tal como la telemática, una pasarela, o un VCU. Una estructura del orquestador de OTA puede mostrarse en la FIGURA 2. La FIGURA 2 es un diagrama estructural esquemático de un orquestador de OTA según una realización de la presente invención. El orquestador de OTA puede incluir una CPU de procesador, una memoria volátil RAM relacionada, una memoria no volátil ROM relacionada y un almacenamiento seguro configurado para almacenar una clave, por ejemplo, una clave estática que se comparte con un dispositivo montado en vehículo. El orquestador de OTA incluye además una memoria configurada para almacenar un programa de gestión OTA, y el programa de gestión OTA se usa para gestionar un proceso de mejora; e incluye además una interfaz de red que puede comunicar con otro dispositivo montado en vehículo a través de un bus CAN u otra red en vehículo. Se puede entender que, si el orquestador de OTA se implementa en la telemática, el orquestador de OTA requiere además una interfaz de red para comunicar con una red externa. Esto es, el orquestador de OTA necesita tener una capacidad de computación relativamente fuerte y una cantidad de recursos relativamente grande, para ayudar a un dispositivo montado en vehículo a completar mejora remota y ser de confianza para otro dispositivo montado en vehículo. Desde el punto de vista de división de arquitectura lógica, el orquestador de OTA divide la arquitectura en una parte de comunicación fuera del vehículo y una parte de comunicación en el vehículo. Dispositivos de la parte en el vehículo tienen que realizar únicamente una operación de criptología simétrica, en vez de una operación de criptología de clave pública. Si se tiene que realizar una operación de clave pública, la operación de clave pública se asigna al orquestador de OTA, para reducir la carga de trabajo de computación y la complejidad de computación de un dispositivo a mejorar en el vehículo.
Para los dispositivos montados en vehículo a mejorar, una composición de uno cualquiera de los dispositivos montados en vehículo a mejorar puede mostrarse en la FIGURA 3. La FIGURA 3 es un diagrama estructural esquemático de un dispositivo montado en vehículo a mejorar según una realización de la presente invención. El dispositivo montado en vehículo a mejorar puede incluir un microcontrolador (Micro controller), un controlador de<c>A<n>(CAN controller), y un transceptor (Transceiver). El dispositivo montado en vehículo a mejorar se comunica con una red en vehículo tal como un bus CAN usando el transceptor (transceiver). El controlador de CAN se configura para implementar el protocolo de CAN, y el microcontrolador se configura para implementar procesamiento de computación relacionado antes y después de la mejora. Por ejemplo, el microcontrolador puede implementar un método de mejora de dispositivo montado en vehículo realizado por el dispositivo montado en vehículo a mejorar en esta solicitud. Con referencia al diagrama estructural esquemático anterior, en esta solicitud, un dispositivo montado en vehículo a mejorar pretendido recibe, en función de la red en vehículo tal como el bus CAN usando un transceptor (Transceiver), un archivo de mejora pretendido enviado por el dispositivo de control montado en vehículo, y realiza mejora segura usando el archivo de mejora pretendido y el microcontrolador (Micro Controller). Para una función más específica, consúltense descripciones acerca de una función relacionada con el dispositivo montado en vehículo a mejorar en subsiguientes realizaciones.
Del diagrama estructural esquemático del dispositivo montado en vehículo a mejorar se puede aprender que el bus CAN se usa comúnmente en vehículos actuales, pero el bus CAN afecta al ancho de banda. En consecuencia, en algunos escenarios de mejora, no se puede lograr la máxima eficiencia de mejora para mejora remota de firmware/software para un dispositivo montado en vehículo.
La FIGURA 4 es otro diagrama de una arquitectura de mejora de sistema montado en vehículo (una arquitectura 2 por abreviar) según una realización de la presente invención. A diferencia de la arquitectura de mejora de sistema proporcionada en la FIGURA 1, esta arquitectura de mejora de sistema montado en vehículo incluye además un servidor de claves.
Un servidor de mejoras se configura para obtener, de un desarrollador, un paquete de mejora montado en vehículo encriptado por el desarrollador.
El servidor de claves se configura para: cuando el paquete de mejora montado en vehículo se encripta por el desarrollador, obtener una clave del desarrollador a través de un canal seguro, almacenar la clave, y finalmente proporcionar la clave a un dispositivo de control montado en vehículo.
Se puede entender que, para otros aspectos tales como funciones específicas del dispositivo de control montado en vehículo y una pluralidad de dispositivos montados en vehículo a mejorar, consúltense descripciones acerca de entidades de función o unidades en la arquitectura de mejora de sistema montado en vehículo correspondientes a la FIGURA 1. En esta memoria no se describen de nuevo detalles.
Se puede entender además que, la arquitectura de mejora de sistema montado en vehículo en esta solicitud puede incluir además el desarrollador. Después de desarrollar y probar un programa de mejora (firmware/software), el desarrollador entrega el paquete de mejora montado en vehículo al servidor de mejoras. El paquete de mejora montado en vehículo entregado tiene que firmarse usando una firma digital. Opcionalmente, antes de ser firmado usando la firma digital, el paquete de mejora montado en vehículo puede además encriptarse. Si el paquete de mejora montado en vehículo no se encripta, la arquitectura es la arquitectura de sistema de la FIGURA 1; si el paquete de mejora montado en vehículo se encripta, la arquitectura es la arquitectura de sistema de la FIGURA. 2. Correspondientes realizaciones se tienen que detallar en las siguientes descripciones.
Cabe señalar que, la arquitecturas de mejora de sistema montado en vehículo en la FIGURA 1 y la FIGURA 2 son meramente dos ejemplos de implementaciones de las realizaciones de la presente invención. Una arquitectura de sistema de comunicaciones en las realizaciones de la presente invención incluye, pero no se limita a esto, las anteriores arquitecturas de sistema.
A continuación se analiza específicamente y resuelve el problema técnico proporcionado en esta solicitud usando realizaciones del método de mejora de dispositivo montado en vehículo proporcionado en esta solicitud.
La FIGURA 5 es un diagrama de flujo esquemático de un método de mejora de dispositivo montado en vehículo según una realización de la presente invención. El método puede aplicarse a la arquitectura de mejora de sistema montado en vehículo en la FIGURA 1 o la FIGURA 4. Con referencia a la FIGURA 5, a continuación se describe el método desde una perspectiva de interacción entre un dispositivo de control montado en vehículo y un dispositivo montado en vehículo a mejorar pretendido. El método puede incluir las etapas S501 a S505.
Etapa S501. El dispositivo de control montado en vehículo obtiene un paquete de mejora montado en vehículo.
Etapa S502. El dispositivo de control montado en vehículo realiza verificación de seguridad en una pluralidad de archivos de mejora.
Etapa S503. El dispositivo de control montado en vehículo envía un archivo de mejora pretendido al dispositivo montado en vehículo a mejorar pretendido que se va a mejorar usando el archivo de mejora pretendido, donde el archivo de mejora pretendido es un archivo de mejora en el que tiene éxito la verificación de seguridad en la pluralidad de archivos de mejora.
Etapa S504. El dispositivo montado en vehículo a mejorar pretendido recibe el archivo de mejora pretendido enviado por el dispositivo de control montado en vehículo, donde el archivo de mejora pretendido es un archivo de mejora en el que tiene éxito la verificación de seguridad realizada por el dispositivo de control montado en vehículo y que se utiliza para mejorar el dispositivo montado en vehículo a mejorar.
Etapa S505. El dispositivo montado en vehículo a mejorar pretendido realiza mejora segura usando el archivo de mejora pretendido.
Específicamente, el paquete de mejora montado en vehículo incluye la pluralidad de archivos de mejora, y cada archivo de mejora se usa para mejorar al menos un dispositivo montado en vehículo a mejorar. En otras palabras, un dispositivo montado en vehículo a mejorar en un sistema montado en vehículo puede corresponder a uno o más archivos de mejora.
Antes de que el dispositivo de control montado en vehículo realice la etapa S501, el paquete de mejora montado en vehículo se libera. Generalmente, después de desarrollar y probar un programa de mejora, un desarrollador del paquete de mejora montado en vehículo (firmware/software) entrega el paquete de mejora montado en vehículo a un servidor de mejoras. En una implementación posible, el paquete de mejora montado en vehículo incluye una primera firma digital. Se asume que el paquete de mejora montado en vehículo es M e información de versión es ver (por ejemplo, toda información de metadatos (meta-data) tal como un nombre de programa, un número de versión nueva y un número de versión antigua). En esta realización de la presente invención, las siguientes dos maneras de firma digital se pueden proporcionar durante la liberación del paquete de mejora montado en vehículo: el desarrollador firma digitalmente el paquete de mejora, o el servidor de mejoras firma digitalmente el paquete de mejora, como se muestra en la FIGURA 6. La FIGURA 6 es un diagrama esquemático de dos tipos de firmas digitales según una realización de la presente invención. Se incluye un caso 1 y un caso 2.
Caso 1: a=SignD(M||ver) indica que el desarrollador firma digitalmente M||ver, y sirve como primera firma digital en esta solicitud.
Caso 2: a=Signs(M||ver) indica que el servidor de mejoras firma digitalmente M||ver, y sirve como primera firma digital en esta solicitud.
Un algoritmo firma digital usado en los dos maneras anteriores de firmar no se limita específicamente en esta solicitud. Opcionalmente, un canal seguro puede establecerse entre el desarrollador y el servidor de mejoras para transferir información, y el canal seguro puede ser un canal de red o puede ser un canal físico tal como una carta registrada. En conclusión, cuando se libera el paquete de mejora montado en vehículo, el servidor de mejoras actualiza el paquete de mejora montado en vehículo [M, ver, a], y libera externamente información acerca de un paquete de mejora montado en vehículo actualizado o nuevo.
Esta solicitud proporciona dos arquitecturas de mejora de sistema montado en vehículo: la arquitectura 1 sin un servidor de claves mostrado en la FIGURA 1, y una arquitectura 2 que incluye un servidor de claves mostrado en la FIGURA 4.
En la arquitectura 1, el paquete de mejora montado en vehículo no se encripta. El servidor de mejoras necesita realizar autenticación en información de identidad del dispositivo de control montado en vehículo, establecer un canal seguro al dispositivo de control montado en vehículo después de que la autenticación tiene éxito, y obtener el paquete de mejora montado en vehículo a través del canal seguro. El proceso es un proceso en el que un orquestador de OTA en el dispositivo de control montado en vehículo obtiene un paquete de mejora del servidor de mejoras usando una unidad de telemática.
Específicamente, el dispositivo de control montado en vehículo envía información de autenticación de identidad al servidor de mejoras. Si la información de autenticación de identidad es autenticada por el servidor de mejoras, el canal seguro se establece entre el dispositivo de control montado en vehículo y el servidor de mejoras; y el dispositivo de control montado en vehículo obtiene, del servidor de mejoras a través del canal seguro, el paquete de mejora montado en vehículo que se requiere para mejora.
En una implementación específica, el orquestador de OTA consulta al servidor de mejoras, o el servidor de mejoras empuja un mensaje de actualización al orquestador de OTA. El paquete de mejora puede obtenerse específicamente en las siguientes etapas.
1. El orquestador de OTA (OTA orchestrator) obtiene información de versión actual del dispositivo montado en vehículo a mejorar pretendido. La información puede obtenerse consultando el dispositivo montado en vehículo a mejorar pretendido o consultando una base de datos mantenida por el orquestador de OTA (se asume que el orquestador de OTA mantiene información básica de firmware/software de todos los dispositivos montados en vehículo).
2. El orquestador OTA determina si se requiere mejora. Si se requiere mejora, el orquestador de OTA puede elegir avisar al propietario de un vehículo para realizar la mejora. Si el propietario de vehículo acepta, la mejora procede.
3. El orquestador de OTA inicia autenticación al servidor de mejoras, establece un canal seguro al servidor de mejoras, y transmite un paquete de datos a través del canal seguro.
4. El orquestador de OTA informa la información de versión actual del dispositivo montado en vehículo al servidor de mejoras, y si el servidor de mejoras acepta, el orquestador de OTA descarga un paquete de mejora [M, ver, a, {M'}]. M es el paquete de mejora montado en vehículo; ver representa información de versión, que incluye toda información de metadatos (meta-data) tal como un nombre de programa, un número de nueva versión, y un correspondiente número de versión antigua; a=SignD(M||ver) o a=Signs(M||ver) es la primera firma digital, y M' representa un archivo de restauración; y {M'} indica que M' es opcional y es eficaz únicamente cuando el dispositivo montado en vehículo a mejorar pretendido es un dispositivo de capacidad débil.
5. El orquestador de OTA realiza verificación sobre autenticidad de la primera firma digital a, y si falla la verificación, el orquestador de OTA abandona la mejora. Opcionalmente, si es necesario, el orquestador de OTA también realiza verificación en M'. Se asume que M' también lleva una firma digital.
En la arquitectura 2, el paquete de mejora montado en vehículo se encripta en el servidor de mejoras. Por lo tanto, puede no ser necesario establecer un canal seguro dedicado entre el dispositivo de control montado en vehículo y el servidor de mejoras. Adicionalmente, después de que el dispositivo de control montado en vehículo realiza verificación en el paquete de mejora montado en vehículo usando la primera firma, el paquete de mejora montado en vehículo además tiene que desencriptarse usando una primera clave. En esta realización, los archivos de mejora se encriptan por el desarrollador. Un beneficio adicional de encriptar los archivos de mejora por el desarrollador es que el desarrollador no necesita considerar la credibilidad del servidor de mejoras. Por lo tanto, se protege aún más la confidencialidad de los archivos de mejora.
Específicamente, el paquete de mejora montado en vehículo se encripta usando la primera clave. La primera clave es una clave simétrica. El dispositivo de control montado en vehículo obtiene la primera clave del servidor de claves. Después de que el dispositivo de control montado en vehículo realiza verificación de firma digital en la pluralidad de archivos de mejora usando la primera firma digital, si tiene éxito la verificación de firma digital, el dispositivo de control montado en vehículo desencripta la pluralidad de archivos de mejora usando la primera clave.
Después de desarrollar y probar un programa de mejora, el desarrollador del paquete de mejora montado en vehículo (firmware/software) entrega los archivos de mejora al servidor de mejoras. Este proceso es correspondiente a la arquitectura mostrada en la FIGURA 4. A diferencia de la arquitectura 1, esta arquitectura necesita un servidor de claves adicional.
Se asume que los archivos de mejora son M y ver representa información de versión, que incluye toda información de metadatos (meta-data) tal como un nombre de programa, un número de versión nueva, y un correspondiente número de versión antigua. El desarrollador selecciona cualquier clave K (la primera clave), y encripta M usando K, de modo que se obtiene C=E(K, M). En esta memoria E(K, .) representa encriptación basada en K, por ejemplo, encriptación de grupo.
Como se ha descrito anteriormente, para la primera firma digital, hay dos escenarios: el desarrollador firma digitalmente el paquete de mejora, o el servidor de mejoras firma digitalmente el paquete de mejora. En ambos casos, el desarrollador necesita enviar la clave K de los archivos de mejora encriptados al servidor de claves a través de un canal seguro, y el canal para transmitir los archivos de mejora encriptados no requiere protección. Un canal secreto entre el desarrollador y el servidor de claves puede establecerse usando muchos métodos, por ejemplo, usando la TLS. Esto no se limita específicamente en esta solicitud.
En una implementación específica, el proceso es un proceso en el que el orquestador de OTA obtiene un paquete de mejora del servidor de mejoras y obtiene, del servidor de claves, una clave para desencriptar software de mejora. Específicamente, después de enterarse de que hay un nuevo paquete de mejora para un dispositivo montado en vehículo, el orquestador de OTA inicia el proceso. El orquestador de OTA puede aprender el mensaje consultando el servidor de mejoras o el servidor de mejoras empuja información al orquestador de OTA. El paquete de mejora puede obtenerse en las siguientes etapas.
1. El orquestador de OTA obtiene información de versión actual del dispositivo montado en vehículo a mejorar pretendido. La información puede obtenerse consultando el dispositivo montado en vehículo a mejorar pretendido o consultando una base de datos mantenida por el orquestador de OTA (se asume que el orquestador de OTA mantiene información básica de firmware/software de todos los dispositivos montados en vehículo).
2. El orquestador OTA determina si se requiere mejora. Si se requiere mejora, el orquestador de OTA puede elegir avisar al propietario de un vehículo para realizar la mejora. Si el propietario de vehículo acepta, la mejora procede.
3. El orquestador de OTA descarga un paquete de mejora [C, ver, a, {C}] del servidor de mejoras. Cabe señalar que C representa un archivo firmado encriptado usando una firma digital y para ser usado para restauración cuando falla la mejora; y {C } indica que C es opcional y es eficaz únicamente cuando el dispositivo montado en vehículo a mejorar pretendido es un dispositivo de capacidad débil.
4. El orquestador de OTA realiza verificación sobre autenticidad de a (esto es, realizar verificación sobre autenticidad de la primera firma digital), y si falla la verificación, el orquestador de OTA abandona la mejora. Si es necesario, el orquestador de OTA también realiza verificación sobre C
5. El orquestador de OTA inicia autenticación al servidor de claves, establece un canal seguro al servidor de claves, y obtiene una clave de desencriptación K (esto es, la primera clave) del paquete de mejora a través del canal seguro. Si es necesario, el orquestador de OTA también necesita obtener una clave de desencriptación para desencriptar C
6. El orquestador de OTA desencripta C usando K para obtener los archivos de mejora M; y si es necesario, el orquestador de OTA también necesita desencriptar C ' para obtener M' (M' es un archivo usado para restauración cuando falla la mejora).
En una implementación posible, si también tiene que protegerse la confidencialidad de los archivos de mejora, después de obtener el paquete de mejora, el orquestador de OTA no desencripta C pero divide C en n partes: Ci, C<2>..., y Cn, y entonces usa Ci, C<2>..., y Cn en subsiguientes métodos de procesamiento que son en función de una cadena de hash, un árbol de hash, y un filtro de Bloom. El orquestador de OTA también necesita transferir la clave K compartida al dispositivo montado en vehículo a mejorar pretendido a través de un canal secreto, de modo que el dispositivo montado en vehículo a mejorar pretendido realiza desencriptación.
En la etapa S502, el dispositivo de control montado en vehículo necesita realizar verificación de seguridad en la pluralidad de archivos de mejora en el paquete de mejora montado en vehículo obtenido del servidor de mejoras. En una implementación posible, el paquete de mejora montado en vehículo incluye la primera firma digital, y el orquestador de OTA del dispositivo de control montado en vehículo realiza verificación de firma digital en la pluralidad de archivos de mejora usando la primera firma digital. Para ser específicos, después de que el dispositivo de control montado en vehículo obtiene el paquete de mejora montado en vehículo, a diferencia de la técnica anterior en la que un paquete de mejora se envía directamente a un correspondiente dispositivo montado en vehículo a mejorar para mejora, primero se realiza verificación de seguridad (por ejemplo, verificación de autenticidad) en la pluralidad de archivos de mejora en el paquete de mejora montado en vehículo en un lado de dispositivo de control montado en vehículo, un archivo de mejora en el que tiene éxito la verificación de seguridad se somete entonces a transcodificación (transcoding), y un archivo de mejora transcodificado se envía a un correspondiente dispositivo montado en vehículo a mejorar para mejora segura. Cabe señalar que, la transcodificación en esta solicitud significa que se realiza procesamiento de asociación hash, usando un algoritmo (un algoritmo de cadena de hash, un algoritmo de árbol de hash, o un algoritmo de filtro de Bloom), en cada uno de una pluralidad de subarchivos de mejora obtenido a través de división, y se realiza procesamiento de MAC en uno o más nodos en una cadena de hash, un árbol de hash o un filtro de Bloom, para implementar además transmisión segura de segmento de paquete de datos que es aplicable a una red en vehículo. De esta manera, disminuye una gran cantidad de operaciones de verificación de seguridad que tienen que ser realizadas por el dispositivo montado en vehículo a mejorar. En otras palabras, carga de trabajo de computación, complejidad de computación y similares disminuyen durante la verificación de seguridad realizada por un único dispositivo montado en vehículo a mejorar.
En la etapa S503, diferentes dispositivos montados en vehículo a mejorar pueden corresponder a únicamente algunos archivos de mejora en el paquete de mejora montado en vehículo. Por lo tanto, el dispositivo de control montado en vehículo necesita enviar el archivo de mejora pretendido en el que tiene éxito la verificación de seguridad en la pluralidad de archivos de mejora al dispositivo montado en vehículo a mejorar pretendido que se va a mejorar usando el archivo de mejora pretendido. Se puede entender que tamaños y contenido de subarchivos de mejora en el archivo de mejora pretendido pueden ser diferentes.
En una implementación posible, el dispositivo de control montado en vehículo divide el archivo de mejora pretendido en una pluralidad de subarchivos de mejora (que también pueden entenderse como pluralidad de segmentos); genera una pluralidad de bloques de datos asociados mutuamente de la pluralidad de subarchivos de mejora usando un algoritmo preestablecido, y genera un primer código de autenticación de mensaje MAC de la pluralidad de bloques de datos usando una segunda clave; y envía secuencialmente, al dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos que llevan el primer MAC. La segunda clave es una clave de algoritmo simétrica.
Específicamente, durante la transmisión del paquete de mejora montado en vehículo entre dispositivos montados en vehículo, el dispositivo de control montado en vehículo divide, usando un algoritmo preestablecido, un archivo de mejora en una pluralidad de bloques de datos asociados, y realiza procesamiento de MAC en los bloques de datos asociados, de modo que el dispositivo de control montado en vehículo divide un archivo de mejora completo en una pluralidad de bloques de datos que se pueden transmitir por separado y en los que se puede realizar por separado verificación de validez. Adicionalmente, como la pluralidad de bloques de datos se asocian, un bloque de datos que tiene un problema de seguridad se puede localizar rápidamente usando un algoritmo relacionado. El algoritmo preestablecido incluye uno cualquiera del algoritmo de cadena de hash, el algoritmo de árbol de hash, y el algoritmo de filtro de Bloom. En esta solicitud, el dispositivo de control montado en vehículo divide el archivo de mejora pretendido en la pluralidad de subarchivos de mejora para evitar enviar el archivo de mejora pretendido al dispositivo montado en vehículo a mejorar de uno en uno, de modo que el dispositivo montado en vehículo a mejorar puede por separado recibir y proceso los subarchivos de mejora. Por lo tanto, "secuencialmente" en esta solicitud puede incluir "uno después otro", o puede indicar "una pluralidad de subarchivos de mejora después de otra pluralidad de subarchivos de mejora", por ejemplo, primero enviar dos subarchivos de mejora, luego enviar otros dos subarchivos de mejora, etc.; o puede indicar primero enviar un subarchivo de mejora, luego enviar otro dos subarchivos de mejora, etc. Esto es, el dispositivo de control montado en vehículo meramente necesita dividir el archivo de mejora pretendido en una pluralidad de subarchivos de mejora y enviar los subarchivos de mejora al dispositivo montado en vehículo a mejorar en lotes. Una manera específica de dividir el archivo de mejora pretendido y enviar secuencialmente los subarchivos de mejora al dispositivo montado en vehículo a mejorar no se limita específicamente en esta solicitud. En esta solicitud, para resolver problemas de una capacidad débil e insuficientes recursos de almacenamiento de un dispositivo montado en vehículo y ancho de banda de red en vehículo limitado, el orquestador de OTA desplegado es capaz de transcodificar (transcoding) el paquete de mejora montado en vehículo. Con la función de transcodificación del orquestador de OTA, el dispositivo montado en vehículo no necesita realizar una operación de criptología de clave pública, reduciendo de ese modo la carga de trabajo del dispositivo montado en vehículo. Por lo tanto, disminuye la carga de trabajo de computación y la complejidad de computación en una unidad de tiempo para un dispositivo montado en vehículo a mejorar que tiene una capacidad relativamente débil. Adicionalmente, después de que ocurre un error de transmisión de archivo de mejora, una parte de error se puede encontrar tan rápidamente como sea posible, de modo que únicamente se solicita retransmitir la parte de error en vez del archivo de mejora entero. De esta manera, se garantiza además una mejora segura y eficiente para el dispositivo montado en vehículo.
En una implementación posible, el dispositivo de control montado en vehículo divide el archivo de mejora pretendido en una pluralidad de subarchivos de mejora, encripta (para garantizar confidencialidad) y transcodifica (para garantizar la autenticidad) la pluralidad de subarchivos de mejora, y envía secuencialmente subarchivos de mejora encriptados y transcodificados al dispositivo montado en vehículo a mejorar pretendido. Específicamente, el dispositivo de control montado en vehículo encripta cada uno de la pluralidad de subarchivos de mejora usando una tercera clave, genera, usando el algoritmo preestablecido, la pluralidad de bloques de datos asociados mutuamente de la pluralidad de subarchivos de mejora que se encriptan usando la tercera clave, y envía secuencialmente, al dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos que llevan el primer MAC. En otras palabras, esta realización de la presente invención difiere de la realización anterior de la presente invención en que el dispositivo de control montado en vehículo necesita encriptar la pluralidad de subarchivos de mejora antes de transcodificar, para garantizar la confidencialidad de la pluralidad de subarchivos de mejora, y entonces transcodifica los subarchivos de mejora encriptados.
En una implementación posible, el archivo de mejora pretendido incluye una pluralidad de subarchivos de mejora, una pluralidad de bloques de datos asociados mutuamente se generan de la pluralidad de subarchivos de mejora usando un algoritmo preestablecido, y la pluralidad de subarchivos de mejora llevan una segunda firma digital de la pluralidad de bloques de datos que se genera usando una cuarta clave, donde la cuarta clave es una clave asimétrica; el dispositivo de control montado en vehículo comprueba la segunda firma digital de la pluralidad de bloques de datos; el dispositivo de control montado en vehículo genera un segundo MAC de la pluralidad de bloques de datos usando una quinta clave, donde la quinta clave es una clave de algoritmo simétrica; y el dispositivo de control montado en vehículo envía secuencialmente, al dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos que llevan el segundo MAC. En otras palabras, puede implementarse transmisión de bloque y firma del paquete de mejora montado en vehículo en un lado de desarrollador de mejora. Esto es, antes de obtenerse por el dispositivo de control montado en vehículo, se obtienen bloques de datos a través de división usando un algoritmo preestablecido y firmado. En este caso, el dispositivo montado en vehículo necesita comprobar primero la validez de los bloques de datos, y entonces realiza procesamiento de MAC en bloques de datos comprobados como válidos. La carga de trabajo de computación y la complejidad de computación en la comprobación de MAC son mucho menores que los de un caso de firma. Por lo tanto, la carga de trabajo de computación y la complejidad de computación del dispositivo montado en vehículo a mejorar pueden disminuir mientras se garantiza la validez del archivo de mejora montado en vehículo en un proceso de transmisión en vehículo. Por lo tanto, el dispositivo montado en vehículo se mejora de manera segura y eficientemente.
En la etapa S504, el dispositivo montado en vehículo a mejorar pretendido recibe el archivo de mejora pretendido enviado por el dispositivo de control montado en vehículo. El archivo de mejora pretendido es un archivo de mejora en el que tiene éxito la verificación de seguridad realizada por el dispositivo de control montado en vehículo y que se utiliza para mejorar al menos el dispositivo montado en vehículo a mejorar pretendido. Específicamente, este proceso es un proceso de transmisión segura en vehículo del paquete montado en vehículo.
En la etapa S505, el dispositivo montado en vehículo a mejorar pretendido realiza mejora segura usando el archivo de mejora pretendido. En una implementación posible, cuando el dispositivo montado en vehículo a mejorar es un primer dispositivo montado en vehículo a mejorar cuya capacidad de almacenamiento de recursos y/o capacidad de procesamiento supera un valor preestablecido o un primer dispositivo montado en vehículo a mejorar que se especifica por adelantado, por ejemplo, un dispositivo que tiene una capacidad de procesamiento relativamente fuerte o una capacidad de almacenamiento relativamente fuerte, o un dispositivo especificado, un modo de mejora de actualizaciones de sistema A/B (A/B System Updates) se usa para el dispositivo montado en vehículo a mejorar pretendido. Para ser específicos, el dispositivo montado en vehículo a mejorar pretendido tiene un región A y un región B, un programa a mejorar (firmware o software) se ejecuta en la región A y un nuevo programa de mejora se escribe en la región B, y el programa se ejecuta en la región B después de completarse la mejora. Esto no afecta al funcionamiento normal de un sistema de versión antigua en un proceso de mejora montado en vehículo. Por ejemplo, un dispositivo de fuerte capacidad o un dispositivo de clave usa un método de mejora de actualizaciones de sistema A/B; un dispositivo de capacidad débil usa el orquestador de OTA como nodo de respaldo, para realizar restauración cuando la mejora falla. Cuando la mejora tiene éxito, el dispositivo montado en vehículo borra el paquete de mejora y notifica al orquestador de OTA. El orquestador de OTA borra el paquete de mejora, actualiza la base de datos, y notifica al propietario del vehículo de la mejora exitosa. Como alternativa, el orquestador de OTA puede elegir notificar al servidor de mejoras. Adicionalmente, el orquestador de OTA puede además elegir ordenar al dispositivo montado en vehículo a mejorar pretendido que realice testimonio remoto, para testimoniar que la mejora tiene éxito.
En una implementación posible, el dispositivo montado en vehículo a mejorar pretendido recibe secuencialmente la pluralidad de bloques de datos que llevan el primer MAC y que son enviados por el dispositivo de control montado en vehículo. La pluralidad de bloques de datos son una pluralidad de bloques de datos asociados mutuamente que se generan de la pluralidad de subarchivos de mejora usando un algoritmo preestablecido, el primer MAC es un código de autenticación de mensaje de la pluralidad de bloques de datos que se genera usando una segunda clave, y la segunda clave es una clave simétrica. En otras palabras, la segunda clave es una clave compartida. Por lo tanto, únicamente se tiene que realizar verificación de autenticidad entre el dispositivo a mejorar pretendido y el dispositivo de control montado en vehículo usando la clave simétrica simple. Esto reduce la carga de trabajo de computación y la complejidad de computación del dispositivo a mejorar pretendido. De esta manera, una mejora segura y eficiente puede requerir únicamente una carga de trabajo de computación relativamente pequeña y una complejidad de computación relativamente baja incluso para un dispositivo "débil" montado en vehículo a mejorar que tiene una capacidad de computación relativamente débil o espacio de almacenamiento relativamente pequeño.
En una implementación posible, el dispositivo montado en vehículo a mejorar pretendido realiza secuencialmente verificación en la pluralidad de bloques de datos en función del algoritmo preestablecido usando la segunda clave; y cuando se verifican todos de la pluralidad de bloques de datos, el dispositivo montado en vehículo a mejorar pretendido combina la pluralidad de bloques de datos verificados secuencialmente para mejora. Para ser específicos, después de recibir la pluralidad de subarchivos de mejora que se encriptan usando la segunda clave, transcodificados usando el algoritmo preestablecido, y enviados por el dispositivo de control montado en vehículo, el dispositivo a mejorar pretendido necesita comprobar el primer MAC usando la segunda clave, y realiza comprobación de valor de asociación en la pluralidad de bloques de datos usando un rasgo de los bloques de datos asociados mutuamente generados usando el algoritmo preestablecido. Después de que se decodifican y verifican todos los bloques de datos, esto es, la verificación en todas los bloques de datos tiene éxito, el dispositivo a mejorar pretendido combina la pluralidad de subarchivos de mejora en un archivo completo para mejora.
En una implementación posible, la pluralidad de subarchivos de mejora se encriptan usando una tercera clave; cuando se verifican todos de la pluralidad de bloques de datos, el dispositivo montado en vehículo a mejorar pretendido desencripta cada uno de la pluralidad de bloques de datos verificados secuencialmente usando la tercera clave; y el dispositivo montado en vehículo a mejorar pretendido combina la pluralidad de bloques de datos que se desencriptan usando la tercera clave para mejora. En otras palabras, esta realización de la presente invención difiere de la realización anterior de la presente invención en que el dispositivo montado en vehículo a mejorar pretendido necesita realizar verificación en los subarchivos de mejora encriptados y transcodificados antes de desencriptar la pluralidad de subarchivos de mejora que se verifican, y combina la pluralidad de subarchivos de mejora para mejora después de que la desencriptación tiene éxito.
En una implementación posible, el archivo de mejora pretendido incluye una pluralidad de subarchivos de mejora; y el dispositivo montado en vehículo a mejorar pretendido secuencialmente recibe la pluralidad de bloques de datos que llevan el segundo MAC y que son enviados por el dispositivo de control montado en vehículo. La pluralidad de bloques de datos son una pluralidad de bloques de datos asociados mutuamente que se generan de la pluralidad de subarchivos de mejora usando el algoritmo preestablecido, el segundo MAC es un código de autenticación de mensaje de la pluralidad de bloques de datos que se genera usando una quinta clave, y la quinta clave es un algoritmo simétrico. El dispositivo montado en vehículo a mejorar pretendido realiza secuencialmente verificación en la pluralidad de bloques de datos en función del algoritmo preestablecido usando la quinta clave; y cuando se verifican todos de la pluralidad de bloques de datos, el dispositivo montado en vehículo a mejorar pretendido combina la pluralidad de bloques de datos verificados secuencialmente para mejora. En otras palabras, puede implementarse transmisión de bloque y firma del paquete de mejora montado en vehículo en un lado de desarrollador de mejora. Esto es, antes de obtenerse por el dispositivo de control montado en vehículo, se obtienen bloques de datos a través de división usando un algoritmo preestablecido y firmado. En este caso, el dispositivo montado en vehículo necesita comprobar primero la validez de los bloques de datos, y entonces realiza procesamiento de MAC en bloques de datos comprobados como válidos. La carga de trabajo de computación y la complejidad de computación en la comprobación de MAC son mucho menores que los de firma. Por lo tanto, la carga de trabajo de computación y la complejidad de computación del dispositivo montado en vehículo a mejorar pueden disminuir mientras se garantiza la validez del archivo de mejora montado en vehículo en un proceso de transmisión en vehículo. Por lo tanto, el dispositivo montado en vehículo se mejora de manera segura y eficientemente.
Además, cuando el dispositivo montado en vehículo a mejorar pretendido realiza una operación de mejora, si falla la verificación en un bloque de datos pretendido en la pluralidad de bloques de datos en el dispositivo montado en vehículo a mejorar pretendido, el dispositivo de control montado en vehículo retransmite el bloque de datos pretendido al dispositivo montado en vehículo a mejorar pretendido. En otras palabras, el dispositivo montado en vehículo a mejorar pretendido vuelve a obtener el bloque de datos pretendido del dispositivo de control montado en vehículo. Combinación y mejora se realizan únicamente cuando se verifican todos los bloques de datos. En esta realización de la presente invención, como el archivo de mejora pretendido se divide en una pluralidad de bloques de datos, cuando falla la verificación en uno o más bloques de datos, únicamente se tiene que descargar de nuevo el uno o más bloques de datos en lugar del archivo de mejora entero pretendido, reduciendo de ese modo sobrecargas y mejorando la eficiencia de mejora.
A continuación se describe la verificación de autenticidad entre el dispositivo de control montado en vehículo y el dispositivo a mejorar pretendido, esto es, cómo el dispositivo de control montado en vehículo transcodifica el archivo de mejora pretendido del paquete de mejora montado en vehículo usando un algoritmo preestablecido.
En una implementación específica, después de verificar la autenticidad del paquete de mejora montado en vehículo, el orquestador de OTA empieza el proceso en un momento apropiado, por ejemplo, en un estado estacionado, o el orquestador de OTA puede elegir pedir al propietario del vehículo que confirme la mejora de nuevo. El orquestador de OTA realiza división y procesamiento de transcodificación en el paquete de mejora montado en vehículo, y transfiere secuencialmente subarchivos de mejora transcodificados al dispositivo montado en vehículo a mejorar pretendido. Esta solicitud proporciona tres métodos de transcodificación independientes: una solución basada en cadena de hash, una solución basada en árbol de hash y una solución basada en filtro de Bloom. A continuación se describen procesos de transmisión en vehículo de paquete de mejora en función de los tres métodos de transcodificación. Primero, se asume que el orquestador de OTA comparte una clave k con el dispositivo montado en vehículo a mejorar pretendido. La k compartida puede ser estática o puede ser generada temporalmente por el orquestador de OTA y el dispositivo montado en vehículo a mejorar pretendido.
Método 1: Método de transcodificación basado en cadena de hash
1. El orquestador de OTA divide un archivo de mejora M en n partes: M<1>, M<2>..., y Mn.
2. Forma una cadena de hash usando M<1>, M<2>..., y Mn de la siguiente manera, donde H(.) representa una función hash criptográfica:
hn=H(Mn)
hi=H(Mi, hi<+1>)
h2=H(M2, h3)
3. El orquestador OTA calcula v=MAC(k, M<1>||ver, h<2>) usando la clave compartida k (la segunda clave). En esta memoria, el MAC es un código de autenticación de mensaje (message authentication code) estándar, es decir, el primer MAC.
4. Empezando desde la primera parte, el orquestador de OTA transfiere secuencialmente Mi al dispositivo montado en vehículo a mejorar pretendido. Para la primera parte, el orquestador de OTA necesita transferir v, M<1>, ver, y h<2>; para las partes restantes, el orquestador de OTA necesita transferir únicamente Mi y hi+<1>.
5. El dispositivo montado en vehículo a mejorar pretendido realiza secuencialmente verificación en Mi usando la clave compartida k. Si falla la verificación en una parte, el dispositivo montado en vehículo a mejorar pretendido puede pedir retransmisión. Después de recibir y verificar todas las partes, el dispositivo montado en vehículo a mejorar pretendido combina todas las partes en el archivo de mejora completo M.
Método 2: Método de transcodificación basado en árbol triple
1. El orquestador de OTA divide un archivo de mejora M en n partes: M<1>, M<2>..., y Mn.
2. Forma un árbol binario usando M<1>, M<2>..., y Mn. Como se muestra en la figura: un nodo hoja representa datos, cada nodo intermedio incluye un valor de un nodo de raíz que puede obtenerse en función de un valor de un subnodo del nodo intermedio usando hash, por ejemplo, h<1>=H(M<1>||ver||M<2>), y h5=H(h1||h2).
3. El orquestador de OTA calcula el valor del nodo de raíz usando la clave compartida k (la segunda clave). Como se muestra en la figura, por ejemplo, v=MAC(k, h5||ha), es decir, el primer MAC.
4. Empezando desde M<1>y M<2>, el orquestador de OTA transfiere dos partes al dispositivo montado en vehículo a mejorar pretendido cada vez. Para las primeras dos partes, el orquestador de OTA necesita transferir v, M<1>||ver, M<2>, h<2>, y ha; para las partes restantes, el orquestador de OTA necesita transferir dos pedazos de datos y datos de verificación de asistente correspondiente a los dos pedazos de datos. En la figura, datos de verificación de asistente de M<1>y M<2>son h<2>y ha; datos de verificación de asistente de M<3>y M<4>están en blanco, porque la verificación en M<3>y M<4>se puede realizar usando h<2>; datos de verificación de asistente de M<5>y Ma son tu; y datos de verificación de asistente de M<7>y M8 están en blanco.
5. El dispositivo montado en vehículo a mejorar pretendido realiza verificación en una de cada dos partes usando la clave compartida k. Si la verificación en dos partes falla, el dispositivo montado en vehículo a mejorar pretendido puede pedir retransmisión. Después de recibir y verificar todas las partes, el dispositivo montado en vehículo a mejorar pretendido combina todas las partes en el archivo de mejora completo M.
Método 3: Método de transcodificación basado en filtro de bloom
Un filtro de Bloom es una estructura de datos eficiente en almacenamiento que se utiliza para determinar si datos existen datos en un conjunto. Un ejemplo es de la siguiente manera:
Se establece una distribución F (filtro de Bloom) con una longitud de 1, en la que un valor de cada elemento se establece inicialmente a 0. Se seleccionan t funciones hash H<1>, H<2>..., y Ht. Cada función hash es una correlación desde el conjunto a {1, 2..., 1}. Para ser específicos, cada elemento del conjunto se correlaciona a cualquier valor en {1, 2..., 1}. Un método para añadir un elemento e en el conjunto al filtro de Bloom es de la siguiente manera: calcular Hi(e), y modificar una ubicación dirigida por Hi(e) en F a 1. Un método para determinar, en función de F, si un elemento e' existe en el conjunto es calcular todos los valores hash de e', y únicamente cuando todas ubicaciones dirigidas por todos los valores hash en F son 1, determinar que el elemento existe en el conjunto.
Usar el filtro de Bloom para determinar si el elemento existe en el conjunto tiene los siguientes rasgos:
Se puede determinar que el elemento no está en el conjunto siempre que una ubicación indicada por un valor hash del elemento en F sea 0; si las ubicaciones indicadas por todos los valores hash del elemento son 1, aunque se puede determinar que el elemento está el conjunto, existe falso positivo, y unan
probabilidad de falso positivo es (1 - e"*TY , donde n es una cantidad de elementos que se añaden al filtro de Bloom.
El tiempo para añadir un elemento o determinar si un elemento está en el conjunto es un constante.
Un proceso de transmisión en vehículo de paquete de mejora basado en transcodificación de filtro de Bloom es de la siguiente manera:
1. El orquestador de OTA divide un archivo de mejora M en n partes: M<1>, M<2>..., y Mn.
2. El orquestador de OTA establece un filtro de Bloom F y añade M<1>, M<2>..., y Mn a F, y calcula v=MAC(k, F), es decir, el segundo MAC, usando la clave compartida k (la segunda clave).
3. Transferir F y v al dispositivo montado en vehículo a mejorar pretendido, y transferir secuencialmente Mi.
4. El dispositivo montado en vehículo a mejorar pretendido realiza primero verificación en F usando la clave compartida k, y puede pedir retrasmitir F y v si falla la verificación; cuando se recibe cada Mi, determina si Mi está en F, y si Mi no está en F, pide retrasmitir Mi; y finalmente, combina todos recibidos M<1>, M<2>..., y Mn en el archivo de mejora completo M.
Para las anteriores tres maneras, se asume que la confidencialidad (confidencialidad) del archivo de mejora no tiene que protegerse durante comunicación en vehículo. Si la confidencialidad del archivo de mejora tiene que protegerse, el orquestador de OTA necesita obtener primero un texto cifrado Ci al encriptar cada Mi (usando la tercera clave en esta solicitud), y sustituye Mi con Ci en el anterior método basado en cadena de hash, método basado en árbol de hash o método basado en filtro de Bloom. En otras palabras, se realiza encriptación usando la tercera clave, como se ha descrito anteriormente. Después de recibir cada parte, el dispositivo montado en vehículo a mejorar pretendido encripta Ci para obtener Mi después de verificarse la autenticidad. Cabe señalar que la clave para encriptación es preferiblemente diferente de la clave usada en el MAC. Por ejemplo, si la k compartida es suficientemente larga, k puede dividirse en dos claves diferentes; de otro modo, pueden generarse dos claves en función de k usando una función de derivación de clave.
Las anteriores tres maneras de dividir y transcodificar el archivo de mejora por el orquestador de OTA tienen los siguientes beneficios: El dispositivo montado en vehículo a mejorar pretendido no necesita realizar verificación en la firma digital pero realiza únicamente una operación de criptología simétrica, esto es, calcular el MAC y hash. Adicionalmente, la operación de criptología simétrica es mucho más eficiente que la operación de criptología de clave pública. Es más, el dispositivo montado en vehículo a mejorar es capaz de realizar verificación de segmento en la validez de cada segmento, y por lo tanto puede detectar un segmento inválido o erróneo a tiempo, para pedir al orquestador de OTA que retrasmita el segmento, en lugar de retransmitir el archivo de mejora entero. Si se realiza transcodificación común en vez de transcodificación de segmento, esto es, si se usa un MAC en lugar de una firma digital, el dispositivo montado en vehículo a mejorar pretendido no puede localizar con precisión una ubicación de error, y necesita pedir al orquestador de OTA que retrasmita el archivo de mejora entero. Por lo tanto, según esta realización de la presente invención, no únicamente se puede localizar con precisión una ubicación de error, se puede reducir la carga de trabajo de computación y la complejidad de computación del dispositivo a mejorar en el vehículo, de modo que el dispositivo montado en vehículo a mejorar se puede mejorar de manera segura y eficiente.
En la descripción anterior, el orquestador de OTA divide el archivo de mejora. En otra realización, un desarrollador de paquete de mejora puede realizar división. Específicamente, el método basado en cadena de hash se usa como ejemplo.
1. El desarrollador de paquete de mejora divide un archivo de mejora M en n partes: M<1>, M<2>... y Mn.
2. Formar una cadena de hash usando M<1>, M<2>..., y Mn de la siguiente manera, donde H(.) representa una función hash criptográfica:
hn=H(Mn)
hi=H(Mi, hi<+1>)
h2=H(M2, ha)
3. Calcular a=Signü(M||ver, h2) usando una clave privada de firma. La firma es la segunda firma digital en esta solicitud, y la clave privada de firma es la cuarta clave.
4. Usar [M, ver, a] como paquete de mejora y entregar el paquete de mejora al servidor de mejoras. Opcionalmente, Mi, M<2>..., y Mn pueden encriptarse además para garantizar la confidencialidad del paquete de mejora montado en vehículo. Consúltense las descripciones anteriores relacionadas acerca de encriptar el archivo de mejora y garantizar la confidencialidad del archivo de mejora. En esta memoria no se describen de nuevo detalles.
Cuando el orquestador de OTA necesita obtener el paquete de mejora del servidor de mejoras, empezando desde la primera parte, el servidor de mejoras transfiere secuencialmente Mi al dispositivo montado en vehículo a mejorar pretendido. Para la primera parte, el servidor de mejoras necesita transferir a, Mi, ver, y h<2>; para restante partes, el servidor de mejoras necesita transferir únicamente Mi y hi+i.
Para la primera parte Mi, el orquestador de OTA necesita realizar verificación en la firma digital a; para las partes restantes Mi, el orquestador de OTA necesita realizar verificación únicamente en hi=H(Mi, hi+i).
Después de recibir y verificar todas las partes, el orquestador de OTA realiza transcodificación como se ha descrito anteriormente, esto es, calcula v=MAC(k, Mi||ver, h<2>) usando la clave compartida k (la quinta clave en esta solicitud). El MAC es el segundo MAC. Para subsiguiente paquete de mejora transmisión en vehículo, los procesos de mejora y confirmación son los mismos que los del método 1, método 2 y método 3. Adicionalmente, para la manera de transcodificación basada en árbol de hash y la manera de transcodificación basada en filtro de Bloom, consúltese esta realización de la presente invención y el anterior método 2 y método 3. En esta memoria no se describen de nuevo detalles.
En esta realización de la presente invención, después de completarse la verificación de autenticidad en el paquete de mejora montado en vehículo en el dispositivo de control montado en vehículo (opcionalmente, puede realizarse además verificación de confidencialidad antes de la verificación de autenticidad), el dispositivo de control montado en vehículo necesita transmitir la pluralidad de archivos de mejora en los que tiene éxito la verificación de autenticidad (opcionalmente, se puede incluir verificación de confidencialidad), a un correspondiente dispositivo montado en vehículo a mejorar en el sistema montado en vehículo. Un remitente y un receptor para transmisión se cambian, esto es, la transmisión fuera de vehículo del paquete de mejora montado en vehículo se convierte en transmisión en vehículo del paquete de mejora montado en vehículo. Por lo tanto, tiene que realizar de nuevo la verificación de autenticidad o incluso la verificación de confidencialidad. Adicionalmente, según esta realización de la presente invención, verificación de firma que requiere gran carga de trabajo de computación y alta complejidad de computación se implementa en un lado de dispositivo de control montado en vehículo, y verificación de MAC que requiere pequeña carga de trabajo de computación y baja complejidad de computación todavía se implementa en el dispositivo montado en vehículo a mejorar. Esto no únicamente garantiza una alta eficiencia de mejora de un dispositivo montado en vehículo a mejorar que tiene una capacidad débil, sino que también garantiza la seguridad dentro y fuera de un vehículo en un proceso de mejora montado en vehículo.
En función de las descripciones anteriores, se puede entender que esta solicitud proporciona los siguientes puntos técnicos clave.
Un primer punto es autenticidad (Authenticity) del paquete de mejora montado en vehículo: El dispositivo montado en vehículo a mejorar comprueba la autenticidad del paquete de mejora. Para garantizar la autenticidad del paquete de mejora, una firma digital para el paquete de mejora tiene que ser proporcionada por el desarrollador o el servidor de mejoras (package server). Cuando el paquete de mejora llega al orquestador de OTA, el orquestador de o Ta ayuda al dispositivo montado en vehículo a mejorar a realizar verificación en la firma digital. Entonces, el orquestador de OTA realiza una operación de transcodificación (Transcoding). Una criptología simétrica se usa en la operación de transcodificación para proporcionar verificación de autenticidad de paquete de mejora para el dispositivo montado en vehículo a mejorar. Se asume que el orquestador de OTA comparte una clave con cada dispositivo montado en vehículo a mejorar. La clave puede ser entregada por el orquestador de OTA por adelantado, y un proceso de entrega específico está más allá del alcance de esta solicitud. El paquete de mejora se divide en una pluralidad de partes a través de la operación de transcodificación (Transcoding), y se transmite al dispositivo montado en vehículo a mejorar parte por parte. Específicamente, se proporciona una operación de transcodificación basada en cadena de hash, una operación de transcodificación basada en árbol de hash, y una operación de transcodificación basada en filtro de Bloom. Ventajas de una operación de transcodificación parte-por-parte y una tecnología de transmisión parte-por-parte son de la siguiente manera: Una limitación de capacidad de computación en un dispositivo montado en vehículo y una limitación de ancho de banda en una red de comunicaciones en vehículo se toman en plena consideración. Después de que ocurre un error de transmisión de paquete de mejora, el dispositivo montado en vehículo puede encontrar una parte que sufre el error de transmisión, de modo que se solicita retransmitir únicamente la parte de error en vez del paquete de mejora entero.
Un segundo punto es la confidencialidad (Confidentiality) del paquete de mejora montado en vehículo: Un atacante puede analizar contenido del paquete de mejora usando una tecnología de ingeniería inversa. Por lo tanto, tiene que protegerse la confidencialidad del paquete de mejora montado en vehículo. Se proporcionan soluciones de protección basadas en los siguientes dos casos:
a. Si un paquete de mejora no se encripta en un servidor de mejoras, cuando una telemática montada en vehículo obtiene el paquete de mejora, el servidor de mejoras necesita realizar autenticación de identidad en la telemática montada en vehículo y establecer un canal seguro, para enviar el paquete de mejora a través del canal seguro.
b. Si un paquete de mejora se encripta (usando una clave simétrica) en un servidor de mejoras, una telemática montada en vehículo necesita obtener la clave de encriptación de un servidor de claves, y otras etapas son las mismas que las del caso a.
Un último punto es una política de mejora basada en capacidad: Diferentes dispositivos montados en vehículo tienen diferentes capacidades de computación y recursos de almacenamiento. Por ejemplo, una telemática montada en vehículo, una pasarela y un VCU usualmente tienen una capacidad relativamente fuerte, pero la mayoría de dispositivos montados en vehículo (ECU) tienen una capacidad de procesamiento relativamente débil. Por lo tanto, se proporciona la política de mejora basada en capacidad. Para ser específicos, un modo de mejora de actualizaciones de sistema A/B tiene que usarse para un dispositivo de fuerte capacidad o de clave, mientras que para un dispositivo de capacidad débil, una versión antigua de firmware o software del dispositivo montado en vehículo a mejorar puede respaldarse con la ayuda del orquestador de OTA, para realizar restauración cuando la mejora falla.
Lo anterior describe en detalle el método en las realizaciones de la presente invención. A continuación se proporciona un aparato relacionado en las realizaciones de la presente invención.
La FIGURA 6 es un diagrama estructural esquemático de un aparato de mejora montado en vehículo según una realización de la presente invención. El aparato de mejora montado en vehículo se aplica a un sistema montado en vehículo, y el sistema montado en vehículo incluye un dispositivo de control montado en vehículo y uno o más dispositivos montados en vehículo a mejorar. El aparato de mejora montado en vehículo 10 puede ser el dispositivo de control montado en vehículo en el anterior sistema, y el aparato 10 puede incluir una unidad de obtención de paquete de mejora 101, una unidad de gestión de mejora 102, y una unidad de transmisión de mejora 103. Al continuación se describen específicamente las unidades.
La unidad de obtención de paquete de mejora 101 se configura para obtener un paquete de mejora montado en vehículo, donde el paquete de mejora montado en vehículo incluye una pluralidad de archivos de mejora, y cada archivo de mejora se usa para mejorar al menos un dispositivo montado en vehículo a mejorar.
La unidad de gestión de mejora 102 se configura para realizar verificación de seguridad en la pluralidad de archivos de mejora.
La unidad de transmisión de mejora 103 se configura para enviar un archivo de mejora pretendido a un dispositivo montado en vehículo a mejorar pretendido que se va a mejorar usando el archivo de mejora pretendido, donde el archivo de mejora pretendido es un archivo de mejora en el que tiene éxito la verificación de seguridad en la pluralidad de archivos de mejora.
En una implementación posible, el paquete de mejora montado en vehículo incluye una primera firma digital; y la unidad de gestión de mejora se configura específicamente para realizar verificación de firma digital en la pluralidad de archivos de mejora usando la primera firma digital.
En una implementación posible, el aparato 10 incluye además:
una unidad de autenticación de identidad, configurada para enviar información de autenticación de identidad al servidor de mejoras; y
una unidad de establecimiento de canal, configurada para: si la información de autenticación de identidad es autenticada por el servidor de mejoras, establecer un canal seguro entre el dispositivo de control montado en vehículo y el servidor de mejoras; y
la unidad de obtención de paquete de mejora se configura específicamente para obtener el paquete de mejora montado en vehículo del servidor de mejoras a través del canal seguro.
En una implementación posible, el paquete de mejora montado en vehículo se encripta usando una primera clave, y la primera clave es una clave simétrica; y el aparato incluye además:
una unidad de obtención de clave, configurada para obtener la primera clave de un servidor de claves; y
el aparato 10 incluye además:
una unidad de desencriptación, configurada para: después de realizarse la verificación de firma digital en la pluralidad de archivos de mejora usando la primera firma digital, desencriptar, para el dispositivo de control montado en vehículo, la pluralidad de archivos de mejora usando la primera clave si tiene éxito la verificación de firma digital.
En una implementación posible, la unidad de transmisión de mejora 103 se configura específicamente para:
divide el archivo de mejora pretendido en una pluralidad de subarchivos de mejora; generar una pluralidad de bloques de datos asociados mutuamente de la pluralidad de subarchivos de mejora usando un algoritmo preestablecido, y generar un primer código de autenticación de mensaje MAC de la pluralidad de bloques de datos usando una segunda clave, donde la segunda clave es una clave de algoritmo simétrica; y enviar secuencialmente, al dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos que llevan el primer MAC.
En una implementación posible, el aparato 10 incluye además:
una unidad de encriptación, configurada para encriptar cada uno de la pluralidad de subarchivos de mejora usando una tercera clave; y
la unidad de transmisión de mejora 103 se configura específicamente para:
dividir el archivo de mejora pretendido en la pluralidad de subarchivos de mejora; generar, para el dispositivo de control montado en vehículo usando el algoritmo preestablecido, la pluralidad de bloques de datos asociados mutuamente de la pluralidad de subarchivos de mejora que se encriptan usando la tercera clave, y generar el primer código de autenticación de mensaje MAC de la pluralidad de bloques de datos usando la segunda clave, donde la segunda clave es una clave de algoritmo simétrica; y enviar secuencialmente, al dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos que llevan el primer MAC.
En una implementación posible, el archivo de mejora pretendido incluye una pluralidad de subarchivos de mejora, una pluralidad de bloques de datos asociados mutuamente se generan de la pluralidad de subarchivos de mejora usando un algoritmo preestablecido, y la pluralidad de subarchivos de mejora llevan una segunda firma digital de la pluralidad de bloques de datos que se genera usando una cuarta clave, donde la cuarta clave es una clave asimétrica;
la unidad de gestión de mejora 102 se configura específicamente para comprobar, para el dispositivo de control montado en vehículo, la segunda firma digital de la pluralidad de bloques de datos; y
la unidad de transmisión de mejora 103 se configura específicamente para: generar un segundo MAC de la pluralidad de bloques de datos usando una quinta clave, donde la quinta clave es una clave de algoritmo simétrica; y enviar secuencialmente, al dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos que llevan el segundo<m>A<c>.
En una implementación posible, el algoritmo preestablecido incluye uno cualquiera de un algoritmo de cadena de hash, un algoritmo de árbol de hash, y un algoritmo de filtro de Bloom.
En una implementación posible, el aparato 10 incluye además:
una unidad de retransmisión, configurada para retrasmitir un bloque de datos pretendido al dispositivo montado en vehículo a mejorar pretendido, donde el bloque de datos pretendido es un bloque de datos en el que la verificación falla en el dispositivo montado en vehículo a mejorar pretendido en la pluralidad de bloques de datos.
Cabe señalar que, para una función de cada unidad funcional del aparato de mejora montado en vehículo 10 descrito en esta realización de la presente invención, consúltense descripciones relacionadas en las realizaciones de método mostradas de la FIGURA 1 a la FIGURA 6. En esta memoria no se describen de nuevo detalles.
La FIGURA 7 es un diagrama estructural esquemático de un aparato montado en vehículo a mejorar según una realización de la presente invención. El aparato montado en vehículo a mejorar 20 se aplica a un sistema montado en vehículo, y el sistema montado en vehículo incluye un dispositivo de control montado en vehículo y uno o más dispositivos montados en vehículo a mejorar. El aparato montado en vehículo a mejorar 20 puede ser el dispositivo montado en vehículo a mejorar en el anterior sistema, y el aparato 20 puede incluir una unidad de recepción 201 y una unidad de mejora 202. Al continuación se describen específicamente las unidades.
La unidad de recepción 201 se configura para recibir un archivo de mejora pretendido enviado por el dispositivo de control montado en vehículo, donde el archivo de mejora pretendido es un archivo de mejora en el que tiene éxito la verificación de seguridad realizada por el dispositivo de control montado en vehículo y que se utiliza para mejorar al menos el dispositivo montado en vehículo a mejorar pretendido.
La unidad de mejora 202 se usa para realizar la mejora segura usando el archivo de mejora pretendido.
En una implementación posible, la unidad de mejora 202 se configura específicamente para:
usar un modo de mejora de actualizaciones de sistema A/B, y realizar la mejora segura usando el archivo de mejora pretendido, donde el dispositivo montado en vehículo a mejorar es un primer dispositivo montado en vehículo a mejorar cuya capacidad de almacenamiento de recursos y/o capacidad de procesamiento supera un valor preestablecido o un primer dispositivo montado en vehículo a mejorar que se especifica por adelantado.
En una implementación posible, el archivo de mejora pretendido incluye una pluralidad de subarchivos de mejora; y la unidad de recepción 201 se configura específicamente para:
recibir secuencialmente la pluralidad de bloques de datos que llevan el primer MAC y que son enviados por el dispositivo de control montado en vehículo, donde la pluralidad de bloques de datos son una pluralidad de bloques de datos asociados mutuamente que se generan de la pluralidad de subarchivos de mejora usando un algoritmo preestablecido, el primer MAC es un código de autenticación de mensaje de la pluralidad de bloques de datos que se genera usando una segunda clave, y la segunda clave es una clave simétrica; y
la unidad de mejora 202 se configura específicamente para:
realizar secuencialmente verificación en la pluralidad de bloques de datos en función del algoritmo preestablecido usando la segunda clave; y cuando se verifican todos de la pluralidad de bloques de datos, combinar la pluralidad de bloques de datos verificados secuencialmente para mejora.
En una implementación posible, la pluralidad de subarchivos de mejora se encriptan usando una tercera clave; y
la unidad de mejora 202 se configura específicamente para:
realizar secuencialmente verificación en la pluralidad de bloques de datos en función del algoritmo preestablecido usando la segunda clave; cuando se verifican todos de la pluralidad de bloques de datos, desencriptar cada uno de la pluralidad de bloques de datos verificados secuencialmente usando la tercera clave; y combinar la pluralidad de bloques de datos que se desencriptan usando la tercera clave para mejora.
En una implementación posible, la unidad de recepción 201 se configura específicamente para:
recibir secuencialmente la pluralidad de bloques de datos que llevan un segundo MAC y que son enviados por el dispositivo de control montado en vehículo, donde la pluralidad de bloques de datos son una pluralidad de bloques de datos asociados mutuamente que se generan de la pluralidad de subarchivos de mejora usando un algoritmo preestablecido, el segundo MAC es un código de autenticación de mensaje de la pluralidad de bloques de datos que se genera usando una quinta clave, y la quinta clave es un algoritmo simétrico; y
la unidad de mejora 202 se configura específicamente para:
realizar secuencialmente verificación en la pluralidad de bloques de datos en función del algoritmo preestablecido usando la quinta clave; y cuando se verifican todos de la pluralidad de bloques de datos, combinar la pluralidad de bloques de datos verificados secuencialmente para mejora.
En una implementación posible, el aparato 20 incluye además:
una unidad de retransmisión, configurada para volver a -obtener un bloque de datos pretendido del dispositivo de control montado en vehículo, donde el bloque de datos pretendido es un bloque de datos en el que la verificación falla en el dispositivo montado en vehículo a mejorar pretendido en la pluralidad de bloques de datos.
Cabe señalar que, para una función de cada unidad funcional del aparato montado en vehículo a mejorar 20 descrito en esta realización de la presente invención, consúltense descripciones relacionadas en las realizaciones de método mostradas de la FIGURA 1 a la FIGURA 6. En esta memoria no se describen de nuevo detalles.
La FIGURA 8 es un diagrama estructural esquemático de un dispositivo según una realización de la presente invención. Ambos del aparato montado en vehículo a mejorar 10 y el aparato montado en vehículo a mejorar 20 pueden implementarse en una estructura en la FIGURA 8. El dispositivo 30 incluye al menos un procesador 301, al menos una memoria 302, y al menos una interfaz de comunicaciones 303. Adicionalmente, el dispositivo puede incluir además componentes de finalidad general tales como una antena, y en esta memoria no se describen detalles.
El procesador 301 puede ser una unidad de procesamiento central de finalidad general (CPU), un microprocesador, un circuito integrado de aplicación específica (Application-Specific Integrated Circuit, ASIC), o uno o más circuitos integrados para controlar la ejecución del programa de la solución anterior.
La interfaz de comunicaciones 303 se configura para comunicar con otro dispositivo tal como un servidor de mejoras, un servidor de claves, o un dispositivo en vehículo o con una red de comunicaciones.
La memoria 302 puede ser una memoria de solo lectura (Read Only Memory, ROM) u otro tipo de dispositivo de almacenamiento estático capaz de almacenar información estática e instrucciones, o una memoria de acceso aleatorio (Random Access Memory, RAM) u otro tipo de dispositivo de almacenamiento dinámico capaz de almacenar información e instrucciones, o puede ser una memoria de solo lectura programable borrable eléctricamente (Electrically Erasable Programmable Read-Only Memory, EEPROM), una memoria de solo lectura de disco compacto (Compact Disc Read-Only Memory, CD-ROM) u otro almacenamiento de disco óptico, almacenamiento de disco óptico (que incluye un disco compacto, un disco láser, un disco óptico, un disco versátil digital, un disco Blu-ray, o algo semejante), un soporte de almacenamiento en disco magnético u otro dispositivo de almacenamiento magnético, o cualquier otro medio que se puede usar para llevar o almacenar código de programa esperado en una instrucción o forma de estructura de datos y que puede ser accedido por un ordenador, pero sin limitación a esto. La memoria puede existir independientemente, y se conecta al procesador usando un bus. Como alternativa, la memoria puede integrarse con el procesador.
La memoria 302 se configura para almacenar código de programa de aplicación para ejecutar la solución anterior, y el procesador 301 controla la ejecución. El procesador 301 se configura para ejecutar el código de programa de aplicación almacenado en la memoria 302.
Cuando el dispositivo mostrado en la FIGURA 8 es el aparato de mejora de dispositivo montado en vehículo 10, se puede usar código almacenado en la memoria 302 para realizar el método de mejora de dispositivo montado en vehículo proporcionado en la FIGURA 2, por ejemplo, obtener un paquete de mejora montado en vehículo, donde el paquete de mejora montado en vehículo incluye una pluralidad de archivos de mejora, y cada archivo de mejora se usa para mejorar al menos un dispositivo montado en vehículo a mejorar; realizar verificación de seguridad en la pluralidad de archivos de mejora; y enviar un archivo de mejora pretendido a un dispositivo montado en vehículo a mejorar pretendido que se va a mejorar usando el archivo de mejora pretendido, donde el archivo de mejora pretendido es un archivo de mejora en el que tiene éxito la verificación de seguridad en la pluralidad de archivos de mejora.
Cabe señalar que, para una función de cada unidad funcional del aparato de mejora de dispositivo montado en vehículo 10 descrito en esta realización de la presente invención, consúltense descripciones relacionadas de las etapas S502 y S503 en la realización de método mostrada en la FIGURA 5. En esta memoria no se describen de nuevo detalles.
Cuando el dispositivo mostrado en la FIGURA 8 es el aparato montado en vehículo a mejorar 20, el código almacenado en la memoria 302 se puede usar para realizar el método de mejora de dispositivo montado en vehículo proporcionado en la FIGURA. 9, por ejemplo, recibir un archivo de mejora pretendido enviado por un dispositivo de control montado en vehículo, donde el archivo de mejora pretendido es un archivo de mejora en el que tiene éxito la verificación de seguridad realizada por el dispositivo de control montado en vehículo y que se utiliza para mejorar al menos el dispositivo montado en vehículo a mejorar pretendido; y realizar la mejora segura usando el archivo de mejora pretendido.
Cabe señalar que, para una función de cada unidad funcional del aparato montado en vehículo a mejorar 20 descrito en esta realización de la presente invención, consúltense descripciones relacionadas de las etapas S504 y S505 en la realización de método mostrada en la FIGURA 5. En esta memoria no se describen de nuevo detalles.
La FIGURA 9 es un diagrama estructural esquemático de un vehículo inteligente según una realización de la presente invención. El vehículo inteligente 40 incluye un dispositivo de control montado en vehículo 401 y al menos un dispositivo montado en vehículo a mejorar 402.
El dispositivo montado en vehículo 401 se configura para obtener un paquete de mejora montado en vehículo, realizar verificación de seguridad en una pluralidad de archivos de mejora en el paquete de mejora montado en vehículo, y enviar un archivo de mejora pretendido a un dispositivo montado en vehículo a mejorar pretendido que se va a mejorar usando el archivo de mejora pretendido, donde cada archivo de mejora se usa para mejorar al menos un dispositivo montado en vehículo a mejorar, y el archivo de mejora pretendido es un archivo de mejora en el que tiene éxito la verificación de seguridad en la pluralidad de archivos de mejora.
El dispositivo montado en vehículo a mejorar 402 se configura para recibir el archivo de mejora pretendido enviado por el dispositivo de control montado en vehículo, y realizar la mejora segura usando el archivo de mejora pretendido, donde el dispositivo montado en vehículo a mejorar es el dispositivo montado en vehículo a mejorar pretendido.
En una implementación posible, el dispositivo de control montado en vehículo 401 se configura específicamente para realizar verificación de firma digital en la pluralidad de archivos de mejora usando la primera firma digital.
En una implementación posible, el dispositivo de control montado en vehículo 401 se configura específicamente para:
enviar información de autenticación de identidad al servidor de mejoras, si la información de autenticación de identidad es autenticada por el servidor de mejoras, establecer un canal seguro entre el dispositivo de control montado en vehículo y el servidor de mejoras, y obtener el paquete de mejora montado en vehículo del servidor de mejoras a través del canal seguro; o
el paquete de mejora montado en vehículo se encripta usando una primera clave, y la primera clave es una clave simétrica; y el dispositivo de control montado en vehículo (401) se configura específicamente para:
obtener la primera clave de un servidor de claves, y después de que tiene éxito la verificación de firma digital realizada en la pluralidad de archivos de mejora usando la primera firma digital, desencriptar la pluralidad de archivos de mejora usando la primera clave.
En una implementación posible, el dispositivo de control montado en vehículo 401 se configura específicamente para:
dividir el archivo de mejora pretendido en una pluralidad de subarchivos de mejora, generar una pluralidad de bloques de datos asociados mutuamente usando un algoritmo preestablecido, generar un primer código de autenticación de mensaje MAC de la pluralidad de bloques de datos usando una segunda clave, y enviar secuencialmente, al dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos que llevan el primer MAC, donde la segunda clave es una clave de algoritmo simétrica; y
el dispositivo montado en vehículo a mejorar 402 se configura específicamente para:
recibir secuencialmente la pluralidad de bloques de datos que llevan el primer MAC y que son enviados por el dispositivo de control montado en vehículo; realizar secuencialmente verificación en la pluralidad de bloques de datos en función del algoritmo preestablecido usando la segunda clave; y cuando se verifican todos de la pluralidad de bloques de datos, combinar la pluralidad de bloques de datos verificados secuencialmente para mejora.
En una implementación posible, el dispositivo de control montado en vehículo 401 se configura específicamente para:
encriptar cada uno de la pluralidad de subarchivos de mejora usando una tercera clave, y generar, usando el algoritmo preestablecido, la pluralidad de bloques de datos asociados mutuamente de la pluralidad de subarchivos de mejora que se encriptan usando la tercera clave; y
el dispositivo montado en vehículo a mejorar 402 se configura específicamente para:
cuando se verifican todos de la pluralidad de bloques de datos, desencriptar cada uno de la pluralidad de bloques de datos verificados secuencialmente usando la tercera clave, y combinar la pluralidad de bloques de datos que se desencriptan usando la tercera clave para mejora.
En una implementación posible, el archivo de mejora pretendido incluye una pluralidad de subarchivos de mejora, una pluralidad de bloques de datos asociados mutuamente se generan de la pluralidad de subarchivos de mejora usando un algoritmo preestablecido, y la pluralidad de subarchivos de mejora llevan una segunda firma digital de la pluralidad de bloques de datos que se genera usando una cuarta clave, donde la cuarta clave es una clave asimétrica;
el dispositivo de control montado en vehículo 401 se configura específicamente para:
comprobar la segunda firma digital de la pluralidad de bloques de datos, generar un segundo MAC de la pluralidad de bloques de datos usando una quinta clave, y enviar secuencialmente, al dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos que llevan el segundo MAC, donde la quinta clave es una clave de algoritmo simétrica; y
el dispositivo montado en vehículo a mejorar 402 se configura específicamente para:
recibir secuencialmente la pluralidad de bloques de datos que llevan el segundo MAC y que son enviados por el dispositivo de control montado en vehículo; realizar secuencialmente verificación en la pluralidad de bloques de datos en función del algoritmo preestablecido usando la quinta clave; y cuando se verifican todos de la pluralidad de bloques de datos, combinar la pluralidad de bloques de datos verificados secuencialmente para mejora.
Cabe señalar que, para el dispositivo de control montado en vehículo 401 y el dispositivo montado en vehículo a mejorar 402 del vehículo inteligente 40 descrito en esta realización de la presente invención, consúltense descripciones relacionadas del dispositivo de control montado en vehículo y el dispositivo montado en vehículo a mejorar en la realización de método mostrada en la FIGURA 5. En esta memoria no se describen de nuevo detalles.
Se puede entender que, el vehículo inteligente 40 puede además integrarse con funciones de un sistema de conducción inteligente, un sistema de servicio de vida, un sistema de protección de seguridad, un sistema de servicio de posicionamiento, un sistema de servicio cabina, y similares usando ordenador, detección moderna, convergencia de información, comunicaciones, artificial inteligencia, control automático, y otras tecnologías. Esto no se limita específicamente en esta solicitud, y en esta memoria no se describen detalles.
Una realización de la presente invención proporciona además un soporte de almacenamiento informático. El soporte de almacenamiento informático almacena un programa, y cuando es ejecutado, el programa realiza algunas o todas la etapas descritas en una cualquiera de las realizaciones de método anteriores.
Una realización de la presente invención proporciona además un programa informático. El programa informático incluye una instrucción, y cuando el programa informático es ejecutado por un ordenador, el ordenador se habilita para realizar algunas o todas de las etapas de uno cualquiera de los métodos de mejora de dispositivo montado en vehículo.
En las realizaciones anteriores, la descripción de cada realización tiene enfoques respectivos. Para una parte que no se describe en detalle en una realización, consúltense las descripciones relacionadas en otras realizaciones.
En las varias realizaciones proporcionadas en esta solicitud, debe entenderse que el aparato divulgado puede implementarse de otras maneras. Por ejemplo, la realización de aparato descrita es meramente un ejemplo. Por ejemplo, la división de unidad es meramente división funcional lógica y puede ser otra división en una implementación real. Por ejemplo, una pluralidad de unidades o componentes puede combinarse o integrarse en otro sistema. Además, los acoplamientos mutuos o los acoplamientos directos o las conexiones de comunicación mostrados o discutidos se pueden implementar a través de algunas interfaces. Las conexiones de comunicación o acoplamientos indirectos entre los aparatos o unidades se pueden implementar de forma eléctrica u otras.
Las unidades anteriores descritas como partes separadas pueden o no estar físicamente separadas, y las partes mostradas como unidades pueden o no ser unidades físicas, se pueden localizar en una posición o se pueden distribuir en una pluralidad de unidades de red. Se pueden seleccionar algunas o todas las unidades en función de los requisitos reales para lograr los objetivos de las soluciones de las realizaciones.
Además, las unidades funcionales en las realizaciones de esta solicitud se pueden integrar en una unidad de procesamiento, o cada una de las unidades puede existir físicamente sola, o dos o más unidades se integran en una unidad. La unidad integrada se puede implementar en forma de hardware, o se puede implementar en forma de unidad funcional de software.
Cuando la unidad integrada anterior se implementa en forma de una unidad funcional de software y se vende o utiliza como producto independiente, la unidad integrada se puede almacenar en un soporte de almacenamiento legible por ordenador. Sobre la base de este tipo de entendimiento, las soluciones técnicas de esta solicitud, esencialmente, o la parte que contribuye a la técnica anterior, o todas o algunas de las soluciones técnicas, se pueden implementar en forma de producto de software. El producto de software informático se almacena en un soporte de almacenamiento e incluye varias instrucciones para dar instrucciones a un dispositivo informático (que puede ser un ordenador personal, un servidor o un dispositivo de red) para realizar todas o una parte de las etapas de los métodos descritos en las realizaciones de esta solicitud. El soporte de almacenamiento anterior incluye: cualquier medio que pueden almacenar código de programa, tal como una unidad de memoria USB, un disco duro extraíble, un disco magnético, un disco óptico, una memoria de solo lectura (Read Only Memory, ROM por abreviar), o una memoria de acceso aleatorio (Random Access Memory, RAM por abreviar).
Las realizaciones anteriores meramente pretenden describir las soluciones técnicas de esta solicitud, pero no limitar esta solicitud.

Claims (13)

REIVINDICACIONES
1. Un método de mejora para un dispositivo montado en vehículo, aplicado a un vehículo, en donde el vehículo comprende un dispositivo de control montado en vehículo y uno o más dispositivos montados en vehículo a mejorar, y el método comprende:
obtener (S501), por parte del dispositivo de control montado en vehículo, un paquete de mejora montado en vehículo, en donde el paquete de mejora montado en vehículo comprende una pluralidad de archivos de mejora;
realizar (S502), por parte del dispositivo de control montado en vehículo, verificación de seguridad en la pluralidad de archivos de mejora; y
enviar (S503), por parte del dispositivo de control montado en vehículo, un archivo de mejora pretendido a un dispositivo montado en vehículo a mejorar pretendido que se va a mejorar usando el archivo de mejora pretendido, en donde el archivo de mejora pretendido es un archivo de mejora en el que tiene éxito la verificación de seguridad en la pluralidad de archivos de mejora;
en donde enviar (S503), por parte del dispositivo de control montado en vehículo, un archivo de mejora pretendido a un dispositivo montado en vehículo a mejorar pretendido que se va a mejorar usando el archivo de mejora pretendido comprende:
dividir, por parte del dispositivo de control montado en vehículo, el archivo de mejora pretendido en una pluralidad de bloques de datos asociados usando un algoritmo preestablecido; realizar procesamiento de código de autenticación de mensaje, MAC, en los bloques de datos asociados; y
enviar por separado, por parte del dispositivo de control montado en vehículo al dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos.
2. El método según la reivindicación 1, en donde el paquete de mejora montado en vehículo comprende una primera firma digital; y realizar (S502), por parte del dispositivo de control montado en vehículo, verificación de seguridad en la pluralidad de archivos de mejora comprende:
realizar, por parte del dispositivo de control montado en vehículo, verificación de firma digital en la pluralidad de archivos de mejora usando la primera firma digital.
3. El método según la reivindicación 2, en donde el método comprende además:
enviar, por parte del dispositivo de control montado en vehículo, información de autenticación de identidad a un servidor de mejoras; y
si la información de autenticación de identidad es autenticada por el servidor de mejoras, establecer un canal seguro entre el dispositivo de control montado en vehículo y el servidor de mejoras; y obtener (S501), por parte del dispositivo de control montado en vehículo, un paquete de mejora montado en vehículo comprende:
obtener, por parte del dispositivo de control montado en vehículo, el paquete de mejora montado en vehículo del servidor de mejoras a través del canal seguro.
4. El método según la reivindicación 2, en donde el paquete de mejora montado en vehículo se encripta usando una primera clave, y la primera clave es una clave simétrica; y donde el método comprende además:
obtener, por parte del dispositivo de control montado en vehículo, la primera clave de un servidor de claves; y
después de realizar, por parte del dispositivo de control montado en vehículo, verificación de firma digital en la pluralidad de archivos de mejora usando la primera firma digital, el método comprende: desencriptar, por parte del dispositivo de control montado en vehículo, la pluralidad de archivos de mejora usando la primera clave si tiene éxito la verificación de firma digital.
5. El método según una cualquiera de las reivindicaciones 1 a 4, en donde el algoritmo preestablecido comprende uno cualquiera de un algoritmo de cadena de hash, un algoritmo de árbol de hash y un algoritmo de filtro de Bloom.
6. El método según una cualquiera de las reivindicaciones 1 a 5, en donde el método comprende además: retransmitir, por parte del dispositivo de control montado en vehículo, un bloque de datos pretendido al dispositivo montado en vehículo a mejorar pretendido, en donde el bloque de datos pretendido es un bloque de datos en el que la verificación falla en el dispositivo montado en vehículo a mejorar pretendido en la pluralidad de bloques de datos.
7. El método según una cualquiera de las reivindicaciones 1 a 6, en donde el dispositivo montado en vehículo a mejorar pretendido comprende una primera región y una segunda región, un archivo actual del dispositivo montado en vehículo a mejorar pretendido se ejecuta en la primera región, y el archivo de mejora pretendido se escribe en la segunda región.
8. Un vehículo inteligente (40), en donde el vehículo inteligente (40) comprende un dispositivo de control montado en vehículo (401) y al menos un dispositivo montado en vehículo a mejorar (402), en donde:
el dispositivo de control montado en vehículo (401) se configura para obtener un paquete de mejora montado en vehículo, realizar verificación de seguridad en una pluralidad de archivos de mejora en el paquete de mejora montado en vehículo, y enviar un archivo de mejora pretendido a un dispositivo montado en vehículo a mejorar pretendido (402) que se va a mejorar usando el archivo de mejora pretendido, en donde cada archivo de mejora se usa para mejorar al menos un dispositivo montado en vehículo a mejorar (402), y el archivo de mejora pretendido es un archivo de mejora en el que tiene éxito la verificación de seguridad en la pluralidad de archivos de mejora, en donde el dispositivo de control montado en vehículo (401) se configura específicamente para: dividir el archivo de mejora pretendido en una pluralidad de bloques de datos asociados usando un algoritmo preestablecido; realizar procesamiento de código de autenticación de mensaje, MAC, en los bloques de datos asociados; y enviar por separado, al dispositivo montado en vehículo a mejorar pretendido, la pluralidad de bloques de datos; y
el dispositivo montado en vehículo a mejorar (402) se configura para recibir el archivo de mejora pretendido enviado por el dispositivo de control montado en vehículo (401), y realizar la mejora segura usando el archivo de mejora pretendido, en donde el dispositivo montado en vehículo a mejorar (402) es el dispositivo montado en vehículo a mejorar pretendido (402), en donde el dispositivo montado en vehículo a mejorar (402) se configura específicamente para: recibir la pluralidad de bloques de datos asociados enviados por el dispositivo de control montado en vehículo (401); realizar verificación en la pluralidad de bloques de datos en función del algoritmo preestablecido; y cuando se verifican todos de la pluralidad de bloques de datos, combinar la pluralidad de bloques de datos verificados para mejora.
9. El vehículo inteligente (40) según la reivindicación 8, en donde el dispositivo de control montado en vehículo (401) se configura específicamente para:
realizar verificación de firma digital en la pluralidad de archivos de mejora usando una primera firma digital.
10. El vehículo inteligente (40) según la reivindicación 9, en donde el dispositivo de control montado en vehículo (401) se configura específicamente para:
enviar información de autenticación de identidad a un servidor de mejoras, si la información de autenticación de identidad es autenticada por el servidor de mejoras, establecer un canal seguro entre el dispositivo de control montado en vehículo (401) y el servidor de mejoras, y obtener el paquete de mejora montado en vehículo del servidor de mejoras a través del canal seguro.
11. El vehículo inteligente (40) según la reivindicación 9, donde el paquete de mejora montado en vehículo se encripta usando una primera clave, y la primera clave es una clave simétrica; y el dispositivo de control montado en vehículo (401) se configura específicamente para:
obtener la primera clave de un servidor de claves; y después de que tiene éxito la verificación de firma digital realizada en la pluralidad de archivos de mejora usando la primera firma digital, desencriptar la pluralidad de archivos de mejora usando la primera clave.
12. El vehículo inteligente (40) según una cualquiera de las reivindicaciones 8 a 11, el dispositivo de control montado en vehículo (401) se configura además para:
retrasmitir un bloque de datos pretendido al dispositivo montado en vehículo a mejorar pretendido, en donde el bloque de datos pretendido es un bloque de datos en el que la verificación falla en el dispositivo montado en vehículo a mejorar pretendido en la pluralidad de bloques de datos.
13. El vehículo inteligente (40) según una cualquiera de las reivindicaciones 8 a 12, en donde el dispositivo montado en vehículo a mejorar pretendido comprende una primera región y una segunda región, un archivo actual del dispositivo montado en vehículo a mejorar pretendido se ejecuta en la primera región, y el archivo de mejora pretendido se escribe en la segunda región.
ES22205812T 2017-10-24 2017-10-24 Vehicle-mounted device upgrade method and related device Active ES3023362T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/SG2017/050530 WO2019083440A2 (zh) 2017-10-24 2017-10-24 一种车载设备升级方法及相关设备
EP22205812.5A EP4152144B8 (en) 2017-10-24 2017-10-24 Vehicle-mounted device upgrade method and related device

Publications (1)

Publication Number Publication Date
ES3023362T3 true ES3023362T3 (en) 2025-05-30

Family

ID=66246647

Family Applications (1)

Application Number Title Priority Date Filing Date
ES22205812T Active ES3023362T3 (en) 2017-10-24 2017-10-24 Vehicle-mounted device upgrade method and related device

Country Status (6)

Country Link
US (1) US11662991B2 (es)
EP (2) EP4152144B8 (es)
JP (1) JP7139424B2 (es)
CN (1) CN111279310B (es)
ES (1) ES3023362T3 (es)
WO (1) WO2019083440A2 (es)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4152144B8 (en) 2017-10-24 2025-05-21 Shenzhen Yinwang Intelligent Technologies Co., Ltd. Vehicle-mounted device upgrade method and related device
KR102396049B1 (ko) * 2018-10-01 2022-05-10 엘지전자 주식회사 이동 its 스테이션 및 상기 이동 its 스테이션의 메시지 송수신 방법
CN112134911A (zh) * 2019-06-25 2020-12-25 联合汽车电子有限公司 一种远程程序升级方法、装置和介质
CN112394966B (zh) * 2019-08-19 2025-01-10 云丁网络技术(北京)有限公司 设备升级方法、装置、计算机可读介质及设备
CN110597542B (zh) * 2019-09-17 2023-01-31 Oppo(重庆)智能科技有限公司 软件自动ota升级方法及装置、电子设备
CN110647341A (zh) * 2019-09-21 2020-01-03 深圳市英博超算科技有限公司 Ota升级方法、装置、车辆以及计算机可读存储介质
ES3021691T3 (en) * 2019-09-25 2025-05-27 Shift5 Inc Passive monitoring and prevention of unauthorized firmware or software upgrades between computing devices
CN113094062B (zh) 2019-12-23 2026-04-14 深圳引望智能技术有限公司 升级方法及装置
CN113157305B (zh) * 2020-01-23 2022-04-05 华为技术有限公司 一种软件升级方法及设备
EP3893108B1 (en) * 2020-02-14 2023-04-05 Huawei Technologies Co., Ltd. Vehicle-mounted device upgrading method, and related apparatus
CN113497719B (zh) * 2020-03-20 2024-06-21 广州汽车集团股份有限公司 面向服务的车载ecu软件升级方法及系统、相关设备
KR102909003B1 (ko) * 2020-06-05 2026-01-08 현대자동차주식회사 차량 업데이트 시스템 및 방법
CN111651771A (zh) * 2020-06-08 2020-09-11 湖北阿桑奇汽车电子科技有限公司 一种安全fota使用方法
CN113810446B (zh) * 2020-06-16 2024-07-05 上海赫千电子科技有限公司 一种车载网络的ecu的安全升级管理方法
CN111722861B (zh) * 2020-06-17 2023-03-10 中国第一汽车股份有限公司 一种应用程序升级方法、装置、设备及存储介质
JP7314867B2 (ja) * 2020-06-18 2023-07-26 トヨタ自動車株式会社 マスタ、ネットワークシステム、方法、プログラム、センタ、および車両
CN116018292B (zh) * 2020-08-17 2025-07-18 哈曼国际工业有限公司 用于自主车辆中的物体检测的系统和方法
EP3958154A1 (en) * 2020-08-20 2022-02-23 Argus Cyber Security Ltd System and method for dynamically securing software
CN112188434A (zh) * 2020-09-21 2021-01-05 西安墨科通讯科技有限公司 Ota升级方法及系统
EP4211588A4 (en) * 2020-09-30 2023-10-25 Huawei Technologies Co., Ltd. METHOD FOR CHECKING THE SOFTWARE SECURITY OF ELECTRONIC DEVICE(S) IN A VEHICLE, AND ASSOCIATED DEVICE
CN114362981B (zh) * 2020-09-30 2024-11-12 京东方科技集团股份有限公司 物联网终端设备的升级方法及相关设备
DE102020212772A1 (de) * 2020-10-09 2022-04-14 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Verwalten von kryptografischen Schlüsseln
CN114385201B (zh) * 2020-10-16 2024-06-04 北京昇科能源科技有限责任公司 一种储能设备对应的端平台升级方法及系统
CN112286552B (zh) * 2020-10-22 2024-04-02 百度在线网络技术(北京)有限公司 一种任务创建方法、装置、电子设备以及存储介质
CN112312358B (zh) * 2020-10-26 2023-04-18 潍柴动力股份有限公司 一种通信方法及车载终端
CN112231228B (zh) * 2020-11-06 2024-07-05 广州极飞科技股份有限公司 一种固件升级测试方法、装置、平台、设备及存储介质
CN121478465A (zh) * 2020-12-25 2026-02-06 深圳引望智能技术有限公司 一种算力资源的配置方法及设备
EP4258593A4 (en) * 2020-12-28 2024-03-20 Huawei Technologies Co., Ltd. OTA UPDATE METHOD AND APPARATUS
CN112732293A (zh) * 2020-12-31 2021-04-30 青岛海信电子产业控股股份有限公司 一种车载系统的升级方法和车载终端
CN112860559B (zh) * 2021-02-19 2024-05-28 一汽解放汽车有限公司 升级测试系统和方法
JP7571621B2 (ja) * 2021-03-02 2024-10-23 株式会社デンソー センター装置及び車載電子制御装置
CN112883382B (zh) * 2021-03-03 2023-05-23 一汽解放汽车有限公司 一种车辆刷写的方法、车联网盒、车辆及存储介质
CN115622991A (zh) 2021-03-09 2023-01-17 华为技术有限公司 一种通过空中下载ota技术获取文件的方法及相关设备
CN113114729A (zh) * 2021-03-22 2021-07-13 一汽奔腾轿车有限公司 一种用于ota可靠性的验证系统及方法
CN113110850B (zh) * 2021-05-12 2022-09-20 宝能(广州)汽车研究院有限公司 车辆升级方法、装置、设备、车辆及存储介质
CN113515747B (zh) * 2021-05-17 2024-02-09 深圳市友华通信技术有限公司 设备升级方法、装置、设备及存储介质
US11681811B1 (en) * 2021-06-25 2023-06-20 Northrop Grumman Systems Corporation Cybersecurity for configuration and software updates of vehicle hardware and software based on fleet level information
US11409866B1 (en) 2021-06-25 2022-08-09 Northrop Grumman Systems Corporation Adaptive cybersecurity for vehicles
CN113630437A (zh) * 2021-06-25 2021-11-09 际络科技(上海)有限公司 车辆的控制单元升级方法、装置及车辆
CN114461240B (zh) * 2021-06-30 2023-04-14 荣耀终端有限公司 软件升级方法、软件升级系统及电子设备
CN113727299B (zh) * 2021-07-15 2024-03-08 江铃汽车股份有限公司 一种握手认证方法、装置、可读存储介质及车辆
CN113660317B (zh) * 2021-07-30 2023-07-04 江西五十铃汽车有限公司 一种基于ftp协议的车载终端远程升级方法
KR102568418B1 (ko) * 2021-08-26 2023-08-18 하이파이브랩 주식회사 다중 서명을 지원하는 전자 인증 시스템 및 방법
CN113760337A (zh) * 2021-09-14 2021-12-07 远峰科技股份有限公司 一种fota的升级回滚方法及升级回滚系统
JP7600956B2 (ja) * 2021-10-26 2024-12-17 トヨタ自動車株式会社 サーバ、情報処理システムおよび情報処理方法
CN114024732A (zh) * 2021-10-29 2022-02-08 百度在线网络技术(北京)有限公司 升级包下载方法、设备、存储介质及程序产品
CN113992660A (zh) * 2021-10-29 2022-01-28 维沃移动通信有限公司 文件传输方法、装置、电子设备及存储介质
CN114124701B (zh) * 2021-11-05 2024-01-26 交控科技股份有限公司 车载设备远程升级方法及系统
CN116088887A (zh) * 2021-11-08 2023-05-09 湖南中联重科智能技术有限公司 用于力矩限制器的升级方法、处理器及力矩限制器
CN114143197B (zh) * 2021-11-29 2024-04-02 武汉天喻信息产业股份有限公司 物联网设备ota升级方法、装置、设备及可读存储介质
CN114661365A (zh) * 2022-02-14 2022-06-24 阿里巴巴(中国)有限公司 设备运行方法、固件管理方法及固件管理系统
CN114546448B (zh) * 2022-02-24 2024-05-14 重庆长安汽车股份有限公司 一种车辆ota并行升级的方法和相关装置
CN114567552A (zh) * 2022-03-01 2022-05-31 深圳市金溢科技股份有限公司 车载v2x设备升级方法、装置、计算机设备及存储介质
CN114745696A (zh) * 2022-03-07 2022-07-12 联合汽车电子有限公司 车载设备的ota升级装置及其方法
CN114756264A (zh) * 2022-04-22 2022-07-15 重庆长安汽车股份有限公司 一种车载软件的u盘升级包云端制作方法及升级方法
CN114980203B (zh) * 2022-04-30 2025-08-29 西北工业大学宁波研究院 一种基于ota技术的多个控制器的升级方法
CN114816484A (zh) * 2022-05-06 2022-07-29 苏州灵猴机器人有限公司 一种系统软件的升级方法、装置、设备及介质
CN114840236A (zh) * 2022-05-13 2022-08-02 蔚来汽车科技(安徽)有限公司 充电装置、车机系统、数据包处理方法、车辆以及存储介质
CN114840238A (zh) * 2022-05-20 2022-08-02 广东逸动科技有限公司 软件升级方法、装置、电子设备及计算机可读存储介质
CN115195635B (zh) * 2022-06-28 2024-08-16 重庆长安汽车股份有限公司 一种车辆ota升级耗电风险控制方法
CN115175171B (zh) * 2022-06-29 2024-05-14 智己汽车科技有限公司 车辆ota升级系统及车辆ota升级方法
KR20240002523A (ko) * 2022-06-29 2024-01-05 현대자동차주식회사 Ota 롬 데이터 모니터링 장치 및 그 방법
CN115242634B (zh) * 2022-07-05 2024-03-12 蔚来汽车科技(安徽)有限公司 软件升级方法、设备和存储介质
CN115278927B (zh) * 2022-08-01 2025-08-26 北谷电子股份有限公司 一种无线连接和升级方法
CN115361119A (zh) * 2022-08-15 2022-11-18 中国铁道科学研究院集团有限公司 车载设备软件的批量升级方法及装置
CN115437673A (zh) * 2022-09-21 2022-12-06 上海小马智行智能科技发展有限公司 车载mcu升级的方法、车载mcu升级系统与服务器组
CN115567390A (zh) * 2022-09-26 2023-01-03 北京朝歌数码科技股份有限公司 一种电力线载波通信设备升级方法和装置
CN115643564A (zh) * 2022-09-27 2023-01-24 上汽通用五菱汽车股份有限公司 汽车安全的fota升级方法、装置、设备及存储介质
CN115390882A (zh) * 2022-10-25 2022-11-25 广州万协通信息技术有限公司 基于车联网的车载终端程序更新方法及装置
CN115665138A (zh) * 2022-11-14 2023-01-31 奇瑞新能源汽车股份有限公司 一种汽车ota升级系统及方法
CN115913714A (zh) * 2022-11-16 2023-04-04 深圳开鸿数字产业发展有限公司 基于ota升级的信息安全校验方法、装置、设备及存储介质
CN115834055A (zh) * 2022-11-25 2023-03-21 北京天融信网络安全技术有限公司 一种车辆ota升级方法、ota升级包加密方法及装置
CN115951914A (zh) * 2022-12-22 2023-04-11 浙江极氪智能科技有限公司 Ota升级方法、装置、电子设备及存储介质
CN116225488A (zh) * 2023-01-03 2023-06-06 德力西(杭州)变频器有限公司 一种基于can通讯的dsp程序更新系统及方法
CN116132947A (zh) * 2023-01-17 2023-05-16 星河智联汽车科技有限公司 一种车辆的ota升级系统及方法
CN116055204B (zh) * 2023-01-18 2025-10-10 北京经纬恒润科技股份有限公司 一种tbox的升级方法、装置、tbox及系统
CN116149706A (zh) * 2023-02-20 2023-05-23 北斗星通智联科技有限责任公司 一种车辆设备升级方法、装置、车辆和可读存储介质
CN116193436B (zh) * 2023-02-28 2024-08-02 东风汽车集团股份有限公司 一种车机设备ota升级包下发方法及系统
CN116347397A (zh) * 2023-03-17 2023-06-27 重庆长安汽车股份有限公司 一种ota升级方法、装置、设备及存储介质
CN116483390A (zh) * 2023-04-06 2023-07-25 重庆长安汽车股份有限公司 电子控制器刷写方法、电子控制器、管理服务器
CN116185460A (zh) * 2023-04-26 2023-05-30 深圳市鼎盛科电子有限公司 一种嵌入式系统软件自动升级的方法及装置
CN117097462B (zh) * 2023-07-06 2024-05-24 南京中科齐信科技有限公司 一种基于量子密钥体系的车载智能软件升级加密系统
CN116880878A (zh) * 2023-07-18 2023-10-13 上海正泰智能科技有限公司 一种升级方法、装置、设备及存储介质
CN117009992B (zh) * 2023-07-28 2024-04-16 广州汽车集团股份有限公司 升级包处理方法、装置、电子设备及存储介质
CN116723053B (zh) * 2023-08-07 2023-10-31 北京云驰未来科技有限公司 一种基于总线调试设备调试jtag的方法及系统
CN117193819B (zh) * 2023-09-07 2024-03-26 迈胜医疗设备有限公司 放射治疗系统、固件升级方法、设备及相关装置
CN117201193B (zh) * 2023-11-06 2024-01-26 新华三网络信息安全软件有限公司 病毒检测方法、装置、存储介质及电子设备
CN117527262B (zh) * 2023-12-13 2024-06-18 智极(广州)科技有限公司 一种基于芯片构建汽车安全ota的方法
CN118101272B (zh) * 2024-02-26 2025-01-03 常州工学院 一种智能网联汽车ota远程安全升级方法及系统
CN119105780A (zh) * 2024-08-15 2024-12-10 质子汽车科技有限公司 一种多核微处理器软件升级处理方法、车辆及系统
US20260113263A1 (en) * 2024-10-17 2026-04-23 EGK Technology Co., Ltd. Automated over-the-air test system
CN120812577A (zh) * 2025-09-04 2025-10-17 中机寰宇认证检验股份有限公司 一种智能网联汽车信息安全检测方法及系统
CN120872383B (zh) * 2025-09-26 2026-01-20 山东云海国创云计算装备产业创新中心有限公司 固件升级系统、方法、电子设备、存储介质及程序产品
CN121704883A (zh) * 2026-02-12 2026-03-20 宁波华翔启源科技有限公司 一种人形机器人ota自动化升级方法及系统

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19842779A1 (de) * 1998-09-18 2000-03-23 Alcatel Sa Verfahren zum Laden von Daten und Software in einen Fahrzeugcomputer
US6947556B1 (en) * 2000-08-21 2005-09-20 International Business Machines Corporation Secure data storage and retrieval with key management and user authentication
JP2002144983A (ja) 2000-11-14 2002-05-22 Toyoda Mach Works Ltd 車両制御装置の制御ソフト変更装置及びその方法
AU2002220534A1 (en) 2000-12-07 2002-06-18 Cryptico A/S A method of performing mathematical operations in an electronic device, a method of generating pseudo-random numbers in an electronic device, and a method of encrypting and decrypting electronic data
JP2003202931A (ja) 2002-01-09 2003-07-18 Toshiba Corp ソフトウェアダウンロードシステム、サーバ装置、端末装置、サーバ制御プログラム、端末制御プログラム、サーバ制御方法、端末制御方法
US7096311B2 (en) * 2002-09-30 2006-08-22 Innopath Software, Inc. Updating electronic files using byte-level file differencing and updating algorithms
JP2005202503A (ja) * 2004-01-13 2005-07-28 Hitachi Ltd 車載情報装置、車載機器管理システム、車両の制御機器のプログラムのバージョンアップ情報の配信方法、車両の制御機器のプログラムのバージョンアップ方法及び車両の制御機器のプログラムのバージョンアップシステム
US7366589B2 (en) * 2004-05-13 2008-04-29 General Motors Corporation Method and system for remote reflash
US8832466B1 (en) 2006-01-27 2014-09-09 Trustwave Holdings, Inc. Methods for augmentation and interpretation of data objects
US8356178B2 (en) 2006-11-13 2013-01-15 Seagate Technology Llc Method and apparatus for authenticated data storage
US8189769B2 (en) 2007-07-31 2012-05-29 Apple Inc. Systems and methods for encrypting data
US8296584B2 (en) 2007-12-28 2012-10-23 Alcatel Lucent Storage and retrieval of encrypted data blocks with in-line message authentication codes
US20090300595A1 (en) 2008-05-30 2009-12-03 Ise Corporation System and Method for Remotely Updating Control Software in a Vehicle With an Electric Drive System
WO2010024379A1 (ja) 2008-08-29 2010-03-04 日本電気株式会社 通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラム
CN101373440B (zh) * 2008-10-09 2011-12-28 飞天诚信科技股份有限公司 一种固件升级数据处理方法和装置
US9464905B2 (en) 2010-06-25 2016-10-11 Toyota Motor Engineering & Manufacturing North America, Inc. Over-the-air vehicle systems updating and associate security protocols
CN102158544A (zh) 2011-02-25 2011-08-17 深圳市元征软件开发有限公司 车载电子装置的远程升级方法及装置
US8782441B1 (en) 2012-03-16 2014-07-15 Google Inc. Methods and systems for storage of large data objects
CN102930004B (zh) 2012-10-29 2015-07-08 华为技术有限公司 哈希值存储方法、装置及芯片
US9418072B2 (en) * 2013-03-04 2016-08-16 Vmware, Inc. Cross-file differential content synchronization
WO2014164893A2 (en) * 2013-03-13 2014-10-09 Arynga Inc. Remote transfer of electronic images to a vehicle
JP5864510B2 (ja) 2013-10-18 2016-02-17 富士通株式会社 修正プログラム確認方法、修正プログラム確認プログラム、及び情報処理装置
CN103559057B (zh) * 2013-11-06 2016-10-12 广东小天才科技有限公司 一种嵌入式系统加载启动方法及装置
KR101551206B1 (ko) 2013-12-13 2015-09-09 현대자동차주식회사 차량 데이터 제어 시스템 및 제어 방법
KR101527779B1 (ko) * 2014-01-13 2015-06-10 현대자동차주식회사 효율적인 차량용 리프로그래밍 장치 및 그 제어방법
KR101575447B1 (ko) * 2014-02-06 2015-12-07 현대자동차주식회사 차량의 소프트웨어 업데이트 방법
KR101551904B1 (ko) 2014-03-06 2015-09-09 재단법인 다차원 스마트 아이티 융합시스템 연구단 저장 공간을 절약하는 차량용 블랙박스의 제어방법
CN110708166B (zh) * 2014-05-08 2022-07-01 松下电器(美国)知识产权公司 不正常应对方法、车载网络系统及电子控制单元
US10211990B2 (en) * 2014-07-25 2019-02-19 GM Global Technology Operations LLC Authenticating messages sent over a vehicle bus that include message authentication codes
US9984255B2 (en) * 2014-09-30 2018-05-29 Samsung Electronics Co., Ltd. Methods and apparatus to enable runtime checksum verification of block device images
DE102015209116A1 (de) 2015-05-19 2016-11-24 Robert Bosch Gmbh Verfahren und Aktualisierungsgateway zum Aktualisieren eines eingebetteten Steuergerätes
US10042635B2 (en) 2015-06-16 2018-08-07 Lear Corporation Method for wireless remote updating vehicle software
JP6345157B2 (ja) * 2015-06-29 2018-06-20 クラリオン株式会社 車載情報通信システム及び認証方法
JP6197000B2 (ja) * 2015-07-03 2017-09-13 Kddi株式会社 システム、車両及びソフトウェア配布処理方法
WO2017030886A1 (en) * 2015-08-14 2017-02-23 Pcms Holding, Inc. Securely upgrading resource constrained devices
JP6675271B2 (ja) * 2015-09-14 2020-04-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
DE102015220489B4 (de) * 2015-10-21 2024-05-29 Ford Global Technologies, Llc Verfahren zur Autorisierung einer Softwareaktualisierung in einem Kraftfahrzeug
US10437680B2 (en) * 2015-11-13 2019-10-08 Kabushiki Kaisha Toshiba Relay apparatus, relay method, and computer program product
CN105573790A (zh) * 2015-12-15 2016-05-11 上海博泰悦臻网络技术服务有限公司 一种车载系统软件升级方法、车载系统及软件服务器
WO2017124174A1 (en) * 2016-01-22 2017-07-27 2236008 Ontario Inc. Updating a controller unit in a vehicle
US12001825B2 (en) * 2016-02-19 2024-06-04 Ford Global Technologies, Llc Method and apparatus for vehicle software update installation
CN106021462A (zh) * 2016-05-17 2016-10-12 深圳市中博科创信息技术有限公司 集群文件系统文件存储的方法及集群文件系统
US10078638B2 (en) * 2016-06-07 2018-09-18 Globalfoundries Inc. Secure hyper transfer of large files
CN106385420A (zh) * 2016-09-29 2017-02-08 中国联合网络通信集团有限公司 一种ecu软件下载方法及装置
CN106528125A (zh) * 2016-10-26 2017-03-22 腾讯科技(深圳)有限公司 一种数据文件的增量更新方法和服务器、客户端以及系统
CN106790053B (zh) * 2016-12-20 2019-08-27 江苏大学 一种can总线中ecu安全通信的方法
JP2019036238A (ja) * 2017-08-21 2019-03-07 株式会社東芝 更新制御装置、端末、更新制御方法およびプログラム
US10264399B2 (en) * 2017-09-01 2019-04-16 GM Global Technology Operations LLC Location-based vehicle wireless communications
EP4152144B8 (en) 2017-10-24 2025-05-21 Shenzhen Yinwang Intelligent Technologies Co., Ltd. Vehicle-mounted device upgrade method and related device
CN108337234B (zh) 2017-12-28 2021-03-23 宁德时代新能源科技股份有限公司 车载程序文件加密方法和装置
CN108200044B (zh) 2017-12-28 2021-02-19 宁德时代新能源科技股份有限公司 车载程序文件加密方法和系统
CN111886576A (zh) 2018-03-19 2020-11-03 华为国际有限公司 用于更新远程网络设备的方法和装置
WO2019212403A1 (zh) 2018-04-30 2019-11-07 华为国际有限公司 一种车载设备升级方法及相关设备

Also Published As

Publication number Publication date
WO2019083440A2 (zh) 2019-05-02
EP4152144B1 (en) 2025-03-05
EP4152144B8 (en) 2025-05-21
EP3690643A2 (en) 2020-08-05
US20200264864A1 (en) 2020-08-20
WO2019083440A3 (zh) 2019-06-20
US11662991B2 (en) 2023-05-30
EP4152144C0 (en) 2025-03-05
EP3690643B1 (en) 2023-01-25
CN111279310B (zh) 2023-09-12
JP7139424B2 (ja) 2022-09-20
JP2021500816A (ja) 2021-01-07
EP3690643A4 (en) 2020-10-28
CN111279310A (zh) 2020-06-12
EP4152144A1 (en) 2023-03-22

Similar Documents

Publication Publication Date Title
ES3023362T3 (en) Vehicle-mounted device upgrade method and related device
US11985238B2 (en) Vehicle-mounted device upgrade method and related device
US12217042B2 (en) Method and apparatus for processing upgrade package of vehicle
US11321074B2 (en) Vehicle-mounted device upgrade method and related apparatus
CN110162992B (zh) 数据处理方法、数据处理装置和计算机系统
Nürnberger et al. –vatican–vetted, authenticated can bus
CN112543927B (zh) 一种设备升级方法及相关设备
Idrees et al. Secure automotive on-board protocols: A case of over-the-air firmware updates
US20130268754A1 (en) Secure software file transfer systems and methods for vehicle control modules
US12519633B2 (en) Key revocation for edge devices
Shipman et al. A zero trust architecture for automotive networks
US20240275581A1 (en) Data storage system, mobile object, and non-transitory computer readable storage medium
WO2017216874A1 (ja) 鍵管理装置、鍵管理プログラムおよび鍵共有方法
KR102025808B1 (ko) 차량용 제어 유닛의 업데이트 방법 및 차량
JP7683351B2 (ja) 車載通信システム,センタ装置,マスタ装置,データ送信方法,データ更新制御方法及びメタデータ生成用プログラム
US20180191665A1 (en) Method, apparatus, and computer readable storage medium comprising instructions for vehicle-to-vehicle communication
US20250211450A1 (en) Method for providing a computer-implemented functionality in a computing system
Guštin CAN Bus Security Protocol: lightweight message confidentiality, authentication, and freshness on an automotive bus
CN119968616A (zh) 车载设备的升级方法及设备