FR3102269A1 - Method and device for detecting an intrusion on a vehicle data bus - Google Patents

Method and device for detecting an intrusion on a vehicle data bus Download PDF

Info

Publication number
FR3102269A1
FR3102269A1 FR1911601A FR1911601A FR3102269A1 FR 3102269 A1 FR3102269 A1 FR 3102269A1 FR 1911601 A FR1911601 A FR 1911601A FR 1911601 A FR1911601 A FR 1911601A FR 3102269 A1 FR3102269 A1 FR 3102269A1
Authority
FR
France
Prior art keywords
counter
data bus
message
value
initialization
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
FR1911601A
Other languages
French (fr)
Other versions
FR3102269B1 (en
Inventor
Ahmed Harrar
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
PSA Automobiles SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PSA Automobiles SA filed Critical PSA Automobiles SA
Priority to FR1911601A priority Critical patent/FR3102269B1/en
Publication of FR3102269A1 publication Critical patent/FR3102269A1/en
Application granted granted Critical
Publication of FR3102269B1 publication Critical patent/FR3102269B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Abstract

L’invention concerne un procédé et un dispositif de détection d’une intrusion sur un bus de données (100). A cet effet, une valeur prise par un compteur compris dans des messages transmis périodiquement sur le bus de données (100) est déterminée par un calculateur (11). Les messages sont avantageusement identifiés via un même identifiant, la valeur du compteur étant incrémentée de 1 à chaque transmission d’un message. Le compteur prend une première valeur pour un premier message indiquant un début d’initialisation du compteur et le compteur prend une deuxième valeur pour un deuxième message indiquant la fin de l’initialisation du compteur. Une durée d’initialisation du compteur est supérieure à la période des messages. Une intrusion sur le bus de données est détectée par un dispositif (10) en surveillant les valeurs prises par le compteur compris dans les messages transmis sur le bus de données (100). Figure pour l’abrégé : Figure 1The invention relates to a method and a device for detecting an intrusion on a data bus (100). To this end, a value taken by a counter included in messages transmitted periodically on the data bus (100) is determined by a computer (11). The messages are advantageously identified via the same identifier, the value of the counter being incremented by 1 on each transmission of a message. The counter takes a first value for a first message indicating the start of initialization of the counter and the counter takes a second value for a second message indicating the end of the initialization of the counter. A counter initialization time is greater than the message period. An intrusion on the data bus is detected by a device (10) by monitoring the values taken by the counter included in the messages transmitted on the data bus (100). Figure for the abstract: Figure 1

Description

Procédé et dispositif de détection d’une intrusion sur un bus de données d’un véhiculeMethod and device for detecting an intrusion on a data bus of a vehicle

L’invention concerne les procédés et dispositifs de détection d’intrusion sur un bus de données d’un véhicule, notamment de type automobile. L’invention concerne également plus particulièrement un procédé et un dispositif de détection d’un ou plusieurs messages émis par un dispositif malveillant sur un bus de données d’un véhicule.The invention relates to methods and devices for detecting intrusion on a data bus of a vehicle, in particular of the automobile type. The invention also relates more particularly to a method and a device for detecting one or more messages transmitted by a malicious device on a data bus of a vehicle.

Arrière-plan technologiqueTechnology background

Les véhicules contemporains embarquent nombre de calculateurs assurant chacun une ou plusieurs fonctions, telles que par exemple la gestion de l’aide à la conduite, de l’antipatinage, de la répartition électronique du freinage ou encore la commande d’actionneurs pour assurer le fonctionnement optimal d’un moteur à combustion. Ces calculateurs sont reliés entre eux via un bus de données multiplexé de type CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs ») ou CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »), l’ensemble bus de données et calculateurs formant le système embarqué du véhicule. Ces calculateurs sont aussi appelés UCE (« Unité de Commande Electronique » ou en anglais ECU « Electronic Control Unit »). Ces calculateurs embarquent des logiciels qui sont exécutés pour assurer les fonctions dont ils ont la charge.Contemporary vehicles carry a number of computers, each performing one or more functions, such as, for example, the management of driving assistance, traction control, electronic brake distribution or even the control of actuators to ensure the operation optimal for a combustion engine. These computers are interconnected via a multiplexed data bus of the CAN type (from the English "Controller Area Network" or in French "Réseau de Contrôleurs") or CAN FD (from the English "Controller Area Network Flexible Data-Rate or in French "Flexible Data Rate Controller Network"), the set of data buses and computers forming the vehicle's on-board system. These computers are also called UCE ("Unit of Electronic Control" or in English ECU "Electronic Control Unit"). These computers embed software which is executed to ensure the functions for which they are responsible.

L’émission de messages malveillants par un dispositif tel qu’un boîtier électronique ou par un logiciel de type malware introduit dans un des calculateurs du système embarqué est utilisé pour pirater ou perturber les échanges de données entre les calculateurs du système embarqué. Ce ou ces messages malveillants sont potentiellement dangereux pour la sécurité du véhicule, l’introduction de tels messages malveillants pouvant générer des dysfonctionnements des calculateurs exploitant les données contenues dans ces messages.The transmission of malicious messages by a device such as an electronic unit or by malware-type software introduced into one of the on-board system computers is used to hack or disrupt data exchanges between the on-board system computers. This or these malicious messages are potentially dangerous for the safety of the vehicle, the introduction of such malicious messages could cause malfunctions of the computers using the data contained in these messages.

Un objet de la présente invention est de détecter l’introduction de messages malveillants sur un bus de données d’un véhicule, par exemple automobile.An object of the present invention is to detect the introduction of malicious messages on a data bus of a vehicle, for example automobile.

Un autre objet de l’invention est d’améliorer la sécurité des échanges de données entre calculateurs reliés par un bus de données d’un véhicule.Another object of the invention is to improve the security of data exchanges between computers connected by a data bus of a vehicle.

Selon un premier aspect, l’invention concerne un procédé de détection d’une intrusion sur un bus de données d’un véhicule, le procédé comprenant les étapes suivantes :According to a first aspect, the invention relates to a method for detecting an intrusion on a data bus of a vehicle, the method comprising the following steps:

- détermination d’une valeur prise par un compteur compris dans chaque message d’un ensemble de messages périodiques transmis sur le bus de données par un calculateur, les messages périodiques de l’ensemble étant identifiés par un même identifiant, la valeur du compteur étant incrémentée de 1 à chaque transmission réussie d’un message de l’ensemble, le compteur ayant une première valeur déterminée pour un premier message de l’ensemble indiquant un début d’initialisation du compteur, le compteur ayant une deuxième valeur déterminée pour un deuxième message de l’ensemble indiquant une fin d’initialisation du compteur, une durée d’initialisation du compteur étant supérieure à une période des messages de l’ensemble ;- determination of a value taken by a counter included in each message of a set of periodic messages transmitted on the data bus by a computer, the periodic messages of the set being identified by the same identifier, the value of the counter being incremented by 1 on each successful transmission of a message from the set, the counter having a first value determined for a first message from the set indicating a start of initialization of the counter, the counter having a second value determined for a second set message indicating completion of counter initialization, wherein a counter initialization time is greater than a set message period;

- détection d’une intrusion sur le bus de données en fonction de la valeur prise par le compteur compris dans chaque message et en fonction d’une durée d’initialisation du compteur.- detection of an intrusion on the data bus according to the value taken by the counter included in each message and according to a counter initialization time.

Selon une variante, une intrusion est détectée sur le bus de données lorsque la différence entre les valeurs prises par le compteur de deux messages successifs temporellement est différente de 1 en dehors de l’initialisation du compteur.According to a variant, an intrusion is detected on the data bus when the difference between the values taken by the counter of two temporally successive messages is different from 1 apart from the initialization of the counter.

Selon une autre variante, une intrusion est détectée sur le bus de données lorsque l’intervalle temporel entre une réception du premier message et une réception du deuxième message est inférieur à la durée d’initialisation.According to another variant, an intrusion is detected on the data bus when the time interval between a reception of the first message and a reception of the second message is less than the initialization duration.

Selon encore une variante, une intrusion est détectée sur le bus de données lorsque la valeur prise par le compteur d’un message reçu immédiatement après le deuxième message est différente de la première valeur ou d’une troisième valeur déterminée.According to yet another variant, an intrusion is detected on the data bus when the value taken by the counter of a message received immediately after the second message is different from the first value or from a determined third value.

Selon une autre variante, aucune intrusion n’est détectée sur le bus de données lorsque la valeur prise respectivement par le compteur de plusieurs messages reçus successivement pendant la durée d’initialisation est égale à la première valeur.According to another variant, no intrusion is detected on the data bus when the value taken respectively by the counter of several messages received successively during the initialization period is equal to the first value.

Selon une variante additionnelle, aucune intrusion n’est détectée sur le bus de données lorsque la différence entre les valeurs prises par le compteur de deux messages successifs temporellement est égale à 1.According to an additional variant, no intrusion is detected on the data bus when the difference between the values taken by the counter of two temporally successive messages is equal to 1.

Selon un deuxième aspect, l’invention concerne un dispositif de détection d’une intrusion sur un bus de données d’un véhicule, le dispositif comprenant une mémoire associée à un processeur configuré pour la mise en œuvre des étapes du procédé selon le premier aspect de l’invention.According to a second aspect, the invention relates to a device for detecting an intrusion on a data bus of a vehicle, the device comprising a memory associated with a processor configured for the implementation of the steps of the method according to the first aspect of the invention.

Selon un troisième aspect, l’invention concerne un bus de données comprenant le dispositif tel que décrit ci-dessus selon le deuxième aspect de l’invention et un ou plusieurs calculateurs.According to a third aspect, the invention relates to a data bus comprising the device as described above according to the second aspect of the invention and one or more computers.

Selon un quatrième aspect, l’invention concerne un véhicule, par exemple de type automobile, comprenant un dispositif tel que décrit ci-dessus selon le deuxième aspect de l’invention ou un bus de données tel que décrit ci-dessus selon le troisième aspect de l’invention.According to a fourth aspect, the invention relates to a vehicle, for example of the automobile type, comprising a device as described above according to the second aspect of the invention or a data bus as described above according to the third aspect of the invention.

Selon un cinquième aspect, l’invention concerne un programme d’ordinateur qui comporte des instructions adaptées pour l’exécution des étapes du procédé selon le premier aspect de l’invention, ceci notamment lorsque le programme d’ordinateur est exécuté par au moins un processeur.According to a fifth aspect, the invention relates to a computer program which comprises instructions adapted for the execution of the steps of the method according to the first aspect of the invention, this in particular when the computer program is executed by at least one processor.

Un tel programme d’ordinateur peut utiliser n’importe quel langage de programmation, et être sous la forme d’un code source, d’un code objet, ou d’un code intermédiaire entre un code source et un code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.Such a computer program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable form.

Selon un sixième aspect, l’invention concerne un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon le premier aspect de l’invention.According to a sixth aspect, the invention relates to a computer-readable recording medium on which is recorded a computer program comprising instructions for the execution of the steps of the method according to the first aspect of the invention.

D’une part, le support d’enregistrement peut être n'importe quel entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire ROM, un CD-ROM ou une mémoire ROM de type circuit microélectronique, ou encore un moyen d'enregistrement magnétique ou un disque dur.On the one hand, the recording medium can be any entity or device capable of storing the program. For example, the medium may comprise a storage means, such as a ROM memory, a CD-ROM or a ROM memory of the microelectronic circuit type, or even a magnetic recording means or a hard disk.

D'autre part, ce support d’enregistrement peut également être un support transmissible tel qu'un signal électrique ou optique, un tel signal pouvant être acheminé via un câble électrique ou optique, par radio classique ou hertzienne ou par faisceau laser autodirigé ou par d'autres moyens. Le programme d’ordinateur selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.On the other hand, this recording medium can also be a transmissible medium such as an electrical or optical signal, such a signal being able to be conveyed via an electrical or optical cable, by conventional or hertzian radio or by self-directed laser beam or by other ways. The computer program according to the invention can in particular be downloaded from an Internet-type network.

Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme d’ordinateur est incorporé, le circuit intégré étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.Alternatively, the recording medium may be an integrated circuit in which the computer program is incorporated, the integrated circuit being adapted to execute or to be used in the execution of the method in question.

Brève description des figuresBrief description of figures

D’autres caractéristiques et avantages de l’invention ressortiront de la description des modes de réalisation non limitatifs de l’invention ci-après, en référence aux figures 1 à 6 annexées, sur lesquelles :Other characteristics and advantages of the invention will emerge from the description of the non-limiting embodiments of the invention below, with reference to the appended figures 1 to 6, in which:

illustre de façon schématique un bus de données d’un véhicule, selon un premier exemple de réalisation particulier de la présente invention ; schematically illustrates a data bus of a vehicle, according to a first particular embodiment of the present invention;

illustre de façon schématique un bus de données d’un véhicule, selon un deuxième exemple de réalisation particulier de la présente invention ; schematically illustrates a data bus of a vehicle, according to a second particular embodiment of the present invention;

illustre de façon schématique un message transmis sur le bus de données de la figure 1 et/ou de la figure 2, selon un exemple de réalisation particulier de la présente invention ; schematically illustrates a message transmitted on the data bus of FIG. 1 and/or of FIG. 2, according to a particular embodiment of the present invention;

illustre de façon schématique les valeurs prise par un compteur compris dans le message de la figure 3, selon un premier exemple de réalisation particulier de la présente invention ; schematically illustrates the values taken by a counter included in the message of FIG. 3, according to a first particular embodiment of the present invention;

illustre schématiquement un dispositif configuré pour détecter une intrusion sur le bus de données de la figure 1 et/ou de la figure 2, selon un exemple de réalisation particulier de la présente invention ; schematically illustrates a device configured to detect an intrusion on the data bus of FIG. 1 and/or of FIG. 2, according to a particular embodiment of the present invention;

illustre un organigramme des différentes étapes d’un procédé de détection d’une intrusion sur le bus de données de la figure 1 et/ou de la figure 2, selon un exemple de réalisation particulier de la présente invention. illustrates a flowchart of the different steps of a method for detecting an intrusion on the data bus of FIG. 1 and/or of FIG. 2, according to a particular embodiment of the present invention.

Un procédé et un dispositif de détection d’une intrusion sur un bus de données d’un véhicule vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 6. Des mêmes éléments sont identifiés avec des mêmes signes de référence tout au long de la description qui va suivre.A method and a device for detecting an intrusion on a data bus of a vehicle will now be described in the following with reference to FIGS. throughout the following description.

Selon un exemple particulier et non limitatif de réalisation de l’invention, un procédé de détection d’une intrusion sur un bus de données, par exemple de type CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs ») ou CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »), d’un véhicule comprend la détermination d’une valeur prise par un compteur de chaque message d’un ensemble de messages périodiques transmis sur le bus de données par un calculateur. Les messages périodiques sont avantageusement identifiés via un même identifiant, la valeur du compteur étant incrémentée de 1 à chaque transmission réussie d’un message ayant le même identifiant. Le compteur prend avantageusement une première valeur déterminée pour un premier message indiquant un début d’initialisation du compteur et le compteur prend avantageusement une deuxième valeur déterminée pour un deuxième message indiquant la fin de l’initialisation du compteur. Une durée d’initialisation du compteur est avantageusement supérieure à la période des messages périodiques. Une intrusion sur le bus de données est finalement détectée en surveillant la ou les valeurs prises par le compteur compris dans les messages transmis sur le bus de données, connaissant la durée d’initialisation du compteur.According to a particular and non-limiting embodiment of the invention, a method for detecting an intrusion on a data bus, for example of the CAN type (from the English "Controller Area Network" or in French "Réseau de Contrôleurs ") or CAN FD (from the English "Controller Area Network Flexible Data-Rate" or in French "Réseau de Contrôleurs à Flow de Data Flexible"), of a vehicle includes the determination of a value taken by a meter of each message of a set of periodic messages transmitted on the data bus by a computer. The periodic messages are advantageously identified via the same identifier, the value of the counter being incremented by 1 on each successful transmission of a message having the same identifier. The counter advantageously takes a first value determined for a first message indicating a start of initialization of the counter and the counter advantageously takes a second value determined for a second message indicating the end of initialization of the counter. A counter initialization duration is advantageously greater than the period of the periodic messages. An intrusion on the data bus is finally detected by monitoring the value or values taken by the counter included in the messages transmitted on the data bus, knowing the initialization time of the counter.

