• Aucun résultat trouvé

Définition d'une infrastructure de sécurité et de mobilité pour les réseaux pair-à-pair recouvrants

N/A
N/A
Protected

Academic year: 2021

Partager "Définition d'une infrastructure de sécurité et de mobilité pour les réseaux pair-à-pair recouvrants"

Copied!
153
0
0

Texte intégral

(1)

HAL Id: tel-01132381

https://tel.archives-ouvertes.fr/tel-01132381

Submitted on 17 Mar 2015

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of

sci-entific research documents, whether they are

pub-lished or not. The documents may come from

teaching and research institutions in France or

abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est

destinée au dépôt et à la diffusion de documents

scientifiques de niveau recherche, publiés ou non,

émanant des établissements d’enseignement et de

recherche français ou étrangers, des laboratoires

publics ou privés.

Définition d’une infrastructure de sécurité et de mobilité

pour les réseaux pair-à-pair recouvrants

Ahmat Mahamat Daouda

To cite this version:

Ahmat Mahamat Daouda.

Définition d’une infrastructure de sécurité et de mobilité pour les

réseaux pair-à-pair recouvrants. Informatique. Université de Bordeaux, 2014. Français. �NNT :

2014BORD0186�. �tel-01132381�

(2)

PRÉSENTÉE À

UNIVERSITÉ DE BORDEAUX

COLLÈGE SCIENCES & TECHNOLOGIES

ÉCOLE DOCTORALE DE MATHÉMATIQUES ET D’INFORMATIQUE

LABORATOIRE BORDELAIS DE RECHERCHE EN INFORMATIQUE (LaBRI)

par

DAOUDA AHMAT MAHAMAT

POUR OBTENIR LE GRADE DE :

DOCTEUR

SPÉCIALITÉ : INFORMATIQUE

F

Définition d’une Infrastructure de Sécurité et de Mobilité

pour les Réseaux Pair-à-Pair Recouvrants

Soutenue publiquement le :

Après avis des rapporteurs :

Anne Fladenmuller, UPMC - LIP6, Maître de Conférences HDR

Philippe Owezarski, CNRS - LAAS, Directeur de Recherche HDR

Devant la commission d’examen composée de :

Présidente du jury : Francine Krief, ENSEIRB - LaBRI, Professeur des Universités

Directeur de thèse : Damien Magoni, UB - LaBRI, Professeur des Universités

Examinateur : Gwendal Simon, Telecom Bretagne - IRISA, Maître de Conférences

(3)
(4)

security infrastructure that is suitable to the constraints and issues of P2P systems. The

first part of this document presents the design of SEMOS, our middleware solution for

managing and securing mobile sessions. SEMOS ensures that communication sessions are

secure and remain active despite the possible disconnections that can occur when network

configurations change or a malfunction arises. This roaming capability is implemented

via the definition of a new addressing space in order to split up addresses for network

entities with their names ; the new naming space is then based on distributed hash tables

(DHT). The second part of the document presents a generic and distributed mechanism

for a key exchange method befitting to P2P architectures. Building on disjoint paths and

end-to-end exchange, the proposed key management protocol consists of a combination

of the Diffie-Hellman algorithm and the Shamir’s (k, n) threshold scheme. On the one

hand, the use of disjoint paths to route subkeys offsets the absence of the third party’s

certified consubstantial to Diffie-Hellman and reduces, at the same time, its vulnerability

to interception attacks. On the other hand, the extension of the Diffie-Hellman algorithm

by adding the threshold (k, n) scheme substantially increases its robustness, in particular

in key splitting and / or in the case of accidental or intentional subkeys routing failures.

Finally, we rely on a virtual mobile network to assess the setup of secure mobile sessions.

The key management mechanism is then evaluated in an environment with randomly

generated P2P topologies.

Index terms— P2P, DHT, mobile VPN, disjoint paths, Diffie-Hellman, (k, n) threshold scheme



Résumé —

La sécurisation inhérente aux échanges dans les environnements dynamiques

et distribués, dépourvus d’une coordination centrale et dont la topologie change

perpétuel-lement, est un défi majeur. Dans le cadre de cette thèse, on se propose en effet de définir

une infrastructure de sécurité adaptée aux contraintes des systèmes P2P actuels. Le premier

volet de nos travaux consiste à proposer un intergiciel, appelé SEMOS, qui gère des sessions

sécurisées et mobiles. SEMOS permet en effet de maintenir les sessions sécurisées actives

et ce, même lorsque la configuration réseau change ou un dysfonctionnement se produit.

Cette faculté d’itinérance est rendue possible par la définition d’un nouveau mécanisme de

découplage afin de cloisonner l’espace d’adressage de l’espace de nommage ; le nouvel espace

de nommage repose alors sur les tables de hachage distribuées (DHT). Le deuxième volet

définit un mécanisme distribué et générique d’échange de clés adapté à l’architecture P2P.

Basé sur les chemins disjoints et l’échange de bout en bout, le procédé de gestion des clés

proposé est constitué d’une combinaison du protocole Diffie-Hellman et du schéma à seuil

(k, n) de Shamir. D’une part, l’utilisation des chemins disjoints dans le routage des sous-clés

compense l’absence de l’authentification certifiée, par une tierce partie, consubstantielle

au protocole Diffie-Hellman et réduit, dans la foulée, sa vulnérabilité aux attaques par

interception. D’autre part, l’extension de l’algorithme Diffie-Hellman par ajout du schéma

à seuil (k, n) renforce substantiellement sa robustesse notamment dans la segmentation des

clés et/ou en cas de défaillances accidentelles ou délibérées dans le routage des sous-clés.

Enfin, les sessions sécurisées mobiles sont évaluées dans un réseau virtuel et mobile et la

gestion des clés est simulée dans un environnement générant des topologies P2P aléatoires.

Mots-clés— P2P, DHT, VPN mobile, chemins disjoints, Diffie-Hellman, schéma à seuil (k, n)

(5)
(6)

Je dédie cette thèse à ma défunte mère Mariam Haroun Moustapha et à mon défunt père Ahmat Mahamat Koulibaly pour l’amour parental qu’ils nous ont procuré et pour les immenses sacrifices qu’ils ont consentis pour l’éducation et la réussite de leurs enfants. Puisse Allah les accueillir en son Paradis Éternel ! Amine.

(7)
(8)

Je remercie chaleureusement les rapporteurs, Anne Fladenmuller et Philippe Owezarski, qui ont accepté de relire ma thèse et qui, subséquemment, ont émis un avis favorable au déroulement de ma soutenance. J’adresse également mes remerciements appuyés à Francine Krief et Pierre Simon qui ont aimablement accepté de faire partie du jury.

Je tiens à adresser mes vifs remerciements à mon directeur de thèse Damien Magoni avec qui j’ai travaillé sur quatre différents projets depuis 2010. Ces travaux m’ont en effet permis non seulement d’acquérir plus de rigueur mais aussi d’enrichir considérablement mes connaissances techniques et scientifiques ; ce serait un euphémisme de dire que j’ai beaucoup bénéficié de ces encadrements respectifs. Aussi, je ne peux perdre de vue les qualités humaines manifestes de Damien ni faire abstraction de la bonne humeur qu’il répand à profusion au cours de nos différentes entrevues ; nos réunions sont toujours ponctuées par des échanges cordiaux. Le dernier encadrement en date, sous sa direction, se traduit donc par l’aboutissement de cette thèse dont le déroulement s’était inscrit naturellement dans la même dynamique que des projets précédemment encadrés.

Je n’aurais jamais fait des études en Informatique sans les conseils affectueux et bienveillants du Dr Mahamat Barka. En effet, mon baccalauréat en poche et alors que je me destinais à des études de Mathématiques ou de Physique pour lesquelles j’avais une certaine prédisposition inhérente à mon cursus scolaire et à ma série, le début de mon parcours universitaire avait soudainement pris une tout autre tournure lorsque j’avais décidé de me placer, volontairement mais irrésistiblement, sous le parrainage du Dr Mahamat Barka. Ce dernier a ainsi eu la perspicacité de m’orienter. Tout au long de mon parcours universitaire, Dr Mahamat Barka n’a eu de cesse de suivre mon évolution avec intérêt et de m’apporter, dans la foulée, un soutien tout aussi ininterrompu que précieux. Je ne vous remercierai jamais assez d’être aussi présent à mes côtés ! Je vous dis seulement merci car parmi les mots qui peuplent mon vocabulaire aucun d’eux ne pourrait exprimer avec exactitude toute ma gratitude pour vous. Aussi, me faudrait-il des pages entières pour décrire tout ce que je vous dois.

