FR3039951A1 - Procede de transmission d'information entre deux domaines de niveaux de securite distincts - Google Patents

Procede de transmission d'information entre deux domaines de niveaux de securite distincts Download PDF

Info

Publication number
FR3039951A1
FR3039951A1 FR1501656A FR1501656A FR3039951A1 FR 3039951 A1 FR3039951 A1 FR 3039951A1 FR 1501656 A FR1501656 A FR 1501656A FR 1501656 A FR1501656 A FR 1501656A FR 3039951 A1 FR3039951 A1 FR 3039951A1
Authority
FR
France
Prior art keywords
application
packet
packets
sequence
information
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
FR1501656A
Other languages
English (en)
Other versions
FR3039951B1 (fr
Inventor
Herve Fritsch
Claude Poletti
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.)
Airbus Defence and Space SAS
Original Assignee
Airbus Defence and Space SAS
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 Airbus Defence and Space SAS filed Critical Airbus Defence and Space SAS
Priority to FR1501656A priority Critical patent/FR3039951B1/fr
Publication of FR3039951A1 publication Critical patent/FR3039951A1/fr
Application granted granted Critical
Publication of FR3039951B1 publication Critical patent/FR3039951B1/fr
Active 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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2475Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Des première et seconde applications sont exécutées dans un domaine rouge, et une troisième application est exécutée dans un domaine noir, de niveau de sécurité inférieur, et par lequel passe un tunnel de communication chiffrée entre les première et seconde applications, établi grâce à des première et seconde passerelles de sécurité. La première application convertit (S302) ladite information en une séquence de paquets dont les tailles encodent ladite information, grâce à une première règle de conversion Ci prédéterminée, et transmet (S304) la séquence de paquets i obtenue à destination de la seconde application. Un équipement réseau du domaine noir route vers la troisième application chaque paquet de ladite séquence de paquets après chiffrement de la première passerelle de sécurité. La troisième application obtient ladite information, à partir des tailles des paquets de ladite séquence de paquets après chiffrement de la première passerelle de sécurité, grâce à une seconde règle de conversion C2 prédéterminée.

Description

