FR3135546A1 - Method for authorizing the installation of software in a motor vehicle, associated device, vehicle and system - Google Patents

Method for authorizing the installation of software in a motor vehicle, associated device, vehicle and system Download PDF

Info

Publication number
FR3135546A1
FR3135546A1 FR2204569A FR2204569A FR3135546A1 FR 3135546 A1 FR3135546 A1 FR 3135546A1 FR 2204569 A FR2204569 A FR 2204569A FR 2204569 A FR2204569 A FR 2204569A FR 3135546 A1 FR3135546 A1 FR 3135546A1
Authority
FR
France
Prior art keywords
data
installation
authorization
software
block
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.)
Pending
Application number
FR2204569A
Other languages
French (fr)
Inventor
David Fernandez Blanco
Trista Lin
Frédéric LE MOUËL
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.)
Institut National des Sciences Appliquees de Lyon
PSA Automobiles SA
Original Assignee
Institut National des Sciences Appliquees de Lyon
PSA Automobiles SA
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 Institut National des Sciences Appliquees de Lyon , PSA Automobiles SA filed Critical Institut National des Sciences Appliquees de Lyon
Priority to FR2204569A priority Critical patent/FR3135546A1/en
Publication of FR3135546A1 publication Critical patent/FR3135546A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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]

Abstract

Procédé d’autorisation d’installation d’un logiciel (123) dans un ego véhicule automobile (100) comprenant une mémoire (120) mémorisant une chaine de blocs (130) et des données d’autorisation (122) de l’installation, le procédé étant caractérisé en ce qu’il comprend les étapes suivantes : Réception de données d’installation (121) du logiciel (123), un premier bloc (131) dans la chaine de bloc (130) comprenant une empreinte cryptographique des données d’installation (121),Vérification d’une autorisation de l’installation à partir des données d’autorisation (122) et du premier bloc (131),Une étape d’installation du logiciel (123) en mémoire (120) à partir des données d’installation (121) à condition que l’installation soit autorisée et que l’empreinte corresponde aux données d’installation (121). Figure pour l’abrégé : figure 1Method for authorizing the installation of software (123) in a motor vehicle ego (100) comprising a memory (120) storing a chain of blocks (130) and authorization data (122) of the installation, the method being characterized in that it comprises the following steps: Receiving installation data (121) from the software (123), a first block (131) in the block chain (130) comprising a cryptographic fingerprint of the data installation (121), Verification of an authorization of the installation from the authorization data (122) and the first block (131), A step of installing the software (123) in memory (120) from installation data (121) provided that the installation is authorized and the fingerprint matches the installation data (121). Figure for abstract: figure 1

Description

Procédé d’autorisation d’installation d’un logiciel dans un véhicule automobile, dispositif, véhicule et système associésMethod for authorizing the installation of software in a motor vehicle, associated device, vehicle and system

L’invention concerne l’installation de logiciels dans un véhicule automobile.The invention relates to the installation of software in a motor vehicle.

Les véhicules actuels ont plusieurs processeurs ou systèmes fonctionnant avec des logiciels (autrement dit : programme d’ordinateur) embarqués dans la mémoire des véhicules automobiles. Ces logiciels doivent être mis à jour de manière sécurisée.Current vehicles have several processors or systems operating with software (in other words: computer program) embedded in the memory of motor vehicles. This software must be updated securely.

Dans ce but, l’invention concerne un procédé d’autorisation de l’installation d’un logiciel dans un ego véhicule automobile comprenant une mémoire mémorisant une chaine de blocs et des données d’autorisation de l’installation, le procédé étant caractérisé en ce qu’il comprend les étapes suivantes :For this purpose, the invention relates to a method for authorizing the installation of software in a motor vehicle ego comprising a memory storing a chain of blocks and installation authorization data, the method being characterized in what it includes the following steps:

  • Réception de données d’installation du logiciel, un premier bloc dans la chaine de bloc comprenant une empreinte (autrement dit : un condensat) cryptographique des données d’installation,Receipt of software installation data, a first block in the block chain comprising a cryptographic fingerprint (in other words: a condensate) of the installation data,
  • Vérification d’une autorisation de l’installation à partir des données d’autorisation et du premier bloc,Verification of an authorization of the installation based on the authorization data and the first block,
  • Une étape d’installation du logiciel en mémoire à partir des données d’installation à condition que l’installation soit autorisée et que l’empreinte corresponde aux données d’installation (le procédé peut ainsi comprendre par exemple une étape de vérification que l’empreinte correspond aux données d’installation).A step of installing the software in memory from the installation data provided that the installation is authorized and that the fingerprint corresponds to the installation data (the method can thus include for example a step of verifying that the footprint corresponds to the installation data).

Ainsi, la distribution du logiciel présente l’avantage d’être :Thus, the distribution of the software has the advantage of being:

- Contrôlée et sécurisée grâce aux données de sécurisation et à l’empreinte,- Controlled and secure thanks to security data and fingerprint,

- Décentralisée, tout en permettant une traçabilité, grâce à l’utilisation d’une chaine de blocs.- Decentralized, while allowing traceability, thanks to the use of a blockchain.