L’utilisation d’un compteur s’incrémentant de manière déterminée et prenant des valeurs particulières en début et fin d’initialisation permet à un dispositif configuré pour surveiller les messages transmis sur le bus de données de détecter un message introduit sur le bus de données par un dispositif malveillant.The use of a counter incrementing in a determined manner and taking particular values at the start and end of initialization allows a device configured to monitor the messages transmitted on the data bus to detect a message introduced on the data bus by a malicious device.

illustre schématiquement un bus de données 100 d’un véhicule, selon un premier exemple de réalisation particulier et non limitatif de la présente invention. schematically illustrates a data bus 100 of a vehicle, according to a first particular and non-limiting embodiment of the present invention.

Le bus de données 100 correspond avantageusement à un bus de données de type multiplexé reliant plusieurs calculateurs C1 11, C2 12 et C3 13. Un dispositif D 10 configuré pour détecter une ou plusieurs intrusions sur le bus de données 1 est également relié aux calculateur 11 à 13 via le bus de données 100. Le dispositif 10 correspond par exemple à un système de détection d’intrusion, dit IDS (de l’anglais « Intrusion Detection System »). L’ensemble formé par le bus de données 100, les calculateurs 11 à 13 et le dispositif 10 forment tout ou partie d’un système embarqué du véhicule, par exemple un véhicule automobile. Le nombre de calculateurs 11 à 13 n’est cependant pas limité à 3 et s’étend à tout nombre, par exemple 2, 5, 10, 100 ou plus de calculateurs.The data bus 100 advantageously corresponds to a multiplexed type data bus connecting several computers C1 11, C2 12 and C3 13. A device D 10 configured to detect one or more intrusions on the data bus 1 is also connected to the computers 11 to 13 via the data bus 100. The device 10 corresponds for example to an intrusion detection system, called IDS (from the English "Intrusion Detection System"). The assembly formed by the data bus 100, the computers 11 to 13 and the device 10 form all or part of an on-board system of the vehicle, for example a motor vehicle. The number of computers 11 to 13 is however not limited to 3 and extends to any number, for example 2, 5, 10, 100 or more computers.

