FR2881905A1 - File downloading system for logic controller of motor vehicle, has secured remote server connected by data transmission network to local downloading tool to be connected to logic controller of vehicle, by multiplex transmission network - Google Patents

File downloading system for logic controller of motor vehicle, has secured remote server connected by data transmission network to local downloading tool to be connected to logic controller of vehicle, by multiplex transmission network Download PDF

Info

Publication number
FR2881905A1
FR2881905A1 FR0501358A FR0501358A FR2881905A1 FR 2881905 A1 FR2881905 A1 FR 2881905A1 FR 0501358 A FR0501358 A FR 0501358A FR 0501358 A FR0501358 A FR 0501358A FR 2881905 A1 FR2881905 A1 FR 2881905A1
Authority
FR
France
Prior art keywords
tool
computer
transmission
server
file
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.)
Granted
Application number
FR0501358A
Other languages
French (fr)
Other versions
FR2881905B1 (en
Inventor
Thierry Lopez
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.)
PSA Automobiles SA
Original Assignee
Peugeot Citroen 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 Peugeot Citroen Automobiles SA filed Critical Peugeot Citroen Automobiles SA
Priority to FR0501358A priority Critical patent/FR2881905B1/en
Publication of FR2881905A1 publication Critical patent/FR2881905A1/en
Application granted granted Critical
Publication of FR2881905B1 publication Critical patent/FR2881905B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R25/00Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
    • B60R25/20Means to switch the anti-theft system on or off
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user

Landscapes

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

Abstract

The system has a secured remote server (10) in which a file (11) to be downloaded is stored. The server is connected by a data transmission network (12) e.g. Internet type network, to a local downloading tool (13) that is to be connected to a logic controller (14) embarked inside a motor vehicle, by a multiplex transmission network (15). The tool has communication units for exchanging data with the controller and the server. An independent claim is also included for a method for downloading a file in a controller/computer embarked inside a motor vehicle.

Description

2881905 12881905 1

La présente invention concerne un système de téléchargement d'un fichier dans un calculateur embarqué à bord d'un véhicule automobile et un procédé de téléchargement pour la mise en oeuvre de ce système.  The present invention relates to a system for downloading a file into an on-board computer on board a motor vehicle and a downloading method for implementing this system.

On connaît déjà dans l'état de la technique, des procédés et des 5 systèmes de téléchargement de ce type.  Such methods and download systems are already known in the state of the art.

On pourra par exemple se reporter au document FR-A-2 719 924 au nom de la demanderesse.  For example, reference may be made to document FR-A-2 719 924 in the name of the applicant.

Ce document décrit effectivement un procédé de déverrouillage de l'accès d'un outil de téléchargement d'un fichier à un calculateur de pilotage du fonctionnement d'au moins un organe fonctionnel d'un véhicule automobile, dans lequel le fichier à télécharger comprend notamment des informations d'indentification du calculateur dans lequel il doit être téléchargé et une clef d'accès à celui-ci. Le calculateur comporte une unité à microprocesseur associée à des moyens de mémorisation de données dans lesquels sont stockées des informations d'identification du calculateur et une clef d'accès à celui-ci. Ce procédé comporte alors différentes étapes de transmission d'informations entre l'outil de téléchargement et le calculateur, de calcul de premier et de second codes de déverrouillage de l'accès au calculateur et de comparaison de ces codes, pour autoriser l'accès de l'outil de téléchargement au calculateur en cas de correspondance entre ces codes.  This document effectively describes a method of unlocking the access of a tool for downloading a file to a control computer for the operation of at least one functional unit of a motor vehicle, in which the file to be downloaded comprises, in particular identification information of the calculator in which it must be downloaded and an access key to it. The computer comprises a microprocessor unit associated with data storage means in which computer identification information and an access key to it are stored. This method then comprises different steps of transmission of information between the downloading tool and the computer, calculating first and second unlocking codes of access to the computer and comparing these codes, to allow access to the download tool to the calculator in case of correspondence between these codes.

Cependant, une telle fonction de téléchargement qui est utilisée par exemple aujourd'hui dans les réseaux après-vente de certains constructeurs de véhicules automobiles, peut être directement concernée par un conflit potentiel résultant des exigences qui vont apparaître contradictoires entre le nouveau règlement européen relatif à la concurrence concernant la maintenance automobile et l'obligation faite aux constructeurs de garantir l'intégrité des logiciels embarqués à bord des véhicules, comme par exemple ceux liés aux dispositifs d'antivol, aux systèmes de sécurité et de dépollution, etc...  However, such a download function which is used, for example, today in the after-sales networks of certain motor vehicle manufacturers, may be directly concerned by a potential conflict resulting from the contradictory requirements that will emerge between the new European regulation on the competition concerning the car maintenance and the obligation made to the manufacturers to guarantee the integrity of the software embedded on board the vehicles, like for example those related to the anti-theft devices, the systems of security and depollution, etc ...

On sait en effet par exemple que la directive CE n 1400/2002 entrée en vigueur en octobre 2002 dans le but de favoriser la concurrence dans le domaine de la maintenance automobile, fixe un certain nombre d'exigences pour les constructeurs automobiles, qui les obligent notamment à autoriser tous les réparateurs indépendants intéressés à avoir un accès complet à toutes les 2881905 2 informations techniques, à tous les systèmes de diagnostic et autres, nécessaires à la réparation et à l'entretien des véhicules automobiles.  It is known, for example, that Directive EC 1400/2002, which came into force in October 2002 with the aim of fostering competition in the field of automobile maintenance, sets a number of requirements for car manufacturers, which oblige them to in particular to allow all independent repairers interested to have full access to all technical information, diagnostic and other systems necessary for the repair and maintenance of motor vehicles.