Mes remerciements s’adressent également à mes frères et sœurs Adoum, Moussa, Adamou, Hissein, Khadidja, Amina, Hadjé Fatimé, Zamzam, Hadjé Mariam et Mahboub (décédé en 2013) pour leur soutien et leurs encouragements qui ne se sont jamais essouflés durant toute la durée de ma thèse. Je n’oublie pas également, dans cette page où le cœur s’exprime, tous les proches, amis et connaissances qui ne se privent pas d’occasion pour m’encourager dans mes études.

Je remercie ma fiancée Haoua Brahim pour sa grande patience et son soutien qui l’est tout autant ; elle comprendra un jour que le temps et l’énergie consacrés aux études n’étaient pas vains. Je tiens à remercier Serge Chaumette, Arnaud Casteigts et Colette Johnen de m’avoir adopté dans leur thème MUSE (Mobility Ubiquity SEcurity), en m’associant à leurs différentes activités.

Je remercie vivement Sébastien Bindel et Dramane Ouattara avec qui j’échange régulièrement sur nos travaux respectifs et sur divers autres sujets.

Comment mettre fin aux remerciements sans pour autant avoir une pensée pour les anciens et actuels membres de l’environnement, appelé la CVT, dans lequel j’avais préparé ma thèse. Je les remercie tous ! Il s’agit, dans un ordre qui ne suit aucune logique, de : Sébastien Bindel, Hugo Balacey, Telesphore Tiendrebeogo, Tegawendé Bissyandé, Cyril Cassagnes, Jonathan Ouoba, Vincent Autefage, Rémi Laplace, Damien Dubernet, Jigar Solanki, Matthieu Barjon, Mohammed Y. Neggaz et Jonathan Saludas.

(9)
(10)
(11)

x

tableau 1 – Liste de symboles utilisés

Symbole Description

⊥ Valeur vide ou nulle d’une variable

fl Polynôme utilisé dans l’interpolation de Lagrange

b

f Point d’interpolation équivalent à (x, fl(x))

V Liste de nœuds parcourus dans la recherche des chemins disjoints b

V Liste de nœuds parcourus stockée localement

P Chemin

p Nombre premier de valeur supérieure ou égale à 2048 bits s / t Nœud source / nœud destination dans une transmission

hi Saut constituant un chemin à l’étape i

H Espace hyperbolique

⊕ Opérateur appliqué sur les sous-clés dans la reconstitution d’une clé

S/Σ Secret / clé secrète

τ Taille d’un secret Σ

∆ Donnée / secret

i Sous-donnée / sous-secret

t Variation du temps

g Générateur d’un groupe cyclique

q Degré de l’arbre d’adressage ou d’un nœud du réseau recouvrant

HL Horloge de Lamport

fh Fonction de hachage

← / → Affecte / retourne une valeur

x mod y Donne le reste de la division de x par y

s − t Indique le sens d’un chemin : trajet allant de s à t

L Combinaision linéaire des polynômes de base de Lagrange

l Polynôme de base de Lagrange

k-chemins Ensemble de k chemins frayés dans le réseau

(k, n) le seuil k requis pour la reconstitution d’une clé parmi n pièces générées

G Graphe quelconque

V / E Ensemble de sommets / Ensemble d’arcs d’un graphe G donné

E− Ensemble des arcs sortants d’un nœud

E+ Ensemble des arcs entrants vers un nœud

deg Degré d’un nœud : nombre de ses voisins (nœuds adjacents) Src @ / Dst @ Adresse source / adresse destination

Src ID / Dst ID Identifiant du nœud source / identifiant du nœud destination PSess ID Identifiant du nœud source / identifiant du nœud destination

AD OV Adresse d’un nœud du réseau recouvrant

ICV Valeur de vérification d’intégrité (de l’anglais Integrity Check Value)

SEQ NBR Numéro de séquence d’un paquet du réseau recouvrant

(12)

Abstract / Résumé iii Dédicace v Remerciements vii Symboles utilisés ix Introduction générale 1

I

État de l’art

5

1 Terminologie et définition des concepts de base 7

1.1 Taxonomie des systèmes informatiques . . . 7

1.2 Architecture client/serveur . . . 8

1.3 Systèmes pair-à-pair (P2P) . . . 8

1.3.1 Vue d’ensemble . . . 9

1.3.2 Variantes du système P2P . . . 9

1.4 Notions cryptographiques . . . 12

1.4.1 Définition des concepts de sécurité . . . 12

1.4.2 Échange de clés Diffie-Hellman et ses dérivés . . . 14

1.4.3 Secret réparti . . . 15

1.4.4 Réseau Privé Virtuel ou Virtual Private Network (VPN) . . . . 16

1.5 Mobilité : principe et étude conceptuelle de quelques protocoles . . . 16

1.6 Conclusion . . . 18

2 Systèmes VPN mobiles 19 2.1 Systèmes VPN mobiles basés sur les protocoles p2p . . . 19

2.2 VPN mobiles nés de la combinaison IPSec + Mobile IP . . . 21

2.3 Protocole HIP (Host Identity Protocol) . . . 21

2.4 VPN mobiles basés sur l’extension du protocole SIP . . . 22

2.5 VPN mobiles basés sur l’extension de SSH, SSL ou TLS . . . 24

2.6 Autres modèles de systèmes VPN mobiles . . . 24

2.7 Étude comparative de systèmes VPN mobiles . . . 24

2.8 Conclusion . . . 26

3 Recherche de chemins s-t disjoints 27 3.1 Solution déductible du problème du flot maximal . . . 28

3.1.1 Réduction problème sommet-disjoint; problème arc-disjoint . . . 28

3.1.2 Réduction problème arc-disjoint; problème sommet-disjoint . . . 29

xi

(13)

xii

TABLE DES MATIÈRES

3.1.3 Équivalence entre les problèmes arc-disjoint et flot maximal . . . 29

3.2 Approche basée sur la topologie en anneau . . . 31

3.3 Autres propositions algorithmiques et leurs corollaires . . . 31

3.4 Classification des problèmes . . . 33

3.5 Applications . . . 33

3.6 Conclusion . . . 33

4 Gestion distribuée de clés 35 4.1 Échange de clés via des chemins multiples . . . 36

4.1.1 Échange de clés multi-chemin sur une topologie circulaire . . . 36

4.1.2 Échange de clés à chemins multiples sur les MANETs . . . 37

4.1.3 Échange de clés à chemins multiples sur les réseaux de capteurs . . . 37

4.2 PKI distribuée sur les réseaux P2P . . . 38

4.3 Distribution de clés basée sur le schéma à seuil (k, n) . . . . 38

4.4 Taxinomie de paradigmes distribués de gestion de clés . . . 39

4.5 Conclusion . . . 39

II

Conception de l’infrastructure

43

5 Découplage entre l’espace d’adressage et l’espace de nommage 45 5.1 Vue globale de l’architecture . . . 45

5.2 Infrastructure sous-jacente . . . 46

5.2.1 Adressage géométrique hyperbolique . . . 46

5.2.2 Protocole du routage glouton . . . 48

5.3 Modèle de tables de hachage distribuées (DHT) . . . 49

5.3.1 Principe du fonctionnement . . . 49

5.3.2 Mécanisme de nommage . . . 49

5.3.3 Stockage des couples <clé, valeur> dans CLOAK . . . 50

5.3.4 Coûts liés aux opérations dans CLOAK . . . 52

5.4 Modélisation du protocole de mobilité . . . 52

5.4.1 Cloisonnement entre l’espace d’adressage et l’espace de nommage . . . 53

5.4.2 Gestion distribuée de la mobilité . . . 54

5.4.3 Résilience et reprise de session . . . 55

5.4.4 Analyse de mobilité et comparatif technique . . . 56

5.5 Conclusion . . . 57

6 Sessions virtuelles sécurisées et mobiles 59 6.1 Motivations . . . 59

6.2 Architecture de l’intergiciel SEMOS . . . 60

6.2.1 Module de sécurisation de session . . . 61

6.2.2 Gestion de résilience de session . . . 62

6.2.3 Interfaçage entre SEMOS et les processus applicatifs . . . 66

6.2.4 Module de redirection de port . . . 66

6.3 Contraintes d’Internet . . . 67

6.4 Analyse de sécurité . . . 68

6.4.1 Protection contre les attaques par rejeu et les attaques DoS . . . 68

6.4.2 Autres propriétés . . . 69

(14)

7 Paradigme multi-chemin d’échange de clés 71

7.1 Motivations . . . 71