Le bus de données est par exemple de type CAN tel que défini dans la norme ISO 11898 ou de type CAN FD tel que défini dans la norme ISO 11898-1. Le bus de données 100 met avantageusement en œuvre un multiplexage temporel permettant aux calculateurs 11 à 13 d’émettre des messages (aussi appelés trames de données) à tour de rôle. Les messages émis peuvent être de plusieurs types en fonctions des données qu’ils transportent, chaque type de message étant identifié par un identifiant déterminé et particulier. Comme cela sera décrit plus en détail de la figure 3, un compteur est compris dans les messages, ou pour le moins pour les messages d’un ou plusieurs types déterminés. Un compteur est alors associé à un premier type de message donné identifié via un identifiant unique, c’est-à-dire que la valeur du compteur associé à ce premier type de messages ne s’incrémente que lorsqu’un message de ce premier type est transmis avec succès sur le bus de données, par exemple par un calculateur particulier de ce bus de données. Si un compteur est compris dans des messages d’un deuxième type différent du premier type, alors le compteur de ces messages du deuxième type ne s’incrémente que lorsqu’un message du deuxième type est transmis avec succès sur le bus de données 100. Le compteur des messages du premier type et le compteur des messages du deuxième type sont donc indépendants l’un vis-à-vis de l’autre, notamment au regard de l’incrémentation de ces compteurs.The data bus is for example of the CAN type as defined in the ISO 11898 standard or of the CAN FD type as defined in the ISO 11898-1 standard. The data bus 100 advantageously implements time-division multiplexing allowing the computers 11 to 13 to transmit messages (also called data frames) in turn. The messages sent can be of several types depending on the data they transport, each type of message being identified by a determined and particular identifier. As will be described in more detail in Figure 3, a counter is included in the messages, or at least for the messages of one or more determined types. A counter is then associated with a given first type of message identified via a unique identifier, i.e. the value of the counter associated with this first type of message is only incremented when a message of this first type is successfully transmitted on the data bus, for example by a particular computer of this data bus. If a counter is included in messages of a second type different from the first type, then the counter of these messages of the second type is only incremented when a message of the second type is successfully transmitted on the data bus 100. The counter of messages of the first type and the counter of messages of the second type are therefore independent of one another, in particular with regard to the incrementation of these counters.