Une chaine de blocs est par exemple un registre distribué avec des blocs confirmés organisés en chaîne séquentielle incrémentale utilisant des liens cryptographiques. La chaine de blocs est par exemple conforme à la norme 22739:2020 de l’organisation internationale de normalisation.A blockchain is, for example, a distributed ledger with confirmed blocks organized in a sequential incremental chain using cryptographic links. The blockchain, for example, complies with the 22739:2020 standard of the international organization for standardization.

Ce procédé est mis en œuvre, par exemple, par un dispositif électronique. Le dispositif électronique peut comporter (ou être constitué) de plusieurs processeurs électroniques ou microcontrôleurs comportant une ou plusieurs mémoires.This method is implemented, for example, by an electronic device. The electronic device may comprise (or be made up of) several electronic processors or microcontrollers comprising one or more memories.

L’invention concerne ainsi également un dispositif électronique configuré pour mettre en œuvre les étapes de ce procédé.The invention thus also relates to an electronic device configured to implement the steps of this method.

Une fois le logiciel installé, il peut être exécuté par un processeur de l’égo véhicule.Once the software is installed, it can be run by a processor in the vehicle ego.

Afin de résoudre le même problème et avec les mêmes avantages, l’invention concerne également un procédé d’installation d’un logiciel, mis en œuvre dans un serveur mémorisant une chaine de blocs, le procédé étant caractérisé en ce qu’il comporte les étapes suivantes :In order to solve the same problem and with the same advantages, the invention also relates to a method of installing software, implemented in a server storing a chain of blocks, the method being characterized in that it comprises the following steps :

  • Envoi de données d’installation du logiciel, un premier bloc dans la chaine de bloc comprenant une empreinte (autrement dit : un condensat) cryptographique des données d’installation,Sending software installation data, a first block in the block chain comprising a cryptographic fingerprint (in other words: a condensate) of the installation data,
  • Envoi de données d’autorisation d’installation du logiciel, (les données d’autorisation d’installation étant) pour la mise en œuvre d’une étape de vérification d’autorisation de l’installation à partir des données d’autorisation et du premier bloc (le procédé peut ainsi comprendre par exemple une étape de vérification que l’empreinte correspond aux données d’installation).Sending software installation authorization data, (the installation authorization data being) for the implementation of an installation authorization verification step based on the authorization data and the first block (the method can thus include for example a step of verifying that the fingerprint corresponds to the installation data).

De manière générale, l’envoi et la réception selon l’invention peut être mis en œuvre par un réseau de télécommunication, par exemple un réseau de télécommunication cellulaire mobile.Generally speaking, sending and receiving according to the invention can be implemented by a telecommunications network, for example a mobile cellular telecommunications network.

Par exemple, l’empreinte cryptographique est obtenue à partir d’une fonction de hachage.For example, the cryptographic fingerprint is obtained from a hash function.

Selon un mode de réalisation, le procédé comprend en outre les étapes suivantes :According to one embodiment, the method further comprises the following steps:

  • Réception des données d’installation depuis un premier ordinateur client identifié (auprès du serveur) à partir de premières données d’identification et authentifié (auprès du serveur) à partir de premières données d’authentification mémorisées par le premier ordinateur,Receiving installation data from a first client computer identified (from the server) from first identification data and authenticated (from the server) from first authentication data stored by the first computer,
  • Réception des données d’autorisation depuis un deuxième ordinateur client identifié à partir de deuxièmes données d’identification (auprès du serveur) et authentifié à partir de deuxièmes données d’authentification (auprès du serveur) mémorisées par le deuxième ordinateur,Receipt of authorization data from a second client computer identified from second identification data (from the server) and authenticated from second authentication data (from the server) stored by the second computer,
  • Les premières données d’identification étant différentes des deuxièmes données d’identification,The first identification data being different from the second identification data,
  • Les premières données d’authentification étant différentes des deuxièmes données d’authentification,The first authentication data being different from the second authentication data,
  • Le premier ordinateur client étant différent (autrement dit : distincts) du deuxième ordinateur client.The first client computer being different (in other words: distinct) from the second client computer.

En variante, les données d’installation et les données d’autorisation peuvent être reçues du même ordinateur client ou même être engendrées par le serveur.Alternatively, installation data and authorization data can be received from the same client computer or even generated by the server.

Avant la transmission des données d’autorisation par le deuxième ordinateur client, le logiciel peut être validé, par exemple par l’acteur (l’acteur est par exemple : une entreprise, un utilisateur, un groupe d’utilisateur) détenteurs du compte (ou utilisant le compte) identifié par les deuxièmes données d’identification et authentifié par les deuxièmes données d’authentification.Before the authorization data is transmitted by the second client computer, the software can be validated, for example by the actor (the actor is for example: a company, a user, a user group) account holders ( or using the account) identified by the second identification data and authenticated by the second authentication data.

Ces étapes peuvent être réalisés pour une pluralité (un nombre supérieur à 2, voire supérieur à 5) de premiers ordinateurs clients et de deuxièmes ordinateurs clients ayant des données d’identification et des données d’authentification différentes les uns des autres.These steps can be carried out for a plurality (a number greater than 2, or even greater than 5) of first client computers and second client computers having identification data and authentication data different from each other.

