Brevet FR2717021A1 — publié le 19950908

Procédé de sécurisation de la transmission de données numériques entre abonnés d'un réseau de transmission par paquets. La présente invention concerne un procédé de sécurisation de la transmission de données numériques entre abonnés, d'un réseau de transmission par paquets dans lequel des paquets de données d'un message auxquelles sont associées des données de sécurité sont transmis d'un abonné appelant vers un abonné appelé. Lorsque des données sont échangées entre deux abonnés à travers un réseau public, il convient de prendre des mesures de sécurité dès lors que ces données présentent une certaine valeur. Ces mesures de sécurité doivent assurer la transmission correcte des données et leur réception par le seul destinataire. Cette sécurité concerne plusieurs aspects. Pour se prémunir contre une réémission, de données émises par l'un des abonnés, effectuée par un tiers après manipulation de ces données, il est connu d'adjoindre, en fin de données, un mot de code de contrôle secret, modifié en fonction des données transmises. En réception, les données et le code ayant été reçus, on redétermine de même un mot de code de contrôle à partir des données reçues et on vérifie qu'il est identique à celui qui a été reçu. En cas de non identité, on décèle ainsi tout défaut de transmission ou manipulation des données; on peut ainsi valider les données après s'être assuré de leur intégrité. La perte d'un paquet en cours de transmission est détectée en fin de transmission, par envoi du nombre de paquets émis; elle peut aussi, comme la duplication d'un paquet, être détectée en cours de transmission par numérotage des paquets. Les données transmises sont embrouillées au moyen d'un code, ou clé électronique, secret, qui assure leur confidentialité et l'abonné récepteur effectue un débrouillage au moyen d'une clé de débrouillage complémentaire de la clé d'embrouillage. Ainsi, un tiers recevant les données embrouillées ne peut les exploiter faute de disposer de la clé de débrouillage. L'identité de L'émetteur est authentifiée en début de transmission par échange de paquets, dans lesquels on vérifie l'adresse de l'émetteur et le type de clé d'embrouillage utilisé, spécifiquement, par l'émetteur. Cependant, comme la clé d'embrouillage effectue un embrouillage variable mais répétitif, une observation de longue durée des données embrouillées et transmises pourrait permettre de déterminer les clés utilisées et donc de débrouiller les données. II est donc conseillé de prévoir périodiquement un changement de la paire de clés. Ce changement n'était cependant pas réalisable au cours d'une transmission de données, puisque l'abonné appelé ne pouvait connaître la clé de débrouillage prévue. II fallait interrompre la transmission pour saisir les nouvelles clés à partir d'un serveur ou de moyens locaux d'écriture de ces clés. D'autre part, les contrôles intervenant au début du message ne pouvaient pas avoir une efficacité totale pour la suite du message, tandis que les contrôles intervenant en fin de message interdisaient d'exploiter ces données en temps réel et obligeaient à les stocker tant qu'elles n'avaient pas été validées. En outre, en cas d'existence d'un paquet défectueux dans un message, les paquets suivants étaient cependant transmis, souvent en pure perte, puisque la détection du paquet défectueux n'intervenait qu'à la fin du message. La présente invention vise à faciliter la mise en oeuvre des mesures de sécurité indiquées ci-dessus et à en accroître l'efficacité. A cet effet l'invention concerne un procédé du type mentionné ci-dessus, caractérisé par le fait qu'on insère cycliquement des données de sécurité dans des paquets à transmettre de l'abonné appelant vers l'abonné appelé. On peut ainsi notamment détecter rapidement un défaut dans un paquet et demander immédiatement la retransmission de ce seul paquet. On peut encore, en cas de détection de manipulation, détecter cette manipulation et demander à l'abonné appelant d'interrompre immédiatement son émission. Avantageusement, à l'émission, on embrouille les données à transmettre selon une clé d'embrouillage et on insère, dans les données de sécurité, des données d'identification d'une clé de débrouillage des données transmises correspondant à la clé d'embrouillage. L'abonné appelé peut ainsi, en début de message, être informé de l'identité de la clé à utiliser et en recevoir confirmation, soit systématiquement soit cycliquement. Avantageusement encore, on insère, dans les données de sécurité, des données d'identification d'une clé de débrouillage prévisionnelle correspondant à une clé d'embrouillage prévisionnelle et, en réception, on se procure la clé de débrouillage prévisionnelle par détection de ses données d'identification et on l'utilise des qu'elle permet de valider des paquets et, après s'être procuré la clé de débrouillage prévisionnelle, on l'indique à l'abonné appelant en émettant un acquis et, après réception de cet acquis, L'abonné appelant utilise la clé d'embrouillage prévisionnelle pour l'embrouillage des données d'un paquet ultérieur, L'acquis pouvant être transmis sous forme d'un paquet embrouillé en fonction de la clé de débrouillage prévisionnelle. On asservit ainsi le changement de clé de l'abonné appelant à partir de l'abonné appelé, ce qui laisse à celui-ci le temps voulu pour se procurer la clé. En outre, la transmission de l'acquis sous forme d'un embrouillage particulier d'un paquet ne nécessite pas le renvoi d'un paquet spécifique et cet acquis est alors implicite si la transmission est bidirectionnelle, l'abonné appelé transmettant d'autres données vers l'abonné appelant. L'invention sera mieux comprise à l'aide de la description suivante du mode de réalisation préféré d'une liaison de données pour la mise en oeuvre du procédé de l'invention, en référence au dessin annexé, sur lequel - la figure 1 est une représentation schématique d'un réseau reliant deux appareils de transmission de données par paquets, - la figure 2 illustre la façon selon laquelle les paquets sont organisés, - la figure 3 représente un paquet et - les figures 4 et 5 sont des organigrammes illustrant le procédé de l'invention. Le réseau 1 de la figure 1 est un réseau de transmission de données par paquets, auquel sont raccordés deux appareils 2, 3 de transmission de données respectivement utiiisés par deux abonnés du réseau. Un message à transmettre de l'abonné 2, appelant, vers l'abonné 3, appelé, comporte des données d'exploitation, utilisables par l'abonné 3 appelé, données qui, comme représenté sur les figures 2 et 3, sont réparties entre plusieurs paquets successifs 11-16, dans une portion d'un champ de données 21 de chaque paquet prévue à cet effet. Chaque paquet 11-16 comporte en outre, pour sa transmission, un champ 24 d'adresse émetteur et un champ 25 d'adresse récepteur, dans lesquels l'appareil appelant 2, émetteur, inscrit respectivement son adresse, qui l'identifie dans le réseau 1, et l'adresse de l'appareil récepteur appelé 3. Dans cet exemple, une liaison est établie en réservant un canal ou circuit virtuel, lors de l'émission d'un paquet d'appel de l'appareils appelant 2 vers l'appareil appelé 3. Le réseau 1 affecte un numéro au canal et le communique, dans le paquet d'appel, à l'appareil appelé 3. Après confirmation de la réception du paquet d'appel, fournie en retour par l'appareil appelé 3 à l'appareil appelant 2, les appareils appelant 2 et appelé 3 peuvent échanger des paquets sans devoir y inscrire les adresses émetteur 24 et destinataire 25 puisque le numéro du circuit virtuel réservé, inscrit dans chaque paquet par le réseau 1, suffit à confirmer ces informations fournies initialement. Le champ de données 21 est divisé en un champ de données d'exploitation 22, dans lequel sont transmises les données d'exploitation, et en un champ de données utilisateur 23 dans lequel l'appareil 2 peut transmettre des données ou des informations, ici des données de sécurité concernant la sécurité de la transmission des données d'exploitation. L'adresse émetteur peut, comme expliqué plus loin, être considérée comme faisant aussi partie des données de sécurité, c'est-à-dire que le champ 24 d'adresse émetteur aurait pu être prévu à l'intérieur du champ 23 de données utilisateur. Le détail du séquencement d'une transmission de données numériques de l'appareil 2 vers l'appareil 3 est illustré par les organigrammes des figures 4 et 5, qui concernent respectivement l'émission et la réception des données. Les traits renforcés indiquent le cheminement des données d'exploitation. Dans une étape 31, on réunit les données d'exploitation d'un message à transmettre et, dans une étape 32, on définit des groupes 17-19, ou blocs, de N paquets, avec N entier positif, ici égal à 2 sur la figure 2. La capacité en données d'exploitation de chaque bloc 17-19 est égale à la somme de N fois la taille du champ de données d'exploitation 22 et de N-l fois la taille du champ de données utilisateur 23, en d'autres termes elle vaut N fois la taille du champ 21 moins 1 fois la taille du champ 23, champ 23 qui, dans l'un des paquets du bloc 17-19, sert de canal de signalisation entre abonnés. A une étape 33, on procède au comptage des paquets 11-16 et on détermine ainsi un nombre P de paquets, ici P=6, suffisant pour transmettre les données d'exploitation. Pour ranger les paquets 11-16, on attribue à chacun un numéro de rang i en fonction de l'ordre selon lequel ils seront émis, regroupés logiquement par blocs 17-19 de N paquets. A une étape 35, on procède, au moyen d'une clé d'embrouillage 36, aux embrouillages des données d'exploitation de chaque bloc 17-19. On effectue, à une étape 37, pour chaque bloc 17-19, lembrouillage d'un mot de code de contrôle spécifique, au moyen d'une clé d'embrouillage, ici identique à la clé 36 ci-dessus. Cet embrouillage dépend aussi des données d'exploitation du bloc 17-19 considéré et aussi, dans cet exemple, des rangs i des paquets 11-16 du bloc 17-19. On insère ainsi, dans les données de sécurité, des informations de rang i des paquets 11-16. A une étape 38, on détermine des données d'identification d'une clé de débrouillage des données transmises, clé dite actuelle, correspondant à la clé d'embrouillage 36 actuellement utilisée. Dans cet exemple, ces données d'identification ne sont pas obligatoirement transmises avec chaque groupe 1719. Lorsqu'un changement de clé est souhaité, on détermine de même, à une étape 40, des données d'identification d'une clé de débrouillage 39 des données transmises, clé dite prévisionnelle, correspondant à la clé d'embrouillage prévisionnelle 39. A une étape conditionnelle 41, on examine le rang i des paquets 11-16 successifs à émettre et teste l'égalité i = k N + 1, c'est-à-dire qu'on détermine si leur rang i est égal, plus une unité, à un multiple entier k, nul ou positif, du nombre N de paquets par bloc 17-19, avec k = 0,1, 2, 3, 4,....soit ici kN + 1 = 1, 3, 5, 7,.. On repère ainsi des paquets de rangs identiques, modulo N près, c'est-à-dire qu'on repère un paquet dans chaque bloc 17-19 pour y écrire, dans son champ 23 de données utilisateur, les données de sécurité du bloc 17-19 considéré, c'est-à-dire le mot de code embrouillé et les données d'identification des clés de débrouillage 38 et 40, communes aux paquets 11-12, 13-14, 15-16 de chaque bloc 17-19. Si la réponse est positive à l'étape 41, les données d'identifjcation des clés de débrouillage respectivement actuelle (38) et prévisionnelle En cas de réponse négative à l'étape 41, on écrit, à une étape 44, une partie suivante, non encore émise, des données d'exploitation (31) dans le champ de données 21 du paquet considéré. Après les étapes 43 ou 44, les adresses émetteur et destinataire sont écrites dans les champs respectifs 24 et 25, à une étape 45, et le paquet est émis sur le réseau 1 à une étape 46. Les paquets de chaque bloc 17-19 sont successivement reçus à une étape 51 et on extrait les données de sécurité du champ de données utilisateur 23 du premier paquet de groupe afin de contrôler la sécurité de la transmission du bloc 17-19 de paquets. Pour cela, à une étape 52, on détecte, si elles sont présentes, les données d'identification de la clé de débrouillage actuelle de L'étape 38 et on se procure cette clé de débrouillage pour l'écrire dans un registre 53 si celui-ci ne contient pas déjà cette même clé. De même, on détecte dans le champ 23, à une étape 54, les éventuelles données d'identification de la clé de débrouillage prévisionnelle de l'étape 40 et on se procure cette clé d'après ses données d'identification. Par un multiplexeur 56, on applique la clé de débrouillage, contenue dans le registre 53 et supposée être la clé de débrouillage actuelle utilisée à l'émission, aux données d'exploitation du bloc 17-19 pour les débrouiller à une étape 57. Ensuite, à une étape 58, les données d'exploitation débrouillées servent à calculer, comme à l'émission, un mot de code de contrôle embrouillé, au moyen de la clé d'embrouillage, déterminée à partir de la clé d'embrouillage fournie, à travers le multiplexeur 56, par le registre 53. A l'étape 58, on utilise aussi, comme pour l'émission, les rangs j prévus, comme expliqué ci-après, des paquets du bloc 17-19 pour embrouiller le même mot de code de contrôle, et on vérifie que le mot de code de contrôle embrouillé redéfini d'après les données d'exploitation reçues est bien égal à celui émis, et reçu à l'étape 51. Si tel est le cas, un compteur 60 fournissant les rangs i prévus, indiqués ci-dessus, des paquets du bloc en cours de réception avance alors, à une étape 59, de N = 2 positions pour indiquer les rangs des paquets du bloc 17-19 suivant à recevoir. L'adresse émetteur du champ 24 reçu à l'étape 51 est, à une étape 61, associée à la clé de débrouillage actuelle 53 issue du multiplexeur 56, et on vérifie, d'après une table de concordance, que l'émetteur 2 correspond bien à celui qui est prévu pour l'utilisation de la clé actuelle. Si, à une étape 62, on vérifie, ainsi que supposé ci-dessus, que l'ensemble des contrôles aux étapes 58 et 61 est satisfaisant, c'est-à-dire que les données ont été embrouillées avec la clé actuelle du registre 53, que le mot de code de contrôle est reconnu et indique ainsi que les données n'ont pas été modifiées lors de la transmission, que les paquets ont l'ordre et les rangs prévus par le compteur 60 et que l'émetteur 2 est celui qui est prévu, on produit un signal 63 de validation de la transmission qui, à une étape 64, autorise la sortie des données débrouillées à l'étape 57 afin de les exploiter. Ainsi, I'insertion cyclique, dans chaque bloc 17-19 de paquets, des données de sécurité permet de sécuriser la transmission. En cas de réception de données d'identification d'une clé de débrouillage prévisionnelle, à l'étape 54, on émet en temps opportun, en retour vers l'appareil 2 appelant, un acquis indiquant que la clé de débrouillage prévisionnelle est alors disponible dans l'appareil récepteur 3. Si les appareils 2 et 3 effectuent une transmission bidirectionnelle de données, cet acquis peut être transmis sous forme d'un paquet embrouillé en fonction de la clé de débrouillage prévisionnelle. Dans le cas où l'on détecte un défaut lors de l'une des étapes 58 et 61, les étapes 57 à 65 sont répétées (étapes 157 à 165). Pour cela, à l'étape 62, on engendre et mémorise un signal 66 de commutation COMMUT si le signal de validation 63 n'est pas produit. Ensuite, à une étape 67, le signal COMMUT 66 est appliqué à une entrée de commande du multiplexeur 56 pour changer la clé de débrouillage utilisée pour les étapes 57 à 62 contre une, ou la, clé de débrouillage prévisionnelle indiquée dans un bloc 17-19 antérieur ou dans le bloc actuel et contenue dans le registre 55. En cas d'insuccès à l'étape 162, les présences simultanées d'un signal DEF 163, indiquant la poursuite de l'existence d'un défaut malgré l'utilisation de la clé prévisionnelle, et du signal COMMUT 66 entraînent l'envoi, à une étape 167, d'un paquet en retour vers l'appareil appelant 2, indiquant l'impossibilité de recevoir les paquets, avec éventuellement la cause. L'appareil appelant 2 peut alors, selon le protocole choisi, interrompre ses émissions ou réémettre le bloc 17-19 de paquets. En cas de succès de la réception avec la clé prévisionnelle, indiqué par l'absence du signal DEF 163 à l'étape 162 et la présence du signal COMMUT 66, la clé prévisionnelle devient une clé actuelle en prenant, à une étape 168, la place de la clé actuelle dans le registre 53, tandis que le multiplexeur 56 reprend son état d'origine par désactivation du signal COMMUT 66 à l'étape 162. Dans l'appareil émetteur 2, la réception de l'acquis, à une étape 47, a pour effet, après un délai éventuel déterminé par l'appareil émetteur 2, de charger, à une étape 48, la clé d'embrouillage prévisionnelle (39) à la place de la clé d'embrouillage actuelle (36), si bien que la clé d'embrouillage antérieure, devenue clé d'embrouillage actuelle, sert à l'embrouillage des données de paquets ultérieurs. On comprendra que les deux débrouillages, avec la clé actuelle et la clé prévisionnelle, auraient pu se dérouler simultanément ou encore dans l'ordre inverse de celui décrit. Par ailleurs, le nombre N de paquets par bloc peut être variable, à condition de transmettre à l'appareil appelé 3 une indication à ce sujet. Cette indication peut par exemple être un nombre transmis dans le champ 23 ou un bit de chaînage entre paquets d'un même bloc. REVENDICATIONS 1. Procédé de sécurisation de la transmission de données numériques entre abonnés (2, 3), d'un réseau (1) de transmission par paquets (11-16) dans lequel des paquets de données d'un message auxquelles sont associées des données de sécurité sont transmis d'un abonné appelant (2) vers un abonné appelé (3), caractérisé par le fait qu'on insère cycliquement des données de sécurité (23) dans des paquets (11-16) à transmettre de l'abonné appelant (2) vers l'abonné appelé (3). 2. Procédé selon la revendication 1, dans lequel, à l'émission, on embrouille (35) les données à transmettre selon une clé d'embrouillage (36) et on insère, dans les données de sécurité, des données d'identification d'une clé de débrouillage (38) des données transmises correspondant à la clé d'embrouillage (36). 3. Procédé selon la revendication 2, dans lequel on insère, dans les données de sécurité, des données d'identification d'une clé de débrouillage prévisionnelle (40) correspondant à une clé d'embrouillage prévisionnelle (39) et, en réception, on se procure (55) la clé de débrouillage prévisionnelle (40) par détection de ses données d'identification et on l'utilise (157-162) dès qu'elle permet de valider (63) des paquets. 4. Procédé selon la revendication 3, dans lequel, après s'être procuré la clé de débrouillage prévisionnelle (55), on l'indique à l'abonné appelant (2) en émettant un acquis (65) et, après réception (47) de cet acquis, L'abonné appelant (2) utilise la clé d'embrouillage prévisionnelle (39) pour l'embrouillage des données d'un paquet (11-16) ultérieur. 5. Procédé selon la revendication 4, dans lequel on transmet l'acquis sous forme d'un paquet embrouillé en fonction de la clé de débrouillage prévisionnelle (39). 6. Procédé selon l'une des revendications 1 à 5, dans lequel, à l'émission, on regroupe (32) les données par blocs (17-19) de paquets (11-16), avec des données de sécurité communes aux paquets (11-12; 13-14; 15-16) de chaque bloc (17-19). 7. Procédé selon l'une des revendications 1 à 6, dans lequel on range (33) les paquets (11-16) émis et on insère, dans les données de sécurité, des informations de rang (i) en embrouillant (37) les données de sécurité en fonction dudit rang (i). 8. Procédé selon l'une des revendications 2 à 8, dans lequel, le nombre de clés d'embrouillage (36) disponibles à l'émission étant limité, L'adresse de l'abonné appelant (2) est transmise dans les données de sécurité, avant d'être associée, à la réception, à la clé de débrouillage (55) pour vérifier (61) L'identité de l'abonné appelant (2).