7.2 Recherche des k−chemins s-t disjoints . . . . 72

7.2.1 Contexte d’étude . . . 72

7.2.2 Chemins disjoints : concepts et principes . . . 72

7.2.3 Modes et politiques du routage multi-chemin . . . 73

7.2.4 Algorithme du routage multi-chemin . . . 76

7.3 Protocole d’échange de clés et ses corollaires . . . 79

7.3.1 Méthodes de segmentation des clés en sous-clés . . . 79

7.3.2 Échange bout-à-bout de clés . . . 83

7.3.3 Concept de proxy de confiance et délégation de négociation de clé . . . . 83

7.4 Analyse de sécurité . . . 86

7.4.1 Forces et faiblesses de l’utilisation des chemins disjoints . . . 86

7.4.2 Considérations sécuritaires . . . 87

7.4.3 Comparaison de notre approche avec deux protocoles connexes . . . 88

7.5 Conclusion . . . 89

III

Mise en œuvre et expérimentations

91

8 Simulations/évaluation de CLOAK / SEMOS 93 8.1 Introduction . . . 93

8.2 Évaluation des performances de CLOAK . . . 93

8.2.1 Outils et paramètres utilisés . . . 94

8.2.2 Résultats de simulation . . . 94

8.3 Évaluation de SEMOS . . . 96

8.3.1 Prototypage du système SEMOS . . . 96

8.3.2 Environnement d’expérimentation . . . 97

8.3.3 Résultats d’évaluation . . . 97

8.4 Conclusion . . . 99

9 Simulations du modèle d’échange de clés 101 9.1 Introduction . . . 101

9.2 Outils et paramètres . . . 102

9.2.1 Étapes du processus d’échange de clés . . . 102

9.2.2 Cartographie des réseaux virtuels utilisés . . . 103

9.2.3 Différentes politiques du routage . . . 103

9.3 Résultats des simulations . . . 104

9.3.1 Simulations par nature de réseau . . . 104

9.3.2 Simulations par taille de réseau . . . 104

9.3.3 Impact du nombre de chemins disjoints sur l’échange de clés . . . 105

9.3.4 Interception des chemins disjoints . . . 106

9.3.5 Simulations par type de routage . . . 108

9.3.6 Nombre de sauts et longueur moyenne de transmission . . . 109

9.3.7 Distribution de probabilités par rapport au nombre de chemins . . . 110

9.4 Écart-type des taux de réussite . . . 111

9.5 Récapitulatif des résultats . . . 112

9.6 Conclusion . . . 112

(15)

xiv

TABLE DES MATIÈRES

Annexe

115

A Contributions issues de cette thèse 115

A.1 Journaux . . . 115 A.2 Articles . . . 115

B Preuves et algorithmes 117

B.1 Théorèmes et preuves . . . 117 B.2 Algorithmes . . . 118

(16)

CCDF Fonction de Distribution Cumulative Complémen-taire (ou de l’anglais Complementary Cumulative Distribution Function)

110

chemins s-t Un chemin s-t est un chemin qui va du sommet

source s au sommet destination t.

33

chemins s-t arc-disjoints Deux chemins s-t sont dits arc-disjoints lorsqu’ils n’ont aucun arc en commun.

27–33

chemins s-t arête-disjoints Deux chemins s-t sont dits arête-disjoints lorsqu’ils n’ont aucune arête en commun.

27, 29, 33 chemins s-t sommet-disjoints Deux chemins s-t sont dits sommet-disjoints

lors-qu’ils n’ont aucun sommet en commun en déhors de s et t .

27–30, 33, 34

client/serveur Le modèle client/serveur est un modèle composé

de deux entités dont l’une est passive, appelée serveur, et l’autre est active, appelée client. Le serveur fournit un service et attend les éventuelles requêtes émanant de clients qui le sollicite.

23

DHT Une DHT (Distributed Hash Table) ou une Table

de Hachage Distribuée est une technologie utilisée dans les systèmes P2P pour indexer et retrouver des informations disséminées à travers un réseau.

11, 12, 20

HDM L’attaque HDM (ou Homme Du Milieu) est la

faculté pour un attaquant d’usurper les identités de deux hôtes honnêtes H1 et H2 impliqués dans

un échange réseau et de se faire passer à H1 pour H2 et vice versa.

15, 19, 36, 59, 72, 86–89

IPSec Internet Protocol Security est le protocole de

sécu-rité le plus populaire de la couche IP. Il permet de fournir de tunnels de sécurité entre hôtes distants.

21, 24

Mobile IP Mobile Internet Protocol est un protocole

permet-tant de fournir le service de mobilité aux nœuds mobiles d’un réseau.

21

(17)

xvi

Glossaire

P2P Un système pair-à-pair (ou p2p) est un réseau dans

lequel chaque pair joue, de façon alternée, le rôle du client, serveur ou transitaire - routeur -, ou une combinaison de ces rôles.

1, 8– 12, 19, 20, 26, 38–40, 54, 57, 67–69, 71, 72, 74, 79, 83, 93, 102, 104, 113

PKI Une PKI (Public Keys Infrastructure) ou une

Infra-structure à Clés Publiques est une entité centrale réseau permettant de coordonner la gestion des certificats cryptographiques.

14, 20, 35, 38, 39

point d’articulation En théorie des graphes, Un sommet dont la

sup-pression disloque un graphe en deux sous-graphes séparés est appelé point d’articulation

83

proxy de confiance Est appelé proxy de confiance, tout nœud avec

lequel un échange de clés a eu lieu avec succès.

83, 84

remous Le remous (ou churn en anglais) correspond aux

départs/arrivées intempestifs des nœuds stockeurs d’une DHT.

93

VPN mobile Un VPN mobile est un système VPN dont les

tunnels peuvent survivre aux perturbations et/ou aux changements d’emplacement réseau opérés par des hôtes mobiles qui forment les extrémités de ces mêmes tunnels.

(18)

En raison des propriétés fondamentales et inhérentes à leur architecture telles que l’auto-organisation, la disponibilité, l’absence du goulot d’étranglement, la tolérance aux pannes, le passage à l’échelle, le changement dynamique de topologie, l’autonomie des entités ou l’équilibrage de charge, les réseaux pair-à-pair (P2P) offrent une solution privilégiée afin de fournir des services précieux tels que le partage de fichiers, l’échange d’information, le calcul distribué ou simplement la possibilité de rester en contact avec le reste du monde à travers l’Internet. En l’absence d’une coordination centralisée et figée, les réseaux P2P permettent une interaction extensible entre les nœuds qui les constituent. Cette extensibilité est rendue encore plus robuste grâce à l’introduction de Tables de Hachage Distribuées (DHT) dans les systèmes P2P. Lorsqu’il est muni de cette technique d’indexation repartie sur l’ensemble de nœuds, le réseau P2P est alors désigné sous le vocable de système structuré.

Portés nativement par les caractéristiques fondamentales énoncées ci-dessus et autres propriétés subsidiaires, les systèmes P2P connaissent actuellement une expansion sans précédent et suscitent de plus en plus d’engouement ces dernières années à la fois de la part des chercheurs [1–11] et du côté des internautes. Les statistiques relevées sur les activités et le trafic sur Internet plaident en effet dans ce sens : en moyenne, entre 18 et plus de 50 % du trafic total sur Internet est issu des systèmes P2P [12–16].

Dépourvus de tout point individuel de défaillance ou des goulots d’étranglement, les systèmes distribués, notamment les réseaux P2P, évoluent sans encombre dans des environnements dynamiques jalonnés par des changements perpétuels de topologie dûs aux départs et arrivées fréquents des nœuds ; les systèmes traditionnels basés sur l’architecture client/serveur, dont le serveur en constitue l’entité névralgique, échouent cependant à passer à l’échelle et/ou à évoluer sans incident dans de tels environnements.

Les propriétés susmentionnées procurent un réel avantage aux réseaux P2P par rapport aux systèmes conçus sur la base du modèle client/serveur dont la coordination et les services essentiels et critiques sont exclusivement confinés au niveau du serveur. Cependant, force est de constater que certaines propriétés intrinsèquement liées aux systèmes P2P, qui sont pourtant d’une importance notable, pourraient se révéler comme une faille de sécurité ; cette vulnérabilité pourrait ainsi exposer les utilisateurs aux différentes menaces d’attaques, actives ou passives, qui sévissent sur Internet [17– 20]. Celles-ci sont d’autant plus préoccupantes que les politiques de sécurité traditionnelles basées sur une entité tierce de confiance centrale, comme l’infrastructure à clés publiques (PKI), ne peuvent être efficacement appliquées dans le cadre d’un système totalement distribué formé autour d’une topologie dynamique ; aussi évidente, l’incompatibilité structurelle qui existe entre les systèmes entièrement distribués et les infrastructures de sécurité destinées aux architectures centralisées. À défaut donc d’une coordination centrale, sur laquelle les infrastructures centralisées de sécurité sont basées, la mise en œuvre de la sécurité dans les systèmes distribués, notamment les réseaux P2P, demeure un défi majeur que le monde de la recherche tente de relever avec plus ou moins de succès [21–24].