A titre d’illustration, il sera considéré que le calculateur 11 transmet des messages périodiques sur le bus de données 100, ces messages périodiques comprenant un compteur et sont d’un type déterminé identifié par un identifiant déterminé et unique. Les messages sont dits périodiques en ce qu’ils sont transmis à intervalle régulier (une période) par le calculateur 11, par exemple toutes les 10, 20, 30 ms. Pour permettre au dispositif 10 de détecter une intrusion sur le bus de données, des règles d’incrémentation des valeurs prises par le compteur sont mises en place, ces règles étant connues du calculateur 11 et du dispositif 10, et éventuellement des autres calculateurs 12 et 13 du bus de données. Le compteur utilise par exemple 1 octet (c’est-à-dire 8 bits) de chaque message périodique. Le compteur peut ainsi prendre 255 valeurs, codées de 0 à 255 (ou de manière équivalente de 00 à FF en notation hexadécimale). Bien entendu, le compteur peut utiliser un nombre de bits différents, par exemple 10 bits ce qui permettrait au compteur de prendre 1024 valeurs. Les règles d’incrémentations du compteur associé aux messages identifiés par l’identifiant déterminé et unique comprennent les règles suivantes :By way of illustration, it will be considered that the computer 11 transmits periodic messages on the data bus 100, these periodic messages comprising a counter and are of a determined type identified by a determined and unique identifier. The messages are said to be periodic in that they are transmitted at regular intervals (one period) by the computer 11, for example every 10, 20, 30 ms. To allow the device 10 to detect an intrusion on the data bus, rules for incrementing the values taken by the counter are put in place, these rules being known to the computer 11 and to the device 10, and possibly to the other computers 12 and 13 from the data bus. The counter uses for example 1 byte (i.e. 8 bits) of each periodic message. The counter can thus take 255 values, coded from 0 to 255 (or equivalently from 00 to FF in hexadecimal notation). Of course, the counter can use a number of different bits, for example 10 bits which would allow the counter to take 1024 values. The rules for incrementing the counter associated with the messages identified by the determined and unique identifier include the following rules:

- la valeur du compteur s’incrémente de 1 à chaque transmission réussie d’un message du type déterminé sur le bus de données 100 ;- the value of the counter is incremented by 1 with each successful transmission of a message of the determined type on the data bus 100;

- en début d’initialisation du compteur (par exemple déclenchée par l’initialisation du calculateur émettant les messages, par exemple le calculateur 11), le calculateur 11 transmet un premier message comprenant une valeur de compteur égale à une première valeur déterminée, par exemple FE ; la transmission de ce message détermine le début de la phase d’initialisation du compteur ;- at the start of initialization of the counter (for example triggered by the initialization of the computer transmitting the messages, for example the computer 11), the computer 11 transmits a first message comprising a counter value equal to a first determined value, for example EF; transmission of this message determines the start of the counter initialization phase;

- pendant la phase d’initialisation du compteur, le calculateur 11 peut éventuellement transmettre un ou plusieurs premiers messages comprenant chacun une valeur de compteur égale à la première valeur déterminée, par exemple FE ;- During the counter initialization phase, the computer 11 may optionally transmit one or more first messages each comprising a counter value equal to the first determined value, for example FE;

- en fin d’initialisation du compteur (la durée d’initialisation étant déterminée et connu du calculateur 11 et du dispositif 10), le calculateur 11 transmet un deuxième message comprenant une valeur de compteur égale à une deuxième valeur déterminée, par exemple FF.- at the end of initialization of the counter (the initialization duration being determined and known to the computer 11 and the device 10), the computer 11 transmits a second message comprising a counter value equal to a second determined value, for example FF.

La durée d’initialisation du compteur est avantageusement supérieure à la période des messages périodiques qui comprennent ce compteur, c’est-à-dire que la durée d’initialisation est supérieure à l’intervalle temporel compris entre la transmission de 2 messages périodiques identifiés par le même identifiant. Cette durée d’initialisation est avantageusement inférieure à 254 fois la période (selon l’exemple dans lequel le compteur est codé sur 8 bits).The initialization time of the counter is advantageously greater than the period of the periodic messages which include this counter, that is to say that the initialization time is greater than the time interval between the transmission of 2 identified periodic messages by the same identifier. This initialization duration is advantageously less than 254 times the period (according to the example in which the counter is coded on 8 bits).

Dans une première opération, le dispositif 10 qui surveille la transmission des messages sur le bus de données 100 reçoit plusieurs messages identifiés par un même identifiant. Le dispositif 10 détermine la valeur prise par le compteur de chaque message reçu.In a first operation, the device 10 which monitors the transmission of messages on the data bus 100 receives several messages identified by the same identifier. The device 10 determines the value taken by the counter of each message received.

Dans une deuxième opération, le dispositif 10 détermine si une intrusion a eu lieu ou non à la réception de chaque message transmis sur le bus de données et identifiés via le même identifiant. Une intrusion est détectée à partir de la valeur prise par le compteur compris dans chaque message, connaissant la durée d’initialisation et les règles d’incrémentation du compteur.In a second operation, the device 10 determines whether or not an intrusion has taken place upon receipt of each message transmitted on the data bus and identified via the same identifier. An intrusion is detected from the value taken by the counter included in each message, knowing the initialization duration and the rules for incrementing the counter.

Une intrusion est détectée par le dispositif 10 dans un ou plusieurs des cas suivants :An intrusion is detected by device 10 in one or more of the following cases:

- lorsque, hors période d’initialisation du compteur détectée par la réception d’un premier message avec une valeur de compteur égale à la première valeur par exemple FE, la différence de la valeur prise par le compteur de 2 messages reçus successivement est différente de 1 ;- when, outside the initialization period of the counter detected by the reception of a first message with a counter value equal to the first value, for example FE, the difference in the value taken by the counter of 2 messages received successively is different from 1;

- lorsque la durée temporelle entre la réception d’un premier message ayant une valeur de compteur égale à la première valeur (par exemple FE) et la réception d’un deuxième message ayant une valeur de compteur égale à la deuxième valeur (par exemple FF) est inférieure à la durée d’initialisation du compteur ;- when the time duration between the reception of a first message having a counter value equal to the first value (for example FE) and the reception of a second message having a counter value equal to the second value (for example FF ) is less than the initialization time of the counter;

- lorsque la valeur du compteur d’un message reçu immédiatement après la réception d’un deuxième message ayant une valeur de compteur égale à la deuxième valeur (par exemple FF) est différente de la première valeur (par exemple FE) et d’une troisième valeur correspond à la valeur prise par le compteur lorsqu’il commence la série d’incrémentation (par exemple 00).- when the value of the counter of a message received immediately after the reception of a second message having a counter value equal to the second value (for example FF) is different from the first value (for example FE) and a third value corresponds to the value taken by the counter when it begins the series of incrementation (for example 00).

A contrario, aucune intrusion n’est détectée par le dispositif 10 dans un ou plusieurs des cas suivants :Conversely, no intrusion is detected by device 10 in one or more of the following cases:

- lorsque la différence de la valeur prise par le compteur de 2 messages reçus successivement est égale à 1 ;- when the difference in the value taken by the counter of 2 messages received successively is equal to 1;

- lorsque plusieurs messages reçus successivement ont un compteur ayant pour valeur la première valeur (par exemple FE), correspondant par exemple à plusieurs initialisations successives du compteur.- when several messages received successively have a counter whose value is the first value (for example FE), corresponding for example to several successive initializations of the counter.

A titre d’exemple, les séquences de valeurs prises par le compteur suivantes ne génèrent pas de détection d’intrusion :By way of example, the following sequences of values taken by the counter do not generate an intrusion detection:

- FE … FE FF 00 : plusieurs initialisations suivies d’une fin d’initialisation (la durée entre la fin d’initialisation FF et le dernier début d’initialisation FE étant inférieure à la durée d’initialisation) et d’une nouvelle série d’incrémentations du compteur commençant par 00- FE … FE FF 00: several initializations followed by an end of initialization (the duration between the end of FF initialization and the last start of FE initialization being less than the initialization duration) and a new series number of counter increments starting with 00

- FE … FE FF FE … FE FF 00 : correspondant au cas où une initialisation du compteur est effectuée juste après une fin d’initialisation marquée par FF, en respectant pour chaque séquence une durée entre la fin d’initialisation FF et le dernier début d’initialisation FE étant inférieure à la durée d’initialisation ;- FE … FE FF FE … FE FF 00: corresponding to the case where an initialization of the counter is carried out just after an end of initialization marked by FF, respecting for each sequence a duration between the end of initialization FF and the last start initialization time FE being less than initialization time;

- XX FE … FE FF 00, où XX correspond à une valeur quelconque différente de FE ou FF, correspondant à une initialisation du compteur après un message comprenant un compteur à ‘XX’.- XX FE … FE FF 00, where XX corresponds to any value different from FE or FF, corresponding to an initialization of the counter after a message including a counter at ‘XX’.

Un tel processus permet ainsi au dispositif 10 de détecter une intrusion malveillante d’un message copiant un message transmis précédemment par un calculateur, par exemple le calculateur 11, et comprenant en plus des données dangereuses pour un ou plusieurs des calculateurs 11 à 13 et le système embarqué du véhicule. Le dispositif malveillant ne connaissant par les règles d’incrémentation du compteur, celui-ci ne peut pas générer de message conforme aux règles décrites ci-dessus.Such a process thus allows the device 10 to detect a malicious intrusion of a message copying a message previously transmitted by a computer, for example the computer 11, and additionally comprising dangerous data for one or more of the computers 11 to 13 and the vehicle's on-board system. Since the malicious device does not know the rules for incrementing the counter, it cannot generate a message that complies with the rules described above.

Selon une variante de réalisation, le bus de données 100 correspond par exemple à un bus de type FlexRay (selon la norme ISO 17458) ou Ethernet (selon la norme ISO/IEC 802-3).According to a variant embodiment, the data bus 100 corresponds for example to a bus of the FlexRay type (according to the ISO 17458 standard) or Ethernet (according to the ISO/IEC 802-3 standard).

illustre schématiquement un bus de données 100 d’un véhicule, selon un deuxième exemple de réalisation particulier et non limitatif de la présente invention. schematically illustrates a data bus 100 of a vehicle, according to a second particular and non-limiting embodiment of the present invention.

La différence entre l’exemple de la figure 2 et celui de la figure 1 tient dans le fait que dans l’exemple de la figure 2, le système de détection des intrusions 231 est intégré à un des calculateurs, par exemple le calculateur C3 23. Selon cet exemple, le système de détection 231 correspond par exemple à un module logiciel intégré au calculateur 23.The difference between the example of Figure 2 and that of Figure 1 lies in the fact that in the example of Figure 2, the intrusion detection system 231 is integrated into one of the computers, for example the computer C3 23 According to this example, the detection system 231 corresponds for example to a software module integrated into the computer 23.

Le processus de détection d’une intrusion ou d’une absence d’intrusion décrit en regard de la figure 1 est applicable à l’identique dans le cas d’un mode de réalisation correspondant à celui de la figure 2.The process for detecting an intrusion or a lack of intrusion described with regard to FIG. 1 is identically applicable in the case of an embodiment corresponding to that of FIG. 2.

illustre schématiquement la structure 3 d’un message de type périodique transmis sur le bus de données 100 par un calculateur du système embarqué d’un véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention. schematically illustrates the structure 3 of a periodic type message transmitted on the data bus 100 by a computer of the on-board system of a vehicle, according to a particular and non-limiting example embodiment of the present invention.

Selon l’exemple illustratif de la figure 3, seule une partie des champs du message (aussi appelée trame de données) sont décrits ou représentés, notamment ceux en relation avec l’objet de la présente invention.According to the illustrative example of Figure 3, only part of the fields of the message (also called data frame) are described or represented, in particular those related to the object of the present invention.

Le message comprend ainsi :The message includes as follows:

- un premier champ 31 correspondant à un début de message ou début de trame, dit SOF (de l’anglais « Start Of Frame »), comprenant par exemple 1 bit ;- a first field 31 corresponding to a start of message or start of frame, called SOF (from the English "Start Of Frame"), comprising for example 1 bit;

- un deuxième champ 32 correspondant par exemple à un champ d’arbitrage, aussi appelé champ identificateur, et comprenant l’identifiant du type de message, ce champ comprenant par exemple 12 ou 32 bits ; ce champ sert avantageusement d’identifiant pour les données ou types de données transportées dans le message, c’est-à-dire dans la partie appelée champ de données ;- a second field 32 corresponding for example to an arbitration field, also called an identifier field, and comprising the identifier of the type of message, this field comprising for example 12 or 32 bits; this field advantageously serves as an identifier for the data or types of data transported in the message, i.e. in the part called the data field;

- des troisièmes champs 33 à 36 formant le champ de données et comprenant notamment le compteur et les données utiles du messages ; ces champs 33 à 36 comprennent par exemple chacun 8 bits ; le compteur du message est par exemple compris dans le premier de ces champs, c’est-à-dire le champ 33, et les données utiles dans les autres champs, c’est-à-dire les champs 34, 35 et 36 ; selon un autre exemple, le compteur est compris dans le dernier de ces champs, c’est-à-dire le champ 36 ; selon une variante, il y a plus de 4 champs de données, par exemple 8 champs de données ;- third fields 33 to 36 forming the data field and comprising in particular the counter and the useful data of the messages; these fields 33 to 36 each comprise for example 8 bits; the message counter is for example included in the first of these fields, i.e. field 33, and the useful data in the other fields, i.e. fields 34, 35 and 36; in another example, the counter is included in the last of these fields, i.e. field 36; alternatively, there are more than 4 data fields, for example 8 data fields;