Pour bien comprendre la problématique posée, il convient de préciser de manière succincte les différentes étapes nécessaires lors d'une opération de téléchargement d'un fichier dans un calculateur.  To fully understand the problematic, it is necessary to specify succinctly the various steps required during an operation of downloading a file in a computer.

Dans un premier temps, l'outil de téléchargement pointe sur le fichier à télécharger après avoir identifié le calculateur. L'outil demande alors au calculateur de générer un nombre aléatoire.  At first, the download tool points to the file to download after identifying the calculator. The tool then asks the calculator to generate a random number.

En fonction de ce nombre, de la clef disponible dans le fichier à télécharger et des algorithmes de protection codés dans l'outil, ce dernier calcule un résultat qu'il transmet au calculateur pour contrôle.  Depending on this number, the key available in the download file and the protection algorithms coded in the tool, the tool calculates a result that it sends to the control computer.

En parallèle, le calculateur calcule le résultat attendu en fonction du nombre aléatoire qu'il a transmis vers l'outil, des algorithmes de protection internes et de la clef inscrite à la fabrication du produit, dans une partie de sa mémoire non lisible depuis un outil externe. Puis le calculateur compare le résultat calculé en interne à celui reçu de l'outil et autorise le téléchargement du code uniquement dans le cas d'une égalité.  In parallel, the computer calculates the expected result as a function of the random number it has transmitted to the tool, internal protection algorithms and the key entered in the manufacture of the product, in part of its memory not readable since external tool. Then the calculator compares the result calculated internally to that received from the tool and authorizes the download of the code only in the case of a tie.

La mémoire du calculateur est ensuite effacée et le code logiciel est téléchargé.  The calculator memory is then erased and the software code is downloaded.

Enfin, une étape de contrôle et de marquage de cette opération est effectuée dans le calculateur.  Finally, a step of checking and marking this operation is performed in the computer.

Mais si l'on analyse cette façon de procéder, on constate que l'ensemble des constituants de la fonction, c'est-à-dire le fichier à télécharger, les clefs et les algorithmes de protection du code, de même que les procédures, sont disponibles dans l'outil de téléchargement.  But if we analyze this way of proceeding, we see that all the constituents of the function, that is to say the file to be downloaded, the keys and the algorithms of protection of the code, as well as the procedures , are available in the download tool.

On imagine aisément que l'accès à ce type d'informations peut entraîner une prolifération des manipulations de fichiers, permettant notamment de modifier les performances du moteur en changeant la calibration du logiciel.  It is easy to imagine that access to this type of information can lead to a proliferation of file manipulation, in particular to modify the performance of the engine by changing the calibration of the software.

De telles manoeuvres peuvent alors avoir des conséquences sur la longévité du moteur, mais également avoir des répercutions autres concernant par exemple la conformité des véhicules.  Such maneuvers can then have consequences on the longevity of the engine, but also have other repercussions concerning for example the conformity of the vehicles.

Le but de l'invention est donc de résoudre ces problèmes.  The object of the invention is therefore to solve these problems.

A cet effet, l'invention a pour objet un système de téléchargement d'un fichier dans un calculateur embarqué à bord d'un véhicule automobile, 2881905 3 caractérisé en ce qu'il comporte un serveur distant sécurisé, dans lequel est stocké le fichier à télécharger, raccordé par un réseau de transmission d'informations à un outil de téléchargement local, adapté pour être raccordé au calculateur du véhicule et muni de moyens d'échange d'informations avec le calculateur et le serveur distant.  For this purpose, the subject of the invention is a system for downloading a file into an on-board computer on board a motor vehicle, characterized in that it comprises a secure remote server, in which the file is stored. download, connected by an information transmission network to a local download tool, adapted to be connected to the vehicle computer and provided with means for exchanging information with the computer and the remote server.

Suivant d'autres caractéristiques: - le réseau de transmission d'informations est un réseau de type Internet; - l'outil de téléchargement local est adapté pour être raccordé au 10 calculateur à travers un réseau multiplexé de transmission d'informations embarqué à bord du véhicule; l'outil de téléchargement est adapté pour être raccordé au calculateur à travers une ligne série K du véhicule.  According to other characteristics: the information transmission network is an Internet type network; the local downloading tool is adapted to be connected to the computer via a multiplexed information transmission network on board the vehicle; the download tool is adapted to be connected to the computer through a serial line K of the vehicle.

