Brevet FR2748144A1 — publié le 19971031

Procédé de transmission sécurisée entre un émetteur et un récepteur, émetteur et récepteur pour la mise en oeuvre du procédé. En matière de transmission de données point à point ou au sein d'un réseau, il peut être nécessaire de rendre les données inaccessibles à un tiers, notamment pour des raisons de confidentialité. La demanderesse s'est posé le problème particulier de sécuriser une télécommande par infrarouge pour véhicule destinée à commander une ouverture de portières par exemple. D'emblée, la présente demande ne doit pas être considérée comme limitée à la solution de ce problème particulier. Un dispositif de télécommande à infrarouge permet à l'utilisateur de transmettre à un dispositif de réception du véhicule des données de commande à exécuter. La transmission, entre le dispositif de télécommande et le dispositif de réception du véhicule, d'un mot confidentiel à saisir par l'utilisateur, enregistré dans le véhicule et destiné à commander l'ouverture des portières, par exemple, n'offre aucune garantie de sécurité, un tiers pouvant enregistrer ce mot lors d'une transmission quelconque et le rejouer ultérieurement pour ouvrir frauduleusement les portières. En fait, c'est le problème plus général de la transmission répétitive, entre un émetteur et un récepteur, d'une information pouvant être validée par le récepteur qui est ici posé. La protection d'une telle transmission nécessite que les données transmises portant ladite information (ouverture de portières) ne soient pas elles-mêmes répétitives. Un procédé connu de protection de transmission de données consiste à générer, dans l'émetteur, à partir d'un mot de référence suivant une loi aléatoire, un mot embrouillé, par embrouillage avec une clé secrète, puis à transmettre au récepteur le mot de référence et le mot embrouillé correspondant, à générer, dans le récepteur, un second mot embrouillé à partir du mot de référence transmis et reçu, par embrouillage avec la même clé secrète, et enfin à comparer entre eux les deux mots embrouillés afin de valider la transmission en cas d'identité. A cet égard, on remarquera que la transmission du mot de référence aléatoire permet de "synchroniser" l'émetteur et le récepteur pour l'embrouillage. Ce procédé offre une protection relativement correcte de la transmission de données, en particulier s'il s'agit d'une transmission répétitive à valider. On connaît encore un autre procédé, plus performant, enseigné par US-A- 363 448, qui propose d'embrouiller, côté émission et côté réception, le nombre de référence aléatoire par deux étapes successives d'embrouillage à l'aide d'une ou de deux clés secrètes. A partir du nombre de référence, on génère ainsi un nombre secondaire une fois embrouillé fondant lui- même un nombre tertiaire doublement embrouillé. L'émetteur transmet au récepteur uniquement le nombre de référence et le nombre tertiaire doublement embrouillé correspondant, de sorte que le tiers ne peut pas avoir accès au nombre secondaire une fois embrouillé, ce qui l'empêche de percer la ou les clés secrètes. Les deux derniers procédés présentés ci-dessus prévoient également de vérifier, à la réception, la nouveauté des données transmises, par comparaison de celles-ci aux données précédemment validées et stockées dans une mémoire anti-rejeu. Certes, la protection de la transmission de données est ici plus robuste contre des moyens informatiques d'analyse des données, mais encore partielle contre le rejeu du fait qu'il ne s'agit de vérifier cette nouveauté que par rapport aux données reçues récemment dans une fenêtre limitée par la taille de la mémoire anti-rejeu. L'invention vise à protéger une transmission de données par un procédé plus efficace notamment contre le rejeu. A cet effet, l'invention concerne un procédé de transmission sécurisée de données entre un émetteur et un récepteur, dans lequel il est prévu à chaque transmission, côté émission, de procéder à deux embrouillages successifs, avec au moins une clé secrète, d'un mot d'une suite de mots de référence avant d'obtenir un mot doublement embrouillé et, côté réception, après transmission de données comprenant le mot doublement embrouillé considéré, de tester la nouveauté des données reçues, de vérifier que le mot doublement embrouillé reçu et le mot de référence considéré se correspondent, avant de valider le mot doublement embrouillé, procédé caractérisé par le fait que, côté émission, on embrouille doublement, l'un après l'autre, et transmission après transmission, les mots de référence selon une suite correspondant à une loi en mémoire du côté réception et, côté réception, on s'assure de la réception d'une suite de mots correspondant à la dite loi. Le procédé de l'invention non seulement exige de façon avantageuse la nouveauté absolue des données reçues mais encore il permet de s'affranchir des problèmes de resynchronisation inhérent aux procédés de l'art antérieur. En effet, la connaissance de la loi, non aléatoire, et du dernier mot de référence émis permet au récepteur de prédire le mot suivant qu'il doit recevoir, et ainsi de se synchroniser automatiquement. La réception d'un mot de référence qui suit, selon la loi, le mot précédemment reçu permet ainsi de vérifier à la fois qu'il s'agit d'un mot valable, défini par la loi, et d'un mot nouveau, puisqu'on vérifie que la suite de mots est parcourue dans le sens voulu. Les données transmises peuvent comprendre soit uniquement le mot embrouillé soit le mot embrouillé et le mot de référence correspondant. Dans le premier cas (transmission uniquement du mot embrouillé), le récepteur peut vérifier que le mot doublement embrouillé transmis et reçu correspond bien au mot de référence prévu et attendu par le récepteur d'après la loi, en restituant un mot de référence, à partir du mot doublement embrouillé, avec deux débrouillages successifs. Si le mot de référence ainsi restitué est identique à celui prévu et attendu, alors le récepteur valide la nouveauté, se resynchronise sur l'émetteur et valide les données. Dans ce cas, un tiers ne peut observer que des mots embrouillés, sans pouvoir prendre connaissance des mots de référence, ce qui accroît considérablement la protection du secret de l'embrouillage. Dans le second cas (transmission du mot embrouillé et du mot de référence correspondant), le récepteur peut vérifier que le mot de référence et le mot doublement embrouillé, transmis et reçu, se correspondent bien. Cette vérification peut être effectuée: - soit par deux embrouillages successifs, avec la ou les clés secrètes, du mot de référence, engendrant le mot doublement embrouillé, - soit par deux débrouillages successifs du mot doublement embrouillé, en utilisant en inverse la ou les clés secrètes, afin de remonter au mot de référence. En outre, la transmission du mot de référence conduit à une synchronisation automatique du récepteur sur l'émetteur, pour la mise en service initiale ou encore après une activation de l'émetteur hors de portée du récepteur. La nouveauté de données transmises au récepteur est vérifiée à l'aide du nouveau mot de référence et du dernier mot de référence validé et stocké dans la mémoire anti-rejeu. Ainsi, cette nouveauté est établie par rapport au dernier mot de référence et, en corollaire, par rapport à tous les précédents mots de référence du fait qu'on vérifie que la suite est parcourue dans un sens déterminé. Il est inutile de mémoriser une quantité importante et forcément limitée de données précédemment validées, et de surcroît la protection contre le rejeu de données, même très anciennes, est totale. L'invention concerne aussi un émetteur pour la mise en oeuvre du procédé de lI'invention, comportant des moyens pour commander successivement des moyens mémoires agencés pour, en réponse, transmettre successivement, à travers des moyens d'embrouillage double, une suite de mots de référence à des moyens d'émission, caractérisé par le fait que les moyens mémoires sont agencés pour que les mots de référence successifs suivent une loi déterminée. Enfin, l'invention concerne aussi un récepteur pour la mise en oeuvre du procédé de l'invention, comportant des moyens de réception et de mémorisation de données émises représentant deux mots de référence successivement émis, caractérisé par le fait qu'il comporte des moyens de calcul agencés pour déterminer, d'après une loi déterminée, le mot de référence qui suit le premier mot de référence et pour valider le second mot de référence reçu s'il concorde avec celui-là. Bien que l'émetteur et le récepteur soient nécessaires simultanément pour la mise en oeuvre du procédé, la demanderesse entend cependant les revendiquer séparément puisque chacun peut être séparément mis dans le commerce. L'invention sera mieux comprise à l'aide de la description suivante d'un mode io de mise en oeuvre préféré du procédé de transmission sécurisée de données selon l'invention et d'une variante, entre un émetteur, en l'espèce une télécommande à infrarouge d'une voiture automobile, et un récepteur de la voiture, en référence au dessin annexé, sur lequel: - la figure 1 représente un schéma bloc fonctionnel de l'émetteur pour la mise en oeuvre de l'invention; - la figure 2 représente un schéma bloc fonctionnel du récepteur associé à l'émetteur de la figure 1, et - la figure 3 représente un schéma bloc fonctionnel d'un autre récepteur pour la mise en oeuvre de la variante. Côté émetteur (figure 1), un utilisateur souhaitant ouvrir par télécommande les portières de sa voiture actionne un bouton-poussoir 1 qui active un compteur 2 commandant un bloc de calcul 3 fournissant un mot de référence Ni 201. On embrouille le mot de référence Ni 201 dans un ensemble d'embrouillage 4- 7 comportant un embrouilleur 4 utilisant une clé secrète K1 mémorisée dans une mémoire 6, en un mot secondaire une fois embrouillé N'i 202 que, dans cet exemple, on embrouille également avec un autre embrouilleur 5, aval, utilisant une autre clé secrète K2, ici différente de la clé K1 et mémorisée dans une mémoire 7, avant d'engendrer un mot tertiaire doublement embrouillé Ni" 203. Puis on transmet au récepteur, au moyen d'un bloc 8 d'émission, ici par infrarouge, des données comprenant ici le mot doublement embrouillé Ni" 203 et, le mot de référence Ni 201. Dans le récepteur, (figure 2), on reçoit, avec un bloc de réception infrarouge 9, les données ci-dessus (201, 203), que l'on stocke provisoirement dans une mémoire de travail 10. On embrouille le mot de référence reçu et stocké Ni 201, avec deux embrouilleurs 14, 15 en série, identiques aux embrouilleurs 4, 5 de l'émetteur et utilisant aussi les deux clés secrètes K1 et K2 mémorisées dans des mémoires respectives 16 et 17, avant de générer un mot tertiaire doublement embrouillé Ni"' 204 qui peut différer de celui reçu et stocké dans la mémoire de travail 10, en particulier en cas de tentative de fraude d'un tiers. On compare entre eux, avec un comparateur 18, le mot Ni"' 204, doublement embrouillé dans le récepteur, et le mot Ni" 203, doublement embrouillé dans l'émetteur et stocké dans la mémoire de travail 10 du récepteur. Si les deux mots sont identiques, un premier signal d'accord 21 est envoyé à l'entrée d'une porte logique ET 19. D'autre part, on vérifie la nouveauté, et la concordance avec la loi, du mot de référence Ni 201 reçu et stocké. Le mot de référence 101 précédemment reçu et validé, Ni-1, a été stocké, comme expliqué plus loin, dans une mémoire anti- rejeu 11, un simple registre, alimentant un bloc de calcul 12 qui reçoit aussi le dernier mot de référence Ni, 201, stocké dans la mémoire 10. Le bloc de calcul 12 applique les mots 101 et 201 à un comparateur 13 foumrnissant, comme expliqué plus loin, un second signal d'accord 22 appliqué à une autre entrée de la porte logique ET 19. Les mots de référence Ni1 101 et Ni_1 201 sont en fait représentés par leur rang respectif Ri_1 et Ri, comme expliqué plus loin. La porte 19 foumrnit, à réception des premier et second signaux d'accord 21 et 22, un signal 23 de validation des données reçues, qui commande un actionneur, non représenté, déverrouillant les portières de la voiture. Le signal 23 commande aussi la mise à jour de la mémoire 11 par déverrouillage d'une porte 20 transférant le dernier nombre de référence Ni 201 dans la mémoire 11 o il remplace le nombre Ni-1 et synchronise ainsi automatiquement le récepteur. Le procédé prévoit également que les mots de référence Ni appartiennent à une suite de mots définie par une loi déterminée. On génère ces mots l'un après l'autre, et transmission après transmission, lors de l'actionnement du bouton-poussoir 1 de télécommande de déverrouillage des portières qui commande l'incrémentation d'une unité du compteur 2, présentant un état représenté par un entier Ri_1. L'entier Ri_1 est remplacé par l'entier suivant Ri, et on alimente le bloc de calcul 3 avec ce dernier entier Ri. Dans le bloc 3, on calcule, à l'aide d'une fonction réciproque F, mémorisée localement, les mots de référence, en l'espèce les nombres de référence Ni 201, les uns à la suite des autres lors des envois successifs de télécommandes, à partir des entiers successifs Ri , obtenus par incrémentation et représentant le rang de chaque télécommande émise. La fonction F génère à partir d'une suite d'antécédents Ri, (ici suite des entiers positifs), une suite de nombres de référence Ni 201, images respectives des nombres Ri 200, chaque antécédent Ri étant précédemment émis par le compteur 2 et temporairement mémorisé sous la forme de son rang Ri, dans le compteur 2, ou sous la forme du mot de référence Ni_1 dans le bloc de calcul 3. La fonction réciproque F est telle que chaque antécédent Ri 200 ne fonde qu'une seule image Ni 201, et chaque image Ni 201 n'est générée que par un seul antécédent Ri 200. Dans cet exemple, la loi est représentée par une fonction F de la forme: Ni = F (Ri) dans laquelle Ri est le rang de la commande, croissant à chaque fois d'une unité depuis une valeur initiale nulle. La fonction F (Ri) est réciproque et ici, pour la simplicité, monotone croissante. Dans cet exemple, elle correspond à une simple multiplication de la variable Ri par une constante, ici un nombre réel entier positif égal à 2, soit: Ni = 2 Ri En d'autres termes, le nombre de référence Ni doit, ici, être entier et pair, c'est- à-dire que, inversement, tout nombre Ni ne répondant pas à ces deux critères ne sera pas reconnu par le récepteur puisqu'il n'appartient alors pas à la suite de valeurs discrètes correspondant, par la loi, aux rangs Ri successifs. A la place du bloc de calcul 3, il aurait pu être prévu une simple mémoire de capacité suffisante pour contenir la suite des mots de référence Ni 201. io Dans le récepteur, on détermine aussi la suite Ri 200 pour vérifier la nouveauté des nombres Ni 201 reçus et resynchroniser le récepteur et l'émetteur, comme expliqué plus loin. Dans la mémoire anti- rejeu 11, associée à la mémoire de travail 10, on a stocké le dernier nombre de référence validé Ni-1 101. Il aurait tout aussi bien pu être prévu de le stocker sous sa forme embrouillée N"i_1 103. Dans le bloc de calcul 12, relié à la mémoire de travail et à la mémoire anti- rejeu 11, on calcule, à l'aide d'une fonction F-1 les rangs, ou antécédents, Ri et Ri_1 (200, 100) des nombres de référence Ni et Ni-1, 201, 101. La fonction F-1 est inverse de la fonction réciproque F, autrement dit peut générer les antécédents Ri à partir des images Ni. En lI'espèce, la fonction F-1 correspond à une simple division par le nombre réel entier positif égal à 2, soit: N, -2 Puis on compare entre eux ces antécédents calculés Ri, Ri-1 (200, 100) dans le comparateur 13. Si l'antécédent Ri 200 du nombre de référence 201 reçu et stocké dans la mémoire de travail 10 est un entier supérieur à l'antécédent Rii1, 100 du dernier nombre de référence validé Ni_1, 101, alors la nouveauté est admise. Pour éviter d'accepter toute télécommande nouvelle dont le rang Ri ne suivrait pas celui de la précédente télécommande, de rang Ri_1, et pour ainsi mieux sécuriser la transmission, le comparateur 13 est ici un soustracteur ne fournissant le signal de validation 22 que lorsque le rang Ri de la dernière télécommande est égal à celui de la télécommande précédente Ri_1 (100) augmenté d'une unité. En d'autres termes, le bloc de calcul 12 et le soustracteur 13 ont pour fonction de déterminer, d'après la loi représentée par la fonction F-1, un second mot de référence (201 ou 203) qui suit un premier mot de référence reçu juste avant (101 ou 103) et de valider le second mot de référence reçu (201; 203) s'il concorde avec celui-là (101, 103). Il pourrait cependant être prévu que cette fenêtre d'acceptation de rang soit de taille supérieure à une unité, afin de tolérer une désynchronisation partielle entre le récepteur et l'émetteur, due à l'activation de celui-ci alors qu'il est hors de portée de celui- là. Dans ce cas, le comparateur 13 serait constitué du soustracteur ci- dessus, suivi d'un circuit comparant son résultat (positif) à un seuil haut limitant la fenêtre d'acceptation et fournissant le signal 22 si ce io résultat est inférieur ou égal au seuil. En cas de validation de la transmission (23), on remplace, comme indiqué, dans la mémoire anti-rejeu 11, le dernier nombre de référence validé Ni- 1 101, par le nouveau nombre de référence validé Ni, afin de maintenir la synchronisation du récepteur sur l'émetteur. Pour la mise en service initiale, il est effectué une synchronisation initiale de l'émetteur et du récepteur initialisant la suite 201 des mots de référence, synchronisation au cours de laquelle on enregistre, dans le compteur 2 de I'émetteur et dans la mémoire anti-rejeu 11 du récepteur, respectivement un entier de rang initial R0 et le nombre de référence No qui lui correspond par la fonction F. A cet effet, le nombre No 201 et le nombre doublement embrouillé correspondant N"o 203 sont émis par l'émetteur. Le récepteur accepte les nombres No et N"o et met à jour la mémoire 11 par le nombre de référence Nio, sans test de nouveauté dans cet exemple, c'està- dire qu'il reconnaît le nombre spécifique No comme étant uniquement une télécommande de synchronisation ouvrant la porte 20 par une entrée supplémentaire non représentée, mais sans effet mécanique de déverrouillage des portières. L'envoi du nombre No est commandé par une touche spécifique de l'émetteur et permet, si besoin est, des synchronisations ultérieures à la mise en service initiale. Dans la variante de la figure 3, on transmet, de l'émetteur au récepteur, des données contenant uniquement le nombre tertiaire Ni" 203 doublement embrouillé. Dans ce cas, dans le récepteur, on reçoit le nombre doublement embrouillé Ni" 203, au moyen d'un bloc 29 de réception par infrarouge, que l'on stocke dans une mémoire de travail 30. Puis on débrouille le nombre Ni" 203, avec deux débrouilleurs en série 35, 34 utilisant respectivement les clés secrètes K2-1 et K1-1 mémorisées dans des mémoires 37 et 36, inverses respectivement des clés secrètes K2 et K1 de l'émetteur. On remonte ainsi au nombre de référence Ni 201 correspondant. A partir de celui-ci ainsi qu'à partir 0 du précédent nombre de référence Ni_1 101 validé et stocké dans une mémoire anti-rejeu 31, on calcule leurs antécédents Ri et Ri_1 200, 100 par la fonction réciproque inverse F-1, dans un bloc de calcul 32. On compare entre eux ces antécédents Ri et Ri_1 200, 100, à l'aide d'un comparateur 33. Si l'antécédent Ri 200 est supérieur à l'antécédent Ri_1 100, ici d'une unité, on valide la transmission et on resynchronise l'émetteur et le récepteur en remplaçant dans la mémoire anti-rejeu 31 le dernier mot de référence validé 101 par le nouveau mot de référence validé 201, à travers une porte 40 ouverte pour le comparateur 33. Il peut encore être prévu que les mots de référence 201 et/ou les mots secondaires 202 ou tertiaires 203 soient une séquence de caractères et/ou nombres quelconques et non, comme ici, uniquement des nombres entiers. REVENDICATIONS 1.- Procédé de transmission sécurisée de données entre un émetteur et un récepteur, dans lequel il est prévu à chaque transmission, côté émission, de procéder à deux embrouillages successifs (4, 6), avec au moins une clé secrète (K1; K2), d'un mot d'une suite de mots de référence (201) avant d'obtenir un mot doublement embrouillé (203) et, côté réception, après transmission de données comprenant le mot doublement embrouillé (203) considéré, de tester la nouveauté des données reçues, de vérifier que le mot doublement embrouillé reçu (203) et le mot de référence considéré (201) se correspondent avant de valider le mot doublement embrouillé (203), procédé caractérisé par le fait que, côté émission, on embrouille doublement l'un après l'autre, et transmission après transmission, les mots de référence (201) selon une suite correspondant à une loi (F) en mémoire du côté réception et, côté réception, on s'assure de la réception d'une suite de mots correspondant à la dite loi (F). 2.- Procédé selon la revendication 1, dans lequel, côté émission, on commande une synchronisation initiale du récepteur sur l'émetteur par émission d'un mot de référence spécifique et, côté réception, on reconnaît le mot de référence spécifique et le mémorise comme mot de début de la suite (No). 3.- Procédé selon l'une des revendications 1 et 2, dans lequel on transmet aussi dans les données le mot de référence (201). 4.- Procédé selon la revendication 3, dans lequel, côté réception, on vérifie la correspondance, entre le mot de référence (201) et le mot doublement embrouillé (203) reçus, par double embrouillage du mot de référence (201) au moyen de ladite clé (K1, K2) et par comparaison du résultat au mot doublement embrouillé reçu (203). 5.- Procédé selon l'une des revendications 1 à 4, dans lequel, côté réception, on débrouille au moyen desdites clés (K1, K2), le mot doublement embrouillé (203) pour obtenir le mot de référence (201) afin de vérifier qu'il appartient à la suite de mots. 6.- Emetteur pour la mise en oeuvre du procédé de la revendication 1, comportant des moyens (1) pour commander successivement des moyens mémoires (2, 3) agencés pour, en réponse, transmettre successivement, à travers des moyens d'embrouillage double (4-7), une suite de mots de référence (201) à des moyens d'émission (8), caractérisé par le fait que les moyens mémoires (2, 3) sont agencés pour que les mots de référence (201) successifs suivent une loi déterminée (F). 7.- Emetteur selon la revendication 6, dans lequel les moyens mémoires (2, 3) io comportent des moyens de calcul (3) agencés pour déterminer, d'après la loi (F), le mot de référence (201) qui suit un mot de référence précédemment émis et temporairement mémorisé (Ri-1; 101) dans les moyens mémoires (2, 3). 8.- Récepteur pour la mise en oeuvre du procédé de la revendication 1, comportant des moyens (10, 11; 30-31) de réception et de mémorisation de données émises représentatives de deux mots de référence successivement émis (101; 103, 201; 203), caractérisé par le fait qu'il comporte des moyens (12-13; 32-33) de calcul agencés pour déterminer, d'après une loi prédéterminée (F), le mot de référence (201; 203) qui suit le mot de référence (101, 103) reçu en premier (101) et pour valider le second mot de référence reçu (201; 203) s'il concorde avec celui-là (101; 103). 9.- Récepteur selon la revendication 8, dans lequel les moyens de calcul comportent des moyens de débrouillage (34-37) des données reçues. 10.- Récepteur selon la revendication 8, dans lequel les moyens de calcul comportent des moyens d'embrouillage (14-17) de mots de référence (201) reçus dans les données et sont agencés (18) pour valider celles-ci par comparaison du résultat au mot de référence embrouillé reçu (203).