Brevet FR3011705A1 — publié le 20150410

1.1705 DESCRIPTION ETAT DE L'ART LIE AU SUJET DE L'INVENTION Domaine de l'invention Le domaine de l'invention concerne le processus de filtrage des paquets IP intégré au niveau des équipements réseau, en particulier au niveau des classificateurs de paquets et des filtres de 10 paquets IP utilisés dans un environnement à haut débit. Le domaine de l'invention concerne le filtrage des paquets IP en utilisant les filtres IP à double masques, le mécanisme de vérification de l'appartenance d'une adresse IP à un filtre à double masques, et les méthodes de transcription des politiques de filtrage en un nombre réduit de filtres IP à double masques. 15 Avec le développement de l'Intemet, le processus de filtrage des paquets incorporé particulièrement dans les dispositifs de sécurité devient de plus en plus gourmand en temps de traitement vu que les politiques de filtrage sont devenues plus grandes et plus complexes. La classification des paquets est le processus de détermination de la classe à laquelle appartient un paquet entrant. En raison de l'élévation constante des débits des liens de 20 communication et en raison de la complexité des besoins de la sécurité, le problème de la classification des paquets est devenu de plus en plus difficile à résoudre en un temps raisonnable et avec une utilisation réduite de la mémoire. Initialement, les classificateurs de paquets utilisés au niveau de l'Intemet tels que les routeurs gèrent le trafic réseau selon la classe d'adresses IP. La valeur d'une adresse IP détermine son 25 sous-réseau pour les besoins du routage. L'adressage sans classes (CIDR: Classless Inter-Domain Routing) a été mis au point afin de diminuer la taille des tables de routage contenue dans les routeurs. La notion d'adressage CIDR permet d'organiser les adresses IP en sous-réseaux indépendants de la valeur des 2 adresses elles-mêmes. La distinction entre les adresses de classe A, B ou C a été ainsi rendue obsolète, de sorte que la totalité de l'espace d'adressage unicast puisse être gérée comme une collection unique de sous-réseaux indépendamment de la notion de classe. Le masque du sous-réseau ne va plus être déduit de l'adresse IP elle-même. L'utilisation de la méthode CIDR permet d'agréger plusieurs entrées d'une table de filtrage en une seule. Le routage CIDR a été 10 initialement défini dans la spécification des RFC 4632 et RFC 4291, respectivement pour les réseaux l'IPv4 et IPv6. Un bloc CIDR est un intervalle d'adresses IP qui peut être spécifié à l'aide de la combinaison de valeurs: adresse IP et masque de sous-réseau. Un intervalle d'adresses élémentaires est un intervalle qui peut être représenté à l'aide d'un seul bloc CIDR ou encore d'un seul préfixe. Un bloc CIDR est de la forme A.B.C.D/n, avec 15 A.B.C.D désignant l'adresse de départ et n désignant le masque réseau. Le masque réseau indique le nombre de bits significatifs utilisés pour identifier un réseau (ou en d'autres termes le nombre de bits mis à 1 (à gauche) dans le masque). Le masque CIDR est une séquence contiguë de 1 suivie d'une séquence contiguë de 0 illustrant le masque de sous-réseau. Le masque CIDR est par conséquent appelé un «masque 20 régulier». Un préfixe CIDR s'écrivant sur w bits et ayant une longueur n est composé d'une séquence de n bits fixes suivie d'une séquence de w-n bits arbitraires s'écrivant sous la forme {0,1}n{*}Wn où w désigne la taille du champ de l'entête du paquet à être inspecté par exemple w = 32 pour les adresses IPv4 et w = 128 pour les adresses IPv6. Le nombre de blocs CIDR possibles est 25 2w+1-1. FIG. 1 présente deux exemples de blocs d'adresses IP, 101 et 103, exprimés par la notation CIDR représentant respectivement deux intervalles d'adresses IP, 102 et 104. 3 Dans le premier exemple de la FIG. 1, l'adresse IP de départ A.B.C.D est 192.168.100.0. Le masque réseau n est 24, qui peut être aussi exprimé en notation décimale à points comme suite 255.255.255.0. La plage d'adresses 102 est donc l'intervalle d'adresses IP allant de 192.168.100.0 à 192.168.100.255. Dans le deuxième exemple de la FIG. 1, l'adresse IP de départ est 192.168.100.0. Le masque 10 réseau n est 28, qui peut être aussi exprimé en notation décimale à points comme suite 255.255.255.240. La plage d'adresses 104 est donc l'intervalle d'adresses allant de 192.168.100.0 à 192.168.100.15. Une adresse IP satisfait un préfixe CIDR si les n premiers bits de l'adresse IP et les n bits correspondants du préfixe CIDR sont les mêmes. 15 La technique CIDR permet donc le subnetting qui consiste à diviser un réseau plus large en plusieurs sous-réseaux et permet aussi le supernetting qui consiste à regrouper ou fusionner plusieurs sous-réseaux pour réduire la taille des tables de routage et avoir un meilleur routage des paquets au niveau du réseau. Le masque de sous-réseaux à longueur variable en Anglais VLSM (Variable Length Subnet 20 Mask) est une extension de la technique CIDR. La différence est que la technique VLSM est plus utilisée dans le contexte des réseaux locaux alors que la technique CIDR est plus utilisée dans un niveau plus large celui de l'Internet. VLSM et CIDR permettent de garantir un adressage efficace et de minimiser la perte d'adresses IP. Les techniques standards ne sont pas très flexibles et présentent un manque d'expressivité 25 surtout lorsqu'on met en oeuvre des politiques de filtrage très complexes. L'utilisation des techniques classiques telles que CIDR ou VSLM conduit toujours à avoir des solutions de filtrage de paquets IP très complexes surtout lorsqu'il s'agit d'exprimer les exceptions au 4 niveau des règles de filtrage par exemple un sous-bloc d'adresses IP peut être exclu d'un grand bloc d'adresses. Un bon filtrage des paquets est celui qui garantit, dans un environnement à haut débit ou si le trafic nécessite une qualité de service spécifique, un temps de traitement raisonnable et une utilisation réduite de la mémoire. 10 Pour avoir un bon filtrage des paquets, il serait souhaitable de fournir une méthode de filtrage IP plus flexible permettant de garantir un bon compromis entre le temps de traitement et l'utilisation de la mémoire. Il serait souhaitable de fournir une technique de masquage qui permet de mieux traduire une politique de filtrage exprimée en langage humain vers une liste réduite de règles ou de réécrire 15 les règles de filtrage existantes pour obtenir des listes réduites et sémantiquement équivalentes, minimisant ainsi le nombre d'entrées au niveau des tables de filtrage des équipements réseaux. Il serait donc souhaitable de réduire les coûts opérationnels du filtrage des paquets en termes de temps de traitement et d'utilisation de la mémoire. 20 RESUME DE L'INVENTION L'invention consiste en un filtre comprenant un premier masque qui sera utilisé pour représenter un premier ensemble d'éléments et un second masque qui sera utilisé pour représenter le second ensemble d'éléments à exclure du premier ensemble. Dans un aspect de l'invention, le premier ensemble d'éléments et le second ensemble 25 d'éléments sont adaptés pour regrouper les adresses IP.5 Dans un autre aspect de l'invention, le filtre IP comprend un préfixe IP, un premier masque utilisé pour définir un premier ensemble d'adresses IP et un deuxième masque utilisé pour définir l'ensemble des adresses IP à exclure du premier ensemble. Dans un autre aspect de l'invention, le filtre IP s'écrit sur w bits, avec w=32 pour le cas de IPv4 et w=128 pour le cas de IPv6. Au niveau du format court du filtre IP proposé, le premier 10 masque indique le nombre de bits successifs à inclure et le second masque indique le nombre de bits successifs à exclure et la somme de ces deux nombres doit être inférieure ou égale au nombre total de bits w. Au niveau du format long du filtre IP proposé, le premier masque indique l'ensemble des bits à inclure (non nécessairement successifs) et le second masque indique l'ensemble des bits (non nécessairement successifs) à exclure du premier ensemble et 15 l'application d'un ET logique entre le premier masque et le second masque doit obligatoirement donner 0. La présente invention concerne une méthode de filtrage d'adresses IP, comprenant: la manière de vérifier si une adresse IP satisfait ou non un filtre IP à double masques comprenant un premier masque adapté pour définir un premier ensemble d'adresses IP et un second masque 20 adapté pour définir un second ensemble d'adresses IP à exclure du premier ensemble formant ainsi l'ensemble d'adresses IP acceptés ou permises. Une adresse IP satisfait un filtre IP à double masques si les bits du préfixe IP et les bits de l'adresse IP désignés par le premier masque sont égaux et si les bits du préfixe IP et les bits de l'adresse IP désignés par le second masque ne sont pas égaux. 25 La présente invention concerne une méthode de transcription des politiques de filtrage sous forme de filtres IP à double masques uniques, comprenant: la détermination d'un premier ensemble d'adresses IP autorisées, la détermination d'un second ensemble d'adresses IP non autorisées, la représentation des séries d'adresses IP autorisées et non autorisées par des filtres 6 IP à double masques, dans lesquelles ledit filtre IP à double masques comprend un premier masque qui sera adapté pour exprimer le premier ensemble d'adresses IP, et un deuxième masque qui sera adapté pour exprimer les adresses IP à exclure du premier ensemble, formant ainsi l'ensemble des adresses IP couvert par le filtre en question et qui seront par la suite soit acceptés soit rejetés selon la politique de filtrage utilisée. 10 La présente invention consiste en une solution matérielle ou bien logicielle construite à l'aide des opérateurs logiques définissant un filtre IP à double masques prenant en entrée un préfixe IP, un premier masque utilisé pour définir le premier ensemble d'adresses IP et un second masque utilisé pour définir l'ensemble des adresses IP à exclure du premier ensemble déjà défini. 15 La présente invention concerne l'ensemble des algorithmes nécessaires pour traduire une politique de filtrage en une liste optimale de filtres IP à double masques. La présente invention concerne l'ensemble des transformations nécessaires pour traduire une liste standard de règles de filtrage exprimée à l'aide des techniques classiques vers une liste optimale de filtres IP à double masques. 20 La présente invention introduit une technique innovante de mise en correspondance IP. Plus précisément, l'invention proposée consiste en une nouvelle technique de masquage donnant plus de flexibilité et un déploiement efficace de la politique de sécurité. La nouvelle approche de masques doubles permet de faire des listes de contrôle d'accès plus compacte, bien formaté et visant à réduire le coût de fonctionnement des filtres des paquets au niveau du réseau. 25 Ainsi, plusieurs périphériques réseau tels que les routeurs et les équipements de sécurité tels que les pare-feu, systèmes de détection d'intrusion et les systèmes de prévention d'intrusion peuvent maintenir un débit de filtrage élevé dans un environnement à haut débit. 7 BREVE DESCRIPTION DES FIGURES Pour une compréhension plus complète de la présente invention, et de ses avantages, on fait maintenant référence à la description suivante, prise conjointement avec les dessins qui l'accompagnent, dans lesquels: FIG. 1 montre deux exemples illustrant la spécification standard de blocs d'adresses IP en 10 utilisant la notation CIDR. FIG. 2 illustre une représentation d'un filtre IP à double masques selon la présente invention. FIG. 3 illustre une condition nécessaire qui doit être vérifiée entre le premier masque et le second masque d'un filtre IP à double masques selon la présente invention. FIG. 4A est le schéma logique à utiliser pour vérifier si une adresse IP satisfait un filtre à 15 double masques selon les principes de la présente invention. FIG. 4B est une table de vérité associée au schéma logique de la figure FIG. 4A illustrant les valeurs possibles obtenues en sortie du filtre IP à double masques et illustrant pour quelle combinaison de valeurs une adresse IP satisfait un filtre IP à double masques. FIG. 5A montre un réseau avec différentes zones ayant divers niveaux de sécurité où la 20 présente invention peut être utilisée. FIG. 5B montre un scénario de filtrage classique à mettre en place au niveau du firewall de la FIG 5.A sous forme de liste de règles se basant sur les techniques de filtrage standard. FIG. 5C montre la liste des règles pour le même scénario de la FIG. 5B se basant sur le filtrage IP à double masques selon la présente invention. 8 FIG. 5D est une réécriture de la liste des règles de la FIG. 5C en utilisant le formatage court des filtres IP à double masques. DESCRIPTION DES MODES DE REALISATION PRÉFÉRÉES L'invention va maintenant être décrite sur la base des figures. On comprendra que les modes de réalisation et aspects de l'invention décrits dans ce document ne sont que des exemples et 10 ne limitent pas la portée de protection des revendications en aucune façon. L'invention est définie par les revendications et leurs équivalentes. FIG. 2 illustre une représentation d'un filtre IP à double masques 201 selon l'invention. Le filtre IP à double masques 201 comporte un préfixe IP 202 suivi par un premier masque 203 et un second masque 204. 15 Le préfixe IP 202 peut être représentée en notation décimale pointée s'il s'agit d'une adresse IPv4 et peut être représentée par huit groupes de quatre chiffres hexadécimaux (8 groupes de 2 octets) séparés par deux points s'il s'agit d'une adresse IPv6. Le préfixe IP 202 est un préfixe conventionnel, comme utilisé dans le masquage CIDR. Au niveau du formatage long du filtre IP, le premier masque 203 et le second masque 204 20 sont représentés en notation décimale pointée équivalente à la représentation du préfixe IP 202. Au niveau du formatage court du filtre IP, le premier masque 203 et le second masque 204 sont représentés par des nombres entiers allant de 0 à 32 pour le cas d'IPv4 et allant de 0 à 128 pour le cas de l'IPv6. Le premier masque 203 est utilisé pour l'expression d'un ensemble d'adresses d'une manière 25 similaire à un masque standard ou encore un masque CIDR. Plus précisément, le premier masque 203 est utilisé pour spécifier la combinaison de bits qui doit être acceptée. Le premier masque 203 est aussi appelé F-MASQUE. 9 Le second masque 204 est utilisé pour l'expression d'un ensemble d'adresses qui seront exclues. Plus précisément, le second masque 204 est utilisé pour spécifier la combinaison de bits qui doit être exclue. Le second masque 204 est aussi appelé E-MASQUE. Le premier masque F-MASQUE 203 et le second masque E-MASQUE 204 peuvent être des masques réguliers ou des masques arbitraires. Un masque régulier est toujours une séquence 10 contiguë de bits à 1 suivie d'une séquence contiguë de bits à 0. Un masque arbitraire est une combinaison de bits à 1 ou à 0 non nécessairement ordonnés. Un masque régulier est un cas particulier d'un masque arbitraire. Un filtre IP régulier à double masques utilise uniquement des masques réguliers et peut être représentée par le format court ou long. 15 Un filtre IP arbitraire à double masques représente le cas général, il utilise des masques arbitraires et il peut être uniquement représenté par des masques exprimés en format long. Le filtre IP régulier à double masques 201 est exprimée au format court comme suit: (IP_PREFIXE / F-MASQUE / F-MASQUE)Dm. Le préfixe IP est une adresse IP représentée en notation décimale pointée pour le cas d'IPv4 et 20 en huit groupes de quatre chiffres hexadécimaux séparés par deux points pour le cas des adresses IPv6. Un filtre IP régulier à double masques et de longueur w est composé de F-MASQUE bits fixes, E-MASQUE bits interdits avec F-MASQUE et E-MASQUE deux entiers qui doivent satisfaire la condition suivante 0 REVENDICATIONS1. Un filtre à double masques comprenant un premier masque qui est adapté pour exprimer un premier ensemble d'éléments autorisés et un second masque, adapté pour exprimer un second ensemble d'éléments qui seront exclus du premier ensemble 10 d'éléments autorisés. 2. Le filtre IP selon la revendication 1, comprenant un préfixe IP, un premier masque définissant le premier ensemble d'adresses IP autorisés, et un second masque définissant le second ensemble d'adresses IP à exclure du premier bloc. 3. Le filtre IP selon la revendication 1, comprenant un premier masque IP et un 15 second masque IP qui ne doivent pas se chevaucher. 4. Le filtre IP selon la revendication 1 est basé sur un méthode de filtrage qui consiste à vérifier les bits de l'adresse IP à filtrer par rapport à deux combinaisons de bits fixes et interdits, une combinaison de bits fixes définie par un préfixe IP et un premier masque et une combinaison de bits interdits définie par le même préfixe IP et 20 un second masque. 5. Une méthode de transcription des politiques de filtrage sous forme de filtres IP à double masques uniques, comprenant: - La détermination d'un premier ensemble d'adresses IP autorisées, - La détermination d'un second ensemble d'adresses IP non autorisées, 25 - La représentation des séries d'adresses IP autorisées et non autorisées par des filtres IP à double masques, dans lesquelles ledit filtre IP à double masques comprend un premier masque qui sera adapté pour exprimer le premier ensemble d'adresses IP, et un deuxième masque qui sera adapté pour exprimer les adresses IP à exclure du premier ensemble, formant ainsi l'ensemble des adresses IP couvert par le filtre en 19 question et qui seront par la suite soit acceptés soit rejetés selon la politique de filtrage utilisée. 6. Méthode selon la revendication 5 destinée à traduire une politique de filtrage exprimée en langage humain en une liste optimale de filtres IP à double masques. 7. Méthode selon la revendication 5 destinée à traduire une liste standard de règles de filtrage exprimée à l'aide des techniques classiques vers une liste optimale constituée de filtres IP à double masques. 8. Une solution matérielle ou logicielle ou bien une combinaison des deux construite à l'aide des opérateurs logiques définissant un filtre IP à double masques prenant en entrée un préfixe IP, un premier masque utilisé pour définir un premier ensemble d'adresses IP et un second masque utilisé pour définir un second ensemble d'adresses IP à exclure du premier ensemble déjà défini.20