De par leur spécificité conceptuelle et les caractéristiques qui y sont attachées telles que la décentralisation, l’auto-organisation du réseau ou l’autonomie des nœuds, les systèmes P2P requièrent

(19)

2

des solutions de sécurité appropriées. En effet, des travaux d’analyse de sécurité relativement récents ont permis de mettre en évidence la vulnérabilité des réseaux P2P [17–19]. Afin de prémunir ces systèmes contre des menaces manifestes d’attaque prévalant sur Internet [25], nous nous proposons, dans le cadre de cette thèse, d’une part, de définir une nouvelle politique de sécurité adaptée aux réseaux P2P, et, d’autre part, de proposer un nouveau protocole permettant de rendre les tunnels robustes à la mobilité. En d’autres termes, les travaux de la présente thèse consistent à définir une infrastructure de sécurité bâtie sur les réseaux P2P et constituée essentiellement de deux modules fondamentaux qui en forment la pierre angulaire : (1) le premier module définit un intergiciel proposant des sessions sécurisées et mobiles et (2) le second module propose, pour sa part, une nouvelle approche de gestion distribuée de clés basée sur des chemins nœud-disjoints. Aussi, nos travaux précédents ont-ils déjà permis de concevoir un nouveau protocole P2P qui, basé sur la géométrie hyperbolique, fournit des services d’adressage et de routage [6] ; un nouvel espace de nommage, bâti au-dessus du réseau recouvrant et permettant de découpler les identifiants d’entités communicantes de leurs adresses, est donc nécessaire pour disposer de la mobilité [7]. Dès lors, le but principal de cette thèse est de fournir une sécurité accrue, avec en toile de fond un mécanisme robuste d’échange de clés basé sur l’utilisation des chemins disjoints, et un service de mobilité qui est tout aussi robuste. Ces services sont destinés aux réseaux recouvrants P2P, et plus particulièrement à l’infrastructure sous-jacente de notre modèle.

Afin de répondre aux problèmes liés à l’incompatibilité triviale entre les méthodes employées dans les infrastructures traditionnelles de gestion de clés et les systèmes P2P totalement décentralisés, nous proposons une nouvelle approche distribuée de gestion des clés fondée sur une négociation de bout-à-bout basée sur l’utilisation des chemins nœud-disjoints. Le protocole proposé est une extension de l’algorithme cryptographique Diffie-Hellman (DH) ; bien qu’il soit une approche cryptographique intéressante d’échange de clés, il n’en demeure pas moins que le protocole DH soit sensible aux attaques par l’homme du milieu (HDM).

À la lumière de ce qui précède, nous proposons un nouveau procédé qui se veut être invulnérable aux attaques par HDM. En effet, la nouvelle méthode consiste à garantir à la fois l’authentification du correspondant et l’échange d’un secret entre deux pairs en s’appuyant sur l’utilisation de plusieurs chemins nœud-disjoints : au cours d’une négociation de clé secrète, chaque transmission de sous-clé est effectuée à travers un chemin séparé sur le réseau, ce qui garantit simultanément la robustesse et l’authentification. Certes, les attaques par HDM isolées orchestrées par des nœuds malveillants pourraient être déjouées mais les attaques par HDM coordonnées pourraient réussir à intercepter les différentes composantes d’une clé. Cependant, nous montrons par des expérimentations que ces attaques sont difficiles à mettre en œuvre et quand bien même lorsqu’elles seraient menées, le taux moyen d’échanges réussis de clés est très élevé. Mieux, l’utilisation du mécanisme de pair de confiance, introduit dans notre approche, permet d’avoir un taux de réussite encore plus élevé.

Le mécanisme de fragmentation de clé proposé s’appuie sur une méthode robuste : le schéma à seuil (k, n) de Shamir. Le procédé consiste à subdiviser une clé en plusieurs composantes virtuelles, appelées sous-clés : ces dernières sont constituées essentiellement des points d’interpolation de Lagrange et ne sont pas consitutées des fragments proprement dits de la clé de départ. Cette propriété recèle une grande robustesse par rapport à la méthode naïve qui consiste à segementer littéralement une clé.

Par ailleurs, nous procéderons aux expérimentations basées sur diverses topologies P2P, aléatoires ou circulaire, qui permettent de donner une distribution des taux de réussite par rapport au pourcentage des attaquants coordonnés présents sur le réseau. De façon analogue, nous évaluerons également notre approche sur différents cartes topologiques dont BGP4, MP [26], Erdős-Rényi [27] et une topologie construite à l’image d’Internet.

De nos jours, les réseaux P2P, les équipements mobiles et les réseaux sans fil ont progressivement gagné en popularité ; ces technologies de communication permettent de fournir la mobilité et/ou une haute connectivité à leurs usagers. Ces propriétés pourraient néanmoins être propices aux intrusions malveillantes. En effet, les ondes radio, dans le cas des réseaux sans fil, et l’autonomie organisationnelle, dans le cas des réseaux P2P, pourraient potentiellement rendre ces systèmes

(20)

perméables aux infiltrations par des hôtes pernicieux.

L’intégration de la mobilité dans les réseaux privés virtuels (VPN) tradionnels est un véritable défi. En effet, lorsqu’une extrémité d’un tunnel change de point d’attachement réseau alors le tunnel se rompt et une renégociation de clés est nécessaire pour le rétablir. Aussi, lorsque les extrémités de tunnel tournent dans un environnement dynamique (voire mobile) alors il s’en suit que les renégociations de clés deviennent fréquentes sur le réseau. Ce phénomène pourrait non seulement être source d’attaques, notamment des attaques HDM, mais il également a un coût : c’est lors de la phase de négociation et/ou de renégociation de clés que les nœuds impliqués dans ces opérations sont le plus vulnérables aux attaques ; c’est aussi durant ces étapes qu’une latence plus ou moins importante est engendrée.

Afin de remédier aux problèmes décrits, nous proposons un intergiciel, appelé SEMOS (de l’anglais SEcured MObile Session), capable de fournir des sessions sécurisées et mobiles aux utilisateurs. Techniquement, cette infrastructure s’intercale entre les applications utilisateur et notre système P2P ; elle exploite notre mécanisme de nommage afin de fournir le service de mobilité aux utilisateurs. Aussi, un prototype de cette infrastructure est proposé et comparé, par expérimentations, à d’autres protocoles VPN mobiles tels que N2N [28], HIP [29] ou MOBIKE [30]. Il en ressort que notre approche présente des performances assez satisfaisantes, notamment sur la latence induite lors de reprise de session consécutive à une défaillance du réseau.

Le reste du mémoire de thèse se décline principalement comme suit :

— la partie I décrit essentiellement la terminologie utilisée, les définitions de concepts de base nécessaires et propose un état de l’art détaillant quelques modèles notables et connexes à différents éléments structurants de nos travaux de thèse ;

— la deuxième partie se compose principalement de l’étude conceptuelle de l’architecture de notre système : elle décrit d’abord la méthode basée sur les DHT permettant le découplage, nécessaire pour la mobilité, entre les identifiants de pairs et leurs adresses réseau, elle fournit ensuite une étude détaillée de l’intergiciel SEMOS capable de founir des sessions sécurisées et mobiles en se servant du modèle de mobilité introduit précédemment, et enfin, cette deuxième partie traite largement la technique d’échange de clés de bout-à-bout basée sur l’utilisation des chemins disjoints entre deux pairs et ses corollaires ;

— la troisième partie consiste en expérimentation et évaluation de principaux modules qui constituent notre infrastructure de sécurité : elle contient en effet les détails sur les para-mètres, outils et environnements utilisés ainsi que les simulations réalisées et les résultats obtenus, et dont certains sont comparés avec les résultats des autres modèles existants évalués.

(21)
(22)

État de l’art

(23)
(24)

Terminologie et définition des concepts de base

Sommaire

