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 PDFInfo
- 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
Links
- 238000009434 installation Methods 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000013475 authorization Methods 0.000 claims abstract description 58
- 230000015654 memory Effects 0.000 claims abstract description 29
- 238000012795 verification Methods 0.000 claims abstract description 5
- 230000004044 response Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 2
- 238000004590 computer program Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services 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
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.
Description détaillée d’un exemple de réalisation de l’inventionDetailed description of an example of embodiment of the invention
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)
- 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).
- 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) .
- 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).
- 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).
- 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).
- 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).
- 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).
- The authorization data (122) includes a first software identifier (123), and
- The first block (131) includes a second software identifier (123).
- 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,
- Sending (S30) a software installation authorization request (123),
- Receipt (S40) of authorization data (122), in response to the authorization request,
- Le dispositif électronique (110) selon la revendication 7 ; et
- Le serveur (400) selon la revendication 9.
- The electronic device (110) according to claim 7; And
- The server (400) according to claim 9.
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)
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 |
-
2022
- 2022-05-13 FR FR2204569A patent/FR3135546A1/en active Pending
Patent Citations (3)
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 |