EP3987741A1 - Support mémoire, procédé d'installation de composants informatiques au sein d'un vehicule et procédé de préparation d'un support mémoire - Google Patents
Support mémoire, procédé d'installation de composants informatiques au sein d'un vehicule et procédé de préparation d'un support mémoireInfo
- Publication number
- EP3987741A1 EP3987741A1 EP20731502.9A EP20731502A EP3987741A1 EP 3987741 A1 EP3987741 A1 EP 3987741A1 EP 20731502 A EP20731502 A EP 20731502A EP 3987741 A1 EP3987741 A1 EP 3987741A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- vehicle
- processing unit
- memory medium
- dpack1
- 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
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
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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
- H04L63/126—Applying verification of the received information the source of the received data
-
- 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/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/024—Guidance services
Definitions
- the present invention relates generally to the installation of computer components in vehicles, in particular motor vehicles.
- the present invention provides a memory medium comprising communication means capable of establishing communication with a processing unit of a vehicle and a memory in which are stored:
- metadata comprising, for at least one (and possibly for each) of said data structures, a reference digest associated with the data structure concerned;
- the data structures (which correspond, for example, respectively to different vehicle update campaigns) can be successively processed by the vehicle processing unit.
- This allows progressive updating of the vehicle, with a buffer memory area of smaller size (when such a buffer memory area is used to store each data structure) since only one data structure (corresponding to a single data structure). update campaign) will be processed at once.
- the metadata comprising the digest and the signature of this metadata also make it possible to ensure that the data structures have not been altered.
- At least one of said data structures contains two data packets respectively intended for two electronic equipment items of the vehicle;
- At least one of said structures comprises an equipment package associated with one of said computer components
- the equipment package includes a vehicle identifier.
- the invention also proposes a method for installing computer components in a vehicle, comprising the following steps:
- the data structure concerned can include an equipment package; the method can then further comprise, in the event of a positive comparison, a step of transmitting the equipment package to electronic equipment in the vehicle.
- the electronic equipment can then control the storage, in a non-volatile memory, of a computer component associated with the equipment package.
- the method may also include, in the event of a positive comparison, steps of transmitting each of the two data packets to the electronic equipment for which the data packet concerned is intended.
- the invention proposes a process for preparing a memory medium as proposed above, comprising the following steps:
- This method can include a step of receiving at least one computer component of said plurality independently of the step of receiving the set of data.
- Figure 1 shows schematically a system in which the invention can be implemented
- FIG. 2 represents a memory medium of the system of FIG. 1;
- FIG. 3 shows an example of the organization of data within a memory of the memory medium of FIG. 2;
- FIG. 4 shows an example of the architecture used for an update packet stored in this memory
- FIG. 5 schematically represents an example of a possible method for the preparation of an update packet to be recorded in the memory medium of FIG. 2;
- FIG. 6 schematically shows a method of preparing the memory medium of FIG. 2 with an organization of the data according to FIG. 3;
- FIG. 7 shows schematically an example of a method of installing computer components in a vehicle of Figure 1; and [0029] FIG. 8 shows an example of a method of installing computer components by means of an update package.
- the system of Figure 1 comprises a vehicle 2 (for example a motor vehicle) and a memory medium 20, such as a key connectable by universal serial bus (or USB key for "Universal Serial Bus"), or a memory card (for example an SD card, SD meaning "Secure Digitat '), or any other (removable) external memory device that can be connected locally to the vehicle 2.
- a vehicle 2 for example a motor vehicle
- a memory medium 20 such as a key connectable by universal serial bus (or USB key for "Universal Serial Bus"), or a memory card (for example an SD card, SD meaning "Secure Digitat '), or any other (removable) external memory device that can be connected locally to the vehicle 2.
- a memory medium 20 such as a key connectable by universal serial bus (or USB key for "Universal Serial Bus"), or a memory card (for example an SD card, SD meaning "Secure Digitat '), or any other (removable) external memory device that can be connected locally to the vehicle 2.
- the vehicle 2 comprises a processing unit 4, a first electronic control unit 6, a gateway 8 and a second electronic control unit 10.
- FIG. 1 There is shown in Figure 1 the elements of the vehicle 2 useful for understanding the invention, but the vehicle 2 naturally includes other elements in practice, in particular other electronic control units or computers.
- processing unit 4 first electronic control unit 6, gateway 8 and second unit control electronics 10
- processing unit 4 can each be implemented in practice in the form of a microprocessor architecture; in this context in particular, each of these electronic items of equipment comprises a processor and at least one memory (for example a random access memory and / or a non-volatile memory).
- the processing unit 4 can itself be implemented in practice by means of an electronic control unit, possibly having other functions than those described below.
- the processing unit 4 is connected to the first electronic control unit 6 and to the gateway 8 in order to be able to exchange data with these various electronic equipment.
- the processing unit 4, the electronic control unit 6 and the gateway 8 are for example connected to a (same) on-board computer network (not shown), for example a CAN bus (for "Controller Area Network) .
- the gateway 8 is also connected to the second electronic control unit 10, for example by means of a dedicated bus.
- the vehicle 2 further comprises a connector 12 connected to the processing unit 4 for connection to the memory medium 20, as explained below.
- the memory medium 20 comprises a memory 26 (for example a rewritable non-volatile memory) and communication means 22, 24 capable of establishing communication with the processing unit 4.
- a memory 26 for example a rewritable non-volatile memory
- communication means 22, 24 capable of establishing communication with the processing unit 4.
- these means of communication comprise a controller 24 and a connector 22 (for example a USB connector) which can be plugged into the connector 12 of the vehicle 2.
- the memory medium 20 When the connector 22 of the memory medium 20 is plugged into the connector 12 connected to the processing unit 4, the memory medium 20 is supplied electrically and communication is established between the processing unit 4 and the controller 24 .
- the processing unit 4 can request the reading of data stored in the memory 26: the controller 24 reads the requested data from the memory 26 and transmits the data read to the processing unit 4 via established communication.
- the processing unit 4 can request the writing of data in the memory 26 (at a particular location): the data to be written (and the chosen location) are transmitted from the processing unit 4 to the controller 24 via the established communication and the controller 24 writes these transmitted data in the memory 26 (at the chosen location).
- a public key infrastructure (or PKI for "Public Key Infrastructure") is set up.
- a public key intended to be distributed
- a private key kept secret by the signing entity
- a data set can be signed by applying, to this data set, a cryptographic signature algorithm (here of RSA type) using the private key concerned; the signature can then be verified by means of an associated cryptographic signature verification algorithm (here also of the RSA type), using the public key associated with the aforementioned private key.
- a cryptographic signature algorithm here of RSA type
- an associated cryptographic signature verification algorithm here also of the RSA type
- FIG. 3 shows an example of the organization of the data stored in the memory 26.
- These data include a plurality of DPACK1, DPACK2, DPACK3 update packets.
- each update packet DPACK1, DPACK2, DPACK3 is intended to be transmitted to the processing unit 4 of the vehicle 2 for the installation of at least one computer component at the within an electronic control unit (for example among the processing unit 4 itself, the first electronic control unit 6 and the second electronic control unit 10).
- the computer component to be installed can be included in the update package DPACK1, DPACK2, DPACK3 aimed at installing this computer component (as is the case in the example described below in reference to figure 4).
- the computer component COMP could however be stored in the memory 26 separately from the associated update packet, as schematically represented in dotted lines in FIG. 3.
- the data stored in the memory 26 also includes:
- TLS orchestration tools for example executable files or drivers
- HMI interface data possibly usable by the processing unit 4 for display on a user interface (not shown) of the vehicle 2.
- the orchestration performed by the TLS orchestration tool can for example include the sequencing and / or the scheduling of the operations to be implemented for the installation of the components, as well as possibly the management of the conditions of execution and / or errors appearing during execution and / or user exchanges (using the HMI interface data if necessary).
- the INDEX metadata comprises for example a description (such as a list) of the update packets DPACK1, DPACK2, DPACK3 and, for each update packet DPACK1, DPACK2, DPACK3 stored in the memory 26, a reference condensate associated with the update packet DPACK1, DPACK2, DPACK3 concerned (this reference condensate being obtained on the basis of the update packet concerned, for example by applying a hash function).
- the memory 26 can also store in practice the entry data blocks PREDAT1, PREDAT2, PREDAT3 associated respectively with the different update packets DPACK1, DPACK2, DPACK3.
- An introduction data block PREDAT1, PREDAT2, PREDAT3 associated with a given update packet DPACK1, DPACK2, DPACK3 contains for example a storage address of this given update packet in the memory 26 and / or data interfaces usable by the processing unit 4 for display on a user interface (not shown) of the vehicle 2 specifically when the processing unit 4 processes the given update packet.
- this architecture is based on a tree structure at several levels:
- the DPACK update package includes one or more ECUPACK1, ECUPACK2, ECUPACKn equipment package (s) relating (each) to electronic equipment of the vehicle 2;
- each ECUPACK equipment package includes data relating to one or more computer component (s) COMP1, COMP2, COMPi intended for a particular electronic equipment.
- the computer components COMP1, COMP2, COMPi can themselves be included in the concerned ECUPACK equipment package (that is to say here encapsulated within the tree structure) as shown in figure 4, or, as a variant, be located (in practice: stored) outside the DPACK update package.
- ROOT.cert root certificate containing ROOT.md metadata and a ROOT.Kpub public key associated with a ROOT.Kpriv private key;
- CA.cert authority certificate containing CA.md metadata, a CA.Kpub public key and a CA.sig signature;
- a private key CA.Kpriv is associated with the public key CA.Kpub.
- a private key R.Kpriv is associated with the public key R.Kpub.
- the CA.sig signature of the CA.cert authority certificate is obtained by applying a cryptographic signature algorithm using the private key ROOT.Kpriv to the set formed of the CA.md metadata and the public key CA.Kpub (this operation being performed for example by a certification authority).
- the signature R.sig of the manufacturer certificate R.cert is for its part obtained by applying a cryptographic signature algorithm using the private key CA.Kpriv to the set formed of the metadata R.md and of the public key R. Kpub (this operation can also be carried out by the aforementioned certification).
- Each COMP computer component to be installed comprises:
- COMPIND manifesto containing in particular a digest H (CONTEN) of the content to be installed and possibly a description of the computer component, for example a description of the functions updated by this component;
- These data to be installed can constitute software or part of software (for example a software update). This software or this part of software is then designed to be executed at least in part by a processor of the electronic equipment concerned. As a variant, these data to be installed can be data to be stored (for example map data) for subsequent manipulation by a processor of the electronic equipment concerned.
- the H hash (CONTEN) is obtained by applying a hash function (for example of the SHA-256 type) to the CONTEN content.
- a hash function for example of the SHA-256 type
- the SIG (COMPIND) signature is obtained by applying to the COMIND manifesto a cryptographic signature algorithm using the private key BK.Kpriv.
- Each package of ECUPACK equipment includes here:
- an ECUPACKIND manifest comprising a hash H (COMP1), H (COMP2), H (COMPi) for each of the computer components COMP1, COMP2, COMPi contained in the ECUPACK equipment package, as well as possibly a vehicle identifier VIN and / or a description of the computer components COMP1, COMP2, COMPi contained in the package;
- VIN identifier in the ECUPACK equipment package, as mentioned above, makes it possible to ensure that the computer component installed in the electronic equipment (for example a vehicle computer) is indeed the component assigned to this vehicle. Indeed, a component could very well be suitable for a multitude of vehicles of the same type, offering the possibility to a user, for example, of replacing a computer of his vehicle with a computer of another vehicle of the same type.
- the inclusion of the VIN identifier in the ECUPACK equipment package makes it possible to prevent this manipulation.
- the vehicle identifier VIN could be placed within the DPACKIND manifesto described below.
- the equipment package ECUPACK to the electronic equipment concerned only in the event of a positive comparison between the identifier VIN received within the manifest DPACKIND and the identifier of the vehicle 2 as stored (here within the processing unit 4).
- the VIN identifier can be placed both in the DPACKIND manifesto and in the ECUPACKIND manifesto.
- the VIN identifier may not be placed in either of the two DPACKIND or ECUPACKIND manifests, in particular for a computer component compatible with any vehicle, such as for example a computer component comprising map data from a navigation system.
- VIN vehicle Identification NumbeT
- the condensates H (COMP1), H (COMP2), H (COMPi) are respectively obtained by applying a hash function (for example of SHA-256 type) to the data constituting the computer component COMP1, COMP2, COMPi concerned, for example when defining the ECUPACK equipment package (depending on the needs of the equipment concerned, in particular the updating needs of this equipment).
- a hash function for example of SHA-256 type
- the SIG (ECUPACKIND) signature is obtained by applying to the ECUPACKIND manifesto a cryptographic signature algorithm using the private key R.Kpriv (associated with the manufacturer certificate R.cert).
- the SIG signature (ECUPACKIND) is for example contained in a dedicated field of the ECUPACK equipment package, for example a field in cms format (for "Syntax Message Cryptography").
- this field can include the SIG signature (ECUPACKIND), the CA.cert authority certificate and the R.cert manufacturer certificate.
- the DPACK update package includes:
- a DPACKIND manifest including in particular a hash H (ECUPACK1), H (ECUPACK2), H (ECUPACKn) for each of the equipment packages ECUPACK1, ECUPACK2, ECUPACKn contained in the DPACK update package, as well as possibly a description equipment packages ECUPACK1, ECUPACK2, ECUPACKn contained in the DPACK update package (with for example an indication, for each equipment package ECUPACK1, ECUPACK2, ECUPACKn, of the electronic equipment recipient of the equipment package concerned );
- the condensates H (ECUPACK1), H (ECUPACK2), H (ECUPACKn) are respectively obtained by applying a hash function (for example of SHA-256 type) to the equipment package ECUPACK2, ECUPACK2, ECUPACKn concerned , for example when defining the DPACK update package (after defining the targeted electronic devices and the respective needs of each of these devices).
- a hash function for example of SHA-256 type
- the SIG (DPACKIND) signature is obtained by applying to the DPACKIND manifesto a cryptographic signature algorithm using the private key R.Kpriv (associated with the manufacturer certificate R.cert).
- the SIG signature (DPACKIND) is for example contained in a dedicated field of the DPACK update packet, for example a field at cms format (for "Cryprographic Message Syntax").
- this field can include the SIG signature (DPACKIND), the CA.cert authority certificate and the R.cert manufacturer certificate.
- each of the computer components COMP1, COMP2, COMPi is independent of the vehicle 2 targeted by the installation (and can for example be used for a fleet of vehicles) .
- the equipment packages ECUPACK1, ECUPACK2, ECUPACKn can however be specifically designed for vehicle 2 (especially when the EUCPACKIND manifest contains the vehicle VIN identifier).
- FIG. 5 schematically represents an example of a method that can be envisaged for the preparation of a DPACK update packet to be recorded within the memory medium 20.
- first structure C typically an establishment of the automobile manufacturer
- second structure G typically a dealer or a garage
- the method of FIG. 5 comprises a step E0 during which computer components COMP1, COMP2, COMPi, COMPx are transmitted from the first structure C to the second structure G, where these computer components COMP1, COMP2, COMPi, COMPx are stored in a storage module S of the second structure G (for example a hard disk located in the premises of the second structure G).
- This transmission is for example carried out via one or more computer network (s), for example via a wide area network such as the Internet, and can be encrypted.
- the computer components COMP1, COMP2, COMPi, COMPx thus transmitted are various computer components capable of being used during updates of vehicles within the second structure G. As already indicated, these computer components COMP1, COMP2, COMPi, COMPx are not designed for a particular vehicle, but each of these computer components COMP1, COMP2, COMPi, COMPx can on the contrary be used for a fleet of vehicles.
- the transmission of step EO can thus in practice be carried out in advance, that is to say before a possible visit of a vehicle within the second structure G (dealer or garage). This makes it possible to limit the volume of downloads to be carried out when the vehicle is present within the second structure G (see the transmission of step E10 described below).
- the transmission of step EO can thus possibly be carried out at times when the available bandwidth is high, for example at night.
- step EO is represented in the form of a single step
- the different computer components COMP1, COMP2, COMPi, COMPx can be transmitted separately, at different times and moreover independently.
- the method of FIG. 5 also comprises a step E2 of defining the updating needs of a particular vehicle, here the vehicle 2, that is to say a step of selecting computer components COMP1, COMP2 , COMPi to be installed in this vehicle 2.
- the condensates H (COMP1), H (COMP2), H (COMPi) respectively associated with these computer components COMP1, COMP2, COMPi can thus be prepared (or read in memory).
- the ECUPACKIND manifest of the concerned ECUPACK equipment package can therefore be constructed in step E4, in particular by combining the aforementioned condensates H (COMP1), H (COMP2), H (COMPi) and the identifier VIN of vehicle for vehicle 2 in which the computer components COMP1, COMP2, COMPi must be installed.
- the method then comprises a step E6 during which the SIG signature (ECUPACKIND) is obtained by applying to the ECUPACKIND manifesto a cryptographic signature algorithm using the private key R.Kpriv (associated with the manufacturer certificate R.cert) .
- the ECUPACK equipment package can thus be constructed by combining the ECUPACKIND manifesto and the SIG signature (ECUPACKIND), as well as possibly the computer components COMP1, COMP2, COMPi themselves (even if these computer components COMP1, COMP2 , COMPi will not ultimately be transmitted during step E10 as explained below).
- the method of Figure 5 then comprises a step E8 of preparation the DPACK update package based in particular on the ECUPACK equipment package constructed in step E8, a DPACKIND manifest comprising a digest for each equipment package included in the DPACK update package, and d 'a SIG signature (DPACKIND), in accordance with what has been described above with reference to FIG. 4.
- the method of FIG. 5 then comprises a step E10 of transmitting the DPACK update packet, without the computer components COMP1, COMP2, COMPn, from the first structure C to the second structure G.
- This transmission is for example carried out via one or more computer network (s), for example via a wide area network such as the Internet, and can be encrypted.
- the computer components are integrated into the DPACK update packet, the computer components are thus deleted from the DPACK update packet before transmission to the second structure G.
- the DPACK update packet is therefore received within the second structure G in step E12, without the computer components COMP1, COMP2, COMPi.
- a computer present in the second structure G consults for example, for each package of ECUPACK equipment, the description of the computer components COMP1, COMP2, COMPi referred to in this package of ECUPACK equipment (this description may be part of the ECUPACKIND manifesto as explained above) and reads on this basis the computer components COMP1, COMP2, COMPi in the storage module S.
- data designating these components computer COMP1, COMP2, COMPi can be attached to the transmission performed during step E10.
- a computer present in the second structure G can use these appended data in order to determine which computer components COMP1, COMP2, COMPi must be read in the storage module S.
- the DPACK update package including the computer components COMP1, COMP2, COMPi can thus be reconstructed in step E16.
- the DPACK update package and the computer components COMP1, COMP2, COMPi can thus be written into the memory 26 of the device. memory medium 20 in step E18.
- an operator connects, for example, the memory medium 20 to the aforementioned computer (present in the second structure G) and initiates (by means of this computer) a write operation of the update packet DPACK (received at step E12 without computer component) and computer components (read in the storage module S in step E14) within the memory 26.
- FIG. 6 schematically presents a process for preparing the memory medium 20 with an organization of the data as proposed in FIG. 3 described above.
- Such a method can be implemented within the second structure G (dealer or garage) introduced in the context of FIG. 5, for example by means of a computer located in this second structure G and to which the support memory 20 is connected.
- this method could be implemented on several sites depending on the step concerned, for example on a design site of the vehicle manufacturer for steps E20 to E26 and on a production site (or alternatively at a particular) for step E28.
- each DPACK1 update package; DPACK2, DPACK3 corresponds for example to an update campaign for vehicle 2 and can thus contain computer components relating respectively to various electronic equipment items of the vehicle 2 (as is the case for the DPACK update package in FIG. 4).
- a method such as that described above with reference to FIG. 5 can be used to obtain at least one DPACK1 update packet. ; DPACK2; DPACK3 and step E20 then corresponds to step E16 described above, where the update packet is reconstructed from data received at step E12 and from computer components read in a local storage module S at l 'step E14.
- steps similar to steps E2 to E8 described above are used, for example, to obtain at least one update packet.
- Step E20 can further include the preparation of the input data blocks PREDAT1, PREDAT2, PREDAT3 respectively associated with the update packets DPACK1, DPACK2, DPACK3 as described above.
- the method of FIG. 6 then comprises a step E22 for preparing additional elements, such as for example the TLS orchestration tools and the HMI interface data.
- the method of FIG. 6 then comprises a step E24 of preparing the INDEX metadata on the basis of the various update packets DPACK1, DPACK2, DPACK3 (as well as on the basis of the other elements contained in the memory 26 of which one wants to ensure integrity and authenticity, especially here the introduction data PREDAT1, PREDAT2, PREDAT3, the TLS orchestration tools and the HMI interface data).
- step E24 comprises in particular, for each update packet DPACK1; DPACK2; DPACK3, calculating a hash (referred to as “reference hash” in the following) by applying a hash function (for example of SHA-256 type) to the update packet DPACK1; DPACK2; DPACK3 concerned.
- step E24 further comprises the calculation of a digest for each of the other aforementioned elements, here the input data PREDAT1, PREDAT2, PREDAT3, the TLS orchestration tools and the HMI interface data. The condensates thus calculated are integrated into the INDEX metadata.
- the method of FIG. 6 finally comprises a step E26 for producing the signature SIG (INDEX) by application to the INDEX metadata of a cryptographic signature algorithm using a private key Kpriv.
- this private key can be the private key R. Kpriv already mentioned (and associated with the manufacturer certificate R.cert).
- step E26 in particular is preferably carried out within the first structure C.
- a dedicated private key can however be used as a variant (in particular when step E26 is carried out outside the first structure C, for example when this step E26 in particular is carried out within the second structure G as envisaged below).
- the method of FIG. 6 can thus be completed by writing the data obtained and prepared during steps E20 to E26 (as has just been described) in the memory 26 of the memory medium 20, which makes it possible to obtain a memory 26 organized as shown in FIG. 3 and described above.
- the memory 26 stores a plurality of update packets DPACK1, DPACK2, DPACK3 which may for example correspond in practice to several update campaigns for the vehicle 2.
- this computer has for example implemented steps E22 to E26 and can control the writing of data in the memory 26 at step E28.
- steps E20 to E26 when steps E20 to E26 are implemented within a site of the manufacturer, the data obtained and prepared during steps E20 to E26 can be downloaded to a personal computer located at a particular and written in the memory 26 of the memory medium 20 connected to this personal computer.
- Figure 7 shows schematically an example of a method of installing computer components in the vehicle 2.
- This method starts at step E30 by inserting the memory medium 20 into the connector 12 fitted to the vehicle 2 as described above with reference to FIG. 1.
- This insertion step can be carried out in practice by a operator or vehicle owner 2.
- communication is then established between the processing unit 4 and the controller 24 so that the processing unit 4 can in particular read data in the memory 26 of the memory medium 20.
- the processing unit 4 can thus read in step E32 the INDEX metadata and the SIG signature (INDEX) stored in the memory 26 (as well as possibly the TLS orchestration tools and / or the data from HMI interface).
- the INDEX metadata and the SIG signature (INDEX) are thus transferred (in practice recopied) from the memory medium 20 to the processing unit 4.
- the processing unit 4 can then verify in step E34 that the signature SIG (INDEX) actually corresponds to the INDEX metadata, in practice by applying to the INDEX metadata and to the SIG signature (INDEX) a cryptographic verification algorithm.
- the public key Kpub is for example stored in the processing unit 4 during the manufacture of the vehicle 2 (or alternatively after downloading into the processing unit 4 by means of a telematics module, not shown).
- the method of FIG. 7 enters a loop for successive processing of the various update packets DPACK1, DPACK2, DPACK3, the update packet being processed. being designated DPACKn in the following.
- the processing which follows can optionally be implemented using the TLS orchestration tools, for example by following a scheduling (or sequencing) of the blocks of introduction data PREDAT1, PREDAT2, PREDAT3 and / or DPACK1, DPACK2, DPACK3 update packets defined by the TLS orchestration tools and / or by implementing additional actions defined by the TLS orchestration tools and / or by execution (by the processing unit 4) of executable data contained in the TLS orchestration tools.
- the processing unit 4 reads in step E36 (in the memory 26) the entry data block PREDATn associated with the current update packet DPACKn, then reads (possibly using data from the data introduction PREDATn read) the current update packet DPACKn in memory 26.
- the current DPACKn update packet is copied (during this step E36) into a buffer memory area (for example dedicated) of the processing unit 4.
- a buffer memory area for example dedicated
- the subsequent processing steps E38 and E40
- the subsequent processing can be performed using the data stored in the buffer memory area, without interaction between the processing unit 4 and the memory medium 20 (tearing of the memory medium 20 from the connector 12 therefore not preventing the continuation of the current update).
- the use of a plurality of DPACK1, DPACK2, DPACK3 update packets is particularly advantageous in this case since each DPACK1 packet; DPACK2; DPACK3 can be individually designed to contain in the buffer memory area, while all of the update data (i.e.
- the copy of the current update packet DPACKn in a buffer memory area of the processing unit 4 is also advantageous because an attacker cannot alter the data there after checking their integrity (step E38 described below). below).
- the processing unit 4 checks in step E38 that the reference hash included in the INDEX metadata and associated with the current update packet DPACKn actually corresponds to the current update packet DPACKn read in the memory 26 (in order to verify that these data have not been altered). In practice, the processing unit 4 applies the aforementioned hash function to the current update packet DPACKn and compares the result thus obtained with the reference hash included in the INDEX metadata and associated with the current update packet DPACKn.
- step E38 If there is no verification at step E38, the update packet current DPACKn is not used to perform an update at step E40 as described below.
- step E38 If the verification of step E38 is correctly carried out, the processing unit 4 proceeds to step E40 to install the computer components associated with the current update package DPACKn.
- step E40 An example of the implementation of this step is described below with reference to Figure 8.
- the processing unit 4 determines in step E42 a status associated with the update by means of the current update packet DPACKn (and for example stores this status in random access memory). For example, when the update has taken place correctly in step E40, the status thus determined is representative of correct operation; conversely, when the update of step E40 could not be carried out (for example in the absence of verification in step E38) or did not take place correctly, the determined status is representative of an error.
- the processing unit 4 determines in step E44 whether all the DPACK1, DPACK2, DPACK3 update packets have been processed.
- step E36 for processing another update packet as the current update packet DPACKn.
- step E46 the processing unit 4 writes in the memory 26 the successively determined statuses (during the passages to step E42) for the updates respectively. carried out by means of the various update packages DPACK1, DPACK2, DPACK3.
- the processing unit 4 can optionally also produce a signature of all of these statuses (by applying to all the statuses of a cryptographic signature algorithm using a private key stored in the processing unit 4) and write this signature (in association with the statutes) in memory 26.
- the processing unit 4 can then control in step E48 the display on a user interface (not shown) of the vehicle 2 of a message indicating that the memory medium 20 can be removed from the connector 12.
- the operator or the owner of the vehicle, if applicable) can then disconnect the memory medium 20 from the connector 12.
- FIG. 8 shows an example of a method of installing computer components in the vehicle 2 by means of a DPACK update package (such as the current update package DPACKn during step E40 described this- above).
- processing unit 4 can process the DPACK update packet (as described below) or because the DPACK update packet has been copied into a zone buffer memory of the processing unit 4, or (directly) by reading data within the DPACK update packet stored in the memory 26 of the memory medium 20 (see the explanations relating to step E36 on this subject ).
- step E50 the processing unit 4 then proceeds to step E50 to verify the manufacturer's certificate R.cert (which notably contains the public key R.Kpub used below to verify signatures).
- the R.cert certificate is here contained in a field in cms format of the DPACK update package.
- a cryptographic signature verification algorithm is applied using the public key CA.Kpub to the signature R.sig and to the signed data (here the metadata R.md and the public key R .Kpub).
- the public key CA.Kpub is part of the CA.cert certificate, also contained here in the field in the above-mentioned CMS format.
- step E42 In the absence of verification (that is to say in the event of an inequality at the step of comparing the aforementioned condensate and the aforementioned result), the installation process is terminated (the determined status in step E42 described above being in this case a descriptive error status).
- the processing unit can verify whether the R.cert certificate has not expired by comparing the date and time at the relevant time to the expiration dates and times mentioned in the R.md metadata.
- step E42 the installation process is terminated (the status determined in step E42 described above being in this case a descriptive error status).
- step E52 the processing unit 4 proceeds to step E52 to verify the authority certificate CA.cert (which notably contains the public key CA.Kpub used as described above).
- the CA.cert certificate is here contained in a field in cms format of the DPACK update package.
- a cryptographic signature verification algorithm is applied using the public key ROOT.Kpub to the CA.sig signature and to the signed data (here the CA.md metadata and the key public CA.Kpub).
- a digest of the signed data is compared with the result obtained by applying to the signature CA.sig a cryptographic algorithm (here of the RSA type) using the public key ROOT.Kpub.
- ROOT.Kpub is for example stored (during the manufacture of the processing unit 4) in a non-volatile memory of the processing unit 4.
- step E42 the installation process is terminated (the determined status in step E42 described above being in this case a descriptive error status).
- the processing unit can verify whether the CA.cert certificate has not expired by comparing the date and time at the relevant time to the expiration dates and times mentioned in the CA.md metadata.
- step E42 the installation process is terminated (the status determined in step E42 described above being in this case a descriptive error status).
- the validity of the ROOT.cert root certificate can be checked in the same way by comparing the date and time at the given moment with the expiration dates and times of the ROOT.cert root certificate mentioned in the ROOT.md metadata.
- step E42 If the certificate has expired, the installation process is terminated (the status determined in step E42 described above being in this case a descriptive error status).
- step E54 the processing unit 4 checks in step E54 certain parts of the DPACK update packet.
- the processing unit checks in particular at step E54 the integrity of the DPACKIND manifest (included in the DPACK update package).
- the processing unit applies a cryptographic signature verification algorithm using the public key R.Kpub to the SIG (DPACKIND) signature and to the DPACKIND manifesto.
- DPACKIND public key
- a cryptographic algorithm here of RSA type
- step E42 In the absence of verification (that is to say in the event of an inequality at the step of comparing the aforementioned condensate and the aforementioned result), the installation process is terminated (the determined status in step E42 described above being in this case a descriptive error status).
- step E54 the installation process can continue with the processing of the various equipment packages ECUPACK1, ECUPACK2, ECUPACKn as explained now.
- the processing unit 4 begins this processing by the implementation in step E55 of a verification of the content of the equipment package ECUPACKn concerned, for example by comparing the hash H (ECUPACKn) contained in the manifest DPACKIND and a hash obtained by applying the hash function (here SHA256) to the equipment packet ECUPACKn read in memory 26.
- a verification of the content of the equipment package ECUPACKn concerned for example by comparing the hash H (ECUPACKn) contained in the manifest DPACKIND and a hash obtained by applying the hash function (here SHA256) to the equipment packet ECUPACKn read in memory 26.
- step E55 In the event of a positive verification at step E55 (that is to say in the event of equality between the hash H (ECUPACKn) of the DPACKIND manifesto and the hash obtained on the basis of the equipment package ECUPACKn read ), the processing unit 4 transmits at step E56 the equipment package ECUPACKn to the equipment electronics concerned.
- This electronic equipment is one of the electronic equipment responsible for installing computer components, here the first electronic control unit 6 and / or the gateway 8.
- Each ECUPACK equipment packet contains the data from the DPACK update packet intended for a particular electronic equipment item (here the first electronic control unit 6 or gateway 8), that is to say the data from the packet d ECUPACKn equipment intended for this electronic equipment (with or without the computer components COMP1, COMP2, COMPi themselves depending on the embodiment concerned).
- step E56 the computer components COMP1, COMP2, COMPi associated with the ECUPACKn equipment package are also transmitted on this occasion (step E56) from the processing unit 4 (which reads these computer components in the memory 26) to the electronic equipment concerned (first electronic control unit 6 and / or gateway 8).
- Each electronic item of equipment concerned (from among a plurality of electronic items of equipment) thus receives an equipment package ECUPACK at step E58 (and possibly also the associated computer components COMP1, COMP2, COMPi, when these are separated. of the ECUPACK equipment package).
- the following describes the implementation of the method for such electronic equipment (here first electronic control unit 6 or gateway 8), similar steps however being implemented in practice for other electronic equipment receiving a package of equipment. ECUPACK.
- the electronic equipment (either here the first electronic control unit 6 or the gateway 8) can then optionally implement in step E60 a step of verifying the manufacturer certificate R.cert and the authority certificate CA .cert. It is recalled that in the example described here, these R.cert and CA.cert certificates are part of a cms type field of the ECUPACK equipment package.
- step E60 (performed by the electronic equipment 6, 8 concerned) are similar to that performed in steps E50 and E52 described. above by the processing unit 4, and will therefore not be described in detail here.
- step E60 In the absence of verification in step E60, the installation process within the equipment 6, 8 concerned is terminated. An error message can also be sent to the processing unit 4 (so that the processing unit 4 is informed of this problem when determining the status in step E42 described above, for example).
- step E60 the electronic equipment 6, 8 concerned proceeds to step E62 to verify the integrity of the ECUPACKIND manifest (received within the equipment package ECUPACKIND).
- the electronic equipment 6, 8 concerned applies a cryptographic signature verification algorithm using the public key R.Kpub to the SIG signature (ECUPACKIND) and to the ECUPACKIND manifest.
- a digest of the ECUPACKIND manifesto is compared with the result obtained by applying to the SIG signature (ECUPACKIND) a cryptographic algorithm (here of RSA type) using the public key R.Kpub. (Remember that the validity of the R.cert certificate containing the public key R.Kpub was verified in step E60.)
- the installation process is terminated at the level of the the electronic equipment 6, 8 concerned, possibly with sending of an error message to the processing unit 4 (so that the processing unit 4 is informed of this problem when determining the status at step E42 described above, for example).
- step E62 In the event of a positive verification at step E62 (that is to say in the event of equality at the step of comparing the aforementioned condensate and the aforementioned result), the electronic equipment 6, 8 concerned verifies at step E64 if the VIN identifier of the vehicle 2 included in the ECUPACKIND manifest corresponds (i.e. in practice is equal) to the VIN identifier of the stored vehicle 2 (for example in a non-volatile memory ) within the electronic equipment 6, 8.
- step E64 In the event of a positive verification at step E64 (that is to say in the event of equality between the VIN identifier indicated in the ECUPACKIND manifest and the stored identifier), the installation can continue at step E62 described now.
- the electronic equipment 6, 8 checks this computer component COMPi.
- the electronic equipment 6, 8 compares the hash H (COMPi) contained in the ECUPACKIND manifesto and a hash obtained by applying the hash function (here SHA256) to the component COMPi computer received. (Remember that the integrity of the ECUPACKIND manifesto was checked in step E62.)
- step E66 In the event of a positive verification at step E66 (that is to say in the event of equality between the hash H (COMPi) contained in the ECUPACKIND manifest and the hash obtained), the verification of the computer component COMPi continues at step E68.
- the electronic equipment 6, 8 then checks in step E68 the integrity of the COMPIND manifest of the computer component COMPi.
- the electronic equipment 6, 8 concerned applies a cryptographic signature verification algorithm using the public key BK.Kpub to the signature SIG (COMPIND) and to the COMPIND manifest.
- COMPIND signature SIG
- COMPIND manifest a digest of the COMPIND manifesto and the result obtained by application to the SIG signature (COMPIND) of an algorithm cryptographic (here RSA type) using the public key BK.Kpub.
- the public key BK.Kpub is for example stored in a non-volatile memory of the electronic equipment 6, 8 concerned.
- the electronic equipment 6, 8 compares the hash H (CONTEN) contained in the COMPIND manifest and a hash obtained by applying the hash function (here SHA256) to the CONTEN content of the received computer component COMPi.
- a step E70 can then be provided for waiting for the thermal engine to be put into operation, which makes it possible in practice to ensure that (thanks to the load by means of the alternator) the power supply is at a nominal level and / or can respond to a current demand and / or that all electronic equipment is in operation and / or that the COMPi computer component can be correctly installed in the relevant electronic equipment).
- an additional electric power supply can be used (for example in parallel with the battery of the vehicle), so that step E70 is optional.
- step E72 the installation of the computer component COMPi, this is that is to say, the storage of the computer component COMPi in a non-volatile (rewritable) memory with a view to its subsequent use.
- the installation of the computer component COMPi is carried out within the electronic equipment itself (here the first electronic control unit 6) which has set up. performs the preliminary verification steps E60 to E68 described above.
- the electronic equipment here the gateway 8
- the electronic equipment responsible for the installation, and having in this context performed the preliminary verification steps E60 to E68, command the installation of the computer component COMPi within another electronic device, here the second electronic control unit 10.
- the gateway 8 thus controls, for example, the storage of the computer component COMPi in a non-volatile (rewritable) memory of the second electronic control unit 10.
- a step E74 can be used to wait for the operation of the heat engine to stop.
- the processing unit 4 displays on a user interface (for example a screen placed in the passenger compartment vehicle 2) an indication that computer components have been installed and are ready to be used (step E76).
- a user interface for example a screen placed in the passenger compartment vehicle 2
- the processing unit 4 then waits at step E78 for a response from the user (for example the driver of the vehicle 2), for example via the aforementioned user interface (possibly the aforementioned screen when this screen is displayed. touch).
- step E72 In the event of a negative response from the user, the component (s) computer (s) installed in step E72 is (are) not used.
- the processing unit 4 transmits, to the various electronic equipment items concerned (here the first electronic control unit 6 and, via the gateway 8, the second electronic control unit 10), a CMD command for activating the computer components installed (step E80).
- instructions included in the relevant computer component can then be executed by the processor of the electronic equipment 6, 10 in which the computer component has been installed.
- data included in the relevant computer component can be manipulated by the processor of the electronic equipment 6, 10 in which the computer component has been installed.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1906551A FR3097662B1 (fr) | 2019-06-18 | 2019-06-18 | Support mémoire, procédé d’installation de composants informatiques au sein d’un véhicule et procédé de préparation d’un support mémoire |
| PCT/EP2020/066430 WO2020254221A1 (fr) | 2019-06-18 | 2020-06-15 | Support mémoire, procédé d'installation de composants informatiques au sein d'un vehicule et procédé de préparation d'un support mémoire |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP3987741A1 true EP3987741A1 (fr) | 2022-04-27 |
Family
ID=68072734
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP20731502.9A Pending EP3987741A1 (fr) | 2019-06-18 | 2020-06-15 | Support mémoire, procédé d'installation de composants informatiques au sein d'un vehicule et procédé de préparation d'un support mémoire |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP3987741A1 (fr) |
| FR (1) | FR3097662B1 (fr) |
| WO (1) | WO2020254221A1 (fr) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9141372B1 (en) * | 2014-06-20 | 2015-09-22 | GM Global Technology Operations LLC | Secure and interruptible transfer of a map update package to a navigation device |
| US10171478B2 (en) * | 2016-06-30 | 2019-01-01 | Faraday & Future Inc. | Efficient and secure method and apparatus for firmware update |
-
2019
- 2019-06-18 FR FR1906551A patent/FR3097662B1/fr active Active
-
2020
- 2020-06-15 WO PCT/EP2020/066430 patent/WO2020254221A1/fr not_active Ceased
- 2020-06-15 EP EP20731502.9A patent/EP3987741A1/fr active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2020254221A1 (fr) | 2020-12-24 |
| FR3097662A1 (fr) | 2020-12-25 |
| FR3097662B1 (fr) | 2023-01-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11119757B2 (en) | System and method for remote ECU reprogramming | |
| US11283601B2 (en) | Update management method, update management system, and non-transitory recording medium | |
| US12190092B2 (en) | Control device and terminal device | |
| EP2130184A2 (fr) | Systeme et procede de gestion de donnees en provenance et a destination d'un vehicule automobile | |
| CN1549959B (zh) | 提供由车辆控制设备所使用的软件的方法 | |
| EP2279581A1 (fr) | Procede de diffusion securisee de donnees numeriques vers un tiers autorise | |
| FR2922702A1 (fr) | Securisation de fichiers informatiques telechargeables sur un aeronef basee sur l'identite d'entites, procede d'authenfication, systeme et aeronef associes | |
| US20260073739A1 (en) | System, method, and apparatus for vehicle testing and diagnostics | |
| JP2021082323A (ja) | 更新管理方法、更新管理装置及び制御プログラム | |
| CN113377658A (zh) | 一种车辆控制器调试方法和装置 | |
| EP3987741A1 (fr) | Support mémoire, procédé d'installation de composants informatiques au sein d'un vehicule et procédé de préparation d'un support mémoire | |
| CN115130071B (zh) | 车辆程序更新管理系统及其方法、重编程终端 | |
| EP4115593A1 (fr) | Réseau et procédé de communication de véhicule | |
| US12488642B2 (en) | Method for determining actual emission values for a vehicle | |
| JP6436123B2 (ja) | 車両用情報通信システム、車両用情報通信方法、車載情報装置用プログラムおよびアプリケーションプログラム | |
| FR3096160A1 (fr) | Procédé d’installation d’un composant informatique et équipement électronique associé | |
| FR2990667B1 (fr) | Procede de gestion d'une installation electronique d'un vehicule automobile et installation electronique ainsi mise en oeuvre | |
| WO2021023694A1 (fr) | Procédé d'écriture dans une zone de données sécurisée d'un calculateur sur bus embarqué de véhicule | |
| WO2022176240A1 (fr) | Système de gestion d'informations | |
| US11537640B2 (en) | Map output device, map output system, and computer-readable storage medium including program | |
| FR2936636A1 (fr) | Module d'identification pour vehicule automobile. | |
| FR3111447A1 (fr) | Gestion de versions de logiciels embarqués à partir d’une empreinte informatique | |
| US20250297868A1 (en) | System and method for enhancing security of odometer information | |
| FR3050594A1 (fr) | Procede de connexion d'un appareil electronique a un systeme embarque de vehicule, appareil electronique et systeme embarque de vehicule associes | |
| CN117119455A (zh) | Ota安全通信系统及其通信方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20211123 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| RAP3 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NISSAN MOTOR CO., LTD. Owner name: RENAULT S.A.S |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NISSAN MOTOR CO., LTD. Owner name: AMPERE SAS |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20241209 |