Les données d’autorisation et d’installation sont alors mémorisées dans la mémoire du serveur.The authorization and installation data are then stored in the server’s memory.

Selon un mode de réalisation :According to one embodiment:

  • Les données d’autorisation comprennent un premier identifiant du logiciel, etThe authorization data includes a first identifier of the software, and
  • Le premier bloc comprend un deuxième identifiant du logiciel.The first block includes a second software identifier.

L’installation est par exemple autorisée à condition que le premier identifiant et le deuxième identifiant correspondent, par exemple qu’ils soient égaux.The installation is for example authorized provided that the first identifier and the second identifier correspond, for example that they are equal.

En variantes, les données d’autorisation peuvent comprendre un code obtenu à partir d’un algorithme cryptographique symétrique.Alternatively, the authorization data may include a code obtained from a symmetric cryptographic algorithm.

Selon un mode de réalisation, les données d’autorisation comprennent une signature (par exemple, le premier identifiant est signé, si les données d’autorisation comprennent un premier identifiant du logiciel)According to one embodiment, the authorization data includes a signature (for example, the first identifier is signed, if the authorization data includes a first identifier of the software)

Par exemple, l’installation est autorisée à condition que la signature soit conforme (c’est-à-dire, par exemple, à condition que le résultat de l’encryptage de la signature avec la clef publique soit le premier identifiant).For example, the installation is authorized provided that the signature is compliant (that is to say, for example, provided that the result of the encryption of the signature with the public key is the first identifier).

Par exemple, la mémoire de l’égo véhicule mémorise une clef publique pour vérifier la signature. Ainsi, la signature est encryptée avec la clef privée, la clef privée formant avec la clef publique une paire de clefs asymétrique).For example, the memory of the ego vehicle memorizes a public key to verify the signature. Thus, the signature is encrypted with the private key, the private key forming with the public key an asymmetric key pair).

Le procédé peut comporter une étape de signature à partir de la clef privée mis en œuvre dans le deuxième ordinateur.The method may include a signature step based on the private key implemented in the second computer.

En variante, les données d’autorisation sont sécurisées grâce à la mise en œuvre d’un canal sécurisé entre l’égo véhicule et le serveur (ou le deuxième véhicule).Alternatively, the authorization data is secured through the implementation of a secure channel between the ego vehicle and the server (or the second vehicle).

Selon un mode de réalisation, la chaine de bloc est mise à jour dans le serveur lorsque des blocs (par exemple le premier bloc, ou comprenant le premier bloc) sont reçues du premier ordinateur client, par exemple en même temps que les données d’installation du logiciel (ou les parties de la chaine de bloc mis à jour, ou uniquement les parties de la chaine de bloc jusqu’au premier bloc).According to one embodiment, the block chain is updated in the server when blocks (for example the first block, or including the first block) are received from the first client computer, for example at the same time as the data of installation of the software (or the parts of the updated block chain, or only the parts of the block chain up to the first block).

En variante, la chaine de bloc est mise à jour dans le serveur par le serveur sur réception des données d’installation.Alternatively, the blockchain is updated in the server by the server upon receipt of the installation data.

Dans l’égo véhicule, la chaine de bloc peut être mis à jour par des connexions périodiques ou en réponse à la requête d’autorisation ci-dessous. Le serveur envoi alors la chaine de bloc à l’égo véhicule qui la mémorise dans sa mémoire. En variante, la chaine de bloc peut être mis à jour dans la mémoire de l’égo véhicule lorsqu’un deuxième véhicule comprenant une chaine de bloc à jour est proche de l’égo véhicule. La chaine de bloc peut alors être communiquée par le deuxième véhicule à de l’égo véhicule.In the ego vehicle, the blockchain can be updated by periodic connections or in response to the authorization request below. The server then sends the block chain to the ego vehicle which stores it in its memory. Alternatively, the block chain can be updated in the memory of the ego vehicle when a second vehicle comprising an updated block chain is close to the ego vehicle. The blockchain can then be communicated by the second vehicle to the ego vehicle.

Selon un mode de réalisation, le procédé comprend en outre une étape de réception des données d’installation du logiciel et du premier bloc de la part d’un deuxième véhicule.According to one embodiment, the method further comprises a step of receiving software installation data and the first block from a second vehicle.

Selon un mode de réalisation, les données d’installation et le premier bloc sont reçues alors que les données d’autorisation sont déjà dans la mémoire de l’égo véhicule.According to one embodiment, the installation data and the first block are received while the authorization data is already in the memory of the vehicle ego.

Selon un mode de réalisation, le procédé comprenant en outre l’étape suivante :According to one embodiment, the method further comprising the following step:

  • Envoi d’une requête d’autorisation d’installation du logiciel,Sending a software installation authorization request,
  • Réception des données d’autorisation, et éventuellement des données d’installation, en réponse à la requête d’autorisation.Receipt of authorization data, and possibly installation data, in response to the authorization request.