Selon un autre aspect, l'invention a également pour objet un procédé de téléchargement d'un fichier dans un calculateur embarqué à bord d'un véhicule automobile, pour la mise en oeuvre du système selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte les étapes suivantes: a) initialisation de la communication entre l'outil et le calculateur et 20 émission par l'outil d'une demande d'identification du calculateur; b) transmission par le calculateur à destination de l'outil de son identification; c) initialisation de la communication entre l'outil et le serveur et transmission par l'outil à destination du serveur, de l'identification du calculateur 25 et de la signature de l'outil; d) requête adressée par le serveur à l'outil pour faire générer un nombre aléatoire au calculateur; e) requête par l'outil au calculateur de génération de ce nombre aléatoire; f) génération et transmission par le calculateur à destination de l'outil du nombre aléatoire; g) transmission par l'outil à destination du serveur du nombre aléatoire généré par le calculateur; 2881905 4 h) génération et transmission par le serveur à destination de l'outil d'un premier code de déverrouillage correspondant; i) transmission par l'outil à destination du calculateur de ce premier code; j) comparaison par le calculateur de ce premier code avec un second code généré par celui-ci pour valider ou invalider le téléchargement du fichier, en cas de concordance ou de discordance entre les codes; k) transmission d'une information de validation ou d'invalidation du téléchargement du calculateur vers l'outil! local; I) transmission de cette information correspondante de l'outil local vers le serveur; m) si le téléchargement est validé, transmission par le serveur du fichier à télécharger sur l'outil et traçage de cette opération de téléchargement; n) envoi d'un accusé de réception du fichier par l'outil à destination du 15 serveur; o) émission par l'outil d'une requête d'effacement de la mémoire du calculateur et émission du fichier à télécharger; p) acquittement par le calculateur de la requête d'effacement et de chaque requête de données reçues vers l'outil après contrôle de l'intégrité des 20 données; q) transmission par l'outil à destination du calculateur d'une demande d'autocontrôle des données reçues; r) mise en oeuvre de l'autocontrôle par le calculateur et transmission par celui-ci à destination de l'outil de la réponse correspondante; et s) transmission par l'outil de données de marquage de cette opération de téléchargement et acquittement par le calculateur de la réception de celles-ci.  According to another aspect, the invention also relates to a method of downloading a file in an on-board computer on board a motor vehicle, for implementing the system according to any one of the preceding claims, characterized in that it comprises the following steps: a) initialization of the communication between the tool and the calculator and transmission by the tool of a request for identification of the calculator; b) transmission by the computer to the tool of its identification; c) initialization of the communication between the tool and the server and transmission by the tool to the server, the identification of the calculator 25 and the signature of the tool; d) request sent by the server to the tool to cause the calculator to generate a random number; e) request by the tool to the calculator generating this random number; f) generation and transmission by the computer to the random number tool; g) transmission by the tool to the server of the random number generated by the computer; 2881905 4 h) generation and transmission by the server to the tool of a corresponding first unlock code; i) transmission by the tool to the calculator of this first code; j) comparison by the computer of this first code with a second code generated by it to validate or invalidate the download of the file, in case of concordance or discrepancy between the codes; k) transmission of information validating or invalidating the download of the calculator to the tool! local; I) transmission of this corresponding information from the local tool to the server; m) if the download is validated, transmission by the server of the file to be downloaded to the tool and tracing of this downloading operation; n) sending an acknowledgment of the file by the tool to the server; o) transmission by the tool of a request for erasure of the computer memory and transmission of the file to download; p) acknowledgment by the computer of the erasure request and each request for data received to the tool after checking the integrity of the data; q) transmission by the tool to the calculator of a self-check request for the received data; r) implementation of the self-check by the computer and transmission by it to the tool of the corresponding response; and s) transmission by the marking data tool of this downloading operation and acknowledgment by the computer of the reception thereof.

L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés, sur lesquels: - la Fig.1 représente un schéma synoptique illustrant la structure et le fonctionnement d'un système de téléchargement de l'état de la technique; - la Fig.2 illustre la structure et le fonctionnement d'un système de téléchargement selon l'invention; et 2881905 5 - la Fig.3 illustre un chronogramme représentant les différentes étapes d'un procédé de téléchargement selon l'invention.  The invention will be better understood on reading the description which follows, given solely by way of example and with reference to the appended drawings, in which: FIG. 1 represents a block diagram illustrating the structure and operation a download system of the state of the art; FIG. 2 illustrates the structure and operation of a download system according to the invention; and FIG. 3 illustrates a timing diagram showing the various steps of a downloading method according to the invention.

On a en effet illustré sur la figure 1, un système de téléchargement de l'état de la technique, utilisant un outil de téléchargement désigné par la référence générale 1, pour charger des données dans un calculateur désigné par la référence générale 2, embarqué par exemple à bord d'un véhicule automobile.  FIG. 1 shows a prior art downloading system, using a download tool designated by the general reference 1, for loading data into a computer designated by the general reference 2, embedded in example in a motor vehicle.

L'outil de téléchargement est alors relié au calculateur à travers un réseau multiplexé de transmission d'informations embarqué à bord du véhicule de type CAN par exemple ou une ligne série K de ce véhicule, désigné par la référence générale 3.  The downloading tool is then connected to the computer through a multiplexed information transmission network on board the CAN-type vehicle for example or a serial line K of this vehicle, designated by the general reference 3.

L'outil de téléchargement stocke alors le fichier à télécharger désigné par la référence générale 4, celui-ci contenant des informations d'identification du calculateur et une clef, de même que le code à télécharger.  The download tool then stores the download file designated by the general reference 4, which contains the identification information of the calculator and a key, as well as the code to download.

Des moyens de téléchargement 5 de cet outil sont associés à des algorithmes de protection du code désignés par la référence générale 6, pour permettre de transmettre le fichier vers des moyens correspondants 7 du calculateur, également associés à des algorithmes de protection du code 8 et à une clef prédéterminée 9, pour permettre de récupérer le code téléchargé.  Download means 5 of this tool are associated with code protection algorithms designated by the general reference 6, to enable the file to be transmitted to corresponding means 7 of the computer, also associated with code 8 protection algorithms and a predetermined key 9, to recover the downloaded code.

Des renseignements complémentaires concernant la procédure mise en oeuvre pour assurer le téléchargement d'un fichier grâce à un tel système, pourront être trouvés dans le document FR-A-2 719 924, mentionné précédemment.  Additional information on the procedure implemented to ensure the download of a file through such a system, can be found in the document FR-A-2 719 924, mentioned above.