1.1 Taxonomie des systèmes informatiques . . . . 7 1.2 Architecture client/serveur . . . . 8 1.3 Systèmes pair-à-pair (P2P) . . . . 8 1.3.1 Vue d’ensemble . . . 9 1.3.2 Variantes du système P2P . . . 9 1.4 Notions cryptographiques . . . . 12 1.4.1 Définition des concepts de sécurité . . . 12 1.4.2 Échange de clés Diffie-Hellman et ses dérivés . . . 14 1.4.3 Secret réparti . . . 15 1.4.4 Réseau Privé Virtuel ou Virtual Private Network (VPN) . . . . . 16 1.5 Mobilité : principe et étude conceptuelle de quelques protocoles 16 1.6 Conclusion . . . . 18

1.1

Taxonomie des systèmes informatiques

Syst`emes informatiques

Syst`emes r´epartis

Syst`emes P2P

P2P totalement d´ecentralis´es Syst`emes

Syst`emes Client/Serveur

Hybrides Plats Hi´erarchiques

Syst`emes centralis´es

ex: Mainframe, station de travail

ex: CAN, Cloak, Chord,Viceroy ex: N2N, Skype ex: SSL/TLS ex: Grilles de calcul

figure 1.1 – Classification simplifiée des systèmes informatiques

(25)

8

1.2. ARCHITECTURE CLIENT/SERVEUR

La figure 1.1 décrit la taxinomie simplifiée des systèmes informatiques qui existent actuellement. Cette classification se compose principalement de deux grandes familles des systèmes informatiques : les systèmes répartis et les systèmes centralisés. Aussi, les systèmes répartis se divisent à leur tour en deux importantes familles : les systèmes P2P et les architectures client/serveur. Dans ce mémoire de thèse, nous allons nous beaucoup plus focaliser sur les systèmes distribués, plus particulièrement sur les systèmes P2P - mis en exergue sur la figure 1.1 par l’encadré verdâtre. Fort du potentiel qui caractérise leur architecture, les systèmes P2P constituent en effet la pierre angulaire de nos travaux.

Nous allons faire, dans les deux premières sections suivantes, un petit rappel sur l’architecture client/serveur et mener ensuite une étude descriptive du protocole P2P. Aussi, nous introduisons les éléments qui servent à comprendre les concepts qui seront étudiés dans la suite du document.

1.2

Architecture client/serveur

Client Serveur requ ˆete r´eponse r´eponse requ ˆete requ ˆete requˆete r´eponse r´eponse conne xion conne xion conne xion conne xion

figure 1.2 – Modèle client/serveur : cas de quatre clients

L’architecture client/serveur est un modèle constitué essentiellement de deux types d’entités : l’entité centrale et passive est appelée serveur et l’entité active est appelée client. Comme l’illustre la figure 1.2, le serveur offre un service aux clients et ceux-ci sollicitent le service proposé par le serveur selon le schéma suivant : connexionclient → requêteclient → réponseserveur → requêteclient. Le

modèle client/serveur est l’une des architectures les plus utilisées actuellement en dépit du fait qu’il soit notamment sensible aux pannes et inapte à passer à l’échelle. Aussi, comme le serveur concentre la coordination de toutes les activités du réseau, il y a un risque qu’il soit débordé des requêtes : lorsque cette saturation est intentionnelle, on parle alors de l’attaque DoS (Denial-of-Service) ou attaque par déni de service.

1.3

Systèmes pair-à-pair (P2P)

Dans cette section, nous étudions le système P2P et ses principales variantes ; nous procédons également à une analyse comparative portant sur les caractéristiques et/ou les performances des protocoles P2P existants.

(26)

1.3.1

Vue d’ensemble

Définition :

Un système pair-à-pair ou peer-to-peer (ou simplement P2P) est un réseau informa-tique constitué essentiellement d’une collection d’entités autonomes et homologues, appelées pairs. Tous les pairs du réseau jouent en effet les mêmes rôles : ils font, alternativement ou simultanément, office de client, de serveur et de relais (forwarder). De par son architecture distribuée, le protocole P2P se distingue donc d’avec le modèle client/serveur. Ce contraste permet aux systèmes P2P de combler beaucoup de limitations constatées sur l’architecture client/serveur.

Avantages :

L’architecture inhérente aux systèmes P2P leur procure des facultés permettant de satisfaire les propriétés suivantes : la résistance aux pannes, l’équilibrage de charge, l’auto-organisation, la disponibilité, le passage à l’échelle (i.e, l’absence des goulots d’étranglement dans le réseau), etc. Ces caractéristiques, renforcées par l’utilisation des tables de hachage distribuées (DHT), permettent aux systèmes P2P d’atteindre un niveau des performances rarement égalé par les autres formes de systèmes informatiques existants.

1.3.2

Variantes du système P2P

Nous étudions dans cette section quelques P2P familles du système et leurs spécificités concep-tuelles.

1.3.2.1

Réseaux P2P décentralisés & semi-décentralisés (ou hybrides)

figure 1.3 – Exemple d’une topologie P2P

totalement décentralisée

figure 1.4 – Exemple d’une topologie P2P

semi-décentralisée

Les systèmes P2P sont par définition des systèmes distribués. Il existe cependant deux principaux types de topologie P2P : la topologie totalement décentralisée, dont un exemple est représenté par la figure 1.3, et la topologie sémi-décentralisée, qui peut être illustrée par la figure 1.4. Dans le cas des systèmes semi-décentralisés, la topologie est organisée en communautés formées autour de nœuds spéciaux, appelés super pairs, qui coordonnent les activités des membres de leurs communautés (ex : N2N [28] et ELA VPN [31]). Contrairement à ces systèmes, les systèmes P2P totalement distribués n’assignent aucun rôle particulier à aucun pair spécial : les nœuds possèdent exactement le même stattut et donc les mêmes fonctionnalités (ex : Chord [4] et CLOAK [6, 32]). En outre, la topologie des protocoles P2P décentralisés est dépourvue de tout point critique dont le dysfonctionnement pourrait altérer tout le fonctionnement du système.

(27)

10

1.3. SYSTÈMES PAIR-À-PAIR (P2P)

1.3.2.2

Systèmes P2P recouvrant (overlay)

Définition :

Un système P2P recouvrant est un réseau P2P virtuel basé sur une topologie virtuelle et construite au-dessus d’une topologie réseau existante. En général, le réseau sous-jacent est un réseau IP. Les pairs d’un système P2P recouvrant sont unis par une relation d’adjacence logique. Tout en faisant en effet abstraction de la complexité du réseau sous-jacent, un nœud du réseau recouvrant peut communiquer avec un autre soit directement comme étant son voisin réel, soit via des nœuds relais du réseau recouvrant à l’aide d’un routage de proche en proche. Cependant, comme l’illustre la figure 1.5, il peut exister une asymétrie entre la topologie du réseau sous-jacent et la topologie virtuelle projetée sur le plan du réseau recouvrant.

mzs,gml,elzmg,mgf,,mezlegmze,gf

Topologie

virtuelle

Topologie

sous-jacente

figure 1.5 – Exemple d’une topologie des systèmes P2P recouvrants

Remarques :

L’utilisation des réseaux recouvrants n’exige pas le déploiement de nouveaux équipements ni la modification d’applications et protocoles existants. Un nœud du réseau de base n’est, de surcroît, sollicité que lorsque sa projection sur la topologie logique est assignée à un trafic, ce qui permet alors d’économiser des ressources (bande passante, temps CPU, mémoire, etc). Cependant, l’ajout d’une couche réseau supplémentaire aboutirait forcément à l’utilisation de nouveaux en-têtes additionnels, ce qui augmente donc mécaniquement la complexité du traitement et du routage.

1.3.2.3

Systèmes P2P non-structurés

Les protocoles P2P non-structurés sont des systèmes P2P ad hoc qui utilisent la diffusion à des fins de découverte de pairs et/ou de ressources. Les performances du routage de ces protocoles sont donc tributaires du TTL (Time-To-Live) qui possède une valeur bornée. L’utilisation du TTL permet ainsi d’éviter que les paquets ne circulent indéfiniment dans le réseau. Cependant, la technique basée sur le TTL empêche les systèmes non-structurés de passer à l’échelle. Le principe de découverte de pair utilisé généralement est le suivant : initialement, chaque pair contacte ses voisins et rapatrie leurs tables de routage, ensuite il répète le même processus avec les pairs nouvellement découverts et ainsi de suite. Ainsi, de proche en proche, les pairs parviennent à se découvrir mutuellement par inondation (flooding). Typiquement, les systèmes P2P non-structurés sont organisés de façon anarchiquement indéterministe, la topologie qui en résulte est donc un graphe aléatoire. Le tableau 1.3 compare les caractéristiques de trois protocoles P2P qui font partie des systèmes P2P non-structurés les plus populaires.