La requête est par exemple envoyée, suite à une sélection du logiciel (parmi d’autres logiciels présents dans le serveur) par une interface homme machine de l’égo véhicule.The request is for example sent, following a selection of the software (among other software present in the server) by a human machine interface of the ego vehicle.

De son côté, le serveur reçoit la requête d’autorisation d’installation du logiciel et répond en renvoyant à l’égo véhicule les données d’autorisation.For its part, the server receives the software installation authorization request and responds by sending the authorization data back to the ego vehicle.

Dans ce mode de réalisation, les données d’installation peuvent être présent dans la mémoire de l’égo véhicule préalablement à la réception des données d’autorisation.In this embodiment, the installation data can be present in the memory of the ego vehicle prior to receipt of the authorization data.

L’invention concerne aussi un véhicule automobile comprenant le dispositif électronique selon l’invention.The invention also relates to a motor vehicle comprising the electronic device according to the invention.

L’invention concerne également un serveur configuré pour mettre en œuvre les étapes du procédé mis en œuvre dans un serveur selon l’invention.The invention also relates to a server configured to implement the steps of the method implemented in a server according to the invention.

Enfin, l’invention concerne aussi un système comprenant :Finally, the invention also relates to a system comprising:

  • Le dispositif électronique (ou le véhicule) selon l’invention,The electronic device (or vehicle) according to the invention,
  • Le serveur selon l’invention.The server according to the invention.

L’invention concerne également un programme d’ordinateur comprenant des instructions, exécutables par un microprocesseur ou un microcontroller, pour la mise en œuvre d’un des procédés selon l’invention.The invention also relates to a computer program comprising instructions, executable by a microprocessor or a microcontroller, for implementing one of the methods according to the invention.

Les caractéristiques et avantages du dispositif électronique, du véhicule automobile, du système et du programme d’ordinateur sont identiques à ceux des procédés, c’est pourquoi, ils ne sont pas repris ici.The characteristics and advantages of the electronic device, the motor vehicle, the system and the computer program are identical to those of the processes, which is why they are not included here.

On entend qu’un élément tel que le dispositif électronique ou un autre élément est « configuré pour » réaliser une étape ou une opération, par le fait que l’élément comporte des moyens pour (autrement dit « est conformé pour » ou « est adapté pour ») réaliser l’étape ou l’opération. Il s’agit préférentiellement de moyens électroniques, par exemple d’un programme d’ordinateur, de données en mémoire et/ou de circuits électroniques spécialisés.It is understood that an element such as the electronic device or another element is "configured to" carry out a step or an operation, by the fact that the element comprises means for (in other words "is configured for" or "is adapted for") carry out the step or operation. These are preferably electronic means, for example a computer program, data in memory and/or specialized electronic circuits.

Lorsqu’une étape ou une opération est réalisée par un tel élément, cela implique généralement que l’élément comporte des moyens pour (autrement dit « est conformé pour » ou « est adapté pour » ou « est configuré pour ») réaliser l’étape ou l’opération. Il s’agit également par exemple de moyens électroniques, par exemple un programme d’ordinateur, des données en mémoire et/ou des circuits électroniques spécialisés.When a step or an operation is carried out by such an element, this generally implies that the element comprises means for (in other words "is configured for" or "is adapted for" or "is configured for") to carry out the step or the operation. It also concerns, for example, electronic means, for example a computer program, data in memory and/or specialized electronic circuits.

D’autres caractéristiques et avantages de la présente invention apparaitront plus clairement à la lecture de la description détaillée qui suit comprenant des modes de réalisation de l’invention donnés à titre d’exemples nullement limitatifs et illustrés par les dessins annexés, dans lesquels.Other characteristics and advantages of the present invention will appear more clearly on reading the detailed description which follows including embodiments of the invention given by way of non-limiting examples and illustrated by the appended drawings, in which.

représente un dispositif électronique d’un véhicule automobile, un véhicule automobile et un système selon un mode de réalisation de l’invention. represents an electronic device of a motor vehicle, a motor vehicle and a system according to one embodiment of the invention.

représente le procédé de l’invention, selon un exemple de réalisation, mis en œuvre par le dispositif électronique, le véhicule et le système de la . represents the method of the invention, according to an exemplary embodiment, implemented by the electronic device, the vehicle and the system of the .

Description détaillée d’un exemple de réalisation de l’inventionDetailed description of an example of embodiment of the invention

, le système 1000 comprend un serveur 400, un réseau de télécommunication 320 et un égo véhicule 100. Le système peut comporter en outre un réseau de télécommunication local sans fil 310, un deuxième véhicule 200, un premier ordinateur client 500 d’un fournisseur de logiciel et un deuxième ordinateur client 600 du fabricant du véhicule 100. , the system 1000 comprises a server 400, a telecommunications network 320 and an ego vehicle 100. The system may further include a local wireless telecommunications network 310, a second vehicle 200, a first client computer 500 from a provider of software and a second client computer 600 from the manufacturer of the vehicle 100.