La présente invention concerne une transmission d’une information à partir d’un premier sous-réseau de type rouge à destination d’un réseau de type noir, le premier sous-réseau de type rouge étant interconnecté à un second sous-réseau de type rouge par un tunnel sécurisé via le réseau de type noir, chaque sous-réseau de type rouge étant de niveau de sécurité supérieur au réseau de type noir, et les premier et second sous-réseaux de type rouge appartenant à un même domaine de sécurité.
Des réseaux de communication peuvent avoir des exigences différentes en termes de sécurité des données qui y transitent. Certains réseaux de communication ayant des exigences fortes en termes de sécurité peuvent avoir recours à d’autres réseaux de communication, dans lesquels le niveau d’exigences en termes de sécurité est inférieur, pour faire transiter les données d’un sous-réseau de communication à fortes exigences de sécurité à un autre. On parle de réseau de communication de type rouge pour le réseau de communication de plus haut niveau de sécurité et de réseau de communication de type noir pour le réseau de communication de plus bas niveau de sécurité. Par exemple, un premier groupe de dispositifs d’un premier sous-réseau de communication de type rouge communique avec un second groupe de dispositifs d’un second sous-réseau de communication de type rouge via un réseau de communication de transit non sécurisé ou de niveau de sécurité inférieur à celui de type rouge, dit de type noir. On parle aussi de domaine noir pour désigner le réseau de communication de type noir, et de domaine rouge pour désigner l’ensemble formé par les premier et second sous-réseaux de communication de type rouge. Pour que le premier groupe de dispositifs et le second groupe de dispositifs puissent communiquer xie manière sécurisée, des passerelles de sécurité (comme par exemple des chiffreurs réseau) sont mises en œuvre, définissant une frontière entre le domaine noir et le domaine rouge. Ces passerelles de sécurité assurent la confidentialité des communications, par chiffrement/déchiffrement de données devant transiter d’un des sous-réseaux de communication de type rouge vers l’autre des sous-réseaux de communication de type rouge via le réseau de communication de transit de type noir. Ces passerelles de sécurité créent ainsi un tunnel sécurisé de communication à travers le domaine noir, généralement conforme au standard IPSec (« Internet Protocole Security en anglais). Les sous-réseaux de communication de type rouge forment alors un réseau virtuel privé VPN (« Virtual Private Network » en anglais).
Ainsi, les données issues / à destination de sous-réseaux de communication de type rouge transitant sur le réseau de communication de transit de type noir ne sont pas transmises en clair. En particulier le plan d’adressage réseau et le contenu des communications du domaine rouge sont inaccessibles au sein du domaine noir, ce qui permet de répondre aux exigences en termes de sécurité du domaine rouge.
Une telle architecture de réseaux de communication à plusieurs niveaux de sécurité est mise en œuvre par exemple pour les réseaux de grandes entreprises du secteur de l’énergie dans lesquels les différents sites de production sont reliés au siège de l’entreprise au travers d’un réseau de transit utilisant des infrastructures de communications terrestres à grande capacité de ressources ou des infrastructures radiofréquence à capacité de ressources limitée et variable notamment en raison des conditions météorologiques, comme par exemple des infrastructures de communication par satellite.
Dans ce type d’architecture de réseaux de communication à plusieurs niveaux de sécurité, le besoin de communiquer de l’information du domaine rouge vers le domaine noir existe notamment pour appliquer des politiques réseaux (en anglais « network policy ») et de gestion de trafic réseau (en anglais « traffïc engineering »). Par exemple, lorsque le domaine rouge contient des applications de type Voix sur IP (VoIP), le domaine rouge pourrait demander au réseau noir de lui allouer plus de bande passante pour pouvoir établir une communication supplémentaire. Le domaine rouge utiliserait alors le même principe pour relâcher la bande passante ainsi obtenue lorsque celle-ci ne serait plus utile.
Un inconvénient de ce genre d’infrastructure de communication est cependant que, de par la présence des passerelles de sécurité, il n’existe aujourd’hui pas de solution adéquate pour permettre à un ou plusieurs dispositifs de l’un ou l’autre des sous-réseaux de communication de type rouge de transmettre des informations à un ou plusieurs dispositifs du réseau de communication de transit de type noir, sans avoir à remettre en cause les exigences de sécurité des sous-réseaux de communication de type rouge, c’est-à-dire sans avoir à créer une brèche de sécurité.
Il est alors souhaitable, dans ces circonstances, de fournir une solution qui permette à un ou plusieurs dispositifs du domaine rouge de communiquer des informations à un ou plusieurs dispositifs du domaine noir, sans avoir à remettre en cause les exigences de sécurité du domaine rouge.
Il est aussi souhaitable de fournir une solution qui soit compatible avec la plupart des équipements réseau disponibles sur étagère, en particulier avec les équipements réseau de sécurité (« Network Security Equipment » en anglais), et qui n’impose, dans sa mise en œuvre, ni équipement de sécurité ni fonction de sécurité supplémentaire en bordure de domaine de sécurité.
Il est enfin souhaitable de fournir une solution qui soit simple à mettre en œuvre. L’invention concerne un procédé de transmission d’une information I depuis une première application jusqu’à une troisième application, la première application étant exécutée dans un premier sous-réseau de type rouge, une seconde application étant exécutée dans un second sous-réseau de type rouge, la troisième application étant exécutée dans un réseau de type noir, chaque sous-réseau de type rouge étant de niveau de sécurité supérieur au réseau de type noir, les premier et second sous-réseaux de type rouge étant interconnectés via le réseau de type noir par un tunnel sécurisé entre une première passerelle de sécurité du premier sous-réseau de type rouge et une seconde passerelle de sécurité du second sous-réseau de type rouge appliquant des opérations de chiffrement et de déchiffrement telles que chaque premier paquet de plus petite taille qu’un second paquet résulte après chiffrement en un premier paquet chiffré de taille inférieure ou égale à la taille du paquet résultant du chiffrement du second paquet. Le procédé est tel que : la première application convertit ladite information en une séquence de paquets i dont les tailles {7},· encodent ladite information, grâce à une première règle de conversion Ci prédéterminée ; la première application transmet à destination de la seconde application la séquence de paquets i obtenue ; un équipement réseau du réseau de type noir sur un chemin obligatoire dudit tunnel sécurisé route vers la troisième application chaque paquet de ladite séquence de paquets après chiffrement de la première passerelle de sécurité ; et la troisième application obtient ladite information, à partir des tailles {Tc}j des paquets j de ladite séquence de paquets après chiffrement de la première passerelle de sécurité, grâce à une seconde règle de conversion C2 prédéterminée, de telle sorte que{f}/ = C\ (Γ) et /= C2 ({Tc}y). Ainsi, grâce à l’implémentation d’un mécanisme reposant sur les tailles des paquets transmis depuis la première application à destination de la seconde application et interceptés, après chiffrement, par la troisième application, un ou plusieurs dispositifs du domaine rouge peuvent communiquer des informations à un ou plusieurs dispositifs du domaine noir, sans avoir à remettre en cause les exigences de sécurité du domaine rouge.
Selon un mode de réalisation particulier, ladite séquence de paquets i est délimitée par au moins un paquet de taille prédéfinie qui n’est pas utilisable au sein de ladite séquence de paquets i. Ainsi, la séquence de paquets j (correspondant à ladite séquence de paquets i après chiffrement de la première passerelle de sécurité) peut être aisément détectée par la troisième application.
Selon un mode de réalisation particulier, les paquets de ladite séquence de paquets sont colorés avec une classe de service prédéfinie, et ledit équipement réseau du réseau de type noir route chaque paquet ainsi coloré, en provenant du premier sous-réseau de type rouge, vers la troisième application. Ainsi, le routage desdits paquets j vers la troisième application est facilité.
Selon un mode de réalisation particulier, pour convertir ladite information en séquence de paquets /, la première application effectue les étapes suivantes : convertir ladite information représentée sous forme d’un flux binaire ni256 décomposé en x octets en une liste mn de y digits en base n, où n correspond à la quantité de tailles distinctes de paquets utilisables pour encoder ladite information à transmettre depuis la première application jusqu’à la troisième application ; et convertir, grâce à une fonction 7), chacun des y digits en base n en un paquet dont la taille est déterminée par la valeur dudit digit via la fonction 7). De plus, pour obtenir ladite information, la troisième application effectue les étapes suivantes : convertir, grâce à une fonction Tj, chaque taille de paquet j de ladite séquence de paquets après chiffrement de la première passerelle de sécurité en un digit en base n déterminé par ladite taille de paquet via la fonction T2 , afin d’obtenir la liste mn dey digits en base n ; et convertir la liste mn de y digits en base n information représentée sous forme d’un flux binaire m256 en ladite information représentée sous forme du flux binaire m256 décomposé en x octets. Ainsi, le passage de l’information / depuis le domaine rouge vers le domaine noir est simple et efficace.
Selon un mode de réalisation particulier, la première application ajoute, à ladite séquence de paquets i obtenue, une autre séquence de paquets de sorte à comporter alors deux ensembles de paquets : un premier ensemble de paquets dont les tailles servent à encoder ladite information et un second ensemble de paquets destiné à permettre à la troisième application d’acquitter ladite information par suppression d’au moins un paquet dudit second ensemble. Ainsi, la troisième application peut aisément effectuer un acquittement de l’information 7, sans avoir à remettre en cause les exigences de sécurité du domaine rouge.
Selon un mode de réalisation particulier, ledit second ensemble de paquets est tel que : la suppression par la troisième application d’au moins un des paquets dudit second ensemble, sous sa forme chiffrée, sans toutefois que tous les paquets dudit second ensemble ne soient ainsi supprimés, signifie un acquittement positif ; la suppression par la troisième application des paquets dudit second ensemble, sous leur forme chiffrée, signifie un acquittement négatif ; et la transmission par la troisième application dudit second ensemble de paquets, sous leur forme chiffrée, à la seconde application signifie que la transmission de ladite information a été entachée d’erreur. Ainsi, plusieurs types d’acquittement sont aisément implémentés.
Selon un mode de réalisation particulier, ladite information transmise depuis la première application jusqu’à la troisième application comporte une information de contrôle de redondance cyclique, la première règle de conversion Cj effectue le calcul et l’insertion de l’information de contrôle de redondance cyclique dans la séquence de paquets /, et la seconde règle de conversion C2 effectue l’extraction de l’information de contrôle de redondance cyclique de la séquence de paquets telle qu’obtenue après chiffrement de la première passerelle de sécurité. Ainsi, il est aisé de déterminer si l’information reçue par la troisième application est erronée ou pas, et d’effectuer l’acquittement correspondant à destination du domaine rouge.
Selon un mode de réalisation particulier, les données utiles des paquets / de ladite séquence de paquets incluent un identifiant d’envoi de ladite information. Ainsi, la seconde application peut obtenir cet identifiant, auquel la troisième application n’a pas accès, et indiquer à la première application que l’envoi identifié par ledit identifiant a reçu tel ou tel acquittement de la part de la troisième application.
Selon un mode de réalisation particulier, une phase d’initialisation est préalablement implémentée comme suit : la première application transmet à destination de la seconde application une séquence de test consistant en un enchaînement prédéfini de l’ensemble des tailles de paquets utilisables pour encoder ladite information, chaque paquet de la séquence de test ayant une taille différente et lesdits paquets étant ordonnés par taille croissante ou décroissante ; ledit équipement réseau du réseau de type noir route vers la troisième application chaque paquet de ladite séquence de test après chiffrement de la première passerelle de sécurité ; la troisième application supprime chaque doublon de taille dans la séquence de test après chiffrement de la première passerelle de sécurité et propage la séquence de test ainsi modifiée vers la seconde application ; et lorsque la seconde application reçoit une séquence de paquets supposée être la séquence de test, la seconde application détermine les tailles de paquets qui n’ont pas été supprimés par la troisième application, ces tailles de paquets pouvant alors être distinctement utilisées pour encoder ladite information, et en informe la première application.
Selon un mode de réalisation particulier, les paquets de la séquence de test sont colorés avec une classe de service prédéfinie, et ledit équipement réseau du réseau de type noir route chaque paquet ainsi coloré, en provenant du premier sous-réseau de type rouge, vers la troisième application. Ainsi, le routage des paquets de la séquence de test vers la troisième application est facilité.
Selon un mode de réalisation particulier, la phase d’initialisation est préalablement comme suit : la première application transmet à destination de la seconde application une séquence d’initialisation constituée d’un enchaînement remarquable de paquets, la taille de chaque paquet de la séquence d’initialisation est soit égale à une taille maximale sans fragmentation dans les premier et second sous-réseaux de type rouge, soit égale à une taille minimale de paquet dans les premier et second sous-réseaux de type rouge ; et ledit équipement réseau du réseau de type noir route vers la troisième application chaque paquet de ladite séquence d’initialisation après chiffrement de la première passerelle. Ainsi, il est aisé de synchroniser les première, seconde et troisième applications pour initier la phase d’initialisation.
Selon un mode de réalisation particulier, les paquets de la séquence d’initialisation sont colorés avec une classe de service prédéfinie, et ledit équipement réseau du réseau de type noir route chaque paquet ainsi coloré, en provenant du premier sous-réseau de type rouge, vers la troisième application. Ainsi, le routage des paquets de la séquence d’initialisation vers la troisième application est facilité. L’invention concerne également un système de transmission d’une information I depuis une première application jusqu’à une troisième application, la première application étant exécutée dans un premier sous-réseau de type rouge, une seconde application étant exécutée dans un second sous-réseau de type rouge, la troisième application étant exécutée dans un réseau de type noir, chaque sous-réseau de type rouge étant de niveau de sécurité supérieur au réseau de type noir, les premier et second sous-réseaux de type rouge étant interconnectés via le réseau de type noir par un tunnel sécurisé entre une première passerelle de sécurité du premier sous-réseau de type rouge et une seconde passerelle de sécurité du second sous-réseau de type rouge appliquant des opérations de chiffrement et de déchiffrement telles que chaque premier paquet de plus petite taille qu’un second paquet résulte après chiffrement en un premier paquet chiffré de taille inférieure ou égale à la taille du paquet résultant du chiffrement du second paquet. Le système est tel que : la première application est adaptée pour convertir ladite information en une séquence de paquets / dont les tailles {T)i encodent ladite information, grâce à une première règle de conversion Ci prédéterminée ; la première application est adaptée pour transmettre à destination de la seconde application la séquence de paquets i obtenue ; un équipement réseau du réseau de type noir sur un chemin obligatoire dudit tunnel sécurisé est adapté pour router vers la troisième application chaque paquet de ladite séquence de paquets après chiffrement de la première passerelle de sécurité ; et la troisième application est adaptée pour obtenir ladite information, à partir des tailles {Tc}j des paquets j de ladite séquence de paquets après chiffrement de la première passerelle de sécurité, grâce à une seconde règle de conversion C2 prédéterminée, de telle sorte que{T}i = C!(I)etI=C2({Tc}J).
Les caractéristiques de l’invention mentionnées ci-dessus, ainsi que d’autres, apparaîtront plus clairement à la lecture de la description suivante d’un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels : - la Fig. 1 illustre schématiquement un système de communication dans lequel la présente invention peut être mise en œuvre, le système de communication comportant un premier sous-réseau de communication de type rouge au sein duquel est exécutée une première application et un second sous-réseau de communication de type rouge au sein duquel est exécutée une seconde application, lesdits sous-réseaux étant interconnectés par un réseau de communication de type noir au sein duquel est exécutée une troisième application ; - la Fig. 2 illustre schématiquement un exemple d’architecture matérielle de dispositifs du système de communication ; - la Fig. 3 illustre schématiquement un algorithme, mis en œuvre par la première application, pour permettre à ladite première application de transmettre des informations à la troisième application ; - la Fig. 4 illustre schématiquement un algorithme, mis en œuvre par ladite troisième application, pour permettre à ladite troisième application de recevoir des informations en provenance de ladite première application ; - la Fig. 5 illustre schématiquement un algorithme, mis en œuvre par ladite seconde application, pour permettre à ladite première application de recevoir des acquittements vis-à-vis des informations transmises par ladite première application à ladite troisième application ; - la Fig. 6 illustre schématiquement un algorithme, mis en œuvre par ladite première application, dans le cadre d’une phase d’initialisation ; - la Fig. 7 illustre schématiquement un algorithme, mis en œuvre par ladite troisième application, dans le cadre de la phase d’initialisation ; et - la Fig. 8 illustre schématiquement un algorithme, mis en œuvre par ladite seconde application, dans le cadre de la phase d’initialisation.
La Fig. 1 illustre schématiquement un système de communication dans lequel la présente invention peut être mise en œuvre. Le système de communication est un système de communication par paquets, reposant préférentiellement sur la technologie IP {Internet Protocol en anglais).
Le système de communication comporte un premier sous-réseau de communication 101 de type rouge et un second sous-réseau de communication 102 de type rouge interconnectés par un réseau de communication 103 de type noir.
Le réseau de communication 103 de type noir est donc de plus faible niveau de sécurité que les premier 101 et second 102 sous-réseaux de communication de type rouge. Le réseau de communication 103 de type noir comporte des équipements réseau (network equipment items en anglais) 113, 114, 131, 132 permettant de mettre en communication les premier 101 et second 102 sous-réseaux de communication de type rouge. Par exemple, les équipements réseau 113, 114 sont des routeurs assurant un routage de paquets au sein du réseau de communication 103 de type noir, et les équipements réseau 131, 132 sont des dispositifs émetteurs-récepteurs {transceiver devices en anglais) communiquant l’un avec l’autre via une liaison satellite. Les équipements émetteurs-récepteurs incluent alors respectivement des modems et des antennes permettant de mettre en œuvre la liaison satellite. D’autres types de technologies de communication peuvent être mis en œuvre pour mettre en communication les premier 101 et second 102 sous-réseaux de communication de type rouge, que ces technologies soient filaires ou sans-fil. Les équipements réseau 113, 114, 131, 132 agissent préférentiellement au niveau trois du modèle OSI et plus particulièrement au niveau IP.
Le premier sous-réseau de communication 101 de type rouge inclut une première passerelle de sécurité 121 et un premier équipement réseau {network equipment en anglais) 111. Le premier équipement réseau 111 est par exemple un routeur assurant un routage de paquet en provenance du premier sous-réseau de communication 101 de type rouge et de paquets à destination du premier sous-réseau de communication 101 de type rouge. Tout routeur agissant au niveau trois du modèle OSI, le premier équipement réseau 111 est préférentiellement un routeur IP.
Le second sous-réseau de communication 102 de type rouge inclut une seconde passerelle de sécurité 122 et un second équipement réseau 112. Le second équipement réseau 112 est par exemple un routeur assurant un routage de paquets en provenance du second sous-réseau de communication 102 de type rouge et de paquets à destination du second sous-réseau de communication 102 de type rouge. Le second équipement réseau 112 est préférentiellement un routeur IP.
La première passerelle de sécurité 121 et la seconde passerelle de sécurité 122 sont adaptées pour mettre en place un tunnel sécurisé entre le premier sous-réseau de communication 101 de type rouge et le second sous-réseau de communication 102 de type rouge via le réseau de communication 103 de type noir. Ainsi, pour chaque paquet transmis par un dispositif du premier sous-réseau de communication 101 de type rouge à destination d’un dispositif du second sous-réseau de communication 102 de type rouge, la première passerelle de sécurité 121 applique une opération de chiffrement avant envoi via le réseau de communication 103 de type noir. Et, pour chaque paquet chiffré reçu via le réseau de communication 103 de type noir, la seconde passerelle de sécurité 122 applique une opération de déchiffrement avant de propager ledit paquet via le second sous-réseau de communication 102 de type rouge. De manière symétrique, pour chaque paquet transmis par un dispositif du second sous-réseau de communication 102 de type rouge à destination d’un dispositif du premier sous-réseau de communication 101 de type rouge, la seconde passerelle de sécurité 122 applique une opération de chiffrement avant envoi via le réseau de communication 103 de type noir. Et, pour chaque paquet chiffré reçu via le réseau de communication 103 de type noir, la première passerelle de sécurité 121 applique une opération de déchiffrement avant de propager ledit paquet via le premier sous-réseau de communication 101 de type rouge. Un tunnel sécurisé est ainsi établi entre la première passerelle de sécurité 121 et la seconde passerelle de sécurité 122.
Ainsi, selon un exemple illustratif représenté sur la Fig. 1, l’équipement réseau 113 du domaine noir est connecté à la première passerelle de sécurité 121 (définissant la frontière entre le premier sous-réseau de communication 101 de type rouge et le domaine noir) et l’équipement réseau 114 du domaine noir est connecté à la première passerelle de sécurité 122 (définissant la frontière entre le second sous-réseau de communication 102 de type rouge et le domaine noir). L’équipement réseau 113 est en outre connecté à l’équipement réseau 131 et l’équipement réseau 114 est en outre connecté à l’équipement réseau 132 (l’équipement réseau 131 et l’équipement réseau 132 étant interconnectés, par exemple via une liaison satellite), permettant ainsi de mettre en communication sécurisée les sous-réseaux de communication 101 et 102 de type rouge via le réseau de communication 103 de type noir agissant en tant que réseau de transit.
Le système de communication présenté à la Fig. 1 est ainsi par exemple adapté pour mettre en œuvre des communications sécurisées de type VoIP ( Voice over IP en anglais) entre un terminal téléphonique du premier sous-réseau de communication 101 de type rouge et un autre terminal téléphonique du second sous-réseau de communication 102 de type rouge, ou pour mettre en œuvre des communications sécurisées de données vidéo entre un terminal vidéo du premier sous-réseau de communication 101 de type rouge et un autre terminal vidéo du second sous-réseau de communication 102 de type rouge. Le système de communication présenté à la Fig. 1 est ainsi par exemple adapté pour mettre en œuvre des communications sécurisées de type données (« data » en anglais).
Le premier sous-réseau de communication 101 de type rouge comporte en outre une première application 141, c’est-à-dire un module de communication agissant au niveau sept du modèle OSI, à savoir la couche du modèle OSI la plus proche de « l’utilisateur » (au sens large) et qui fournit des services réseau à « l’utilisateur ». La première application 141 peut être implémentée par un dispositif du premier sous-réseau de communication 101 de type rouge connecté au premier équipement réseau 111. En variante, la première application 141 peut être implémentée par le premier équipement réseau 111. De manière similaire, le second sous-réseau de communication 102 de type rouge comporte en outre une seconde application 142, c’est-à-dire un module de communication agissant au niveau sept du modèle OSI. La seconde application 142 peut être implémentée par un dispositif du second sous-réseau de communication 102 de type rouge qui est connecté au second équipement réseau 112. En variante, la seconde application 142 peut être implémentée par le second équipement réseau 112. De plus, le réseau de communication 103 de type noir comporte en outre une troisième application 143, c’est-à-dire un module de communication agissant au niveau sept du modèle OSI. La troisième application 143 peut être implémentée par un dispositif du réseau de communication 103 de type noir qui est connecté aux équipements réseau 131, 132 (dans le réseau de communication 103 de type noir, tout dispositif est directement ou indirectement connecté aux équipements réseau 131, 132). En variante, la troisième application 143 peut être implémentée par l’un ou l’autre des équipements réseau 131, 132. L’invention permet à la troisième application de recevoir des informations en provenance de la première application 141 (c’est-à-dire au domaine rouge), malgré la présence de la première passerelle de sécurité 121. Dans ce cadre, le comportement de la première application 141 est décrit ci-après en relation avec la Fig. 3, le comportement de la seconde application 142 est décrit ci-après en relation avec la Fig. 5 et le comportement de la troisième application 143 est décrit ci-après en relation avec la Fig. 4. Dans un mode de réalisation particulier, les première 141, seconde 142 et troisième 143 applications mettent en œuvre une phase d’initialisation. Dans ce cadre, le comportement de la première application 141 est décrit ci-après en relation avec la Fig. 6, le comportement de la seconde application 142 est décrit ci-après en relation avec la Fig. 8 et le comportement de la troisième application 143 est décrit ci-après en relation avec la Fig. 7.
La Fig. 2 illustre schématiquement un exemple d’architecture matérielle de dispositifs du système de communication. Plus particulièrement, la Fig. 2 illustre schématiquement un exemple d’architecture matérielle adaptée à l’implémentation des première 141, seconde 142 et troisième 143 applications. Considérons à titre illustratif que l’exemple d’architecture matérielle représenté schématiquement à la Fig. 2 correspond à une machine sur laquelle est exécutée la première application 141.
La machine sur laquelle est exécutée la première application 141 inclut alors, reliés par un bus de communication 210 : un processeur ou CPU (Central Processing Unit en anglais) 201 ; une mémoire vive RAM (Random Access Memory en anglais) 202 ; une mémoire morte ROM (Read Only Memory en anglais) 203 ; une unité de stockage 204 ou un lecteur de support de stockage, tel qu’un lecteur de cartes SD (Secure Digital en anglais) ou un disque dur HDD (Hard Disk Drive en anglais) ; et au moins une interface 205 permettant à la machine sur laquelle est exécutée la première application 141 de communiquer au sein du système de communication.
Le processeur 201 est capable d’exécuter des instructions chargées dans la RAM 202 à partir de la ROM 203, ou d’une mémoire externe, ou d’un support de stockage, ou d’un réseau de communication. Lorsque la machine sur laquelle est exécutée la première application 141 est mise sous tension, le processeur 201 est capable de lire de la RAM 202 des instructions et de les exécuter. Ces instructions forment un programme d’ordinateur causant la mise en œuvre, par le processeur 201, de tout ou partie des algorithmes et étapes décrits ci-après en relation avec la première application 141. Il en va de même pour la machine sur laquelle est exécutée la seconde application 142 et la machine sur laquelle est exécutée la troisième application 143.
Tout ou partie des algorithmes et étapes décrits ci-après peut ainsi être implémenté sous forme logicielle par exécution d’un ensemble d’instructions par une machine programmable, tel qu’un DSP (Digital Signal Processor en anglais) ou un microcontrôleur, ou être implémenté sous forme matérielle par une machine ou un composant dédié, tel qu’un FPGA (Field-Programmable Gâte Array en anglais) ou un ASIC (Application-Specifîc Integrated Circuit en anglais).
La Fig. 3 illustre schématiquement un algorithme, mis en œuvre par la première application 141, pour permettre à ladite première application 141 de transmettre des informations à la troisième application 143.
Dans une étape S301, la première application 141 obtient une information à transmettre au domaine noir, c’est-à-dire à la troisième application 143, ou à une autre application du domaine noir via ladite troisième application 143. Ladite information est par exemple un message. Ladite information peut provenir d’une station de gestion réseau NMS (Network Management Station en anglais), en charge de mettre en œuvre des mécanismes FCAPS (Fault, Configuration, Administration, Performance, Security en anglais) pour le domaine rouge, selon le modèle ISO (International Organization for Standardization en anglais) de gestion de réseau. D’une manière générale, ladite information peut provenir d’un équipement réseau du domaine rouge.
Dans une étape S302 suivante, la première application 141 convertit l’information obtenue à l’étape S301 en une succession de paquets dont les tailles respectives encodent ladite information selon une première règle de conversion C/ prédéterminée. Comme il sera apparent à la lecture de la description qui suit, ce qui importe pour permettre à la première application 141 de faire passer des informations à la troisième application 143 est la taille des paquets propagés dans le système de communication plus que leurs contenus respectifs (étant donné que les première 121 et seconde 122 passerelles de sécurité effectuent des opérations de chiffrement et de déchiffrement).
Considérons que l’information obtenue à l’étape S301 soit un message m. Premièrement, la première application 141 transforme le message m en une chaîne de symboles à n états, i.e. transformation en base n. Le nombre n correspond à la quantité de tailles distinctes de paquets utilisables pour encoder des informations à transmettre depuis la première application 141 jusqu’à la troisième application 143. Le message m est donc équivalent à un flux binaire d’entrée décomposé en x octets, i.e. x symboles à 256 états. On a donc mn = C’\ {mise) où mise={d256i, — ,<f56x} est une liste de x digits en base « 256 » et m„={<f i,...,<fy} est une liste de y digits en base n, et C’i est une règle de conversion permettant de passer de la base « 256 » vers la base n. Ensuite, la première application 141 convertit, grâce à une fonction 7), chaque digit en base n {i.e. (fj , où i est un index) en un paquet dont la taille est déterminée par la valeur dudit digit via la fonction 7) {Ti est donc une fonction permettant de mettre en correspondance chaque digit rf, avec une taille de paquets utilisable pour encoder l’information à faire passer depuis la première application 141 vers la troisième application 143). La première règle de conversion C/ mène donc à une séquence de paquets mc = C/ {mise) dont les tailles respectives sont {T/((fi),..., Ti(fy)}.
Les paquets, dont les tailles servent à encoder des informations à transmettre depuis la première application 141 jusqu’à la troisième application 143, peuvent contenir des données fictives (« dummy data » en anglais), c’est-à-dire que les paquets sont créés spécifiquement pour le besoin de faire passer ces informations depuis la première application 141 jusqu’à la troisième application 143 sans que les paquets concernés ne contiennent de données utiles. Dans une variante de réalisation, lesdits paquets peuvent contenir des données utiles, à transmettre du premier sous-réseau de communication 101 de type rouge au second sous-réseau de communication 102 de type rouge (le chiffrement effectué par la première passerelle de sécurité 121 empêchant tout dispositif du domaine noir d’avoir accès au contenu effectif de ces paquets). Dans un mode de réalisation particulier, les paquets de ladite succession incluent un identifiant. Cet identifiant permet de savoir, dans le cas où la première application 141 souhaite recevoir, via la deuxième application 142, un message représentatif d’un acquittement de la part de la troisième application 143, à quel envoi d’information (à quel message m dans l’exemple mentionné ci-dessus) ledit acquittement correspond. Cela permet à la première application 141 de transmettre successivement plusieurs informations à la troisième application 143 sans avoir à attendre de recevoir d’acquittement d’un envoi avant d’enclencher un autre envoi.
Selon un mode de réalisation préférentiel, la succession de paquets, dont les tailles servent à encoder des informations à transmettre depuis la première application 141 jusqu’à la troisième application 143, est délimitée par au moins un paquet, appelé paquet délimiteur. La taille du paquet délimiteur est connue des première 141, seconde 142 et troisième 143 applications, et est une taille réservée ne pouvant pas être utilisée pour encoder les informations à transmettre depuis la première application 141 jusqu’à la troisième application 143. Le paquet délimiteur peut être utilisé en début de séquence de paquets représentative de l’information que la première application 141 cherche à transmettre à la troisième application 143, et potentiellement en fin de ladite séquence. Dans une variante de réalisation, le paquet délimiteur est répété plusieurs fois et le nombre d’occurrence du paquet délimiteur permet de distinguer le début de ladite séquence de paquets de la fin de ladite séquence. Dans une variante de réalisation, au moins un paquet délimiteur est utilisé pour distinguer un premier ensemble de paquets, représentatifs de l’information que la première application 141 cherche à transmettre à la troisième application 143, d’un second ensemble de paquets destiné à permettre à la troisième application 143 d’effectuer un acquittement vis-à-vis de ladite information par suppression d’au moins un paquet dudit second ensemble. Dans une autre variante de réalisation, plusieurs paquets délimiteurs de tailles distinctes et réservées sont utilisés pour distinguer ledit premier ensemble de paquets, représentatifs de l’information que la première application 141 cherche à transmettre à la troisième application 143, dudit second ensemble de paquets destiné à permettre à la troisième application 143 d’effectuer un acquittement vis-à-vis de ladite information par suppression d’au moins un paquet dudit second ensemble.
Dans une variante de réalisation, la première application 141 n’est autorisée à transmettre des informations à la troisième application qu’au cours de périodes temporelles prédéfinies (e.g. régulièrement) et connues des seconde 142 et troisième 143 applications. La troisième application 143 n’a alors pas besoin de paquet délimiteur pour identifier les paquets qui sont représentatifs de l’information que la première application 141a cherché à transmettre.
Dans une étape optionnelle S303 suivante, la première application 141 ajoute une séquence de paquets de tailles respectives prédéfinies destinée à permettre à la troisième application 143 d’acquitter l’information transmise par la première application 141. Comme déjà mentionné ci-dessus, la succession de paquets à transmettre comporte alors deux ensembles de paquets : un premier ensemble de paquets dont les tailles servent à encoder l’information à faire passer depuis la première application 141 vers la troisième application 143 et un second ensemble de paquets destiné à permettre à la troisième application 143 d’effectuer un acquittement vis-à-vis de ladite information par suppression d’au moins un paquet dudit second ensemble. Cet aspect est détaillé ci-après en relation avec la Fig. 5. Dans un mode de réalisation particulier, il est considéré que trois types d’acquittement sont possibles : acquittement positif (information correctement reçue et accord de la troisième application 143), acquittement négatif (information correctement reçue mais désaccord de la troisième application 143), et erreur de transmission. Ces trois types d’acquittement sont notamment possibles lorsque ladite information transmise depuis la première application 141 jusqu’à la troisième application 143 comporte une information de contrôle de redondance cyclique CRC (« Cyclic Redundancy Check» en anglais) permettant de déterminer si l’information a été détériorée depuis la première application 141 jusqu’à la troisième application 143 (dans ce cas, la première règle de conversion Ci mentionnée ci-dessus effectue le calcul et l’insertion de cette information de contrôle de redondance cyclique CRC dans la séquence de paquets résultant de l’application de la première règle de conversion Cj). Ledit second ensemble de paquets peut alors contenir au moins deux paquets de taille identique. La suppression par la troisième application 143 d’au moins un desdits au moins deux paquets, sans toutefois que tous les paquets desdits au moins deux paquets ne soient ainsi supprimés, signifie alors que l’acquittement est positif ; la suppression par la troisième application 143 des au moins deux paquets, signifie alors que l’acquittement est négatif ; et la transmission par la troisième application 143 dudit second ensemble de paquets (sous leur forme chiffrée) à la seconde application 142 signifie alors que la transmission de ladite information a été entachée d’erreur. Tout autre schéma d’interprétation de l’acquittement reste valable.
Selon une variante de réalisation, ledit second ensemble de paquets peut contenir deux paquets de tailles distinctes. Ledit second ensemble de paquets peut contenir un nombre plus ou moins important de paquets en fonction des types d’acquittement que la troisième application 143 est autorisée à fournir.
Dans une étape S304 suivante, la première application 141 transmet, à destination de la seconde application 142, la succession de paquets obtenue à l’étape S302, éventuellement complétée à l’étape S303. Ces paquets sont transmis en s’appuyant sur un protocole de transport sans acquittement ni retransmission en cas de perte. Dans un mode de réalisation préféré, les paquets de ladite séquence de paquets sont transmis en s’appuyant sur le protocole UDP (« User Datagram Protocol » en anglais), tel que défini par la norme RFC 768.
Cette succession de paquets est alors reçue par la première passerelle de sécurité 121 qui procède alors à un chiffrement desdits paquets. Cette opération de chiffrement modifie en général la taille des paquets. Cependant, un premier paquet de plus petite taille qu’un second paquet résulte en un premier paquet chiffré de taille en général moindre que (et au plus égale à) la taille du paquet résultant du chiffrement du second paquet. Dans le cas où le chiffrement de deux paquets de tailles différentes peut mener à deux paquets chiffrés respectifs de même taille, les première 141, seconde 142 et troisième 143 applications mettent préférentiellement en place une phase d’initialisation telle que décrite ci-après en relation avec les Figs. 6 à 8. Les différentes tailles des paquets utilisables pour encoder une information à faire passer depuis la première application 141 jusqu’à la troisième application 143 sont telles que le chiffrement desdits paquets par la première passerelle de sécurité 121 génère des paquets chiffrés respectifs de tailles distinctes. Après chiffrement, ladite succession de paquets est transmise dans le domaine noir, et y est routée afin que la troisième application 143 puisse la traiter comme décrit ci-après en relation avec la Fig. 5.
Cette succession de paquets (après chiffrement) est destinée à être interceptée par la troisième application 143. Un équipement réseau du domaine noir sur un chemin obligatoire du tunnel sécurisé depuis le premier sous-réseau de communication 101 de type rouge jusqu’au second sous-réseau de communication 102 de type rouge, comme par exemple l’équipement réseau 113, est adapté pour discriminer les paquets (après chiffrement) de ladite succession parmi les paquets transporté dans le domaine noir et pour router lesdits paquets jusqu’à la troisième application 143 (de même que tous les autres paquets transmis par la première application 141 et devant être routés vers la troisième application 143).
Dans un mode de réalisation particulier, chaque paquet de ladite succession (y compris les éventuels délimiteurs de début et de fin) est coloré avec une classe de service CoS (Class of Service en anglais) dédiée, e.g. en utilisant un code de classe de service DSCP (DiffServ CodePoint en anglais, tel que défini dans le document normatif RFC 2474) dédié. Préférentiellement, cette coloration est effectuée avec la classe de service CoS de plus forte priorité parmi les classes de service CoS non utilisées dans le plan de qualité de service QoS mis en œuvre dans le système de communication (préférentiellement, en utilisant un code de classe de service DSCP de niveau CS5 ou d’ordre supérieur), afin de réduire les latences de transport subies par ces paquets et éliminer les risques de pertes de paquets liées aux mécanismes de QoS au sein de ladite succession. Cette classe de service CoS bénéficie dans le plan de QoS d’une politique d’acheminement garanti au titre la signalisation réseau, afin d’éliminer les risques de pertes de paquets liées aux mécanismes de QoS au sein de ladite succession. Les informations de classe de service CoS sont typiquement recopiées dans un entête en clair par les passerelles de sécurité 121, 122 (afin de permettre au domaine noir de mettre en œuvre une politique de gestion de trafic basée sur les classes de services CoS des paquets transportés dans le domaine noir). Une autre approche consiste à utiliser des adresses de routage, au niveau des passerelles de sécurité 121 et 122, qui sont spécifiques pour l’envoi d’informations depuis la première application 141 vers la troisième application 143 (cela revient à créer un tunnel sécurisé spécifique caractérisé notamment par une association de sécurité comme le détaille le document normatif RFC 4301), et qui sont connues des équipements réseau du domaine noir devant router ladite succession de paquets vers la troisième application 143. Les paquets servant à encoder les informations à faire passer depuis la première application 141 jusqu’à la troisième application 143 peuvent donc être aisément discriminés des autres paquets transportés dans le domaine noir (de même que tous les autres paquets transmis par la première application 141 et devant être routés vers la troisième application 143).
Dans une étape optionnelle S305 suivante, la première application 141 vérifie si un message représentatif d’un acquittement de ladite information transmise est reçu en provenance de la seconde application 142, comme décrit ci-après en relation avec la Fig. 6. L’étape S305 est effectuée lorsque l’étape S303 a été préalablement effectuée. Si dans un laps de temps prédéterminé, aucun message d’acquittement n’est reçu en provenance de la seconde application 142, la première application 141 réitère l’étape S304 ; sinon, une étape S306 est effectuée.
Dans l’étape S306, la première application 141 extrait l’acquittement fourni dans le message d’acquittement reçu en provenance de la seconde application 142 vis-à-vis de l’information transmise à la troisième application 143. Si la première application 141 est à l’origine de l’envoi de ladite information à la troisième application 143, la première application 141 traite ledit acquittement, et effectue à nouveau l’étape S304 si l’acquittement est représentatif d’un échec de décodage de ladite information par la troisième application 143. Si la première application 141 a transmis ladite information à la troisième application 143 pour le compte d’une autre entité du domaine rouge, la première application 141 fait suivre l’acquittement à ladite autre entité du domaine rouge, qui en procédera au traitement, et met fin à l’algorithme de la Fig. 3.
Il convient donc de noter que les étapes S303, S305 et S306 sont optionnelles et permettent avantageusement à la troisième application 143 d’effectuer un acquittement (non strictement nécessaire) à destination de la première application 141 vis-à-vis de l’information envoyée par la première application 141 à la troisième application 143.
La Fig. 4 illustre schématiquement un algorithme, mis en œuvre par la troisième application 143, pour permettre à ladite troisième application 143 de recevoir des informations en provenance de ladite première application 141.
Dans une étape S401, la troisième application 143 reçoit une succession de paquets. Ladite succession de paquets est représentative d’une information que la première application 141 a souhaité transmettre à la troisième application 143. La succession de paquets reçue à l’étape S401 par la troisième application 143 correspond à une version chiffrée, par la première passerelle de sécurité 121, de la succession de paquets transmise par la première application 141 à l’étape S304. Ladite succession de paquets peut contenir au moins un paquet délimiteur pour aider ladite troisième application 143 à délimiter les paquets qui vont permettre de déterminer l’information que la première application 141 a cherché à faire passer à la troisième application 143, et éventuellement pour aider ladite troisième application 143 à délimiter les paquets qui vont permettre à la troisième application 143 d’effectuer un acquittement de ladite information.
Dans une étape S402 suivante, la troisième application 143 détermine les tailles respectives des paquets constituant la succession de paquets reçue à l’étape S401.
Dans une étape S403 suivante, la troisième application 143 convertit les tailles de paquets déterminées à l’étape S402 en l’information que la première application 141 a souhaité transmettre à la troisième application 143, en appliquant une seconde règle de conversion C2 prédéterminée. La seconde règle de conversion n’est pas, strictement parlant, l’inverse de la première règle de conversion C/ mentionnée en relation avec la Fig. 3. En effet, à cause du chiffrement effectué par la première passerelle de sécurité 121, les tailles respectives des paquets tels que reçus par la troisième application 143 à l’étape S401 diffèrent de celles des paquets tels que transmis par la première application 141 à l’étape S304. Cependant, les première C/ et seconde C2 règles de conversion sont telles que, pour une succession de paquets / de tailles respectives 7} résultant après chiffrement par la première passerelle de sécurité 121 en des paquets respectifs j, de tailles respectives 7cy, {T}j = Ci(I) et 1= C2({Tc}j), où {T}/ représente l’ensemble des tailles successives des paquets de la succession de paquets transmise à l’étape S304, {Tc}j représente l’ensemble des tailles successives des paquets de la succession de paquets reçue à l’étape S401, et I représente l’information que la première application 141 a souhaité faire passer à la troisième application 143.
Reprenons l’exemple cité en relation avec la Fig. 3, selon lequel la première application cherche à faire passer le message m à la troisième application 143. La troisième application 143 convertit, grâce à une fonction T2, chaque taille de paquet déterminée à l’étape S402 en un digit en base n (i.e. cfj, où i est un index) déterminé par ladite taille de paquet via la fonction T2 (J2 est donc une fonction permettant de mettre en correspondance chaque taille de paquet possible, après chiffrement par la première passerelle de sécurité 121, pour encoder l’information à faire passer depuis la première application 141 vers la troisième application 143, avec chaque digit de la base ri). La troisième application 143 obtient ainsi le message m„={<f i,...,cTy} sous la forme de la liste déjà mentionnée de y digits en base n. On a donc m256 = C ’2 (m„) où ^1256=(02561,...,d256x} est la liste déjà mentionnée de x digits représentant le message m en base « 256 », et où C’2 est la fonction inverse C’/. La seconde règle de conversion C2 mène donc, à partir d’une séquence de paquets mcc, au message rri256 - C2 (mee) que la première application 141a cherché à faire passer à la troisième application 143.
Lorsque la troisième application 143 est destinataire de ladite information transmise par la première application 141, la troisième application 143 traite ladite information ; sinon, la troisième application 143 propage ladite information à une autre entité du domaine noir à laquelle ladite information est destinée.
Dans une étape optionnelle S404 suivante, la troisième application 143 modifie la succession de paquets reçue à l’étape S401 de manière à effectuer un acquittement vis-à-vis de ladite information. L’exécution de l’étape S404 suppose que la première application a précédemment effectué l’étape S303. La modification de ladite succession de paquets est effectuée par suppression d’au moins un paquet du second ensemble de paquets, dans sa version chiffrée, ajouté par la première application 141 à l’étape S303 pour permettre à la troisième application 143 d’acquitter ladite information que la première application 141 a souhaité faire passer à la troisième application 143. En reprenant les trois types d’acquittement présentés en relation avec la Fig. 3, ledit second ensemble, dans sa version chiffrée, comporte au moins deux paquets de tailles identiques prédéfinies. La suppression par la troisième application 143 d’au moins un paquet parmi ces au moins deux paquets, sans toutefois que tous les paquets desdits au moins deux paquets ne soient ainsi supprimés, signifie alors que l’acquittement est positif; la suppression par la troisième application 143 de ces au moins deux paquets signifie alors que l’acquittement est négatif ; la transmission par la troisième application 143 des au moins deux paquets (i.e. aucune suppression) signifie alors que la transmission de ladite information a été entachée d’erreurs : impossibilité de décoder ladite information, ou calcul d’information de contrôle de redondance cyclique CRC montrant une corruption de données (dans ce cas, la seconde règle de conversion C2 mentionnée ci-dessus effectue l’extraction de cette information de contrôle de redondance cyclique CRC de la séquence de paquets succession de paquets reçue à l’étape S401). Ledit second ensemble de paquets peut contenir un nombre plus ou moins important de paquets en fonction des types d’acquittement que la troisième application 143 est autorisée à fournir, et comme décrit ci-après en relation avec la Fig. 5, la seconde application 142 est capable de déterminer quel acquittement a été fourni par la troisième application 143 en fonction de la taille de chaque paquet supprimé par la troisième application 143.
Dans une étape optionnelle S405 suivante, la troisième application 143 propage la succession de paquets reçue à l’étape S401, telle qu’éventuellement modifiée à l’étape S404. Lorsque l’étape S404 est effectuée, l’étape S405 est effectuée de manière à permettre à la seconde application 142 de détecter l’acquittement fourni par la troisième application 143. L’étape S405 peut être effectuée sans que l’étape S404 ne soit préalablement effectuée ; cela permet à la seconde application 142 de détecter que la première application 141a fait passer une information à la troisième application 143, et si la seconde application 142 connaît la règle de conversion inverse Cf de la première règle de conversion C/, alors la seconde application 142 est capable de déterminer quelle information la première application 141 a fait passer à la troisième application 143. Il peut en outre être nécessaire d’implémenter l’étape S405 de manière à éviter que les passerelles de sécurité 121, 122 n’entrent dans un état d’alerte à cause de la disparition, au sein du domaine noir, d’un trop grand nombre de paquets issus du domaine rouge.
La Fig. 5 illustre schématiquement un algorithme, mis en œuvre par la seconde application 142, pour permettre à la première application 141 de recevoir des acquittements vis-à-vis des informations transmises par ladite première application 141 à ladite troisième application 143. L’algorithme de la Fig. 5 s’applique lorsque les étapes S303 et S404 sont préalablement effectuées respectivement par la première application 141 et par la troisième application 143.
Dans une étape S501, la seconde application 142 reçoit une succession de paquets propagée par la troisième application 143 par exécution de l’étape S405, après déchiffrement par la seconde passerelle de sécurité 122. A moins d’une perte de paquets en chemin, la succession de paquets reçue à l’étape S501 est celle transmise par la première application 141 dont au moins un paquet (dans sa version chiffrée) a été supprimé par la troisième application 143 à l’étape S404 pour acquitter l’information que la première application 141 a souhaité transmettre à la troisième application 143.
Dans une étape S502 optionnelle suivante, la seconde application 142 récupère un identifiant inclus dans les données des paquets de ladite succession de paquets reçue à l’étape S501. La troisième application 143 n’a donc pas eu accès à cet identifiant, à cause du chiffrement effectué par la première passerelle de sécurité 121. Comme déjà décrit en relation avec la Fig. 3, cet identifiant va permettre à la première application 141 de savoir à quelle information, que la première application 141 a transmise à la troisième application 143, correspond l’acquittement fourni par la troisième application 143.
Dans une étape S503 suivante, la seconde application 142 détermine une information d’acquittement à partir de la taille des paquets de ladite succession de paquets. Plus particulièrement, la seconde application 142 détermine le nombre de paquets de taille prédéfinie restants dans ledit second ensemble de paquets de ladite succession de paquets par rapport à ce que la première application 141 était supposée transmettre. La seconde application 142 détermine par conséquent le nombre de paquets qui ont été supprimés (dans leur version chiffrée) par la troisième application 143 à l’étape S404. Ce nombre de paquets supprimés indique alors à la seconde application 142 quel acquittement est fourni par la troisième application 143 vis-à-vis de l’information que la première application 141 a souhaité faire passer à la troisième application 143.
Selon une variante de réalisation de l’étape S503, ledit second ensemble de paquets comporte des paquets de tailles respectives distinctes et la seconde application 142 détermine la taille des paquets restants dans ledit second ensemble de paquets de ladite succession de paquets par rapport à ce que la première application 141 était supposée transmettre. La seconde application 142 détermine par conséquent la taille de chaque paquet qui a été supprimé suite aux modifications apportées par la troisième application 143 à l’étape S404. La taille de chaque paquet qui a été ainsi supprimé indique alors à la seconde application 142 quel acquittement est fourni par la troisième application 143 vis-à-vis de l’information que la première application 141 a souhaité faire passer à la troisième application 143.
Dans une étape S504 suivante, la seconde application 142 transmet un message à destination de ladite première application 141, ledit message incluant l’information d’acquittement déterminée à l’étape S503, e.g. un message contenant des données utiles incluant l’information d’acquittement déterminée à l’étape S503. Dans un mode de réalisation particulier, ledit message inclut l’identifiant récupéré à l’étape S502. Sur réception dudit message, la première application 141 est donc informée de l’acquittement fourni par la troisième application 143 vis-à-vis de l’information que la première application 141 a souhaité faire passer à la troisième application 143.
Dans un mode de réalisation préférentiel, la seconde application 142 transmet ledit message dans un paquet coloré avec une classe de service CoS différente de celle utilisée par la première application 141 pour transmettre la succession de paquets à l’étape S304. Cela permet d’implémenter en parallèle un mécanisme similaire à celui décrit en relation avec les Figs. 3 à 5, mais dans le sens de communication depuis la seconde application 142 vers la première application 141, sans interférence entre ces mécanismes parallèles. Ce message est préférentiellement envoyé en s’appuyant sur un protocole de transport avec acquittement et retransmission, afin de s’assurer de la bonne réception dudit message par la première application 141. Préférentiellement, ledit message est transmis en s’appuyant sur le protocole TCP (« Transmission Control Protocol » en anglais), tel que défini dans la norme RFC 793. 11 est possible que les première 141, seconde 142 et troisième 143 applications ne connaissent a priori pas toutes les spécificités des passerelles de sécurité 121, 122, de sorte que les première 141, seconde 142 et troisième 143 applications ne savent a priori pas quelles modifications de taille apporte la passerelle de sécurité 121 lors du chiffrement, en fonction des tailles des paquets transmis par la première application 141. En effet, il est possible que, pour certaines tailles de paquets transmis par la première application 141, la passerelle de sécurité 121 insère des données de bourrage (« padding data » en anglais) lors de l’opération de chiffrement, de sorte que deux paquets de tailles distinctes transmis par la première application 141 se retrouvent avec une même taille après chiffrement. Pour déterminer les tailles de paquets utilisables pour encoder l'information à faire passer de la première application 141 à la troisième application 143, les première 141, seconde 142 et troisième 143 applications mettent préférentiellement en place une phase d’initialisation, décrite ci-après en relation avec les Figs. 6 à 8.
La Fig. 6 illustre schématiquement un algorithme, mis en œuvre par la première application 141, dans le cadre de la phase d’initialisation.
Dans une étape S601, la première application 141 effectue, avec la seconde application 142, un échange de déclenchement de la phase d’initialisation. Pour ce faire, la première application 141 transmet à la seconde application un message indiquant que la première application 141 souhaite déclencher la procédure d’initialisation. Ce message est préférentiellement envoyé en s’appuyant sur un protocole de transport avec acquittement et retransmission, afin de s’assurer de la bonne réception dudit message par la seconde application 142. Préférentiellement, ledit message est transmis en s’appuyant sur le protocole TCP. La première application 141 reçoit alors un message de réponse de la part de la seconde application 142. Si le message de réponse inclut une information indiquant que la seconde application 142 est prête à déclencher la procédure d’initialisation, une étape S602 est effectuée ; sinon, l’étape S601 est réitérée ultérieurement.
Au moment où la phase d’initialisation est déclenchée, les première 141, seconde 142 et troisième 143 applications considèrent qu’il existe deux tailles de paquets utilisables pour encoder des informations du domaine noir au domaine rouge : une taille minimale et une taille maximale. Du point de vue des première 141 et seconde 142 applications, la taille minimale correspond à la taille que chaque paquet transmis par la première application 141 à destination de la seconde application 142 doit avoir au minimum, et la taille maximale correspond à la taille que chaque paquet transmis par la première application 141 à destination de la seconde application 142 peut avoir au maximum. Du point de vue de la troisième application 143, la taille minimale correspond à la taille après chiffrement d’un paquet ayant une taille égale à la taille que chaque paquet transmis par la première application 141 à destination de la seconde application 142 doit avoir au minimum, et la taille maximale correspond à la taille après chiffrement d’un paquet ayant une taille égale à la taille que chaque paquet transmis par la première application 141 à destination de la seconde application 142 peut avoir au maximum. La taille que chaque paquet transmis par la première application 141 à destination de la seconde application 142 doit avoir au minimum et la taille que chaque paquet transmis par la première application 141 à destination de la seconde application 142 peut avoir au maximum sont telles que, après chiffrement, les paquets correspondants ont des tailles distinctes.
Dans l’étape S602, la première application 141 obtient, e.g. génère, une séquence d’initialisation. La séquence d’initialisation est constituée d’un enchaînement remarquable de paquets de tailles respectives prédéfinies. Chaque paquet de la séquence d’initialisation est soit de taille égale à la taille maximale MTU (« Maximum Transmission Unit » en anglais) des paquets transmis sans fragmentation dans le domaine rouge, soit de taille égale à la taille minimale des paquets transmis dans le domaine rouge. Pour les réseaux de communication cités en partie introductive, une taille maximale MTU de 1300 octets est généralement admise au niveau des équipements réseau du domaine rouge, pour rester cohérente avec la taille d’entêtes ajoutées par les passerelles de sécurité et ne pas dépasser dans le domaine noir la taille maximale fixée par la norme Ethernet (taille maximale MTU égale à 1500 octets à ce niveau). L’agencement de la séquence d’initialisation est connu des première 141, seconde 142 et troisième 143 applications.
La séquence d’initialisation comporte préférentiellement en outre un autre ensemble de paquets destinés à permettre à la troisième application 143 d’effectuer un acquittement, par suppression d’au moins un des paquets dudit autre ensemble. Par exemple, ledit autre ensemble comporte au moins deux paquets, au moins un paquet de taille égale à ladite taille minimale et au moins un paquet de taille égale à ladite taille maximale. La troisième application 143 est alors supposée supprimer au moins un paquet de taille égale à ladite taille minimale lorsque la troisième application 143 ne souhaite pas lancer la phase d’initialisation (acquittement négatif), et est supposée supprimer au moins un paquet de taille égale à ladite taille maximale sinon (acquittement positif), ou vice versa. Cet aspect est détaillé ci-après en relation avec la Fig. 7.
Dans une étape S603 suivante, la première application 141 transmet, à destination de la seconde application 142, la séquence d’initialisation obtenue à l’étape S601.
Comme pour la succession de paquets transmise à l’étape S304, la séquence d’initialisation (après chiffrement) est destinée à être interceptée par la troisième application 143. Un équipement réseau du domaine noir sur le chemin de transit depuis le premier sous-réseau de communication 101 de type rouge jusqu’au second sous-réseau de communication 102 de type rouge, comme par exemple l’équipement réseau 113, est adapté pour discriminer les paquets de la séquence d’initialisation (après chiffrement) parmi les paquets transportés dans le domaine noir et pour router lesdits paquets jusqu’à la troisième application 143.
Comme pour la succession de paquets transmise à l’étape S304, les paquets de la séquence d’initialisation sont transmis en s’appuyant sur un protocole de transport sans acquittement ni retransmission en cas de perte. Dans un mode de réalisation préféré, les paquets de la séquence d’initialisation sont transmis en s’appuyant sur le protocole UDP.
Les paquets de la séquence d’initialisation sont alors reçus par la passerelle de sécurité 121 qui procède alors à un chiffrement desdits paquets. Après chiffrement, les paquets de la séquence d’initialisation sont transmis dans le domaine noir, afin d’être traités par la troisième application 143 comme décrit ci-après en relation avec la Fig. 7. Dans un mode de réalisation particulier, la séquence d’initialisation est colorée avec une classe de service CoS dédiée, e.g. en utilisant un code de classe de service DSCP dédié. Préférentiellement, la séquence d’initialisation est colorée avec la même classe de service CoS que la succession de paquets transmise à l’étape S304. Ainsi, la séquence d’initialisation est préférentiellement colorée avec la classe de service CoS de plus forte priorité parmi les classes de service CoS non utilisées dans le plan de qualité de service QoS mis en œuvre dans le système de communication (préférentiellement, en utilisant un code de classe de service DSCP de niveau CS5 ou d’ordre supérieur), afin de réduire les risques de dé-séquencement des paquets de la séquence d’initialisation et éliminer les risques de pertes de paquets au sein de la séquence d’initialisation. Cette classe de service CoS bénéficie dans le plan de QoS d’une politique d’acheminement garanti au titre la signalisation réseau, afin d’éliminer les risques de pertes de paquets liées aux mécanismes de QoS au sein de ladite séquence d’initialisation.
Dans une étape S604 suivante, la première application 141 se met en attente d’un acquittement positif en provenance de la seconde application 142. Comme détaillé ci-après en relation avec les Figs. 7 et 8, un tel acquittement positif est représentatif du fait que la seconde application 142 a détecté la séquence d’initialisation transmise par la première application 141 à l’étape S603 et que la troisième application 143 a indiqué avoir reconnu la version chiffrée de la séquence d’initialisation transmise par la première application 141 à l’étape S603. Si dans un laps de temps prédéterminé, aucun acquittement positif n’est reçu en provenance de la seconde application 142, ou si un acquittement négatif est reçu en provenance de la seconde application 142, une étape S605 est effectuée. Sinon, une étape S607 est effectuée.
Dans l’étape S605, la première application 141 vérifie si une quantité maximum prédéfinie d’essais a été atteinte pour mettre en œuvre la phase d’initialisation. Si tel est le cas, une étape S606 est effectuée, au cours de laquelle il est mis fin à l’algorithme de la Fig. 6 ; sinon, l’étape S603 est réitérée. L’implémentation d’un mécanisme d’acquittement vis-à-vis de la séquence d’initialisation est optionnelle, et permet avantageusement de s’assurer que les seconde 142 et troisième 143 applications ont bien détecté la séquence d’initialisation transmise par la première application 141 à l’étape S603.
Dans l’étape S607, la première application 141 obtient, e.g. génère, une séquence de test. La séquence de test consiste en un enchaînement prédéfini de l’ensemble des tailles de paquets utilisables (sans prendre en compte d’éventuelles restrictions liées à la passerelle de sécurité 121) pour encoder des informations du domaine noir au domaine rouge. Chaque paquet de la séquence de test a une taille différente. Dans la séquence de test, les paquets sont ordonnés par taille croissante ou par taille décroissante.
Dans une étape S608 suivante, la première application 141 transmet, à destination de la seconde application 142, la séquence de test obtenue à l’étape S607.
Comme pour la séquence d’initialisation transmise à l’étape S603, la séquence de test (après chiffrement) est destinée à être interceptée par la troisième application 143. Un équipement réseau du domaine noir sur le chemin de transit depuis le premier sous-réseau de communication 101 de type rouge jusqu’au second sous-réseau de communication 102 de type rouge, comme par exemple l’équipement réseau 113, est adapté pour discriminer les paquets de la séquence de test (après chiffrement) parmi les paquets transportés dans le domaine noir et pour router lesdits paquets jusqu’à la troisième application 143.
Les paquets de la séquence de test sont alors reçus par la passerelle de sécurité 121 qui procède alors à un chiffrement desdits paquets. Après chiffrement, les paquets de la séquence de test sont transmis dans le domaine noir, afin d’être traités par la troisième application 143 comme décrit ci-après en relation avec la Fig. 7.
Dans un mode de réalisation particulier, la séquence de test est colorée avec une classe de service CoS dédiée, e.g. en utilisant un code de classe de service DSCP dédié. Préférentiellement, la séquence de test est colorée avec la même classe de service CoS que la séquence d”initialisation. Ainsi, la séquence de test est préférentiellement colorée avec la classe de service CoS de plus forte priorité parmi les classes de service CoS non utilisées dans le plan de qualité de service QoS mis en œuvre dans le système de communication (préférentiellement, en utilisant un code de classe de service DSCP de niveau CS5 ou d’ordre supérieur), afin de réduire les risques de dé-séquencement des paquets de la séquence de test et d’éliminer les risques de pertes de paquets au sein de la séquence de test. Cette classe de service CoS bénéficie dans le plan de QoS d’une politique d’acheminement garanti au titre la signalisation réseau, afin d’éliminer les risques de pertes de paquets liées aux mécanismes de QoS au sein de ladite séquence de test.
Comme pour la séquence d’initialisation, les paquets de la séquence de test sont transmis en s’appuyant sur un protocole de transport sans acquittement ni retransmission en cas de perte. Dans un mode de réalisation préféré, les paquets de la séquence de test sont transmis en s’appuyant sur le protocole UDP.
Dans une étape S609 suivante, la première application 141 se met en attente d’une liste de paquets en provenance de la seconde application 142. Cette liste contient un descriptif de chacun des paquets de la séquence de test que la seconde application 142 a effectivement reçu. En effet, comme détaillé ci-après en relation avec la Fig. 7, la troisième application 143 est susceptible de supprimer un ou plusieurs paquets de la séquence de test, pour signifier que plusieurs paquets après chiffrement sont de même taille, alors que les paquets de la séquence de test avant chiffrement ont des tailles respectives distinctes.
Dans une étape S610 suivante, la première application 141 sélectionne une première règle de conversion C/ applicable d’après la liste de paquets reçue à l’étape S609, et ce parmi un ensemble prédéfini de premières règles de conversion possibles.
Plus la liste reçue à l’étape S609 contient de paquets de tailles distinctes, plus la quantité de paquets nécessaire pour faire passer une information depuis la première application 141 jusqu’à la troisième application 143 est faible, ou plus la variété d’informations que la première application 141 peut faire passer à la troisième application 143 est grande. En d’autres termes, la liste reçue à l’étape S609 définit l’ensemble des symboles que la première application 141 va pouvoir utiliser pour encoder chaque information à faire passer à la troisième application, chacun de ses symboles correspondant à une taille de paquet.
Dans une étape S611 suivante, la première application 141 transmet, à destination de la seconde application 142, une séquence de paquets représentative de la première règle de conversion C/ sélectionnée à l’étape S610, donc par conséquent de la seconde règle de conversion C2 à appliquer par la troisième application 143 parmi un ensemble prédéfini de secondes règles de conversion possibles (et qui correspond de manière univoque audit ensemble prédéfini de premières règles de conversion). Ladite séquence comporte donc un premier ensemble de paquets de tailles respectives égales soit à ladite taille maximale, soit à ladite taille minimale, et ledit premier ensemble est une succession de tels paquets de telle sorte que les tailles respectives des paquets successifs dudit premier ensemble représentent la première règle de conversion Cj sélectionnée à l’étape S610.
La séquence de paquets représentative de la première règle de conversion C/ sélectionnée à l’étape S610 est destinée à être interceptée par la troisième application 143. Un équipement réseau du domaine noir sur le chemin de transit depuis le premier sous-réseau de communication 101 de type rouge jusqu’au second sous-réseau de communication 102 de type rouge, comme par exemple l’équipement réseau 113, est adapté pour discriminer les paquets de ladite séquence (après chiffrement) parmi les paquets transportés dans le domaine noir et pour router lesdits paquets jusqu’à la troisième application 143.
La séquence de paquets représentative de la première règle de conversion C/ sélectionnée à l’étape S610 comporte préférentiellement en outre un second ensemble de paquets destiné à permettre à la troisième application 143 d’effectuer un acquittement, par suppression d’au moins un des paquets dudit second ensemble. Par exemple, ledit second ensemble comporte au moins deux paquets, au moins un paquet de taille égale à ladite taille minimale et au moins un paquet de taille égale à ladite taille maximale. La troisième application 143 est alors supposée supprimer au moins un paquet de taille égale à ladite taille minimale lorsque la troisième application 143 ne souhaite pas valider la fin de la phase d’initialisation (acquittement négatif), et est supposée supprimer au moins un paquet de taille égale à ladite taille maximale sinon (acquittement positif), ou vice versa. Cet aspect est détaillé ci-après en relation avec la Fig. 7.
Dans un mode de réalisation particulier, la séquence de paquets représentative de la première règle de conversion C/ sélectionnée à l’étape S610 est colorée avec une classe de service CoS dédiée, e.g. en utilisant un code de classe de service DSCP dédié. Préférentiellement, la séquence de paquets représentative de la première règle de conversion C/ sélectionnée à l’étape S610 est colorée avec la même classe de service CoS que la séquence d’initialisation. Ainsi, la séquence de paquets représentative de la première règle de conversion C/ sélectionnée à l’étape S610 est préférentiellement colorée avec la classe de service CoS de plus forte priorité parmi les classes de service CoS non utilisées dans le plan de qualité de service QoS mis en œuvre dans le système de communication (préférentiellement, en utilisant un code de classe de service DSCP de niveau CS5 ou d’ordre supérieur), afin de réduire les risques de dé-séquencement des paquets de ladite séquence de paquets et d’éliminer les risques de pertes de paquets au sein de ladite séquence de paquets. Cette classe de service CoS bénéficie dans le plan de QoS d’une politique d’acheminement garanti au titre la signalisation réseau, afin d’éliminer les risques de pertes de paquets liées aux mécanismes de QoS au sein de la séquence de paquets représentative de la première règle de conversion C; sélectionnée à l’étape S610.
Comme pour la séquence d’initialisation, les paquets de la séquence de paquets représentative de la première règle de conversion C/ sélectionnée à l’étape S610 sont transmis en s’appuyant sur un protocole de transport sans acquittement ni retransmission en cas de perte. Dans un mode de réalisation préféré, les paquets de la séquence de paquets représentative de la première règle de conversion C/ sélectionnée à l’étape S610 sont transmis en s’appuyant sur le protocole UDP.
Dans une étape S612 suivante, la première application 141 se met en attente d’un acquittement positif en provenance de la seconde application 142. Comme détaillé ci-après en relation avec les Figs. 7 et 8, cet acquittement positif est représentatif du fait que la seconde application 142 a détecté que la troisième application 143 a indiqué avoir reçu la version chiffrée de la séquence de paquets représentative de la première règle de conversion C/ sélectionnée à l’étape S610, et donc de la seconde règle de conversion C2 à appliquer dans le cadre de l’exécution des Figs. 3 à 5. Si un acquittement positif est reçu, une étape S613 est effectuée, au cours de laquelle la première application 141 décide d’appliquer, dans le cadre de l’exécution des Figs. 3 à 5, la première règle de conversion C/ sélectionnée à l’étape S610; sinon, une étape S614 est effectuée, au cours de laquelle il est mis fin à l’algorithme de la Fig. 6.
La Fig. 7 illustre schématiquement un algorithme, mis en œuvre par la troisième application 143, dans le cadre de la phase d’initialisation.
Dans une étape S701, la troisième application 143 reçoit une version chiffrée de la séquence d’initialisation transmise par la première application 141 à l’étape S603.
Dans une étape S702 optionnelle suivante, la troisième application 143 modifie la séquence d’initialisation par suppression d’au moins un paquet, pour indiquer que la troisième application 143 a reconnu la version chiffrée de la séquence d’initialisation transmise par la première application 141 à l’étape S603. Dans un mode de réalisation particulier déjà évoqué, la séquence d’initialisation comporte un ensemble de paquets destinés à permettre à la troisième application 143 d’effectuer un acquittement, par suppression d’au moins un desdits paquets. Par exemple, ledit autre ensemble comporte au moins deux paquets, au moins un paquet de taille égale à ladite taille minimale et au moins un paquet de taille égale à ladite taille maximale. La troisième application 143 est alors supposée supprimer au moins un paquet de taille égale à ladite taille minimale lorsque la troisième application 143 ne souhaite pas lancer la phase d’initialisation (acquittement négatif), et est supposée supprimer au moins un paquet de taille égale à ladite taille maximale sinon (acquittement positif), ou vice versa.
Dans une étape S703 suivante, la troisième application 143 propage, à destination de la seconde application 142, la séquence d’initialisation (sous forme chiffrée), éventuellement modifiée à l’étape S702.
Dans une étape S704 suivante, la troisième application 143 reçoit une autre séquence de paquets. Cette autre séquence de paquets est une version chiffrée de la séquence de test transmise par la première application 141 à l’étape S608.
Dans une étape S705 suivante, la troisième application 143 modifie éventuellement la séquence de paquets reçue à l’étape S704. La troisième application 143 parcourt les paquets de ladite séquence de paquets dans leur ordre d’arrivée, et en analyse les tailles respectives. Lorsque la troisième application 143 rencontre une taille de paquet déjà rencontrée dans le parcours de ladite séquence de paquets, la troisième application 143 supprime le paquet correspondant de ladite séquence de paquets. En d’autres termes, la troisième application 143 supprime les doublons de taille dans la séquence de paquets reçue à l’étape S704. Comme déjà mentionné, ces doublons de taille peuvent survenir suite à une insertion de données de bourrage par la passerelle de sécurité 121 pendant les opérations de chiffrement des paquets de la séquence de test émise par la première application 141 à l’étape S608. Etant donné que la séquence de test émise par la première application 141 repose sur des paquets ordonnancés par taille croissante ou décroissante, les doublons de taille sont des paquets successifs dans la séquence de paquets reçue à l’étape S704.
Dans une étape S706 suivante, la troisième application 143 propage, à destination de la seconde application 142, la séquence de test (sous forme chiffrée) éventuellement modifiée à l’étape S705.
Dans une étape S707 suivante, la troisième application 143 se met en attente de recevoir une séquence de paquets représentative de la première règle de conversion Cy sélectionnée à l’étape S610, et donc de la seconde règle de conversion C2 à appliquer dans le cadre de l’exécution des Figs. 3 à 5. Ladite séquence de paquets est la version chiffrée de celle transmise par la première application 141 à l’étape S611.
Dans une étape S708 suivante, la troisième application 143 stocke une information représentative de ladite seconde règle de conversion C2 de manière à appliquer, dans le cadre de l’exécution des Figs. 3 à 5, ladite seconde règle de conversion C^. Si toutefois la troisième application 143 est en désaccord avec la première règle de conversion Cy sélectionnée à l’étape S610, la troisième application 143 n’effectue pas l’étape S708.
Dans une étape S709 optionnelle suivante, la troisième application 143 modifie la séquence de paquets reçue à l’étape S707, par suppression d’au moins un paquet, pour indiquer si la troisième application 143 est d’accord avec la première règle de conversion Cy sélectionnée à l’étape S610 par la première application 141. Comme indiqué en relation avec la Fig. 6, ladite séquence de paquets comporte préférentiellement un ensemble de paquets destinés à permettre à la troisième application 143 d’effectuer un acquittement, par suppression d’au moins un des paquets dudit ensemble. Par exemple, ledit ensemble comporte au moins deux paquets de tailles distinctes, à savoir au moins un paquet de taille égale à ladite taille minimale et au moins un paquet de taille égale à ladite taille maximale. La troisième application 143 supprime au moins un paquet de taille égale à ladite taille minimale lorsque la troisième application 143 est en désaccord avec la première règle de conversion C/ sélectionnée à l’étape S610 par la première application 141 (acquittement négatif), et supprime au moins un paquet de taille égale à ladite taille maximale sinon (acquittement positif), ou vice versa.
Dans une étape S710 suivante, la troisième application 143 propage, à destination de la seconde application 142, la séquence modifiée à l’étape S709.
La Fig. 8 illustre schématiquement un algorithme, mis en œuvre par la seconde application 142, dans le cadre de la phase d’initialisation.
Dans une étape S801, la seconde application 142 effectue, avec la première application 141, un échange de déclenchement de la phase d’initialisation. Pour ce faire, la seconde application 142 reçoit de la première application 141 un message indiquant que la première application 141 souhaite déclencher la procédure d’initialisation. Sur réception de ce message, la seconde application 142 répond à la première application 141 avec un message de réponse. Si la seconde application 142 est prête à déclencher la procédure d’initialisation, le message de réponse inclut une information indiquant que la seconde application 142 est prête à déclencher la procédure d’initialisation, et une étape S802 est effectuée; sinon, l’étape S801 est réitérée ultérieurement. Ce message de réponse est préférentiellement envoyé en s’appuyant sur un protocole de transport avec acquittement et retransmission, afin de s’assurer de la bonne réception dudit message par la première application 141. Préférentiellement, ledit message est transmis en s’appuyant sur le protocole TCP.
Dans l’étape S802, la seconde application 142 reçoit une séquence de paquets. Cette séquence de paquets est supposée correspondre à la séquence d’initialisation transmise par la première application 141 à l’étape S603, éventuellement modifiée par la troisième application 143 à l’étape S702. Considérons par la suite que la troisième application 143 est supposée modifier la séquence d’initialisation (dans sa version chiffrée) pour fournir un acquittement.
Dans une étape S803 suivante, la seconde application 142 vérifie si la séquence de paquets reçue à l’étape S802 est complète, c’est-à-dire si la séquence de paquets reçue à l’étape S801 correspond à la séquence d’initialisation telle que transmise par la première application 141 à l’étape S603. Si tel est le cas, cela signifie que la troisième application 143 n’a pas reconnu la version chiffrée de la séquence d’initialisation transmise par la première application 141 à l’étape S603, et la seconde application 142 envoie alors, dans une étape S803, un message représentatif d’un acquittement négatif à la première application 141, e.g. un message contenant des données utiles représentatives de l’acquittement négatif. Si la séquence de paquets reçue à l’étape S801 est incomplète et que la modification correspond à une indication que la troisième application 143 a reconnu la version chiffrée de la séquence d’initialisation transmise par la première application 141 à l’étape S603 (modification optionnellement appliquée par la troisième application 143 à l’étape S702), alors la seconde application 142 envoie, à l’étape S803, un acquittement positif à la première application 141 ; sinon, la seconde application 142 envoie, à l’étape S803, un acquittement négatif à la première application 141. Ensuite, une étape S804 est effectuée. Dans le cas où la troisième application n’est pas supposée modifier la séquence d’initialisation (dans sa version chiffrée) pour fournir un acquittement, l’algorithme de la Fig. 8 passe directement de l’étape S802 à l’étape S804.
Dans l’étape S804 suivante, la seconde application 142 reçoit une séquence de test, éventuellement modifiée suite aux opérations effectuées par la troisième application 143 à l’étape S705. La séquence de test reçue par la seconde application 142 peut donc être différente de celle transmise par la première application 141 à l’étape S608. La séquence de test reçue par la seconde application 142 à l’étape S804 contient des paquets qui sont de tailles distinctes, puisque les éventuels doublons ont été supprimés par la troisième application 143 à l’étape S705.
Dans une étape S805 suivante, la seconde application 142 détermine une liste de tailles de paquets présents dans la séquence de test reçue à l’étape S804. Ce sont ces tailles de paquets qui peuvent être distinctement utilisées par la première application 141 pour encoder les informations à faire passer à la troisième application 143 (donc au domaine rouge).
Dans une étape S806 suivante, la seconde application 142 transmet, à la première application 141, un message incluant la liste de tailles de paquets déterminée à l’étape S805. Ce message est préférentiellement envoyé en s’appuyant sur un protocole de transport avec acquittement et retransmission, afin de s’assurer de la bonne réception dudit message par la première application 141. Préférentiellement, ledit message est transmis en s’appuyant sur le protocole TCP.
Dans une étape S807 suivante, la seconde application 142 reçoit une séquence de paquets représentative de la première règle de conversion C; sélectionnée à l’étape S610 par la première application 141. Ladite séquence de paquets est celle qui a été éventuellement modifiée par la troisième application 143 à l’étape S709. La modification éventuellement apportée par la troisième application 143 à l’étape S709 indique si la troisième application 143 est d’accord avec la première règle de conversion Ci sélectionnée à l’étape S610 par la première application 141 (et avec la seconde règle de conversion C2 correspondante). Si la troisième application 143 n’est pas d’accord avec la première règle de conversion C/ sélectionnée à l’étape S610 par la première application 141, la seconde application 142 propage, dans une étape S809, un acquittement négatif à destination de la première application 141 et met fin à l’algorithme de la Fig. 8 ; sinon, la seconde application 142 propage, dans l’étape S809, un acquittement positif à destination de la première application 141 et met fin à l’algorithme de la Fig. 8.
Dans l’éventualité où la première application 141 n’attend pas d’acquittement de la part de la troisième application 143, la seconde application 142 n’effectue pas l’étape 809 et met fin à l’algorithme de la Fig. 8 en jetant la séquence de paquets reçue à l’étape S807.
Ainsi par exécution des algorithmes des Figs. 6 à 8, des première C/ et seconde C2 règles de conversion adaptées au fonctionnement de la passerelle de sécurité 121 sont sélectionnées parmi des ensembles prédéfinis respectifs de telles règles.