(28)

tableau 1.3 – Comparatif de systèmes P2P non-structurés

Caractéristiques Systèmes P2P non-structurés

FastTrack(KaZaA) [33] Freenet [8] Gnutella [34]

Paramètres TTL ; na TTL ; n TTL

Performance du routage < TTL < TTL < TTL

Taille de la table du routage O(log n) O(log n) O(1)

Coût d’insertion/suppression O(log n) O(log n) O(1)

aNombre d’hôtes dans le réseau

1.3.2.4

Systèmes P2P structurés

Les systèmes P2P structurés sont des systèmes P2P basés fondamentalement sur les Tables de Hachage Distribuées (Distributed Hash Tables ou DHT). Les tables de hachage distribuées, dont les entrées sont constituées des correspondances entre les clés et les valeurs, permettent d’indexer les ressources sur le réseau ; elles sont réparties, de façon redondante, sur plusieurs pairs du réseau. La redondance permet en effet d’éviter la perte de données consécutive au départ ou aux défaillances de certains nœuds. Contrairement à la technique précédente basée sur l’inondation, la recherche sur les réseaux P2P structurés est efficace et elle s’opère, pour la plupart de ces systèmes, en temps logarithmique (O(log n)). L’approche permet en effet de répartir une table de hachage sur plusieurs nœuds dont chacun s’occupe d’un sous-ensemble redondant de l’annuaire des ressources (DHT). Le mécanisme de partitionnement de l’espace d’adressage permet de segmenter l’annuaire en sous-espaces de nommage dont chacun est désigné par un préfixe de sous-ensemble de clés.

R´eseau P2P structur´e

Sous-espace de nommage : ABC

cl´e ressource

f h(R1)→ ABC701 R1

f h(R2)→ ABC986 R2

f h(R3)→ ABCB12 R3

Sous-espace de nommage: DEF

cl´e ressource f h(R4)→ DEFA20 R4 f h(R5)→ DEFD86 R5 Sous-espace de nommage: 123 cl´e ressource f h(R6)→ 123EF8 R6 Sous-espace de nommage: 456 cl´e ressource f h(R7)→ 456AD4 R7 f h(R8)→ 456F2D R8

pairs

fh: fonction de hachage

figure 1.6 – Représentation simplifiée d’un réseau structuré

Les DHTs permettent une indexation efficace des ressources réparties sur les nœuds du réseau ; chaque nœud/ressource est identifié(e) de façon unique par un identifiant global qui lui est assigné à son arrivée sur le réseau. L’invocation d’une ressource stockée sur un réseau DHT (lookup),

(29)

12

1.4. NOTIONS CRYPTOGRAPHIQUES

comprenant n nœuds, s’effectue en général en temps O(log n). Par ailleurs, les opérations de base sur une DHT sont : ajouter(clé, ressource), extraire(clé) → ressource et supprimer(clé). La valeur de la clé est une donnée retournée par une fonction de hachage qui prend en argument le nom de la ressource à publier. La figure 1.6 illustre de façon simplifiée la répartition des tables de hachage sur les nœuds du réseau.

Les procédés de nommage introduits par les systèmes DHT résolvent définitivement les problèmes de passage à l’échelle qui, faut-il le rappeler, sont intrinsèques aux architectures de systèmes P2P non-structurés. Le tableau 5.9 dresse un comparatif technique de quelques systèmes P2P structurés que nous estimons à la fois notables et intéressants.

tableau 1.4 – Comparatif de quelques systèmes DHT avec CLOAK

Caractéristiques Systèmes DHT

CAN [1] Chord [4] CLOAK [35, 36] Kademlia [10] Pastry[2] Viceroy[9]

Paramètre(s) da, nb n n n n n

Nombre de sauts O(dn) O(log n) O(log n) O(log n) O(log n) O(log n) Taille table du r. O(d) O(log n) O(1)c O(log n) O(log n) O(1) Insert./supp. O(d) O(log2n) O(1) ou O(n) O(log n) O(log n) O(log n) Espace d’adress. tore multid. circulaire p. hyperbolique arborescente circulaire papillon aDimension du plan considéré

bNombre d’hôtes dans le réseau c

Routage glouton basé sur les distances virtuelles hyperboliques

1.4

Notions cryptographiques

1.4.1

Définition des concepts de sécurité

1.4.1.1

Attributs de sécurité

Les attributs de base de la sécurité informatique sont succintement décrits dans les points suivants.

1. Intégrité. L’intrégrité de données permet de s’assurer si les données reçues n’ont été altérées durant leur transport. L’algorithme MAC(Message Authentication Code), basé sur MD5 ou SHA, implémente cette fonctionnalité.

2. Authentification. L’authentification est un mécanisme permettant d’identifier une entité réseau qui peut être un processus, un utilisateur ou un équipement. L’authentification permet en effet de garantir qu’une entité est bel bien ce qu’elle prétend être.

3. Confidentialité. La confidentialité est un procédé cryptographique servant à rendre un message inintelligible aux personnes non autorisées. Le module ESP (Encapsuling Security Payload) de IPSec est un exemple d’implémentation de la confidentialité.

4. Non-répudiation. La non-répudiation est un procédé permettant de garantir qu’une transaction approuvée et effectuée par des partenaires ne peut être remise en cause par l’une des parties.

(30)

1.4.1.2

Chiffrement / Déchiffrement

Afin d’assurer la confidentialité d’un message ou l’extraction du message original à partir d’un message confidentiel, l’utilisation de deux opérations fondamentales suivantes est réquise :

— Chiffrement. Le chiffrement est une opération cryptographique qui consiste de prendre en entrée un texte en clair et de produire en sortie un texte chiffré :

chiffrement (clé, texte en clair) → texte chiffré.

En d’autres termes, le chiffrement consiste à rendre inintelligible des données aux entités tierces.

— Déchiffrement. Le déchiffrement est une opération réciproque de chiffrement : il permet en effet d’extraire un texte en clair à partir d’un texte chiffré donné en entrée :

déchiffrement (clé, texte chiffré) → texte en clair.

1.4.1.3

Cryptographie symétrique et asymétrique

Il existe principalement deux types de cryptographie servant à chiffrer et déchiffrer les messages : — Cryptographie symétrique. La cryptographie symétrique est une technique permettant

d’utiliser la même clé cryptographique kspour chiffrer et déchiffrer :

chiffrer (ks, texte en clair) / déchiffrer (ks, texte chiffré).

L’algorithme AES est actuellement l’algorithme symétrique le plus utilisé et le plus robuste qui existe.

— Cryptographie asymétrique. La cryptographie asymétrique consiste à utiliser un couple de clés (ks, kp) dont kp sert à chiffrer et ks permet de déchiffrer :

chiffrer (kp, texte en clair) / déchiffrer (ks, texte chiffré).

De nos jours, l’algorithme RSA est l’un des algorithmes asymétriques les plus populaires et les plus puissants.

1.4.1.4

Clé privée / clé publique

La cryptographie asymétrique utilise un couple de clés pour les opérations de chiffrement et de déchiffrement ; cette paire de clés est constituée de :

— Clé privée. Une clé privée est une clé utilisée dans le cadre de la cryptographie asymétrique afin de déchiffrer et/ou de signer des messages ; elle n’est pas publiée et n’est connue que de son propriétaire.

— Clé publique. Une clé publique est une clé utilisée dans le cadre de la cryptographie asymétrique et qui sert à chiffrer et/ou à vérifier les signatures ; elle est accessible à tous les correspondants potentiels du détenteur de la clé privée associée. La propriété de la clé publique est telle qu’il serait impossible d’en déduire la clé privée correspondante.

1.4.1.5

Certificat / Signature

Afin de garantir l’authenticité de la clé publique d’une entité ou l’authenticité d’un message transmis sur le réseau, les mécanismes suivants sont proposés :

— Certificat numérique. Un certificat numérique permet de vérifier l’apartenance d’une clé publique. Typiquement, un certificat est constitué d’une clé publique ayant motivé sa création, des informations sur son propriétaire (nom, adresse, mail, organisme d’affiliation, ...), des signatures des entités réseau reconnaissant son authenticité ainsi que des infor-mations additionnelles (date de création, date d’expiration, ...). L’étape de la vérification de l’authenticité d’une clé publique est cruciale dans le processus de la sécurisation d’une

(31)

14

1.4. NOTIONS CRYPTOGRAPHIQUES

transaction.

