Brevet FR2730326A1 — publié le 19960809

La présente invention concerne un dispositif de protection des communications sur réseaux informatiques. En effet, la protection des communications sur les réseaux informatiques devient de plus en plus nécessaire avec l'ouverture croissante de ceux-ci. Les réseaux de type Ethernet sont particulièrement vulnérables car tout système connecté au réseau voit ce qui passe et peut envoyer ce qu'il veut. I1 est donc très facile d'intercepter et de maquiller des informations. Les protocoles les plus fréquents sur de tels réseaux sont IP (norme RFC 791) et IPX (marque déposée par Novell). Divers moyens existent pour pallier cette faiblesse. Des coupleurs Ethernet spécifiques peuvent être installés sur chaque machine raccordée au réseau. Ces coupleurs procèdent au chiffrement de toute les communications, et sont pilotés par un logiciel spécifique. Le protocole de niveau supérieur étant TCP/IP, les connexions TCP (norme RFC 793) sont authentifiés par divers moyens, comme un mot de passe permanent ou variable, éventuellement trouvé à l'aide d'une calculette contenant une formule secrète, ou d'un lecteur de carte à puce relié à l'ordinateur faisant la demande de connexion. Ces moyens présentent un certains nombre d'inconvénients, dont les principaux sont les suivants les coupleurs spécifiques imposent des contraintes fortes sur les machines utilisées, tant au niveau matériel que logiciel; la mise en oeuvre de tels moyens sur un parc hétérogène d'ordinateurs est quasi impossible, car elle exige des caractéristiques dont les machines anciennes ne disposent pas. De plus, l'utilisation du chiffrement peut poser des problèmes d'utilisation dans certains pays. Enfin, la protection au niveau Ethernet est limitée à un réseau donné, et ne peut franchir des routeurs entre réseaux. C'est donc une solution locale. 1' l'authentification au niveau TCP lors de l'ouverture d'une connexion est loin d'être satisfaisante, car il existe d'autres protocoles que TCP (UDP par exemple), et une fois la connexion établie, un pirate habile peut intercepter celle-ci et en profiter. De plus, certains procédés ne sont pas transparents à l'utilisateur (calculette par exemple). Le dispositif objet de l'invention remédie à ces inconvénients car il n'entraîne aucune contrainte sur les ordinateurs à protéger et, est transparent tant vis-à-vis de l'utilisateur que du réseau. Ce dispositif est décrit ci-après, à titre d'exemple, et se se présente comme un boîtier (figure 1) contenant . un lecteur de carte à puce (a) un coupleur Ethernet multimode vers l'ordinateur (b) un coupleur Ethernet multimode vers le réseau (c) . des voyants lumineux (d) des interrupteurs internes de configuration (e) un clavier et un afficheur optionnels (f et g) un système à microprocesseur effectuant le traitement d'ensemble, disposant d'une mémoire de type PROM pour le programme et de type EEPROM pour le paramétrage. un dispositif d'alimentation électrique externe. Le dispositif est inséré en coupure entre chaque ordinateur à protéger et le réseau. Une carte à puce est attribuée à chaque utilisateur. Quand un utilisateur veut utiliser le réseau en mode normal (pas d'authentification), il n'introduit pas la carte à puce. Dans ce cas, le dispositif recopie tout message d'un port Ethernet vers l'autre. En revanche, lorsqu'il introduit la carte à puce, le dispositif entre dans le mode authentification. Dans ce mode, chaque paquet émis vers le réseau est traité selon son protocole. Trois actions sont possibles blocage transmission transparente rajout d'une signature calculée en fonction du contenu du paquet (fonction de hachage) et d'une clé de session secrète, mise en forme, transmission. La figure 2 illustre ce mode de fonctionnement. Le choix des protocoles surveillés et de leur mise en forme se fait par programme et/ou configuration. Un cas particulier est de signer tous les paquets Ethernet. A l'inverse, la signature de chaque paquet signé reçu du réseau est contrôlée, et les paquets non conformes sont rejetés. Les paquets corrects sont transmis après suppression de la signature. Dans les deux sens, les paquets sont mis à jour (longueur, somme de contrôle) après modification, afin de respecter leur protocole respectif. La figure 3 illustre ce mode de fonctionnement. Le dispositif contient également une procédure de négociation de la clé secrète, qui est activée lors de l'introduction de la carte, et éventuellement périodiquement en cours d'utilisation. Cette procédure fait appel soit à des clés secrètes (méthode DES par exemple), soit à des clés publiques. Le dispositif s'applique à diverses configurations, dont on peut citer quelques exemples non limitatifs Mode point à point : deux cartes à puces sont programmées pour être en vis-à-vis, à l'aide d'une clé secrète commune. Tous les paquets sont ensuite signés à l'aide de cette clé secrète qui sert de clé de session. La communication entre les deux boîtiers est donc intègre. mode multipoint : on utilise dans ce cas un algorithme à clé publique. Chaque carte à puce contient sa paire de clé secrète/publique. Les boîtiers utilisés sont programmés préalablement à l'aide d'une table de correspondance entre adresse IP ou IPX et clé publique. Tout paquet émis vers une des adresses programmées est signé à l'aide d'une clé de session négociée à chaque nouvelle utilisation puis périodiquement. La négotiation utilise un protocole spécifique aux boîtiers encapsulé dans le protocole IP ou IPX. La négociation est possible puisqu'on connait les adresses IP ou IPX. mode garde-barrière : chaque boîtier négocie une clé de session avec une machine particulière du réseau sur lequel il se trouve. Chaque réseau à protéger doit disposer d'une telle machine appelée garde-barrière. Le garde-barrière sert de routeur vers d'autres réseaux. I1 dispose d'un logiciel adéquat pour effectuer l'authentification de chaque paquet venant d'un boîtier, et pour signer chaque paquet à destination d'un boîtier. La négociation de clé a lieu entre chaque boîtier et le garde-barrière, en utilisant un serveur d'authentification, avec qui la carte à puce sait établir une session protégée, soit par clé secrète commune soit par clé publique. Le garde-barrière communique avec le serveur d'authentification de façon sécurisée, à l'aide du procédé de signature déjà décrit et d'un protocole adapté. La recherche du garde-barrière associé à un réseau est faite à l'aide de messages à diffusion générale (message Ethernet "broadcast"). transformation d'une adresse unique en adresse multiple : un boîter particulier est disposé au niveau de couplage d'un garde-barrière avec le réseau à protéger. I1 sert à traduire les adresses de destination externes en adresses du garde-barrière, au moyen d'une négociation avec le gardebarrière. Ainsi, le garde-barrière devient transparent au client qui veut accéder à l'extérieur, tout en ayant une adresse IP unique, et en interceptant la connexion au niveau application. Un tel fonctionnement est possible sans le boîtier, mais nécessite une modification du noyau du gardebarrière, ce qui pose des problèmes. Avec le boîtier, aucune modification n'est nécessaire. Exemple avec TPP/IP On fait figurer dans chaque paquet l'adresse IP origine, l'adresse IP destination, le port d'origine, le port de destination. Les accusés de réception ne sont pas figurés pour simplifier. client (C) boîtier garde-barrière (GB) serveur extérieur (SE) C, SE, 1000, 23 : connexion C, GB, 90, 1008 : autorisation C, SE , 1000, 23 ? GB, C, 1008, 90 : OK C, SE , 1000, 23 sur port 1457 C, GB, 1000, 1457 : connexion GB, SE, 1500, 23 : connexion SE, GB, 23, 1500 : data GB, C, 1457, 1000 : data SE, C, 23, 1000 : data C, SE, 1000, 23 : data C, GB, 1000, 1457 : data GB, SE, 1500, 23 : data Le boîtier réalise l'équivalence C, SE, 1000, 23 C, GB, 1000, 1457 Le boîtier est programmable par sa PROM, et configurable de diverses façon, soit par les interrupteurs (e), soit à l'aide du clavier et de l'écran optionnels (f et g), soit par l'ordinateur associé, soit par le réseau (protocole SNMP par exemple). De plus, des informations peuvent être programmées dans la carte à puce. La carte à puce peut être protégée contre la perte ou le vol par un code secret, à introduire à chaque utilisation soit par l'ordinateur associé soit par le clavier (f) optionnel. La carte à puce peut par ailleurs avoir d'autres usages, et peut même être une carte existante que l'on utilise pour l'authentification. Le boîtier peut également servir de lecteur de carte à puce classique pour l'ordinateur associé, moyennant un protocole spécifique et un logiciel pilote spécifique dans l'ordinateur. On peut ainsi effectuer le verrouillage de l'ordinateur grâce à la carte à puce. Avantage du dispositif et du procédé Ce dispositif n'implique aucune contrainte sur les ordinateurs associés. I1 est "transparent" pour eux. Chaque paquet transmis est signé, ce qui assure une intégrité complète et permanente des informations. Le procédé de signature permet de passer les ponts, routeurs, ou passerelles. Des ordinateurs très éloignés peuvent donc être connectés. I1 permet également une transparence complète à l'utilisateur, qui doit seulement introduire sa carte (et éventuellement son code secret). Le dispositif s'applique à tous types de protocoles pouvant circuler sur le réseau. De nombreux scénarios d'exploitation du dispositif sont possibles. Le dispositif étant programmable et contenant une mémoire non volatile, la personnalisation est aisée. De plus, des informations spécifiques peuvent être introduites dans la carte à puce. Celle-ci peut être utilisée pour d'autres usages. On peut même utiliser une carte à puce existante. De même, le lecteur peut servir de lecteur classique de carte à puce. REVENDICATIONS 1 - Dispositif de protection des communications sur réseaux informatiques, caractérisé en ce qu'il comprend deux coupleurs interconnectés à travers un système à microprocesseur disposant d'une mémoire programme, d'une mémoire pour des paramètres et d'un lecteur de carte à puce. 2 - Dispositif selon la revendication 1, caractérisé en ce qu'il s'insère en coupure entre le réseau de communication et une ou plusieurs machines à protéger. 3 - Dispositif selon les revendications 1 et 2, caractérisé en ce que chaque paquet entrant par l'un des coupleurs subit un traitement fonction du programme, des paramètres et de la réaction de la carte à puce si elle est présente dans le lecteur, avant sa transmission sélective vers l'autre coupleur. 4 - Dispositif selon les revendications 1,2 et 3, caractérisé en ce que certains paquets émis par une machine à protéger sont authentifiés par adjonction d'une signature et inversement certains paquets destinés à une machine à protéger sont vérifié et tronqués de leur signature, avant retransmission. 5 - Dispositif selon les revendications 1, 2, 3 et 4, caractérisé en ce que l'authentification des paquets est fonction du programme, de ses paramètres, de la carte à puce et du contenu du paquet. 6 - Dispositif selon les revendications 1, 2, et 3, caractérisé en ce que chaque carte à puce comprend une clef secrète à l'aide de laquelle chaque paquet émis est signé et chaque paquet reçu est vérifié. 7 - Dispositif selon les revendications 1, 2 et 3, caractérisé en ce que chaque carte à puce comprend une clef secrète et un algorithme à clef publique associée à des tables de correspondance entre adresse réseau et clef publique, paramètrées dans le dispositif. 8 - Dispositif selon les revendications 1, 2, et 3, caractérisé en ce que les coupleurs sont de type Ethernet.