- un quatrième champ 37 correspondant à une fin de message ou fin de trame, dit EOF (de l’anglais « End Of Frame »), comprenant par exemple 7 bits.- A fourth field 37 corresponding to an end of message or end of frame, called EOF (from the English "End Of Frame"), comprising for example 7 bits.

Le message comprend en outre éventuellement d’autre champs non décrits ou non représentés sur la figure 3, tels que par exemple un champ de commande (par exemple sur 6 bits), un champ de CRC (de l’anglais « Cyclic Redundancy Check » ou en français « Vérification de redondance cyclique ») et/ou un champ d’acquittement.The message also optionally includes other fields not described or not shown in Figure 3, such as for example a command field (for example on 6 bits), a CRC field (from the English "Cyclic Redundancy Check" or in French "Verification de redundancy cyclic") and/or an acknowledgment field.

illustre schématiquement une séquence 4 de valeurs prises par un compteur associé à un ensemble de messages identifiés par un même identifiant, selon un exemple de réalisation particulier et non limitatif de la présente invention. schematically illustrates a sequence 4 of values taken by a counter associated with a set of messages identified by the same identifier, according to a particular and non-limiting embodiment of the present invention.

La figure 4 illustre les valeurs du compteur (en ordonnées) en fonction du temps (en abscisse). A t0, un premier message est transmis avec une valeur de compteur égale à FE. Cet évènement correspond par exemple à une initialisation du compteur ou à un démarrage du calculateur entrainant in fine un démarrage (ou une initialisation du compteur). A la fin de l’initialisation, c’est-à-dire à un instant t1, un message suivant (dit deuxième message) est transmis avec une valeur de compteur égale à FF, marquant la fin de l’initialisation du compteur. La durée comprise entre t0 et t1 correspond à la durée d’initialisation du compteur. Le message suivant le message avec le compteur à FF a une valeur de compteur égale à 00, qui correspond au début de la séquence d’incrémentation du compteur. Le compteur s’incrémente à chaque message transmis avec succès sur le bus de données jusqu’à atteindre la valeur FD puis reprend à 00. Le compteur atteint ensuite par exemple une valeur ‘XX’ comprise entre 00 et FD avant qu’une initialisation du compteur ne commence à t2, matérialisée par la transmission d’un message avec un compteur à FE. A t3, un autre message avec un compteur à FE est transmis, signifiant par exemple qu’une nouvelle initialisation du compteur est lancée. Enfin, à t4un message avec un compteur à FF est transmis signifiant la fin de l’initialisation, la durée entre t3et t4étant égale à la durée d’initialisation.FIG. 4 illustrates the values of the counter (in ordinates) as a function of time (in abscissa). At t 0 , a first message is transmitted with a counter value equal to FE. This event corresponds for example to an initialization of the counter or to a start of the computer leading ultimately to a start (or an initialization of the counter). At the end of the initialization, that is to say at a time t1, a following message (called second message) is transmitted with a counter value equal to FF, marking the end of the initialization of the counter. The duration between t0 and t1 corresponds to the initialization duration of the counter. The message following the message with the counter at FF has a counter value of 00, which corresponds to the start of the counter increment sequence. The counter is incremented with each message successfully transmitted on the data bus until it reaches the value FD then resumes at 00. The counter then reaches for example a value 'XX' between 00 and FD before an initialization of the counter starts at t 2 , materialized by the transmission of a message with a counter at FE. At t 3 , another message with a counter at FE is transmitted, signifying for example that a new initialization of the counter is launched. Finally, at t 4 a message with a counter at FF is transmitted signifying the end of initialization, the duration between t 3 and t 4 being equal to the initialization duration.

Bien entendu, les valeurs des compteurs sont fournies à titre illustratif seulement, le compteur pouvant prendre d’autre valeurs (par exemple 00 pour un début d’initialisation, 01 pour une fin d’initialisation et entre 02 et FF pour une des messages hors initialisation).Of course, the values of the counters are provided for illustrative purposes only, the counter can take other values (for example 00 for a start of initialization, 01 for an end of initialization and between 02 and FF for one of the messages out initialization).

illustre schématiquement un dispositif 5 configuré pour détection une intrusion sur le bus de données 100, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le dispositif 5 correspond par exemple au dispositif 10 ou au système 231. schematically illustrates a device 5 configured to detect an intrusion on the data bus 100, according to a particular and non-limiting embodiment of the present invention. Device 5 corresponds for example to device 10 or to system 231.

Le dispositif 5 est par exemple configuré pour la mise en œuvre des opérations décrites en regard de la figure 1 et/ou des étapes du procédé décrit en regard de la figure 6. Les éléments du dispositif 5, individuellement ou en combinaison, peuvent être intégrés dans un unique circuit intégré, dans plusieurs circuits intégrés, et/ou dans des composants discrets. Le dispositif 5 peut être réalisé sous la forme de circuits électroniques ou de modules logiciels (ou informatiques) ou encore d’une combinaison de circuits électroniques et de modules logiciels. Selon différents modes de réalisation particuliers, le dispositif 5 est couplé en communication avec d’autres dispositifs ou systèmes similaires, par exemple par l’intermédiaire d’un bus de communication ou au travers de ports d’entrée / sortie dédiés.The device 5 is for example configured for the implementation of the operations described with regard to FIG. 1 and/or the steps of the method described with regard to FIG. 6. The elements of the device 5, individually or in combination, can be integrated in a single integrated circuit, in several integrated circuits, and/or in discrete components. The device 5 can be made in the form of electronic circuits or software (or computer) modules or else a combination of electronic circuits and software modules. According to different particular embodiments, the device 5 is coupled in communication with other similar devices or systems, for example via a communication bus or through dedicated input/output ports.

Le dispositif 5 comprend un (ou plusieurs) processeur(s) 50 configurés pour exécuter des instructions pour la réalisation des étapes du procédé et/ou pour l’exécution des instructions du ou des logiciels embarqués dans le dispositif 5. Le processeur 50 peut inclure de la mémoire intégrée, une interface d’entrée/sortie, et différents circuits connus de l’homme du métier. Le dispositif 5 comprend en outre au moins une mémoire 51 correspondant par exemple une mémoire volatile et/ou non volatile et/ou comprend un dispositif de stockage mémoire qui peut comprendre de la mémoire volatile et/ou non volatile, telle que EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, disque magnétique ou optique.The device 5 comprises one (or more) processor(s) 50 configured to execute instructions for carrying out the steps of the method and/or for executing the instructions of the software or software embedded in the device 5. The processor 50 can include integrated memory, an input/output interface, and various circuits known to those skilled in the art. The device 5 further comprises at least one memory 51 corresponding for example to a volatile and/or non-volatile memory and/or comprises a memory storage device which can comprise volatile and/or non-volatile memory, such as EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic or optical disk.

Le code informatique du ou des logiciels embarqués comprenant les instructions à charger et exécuter par le processeur est par exemple stocké sur la première mémoire 51.The computer code of the on-board software or software comprising the instructions to be loaded and executed by the processor is for example stored on the first memory 51.