En référence aux figures 1 et 2, à l’étape S10, le serveur 400 reçoit les données d’installation 121 d’un logiciel 123 depuis le premier ordinateur client 500 identifié, auprès du serveur 400, à partir de premières données d’identification 510 et authentifié, auprès du serveur 400, à partir de premières données d’authentification 520 mémorisées par le premier ordinateur client 500. Les données d’installation 121 sont alors mémorisées dans la mémoire 420 du serveur 400.With reference to Figures 1 and 2, in step S10, the server 400 receives the installation data 121 of software 123 from the first client computer 500 identified, from the server 400, from first identification data 510 and authenticated, with the server 400, from first authentication data 520 stored by the first client computer 500. The installation data 121 is then stored in the memory 420 of the server 400.

Selon un mode de réalisation, la chaine de bloc 130 est mise à jour dans le serveur 400 et mémorisée dans la mémoire 420, lorsque des blocs comprenant un premier bloc 131 (par exemple les parties de la chaine de bloc 130 mis à jour, ou uniquement les parties de la chaine de bloc 130 mises à jour jusqu’au premier bloc 131) sont reçus du premier ordinateur client 500, par exemple en même temps que les données d’installation 121.According to one embodiment, the block chain 130 is updated in the server 400 and stored in the memory 420, when blocks comprising a first block 131 (for example the parts of the block chain 130 updated, or only the parts of the block chain 130 updated up to the first block 131) are received from the first client computer 500, for example at the same time as the installation data 121.

A l’étape S20, le serveur 400 reçoit des données d’autorisation 122 depuis un deuxième ordinateur client 600 identifié auprès du serveur 400 à partir de deuxièmes données d’identification 610 et authentifié auprès du serveur 400 à partir de deuxièmes données d’authentification 620 mémorisées par le deuxième ordinateur client 600.In step S20, the server 400 receives authorization data 122 from a second client computer 600 identified with the server 400 from second identification data 610 and authenticated with the server 400 from second authentication data 620 stored by the second client computer 600.

Ainsi, le serveur 400 mémorise dans sa mémoire 420, la chaine de blocs 130, les données d’installation 121 et les données d’autorisation 122.Thus, the server 400 stores in its memory 420, the blockchain 130, the installation data 121 and the authorization data 122.

Les premières données d’identification 510 sont différentes des deuxièmes données d’identification 610. Les premières données d’authentification 520 sont différentes des deuxièmes données d’authentification 620.The first identification data 510 is different from the second identification data 610. The first authentication data 520 is different from the second authentication data 620.

Avant la transmission des données d’autorisation 122 par le deuxième ordinateur client 600, le logiciel 123 peut être validé, à partir des données d’installation obtenues du serveur 400, par exemple par un acteur (l’acteur est par exemple : une entreprise, un utilisateur, un groupe d’utilisateur, un utilisateur, par exemple un développeur informatique du fabricant du véhicule automobile ) détenteurs du compte (ou utilisant le compte) identifié par les deuxièmes données d’identification 610 et authentifié par les deuxièmes données d’authentification 620.Before the transmission of the authorization data 122 by the second client computer 600, the software 123 can be validated, from the installation data obtained from the server 400, for example by an actor (the actor is for example: a company , a user, a user group, a user, for example an IT developer from the manufacturer of the motor vehicle) holders of the account (or using the account) identified by the second identification data 610 and authenticated by the second identification data authentication 620.

Ces étapes peuvent être réalisés pour une pluralité (un nombre supérieur à 2, voire supérieur à 5) de premiers ordinateurs clients et de deuxièmes ordinateurs clients ayant des données d’identification et des données d’authentification différentes les uns des autres.These steps can be carried out for a plurality (a number greater than 2, or even greater than 5) of first client computers and second client computers having identification data and authentication data different from each other.

Par exemple, les données d’autorisation 122 comprennent par exemple un premier identifiant du logiciel, et le premier bloc 131 comprend un deuxième identifiant du logiciel.For example, the authorization data 122 includes for example a first software identifier, and the first block 131 includes a second software identifier.

Le premier bloc 131 dans la chaine de bloc 130 comprend par exemple une empreinte (autrement dit : un condensat) cryptographique des données d’installation 121. Par exemple, l’empreinte cryptographique est obtenue à partir d’une fonction de hachage.The first block 131 in the block chain 130 includes for example a cryptographic fingerprint (in other words: a condensate) of the installation data 121. For example, the cryptographic fingerprint is obtained from a hash function.

Le deuxième ordinateur client 600 peut avoir signé, préalablement à l’étape S20, le premier identifiant, à partir d’une clef privée. Ainsi, les données d’autorisation 122 produites et envoyées au serveur 400 par le deuxième ordinateur client 600 peuvent comprendre la signature ainsi obtenue.The second client computer 600 may have signed, prior to step S20, the first identifier, using a private key. Thus, the authorization data 122 produced and sent to the server 400 by the second client computer 600 can include the signature thus obtained.

A l’étape S30, le dispositif électronique 110 de l’égo véhicule envoi une requête d’autorisation d’installation du logiciel 123 au serveur 400.In step S30, the electronic device 110 of the vehicle ego sends a request for authorization to install the software 123 to the server 400.