Pour résoudre les problèmes décrits précédemment, on utilise un système de téléchargement tel qu'illustré sur la figure 2. Ce système de téléchargement comporte alors un serveur distant sécurisé désigné par la référence générale 10, dans lequel est stocké le fichier à télécharger désigné par la référence générale 11 et qui est raccordé par un réseau de transmission d'informations désigné par la référence générale 12, par exemple de type Internet, à un outil de téléchargement local, désigné par la référence générale 13, adapté pour être raccordé au calculateur du véhicule désigné par la référence générale 14 et muni de moyens d'échanges d'informations avec le calculateur et le serveur distant.  To solve the problems described above, a downloading system is used as illustrated in FIG. 2. This downloading system then comprises a secure remote server designated by the general reference 10, in which is stored the file to be downloaded designated by FIG. general reference 11 and which is connected by an information transmission network designated by the general reference 12, for example of the Internet type, to a local download tool, designated by the general reference 13, adapted to be connected to the vehicle calculator designated by the general reference 14 and provided with means for exchanging information with the computer and the remote server.

On notera que l'outil de téléchargement local 13 est adapté pour être raccordé au calculateur 14 à travers par exemple un réseau multiplexé de transmission d'informations embarqué à bord du véhicule comme par exemple de type CAN ou autres ou une ligne série K, désigné par la référence générale 15 sur cette figure.  It will be noted that the local downloading tool 13 is adapted to be connected to the computer 14 through, for example, an onboard multiplexed information transmission network on board the vehicle, for example of the CAN or other type, or a serial line K designated by the general reference 15 in this figure.

En fait, ce système permet die scinder les moyens de téléchargement en deux parties, à savoir une première partie dans le serveur sécurisé 10 contenant les éléments sensibles tels que par exemple la clef et une seconde partie dans l'outil de téléchargement local 13 contenant les organes non sensibles nécessaires à la communication avec le calculateur 14 à télécharger, et qui peut alors être accessible librement.  In fact, this system makes it possible to split the downloading means into two parts, namely a first part in the secure server 10 containing the sensitive elements such as for example the key and a second part in the local download tool 13 containing the non-sensitive organs necessary for communication with the computer 14 to download, and which can then be freely accessible.

Le procédé de téléchargement mis en oeuvre dans un tel système est illustré sur la figure 3, dans laquelle les transitions sont décrites dans le tableau suivant.  The downloading method implemented in such a system is illustrated in FIG. 3, in which the transitions are described in the following table.

TRANSITION ACTION REALISEE COMMENTAIRES  TRANSITION ACTION REALIZED COMMENTS

Transition 1 L'outil local initialise la communication avec le calculateur et lui demande de s'identifier Transition 2 Le calculateur transmet à l'outil Le calculateur possède son local son identification identification dans sa mémoire (il s'agit de références de type constructeur).  Transition 1 The local tool initializes the communication with the computer and asks it to identify itself Transition 2 The calculator transmits to the tool The calculator has its local identification identification in its memory (it is references of type constructor) .

Le numéro VIN véhicule sera également transmis pour la traçabilité de l'opération.  The VIN vehicle number will also be transmitted for the traceability of the operation.

Transition 3 L'outil local initialise la Chaque outil dispose d'une communication avec le serveur signature propre afin de et lui transmet l'identification permettre la traçabilité de reçue du calculateur ainsi que l'opération sa propre signature Transition 4 Le serveur demande à l'outil local de faire générer un nombre aléatoire au calculateur 2881905 7 Transition 5 L'outil local demande au calculateur de générer un nombre aléatoire Transition 6 Le calculateur retourne à l'outil local le nombre aléatoire généré Transition 7 L'outil local transmet au serveur le nombre aléatoire reçu de la part du calculateur Transition 8 Le serveur transmet à l'outil En fonction du nombre aléatoire local le résultat d'un calcul reçu, des algorithmes de protection de l'accès au code et de la CLEF présente dans le fichier à télécharger, le serveur calcule le résultat attendu par le calculateur Transition 9 L'outil local transmet le résultat reçu au calculateur Transition 10 Le calculateur transmet vers Le calculateur a effectué en l'outil local la réponse à la parallèle, le même calcul (mais demande de téléchargement en fonction de ses algorithmes, du nombre aléatoire généré et de la CLEF dont il dispose en mémoire).  Transition 3 The local tool initializes the Each tool has a communication with the own signature server in order to and transmits the identification allow the traceability of received from the calculator as well as the operation its own signature Transition 4 The server asks the local tool to generate a random number to the calculator 2881905 7 Transition 5 The local tool asks the calculator to generate a random number Transition 6 The calculator returns to the local tool the random number generated Transition 7 The local tool transmits to the server the random number received from the Transition 8 computer The server transmits to the tool According to the local random number the result of a received calculation, code access protection algorithms and the CLEF present in the file to download, the server calculates the result expected by the Transition 9 calculator The local tool transmits the result received to the Transition 10 calculator The calculator transmits towards the calculator has carried out in the local tool the answer to the parallel, the same computation (but request of download according to its algorithms, the random number generated and CLEF which it has in memory).

Il compare le résultat calculé en interne avec le résultat reçu et transmet: - une autorisation de télécharger le code applicatif si les deux résultats sont identiques.  It compares the result calculated internally with the result received and transmits: - an authorization to download the application code if the two results are identical.

2881905 8 - Un refus de téléchargement si les deux résultats sont différents.  2881905 8 - A refusal to download if the two results are different.