Selon un mode de réalisation particulier, le dispositif 5 comprend une interface de communication 53 qui permet d’établir une communication avec d’autres dispositifs (tels que les calculateurs du système embarqué et connectés au bus de données) via un canal de communication 530. L’interface de communication 53 correspond par exemple à un transmetteur configuré pour transmettre et recevoir des informations et/ou des données via le canal de communication 530. L’interface de communication 53 correspond par exemple à un réseau filaire de type CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs ») ou CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »).According to a particular embodiment, the device 5 comprises a communication interface 53 which makes it possible to establish communication with other devices (such as the computers of the on-board system and connected to the data bus) via a communication channel 530. The communication interface 53 corresponds for example to a transmitter configured to transmit and receive information and/or data via the communication channel 530. The communication interface 53 corresponds for example to a CAN-type wired network (of the 'English "Controller Area Network" or French "Réseau de Contrôleurs") or CAN FD (from English "Controller Area Network Flexible Data-Rate" or French "Réseau de Contrôleurs à Flow de Data Flexible").

Selon un mode de réalisation particulier supplémentaire, le dispositif 5 peut fournir des signaux de sortie à un ou plusieurs dispositifs externes, tels qu’un écran d’affichage, un ou des haut-parleurs et/ou d’autres périphériques via respectivement des interfaces de sortie non représentées.According to an additional particular embodiment, the device 5 can provide output signals to one or more external devices, such as a display screen, one or more loudspeakers and/or other peripherals respectively via interfaces output not shown.

illustre un organigramme des différentes étapes d’un procédé de détection d’une intrusion sur un bus de données d’un véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le procédé est par exemple mis en œuvre par le dispositif 10, le système 231 ou par le dispositif 5 de la figure 5. illustrates a flowchart of the different steps of a method for detecting an intrusion on a data bus of a vehicle, according to a particular and non-limiting embodiment of the present invention. The method is for example implemented by the device 10, the system 231 or by the device 5 of figure 5.

Dans une première étape 61, la une valeur prise par un compteur compris dans chaque message d’un ensemble de messages périodiques transmis sur le bus de données par un calculateur est déterminée. Les messages périodiques de l’ensemble sont avantageusement identifiés par un même identifiant, la valeur du compteur étant incrémentée de 1 à chaque transmission réussie d’un message sur le bus de données. Le compteur prend avantageusement une première valeur déterminée pour un premier message de l’ensemble indiquant un début d’initialisation du compteur. Le compteur prend avantageusement une deuxième valeur déterminée pour un deuxième message de l’ensemble indiquant une fin d’initialisation du compteur. La durée d’initialisation du compteur est avantageusement supérieure à une période des messages périodiques.In a first step 61, the value taken by a counter included in each message of a set of periodic messages transmitted on the data bus by a computer is determined. The periodic messages of the set are advantageously identified by the same identifier, the value of the counter being incremented by 1 on each successful transmission of a message on the data bus. The counter advantageously takes a first value determined for a first message of the set indicating a start of initialization of the counter. The counter advantageously takes a second value determined for a second message of the set indicating an end of initialization of the counter. The initialization time of the counter is advantageously greater than one period of the periodic messages.

Dans une deuxième étape 62, une intrusion sur le bus de données est détectée en fonction de la valeur prise par le compteur compris dans chaque message et en fonction d’une durée d’initialisation du compteur.In a second step 62, an intrusion on the data bus is detected according to the value taken by the counter included in each message and according to a counter initialization time.

Bien entendu, l’invention ne se limite pas aux modes de réalisation décrits ci-avant mais s’étend à un procédé de surveillance et/ou de contrôle d’un bus de données et au dispositif configuré pour la mise en œuvre du procédé.Of course, the invention is not limited to the embodiments described above but extends to a method for monitoring and/or controlling a data bus and to the device configured for implementing the method.

L’invention concerne également un véhicule, par exemple automobile ou plus généralement un véhicule à moteur terrestre, comprenant le dispositif 5 de la figure 5.The invention also relates to a vehicle, for example an automobile or more generally a land motor vehicle, comprising the device 5 of FIG. 5.

Claims (10)

Procédé de détection d’une intrusion sur un bus de données (100) d’un véhicule, ledit procédé comprenant les étapes suivantes :
- détermination (61) d’une valeur prise par un compteur (33) compris dans chaque message d’un ensemble de messages périodiques transmis sur ledit bus de données (100) par un calculateur (11), les messages périodiques dudit ensemble étant identifiés par un même identifiant, la valeur dudit compteur étant incrémentée de 1 à chaque transmission réussie d’un message dudit ensemble, ledit compteur (33) ayant une première valeur déterminée pour un premier message dudit ensemble indiquant un début d’initialisation dudit compteur (33), ledit compteur (33) ayant une deuxième valeur déterminée pour un deuxième message dudit ensemble indiquant une fin d’initialisation dudit compteur (33), une durée d’initialisation dudit compteur (33) étant supérieure à une période desdits messages de l’ensemble ;
- détection (62) d’une intrusion sur ledit bus de données (100) en fonction de ladite valeur prise par le compteur (33) compris dans ledit chaque message et en fonction d’une durée d’initialisation dudit compteur (33).
Method for detecting an intrusion on a data bus (100) of a vehicle, said method comprising the following steps:
- determination (61) of a value taken by a counter (33) included in each message of a set of periodic messages transmitted on said data bus (100) by a computer (11), the periodic messages of said set being identified by the same identifier, the value of said counter being incremented by 1 on each successful transmission of a message from said set, said counter (33) having a first value determined for a first message from said set indicating a start of initialization of said counter (33 ), said counter (33) having a second value determined for a second message of said set indicating an end of initialization of said counter (33), an initialization duration of said counter (33) being greater than a period of said messages of together ;
- detection (62) of an intrusion on said data bus (100) according to said value taken by the counter (33) included in said each message and according to an initialization time of said counter (33).
Procédé selon la revendication 1, pour lequel une intrusion est détectée sur ledit bus de données (100) lorsque la différence entre les valeurs prises par ledit compteur (33) de deux messages successifs temporellement est différente de 1 en dehors de l’initialisation dudit compteur (33).Method according to claim 1, for which an intrusion is detected on said data bus (100) when the difference between the values taken by said counter (33) of two temporally successive messages is different from 1 apart from the initialization of said counter (33). Procédé selon la revendication 1 ou 2, pour lequel une intrusion est détectée sur ledit bus de données (100) lorsque l’intervalle temporel entre une réception dudit premier message et une réception dudit deuxième message est inférieur à ladite durée d’initialisation.Method according to claim 1 or 2, for which an intrusion is detected on said data bus (100) when the time interval between a reception of said first message and a reception of said second message is less than said initialization duration. Procédé selon l’une des revendications 1 à 3, pour lequel une intrusion est détectée sur ledit bus de données (100) lorsque la valeur prise par le compteur (33) d’un message reçu immédiatement après le deuxième message est différente de la première valeur ou d’une troisième valeur déterminée.Method according to one of Claims 1 to 3, for which an intrusion is detected on the said data bus (100) when the value taken by the counter (33) of a message received immediately after the second message is different from the first value or a third determined value. Procédé selon l’une des revendications 1 à 4, pour lequel aucune intrusion n’est détectée sur ledit bus de données (100) lorsque la valeur prise respectivement par le compteur (33) de plusieurs messages reçus successivement pendant ladite durée d’initialisation est égale à ladite première valeur.Method according to one of Claims 1 to 4, for which no intrusion is detected on the said data bus (100) when the value taken respectively by the counter (33) of several messages received successively during the said initialization period is equal to said first value. Procédé selon l’une des revendications 1 à 5, pour lequel aucune intrusion n’est détectée sur ledit bus de données (100) lorsque la différence entre les valeurs prises par le compteur (33) de deux messages successifs temporellement est égale à 1.Method according to one of Claims 1 to 5, for which no intrusion is detected on the said data bus (100) when the difference between the values taken by the counter (33) of two temporally successive messages is equal to 1. Dispositif (5) comprenant une mémoire (51) associée à au moins un processeur (50) configuré pour la mise en œuvre des étapes du procédé selon l’une quelconque des revendications 1 à 6.Device (5) comprising a memory (51) associated with at least one processor (50) configured for implementing the steps of the method according to any one of Claims 1 to 6. Bus de données comprenant le dispositif selon la revendication 7 et ledit calculateur.Data bus comprising the device according to claim 7 and said computer. Véhicule comprenant le dispositif (5) selon la revendication 7 ou le bus de données selon la revendication 8.Vehicle comprising the device (5) according to Claim 7 or the data bus according to Claim 8. Produit programme d’ordinateur comportant des instructions adaptées pour l’exécution des étapes du procédé selon l’une des revendications 1 à 6, lorsque le programme d’ordinateur est exécuté par au moins un processeur.Computer program product comprising instructions adapted for the execution of the steps of the method according to one of Claims 1 to 6, when the computer program is executed by at least one processor.
FR1911601A 2019-10-17 2019-10-17 Method and device for detecting an intrusion on a data bus of a vehicle Expired - Fee Related FR3102269B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1911601A FR3102269B1 (en) 2019-10-17 2019-10-17 Method and device for detecting an intrusion on a data bus of a vehicle

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1911601 2019-10-17
FR1911601A FR3102269B1 (en) 2019-10-17 2019-10-17 Method and device for detecting an intrusion on a data bus of a vehicle

Publications (2)

Publication Number Publication Date
FR3102269A1 true FR3102269A1 (en) 2021-04-23
FR3102269B1 FR3102269B1 (en) 2022-01-21

Family

ID=69104767

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1911601A Expired - Fee Related FR3102269B1 (en) 2019-10-17 2019-10-17 Method and device for detecting an intrusion on a data bus of a vehicle

Country Status (1)

Country Link
FR (1) FR3102269B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022234199A1 (en) * 2021-05-06 2022-11-10 Psa Automobiles Sa Method and device for protecting against an intrusion on a data bus of a vehicle

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2775660A1 (en) * 2011-10-31 2014-09-10 Toyota Jidosha Kabushiki Kaisha Message authentication method in communication system and communication system
US20150082380A1 (en) * 2013-09-13 2015-03-19 GM Global Technology Operations LLC Methods and apparatus for secure communication in a vehicle-based data communication system
EP3113529A1 (en) * 2015-06-29 2017-01-04 Argus Cyber Security Ltd System and method for time based anomaly detection in an in-vehicle communication network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2775660A1 (en) * 2011-10-31 2014-09-10 Toyota Jidosha Kabushiki Kaisha Message authentication method in communication system and communication system
US20150082380A1 (en) * 2013-09-13 2015-03-19 GM Global Technology Operations LLC Methods and apparatus for secure communication in a vehicle-based data communication system
EP3113529A1 (en) * 2015-06-29 2017-01-04 Argus Cyber Security Ltd System and method for time based anomaly detection in an in-vehicle communication network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022234199A1 (en) * 2021-05-06 2022-11-10 Psa Automobiles Sa Method and device for protecting against an intrusion on a data bus of a vehicle
FR3122748A1 (en) * 2021-05-06 2022-11-11 Psa Automobiles Sa Method and device for protection against intrusion on a data bus of a vehicle

Also Published As

Publication number Publication date
FR3102269B1 (en) 2022-01-21

Similar Documents

Publication Publication Date Title
FR2926692A1 (en) METHODS AND DEVICES FOR IMPROVING COMMUNICATION RELIABILITY BETWEEN AN AIRCRAFT AND A REMOTE SYSTEM
EP3381207A1 (en) Method and terminal for controlling the establishment of a vehicle accident report
FR3102269A1 (en) Method and device for detecting an intrusion on a vehicle data bus
WO2021018932A1 (en) Method for determining constraints of a non-geostationary system with respect to another non-geostationary system
FR3102270A1 (en) Method and device for detecting an intrusion on a vehicle data bus
EP2750354B1 (en) Method for defining a filtering module, related filtering module
EP3819767A1 (en) Method and electronic device for monitoring an avionic software application by means of system call meters, associated computer program and avionics system
FR3122748A1 (en) Method and device for protection against intrusion on a data bus of a vehicle
EP3680782B1 (en) Secure element with customisable functions and corresponding method
EP3641268B1 (en) Method for communication of an object with a network of connected objects to report that a clone could potentially be identified as the object in the network
FR3121528A1 (en) Method and device for detecting an intrusion on a data bus of a vehicle
FR3121527A1 (en) Method and device for detecting an intrusion on a data bus of a vehicle
FR3094105A1 (en) Method and device for dimensioning a memory of a computer
EP4288854A1 (en) Method and device for validating time synchronization between vehicle on-board computers
FR3082960A1 (en) ELECTRONIC ARCHITECTURE OF MOTOR VEHICLE WITH REDUNDANCY OF POWER SUPPLY AND INTER-COMPUTER COMMUNICATION NETWORKS.
FR3065604B1 (en) METHOD AND DEVICE FOR CONTROLLING THE TRANSMISSIONS AND RECEPTIONS OF FRAMES IN A BIDIRECTIONAL VIDEO NETWORK
FR3099835A1 (en) Method of writing to a secure data area of a computer on a vehicle's on-board bus.
FR3136289A1 (en) Method and device for controlling vehicle computers
EP3932001A1 (en) Symmetric cryptography method and device for vehicle processor
WO2016181053A1 (en) Method and device for controlling the transmission of frames in a bidirectional video network
FR3104769A1 (en) Vehicle computer software update control method and device
WO2022042981A1 (en) Method for modifying software in a motor vehicle
EP2183725B1 (en) Smart card data processing device for a data collection system
FR3140195A1 (en) Method and device for transmitting data for attempting to register hands-free access devices for vehicles
EP4293560A1 (en) Electronic control unit adapted for intelligent transportation system communications and method thereof

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20210423

PLFP Fee payment

Year of fee payment: 3

ST Notification of lapse

Effective date: 20230606