Contrôle d ’Accès
Contrôle d ’Accès
et
et
Hauts Débits
Hauts Débits
Olivier Paul Olivier PaulENST de Bretagne
ENST de Bretagne
http://www.rennes.enst-bretagne.fr/~paul/ http://www.rennes.enst-bretagne.fr/~paul/Plan
Plan
1- Introduction
1- Introduction
2- Amélioration des performances du
2- Amélioration des performances du
contrôle d ’accès réseau
contrôle d ’accès réseau
2-1Problème théorique.
2-1Problème théorique.
2-2 Amélioration des techniques de
2-2 Amélioration des techniques de
classification.
classification.
2-3 Distribution des mécanismes.
2-3 Distribution des mécanismes.
3- Conclusion.
3- Conclusion.
Introduction
Introduction
Le contrôle d ’accès:
Le contrôle d ’accès:
– Service qui assure une protection contre une utilisation Service qui assure une protection contre une utilisation non autorisée de ressources par une entité ou un groupe
non autorisée de ressources par une entité ou un groupe
d ’entité (ISO). d ’entité (ISO).
Réseau
Client Serveur Firewall 1, 1/6Comment ca marche ?
Comment ca marche ?
Le Firewall se Le Firewall se situe entre le situe entre le réseau interne et réseau interne et le réseau externe. le réseau externe. Layer 2 TCP/UDP IP Packet Filter Application ProxyInside
Outside
1, 2/6Comment ca marche ?
Comment ca marche ?
Les paquets IP Les paquets IP sont filtrés au sont filtrés au niveau niveau réseau/transport réseau/transport et au niveau et au niveau application si une application si une passerelle a été passerelle a été configurée. configurée. Layer 2 TCP/UDP IP Packet Filter Application Proxy
Inside
Outside
src and dst addresses Protocol ID src and dst ports Direction and flagsProtocol Info. Application Data
Comment ca marche ?
Comment ca marche ?
Le paquet est Le paquet est envoyé sur le envoyé sur le réseau interne. réseau interne. Layer 2 TCP/UDP IP Packet Filter Application Proxy
Inside
Outside
Layer 2 Frame 1, 4/6Quels problèmes ?
Quels problèmes ?
Réassemblage Buffer Classification Buffer Fragmentation
Filtre
Le processus de classification est un processus gourmand en ressourcesLe processus de classification est un processus gourmand en ressources
– Performances faibles.Performances faibles.
Algorithme linéaire
Algorithme linéaire
CT : O(nCT : O(n..d), CS : O(nd), CS : O(n..d), insertion O(1).d), insertion O(1).
Politique
Si @S=A et @D=B et PS=C et PD=D alors autorise Si @S=A et @D=B et PS=C et PD=E alors interdit Si @S=A et @D=B alors autorise
Si @S=A et @D=C alors interdit Flux
A C C C
INTERDIT
Le problème de la
Le problème de la
classification de flux
classification de flux
Classificateur Proto Source ports Dest Address Source Source Address Address Flags Dest portsIf Cond1 and Cond2 and Cond3 then action1 If Cond4 and Cond5 then action2
If Cond6 then action1
Politique de n règles
portant sur les d champs
Bornes théoriques :
Bornes théoriques :
Complexité : O(log n), Complexité : O(log n), complexité spatiale : O(n
complexité spatiale : O(n dd).).
Complexité spatiale: O(n), Complexité spatiale: O(n), complexité : O(log
complexité : O(log d-1d-1 n). n).
flux composé de d champs flux composé de d champs
Overmars, Van der Stappen [Journal of Algorithms 96]Overmars, Van der Stappen [Journal of Algorithms 96]
Améliorations des techniques
Améliorations des techniques
de classification
de classification
Utilisation de mémoires caches.
Utilisation de mémoires caches.
Définition de nouveaux algorithmes de
Définition de nouveaux algorithmes de
classification:
classification:
–
Permettant une parallèlisation des
Permettant une parallèlisation des
traitements.
traitements.
–
Utilisant la redondance des politiques de
Utilisant la redondance des politiques de
contrôle d ’accès.
contrôle d ’accès.
Mémoires caches
Mémoires caches
Classificateur Classificateur logiciel Mémoire Cache Flux @S,@D,PS,PD Hit Miss Update (LRU) Hit 2-2, 2/9Mémoires Cache
Mémoires Cache
CAM (Content Addressable Memory)CAM (Content Addressable Memory)
(@S,@D,PS,PD) CAM Action
– Complexité temporelle O(1), Complexité spatiale O(n.d).Complexité temporelle O(1), Complexité spatiale O(n.d).
– 32 K entrées (64 bits), 16 ns (sibercore).32 K entrées (64 bits), 16 ns (sibercore).
SRAM (Static Random Access Memory)SRAM (Static Random Access Memory)
(@S,@D,PS,PD) SRAM Action
– Complexité temporelle O(1)/O(n), Complexité spatiale O(n.d).Complexité temporelle O(1)/O(n), Complexité spatiale O(n.d).
– 32 Mbits, 10 ns (motorola).32 Mbits, 10 ns (motorola).
Fonction de
hachage pointeur
Mémoires caches
Mémoires caches
Vitesse de classification très importante
Vitesse de classification très importante
–
60 Mp/s.
60 Mp/s.
Taille faible
Taille faible
–
Utilisation fréquente du classificateur logiciel.
Utilisation fréquente du classificateur logiciel.
–
Sensible au dénis de service.
Sensible au dénis de service.
–
Nombre de champ de recherche limité (CAM
Nombre de champ de recherche limité (CAM
255 bits, SRAM fonction de la FH).
255 bits, SRAM fonction de la FH).
Parallèlisation du processus de
Parallèlisation du processus de
classification
classification
Ex: Lakshman, Stiliadis [SIGCOMM98], CT : O(log(2n+1)), CS : O(d.nEx: Lakshman, Stiliadis [SIGCOMM98], CT : O(log(2n+1)), CS : O(d.n22)). )).
R0 R1 R2 X 110 & 111 110 010 110 010 011 001 000 000 001 101 111 011 010 2n + 1 tableaux de n champs R1 Log(d) +1 2-2, 5/9
Log(2n+1) +1 Recherche par arbre binaire Flux
Parallélisation du processus de
Parallélisation du processus de
classification
classification
Solution générale
Solution générale
–
Vitesse de classification constante.
Vitesse de classification constante.
–
Ne dépend pas du type de traffic/de politique.
Ne dépend pas du type de traffic/de politique.
Vitesse de classification moyenne (1 Mp/s).
Vitesse de classification moyenne (1 Mp/s).
Solution hardware uniquement.
Solution hardware uniquement.
Difficulté d ’implémentation lorsque d
Difficulté d ’implémentation lorsque d
augmente.
augmente.
Utilisation de la redondance
Utilisation de la redondance
de la politique de C.A.
de la politique de C.A.
Ex: Gupta, McKeown [SIGCOMM99]Ex: Gupta, McKeown [SIGCOMM99]
If @S=A ET @D=B ET PS=C et PD=D If @S=B ET @D=A ET PS=D et PD=C If @S=A ET @D=B ET PS=F et PD=D If @S=B ET @D=A ET PS=D et PD=F 0 0 00 00 1 1 01 01 0 0 10 00 1 1 01 10 0 0 00 00 1 1 01 01 0 0 10 00 1 1 01 10 0 00 1 01 0 10 1 11 00 01 10 11 2-2, 7/9
Utilisation de la redondance
Utilisation de la redondance
de la politique de C.A.
de la politique de C.A.
Ex: Gupta, McKeown [SIGCOMM99], CT : O(1), CS : ?, Insertion 10sEx: Gupta, McKeown [SIGCOMM99], CT : O(1), CS : ?, Insertion 10s
A B 0 1 A B 1 0 @S @D C F 00 10 PS D 01 C F 01 10 PD D 0 paquet (A,B,F,D) 00 11 0 1 @ 0000 0110 00 01 P 10 11 1000 0101 000 111 00 01 R 10 11 010 101 Etape 1 Etape 2 Etape 3 0 0 10 00 0 10 10 2-2, 8/9 R2
Utilisation de la redondance
Utilisation de la redondance
de la politique de C.A.
de la politique de C.A.
Vitesse de classification importante
Vitesse de classification importante
–
30 Mp/s (hardware), 1 Mp/s (software).
30 Mp/s (hardware), 1 Mp/s (software).
Solution non générale
Solution non générale
–
Marche bien pour les politiques des auteurs.
Marche bien pour les politiques des auteurs.
–
Evolution des politiques ?
Evolution des politiques ?
–
Temps de mise à jour (10 s).
Temps de mise à jour (10 s).
Distribution du processus de
Distribution du processus de
classification
classification
Distribution interne à un équipement.
Distribution interne à un équipement.
Distribution sur plusieurs équipements
Distribution sur plusieurs équipements
du réseau.
du réseau.
Distribution sur les équipements
Distribution sur les équipements
extrémité.
extrémité.
Distribution au sein d’un seul
Distribution au sein d’un seul
équipement
équipement
La capacité de classification est multipliée par le nombre de classificateursLa capacité de classification est multipliée par le nombre de classificateurs
Firewall Classificateur Classificateur Classificateur Classificateur Classificateur Classificateur Port 0 Port 1 Port 2 Port 3 Port 4 Port 5 2-3, 2/5
Distribution sur plusieurs
Distribution sur plusieurs
équipements réseau
équipements réseau
Nesset, Hummen [NDS98], utiliser les capacités de C.A. des équipts réseaux.Nesset, Hummen [NDS98], utiliser les capacités de C.A. des équipts réseaux. Pont Switch Switch Routeur PC PC PC PC PC 2-3, 3/5
Distribution sur les équipements
Distribution sur les équipements
extrémité
extrémité
Ex: Bellovin [Login99], utiliser les capacités de C.A. des équipts extrémité.Ex: Bellovin [Login99], utiliser les capacités de C.A. des équipts extrémité.
Pont Switch Switch Routeur PC PC PC PC PC 2-3, 4/5
Distribution du processus de
Distribution du processus de
classification
classification
Performance du service de C.A.Performance du service de C.A.
– Dépend du degré de distribution.Dépend du degré de distribution.
Amélioration indépendante des algorithmes de classification.Amélioration indépendante des algorithmes de classification. Autres améliorations (contrôle interne…)Autres améliorations (contrôle interne…)
Gestion de la politique de C.A.Gestion de la politique de C.A. Intégrité de la politique de C.A.Intégrité de la politique de C.A.
Et l ’ENSTB dans tout ca ?
Et l ’ENSTB dans tout ca ?
Architecture distribuée du C.A.Architecture distribuée du C.A.– Contrôle d ’accès par agentsContrôle d ’accès par agents
Distribution de politiques de C.A.Distribution de politiques de C.A.
– Optimisation du processus de C.A. sur l ’ensemble du réseau.Optimisation du processus de C.A. sur l ’ensemble du réseau.
Définition d ’algorithmes de classificationDéfinition d ’algorithmes de classification
– Projet CARAT (Contrôle d ’Accès et qualité de service dans les Réseaux ATm).Projet CARAT (Contrôle d ’Accès et qualité de service dans les Réseaux ATm).
– Partenariat CNET, CELAR, ENSTB.Partenariat CNET, CELAR, ENSTB.
– Cartes IFT (CNET), solution générale, pas de parallélisation.Cartes IFT (CNET), solution générale, pas de parallélisation.
– Performances: 1 Mp/s, 53 octets, Insertion 1 ms.Performances: 1 Mp/s, 53 octets, Insertion 1 ms.
Conclusion
Conclusion
Améliorations des performances de C.A. : Plusieurs voies pas Améliorations des performances de C.A. : Plusieurs voies pas forcément divergentes (combinaisons possibles).
forcément divergentes (combinaisons possibles).
Comment juger un outil de contrôle d ’accès :Comment juger un outil de contrôle d ’accès :
– Mp/s.Mp/s.
– Nombre de champs utilisables.Nombre de champs utilisables.
– Nombre de règles pouvant être analysées.Nombre de règles pouvant être analysées.
– Temps d ’insertion.Temps d ’insertion.