— Signature numérique. La signature numérique est un condensé cryptographique permet-tant de s’assurer de l’authenticité d’un message ; elle garantit qu’aucune modification ne peut être opérée sur un message sans que le destinataire ne s’en aperçoive.

1.4.1.6

Infrastructure à clés publiques (Public Key Infrastructure ou PKI)

Définition :

Une PKI est un dispositif cryptographique permettant de faire correspondre, à l’aide d’une authorité de certification (CA), les utilisateurs aux clés publiques qui leur sont associées. Aussi, la PKI assure toutes les opérations relatives à la gestion des certificats : génération des certificats, publication des certificats, révocation des certificats, recouvrement des certificats, stockage des certificats, etc.

Motivations :

L’authentication des paramètres cryptographiques et des utilisateurs est un élément fondamental dans la sécurisation d’une communication. Ainsi, la nécessité d’avoir un arbitrage central s’est vite avéré indispensable. Afin d’éviter des attaques par usurpation d’identité qui sévissent sur Internet, la PKI a été en effet proposée et investie d’une mission qui consiste notamment à garantir l’authenticité des données cryptographiques. Il est à noter que les transactions bancaires et autres trafics critiques sur Internet sont pour la plupart effectués à l’aide d’une PKI.

1.4.2

Échange de clés Diffie-Hellman et ses dérivés

Le protocole Diffie-Hellman [37] est l’un des premiers algorithmes cryptographiques qui avaient jeté la base de la politique d’échange de clés. Le mécanisme d’échange de clé proposé par cet algorithme est d’autant plus intéressant qu’il est utilisé dans beaucoup de protocoles de sécurité utilisés actuellement tels que SSH, SSL et IPSec. Le procédé Diffie-Hellman est en effet un algorithme asymétrique basé sur le Problème du Logarithme Discret(PLD) et qui consiste à déterminer une clé commune dérivée des clés privées respectives de deux correspondants et d’un certain nombre d’informations publiques.

Fondement algorithmique :

L’algorithme 1 décrit le mécanisme d’échande de clés proposé par Diffie et Hellman.

Algorithme 1 :

Échange de clés Diffie-Hellman paramètres publics : p : un nombre premier g : un générateur paramètres secrets : Alice : clé secrète sa Bob : clé secrète sb

1. Alice sélectionne un nombre aléatoire sa et calcule Ka = gsa(mod p) ;

2. Alice envoie ensuite Ka à Bob ;

3. Bob reçoit Ka de Alice ;

4. Bob choisit un nombre aléatoire sb et calcule Kb = gsb(mod p) ;

5. Bob envoie ensuite Kb à Alice ;

6. Alice reçoit Kb envoyé par Bob ;

7. Alice calcule finalement K = Kbsa= gsa·sb(mod p) ;

(32)

Fondement mathématique :

Soit un groupe fini (G, ⊗) noté multiplicativement, d’ordre ω et de cardinalité k. S’il existe g ∈ G tel que ∀e ∈ G, e = gn

, où n ∈ N∗, alors G est dit groupe cyclique et g est appelé un générateur de G.

La robustesse du procédé Diffie-Hellman (DH) s’appuie sur l’utilisation du logarithme discret dans le groupe multiplicatif Z/pZ∗, avec p un nombre premier assez grand [38]. Formellement, soit v un entier donné, calculer l’entier 1 ≤ u ≤ ω − 1 tel que gu= g ⊗ ... ⊗ g

| {z }

u termes

= v est un problème très

difficile à résoudre actuellement, surtout lorsque u et v sont suffisamment grands. L’utilisation des nombres premiers de taille supérieure à 1024 bits est recommandée, faute de quoi les attaques par recherche exhaustive ou par l’algorithme de Silver-Pohlig-Hellman [39] sont à redouter. Cependant, il n’existe pas, en effet, à ce jour une solution polynomiale pour calculer u et v à partir des informations publiques (g, p, gu, gv).

Techniquement, le problème Calculatoire de Diffie-Hellman (CDH) repose sur la difficulté de calculer gu.và partir de la connaissance de guet gv. Le problème CDH peut-être réduit au problème DH et donc au problème PLD[40]. Cependant, la difficulté réside toujours au niveau du problème PLD.

Étant donnés v1, v2et v3, le problème Décisionnel de Diffie-Hellman (DDH) consiste à répondre

par oui ou non s’ils s’écrivent sous les formes respectives : v1= gu1, v2= gu2 et v3= gu1.u2, avec u1et u2 quelconques. Le problème DDH est réductible au problème CDH.

Vulnérabilité :

1. Attaques actives :

— L’absence de l’authentification de la clé publique crée une faille de sécurité qui peut être exploitée par une attaque HDM ;

— L’attaque par rejeu est possible et peut-être exécutée pour la même raison.

2. Attaques passives :

— Lorsque les entiers ne sont pas assez grands, il existe une vulnérabilité inhérente au Problème du Logarithme Discret mise en évidence par Silver-Pohlig-Hellman [39] ; — Le risque d’une attaque par recherche exhaustive est aussi élevé lorsque la taille des

entiers choisis est faible ;

— L’écoute du canal de transmission est possible car la négociation est en clair.

1.4.3

Secret réparti

1.4.3.1

Secret fractionné en n composantes (σ

1

, ..., σ

n

)

L’approche consiste à scinder un secret Σ = {0, 1}, où |Σ| = τ , en n morceaux σ1, ..., σn; chaque

sous-secret σi, où |σi| =, est ensuite stocké/envoyé séparément. La récomposition ultérieure de Σ

requerra la réunion de tous les sous-secrets σi.

Point faible :

Cette subdivision n’est pas efficace car elle permet de réduire, pour un dépositaire de α sous-secrets, la difficulté d’exécuter une attaque par force brute en τ − αnτ, soit τ (n−α)n .

1.4.3.2

Schéma à seuil (k, n)

Définition :

Le schéma à seuil (k, n), où k ≤ n, inventé par Shamir en 1979 [41], consiste à subdiviser une donnée ∆ en n sous-données ∆1, ..., ∆n telles que celles-ci satisfassent les deux

conditions suivantes :

— la connaissance d’au moins k données détermine ∆ : ∆ = ∆u⊕ ... ⊕ ∆v

| {z }

≥ k termes

;

— la connaissance d’au plus k − 1 données ne reconstitue pas ∆ : ∆ 6= ∆x⊕ ... ⊕ ∆y

| {z }

< k termes

(33)

16

1.5. MOBILITÉ : PRINCIPE ET ÉTUDE CONCEPTUELLE DE QUELQUES PROTOCOLES

La méthode proposée s’appuie sur l’interpolation L’interpolation de Lagrange.

Motivations :

La segmentation d’une donnée cryptographique en plusieurs sous-données dis-séminées à travers des entités séparées empêche, par exemple, aux entités isolées de procéder à une opération sensible : il faut réunir un quorum avant de pouvoir exécuter l’opération. Aussi, la perte de π sous-données, avec n − π ≥ k, due aux défaillances de routage, par exemple, n’a pas d’incidence dans le calcul de la donnée principale.

1.4.4

Réseau Privé Virtuel ou Virtual Private Network (VPN)

Un Réseau Privé Virtuel ou VPN est un concept abstrait qui relie des sites distants, séparés par un réseau potentiellement infesté par des entités malveillantes - Internet, par exemple -, à l’aide des tunnels de sécurité (voir la figure 1.7). La sécurisation des données circulant entre des sites distants est réalisée par le biais du module appelé protocole de tunnelisation. Basé sur des algorithmes cryptographiques et la communication point-à-point, le protocole de tunnelisation fournit généralement aux extrémités d’un tunnel de sécurité des services comme la confidentialité, l’intégrité de données et l’authentification des correspondants.

Internet

Tunnel

Site A Site B

figure 1.7 – Système VPN traditionnel

Il existe une extension du système VPN appelée Réseau Privé Virtuel Mobile ou Mobile Virtual Private Network (MVPN). Contrairement aux tunnels proposés par l’infrastructure VPN traditionnelle qui sont basés sur des extrémités ayant des adresses IP fixes, les tunnels du système MVPN sont flexibles et supportent le changement de configuration réseau sans avoir recours à une renégociation pour leur restauration : les tunnels sont maintenus actifs lorsque des perturbations se produisent sur le réseau. Cette aptitude permet en effet aux tunnels de sécurité de survivre à l’itinérance de leurs extrémités mobiles. Le chapitre 2 décrit amplement les techniques utilisées par les différents systèmes VPN mobiles existants afin de leur permettre de concilier la mobilité et la sécurité.

1.5

Mobilité : principe et étude conceptuelle de quelques

protocoles