A l’étape S40, le dispositif électronique 110 de l’égo véhicule 100 reçoit les données d’autorisation 122, et éventuellement les données d’installation 121, en réponse à la requête d’autorisation, et mémorise ces données en mémoire 120.In step S40, the electronic device 110 of the vehicle ego 100 receives the authorization data 122, and possibly the installation data 121, in response to the authorization request, and stores this data in memory 120.

La requête est par exemple envoyée, suite à une sélection du logiciel 123 (parmi d’autres logiciels présents dans le serveur 400), par l’interface homme machine 150 (le serveur 400 peut comprendre pour cela en mémoire 420 une liste de logiciels mise à jour au moment de la réception des données d’installation par le serveur 400).The request is for example sent, following a selection of software 123 (among other software present in the server 400), by the human machine interface 150 (the server 400 can include for this in memory 420 a list of software put up to date at the time of receipt of the installation data by the server 400).

De son côté, le serveur 400 reçoit la requête d’autorisation d’installation du logiciel 123 et répond en renvoyant au dispositif électronique 110 de l’égo véhicule 100 les données d’autorisation 122 et éventuellement des données d’installation 121.For its part, the server 400 receives the installation authorization request for the software 123 and responds by sending the authorization data 122 and possibly installation data 121 to the electronic device 110 of the vehicle ego 100.

A l’étape S50, dans le dispositif électronique 110 de l’égo véhicule 100, la chaine de bloc 130 peut être mis à jour par des connexions périodiques ou en réponse à la requête d’autorisation ci-dessus. Le serveur 400 envoi alors la chaine de bloc 130 à l’égo véhicule 100 qui la reçoit et la mémorise dans sa mémoire 120. En variante, la chaine de bloc 130 et les données d’installation 121 peuvent être mis à jour dans la mémoire 120 lorsqu’un deuxième véhicule 200 comprenant une chaine de bloc à jour est proche de l’égo véhicule 100. La chaine de bloc 130 et/ou les données d’installation 121 peuvent alors être communiquées par le deuxième véhicule 200 à l’égo véhicule 100 et mémorisée dans la mémoire 120 de l’égo véhicule 100. Ainsi, la chaine de blocs et/ou les données d’installation 121 peuvent être présentes dans la mémoire 120 de l’égo véhicule préalablement à la réception des données d’autorisation 122.At step S50, in the electronic device 110 of the ego vehicle 100, the block chain 130 can be updated by periodic connections or in response to the authorization request above. The server 400 then sends the block chain 130 to the ego vehicle 100 which receives it and stores it in its memory 120. Alternatively, the block chain 130 and the installation data 121 can be updated in the memory 120 when a second vehicle 200 comprising an up-to-date block chain is close to the ego vehicle 100. The block chain 130 and/or the installation data 121 can then be communicated by the second vehicle 200 to the ego vehicle 100 and stored in the memory 120 of the vehicle ego 100. Thus, the blockchain and/or the installation data 121 may be present in the memory 120 of the vehicle ego prior to receiving the vehicle data. authorization 122.

Ou inversement, les données d’installation 121 et/ou le premier bloc 131 sont reçues par l’égo véhicule 100 alors que les données d’autorisation 122 sont déjà dans la mémoire 120 de l’égo véhicule 100.Or conversely, the installation data 121 and/or the first block 131 are received by the ego vehicle 100 while the authorization data 122 is already in the memory 120 of the ego vehicle 100.

A l’étape S60, le dispositif électronique 110 vérifie l’autorisation de l’installation à partir des données d’autorisation 122 et du premier bloc 131.In step S60, the electronic device 110 checks the authorization of the installation based on the authorization data 122 and the first block 131.

L’installation est par exemple autorisée à condition que le premier identifiant et le deuxième identifiant soient égaux.For example, the installation is authorized provided that the first identifier and the second identifier are equal.

Par exemple, l’installation est autorisée à condition que la signature soit en outre conforme. Par exemple, la mémoire 120 de l’égo véhicule mémorise une clef publique pour vérifier la signature. Ainsi, la signature est encryptée avec la clef privée, la clef privée formant avec la clef publique une paire de clefs asymétrique.For example, installation is authorized provided that the signature is also compliant. For example, the memory 120 of the ego vehicle stores a public key to verify the signature. Thus, the signature is encrypted with the private key, the private key forming with the public key a pair of asymmetric keys.

A l’étape S70, le dispositif électronique 110 installe le logiciel 123 en mémoire 120 à partir des données d’installation 121 à condition que l’installation soit autorisée et que l’empreinte corresponde aux données d’installation 121 (par exemple, une autre empreinte est calculée par le dispositif électronique à partir des données d’installation 121 et est comparée à l’empreinte reçu dans le premier bloc).In step S70, the electronic device 110 installs the software 123 in memory 120 from the installation data 121 provided that the installation is authorized and that the fingerprint corresponds to the installation data 121 (for example, a other fingerprint is calculated by the electronic device from the installation data 121 and is compared to the fingerprint received in the first block).

Une fois le logiciel 123 installé en mémoire 120, il peut être exécuté par un processeur de l’égo véhicule 100, par exemple à l’étape S80.Once the software 123 installed in memory 120, it can be executed by a processor of the vehicle ego 100, for example in step S80.