Transition 11 L'outil local transmet au serveur la réponse du calculateur Transition 12 Le serveur transfère le fichier à Par rapport à l'état de la télécharger dans l'outil local et technique, le fichier transmis trace cette opération. ne contient pas la CLEF permettant de calculer le résultat attendu par le calculateur après génération du nombre aléatoire.  Transition 11 The local tool transmits to the server the response of the Transition 12 calculator The server transfers the file to the state of the download in the local and technical tool, the transmitted file traces this operation. does not contain the KEY to calculate the expected result by the calculator after generating the random number.

Transition 13 L'outil local envoie un accusé Le mécanisme de traçabilité est de réception au serveur. détaillé par la suite.  Transition 13 The local tool sends an acknowledgment The traceability mechanism is received by the server. detailed later.

Transition 14 L'outil local émet les requêtes Ces transitions (14 et 15) se d'effacement de la mémoire et répètent jusqu'à ce que la de transfert du code logiciel totalité du fichier ait été vers le calculateur transmis.  Transition 14 The local tool emits requests These transitions (14 and 15) are erasing the memory and repeat until the transfer of the entire software code file has been to the transmitted computer.

Transition 15 Le calculateur acquitte les requêtes vers l'outil local' après contrôle de l'intégrité des données.  Transition The calculator acknowledges the requests to the local tool after checking the integrity of the data.

Transition 16 L'outil local transmet vers le Le calculateur vérifie la calculateur la demande mémoire dans laquelle il a d'autocontrôle du code reçu stocké les données reçues Transition 17 Le calculateur transmet vers - Si la vérification est l'outil local la réponse à la correcte, le calculateur demande d'autocontrôle donne son accord pour exécuter la suite de la 2881905 9 procédure - Si la vérification n'est pas correcte, il interrompt la procédure (le code reçu reste inactif).  Transition 16 The local tool transmits to the calculator checks the calculator the memory request in which it has to autocontrol the received code stored data received Transition 17 The calculator transmits to - If the verification is the local tool the response to the correct, the self-check calculator gives its agreement to execute the rest of the procedure - If the check is not correct, it interrupts the procedure (the code received remains inactive).

Transition 18 L'outil local transmet les Ces données vont constituer la données de marquage de nouvelle identification du l'opération contenu logiciel du calculateur (pour un éventuel autre téléchargement) Transition 19 Le calculateur acquitte la trame Le calculateur déclare que le de données reçues code reçu est valide et effectue un Reset pour le prendre en compte.  Transition 18 The local tool transmits These data will constitute the new identification marking data of the operation software contents of the calculator (for a possible other download) Transition 19 The calculator acknowledges the frame The calculator declares that the received data code received is valid and performs a Reset to take it into account.

On conçoit alors que grâce à un tel procédé, la clef nécessaire au déverrouillage du composant donnant accès au code, ne circule jamais sur les différents supports, à savoir le réseau Internet, le réseau multiplexé embarqué ou la liaison série K, ce qui garantit que celle-ci ne puisse pas être interceptée. Il en est de même pour les algorithmes de protection du code.  It is thus conceivable that, thanks to such a method, the key necessary for unlocking the component giving access to the code never circulates on the various supports, namely the Internet network, the embedded multiplexed network or the serial link K, which guarantees that it can not be intercepted. The same is true for code protection algorithms.

Ainsi, un fichier temporaire créé sur l'outil local ne contient pas la clef, ce qui permettrait par exemple à ce logiciel d'être téléchargé sur un calculateur après altération du code, comme ce serait le cas par une personne qui aurait intercepté le fichier et qui souhaiterait le réinjecter après modification par exemple de paramètres.  Thus, a temporary file created on the local tool does not contain the key, which would allow for example this software to be downloaded to a computer after code corruption, as would be the case by a person who would have intercepted the file and who would like to reinject it after modification, for example of parameters.

De plus, ce procédé et ce système permettent d'améliorer la traçabilité des opérations.  Moreover, this method and this system make it possible to improve the traceability of the operations.

En effet, ils permettent de pouvoir toujours fournir le bon fichier à 15 télécharger à une demande client.  Indeed, they allow to always be able to provide the correct file to 15 download a customer request.

Le mécanisme est alors le suivant: - en fonction de l'identification du logiciel en mémoire dans le calculateur, tel que déterminé par les informations d'identification, le serveur est toujours capable de savoir s'il dispose dans sa base de données, d'un logiciel plus récent strictement compatible. Il est alors parfaitement capable de sélectionner et de distribuer ce fichier.  The mechanism is then as follows: according to the identification of the software stored in the computer, as determined by the identification information, the server is still able to know if it has in its database, d a newer software strictly compatible. He is then perfectly able to select and distribute this file.

En analysant ce procédé et ce système, on s'aperçoit également qu'il 5 n'existe plus d'échange entre le serveur et l'outil local à partir des transitions 12 et 13 de la figure 3.  By analyzing this method and this system, it is also clear that there is no longer any exchange between the server and the local tool from the transitions 12 and 13 of FIG.

Ainsi, si le processus de téléchargement est interrompu lors des transitions suivantes, le serveur ne dispose plus de moyens de s'en apercevoir.  Thus, if the download process is interrupted during subsequent transitions, the server no longer has the means to notice.

De façon légitime, ce serveur va alors considérer que le logiciel embarqué à bord du véhicule en est à la version n+1, alors que le processus a été interrompu et qu'il n'existe plus de logiciel applicatif valide dans la mémoire du calculateur à ce moment là.  Legally, this server will then consider that the software on board the vehicle is at the version n + 1, while the process has been interrupted and that there is no longer valid application software in the memory of the calculator at this moment.