La mobilité peut être définie comme une technique permettant aux entités de changer de configuration ou de gérer les perturbations réseau de façon transparente aux couches supérieures et aux entités avec lesquelles des sessions de communication ont été déjà établies. Il existe beaucoup de protocoles qui proposent une implémentation de la mobilité ; dans cette section, nous allons brièvement étudier quelques-uns.

(34)

Mobile IP

Le Mobile IP [42] est un protocole standard défini par l’IETF. Techniquement, le dispositif Mobile IP est une infrastructure complexe constituée de quatre entités principales : le Home Agent (HA), le Foreign Agent (FA), le nœud itinérant ou Mobile Node (MN) et le Correspondent Node (CN). Le HA permet d’intercepter les paquets en provenance du réseau local envoyés par CN et à destination de NM (les messages¸ et ¹ de la figure 1.8). Il route ensuite les paquets interceptés vers MN en se servant de l’adresse IP, appelée Care-of-address (CoF), acquise par celui-ci sur le réseau visité. Le HA tient en effet à jour une table de correspondance entre les adresses fixes et les CoF lui permettant de s’assurer de la validité de l’emplacement du MN. Ce mécanisme de routage triangulaire permet de rendre tranparents les changements de réseau opérés par un MN et offre ainsi au MN la possibilité d’être constamment en contact avec son CN distant (voir l’échangeº). De son côté, le FA est chargé d’enregistrer, auprès de leur HA, les informations réseau relatives aux nœuds itiérants qui visitent son réseau (voir les requêtes ¶ et ·). La figure 1.8 illustre en effet la séquence de messages nécessaire pour la gestion de la mobilité proposée par Mobile IP.

Il faut préciser en outre que le protocole Mobile IPv6, correspondant à l’implémentation du protocole pour la version 6 de IP, est conceptuellement un peu différent du Mobile IPv4, mais il suit cependant les mêmes principes énoncés précédemment.

MN FA HA CN Internet 1 2 3 4 5 Intranet Réseau extérieur

figure 1.8 – Architecture du protocole Mobile IP

Protocole SCTP

Le Stream Control Transmission Protocol (SCTP) est un protocole unicast permettant de supporter le multi-homing à des fins de redondance [43]. L’utilisation de ce mécanisme permet au protocole SCTP de mieux être résistant aux pannes ; des chemins alternatifs sont en effet utilisés pour remplacer les chemins défectueux dans une transmission. Ainsi, la session établie entre deux utilisateurs survit lorsque certaines liaisons sont hors service. Typiquement, chaque extrémité d’un canal de communication maintient une table de correspondance entre les adresses source et les adresses destination qui, à leur tour, sont associées à un même numéro de port. Lorsqu’une liaison de transmission tombe en panne alors la communication est automatiquement basculée sur un autre canal.

(35)

18

1.6. CONCLUSION

Protocole SIP

L’utilisation de Session Initiation Protocol (SIP) est très répandue sur la VoIP (Voix sur IP) [44]. Nous renvoyons le lecteur au chapitre 2 pour plus de détails sur ce protocole.

Système HIP

Une étude détaillée du protocole HIP (Host Identity Protocol) [29] est proposée dans le chapitre 2. Nous invitons le lecteur à s’y référer pour une description plus en détails de ce protocole.

1.6

Conclusion

Dans ce chapitre, nous avons mené une étude préalable des concepts qui serviront de base dans la suite du document et, plus particulièrement, dans la description de notre architecture. Les notions cryptographiques passées en revue jettent la base d’une compréhension ultérieure de notre modèle d’échange de clés et des systèmes existants qui seront abordés à la suite de la partie I. L’accent particulier a été mis sur le protocole Diffie-Hellman et le schéma à seuil (k, n) qui constituent, par ailleurs, les pivots autour desquels gravite notre modèle distribué d’échange de clés. Aussi, l’étude analytique du système P2P et de ses variantes permet de mieux appréhender l’environnement dans lequel notre infrastructure est destinée à opérer. En outre, nous avons aussi analysé quelques protocoles standards qui présentent des mécanismes intéressants de gestion de mobilité.

(36)

Systèmes VPN mobiles

Sommaire

2.1 Systèmes VPN mobiles basés sur les protocoles p2p . . . . 19 2.2 VPN mobiles nés de la combinaison IPSec + Mobile IP . . . . 21 2.3 Protocole HIP (Host Identity Protocol) . . . . 21 2.4 VPN mobiles basés sur l’extension du protocole SIP . . . . 22 2.5 VPN mobiles basés sur l’extension de SSH, SSL ou TLS . . . . 24 2.6 Autres modèles de systèmes VPN mobiles . . . . 24 2.7 Étude comparative de systèmes VPN mobiles . . . . 24 2.8 Conclusion . . . . 26 De nos jours, la flexibilité fournie par la connectivité sans fil et les avantages procurés par des procédés liés à l’utilisation des équipements/environnements mobiles/dynamiques suscitent un intérêt sans précédent ; l’expansion récente de réseaux ad hoc, réseaux P2P et divers équipements et mécanismes mobiles intensifie davantage cet élan d’enthousiasme. Cependant, la connectivité élevée, l’itinérance et/ou la mobilité pourraient être source de diverses intrusions et attaques. Ces dernières sont d’autant plus préoccupantes que les systèmes VPN traditionnels échouent à s’opérer efficacement dans un environnement mobile/dynamique. En effet, dans les systèmes VPN conventionnels, le changement de réseau - ou d’adresse IP - implique une renégociation systématique de clés afin d’établir de nouveaux tunnels de sécurité en lieu et place de tunnels rompus consécutivement à l’acquisition d’une nouvelle adresse IP ou à une perturbation réseau.

Pendant les phases de négociation et de renégociation de clés cryptographiques que les systèmes sont le plus vulnérables : interception des échanges, attaques par HDM, attaques par rejeu, etc. Il va sans dire aussi que les renégociations engendrent une latence dans la reprise de communication. Afin de pallier à ces difficultés, des systèmes VPN mobiles ont été proposés ; ces systèmes ont la faculté de tenir, de façon transparente, actifs les tunnels de sécurité lors de changement de configuration réseau ou pendant un dérèglement qui affecte le réseau. Au cours de ce chapitre, nous allons étudier les différents systèmes VPN mobiles existants tout en nous focalisant sur leurs spécificités techniques et conceptuelles.

2.1

Systèmes VPN mobiles basés sur les protocoles p2p

En général, les systèmes P2P évoluent dans des environnements dynamiques dans lesquels la topologie du réseau change perpétuellement : changement dû au départ/arrivée fréquent de pairs qui constituent le réseau. La mise en œuvre de la sécurité dans ces systèmes devrait prendre en compte cette caractéristique qui leur est intrinsèque. Dans cette section, nous allons étudier quelques

Références

Documents relatifs

Afin de pr´esenter les diff´erents travaux que nous avons conduits dans le cadre de la supervision des r´eseaux et services P2P, nous avons organis´e ce manuscrit en trois

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

©WP CES 2007.47 - Premiers pas en régression linéaire avec SAS- Confais Le Guen - 127 Options RIDGE et PCOMIT des instructions PROC REG ou MODEL. On peut effectuer une

L’exploitation dispose de surface fourragères en culture pour avoir des fibres (pour le pâturage et / ou le fourrage) pour la consommation des animaux (notion de cellule

This is the case, for example, for the integrated depth [8], the (modified) band depth [9], the (modified) half region depth [10], the integrated dual depth [11], the

Whereas, our current work is based on the explicit notion of the extended constraint, i.e., a combination of timing-, functional causality-, ERT behavior constraints, as well as

Le second chapitre expose la méthode de trajectoire centrale pour la pro- grammation linéaire .Dans ce chapitre, nous proposons d’une part la présentation de la méthode classique et

ﻪﺗﻮﻬﺘﺳا يﺬﻟا بﺎﺒﺸﻟا تﺎﺌﻓ ﲔﺑ ﺔﺻﺎﺧ ®¦ǂǧȋ¦śƥDzǏ¦ȂƬdz¦Â¾Ƣǐƫȏ¦ƨdzȂȀLJÂƢē¦ǂƯƚŭƢȈƳȂdzȂǼǰƬdz¦ǽǀǿ  فﺮﻏ لﻼﺧ ﻦﻣ تﺎﻓﺎﺴﳌا ﺖﻟﺎﻃ نإو ﱴﺣ ﺪﻟا ﺎﻴﺟﻮﻟﻮﻨﻜﺘﻟا ﻩﺬﻫ لﻼﺧ ﻦﻣو