Claims (13)

  1. REVENDICATIONS 1/ Procédé de transmission d’une information / depuis une première application (141) jusqu’à une troisième application (143), la première application étant exécutée dans un premier sous-réseau (101) de type rouge, une seconde application étant exécutée dans un second sous-réseau (102) de type rouge, la troisième application étant exécutée dans un réseau (103) de type noir, chaque sous-réseau de type rouge étant de niveau de sécurité supérieur au réseau de type noir, les premier et second sous-réseaux de type rouge étant interconnectés via le réseau de type noir par un tunnel sécurisé entre une première passerelle de sécurité (121) du premier sous-réseau de type rouge et une seconde passerelle de sécurité (122) du second sous-réseau de type rouge appliquant des opérations de chiffrement et de déchiffrement telles que chaque premier paquet de plus petite taille qu’un second paquet résulte après chiffrement en un premier paquet chiffré de taille inférieure ou égale à la taille du paquet résultant du chiffrement du second paquet, caractérisé en ce que : la première application convertit (S302) ladite information en une séquence de paquets i dont les tailles {T},· encodent ladite information, grâce à une première règle de conversion Ci prédéterminée ; la première application transmet (S304) à destination de la seconde application la séquence de paquets i obtenue ; un équipement réseau (113) du réseau de type noir sur un chemin obligatoire dudit tunnel sécurisé route vers la troisième application chaque paquet de ladite séquence de paquets après chiffrement de la première passerelle de sécurité ; et la troisième application obtient (S403) ladite information, à partir des tailles {7c}/ des paquets j de ladite séquence de paquets après chiffrement de la première passerelle de sécurité, grâce à une seconde règle de conversion C2 prédéterminée, de telle sorte que{7},· = C/ (7) et 1= C2 {{Tc}j).
  2. 2/ Procédé selon la revendication 1, caractérisé en ce que ladite séquence de paquets est délimitée par au moins un paquet de taille prédéfinie qui n’est pas utilisable au sein de ladite séquence de paquets i.
  3. 3/ Procédé selon l’une quelconque des revendications 1 et 2, caractérisé en ce que les paquets de ladite séquence de paquets sont colorés avec une classe de service prédéfinie, et en ce que ledit équipement réseau du réseau de type noir route chaque paquet ainsi coloré, en provenant du premier sous-réseau de type rouge, vers la troisième application.
  4. 4/ Procédé selon l’une quelconque des revendications 1 à 3, caractérisé en ce que, pour convertir ladite information en séquence de paquets i, la première application effectue les étapes suivantes : convertir ladite information représentée sous forme d’un flux binaire nt256 décomposé en x octets en une liste m„ de y digits en base n, où n correspond à la quantité de tailles distinctes de paquets utilisables pour encoder ladite information à transmettre depuis la première application jusqu’à la troisième application ; et convertir, grâce à une fonction T/, chacun des y digits en base n en un paquet dont la taille est déterminée par la valeur dudit digit via la fonction 7/ ; et en ce que, pour obtenir ladite information, la troisième application effectue les étapes suivantes : convertir, grâce à une fonction Γ2, chaque taille de paquet j de ladite séquence de paquets après chiffrement de la première passerelle de sécurité en un digit en base n déterminé par ladite taille de paquet via la fonction T2 , afin d’obtenir la liste m„ de y digits en base n ; et convertir la liste mn de y digits en base n information représentée sous forme d’un flux binaire en ladite information représentée sous forme du flux binaire m.256 décomposé en x octets.
  5. 5/ Procédé selon l’une quelconque des revendications 1 à 4, caractérisé en ce que la première application ajoute, à ladite séquence de paquets i obtenue, une autre séquence de paquets de sorte à comporter alors deux ensembles de paquets : un premier ensemble de paquets dont les tailles servent à encoder ladite information et un second ensemble de paquets destiné à permettre à la troisième application d’acquitter ladite information par suppression d’au moins un paquet dudit second ensemble.
  6. 6/ Procédé selon la revendication 5, caractérisé en ce que ledit second ensemble de paquets est tel que : la suppression par la troisième application d’au moins un des paquets dudit second ensemble, sous sa forme chiffrée, sans toutefois que tous les paquets dudit second ensemble ne soient ainsi supprimés, signifie un acquittement positif ; la suppression par la troisième application des paquets dudit second ensemble, sous leur forme chiffrée, signifie un acquittement négatif ; et la transmission par la troisième application dudit second ensemble de paquets, sous leur forme chiffrée, à la seconde application signifie que la transmission de ladite information a été entachée d’erreur.
  7. 7/ Procédé selon la revendication 6, caractérisé en ce que ladite information transmise depuis la première application jusqu’à la troisième application comporte une information de contrôle de redondance cyclique, la première règle de conversion C; effectue le calcul et l’insertion de l’information de contrôle de redondance cyclique dans la séquence de paquets /, et la seconde règle de conversion C2 effectue l’extraction de l’information de contrôle de redondance cyclique de la séquence de paquets telle qu’obtenue après chiffrement de la première passerelle de sécurité.
  8. 8/ Procédé selon l’une quelconque des revendications 5 à 7, caractérisé en ce que les données utiles des paquets i de ladite séquence de paquets incluent un identifiant d’envoi de ladite information.
  9. 9/ Procédé selon l’une quelconque des revendications 1 à 8, caractérisé en ce qu’une phase d’initialisation est préalablement implémentée comme suit : - la première application transmet à destination de la seconde application une séquence de test consistant en un enchaînement prédéfini de l’ensemble des tailles de paquets utilisables pour encoder ladite information, chaque paquet de la séquence de test ayant une taille différente et lesdits paquets étant ordonnés par taille croissante ou décroissante ; - ledit équipement réseau du réseau de type noir route vers la troisième application chaque paquet de ladite séquence de test après chiffrement de la première passerelle de sécurité ; - la troisième application supprime chaque doublon de taille dans la séquence de test après chiffrement de la première passerelle de sécurité et propage la séquence de test ainsi modifiée vers la seconde application ; et - lorsque la seconde application reçoit une séquence de paquets supposée être la séquence de test, la seconde application détermine les tailles de paquets qui n’ont pas été supprimés par la troisième application, ces tailles de paquets pouvant alors être distinctement utilisées pour encoder ladite information, et en informe la première application.
  10. 10/ Procédé selon la revendication 9, caractérisé en ce que les paquets de la séquence de test sont colorés avec une classe de service prédéfinie, et en ce que ledit équipement réseau du réseau de type noir route chaque paquet ainsi coloré, en provenant du premier sous-réseau de type rouge, vers la troisième application.
  11. 11/ Procédé selon l’une quelconque des revendications 9 et 10, caractérisé en ce que la phase d’initialisation est préalablement comme suit : - la première application transmet à destination de la seconde application une séquence d’initialisation constituée d’un enchaînement remarquable de paquets, la taille de chaque paquet de la séquence d’initialisation est soit égale à une taille maximale sans fragmentation dans les premier et second sous-réseaux de type rouge, soit égale à une taille minimale de paquet dans les premier et second sous-réseaux de type rouge ; et - ledit équipement réseau du réseau de type noir route vers la troisième application chaque paquet de ladite séquence d’initialisation après chiffrement de la première passerelle.
  12. 12/ Procédé selon la revendication 11, caractérisé en ce que les paquets de la séquence d’initialisation sont colorés avec une classe de service prédéfinie, et en ce que ledit équipement réseau du réseau de type noir route chaque paquet ainsi coloré, en provenant du premier sous-réseau de type rouge, vers la troisième application.
  13. 13/ Système de transmission d’une information I depuis une première application (141) jusqu’à une troisième application (143), la première application étant exécutée dans un premier sous-réseau (101) de type rouge, une seconde application étant exécutée dans un second sous-réseau (102) de type rouge, la troisième application étant exécutée dans un réseau (103) de type noir, chaque sous-réseau de type rouge étant de niveau de sécurité supérieur au réseau de type noir, les premier et second sous-réseaux de type rouge étant interconnectés via le réseau de type noir par un tunnel sécurisé entre une première passerelle de sécurité (121) du premier sous-réseau de type rouge et une seconde passerelle de sécurité (122) du second sous-réseau de type rouge appliquant des opérations de chiffrement et de déchiffrement telles que chaque premier paquet de plus petite taille qu’un second paquet résulte après chiffrement en un premier paquet chiffré de taille inférieure ou égale à la taille du paquet résultant du chiffrement du second paquet, caractérisé en ce que : la première application est adaptée pour convertir (S302) ladite information en une séquence de paquets i dont les tailles {Γ},· encodent ladite information, grâce à une première règle de conversion Cy prédéterminée ; la première application est adaptée pour transmettre (S304) à destination de la seconde application la séquence de paquets / obtenue ; un équipement réseau (113) du réseau de type noir sur un chemin obligatoire dudit tunnel sécurisé est adapté pour router vers la troisième application chaque paquet de ladite séquence de paquets après chiffrement de la première passerelle de sécurité ; et la troisième application est adaptée pour obtenir (S403) ladite information, à partir des tailles {7c}y des paquets j de ladite séquence de paquets après chiffrement de la première passerelle de sécurité, grâce à une seconde règle de conversion O prédéterminée, de telle sorte que{7}( = C/ (/) et/= C2({Tc}j).
FR1501656A 2015-08-03 2015-08-03 Procede de transmission d'information entre deux domaines de niveaux de securite distincts Active FR3039951B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1501656A FR3039951B1 (fr) 2015-08-03 2015-08-03 Procede de transmission d'information entre deux domaines de niveaux de securite distincts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1501656A FR3039951B1 (fr) 2015-08-03 2015-08-03 Procede de transmission d'information entre deux domaines de niveaux de securite distincts

Publications (2)

Publication Number Publication Date
FR3039951A1 true FR3039951A1 (fr) 2017-02-10
FR3039951B1 FR3039951B1 (fr) 2017-09-01

Family

ID=54783658

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1501656A Active FR3039951B1 (fr) 2015-08-03 2015-08-03 Procede de transmission d'information entre deux domaines de niveaux de securite distincts

Country Status (1)

Country Link
FR (1) FR3039951B1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060172722A1 (en) * 2005-02-01 2006-08-03 Lars-Torholm Christensen Method and apparatus for prioritizing encrypted traffic at an intermediate node in a communications network
GB2430834A (en) * 2005-09-30 2007-04-04 Boeing Co Routing method for cryptographic networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060172722A1 (en) * 2005-02-01 2006-08-03 Lars-Torholm Christensen Method and apparatus for prioritizing encrypted traffic at an intermediate node in a communications network
GB2430834A (en) * 2005-09-30 2007-04-04 Boeing Co Routing method for cryptographic networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FINEBERG V: "IPv6 Features for Enhancing QoS in the GIG", MILITARY COMMUNICATIONS CONFERENCE, 2005. MILCOM 2005. IEEE ATLANTIC CITY, NJ, USA 17-20 OCT. 2005, PISCATAWAY, NJ, USA,IEEE, PISCATAWAY, NJ, USA, 17 October 2005 (2005-10-17), pages 1 - 7, XP010901453, ISBN: 978-0-7803-9393-6, DOI: 10.1109/MILCOM.2005.1605955 *

Also Published As

Publication number Publication date
FR3039951B1 (fr) 2017-09-01

Similar Documents

Publication Publication Date Title
US10355944B2 (en) Minimally invasive monitoring of path quality
FR2923969A1 (fr) Procede de gestion de trames dans un reseau global de communication, produit programme d&#39;ordinateur, moyen de stockage et tete de tunnel correspondants
FR2933557A1 (fr) Procede et dispositif de protection de l&#39;integrite de donnees transmises sur un reseau
WO2019002754A1 (fr) Procédé de communication quic via des chemins multiples
EP3318023B1 (fr) Procédé d&#39;optimisation de la charge d&#39;un concentrateur de connexions réseau
FR2919778A1 (fr) Procede de transmission de paquets de donnees dans un tunnel, produit programme d&#39;ordinateur, moyen de stockage et tete de tunnel correspondants
FR2929789A1 (fr) Procede de gestion de mecanismes d&#39;amelioration de transmission de flux de donnees sur un tunnel, produit programme d&#39;ordinateur, moyen de stockage et tete de tunnel correspondants
EP3637845B1 (fr) Procédé de communication basé sur un protocole de transmission par trames
EP3332527B1 (fr) Procédé de transmission d&#39;information entre deux domaines de niveaux de sécurité distincts
EP3216189B1 (fr) Délégation d&#39;intermédiation sur un échange de données chiffrées
FR2888695A1 (fr) Detection d&#39;une intrusion par detournement de paquets de donnees dans un reseau de telecommunication
WO2018060657A1 (fr) Procédé d &#39;inspection de trafic chiffré avec des trapdoors fournies
FR3039951A1 (fr) Procede de transmission d&#39;information entre deux domaines de niveaux de securite distincts
EP2979222B1 (fr) Procédé de stockage de données dans un système informatique effectuant une deduplication de données
EP3298745B1 (fr) Small form-factor module enfichable
EP3117573B1 (fr) Procédé de gestion de congestion d&#39;un lien de transmission dans un réseau de communication par paquets
WO2023078993A1 (fr) Procédé de gestion d&#39;une retransmission de données échangées sur un chemin établi entre un premier équipement de communication et un deuxième équipement de communication au moyen d&#39;une valeur d&#39;un paramètre de performance intermédiaire
WO2023078995A2 (fr) Procédé de vérification de la fiabilité d&#39;une première valeur d&#39;un paramètre de contrôle de flux relatif à une connexion destinée à être établie entre un premier équipement de communication et un deuxième équipement de communication reliés par un chemin comprenant au moins un nœud intermédiaire au moyen d&#39;une valeur d&#39;un paramètre de performance intermédiaire déterminée par le nœud intermédiaire
FR3044195A1 (fr) Procede et dispositif de traitement d&#39;une annonce non legitime d&#39;un bloc d&#39;adresses ip
FR2947123A1 (fr) Procedes de transmission entre un emetteur et un recepteur, et un recepteur, avec transmission d&#39;une donnee additionnelle en fonction de la longueur d&#39;au moins deux paquets, emetteur et recepteur correspondants
EP4203419A1 (fr) Mise en communication automatique de sondes reseau
EP4395235A1 (fr) Procédé d&#39;anonymisation d&#39;une communication entre une application source et une application destinataire; système, module et produit programme d&#39;ordinateur associés
EP3069339B1 (fr) Procédé de transmission de paquets dans un réseau et réseau dans lequel est mis en oeuvre ledit procédé
EP2476225B1 (fr) Procede et systeme pour le controle de l&#39;acheminement d&#39;un flux de donnees d&#39;une classe de service a travers un reseau maille et chiffre
EP2901652B1 (fr) Procédé de sécurisation d&#39;un canal de transmission de données de voix et dispositif de sécurisation associé

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20170210

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9