Dans un tel cas, le calculateur n'est plus fonctionnel et la seule fonction qu'il soit en mesure de réaliser est de se télécharger à nouveau.  In such a case, the calculator is no longer functional and the only function it is able to achieve is to download again.

En effet, tant que le calculateur n'a pas reçu les données de marquage de l'opération liée à la transition 18, avec les transitions précédentes franchies avec succès, il ne considère pas les données comme valides et ne peut donc pas utiliser ces données de marquage comme prochaine identification de la version logicielle n+1.  Indeed, as long as the computer has not received the marking data of the operation related to the transition 18, with the previous transitions successfully crossed, it does not consider the data as valid and can not therefore use these data. marking as the next identification of software version n + 1.

Ainsi, en cas de connexion ultérieure, l'identification du calculateur laisse apparaître une version logicielle à l'état n, qui est le dernier état valide connu et inscrit en mémoire, autorisant de ce fait le téléchargement de la version n+1.  Thus, in case of subsequent connection, the identification of the computer shows a software version in the n state, which is the last known valid state and stored in memory, thereby allowing the download of the n + 1 version.

Ceci permet alors de garantir que l'on est donc bien toujours en mesure de livrer le bon logiciel attendu par le calculateur d'un véhicule.  This then ensures that we are still able to deliver the right software expected by the calculator of a vehicle.

Un autre aspect de la traçabilité d'un tel procédé et d'un tel système est de permettre aux constructeurs de véhicules de tracer ce qui est assemblé sur les véhicules qu'ils produisent. Ceci n'est pas toujours le cas aujourd'hui. En effet, du fait que la mise à jour des logiciels est aujourd'hui réalisée en local, il :30 n'existe pas de réelle traçabilité archivée par les constructeurs.  Another aspect of the traceability of such a method and system is to allow vehicle manufacturers to trace what is assembled on the vehicles they produce. This is not always the case today. Indeed, because the updating of software is now performed locally, there: 30 no real traceability archived by the manufacturers.

Avec le procédé selon l'invention, un constructeur est en mesure de tracer par véhicule, à partir du numéro d'identification identifiant un véhicule unique, un historique de mise à jour dans une base de données et d'en tirer ainsi un retour d'expérience utilisable sans retraitement manuel.  With the method according to the invention, a manufacturer is able to trace by vehicle, from the identification number identifying a single vehicle, a history of update in a database and thus derive a return of usable experience without manual reprocessing.

2881905 11 Le constructeur peut alors fournir sur demande la composition logicielle d'un véhicule en circulation comme cela peut par exemple être exigé dans le cadre de l'application de la législation de certains pays.  The manufacturer may then provide on request the software composition of a vehicle in circulation as may for example be required in the context of the application of the legislation of certain countries.

De plus, il n'est pas non plus nécessaire de modifier la procédure de téléchargement déjà codée dans les calculateurs de véhicules, ceci ayant pour principal avantage de permettre de fonctionner avec l'ensemble des véhicules déjà commercialisés et ne pas imposer de surcoût de développement lié à la déstandardisation de la procédure connue des fournisseurs de calculateurs.  In addition, it is also not necessary to modify the download procedure already coded in the vehicle calculators, this having the main advantage of making it possible to operate with all the vehicles already on the market and not to impose additional development costs. related to the destandardization of the known procedure of the suppliers of calculators.

Cependant, ceci permet également de fonctionner avec l'ensemble des véhicules déjà commercialisés.  However, this also makes it possible to work with all the vehicles already on the market.