De manière générale, l’envoi et la réception selon l’invention peuvent être mis en œuvre par un réseau de télécommunication cellulaire mobile 320, à l’exception, par exemple, de la communication entre l’égo véhicule 100 et le deuxième véhicule 200 qui peut être mis en œuvre par un réseau local sans fil 310.In general, the sending and receiving according to the invention can be implemented by a mobile cellular telecommunications network 320, with the exception, for example, of the communication between the ego vehicle 100 and the second vehicle 200 which can be implemented by a wireless local network 310.

Claims (10)

Procédé d’autorisation d’installation d’un logiciel (123) dans un ego véhicule automobile (100) comprenant une mémoire (120) mémorisant une chaine de blocs (130) et des données d’autorisation (122) de l’installation, le procédé étant caractérisé en ce qu’il comprend les étapes suivantes :
  • Réception de données d’installation (121) du logiciel (123), un premier bloc (131) dans la chaine de bloc (130) comprenant une empreinte cryptographique des données d’installation (121),
  • Vérification d’une autorisation de l’installation (S60) à partir des données d’autorisation (122) et du premier bloc (131),
  • Une étape d’installation (S70) du logiciel (123) en mémoire (120) à partir des données d’installation (121) à condition que l’installation soit autorisée et que l’empreinte corresponde aux données d’installation (121).
Method for authorizing the installation of software (123) in a motor vehicle ego (100) comprising a memory (120) storing a chain of blocks (130) and authorization data (122) of the installation, the process being characterized in that it comprises the following steps:
  • Receiving installation data (121) from the software (123), a first block (131) in the block chain (130) comprising a cryptographic fingerprint of the installation data (121),
  • Verification of an authorization of the installation (S60) from the authorization data (122) and the first block (131),
  • An installation step (S70) of the software (123) in memory (120) from the installation data (121) provided that the installation is authorized and that the fingerprint corresponds to the installation data (121) .
Procédé d’autorisation d’installation d’un logiciel (123), mis en œuvre dans un serveur (400) mémorisant une chaine de blocs (130), le procédé étant caractérisé en ce qu’il comporte les étapes suivantes :
  • Envoi de données d’installation (121) du logiciel (123), un premier bloc (131) dans la chaine de bloc (130) comprenant une empreinte cryptographique des données d’installation (121),
  • Envoi de données d’autorisation (122) d’installation du logiciel (123), pour la mise en œuvre d’une étape de vérification d’autorisation de l’installation à partir des données d’autorisation (122) et du premier bloc (131).
Method for authorizing the installation of software (123), implemented in a server (400) storing a chain of blocks (130), the method being characterized in that it comprises the following steps:
  • Sending installation data (121) of the software (123), a first block (131) in the block chain (130) comprising a cryptographic fingerprint of the installation data (121),
  • Sending authorization data (122) for installing the software (123), for implementing an installation authorization verification step based on the authorization data (122) and the first block (131).
Procédé d’autorisation d’installation selon la revendication précédente, le procédé comprenant en outre les étapes suivantes :
  • Réception des données d’installation (121) depuis un premier ordinateur client (500) identifié à partir de premières données d’identification (510) et authentifié à partir de premières données d’authentification (520) mémorisées par le premier ordinateur (500),
  • Réception des données d’autorisation (122) depuis un deuxième ordinateur client (600) identifié à partir de deuxièmes données d’identification (610) et authentifié à partir de deuxièmes données d’authentification (620) mémorisées par le deuxième ordinateur (600),
  • Les premières données d’identification (510) étant différentes des deuxièmes données d’identification (610),
  • Les premières données d’authentification (520) étant différentes des deuxièmes données d’authentification (620),
  • Le premier ordinateur client (500) étant différent du deuxième ordinateur client (600).
Installation authorization method according to the preceding claim, the method further comprising the following steps:
  • Receiving installation data (121) from a first client computer (500) identified from first identification data (510) and authenticated from first authentication data (520) stored by the first computer (500) ,
  • Receiving authorization data (122) from a second client computer (600) identified from second identification data (610) and authenticated from second authentication data (620) stored by the second computer (600) ,
  • The first identification data (510) being different from the second identification data (610),
  • The first authentication data (520) being different from the second authentication data (620),
  • The first client computer (500) is different from the second client computer (600).
Procédé d’autorisation d’installation selon l’une quelconques des revendications précédentes dans lequel :
  • Les données d’autorisation (122) comprennent un premier identifiant du logiciel (123), et
  • Le premier bloc (131) comprend un deuxième identifiant du logiciel (123).
Installation authorization method according to any one of the preceding claims in which:
  • The authorization data (122) includes a first software identifier (123), and
  • The first block (131) includes a second software identifier (123).
Procédé d’autorisation d’installation l’une quelconque des revendications précédentes dans lequel les données d’autorisation (122) comprennent une signature.An installation authorization method as claimed in any one of the preceding claims wherein the authorization data (122) includes a signature. Procédé d’autorisation d’installation selon l’une quelconque des revendications précédentes prise en dépendance de la revendication 1, le procédé comprenant en outre l’étape suivante :
  • Envoi (S30) d’une requête d’autorisation d’installation du logiciel (123),
  • Réception (S40) des données d’autorisation (122), en réponse à la requête d’autorisation,
