Brevet FR2895615A1 — publié le 20070629

L'invention concerne les échanges de données entre réseaux de communication de données. Il est fréquent que des réseaux de communication de données, par exemple informatiques, présentent des niveaux de sécurité ou de confidentialité différents. On trouve des exemples de telles classifications de réseaux dans les applications militaires, nucléaires, de renseignements ou encore au sein des entreprises, certains services ou métiers d'une entreprise pouvant être astreints à une sécurité ou une confidentialité plus ou moins importante. Des domaines, ou réseaux, de niveaux de sécurité différents peuvent avoir à échanger des données. De tels échanges doivent être encadrés et réglementés. Il est possible à cet effet d'utiliser des pare-feu informatiques (bien connus sous leur dénomination anglaise de "firewall"), qui remplissent une fonction de filtre, paramétrés en fonction de la nature des données qui les traversent. On connaît des réglementations militaires qui interdisent toute connexion physique entre les réseaux. L'utilisation d'un pare-feu est alors proscrite, puisque cette dernière implique une connexion qui, bien que filtrée, reste permanente entre les réseaux. Or, en cas de connexion, il existe toujours un risque de piratage informatique. Selon une alternative connue, des supports de stockage de données sont échangés physiquement entre un domaine et l'autre : il s'agit de disquettes, de CD-ROM, de clés USB, etc., que les personnes des services concernés s'échangent, par exemple de la main à la main ou par porteur. Les données stockées sur ces supports peuvent ainsi être échangées entre les services, les contenus des supports étant chargés sur les réseaux informatiques de chacun d'eux. De tels processus permettent l'échange de données entre les réseaux puisque, de fait, les données d'un réseau sont transférées, via les supports de stockage, sur l'autre réseau. Ces processus d'échange présentent l'avantage de ne pas pouvoir être piratés informatiquement. Un double inconvénient est cependant présent : d'une part, la lourdeur d'utilisation et de coût de tels processus, d'autre part, le fait qu'ils ne soient pas automatisés. Récemment, des filtres spécifiques ont été tolérés, malgré la présence d'une connexion physique, entre réseaux de niveaux de sécurité différents, mais qui ne sont pas exactement des pare-feu. Il s'agit de filtres qui, agissant comme des diodes, ne laissent passer l'information que d'un réseau vers l'autre. Toutefois, il existe certes une barrière dans un sens de transmission, mais pas dans l'autre. Par ailleurs, on souhaite que des échanges puissent avoir lieu de manière bidirectionnelle, ce qui est impossible avec de tels filtres. Depuis une dizaine d'années qu'existent les réglementations militaires auxquelles il est fait référence ci-dessus, on cherche la solution aux divers problèmes soulevés dans des moyens logiciels plus complexes et plus performants, permettant d'avoir un niveau de confiance suffisant dans le matériel supportant les contrôleurs réseau, les logiciels de gestion des couches réseau et les systèmes d'exploitation intégrant ces logiciels réseau, pour pouvoir tolérer une connexion permanente entre les réseaux. Autrement dit, on cherche des moyens logiciels qui présentent une fiabilité suffisante face au piratage. De tels moyens logiciels n'ont toutefois pas encore été développés et la connexion physique entre les réseaux de niveaux de sécurité différents reste interdite. L'invention vise à proposer un système d'échange de données entre deux réseaux sans connexion physique entre eux, qui soit à la fois simple et automatisé. A cet effet, l'invention concerne un système d'échange de données entre un premier et un deuxième réseaux de communication de données, dissociés, caractérisé par le fait qu'il comprend au moins deux commutateurs, chacun connecté à un organe périphérique distinct de stockage de données, à un bus de données relié au premier réseau et à un bus de données relié au deuxième réseau, chaque commutateur étant piloté par un seul des réseaux pour connecter alternativement l'organe périphérique à l'un ou à l'autre des bus de données, au moins un commutateur étant piloté par le premier réseau et un commutateur étant piloté par le deuxième réseau. Grâce à l'invention, on obtient un système dans lequel : - les réseaux ne sont pas connectés physiquement l'un à l'autre : en effet, les réseaux sont dissociés et chaque réseau ne peut être connecté qu'aux organes périphériques de stockage de données, jamais directement à l'autre réseau ; par ailleurs, cette connexion aux organes périphériques est alternative, si bien que les deux réseaux ne peuvent être simultanément connectés au même organe périphérique de stockage ; - il est effectivement possible d'échanger des données entre les deux 5 réseaux : les données peuvent être chargées sur l'organe périphérique de stockage par un réseau et, après commutation, l'autre réseau peut les y lire ; - la sécurité est assurée puisque chaque commutateur n'est piloté que par un seul réseau et - les échanges se font bien de manière bidirectionnelle, puisque 10 chacun des réseaux pilote au moins un commutateur et est donc maître de ses échanges avec l'autre réseau. En résumé, grâce à l'invention, on obtient le résultat à la fois paradoxal et avantageux selon lequel deux réseaux, qui ne sont jamais physiquement 15 connectés, peuvent s'échanger automatiquement des données. Il s'agit ici d'un concept complètement différent de celui du partage d'un équipement périphérique entre plusieurs ordinateurs d'un même réseau : il s'agit d'échanger des données entre deux réseaux qui ne sont jamais connectés, avec une véritable barrière physique entre les deux. Cet échange se fait de manière différée, ou asynchrone. 20 L'invention sera mieux comprise à l'aide de la description suivante de la forme de réalisation préférée du système de l'invention, en référence à la figure unique annexée, qui est une représentation schématique du système de l'invention. 25 En référence à la figure unique, le système 1 de l'invention a pour fonction l'échange de données entre deux réseaux A, B de communication de données. Les réseaux A, B sont dissociés, ou déconnectés, c'est-à-dire qu'il n'existe pas de connexion physique entre eux. Il s'agit, par exemple, de deux 30 réseaux informatiques locaux tels que des réseaux LAN ("Local Area Network"), ayant des niveaux de sécurité ou de confidentialité différents. On peut donner l'exemple d'un réseau dont les données sont classées "confidentiel défense" et l'autre dont les données sont classées "secret défense". Comme on l'a vu plus haut, on souhaite pouvoir échanger des données entre ces réseaux, sans pour 35 autant que ces derniers soient jamais connectés. Les réseaux A, B comportent chacun un serveur central 2A, 2B auquel sont reliés une pluralité d'ordinateurs 3A, 3B, respectivement. Le système 1 d'échange de données entre les deux réseaux A, B comporte un premier commutateur 41, comportant trois bornes, dont une borne est connectée, par un bus de données 51, à un premier organe périphérique 61 de stockage de données, une borne est connectée à un bus de données 41A relié au réseau A et une borne est connectée à un bus de données 41B relié au réseau B. Le premier commutateur 41 peut alternativement connecter l'organe périphérique 61 à l'un ou l'autre des bus de données 41A, 41B. A cet effet, il est commandé, ou piloté, par le réseau A, et seulement par lui, comme schématiquement représenté par la ligne en pointillé 71. On note que sur la figure, le commutateur 41 est dans un état dans lequel il connecte le premier organe périphérique 61 au bus de données 41A relié au réseau A. Le pilotage du commutateur 41 est effectué par un canal de transmission de données û la ligne en pointillés 71 û totalement distinct des bus de données 41A, 41B ; ainsi, lorsque le commutateur 41 est connecté au bus de données 41B relié au réseau B, le réseau A n'est pas pour autant connecté au réseau B. Le canal de transmission 71 est un canal de transmission indépendant, dédié exclusivement à la commande du commutateur 41. Les réseaux A, B ne peuvent jamais être connectés l'un à l'autre par le biais du commutateur 41, puisque celui-ci connecte alternativement l'organe périphérique 61, soit au réseau A, soit au réseau B. Plus précisément ici, c'est un ordinateur spécifique 3A' du réseau A qui assure la commande du commutateur 41. Par ailleurs, le bus de données 41A connecté au réseau A est ici connecté à ce même ordinateur de commande 3A', lui-même connecté au serveur central 2A et donc au reste du réseau A. On note que des ordinateurs distincts pourraient assurer, d'une part, la commande du premier commutateur 41, d'autre part, le lien avec le bus de données 41A relié à une borne de ce commutateur 41. Le système 1 d'échange de données comporte un deuxième commutateur 42, comportant trois bornes, dont une borne est connectée, par un bus de données 52, à un deuxième organe périphérique 62 de stockage de données, une borne est connectée à un bus de données 42A relié au réseau A et une borne est connectée à un bus de données 42B relié au réseau B. Le deuxième commutateur 42 peut alternativement connecter l'organe périphérique 62 à l'un ou l'autre des bus de données 42A, 42B. A cet effet, il est commandé, ou piloté, par le réseau B, et seulement par lui, comme schématiquement représenté par la ligne en pointillé 72 qui représente un canal de transmission 72 indépendant. On note que sur la figure, le deuxième commutateur 42 est dans un état dans lequel il connecte le deuxième organe périphérique 62 au bus de données 41A relié au réseau A. Le deuxième commutateur 42 est donc, structurellement et fonctionnellement, tout à fait comparable au premier commutateur 41, à la différence qu'il est commandé, non pas par le réseau A, mais par le réseau B. De même que précédemment, c'est un ordinateur spécifique 3B' du réseau B qui pilote le deuxième commutateur 42 et est connecté au bus de données 42B relié à une borne du deuxième commutateur 42. Ce sont deux ordinateurs distincts du réseau B qui pourraient remplir ces deux fonctions. On note qu'en l'espèce, le bus de données 41B, reliant le premier commutateur 41 au réseau B, est également relié à l'ordinateur 3B', du réseau B, de commande du deuxième commutateur 42. On note par ailleurs que le bus de données 42A, reliant le deuxième commutateur 42 au réseau A, est relié à l'ordinateur 3A', du réseau A, de commande du premier commutateur 41. Le fonctionnement général du système 1 va maintenant être expliqué. Les échanges de données entre le réseau A et le réseau B se font par le biais des organes périphériques 61, 62 de stockage de données. Par exemple, si le réseau A doit communiquer des données au réseau B, l'ordinateur de commande 3A' du réseau A commande le premier commutateur 41 pour qu'il connecte le premier organe périphérique 61 de stockage de données au bus de données 41A relié au réseau A (par le biais de l'ordinateur de commande 3A'). Le réseau A est ainsi directement connecté à l'organe périphérique 61, via le bus de données 41A, et peut y enregistrer des données. Une fois que l'enregistrement des données est fait, l'ordinateur de commande 3A' pilote le commutateur 41 en commutation, afin qu'il connecte l'organe périphérique 61 au bus de données 41B relié au réseau B (par le biais de l'ordinateur de commande 3B'). Le réseau B a alors accès aux données contenues sur l'organe périphérique 61, par exemple d'une manière qui sera abordée plus loin. Si le réseau A doit transmettre d'autres données, il peut commander de nouveau le premier commutateur 41 afin qu'il soit connecté au bus de données 41A relié au réseau A et répéter l'opération. Ainsi, il y a bien eu transmission de données du réseau A vers le réseau B, avec une étape intermédiaire de stockage des données sur le premier organe périphérique 61 par le réseau A, qui pilote le premier commutateur 41 pour qu'il connecte cet organe 61 au réseau B, qui a alors accès aux données. La transmission de données se fait de manière différée, ou asynchrone. La fonction d'échange bidirectionnel, c'est-à-dire la possibilité de transmission de données du réseau A vers le réseau B et réciproquement, est assurée du fait de la présence du deuxième commutateur 42, relié au deuxième organe périphérique 62 et commandé par le réseau B. La simple fonction de transmission provient de la présence d'un commutateur, la fonction d'échange provient de la présence de deux commutateurs 61, 62, chacun étant piloté par l'un des réseaux A, B. La transmission de données du réseau B vers le réseau A est tout à fait symétrique de la transmission du réseau A vers le réseau B décrite ci-dessus, mais pilotée par le réseau B. Ainsi, l'ordinateur de commande 3B' pilote le deuxième commutateur 42 pour qu'il connecte le deuxième organe périphérique 62 au bus de données 42B relié au réseau B, lequel charge des données sur l'organe périphérique 62, l'ordinateur de commande 3B' pilotant alors le commutateur 42 pour qu'il connecte l'organe périphérique 62 au réseau A (en l'occurrence à son ordinateur de commande 3A') qui a alors accès aux données contenues sur l'organe périphérique 62 par le biais du bus de données 42A. Dans la forme de réalisation ici présentée, seul le réseau A, B qui commande un commutateur 41, 42 a la possibilité d'écrire des données sur l'organe périphérique 61, 62 relié à ce commutateur 41, 42. Ainsi, un réseau B, A ne peut que lire des données sur l'organe périphérique 61, 62, respectivement, piloté par l'autre réseau A, B. Un tel monopole de faculté d'écriture sur les organes périphériques 61, 62 permet d'imposer le sens de transmission des données. Ainsi, le premier commutateur 41, associé au premier organe périphérique 61, ne permet que la transmission de données du réseau A vers le réseau B, tandis que le deuxième commutateur 42, associé au deuxième organe périphérique 62, ne permet que la transmission de données du réseau B vers le réseau A. En d'autres termes, la transmission de données d'un réseau A, B vers l'autre réseau B, A se fait par le biais d'organes périphériques, ici d'un organe périphérique 61, 62 respectivement, dédiés à ce sens de transmission. On note ici que l'écriture et la lecture pourraient être autorisées, sur chaque organe périphérique 61, 62, pour chacun des réseaux A, B. Dans ce cas, le réseau B, par exemple, pourrait transmettre des données par le biais du premier organe périphérique 61 au réseau A. Le réseau B ne pourrait toutefois pas contrôler la commutation du premier commutateur 61, dont le réseau A resterait maître. En d'autres termes, la transmission de données d'un réseau A, B vers l'autre réseau B, A peut se faire par le biais de n'importe quel organe périphérique 61, 62. Cela peut poser problème en cas de commutation du premier commutateur 41 pendant l'écriture de données par le réseau B sur le premier organe périphérique 61 ; ce problème peut être résolu par un blocage du commutateur pendant l'écriture de données par l'un des réseaux A, B. Dans la forme de réalisation présentée en référence à la figure, le système 1 comprend un troisième et un quatrième commutateurs 43, 44, comportant chacun trois bornes, dont une borne est connectée, par un bus de données 53, 54, respectivement à un troisième et un quatrième organe périphérique 63, 64 de stockage de données, une borne est connectée à un bus de données 43A, 44A relié au réseau A, en l'espèce à l'ordinateur de commande 3A' du réseau A, et une borne est connectée à un bus de données 43B, 44B relié au réseau B, en l'espèce à l'ordinateur de commande 3B' du réseau B. En d'autres termes, le système 1 d'échange de données est en quelque sorte dédoublé, chaque réseau A, B pilotant deux commutateurs (41, 43), (42, 44) ; toute défaillance d'un commutateur (41, 43), (42, 44), commandé par un réseau A, B, peut ainsi être palliée par l'autre commutateur (43, 41), (44, 42) commandé par ce réseau A, B. Le troisième commutateur 43 peut alternativement connecter l'organe périphérique 63 à l'un ou l'autre des bus de données 43A, 43B. A cet effet, il est commandé, ou piloté, par le réseau A, et seulement par lui, comme schématiquement représenté par la ligne en pointillé 73 qui représente un canal de transmission indépendant. On note que sur la figure, le troisième commutateur 43 est dans un état dans lequel il connecte le troisième organe périphérique 63 au bus de données 43B relié au réseau B. Le quatrième commutateur 44 peut alternativement connecter l'organe périphérique 64 à l'un ou l'autre des bus de données 44A, 44B. A cet effet, il est commandé, ou piloté, par le réseau B, et seulement par lui, comme schématiquement représenté par la ligne en pointillé 74 qui représente un canal de transmission indépendant. On note que sur la figure, le quatrième commutateur 44 est dans un état dans lequel il connecte le quatrième organe périphérique 64 au bus de données 44B relié au réseau B. On voit ainsi qu'il est possible qu'une pluralité de commutateurs 41, 42, 43, 44 associés à des organes périphériques 61, 62, 63, 64 de stockage de données soient prévus, pour l'échange de données entre le réseau A et le réseau B. Le fonctionnement de chacun des commutateurs 41, 42, 43, 44 est identique à celui présenté plus haut, chaque commutateur n'étant commandé en commutation que par l'un des deux réseaux A, B. Il n'est pas nécessaire que le nombre de commutateurs commandés par le réseau A soit égal au nombre de commutateurs commandés par le réseau B. En revanche, pour que la fonction d'échange de données soit possible, il convient qu'au moins un commutateur 61, 63 soit commandé par le réseau A et au moins un commutateur 62, 64 soit commandé par le réseau B. Les divers commutateurs 61, 62, 63, 64 sont bien entendu commandés indépendamment les uns des autres. La structure des éléments du système va maintenant être décrite plus en détails. Les organes périphériques 61, 62, 63, 64 de stockage de données peuvent être de différentes natures. Il doit s'agir d'organes compatibles avec des bus de données supportant le "hot plug and play", c'est-à-dire des organes qui peuvent être connectés ou déconnectés sur un bus sans dégâts électroniques ou logiques, la connexion ou déconnexion étant automatiquement prises en compte par le bus sur lequel l'organe est connecté ou déconnecté. Plusieurs types d'organes sont ici envisagés : des organes de type USB ("Universal Serial Bus"), comme les clés USB, des organes de type "Firewire", à très haut débit, ou encore des mémoires flash, des disques durs externes commandés par bus USB, ... Les différents bus (41A, 41B, 61), (42A, 42B, 62), (43A, 43B, 63), (44A, 44B, 64) connectés aux commutateurs 41, 42, 43, 44 doivent supporter le "hot plug and play". En fonction de l'organe périphérique 61, 62, 63, 64 relié au commutateur, il peut s'agir de bus du type USB ou Firewire. Ainsi, ni le fonctionnement des bus, ni le fonctionnement des organes périphériques ne sont altérés par la commutation des commutateurs, puisque l'ensemble de ces éléments supportent le "hot plug and play". Dans le cas où les organes périphériques sont des supports de données du type USB, ces supports comportent, en leur sein, un contrôleur USB, tandis que l'ordinateur 3A', 3B' auquel sont reliés les bus USB comporte également un contrôleur USB. Lors de la commutation d'un commutateur, connectant un organe périphérique à un réseau donné, les contrôleurs se reconnaissent et le réseau concerné détecte la présence de l'organe périphérique. Ainsi, chacun des deux réseaux A, B est agencé pour détecter automatiquement la commutation d'un commutateur piloté par l'autre réseau B, A. Par exemple, si le réseau A pilote le premier commutateur 41 pour le connecter au réseau B après avoir chargé des données sur le premier organe périphérique 61, le réseau B détecte automatiquement cette connexion et peut en déduire que des données sont disponibles. Le réseau B peut alors automatiquement récupérer ces données. Dans ce cas, un problème peut survenir en cas de commutation du commutateur 41 par le réseau A, alors que le réseau B est en train de lire les données sur l'organe périphérique 61 ; ce problème peut être résolu par un blocage du commutateur 41 pendant la lecture de données par le réseau B. Les commutateurs 41, 42, 43, 44 doivent assurer une bonne isolation entre les bus de données (41A, 41B), (42A, 42B), (43A, 43B), (44A, 44B) entre lesquels ils sont commutés. En effet, l'objectif du système 1 est d'éviter toute connexion physique entre les réseaux. Les commutateurs sont des relais électromagnétiques, permettant de garantir cette isolation. La commutation doit de préférence être rapide. Avantageusement, une diode électroluminescente permet d'identifier vers quel bus l'organe périphérique est connecté. Diverses applications d'échanges de données sont possibles. Une première application est la fourniture d'un service d'échange de messages selon le protocole SMTP ("Simple Mail Transfer Protocol"). Il s'agit du protocole standard de transfert de courrier électronique entre serveurs. Dans le cadre de l'invention, les messages sont chargés depuis le serveur 2A, 2B de l'un des réseaux A, B sur un organe périphérique de stockage de données, puis après commutation du commutateur correspondant, l'autre serveur 2B, 2A vient récupérer les messages sur l'organe périphérique. Il y a ainsi transmission de messages de courrier électronique, dans les deux sens, sans que les réseaux A et B ne soient jamais connectés. Les organes périphériques servent de relais de messagerie. Des logiciels adaptés sont à cet effet prévus dans les ordinateurs 3A', 3B' reliées aux bus de données qui sont connectés aux organes périphériques, ces logiciels remplissant la fonction d'un module de gestion des volumes d'échange avec les organes périphériques. Une seconde application est la fourniture d'un service de transfert de fichiers de type FTP ("File Transfer Protocol"). A cet effet, un serveur FTP est prévu au niveau de chaque réseau A, B, qui peut envoyer ou réceptionner des fichiers sur les organes périphériques de stockage de données, via l'ordinateur 3A', 3B' relié au bus de données connecté à l'organe périphérique. Une troisième application est celle du "proxy HTTP", c'est-à-dire la mise à disposition, par un réseau, de pages Web pour l'autre réseau. Ces pages Web sont échangées par le biais des organes périphériques, selon la procédure présentée plus haut. On note que l'architecture proposée pour le système 1 d'échange de données n'est adaptable qu'aux applications pouvant se faire de manière asynchrone. Ainsi, des transferts de données selon le protocole NTP ("Network Time Protocol"), SNMP ("Simple Network Management Protocol") ou VoIP ("Voice over IP"), par exemple, ne sont pas possible, car ils sont nécessairement synchrones. En revanche, tous les transferts pouvant se faire de manière asynchrone sont applicables au système d'échange de données qui vient d'être décrit. Revendications 1- Système d'échange de données entre un premier et un deuxième réseaux (A, B) de communication de données, dissociés, caractérisé par le fait qu'il comprend au moins deux commutateurs (41, 42, 43, 44), chacun connecté à un organe périphérique (61, 62, 63, 64) distinct de stockage de données, à un bus de données (41A, 42A, 43A, 44A) relié au premier réseau (A) et à un bus de données (41B, 42B, 43B, 44B) relié au deuxième réseau (B), chaque commutateur (41, 42, 43, 44) étant piloté par un seul des réseaux (A, B) pour connecter alternativement l'organe périphérique (61, 62, 63, 64) à l'un ou à l'autre des bus de données, au moins un commutateur (41, 43) étant piloté par le premier réseau (A) et un commutateur (42, 44) étant piloté par le deuxième réseau (B). 2- Système d'échange de données selon la revendication 1, dans lequel 15 chaque commutateur (41, 42, 43, 44) est piloté par un canal (71, 72, 73, 74) de transmission distinct des bus de données. 3- Système d'échange de données selon la revendication 2, dans lequel au moins un des réseaux (A, B) comporte un ordinateur de commande (3A', 3B'), 20 qui remplit la double fonction de pilotage d'un commutateur ((41, 43), (42, 44)) et de connexion au bus de données ((41A, 43A), (42B, 44B)) reliant le réseau (A, B) au commutateur ((41, 43), (42, 44)). 4- Système d'échange de données selon la revendication 3 dans lequel, le 25 réseau (A, B) étant connecté à une pluralité de commutateurs ((41, 43), (42, 44)), l'ordinateur de commande (3A', 3B') est relié à l'ensemble des commutateurs ((41, 43), (42, 44)). 5- Système d'échange de données selon l'une des revendications 1 à 4, 30 agencé de telle façon que la transmission de données d'un réseau (A, B) vers l'autre réseau (B, A) se fait par le biais d'organes périphériques ((61, 63), (62, 64)) dédiés à ce sens de transmission. 6- Système d'échange de données selon l'une des revendications 1 à 4, 35 agencé de telle façon que la transmission de données d'un réseau (A, B) vers l'autre réseau (B, A) se fait par le biais de n'importe quel organe périphérique (61, 62, 63, 64). 10 7- Système d'échange de données selon l'une des revendications 1 à 6, dans lequel au moins un réseau (A, B) est agencé pour détecter automatiquement la commutation d'un commutateur ((42, 44), (41, 43)) piloté par l'autre réseau (B, A). 8- Système d'échange de données selon l'une des revendications 1 à 7, comprenant deux commutateurs (41, 43) pilotés par le premier réseau (A) et deux commutateurs pilotés par le deuxième réseau (B). 9- Système d'échange de données selon l'une des revendications 1 à 8, dans lequel l'organe périphérique (61, 62, 63, 64) est l'un des éléments du groupe comprenant : un organe de type USB, un organe de type "Firewire", une mémoire flash et un disque dur externe commandé par bus USB. 15