En effet, dans le cas où une nouvelle application serait mise en service pour les organes en développement, celle-ci ne pourrait bénéficier aux anciens véhicules vendus, que dans la mesure où l'on déciderait de les moderniser. Le coût associé à une telle opération risquerait en effet d'être dissuasif compte-tenu du fait que la procédure de téléchargement d'un calculateur n'est pas contenue dans le logiciel applicatif (celui qui est justement mis à jour par l'opération de téléchargement et qui sert par exemple, à faire fonctionner le moteur), mais dans le BOOT du calculateur qui n'est pas modifiable par des outils de constructeurs.  Indeed, in the case where a new application would be put into service for the bodies in development, it could benefit the old vehicles sold, only to the extent that one decides to modernize them. The cost associated with such an operation could indeed be dissuasive given the fact that the procedure for downloading a computer is not contained in the application software (the one that is precisely updated by the operation of download and which serves for example, to operate the engine), but in the BOOT of the calculator which is not modifiable by tools of manufacturers.

Bien entendu, d'autres modes de réalisation de l'invention encore peuvent être envisagés.  Of course, other embodiments of the invention may be envisaged.

2881905 122881905 12

Claims (5)

REVENDICATIONS 1. Système de téléchargement d'un fichier (11) dans un calculateur (14) embarqué à bord d'un véhicule automobile, caractérisé en ce qu'il comporte un serveur distant sécurisé (10), dans lequel est stocké le fichier à télécharger (11), raccordé par un réseau de transmission d'informations (12) à un outil de téléchargement local (13), adapté pour être raccordé au calculateur (14) du véhicule et muni de moyens d'échange d'informations avec le calculateur et le serveur distant.  1. System for downloading a file (11) into a computer (14) on board a motor vehicle, characterized in that it comprises a secure remote server (10), in which is stored the file to download (11), connected by an information transmission network (12) to a local downloading tool (13), adapted to be connected to the computer (14) of the vehicle and provided with information exchange means with the computer and the remote server. 2. Système selon la revendication 1, caractérisé en ce que le réseau de transmission d'informations (12) est un réseau de type Internet.  2. System according to claim 1, characterized in that the information transmission network (12) is an Internet type network. 3. Système selon la revendication 1 ou 2, caractérisé en ce que l'outil de téléchargement local (13) est adapté pour être raccordé au calculateur (14) à travers un réseau multiplexé de transmission d'informations (15) embarqué à bord du véhicule.  3. System according to claim 1 or 2, characterized in that the local downloading tool (13) is adapted to be connected to the computer (14) through a multiplexed information transmission network (15) on board the vehicle. 4. Système selon la revendication 1 ou 2, caractérisé en ce que l'outil de téléchargement local (13) est adapté pour être raccordé au calculateur (14) à travers une ligne série K (15) du véhicule.  System according to claim 1 or 2, characterized in that the local downloading tool (13) is adapted to be connected to the computer (14) through a serial line K (15) of the vehicle. 5. Procédé de téléchargement d'un fichier dans un calculateur embarqué à bord d'un véhicule automobile, pour la mise en oeuvre du système selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte les étapes suivantes (Fig. 3) : a) initialisation de la communication entre l'outil (13) et le calculateur (14) et émission par l'outil (13) d'une demande d'identification du calculateur (14) ; b) transmission par le calculateur (14) à destination de l'outil (13) de son identification; c) initialisation de la communication entre l'outil (13) et le serveur (10) et transmission par l'outil (13) à destination du serveur (10), de l'identification du calculateur (14) et de la signature de l'outil (13) ; d) requête adressée par le serveur (10) à l'outil (13) pour faire générer un nombre aléatoire au calculateur (14) ; e) requête par l'outil (13) au calculateur (14) de génération de ce nombre aléatoire; 2881905 13 f) génération et transmission par le calculateur (14) à destination de l'outil (13) du nombre aléatoire; g) transmission par l'outil (13) à destination du serveur (10) du nombre aléatoire généré par le calculateur (14) ; h) génération et transmission par le serveur (10) à destination de l'outil (13) d'un premier code de déverrouillage correspondant; i) transmission par l'outil (13) à destination du calculateur (14) de ce premier code; j) comparaison par le calculateur (14) de ce premier code avec un second code généré par celui-ci pour valider ou invalider le téléchargement du fichier (11), en cas de concordance ou de discordance entre les codes; k) transmission d'une information de validation ou d'invalidation du téléchargement du calculateur (14) vers l'outil local (13) ; I) transmission de cette information correspondante de l'outil local (13) vers le serveur (10) ; m) si le téléchargement est validé, transmission par le serveur (10) du fichier à télécharger (11) sur l'outil (13) et traçage de cette opération de téléchargement; n) envoi d'un accusé de réception du fichier (11) par l'outil (13) à destination du serveur (10) ; o) émission par l'outil (13) d'une requête d'effacement de la mémoire du calculateur (14) et émission du fichier (11) à télécharger; p) acquittement par le calculateur (14) de la requête d'effacement et de chaque requête de données reçues vers l'outil (13) après contrôle de l'intégrité des données; q) transmission par l'outil (13) à destination du calculateur (14) d'une demande d'autocontrôle des données reçues; r) mise en oeuvre de l'autocontrôle par le calculateur (14) et transmission par celui-ci à destination de l'outil (13) de la réponse 30 correspondante; et s) transmission par l'outil (13) de données de marquage de cette opération de téléchargement et acquittement par le calculateur (14) de la réception de celles-ci.  5. A method of downloading a file in an onboard computer on board a motor vehicle, for the implementation of the system according to any one of the preceding claims, characterized in that it comprises the following steps (Fig. 3): a) initialization of the communication between the tool (13) and the computer (14) and transmission by the tool (13) of an identification request of the computer (14); b) transmission by the computer (14) to the tool (13) of its identification; c) initialization of the communication between the tool (13) and the server (10) and transmission by the tool (13) to the server (10), the identification of the computer (14) and the signature of the tool (13); d) a request sent by the server (10) to the tool (13) to generate a random number to the computer (14); e) request by the tool (13) to the calculator (14) for generating this random number; F) generation and transmission by the computer (14) to the tool (13) of the random number; g) transmission by the tool (13) to the server (10) of the random number generated by the computer (14); h) generation and transmission by the server (10) to the tool (13) of a corresponding first unlocking code; i) transmission by the tool (13) to the computer (14) of this first code; j) comparison by the computer (14) of this first code with a second code generated by it for validating or invalidating the download of the file (11), in case of concordance or discrepancy between the codes; k) transmitting validation or invalidation information for downloading the calculator (14) to the local tool (13); I) transmitting this corresponding information from the local tool (13) to the server (10); m) if the download is validated, transmission by the server (10) of the file to download (11) on the tool (13) and tracing this download operation; n) sending an acknowledgment of the file (11) by the tool (13) to the server (10); o) transmission by the tool (13) of a request for erasure of the computer memory (14) and transmission of the file (11) to download; p) acknowledgment by the computer (14) of the erasure request and each request for data received to the tool (13) after checking the integrity of the data; q) transmission by the tool (13) to the computer (14) of a self-check request for the received data; r) implementation of the self-check by the computer (14) and transmission by it to the tool (13) of the corresponding response; and s) transmission by the tool (13) of marking data of this downloading operation and acknowledgment by the computer (14) of the reception thereof.
FR0501358A 2005-02-10 2005-02-10 METHOD AND SYSTEM FOR DOWNLOADING A FILE IN AN ON-BOARD CALCULATOR ON A MOTOR VEHICLE Expired - Fee Related FR2881905B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0501358A FR2881905B1 (en) 2005-02-10 2005-02-10 METHOD AND SYSTEM FOR DOWNLOADING A FILE IN AN ON-BOARD CALCULATOR ON A MOTOR VEHICLE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0501358A FR2881905B1 (en) 2005-02-10 2005-02-10 METHOD AND SYSTEM FOR DOWNLOADING A FILE IN AN ON-BOARD CALCULATOR ON A MOTOR VEHICLE