Installation authorization method according to any one of the preceding claims taken as a dependence on claim 1, the method further comprising the following step:
  • Sending (S30) a software installation authorization request (123),
  • Receipt (S40) of authorization data (122), in response to the authorization request,
Dispositif électronique (110) configuré pour mettre en œuvre les étapes du procédé selon l’une quelconque des revendications 1 et 4 à 6.Electronic device (110) configured to implement the steps of the method according to any one of claims 1 and 4 to 6. Véhicule automobile (100) comprenant le dispositif électronique (110) selon la revendication précédente.Motor vehicle (100) comprising the electronic device (110) according to the preceding claim. Serveur (400) configuré pour mettre en œuvre les étapes du procédé selon l’une quelconque des revendications 2 ou 3, ou selon les revendications 4 ou 5 prises en dépendance de la revendication 2 ou 3.Server (400) configured to implement the steps of the method according to any one of claims 2 or 3, or according to claims 4 or 5 taken in dependence on claim 2 or 3. Système (1000) comprenant :
  • Le dispositif électronique (110) selon la revendication 7 ; et
  • Le serveur (400) selon la revendication 9.
System (1000) comprising:
  • The electronic device (110) according to claim 7; And
  • The server (400) according to claim 9.
FR2204569A 2022-05-13 2022-05-13 Method for authorizing the installation of software in a motor vehicle, associated device, vehicle and system Pending FR3135546A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR2204569A FR3135546A1 (en) 2022-05-13 2022-05-13 Method for authorizing the installation of software in a motor vehicle, associated device, vehicle and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2204569A FR3135546A1 (en) 2022-05-13 2022-05-13 Method for authorizing the installation of software in a motor vehicle, associated device, vehicle and system
FR2204569 2022-05-13

Publications (1)

Publication Number Publication Date
FR3135546A1 true FR3135546A1 (en) 2023-11-17

Family

ID=84331041

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2204569A Pending FR3135546A1 (en) 2022-05-13 2022-05-13 Method for authorizing the installation of software in a motor vehicle, associated device, vehicle and system

Country Status (1)

Country Link
FR (1) FR3135546A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200073651A1 (en) * 2018-09-05 2020-03-05 International Business Machines Corporation Multi-variable based secure download of vehicle updates
CN113037850A (en) * 2021-03-18 2021-06-25 中国第一汽车股份有限公司 Application program upgrading method and device, electronic equipment and storage medium
GB2599195A (en) * 2020-06-05 2022-03-30 Inlecom Systems Ltd Computer program trust assurance for Internet of Things (IoT) devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200073651A1 (en) * 2018-09-05 2020-03-05 International Business Machines Corporation Multi-variable based secure download of vehicle updates
GB2599195A (en) * 2020-06-05 2022-03-30 Inlecom Systems Ltd Computer program trust assurance for Internet of Things (IoT) devices
CN113037850A (en) * 2021-03-18 2021-06-25 中国第一汽车股份有限公司 Application program upgrading method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
CN111131313B (en) Safety guarantee method and system for replacing ECU (electronic control Unit) of intelligent networked automobile
EP1570648B1 (en) Method of securing software updates
US7886355B2 (en) Subsidy lock enabled handset device with asymmetric verification unlocking control and method thereof
US7325135B2 (en) Method and system for authorizing reconfiguration of a vehicle
WO2016156682A1 (en) Method for loading a virtual key in a user terminal and associated user terminal
US20040003231A1 (en) Method and system for component authentication of a vehicle
EP2903867B1 (en) System for protecting a motor vehicle
CN115396121B (en) Security authentication method for security chip OTA data packet and security chip device
WO2005101726A1 (en) Anonymous authentication method
US20040003237A1 (en) Method and system for vehicle authentication of a component using key separation
CN115242634B (en) Software upgrading method, device and storage medium
EP1886204A1 (en) Transaction method and verification method
FR3067136A1 (en) METHOD FOR UPDATING A VEHICLE ONBOARD COMPUTER
CN115643564A (en) FOTA upgrading method, device, equipment and storage medium for automobile safety
EP1263248B1 (en) Method for activating a function in a terminal subscribed to a network
FR3135546A1 (en) Method for authorizing the installation of software in a motor vehicle, associated device, vehicle and system
US20040073799A1 (en) Method for loading a software program onto a mobile communication terminal
CN103559429B (en) The method and system of software processes
KR20090051475A (en) Apparatus and method of decoding firmware for upgrading the firmware
CN111464554A (en) Vehicle information safety control method and system
FR3082039A1 (en) VEHICLE PROPERTY VERIFICATION METHOD.
CN112583605B (en) Block chain-based secret-free authentication method, system, terminal and storage medium
US8666900B1 (en) Secure product enablement over channels with narrow bandwidth
CN116321149A (en) Digital key-based identity authentication method and system for vehicle user
CN115996375A (en) Method and system for realizing vehicle over-the-air downloading

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20231117