Brevet FR3099603A1 — publié le 20210205

Description Titre de l'invention : Système et procédé de sécurisation d'une requête de diagnostic à un calculateur de véhicule automobile. [0001] La présente invention concerne de manière générale un système et un procédé de sé- curisation d'une requête de diagnostic à un calculateur de véhicule automobile. [0002] La communication entre un calculateur de véhicule automobile et un outil de diagnostic déporté utilise un protocole de communication, Services de diagnostic unifiés ou en anglais, Unified Diagnostic Services (UDS), spécifié dans la norme ISO 14229-1 et dérivé des normes ISO 14230-3 et ISO 15765-3. Il s'agit d'une norme internationale et non d'une norme propre à un constructeur. Cc protocole dc communication est utilisé dans presque tous les nouveaux calculateurs fabriqués par les fournisseurs des équipementiers d'origine des constructeurs automobiles. Les calculateurs d'un véhicule contrôlent un large éventail dc fonctions dans les véhicules, notamment l'injection électronique dc carburant, la commande du moteur, la transmission, le système de freinage antihlocagc, le verrouillage des portières, le freinage, etc. L'accès au calculateur doit donc être sécurisé. [0003] L'outil dc diagnostic peut communiquer avec toutes les unités de commande installées dans un véhicule dont les services dc diagnostic unifiés (UDS) sont activés. Les véhicules modernes disposent d'une interface de diagnostic pour le diagnostic débarqué, qui permet de connecter un ordinateur ou un outil de diagnostic, au système bus du véhicule sur lequel sont connectés tous les calculateurs du véhicule. Ainsi, les messages définis dans la norme des services de diagnostic unifiés (UDS) peuvent être envoyés aux contrôleurs qui doivent fournir les services de diagnostic unifiés (UDS) prédéterminés. Il est ainsi possible d'interroger la mémoire de défauts des différentes unités dc commande ou de les mettre à jour à l'aide d'un nouveau logiciel de système d'exploitation (en anglais : firmware). [0004] Chaque constructeur automobile est responsable d' implémenter un mécanisme d'accès sécurisé selon la norme des services de diagnostic unifiés (UDS). [0005] Un but de la présente invention est dc proposer un procédé de sécurisation d'une requête de diagnostic à un calculateur de véhicule automobile permettant de répondre aux différents niveaux de sécurité requis et cas d'utilisation des outils de diagnostic. [0006] Pour cela, un premier aspect de l'invention concerne un système de sécurisation d'une requête de diagnostic pour un calculateur de véhicule automobile, le calculateur de véhicule automobile comprenant, un élément de connexion diagnostic agencé pour recevoir une connexion avec un outil de diagnostic, une mémoire embarquée de stockage, l'outil de diagnostic comprenant une première mémoire de stockage sur 2 laquelle est installé un programme d'ordinateur susceptible d'accéder au calculateur pour modifier au moins un paramètre de fonctionnement, une fois l'outil de diagnostic connecté au connecteur diagnostic, un dispositif de communication apte à se connecter à un serveur distant, une deuxième mémoire de stockage installée sur le serveur distant, caractérisé en ce que la mémoire embarquée de stockage du calculateur de véhicule automobile comprend une première clé de verrouillage et une deuxième clé de verrouillage, la première mémoire de stockage de l'outil de diagnostic comprend une première clé de stockage agencée pour déverrouiller la première clé de verrouillage, la deuxième mémoire de stockage du serveur distant comprend une deuxième clé de stockage agencée pour déverrouiller la deuxième clé de verrouillage, de sorte à ce que le calculateur puisse contrôler l'accès par l'outil de diagnostic lors d'une requête de diagnostic. [0007] Selon une variante de réalisation, la première clé de verrouillage est identique pour tous les calculateurs d'un groupe déterminé de calculateurs. [0008] Selon une variante de réalisation, la deuxième clé de verrouillage est unique pour chaque calculateur. [0009] Un deuxième aspect de l'invention concerne un procédé de sécurisation d'une requête de diagnostic pour un système selon le premier aspect caractérisé en ce qu'il comprend une étape de comparaison par le calculateur du véhicule automobile de la première clé de verrouillage mémorisée dans la mémoire de stockage du calculateur avec la première clé de stockage mémorisée dans la mémoire de stockage de l'outils de diagnostic, une étape d'envoi d'une requête de modification ou d'accès à au moins un paramètre de fonctionnement du calculateur par l'outil de diagnostic si les deux premières clés de verrouillage et de stockage sont identiques. [0010] Selon une variante de réalisation, le procédé de sécurisation comprend une étape de comparaison par le calculateur du véhicule automobile de la deuxième clé de verrouillage mémorisée dans la mémoire de stockage du calculateur avec la deuxième clé de stockage mémorisée dans la mémoire de stockage du serveur distant, une étape d'envoi d'une requête de modification ou d'accès à au moins un paramètre de fonctionnement du calculateur par l'outil de diagnostic si les deux deuxièmes clés de verrouillage et de stockage sont identiques. [0011] Selon une variante de réalisation, le procédé de sécurisation comprend une étape d'interdiction de l'étape de comparaison par le calculateur du véhicule automobile de la première clé de verrouillage mémorisée dans la mémoire de stockage du calculateur avec la première clé de stockage mémorisée dans la mémoire de stockage de l'outils de diagnostic, l'étape d'interdiction étant déclenchée soit lors de l'envoi par l'outil de diagnostic d'une requête de diagnostic déterminée, soit lorsque le véhicule automobile a parcouru une distance déterminée. 3 [0012] .Un troisième aspect de l'invention concerne un système informatique de sécurisation d'une requête de diagnostic pour un calculateur de véhicule automobile, caractérisé en ce qu'il comprend des moyens de mise en oeuvre des étapes du procédé selon le deuxième aspect. [0013] Un quatrième aspect de l'invention concerne un programme d'ordinateur comportant des instructions pour mettre en oeuvre le procédé de sécurisation d'une requête de diagnostic pour un calculateur de véhicule automobile selon le deuxième aspect, lorsqu'il est exécuté sur un ou plusieurs processeurs. [0014] D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description détaillée qui suit d'un mode de réalisation de l'invention donné à titre d'exemple nullement limitatif. [0015] [fig.1] représente une vue schématique du système de sécurisation d'une requête de diagnostic pour un calculateur de véhicule automobile selon l'invention. [0016] De manière connue en soi, un véhicule automobile comprend plusieurs calculateurs 1. Ces calculateurs permettent le fonctionnement du véhicule notamment le contrôle moteur, la commande des dispositifs de l'habitacle tel que la climatisation l'éclairage, la conduite du véhicule tel que le système de freinage, les systèmes actifs et passifs de sécurité etc... l'ensemble de ces calculateurs est connecté à un réseau de communication ou bus de données. [0017] Chaque calculateur 1 comprend une mémoire embarquée 10 permettant de stocker notamment un logiciel permettant de faire fonctionner le calculateur 1, les données reçues par le calculateur et des données relatives au véhicule ou au calculateur 1. A titre d'exemple, lorsqu'il est installé sur un véhicule, la mémoire embarquée 10 d'un calculateur 1 peut comprendre le numéro de série 13 du calculateur et/ou le numéro d'identification 14 du véhicule. [0018] Afin de vérifier le bon fonctionnement des calculateurs ou les paramétrer ou les mettre à jour, le réseau de communication comprend un connecteur diagnostic agencé pour recevoir la connexion d'un outil de diagnostic 2 de sorte que l'outil de diagnostic 2 puisse transmettre et recevoir des données au/du calculateur 1. L'outil de diagnostic est en quelque sorte un ordinateur comprenant une mémoire de stockage 20 sur laquelle est enregistré un programme d'ordinateur permettant d'accéder au calculateur 1 via le connecteur diagnostic. L'outil de diagnostic 2 comprend de façon connue en soi une interface homme machine (non représentée). [0019] L'outil de diagnostic 2 peut également comprendre un dispositif de communication apte à se connecter à un serveur distant 3. Le dispositif de communication est connu en soi. Il peut s'agir d'un module de connexion WIFI ou filaire. Le serveur distant dispose également d'une deuxième mémoire de stockage 30. Le serveur distant 3 est un serveur appartenant ou pour le moins donc l'accès est contrôlé par le constructeur automobile du véhicule. Il comprend notamment des informations relatives à l'identification de véhicule du constructeur notamment via le numéro d'identification du véhicule. [0020] Comme expliqué précédemment, dans la mesure où le ou les calculateurs 1 commandent plusieurs éléments sensibles du véhicule, les échanges de données entre le ou les calculateurs 1 et l'outil de diagnostic 2 doivent être sécurisés en utilisant la norme des Services de diagnostic unifiés ou en anglais, Unificd Diagnostic Services (UDS). En effet, l'accès au calculateur ne peut se faire que via un outil de diagnostic autorisé ou vérifié. [0021] Par ailleurs, lors de l'assemblage du véhicule le ou les calculateurs doivent être par exemple paramétrés. Ce paramétrage s'effectue également par l'intermédiaire d'un outil de diagnostic 2. Pour les mêmes raisons, l'accès au calculateur 1 lors de la fabrication du véhicule ne peut se faire que via un outil de diagnostic autorisé ou vérifié. Toutefois, lors de la fabrication l'accès au calculateur est moins exposé puisque le véhicule est sur un site de fabrication d'un constructeur. [0022] Selon l'invention et pour tenir compte des différents cycles de vie du véhicule, le système de sécurisation d'une requête de diagnostic à un calculateur de véhicule automobile selon l'invention comprend une première clé de verrouillage 11 et une deuxième clé de verrouillage 12 mémorisée sur la mémoire embarquée 10 du calculateur 1. Une première clé de stockage 21 correspondante est mémorisée sur la première mémoire de stockage 20 de l'outil de diagnostic 2. Une deuxième clé de stockage 32 correspondante est mémorisée sur la deuxième mémoire de stockage 30 du serveur distant 3. [0023] La première clé de verrouillage 11 et la première clé de stockage 21 dite commune est identique pour un groupe déterminité de calculateurs. Par exemple, la clé commune 11 est identique pour tous les calculateurs du même type (par exemple contrôle moteur) et de la même version (par exemple pour une gamme de véhicule pour un millésime donné). On comprend que la première mémoire de stockage 20 de l'outil de diagnostic 2 peut comprendre plusieurs clés communes 21différentes alors que le calculateur 1 ne comprend d'une seule clé commune 11. [0024] On comprend également que lors de la phase fabrication, l'envoi d'une requête de diagnostic pour l'outil de diagnostic 2 est précédé d'une comparaison par le calculateur 1 entre les clés communes 11, 21 présentent d'une part sur le calculateur 1 et d'autre part sur l'outil de diagnostic. Si la clé commune 11 présente sur le calculateur 1 correspond à l'une des clés communes 21 présentent sur l'outil de diagnostic, alors la requête de diagnostic est autorisée. [0025] On comprend que l'accès au calculateur 1 via l'outil de diagnostic 2 peut être réalisé sans qu'un accès au serveur distant 3 ne soit nécessaire. Cependant, dans le cadre des opérations d'assemblage du véhicule, la sécurité du calculateur 1 est peu exposée puisqu'il se trouve dans l'enceinte d'une usine du constructeur automobile. A la fin du processus de fahrication, le numéro d'identification du véhicule 14 est connu. Celui-ci est mémorisé dans le calculateur 1 par exemple via une requête de diagnostic de l'outil de diagnostic 2. De même, le numéro d'identification du véhicule est lié d'une part au numéro de série du calculateur 13 et d'autre part à la deuxième clé 12 de verrouillage dite unique. L'information concernant l'association entre la clé unique 12, le numéro d'identification du véhicule 14 et le numéro de série du calculateur 13 est mémorisé sur la deuxième mémoire de stockage du serveur distant 3. [0026] A l'issue de la fahrication du véhicule, celui-ci entre dans une phase de distribution. Lors de cette phase, le véhicule n'est pas encore affecté à un utilisateur final. Il peut être en attente de livraison ou en cours de livraison. Là encore, l'environnement du véhicule est contrôlé par le constructeur, par conséquent, le niveau d'exposition de la sécurité du calculateur est faible. Pendant, cette phase de distribution, si une requête de diagnostic devait être envoyée par un outil de diagnostic 2, une vérification de la conformité de la clé commune 11 ou de la clé unique 12 serait réalisée. [0027] La vérification de la clé unique 12 nécessite l'accès par l'outil de diagnostic 2 au serveur distant 3. Cette vérification s'effectue de la façon suivante. L'outil de diagnostic 2 lit dans un premier temps le numéro de série du calculateur 13 et le numéro d'identification du véhicule 14 stockés sur la mémoire embarquée du calculateur 1 du véhicule. Le numéro de série du calculateur 13 et le numéro d'identification du véhicule 14 sont ensuite transmis par l'outil de diagnostic 2 au serveur distant pour obtenir la valeur de la clé unique correspondante 32 et mémorisée sur la deuxième mémoire de stockage du serveur distant. [0028] La valeur de la clé unique 32 envoyée par le serveur distant 3 à l'outil de diagnostic est alors comparée par le calculateur 1 à la valeur de la clé unique 12 mémorisé sur la mémoire embarquée 10 du calculateur 1. Si les deux valeurs sont identiques, la requête de diagnostic envoyée au calculateur 1 par l'outil de diagnostic est autorisée. [0029] Dès que le véhicule est affecté et livré à un client final, l'environnement du véhicule n'est plus contrôlé par le constructeur. Il est donc nécessaire d'augmenter la sécurité de connexion au calculateur 1 du véhicule. Par conséquent, à l'issue de la fabrication et avant la livraison au client final, l'utilisation de la clé commune mémorisée 11 sur le calculateur est neutralisé de façon irréversible de sorte que pour chaque requête de diagnostic transmis par un outil de diagnostic 2 soit précédé uniquement de la vérification de la correspondance de la clé unique avec par conséquent, nécessité d'accéder au serveur distant 3. [0030] Pour ce faire, le calculateur 1 comprend une zone 15 de la mémoire embarquée 10 modifiable une seule fois. Cette zone 15 de la mémoire est lue le calculateur 1. Selon la valeur inscrite dans cette zone 15, le calculateur 1 procèdera soit à la comparaison de 6 l'une ou l'autre de la clé commune ou de la clé unique soit uniquement à la comparaison de la clé unique. A l'état initial, c'est-à-dire lors de la fabrication du calculateur 1, la valeur inscrite dans la zone 15 correspond à une vérification de la clé commune ou de la clé unique. [0031] A la fin du processus de fabrication et avant la livraison du véhicule au client final la valeur de la zone 15 est modifiée de façon irréversible dans la mémoire embarquée 10 du calculateur 1. La nouvelle valeur inscrite dans la zone 15 correspond alors à une vérification de la clé unique uniquement avant l'exécution d'une requête de diagnostic envoyée par un outil de diagnostic. [0032] On comprend que la modification de la zone 15 spécifique de la mémoire embarquée du calculateur 1 interdit de façon définitive l'utilisation de la clé commune pour autoriser l'exécution d'une requête de diagnostic transmise par un outil de diagnostic 2. [0033] La modification de la zone 15 spécifique de la mémoire embarquée peut être est réalisée de 2 façons : soit via une requête de diagnostic spécifique envoyée, après authentification par exemple de la clé commune, par un outil de diagnostic, soit par le programme d'ordinateur du calculateur lui-même après que ce dernier ait détecté que le véhicule a parcouru une distance déterminée par exemple de l'ordre de quelques kilomètres à un millier de kilomètres. 7 [Revendication 1] [Revendication 2] [Revendication 3] [Revendication 4] REVENDICATIONSSystème de sécurisation d'une requête de diagnostic pour un calculateur (1) de véhicule automobile, : - le calculateur de véhicule (1) automobile comprenant : - un élément de connexion diagnostic agencé pour recevoir une connexion avec un outil de diagnostic (2), - une mémoire embarquée de stockage (10), - l'outil de diagnostic (2) comprenant : - une première mémoire de stockage (20) sur laquelle est installé un programme d'ordinateur susceptible d'accéder au calculateur (1) pour modifier au moins un paramètre de fonctionnement, une fois l'outil de diagnostic (2) connecté au connecteur diagnostic, - un dispositif de communication apte à se connecter à un serveur distant (3), - une deuxième mémoire de stockage (30) installée sur le serveur (3) distant caractérisé en ce que : la mémoire embarquée de stockage (10) du calculateur de véhicule automobile comprend une première clé de verrouillage (11) et une deuxième clé de verrouillage (12), la première mémoire de stockage (20) de l'outil de diagnostic comprend une première clé de stockage (21) agencée pour déverrouiller la première clé de verrouillage (11), la deuxième mémoire de stockage (30) du serveur distant (3) comprend une deuxième clé de stockage (32) agencée pour déverrouiller la deuxième clé de verrouillage (12), de sorte à ce que le calculateur puisse contrôler l'accès par l'outil de diagnostic lors d'une requête de diagnostic. Système de sécurisation d'une requête de diagnostic pour un calculateur de véhicule automobile selon la revendication 1 dans lequel la première clé de verrouillage (11) est identique pour tous les calculateurs d'un groupe déterminé de calculateurs. Système de sécurisation d'une requête de diagnostic pour un calculateur de véhicule automobile selon l'une des revendications 1 ou 2 dans lequel la deuxième clé de verrouillage (12) est unique pour chaque calculateur. Procédé de sécurisation d'une requête de diagnostic pour un système selon l'une des revendications 1 à 3 caractérisé en ce qu'il comprend - une étape de comparaison par le calculateur (1) du véhicule automobile de la première clé de verrouillage (11) mémorisée dans la 8 [Revendication 5] [Revendication 6] [Revendication 7] [Revendication 8] mémoire de stockage (10) du calculateur (1) avec la première clé (21) de stockage mémorisée dans la mémoire de stockage (20) de l'outils de diagnostic - une étape d'envoi d'une requête de modification ou d'accès à d'au moins un paramètre de fonctionnement du calculateur par l'outil de diagnostic si les deux premières clés de verrouillage et de stockage sont identiques. Procédé de sécurisation d'une requête de diagnostic selon la revendication 4 caractérisé en ce qu'il comprend - une étape de comparaison par le calculateur (1) du véhicule automobile de la deuxième clé de verrouillage (12) mémorisée dans la mémoire de stockage du calculateur avec la deuxième clé de stockage (32) mémorisé dans la mémoire de stockage (30) du serveur distant (3) - une étape d'envoi d'une requête de modification d'au moins un paramètre de fonctionnement du calculateur par l'outil de diagnostic si les deux deuxièmes clés de verrouillage et de stockage sont identiques. Procédé de sécurisation d'une requête de diagnostic selon la revendication 4 ou 5 caractérisé en ce qu'il comprend - une étape d'interdiction de l'étape de comparaison par le calculateur (1) du véhicule automobile de la première clé de verrouillage mémorisée (11) dans la mémoire de stockage (10) du calculateur (1) avec la première clé de stockage (21) mémorisé dans la mémoire de stockage (20) de l'outils de diagnostic (2) - l'étape d'interdiction étant déclenchée soit lors de l'envoi par l'outil de diagnostic d'une requête de diagnostic déterminée, soit lorsque le véhicule automobile a parcouru une distance déterminée. Système informatique de sécurisation d'une requête de diagnostic pour un calculateur de véhicule automobile, caractérisé en ce qu'il comprend des moyens de mise en oeuvre des étapes du procédé selon l'une quelconque des revendications 4 à 6. Programme d'ordinateur comportant des instructions pour mettre en oeuvre le procédé de sécurisation d'une requête de diagnostic pour un calculateur de véhicule automobile selon l'une des revendications 4 à 6, lorsqu'il est exécuté sur un ou plusieurs processeurs.