Publications (2)

Publication Number Publication Date
FR2881905A1 true FR2881905A1 (en) 2006-08-11
FR2881905B1 FR2881905B1 (en) 2009-04-10

Family

ID=35355610

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0501358A Expired - Fee Related FR2881905B1 (en) 2005-02-10 2005-02-10 METHOD AND SYSTEM FOR DOWNLOADING A FILE IN AN ON-BOARD CALCULATOR ON A MOTOR VEHICLE

Country Status (1)

Country Link
FR (1) FR2881905B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0682315A1 (en) * 1994-05-11 1995-11-15 Automobiles Peugeot Method of unlocking access to a computer using a remote file loading unit
EP1265418A2 (en) * 2001-06-08 2002-12-11 Peugeot Citroen Automobiles SA Downloading system onboard of a vehicle
EP1324197A1 (en) * 2001-12-31 2003-07-02 ROBERT BOSCH GmbH Method and installation for updating a program of a computer embedded in a motor vehicle
FR2837946A1 (en) * 2002-03-26 2003-10-03 Peugeot Citroen Automobiles Sa Remote loading of a file to a computer in a motor vehicle, compresses file before delivery to vehicle unit, which can decompress and load the file to the computer on the vehicle

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0682315A1 (en) * 1994-05-11 1995-11-15 Automobiles Peugeot Method of unlocking access to a computer using a remote file loading unit
EP1265418A2 (en) * 2001-06-08 2002-12-11 Peugeot Citroen Automobiles SA Downloading system onboard of a vehicle
EP1324197A1 (en) * 2001-12-31 2003-07-02 ROBERT BOSCH GmbH Method and installation for updating a program of a computer embedded in a motor vehicle
FR2837946A1 (en) * 2002-03-26 2003-10-03 Peugeot Citroen Automobiles Sa Remote loading of a file to a computer in a motor vehicle, compresses file before delivery to vehicle unit, which can decompress and load the file to the computer on the vehicle

Also Published As

Publication number Publication date
FR2881905B1 (en) 2009-04-10

Similar Documents

Publication Publication Date Title
CN105094901B (en) A kind of long-range method and diagnostic device of on line refreshable ECU after sale
US12087104B2 (en) Method, system, and device for diagnosing vehicle, and server
FR2805365A1 (en) REMOTE REPROGRAMMING SYSTEM FOR AT LEAST ONE COMPUTER OF AN ON-BOARD COMPUTER SYSTEM ON A MOTOR VEHICLE
US8035494B2 (en) Motor vehicle control device data transfer system and process
US11240211B2 (en) System and method to leverage EDR, ECU, CAN and OBD data from vehicles by means of blockchain technology
CN109976770B (en) ECU (electronic control Unit) flashing method and system and related equipment
CN110716538A (en) Vehicle diagnosis method, device, equipment and readable storage medium
EP0682315B1 (en) Method of unlocking access to a computer using a remote file loading unit
WO2018059964A1 (en) Method for the secured access of data of a vehicle
CN111831479A (en) Vehicle-mounted computer data recovery method and system
CN107026741A (en) Method and device is write with a brush dipped in Chinese ink in a kind of encryption based on network security
FR2881905A1 (en) File downloading system for logic controller of motor vehicle, has secured remote server connected by data transmission network to local downloading tool to be connected to logic controller of vehicle, by multiplex transmission network
CN118302745A (en) Software update management for vehicles
WO2021014064A1 (en) Method and device for updating software of an onboard computer of a vehicle, comprising a runtime memory, a backup memory and a control memory
FR3108191A1 (en) Method and device for updating software comprising physical addresses to the memory of an on-board computer of a vehicle
EP0939013A1 (en) Method of unlocking access to a computer using a remote file loading unit
EP3225007B1 (en) Method of communication between a production tool and a motor vehicle
FR2775372A1 (en) METHOD FOR VERIFYING THE CONSISTENCY OF INFORMATION DOWNLOADED IN A COMPUTER
WO2022064118A1 (en) Method and device for updating software of an onboard computer in a vehicle, comprising a runtime memory, a backup memory and a control memory
FR3099265A1 (en) Method and device for updating the software of an on-board computer of a vehicle, comprising an execution memory, a backup memory and a control memory
CN118449741A (en) Vehicle controller upgrading method and device, electronic equipment and storage medium
FR3100071A1 (en) Method and device for updating the software of an on-board computer of a vehicle, comprising an execution memory and a backup memory
FR3099264A1 (en) Method and device for updating the software of an on-board computer of a vehicle, comprising an execution memory and a backup memory
FR3111447A1 (en) Management of embedded software versions from a computer footprint
FR2928473A1 (en) Software's new version coherent download providing method for e.g. car, involves copying content portion of table into zone of memory to subsequently compare portion with same content portion of table from subsequent version of software

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20111102