Brevet FR2717334A1 — publié le 19950915

Vérification d'intégrité de données échangées entre deux stations de réseau de télécommunications La présente invention concerne de manière générale la protection et la sécurité de réseaux de télécommunications, notamment réseaux locaux (LAN pour Local Area Network en terminologie anglo- saxonne). Plus particulièrement, l'invention a trait à une vérification d'intégrité de données échangées entre deux stations de télécommunications. La multiplication des échanges de "données électroniques" entre entreprises a conduit les administrateurs de réseau local à définir une politique de sécurité et de protection de ces échanges, visant à détecter toute altération des données échangées. cette altération peut être accidentelle ou résulter d'une action de délinquance informatique par un tiers malintentionné. De façon beaucoup plus aisé et moins détectable que pour la transmission par courrier postal d'informations entre personnes, la transmission électronique de données entre usagers offre une possibilité d'altération de ces données, telle que perte, modification, insertion, ou suppression pouvant résulter d'erreur de transmission ou de falsification volontaire. La falsification par un tiers malintentionné de données transmises entre deux stations d'usager est relativement aisée. Elle consiste, par exemple, à connecter frauduleusement un moyen de traitement en série à la liaison reliant les deux stations entre lesquelles est réalisé un échange de données, en instruisant le moyen de traitement des caractéristiques, telles qu'adresse réseau, etc.., de 2 2717334 l'une déterminée des deux stations. Le moyen de traitement ainsi configuré reçoit tout le trafic de données destiné à la station déterminée et modifie ce trafic en un trafic falsifié réemis vers la station déterminée. En référence aux figures 1 et 2 est maintenant présenté un procédé connu selon la technique antérieure pour la vérification d'intégrité de données échangées entre deux stations. La figure 1 montre deux réseaux locaux R1 et R2 interconnectés à travers un réseau public RP. Le réseau R1, respectivement R2, comprend par exemple quatre stations S10 à S13, respectivement trois stations S20 à S22, et est structuré selon une topologie de type en anneau, respectivement de type bus. L'interconnexion des réseaux R1 et R2 à travers le réseau public RP est assuré par deux routeurs, ou passerelles, RO1 et R02 respectivement associés aux deux réseaux R1 et R2. Comme montré à la figure 2, chaque station dans les réseaux Ri et R2, telle que la station S10, est définie selon le modèle OSI (Open System Interconnection) de l'ISO (International Standardization Organization), par une pluralité de couches de télécommunications, dites couches PHYSIQUE, LIAISON, RESEAU, TRANSPORT, SESSION, PRESENTATION et APPLICATION. Pour assurer la connexion de la station S10 au réseau R1, celle-ci est munie d'une interface IN, électrique, optique ou même haute fréquence pour des liaisons hertziennes, assurant la liaison physique de la station S10 à un support de communication SU définissant la topologie du réseau R1. 3 2717334 Selon la technique antérieure, la mise en oeuvre d'une procédure de vérification d'intégrité dépend directement du moyen applicatif APPLICATION, avec lequel ladite procédure coexiste. Comme montré dans la figure 2, cela conduit à l'intégration d'un module de vérification d'intégrité VER dans le logiciel ou moyen applicatif APPLICATION. En pratique, ce module de vérification d'intégrité VER peut être intégré dans un composant externe auquel fait appel le moyen applicatif. La vérification d'intégrité de données échangées entre deux stations, telles que la station S10 du réseau Rl et la station S20 du réseau R2, incluant toutes deux des modules compatibles de vérification d'intégrité implantés dans leur couche APPLICATION, est mise en oeuvre de la manière suivante. Lorsqu'une station, telle que la station S10, est prête à transmettre vers l'autre station, ici la station S20, une séquence de données pouvant consister en une trame ou un groupe de trames, la station S10 calcule préalablement ou fait calculer par le composant externe, en fonction de ladite séquence de données à transmettre, un premier sceau de chiffrement en utilisant un algorithme de chiffrement. Ce premier sceau calculé est alors transmis avec la séquence vers la station S20. Sur réception dudit premier sceau et d'une séquence reçue, correspondante à la séquence transmise à travers le réseau public RP, la station S20 calcule un second sceau en fonction de la séquence reçue suivant un algorithme de chiffrement identique à l'algorithme de chiffrement dans la station S10. Ce second sceau calculé est comparé au premier sceau reçu dans la station S20. Une comparaison de sceau positive signifie qu'aucune atteinte n'a été portée à 4 2717334 l'intégrité des données transmises dans la séquence. Inversement, une comparaison négative signale à la station S20 une modification des données originales transmises par la station S10. La comparaison négative peut déclencher une alerte chez l'usager de la station S20, ou une telle attaque à l'intégrité des données peut être identifiée, en ce qui concerne la liaison concernée, les stations d'origine et destinataire, etc.., et mémorisée dans un fichier de sécurité de la station S20 pour être analysée ultérieurement. Cette vérification d'intégrité selon la technique antérieure n'est cependant limitée qu'aux seules applications pour lesquelles est prévue une telle vérification. Cela signifie, en terme informatique, que pour un logiciel d'application APPLICATION qui est dépourvu de module de vérification d'intégrité VER, une vérification d'intégrité des données transmises et reçues par l'application ne peut être réalisée. L'invention vise à fournir des procédés de vérification d'intégrité, notamment destinés à être mis en oeuvre dans des réseaux locaux, selon lesquels la vérification d'intégrité est indépendante du logiciel d'application et peut donc être mise en oeuvre pour tout échange de données, en mode connecté ou non connecté, sans nécessiter un développement particulier d'un module de vérification d'intégrité pour chaque application. A cette fin, selon une première variante, un procédé de vérification d'intégrité de séquences de données transmises d'un premier moyen applicatif dans 2717334 une première station vers un second moyen applicatif dans une seconde station dans un réseau au cours d'un échange de données entre lesdites première et seconde stations, comprenant pour chacune desdites séquences de données transmises, les étapes de: - calcul d'un premier sceau de chiffrement relatif à la séquence transmise par ledit premier moyen applicatif, - calcul d'un second sceau de chiffrement relatif à une séquence reçue par ledit second moyen applicatif et correspondant à ladite séquence transmise, et - comparaison desdits premier et second sceaux de chiffrement pour détecter une altération de ladite séquence reçue comparativement à ladite séquence transmise, est caractérisé en ce que lesdits calculs de premier et second sceaux de chiffrement sont réalisés dans un moyen de contrôle distinct et indépendant desdits premier et second moyens applicatifs, respectivement en réponse à la réception d'une séquence correspondante à ladite séquence transmise, et en réponse à la réception de ladite séquence reçue qui est retransmise par ledit second second moyen applicatif, et ladite comparaison est précédée dans ledit moyen de contrôle par la recherche du premier sceau calculé en fonction d'un mot d'identification de ladite séquence transmise qui est transmis par ledit second moyen applicatif. De préférence, à l'étape de comparaison succède, notamment lors d'un résultat de comparaison négatif, une transmission d'un résultat de comparaison dudit moyen de contrôle vers lesdits premier et second moyens applicatifs. 6 2717334 La variante donnée ci-dessus ne considère que la vérification d'intégrité pour des échanges de données entre deux stations d'un même réseau. L'invention considère également la vérification d'intégrité de données échangées entre des applications dans des stations appartenant à des réseaux respectifs. A cette fin, un procédé de vérification d'intégrité de séquences de données transmises d'un premier moyen applicatif dans une première station d'un premier réseau de diffusion vers un second moyen applicatif dans une seconde station d'un second réseau de diffusion lors d'un échange de données entre lesdites première et seconde stations, comprenant pour chacune desdites séquences de données transmises, les étapes de - calcul d'un premier sceau de chiffrement relatif à la séquence transmise par ledit premier moyen applicatif, - calcul d'un second sceau de chiffrement relatif à une séquence reçue par ledit second moyen applicatif et correspondant à ladite séquence transmise, et - comparaison desdits premier et second sceaux de chiffrement pour détecter une altération de ladite séquence reçue comparativement à ladite séquence transmise, est caractérisé en ce que lesdits calculs de premier et second sceaux de chiffrement sont réalisés dans des premier et second moyens de contrôle respectifs appartenant respectivement auxdits premier et second réseaux, et distincts desdits premier et second moyens applicatifs, lesdits premier et second sceaux étant calculés respectivement par le premier moyen de 7 2717334 contrôle et le second moyen de contrôle en réponse à des réceptions de séquences correspondant à ladite séquence transmise, et ladite comparaison est opérée dans l'un desdits premier et second moyens de contrôle en réponse à la réception d'un mot d'identification de ladite séquence transmise et de l'autre des premier et second sceaux de chiffrement qui sont transmis par l'autre desdits moyens de contrôle. Le résultat de ladite comparaison peut être retransmis par ledit un des moyens de contrôle à destination de chacun desdits premier et second moyens applicatifs. L'invention concerne également un réseau mettant en oeuvre la variante de procédé ci-dessus, dans lequel le moyen de contrôle est inclus dans un routeur du réseau, et un réseau mettant en oeuvre les deux variantes du procédé selon l'invention, dans lequel le moyen de contrôle est inclus dans une station du réseau. D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante de plusieurs réalisations préférées de l'invention en référence aux dessins annexés correspondants dans lesquels: - la figure 1, déjà commentée, est un bloc- diagramme de deux réseaux locaux interconnectés à travers un réseau public selon la technique antérieure; - la figure 2, également déjà commentée, montre des moyens utiles à l'implantation d'une application communicante avec vérification d'intégrité dans une station de l'un des réseaux locaux de la figure 1; 8 2717334 - la figure 3 est un bloc-diagramme analogue à la figure 1, montrant deux réseaux locaux selon l'invention incluant chacun une station de contrôle indépendante des autres stations; et - les figures 4A et 4B sont respectivement deux diagrammes temporels illustrant des étapes de procédé de vérification d'intégrité selon l'invention, pour des données échangées entre deux applications respectives dans deux stations d'un même réseau et entre deux applications de deux stations dans des réseaux respectifs. La figure 3 montre deux réseaux R1 et R2 incluant chacun une station de contrôle SCl, respectivement SC2, distincte et indépendante des autres stations S10-S13,respectivement S20-S22, du réseau Ri, respectivement R2. Selon le même exemple que dans la figure 1, les deux réseaux R1 et R2 sont supposés interconnectés à travers le réseau public RP. L'interconnexion de chaque réseau R1, R2 avec le réseau public RP est assurée par un routeur respectif ROi, R02. Chacune des deux stations de contrôle SC1 et SC2 met en oeuvre des fonctions relatives à la vérification d'intégrité pour chaque échange de données, en mode connecté ou non connecté, avec au moins l'une des stations S10-S13, S20-S22 dans le réseau respectif R1, R2. Ainsi la station de contrôle SC1l assure d'une part, la vérification d'intégrité des données échangées entre deux stations dans le réseau respectif Ri et, d'autre part, la vérification d'intégrité des données échangées entre l'une des stations dans le réseau respectif R1 et une autre station quelconque dans un autre réseau, telle que la station S20 dans le réseau R2. 9 2717334 Ces deux modes de vérification d'intégrité sont appelés vérification d'intégrité intra-domaine et vérification d'intégrité inter-domaine puisqu'ils font intervenir respectivement un unique réseau et deux réseaux, et sont détaillés ci-après en référence aux figures 4A et 4B. Il est à noter la différence fondamentale caractérisant un réseau selon l'invention comparativement à la technique antérieure. Une station, dite station de contrôle, SC1, SC2, assure des fonctions de vérification d'intégrité pour n'importe quel échange de données depuis ou vers l'une quelconque des applications de station du réseau respectif, par contraste avec le développement spécifique d'un module de vérification d'intégrité VER (figure 2) inclus dans ou appelé par la couche APPLICATION dans au moins une station pour laquelle est souhaitée une telle procédure selon la technique antérieure. La figure 4A illustre des étapes de procédé selon l'invention pour un mode de vérification d'intégrité intra-domaine, c'est-à-dire relatif à des échanges de données entre des applications APPLICATION respectives dans deux stations d'un même réseau R1 ou R2. Il est supposé dans la description qui suit de la figure 4A que l'intégrité de données est vérifiée dans une station de contrôle dénotée SC dudit même réseau dénoté R, et la vérification d'intégrité concerne un échange de données opéré entre deux stations dénotées SA et SB du réseau R. Il est en outre pris pour hypothèse que le réseau R auquel appartiennent à la fois les stations SA et SB et la station SC possède la propriété de diffusion. Cette 2717334 propriété de diffusion caractérise le fait qu'un élément d'information, tel que trame, est transmis par l'une des stations pour être diffusé dans tout le support de communication, câble ou fibre optique, formant la topologie dudit réseau, et est potentiellement accessible par chacune des autres stations dans le réseau R. Cette propriété de diffusion est vérifiée dans tous les réseaux locaux, notamment de type point-à-point ou point-à- multipoint. Il est à noter que le terme "trame" recouvre, dans la présente demande, les notions de PDU (Protocol Data Unit), paquet, message, etc..., selon le protocole mis en oeuvre. Une unité élémentaire d'information utile à la mise en oeuvre du procédé selon l'invention est appelée "séquence". Une séquence peut consister ou bien en une trame, ou paquet, transmis durant un échange de données, ou bien en un nombre donné N de trames successives T1 à TN dans l'échange comme montré à l'étape A dans la figure 4A, ou bien encore en une portion de trame. A une séquence déterminée est associée un mot d'identification identifiant de façon univoque ladite séquence déterminée. Sachant qu'une séquence définit par exemple une trame ou une série de trames transmise entre deux stations au cours d'un échange de données, le mot d'identification de séquence peut consister en des première et seconde portions de mot d'identification identifiant de manière univoque la séquence. La première portion de mot d'identification identifie l'échange de données, sur la base par exemple de l'heure d'établissement de la communication pour un échange de données en mode connecté, des adresses des stations d'origine et destinataire des données il 2717334 échangées, etc., et la seconde portion de mot d'identification indique le rang de la séquence dans l'échange de données. D'autre éléments connus d'identification d'une séquence peuvent être inclus dans le mot d'identification. Les étapes de procédé illustrées à la figure 4A sont maintenant décrites en détail. Lorsqu'une séquence de données SEQ est transmise d'une première application APPLICATION dans la première station SA à destination d'une seconde application APPLICATION dans la seconde station SB, et en raison des propriétés de diffusion du réseau auquel appartiennent les stations SA, SB et SC, cette séquence SEQ est reçue par la station de contrôle SC (étape A). L'application APPLICATION dans la station SA, en émission, l'application APPLICATION dans la station SB, en réception, et la station SC déterminent chacune un même mot d'identification ID de la séquence transmise SEQ, mot d'identification ID identifiant de manière univoque la séquence SEQ (étape B). En pratique, l'application dans la station SB, respectivement la station SC, détermine le mot d'identification ID en correspondance avec une séquence reçue SEQB, respectivement SEQC, pouvant être différente de la séquence transmise SEQ à cause d'une éventuelle altération de la séquence due à la transmission à travers le support de communication SU du réseau R. Outre la détermination du mot d'identification ID, un premier sceau SOC est calculé dans la station de contrôle SC (étape C) en fonction de la séquence SEQC reçue par la station de contrôle SC et au moyen d'un algorithme de chiffrement f, soit SOC = f(SEQC). 12 2717334 Ce premier sceau est donc lié au mot d'identification ID de la séquence dans une table de correspondance dans la station SC selon la relation SOC = g(ID). Ultérieurement à la réception par l'application APPLICATION dans la seconde station SB d'une séquence SEQB correspondant à la séquence SEQ, et à l'initiative de cette application dans la seconde station est déclenchée une vérification d'intégrité relative à la séquence SEQB (étape D). Ce déclenchement de vérification d'intégrité résulte de la transmission par la station SB à destination de la station SC de la séquence reçue SEQB et du mot d'identification ID de ladite séquence SEQB reçue par l'application APPLICATION dans la station SB. La station de contrôle SC calcule un second sceau de chiffrement SOB en fonction de la séquence SEQB suivant l'algorithme de chiffrement f, et recherche le premier sceau précédemment calculé SOC relatif au mot d'identification ID transmis par l'application dans la station SB. La station SC compare ensuite les sceaux SOC et SOB respectivement retrouvé et calculé. Une comparaison positive des sceaux exprime qu'aucune atteinte n'a été portée à l'intégrité de la séquence de données SEQ transmise. Dans le cas contraire, la séquence SEQB reçue par la seconde station SB est indubitablement modifiée comparativement à celle SEQ transmise par l'application APPLICATION dans la première station SA. Il est de préférence prévu, selon l'étape E, que la station de contrôle SC transmette à destination des applications APPLICATION dans les stations SA et SB deux trames respectives RA et RB incluant le résultat de ladite comparaison. Comme montré à la figure 4A, chacune des trames RA et RB possède deux 13 2717334 champs incluant les adresses réseau des stations correspondantes d'origine et de destination respectives. Il est à noter que les significations attribuées au terme "adresse" regroupent les notions de SAP (Service Access Point), de port,...etc, selon les protocoles mis en oeuvre dans les stations. En référence à la figure 4B, il est maintenant détaillé un procédé de vérification d'intégrité inter-domaine relatif à des données échangées entre deux applications APPLICATION de deux stations respectives, dénotées SA et SB, appartenant à deux réseaux de diffusion respectifs R1 et R2 interconnectés à travers un réseau public RP. Selon cette variante de l'invention, des stations de contrôle, dénotées SC1 et SC2, appartiennent respectivement aux réseaux R1 et R2. Lorsque l'application APPLICATION dans la première station SA transmet une séquence de données SEQ à destination de l'application dans la seconde station SB, cette séquence SEQ est préalablement diffusée dans le réseau R1 auquel appartient la station SA avant d'être acheminée vers la station SB à travers le réseau public RP. Sur réception par la station de contrôle SC1 d'une séquence SEQ1 correspondant à cette séquence SEQ, la station SC1 détermine un mot d'identification ID de la séquence selon des critères identiques à ceux présentés précédemment (heure d'établissement de la communication entre les stations SA et SB, rang de la séquence dans la communication, etc..). Après cette détermination du mot ID est calculé (étape a) un premier sceau de chiffrement de la séquence, dénoté S01 en fonction de la séquence SEQ1 reçue dans la station SC1, obtenu selon un algorithme de 14 2717334 chiffrement f. Le mot d'identification ID est associé au sceau S01 dans une table de correspondance S01 = g(ID). La séquence SEQ transmise par l'application APPLICATION de la première station SA du premier réseau R1 est reçue en une séquence SEQ2 par le second réseau R2 auquel appartient la seconde station SB. Selon l'étape b, la station de contrôle SC2 dans le second réseau R2 calcule, après détermination du mot d'identification ID, un second sceau S02 en fonction d'une séquence reçue SEQ2 correspondant à la séquence transmise SEQ et selon l'algorithme de chiffrement f également implanté dans la station SCl. Ultérieurement à ces étapes de détermination de mot d'identification ID et de calcul de sceau dans les deux stations de contrôle SC1 et SC2 débute une procédure de comparaison de sceaux selon l'étape b, à l'initiative de l'une quelconque des stations de contrôle. Selon l'illustration de la figure 4B, la seconde station de contrôle SC2 prend cette initiative en transmettant le sceau calculé S02 et le mot d'identification ID de la séquence correspondante à destination de la station SC1. Ces mot ID et sceau S02 sont reçus par la première station de contrôle SC1 qui compare le sceau transmis reçu S02 et le sceau S01 correspondant qu'elle a précédemment calculé et qui est associé au mot d'identification ID reçu en provenance de la station SC2. Une comparaison négative exprime une altération de la séquence SEQ=SEQ1 en la séquence SEQ2. Dans le cas contraire, il peut être déduit que la séquence SEQ est identique à la séquence SEQ2. Selon une étape c dans la figure 4B, le résultat de la comparaison peut être retransmis par la station SCl à destination de la station SC2, et/ou sous la 2717334 forme de trames respectives RA et RB à destination des applications APPLICATION dans les stations SA et SB. Selon cette seconde variante de la figure 4B, les stations SC1 et SC2 peuvent être deux routeurs respectifs, dénotés RO1 et R02 dans la figure 3, des réseaux R1 et R2 auxquels appartiennent les stations SA et SB. Chaque routeur RO1, R02 constitue une interface entre le réseau local respectif R1, R2 et le réseau public et assure notamment une conversion de protocole de couche basse, typiquement PHYSIQUE, LIAISON et RESEAU. 16 2717334 REVENDICATIONS 1 - Procédé de vérification d'intégrité de séquences de données transmises d'un premier moyen applicatif (APPLICATION) dans une première station (SA) vers un second moyen applicatif (APPLICATION) dans une seconde station (SB) dans un réseau (R) au cours d'un échange de données entre lesdites première et seconde stations (SA,SB), comprenant pour chacune desdites séquences de données transmises (SEQ), les étapes de: - calcul d'un premier sceau de chiffrement (SOC) relatif à la séquence (SEQ) transmise par ledit premier moyen applicatif, - calcul d'un second sceau de chiffrement (SOB) relatif à une séquence (SEQB) reçue par ledit second moyen applicatif et correspondant à ladite séquence transmise (SEQ), et comparaison desdits premier et second sceaux de chiffrement (S0C, SOB) pour détecter une altération de ladite séquence reçue (SEQB) comparativement à ladite séquence transmise (SEQ), caractérisé en ce que lesdits calculs de premier et second sceaux de chiffrement (SOC, SOB) sont réalisés dans un moyen de contrôle (SC) distinct et indépendant desdits premier et second moyens applicatifs, respectivement en réponse à la réception d'une séquence (SEQC) correspondant à ladite séquence transmise (SEQ), et en réponse à la réception de ladite séquence reçue (SEQB) qui est retransmise par ledit second moyen applicatif, et ladite comparaison est précédée dans ledit moyen de contrôle (SC) par la recherche du premier sceau (SOC) calculé en fonction d'un mot d'identification 17 2717334 (ID) de ladite séquence transmise (SEQ) qui est transmis par ledit second moyen applicatif. 2 - Procédé conforme à la revendication 1, caractérisé en ce qu'à ladite étape de comparaison succède, notamment lors d'un résultat de comparaison négatif, une transmission d'un résultat de comparaison dudit moyen de contrôle (SC) vers les première et seconde stations (SA, SB). 3 - Procédé de vérification d'intégrité de séquences de données transmises d'un premier moyen applicatif dans une première station (SA) d'un premier réseau de diffusion (R1) vers un second moyen applicatif dans une seconde station (SB) d'un second réseau de diffusion (R2) lors d'un échange de données entre lesdites première et seconde stations (SA, SB), comprenant pour chacune desdites séquences de données transmises (SEQ), les étapes de: - calcul d'un premier sceau de chiffrement (SO1) relatif à la séquence (SEQ) transmise par ledit premier moyen applicatif, - calcul d'un second sceau de chiffrement (SO2) relatif à une séquence (SEQ2) reçue par ledit second moyen applicatif et correspondant à ladite séquence transmise (SEQ), et - comparaison desdits premier et second sceaux de chiffrement (SOl,S02) pour détecter une altération de ladite séquence reçue (SEQ2) comparativement à ladite séquence transmise (SEQ), caractérisé en ce que lesdits calculs de premier et second sceaux de chiffrement (SO1, S02) sont réalisés dans des premier et second moyens de contrôle respectifs (SC1, SC2) appartenant respectivement auxdits premier et second 18 2717334 réseaux (Ri, R2), et distincts desdits premier et second moyens applicatifs, lesdits premier et second sceaux (SO1, S02) étant calculés respectivement par le premier moyen de contrôle et le second moyen de contrôle en réponse à des réceptions de séquences (SEQ1, SEQ2) correspondant à ladite séquence transmise (SEQ), et en ce que ladite comparaison est opérée dans l'un (SC1) desdits premier et second moyens de contrôle en réponse à la réception d'un mot d'identification (ID) de ladite séquence transmise et de l'autre (SO2) des premier et second sceaux de chiffrement qui sont transmis par l'autre (SC2) desdits moyens de contrôle. 4 - Procédé conforme à la revendication 3, caractérisé par la retransmission d'un résultat de ladite comparaison par ledit un (SCl) des moyens de contrôle vers chacune desdits premier et second moyens applicatifs. - Réseau de diffusion pour la mise en oeuvre du procédé conforme à la revendication 3 ou 4, caractérisé en ce que ledit premier moyen de contrôle (SC1l) est inclus dans un routeur (R01) dudit réseau (Ri). 6 Réseau de diffusion pour la mise en oeuvre d'un procédé conforme à l'une quelconque des revendications 1 à 4, caractérisé en ce qu'un moyen de contrôle est inclus dans une station (SC;SCl) du réseau (R;R1).