Vous êtes sur la page 1sur 91

SOMMAIRE

INTRODUCTION GENERALE....................................................................................................................7
CHAPITRE I: INTRODUCTION AUX VPN...................................................................................................8
1. Introduction................................................................................................................................8
2. Principe de fonctionnement.......................................................................................................8
2.1. Définition et concept..........................................................................................................8
2.2. Services fondamentaux d'un VPN.......................................................................................9
2.3. Catégories des VPN.............................................................................................................9
3. Protocoles de tunneling............................................................................................................12
3.1. PPP (Point to Point Protocol)............................................................................................12
3.2. Le protocole PPTP.............................................................................................................15
3.3. Le protocole L2TP.............................................................................................................16
3.4. Le protocole IPSEC............................................................................................................17
3.5. Le protocole SSL................................................................................................................22
3. Conclusion................................................................................................................................26
CHAPITRE II: INTRODUCTION A LA CRYPTOGRAPHIE............................................................................27
1. Introduction..............................................................................................................................27
2. Historique.................................................................................................................................33
2.1. Le chiffre de César............................................................................................................33
2.2. La machine Enigma...........................................................................................................34
2.3. Le chiffre du Che...............................................................................................................35
3. La cryptographie.......................................................................................................................36
3.1. Chiffrement et déchiffrement...........................................................................................36
3.2. La cryptographie forte......................................................................................................37
3.3. Fonctionnement de la cryptographie...............................................................................37
3.4. Cryptographie symétrique................................................................................................37
3.5. Cryptographie asymétrique..............................................................................................38
3.6. Cryptographie hybride......................................................................................................39
3.7. Les clés..............................................................................................................................41
3.8. Signature numérique........................................................................................................42
3.9. Fonction de hachage.........................................................................................................43
3.10. Certificats numériques..................................................................................................44

Rapport P.F.E Page 1


3.11. Cryptanalyse.................................................................................................................45
4. Les algorithmes de cryptographie............................................................................................46
4.1. Les algorithmes de cryptographie symétriques................................................................46
4.1.1. DES............................................................................................................................46
4.1.2. 3DES..........................................................................................................................47
4.1.3. AES............................................................................................................................47
4.1.4. Blowfish....................................................................................................................48
4.2. Les algorithmes de cryptographie asymétriques..............................................................48
4.2.1. RSA............................................................................................................................48
5. Cryptographie sur les courbes elliptiques.................................................................................49
6. Cryptographie Quantique.........................................................................................................49
7. Domaines d’application............................................................................................................51
8. Tableau comparatif...................................................................................................................53
9. Conclusion................................................................................................................................54
CHAPITRE III : MISE EN PLACE DE LA PLATEFORME.............................................................................56
1. Introduction..............................................................................................................................56
2. Mise en place de la maquette...................................................................................................56
2.1. Schéma de principe..........................................................................................................56
2.2. Configuration de PFSENSE................................................................................................57
2.2.1. Configuration de Master PFSENSE............................................................................57
2.2.2. Configuration de Slave PFSENSE...............................................................................62
3. Mise en place des serveurs VPN IPSEC.....................................................................................64
3.1. Master PFSENSE................................................................................................................64
3.2. Slave PFSENSE...................................................................................................................66
3.3. Test du tunnel IPSEC.........................................................................................................66
4. Mesures et interprétations.......................................................................................................69
4.1. Mesures............................................................................................................................69
4.1.1. Scénario 1 : Sans VPN IPSEC......................................................................................71
4.1.2. Scénario 2 : avec VPN IPSEC « DES ».........................................................................72
4.1.3. Scénario 3 : Avec VPN IPSEC « 3DES ».......................................................................73
4.1.4. Scénario 4 : Avec VPN IPSEC « AES-256 ».................................................................74
4.1.5. Scénario 5 : Avec VPN IPSEC « Blowfish ».................................................................75
4.2. Récapitulation...................................................................................................................76
5. Conclusion................................................................................................................................76

Rapport P.F.E Page 2


CONCLUSION GENERALE......................................................................................................................77
BIBLIOGRAPHIE.....................................................................................................................................78
WEBOGRAPHIE.....................................................................................................................................79
ANNEXE: INSTALLATION DE « PFSENSE ».............................................................................................81

Rapport P.F.E Page 3


LISTE DES FIGURES

Figure 1: VPN d’accès.............................................................................................................................9


Figure 2: VPN intranet..........................................................................................................................11
Figure 3: VPN extranet.........................................................................................................................12
Figure 4: Trame PPP.............................................................................................................................13
Figure 5: Protocole PPTP......................................................................................................................15
Figure 6: Tunnel L2TP...........................................................................................................................16
Figure 7: Fonctionnement du protocole IPSEC....................................................................................19
Figure 8: Protocole AH..........................................................................................................................21
Figure 10: Fonctionnement du protocole SSL.......................................................................................24
Figure 11: Fonctionnement de la machine ENIGMA.............................................................................34
Figure 12: Chiffrement et déchiffrement..............................................................................................36
Figure 13: Cryptographie symétrique (clé privée)................................................................................38
Figure 14: Cryptographie asymétrique (clé public)...............................................................................39
Figure 15: Processus du chiffrement PGP.............................................................................................40
Figure 16: Processus du déchiffrement PGP.........................................................................................40
Figure 17: Signature numérique simple................................................................................................42
Figure 18: Signature numérique sécurisées..........................................................................................44
Figure 19: Graphe de cassage de l'algorithme RSA...............................................................................54
Figure 20: Schéma de principe.............................................................................................................56
Figure 21: Interface PFSENSE...............................................................................................................57
Figure 22: Accès à l’interface WAN......................................................................................................58
Figure 23: Configuration de l’interface WAN MASTER.........................................................................59
Figure 25: Configuration de l’interface LAN Master.............................................................................59
Figure 26: Table de routage «PFSENSE  Master ».................................................................................60
Figure 27: Configuration du firewall Master.........................................................................................61
Figure 28: Configuration de l’interface WAN Slave..............................................................................62
Figure 29: Configuration de l’interface LAN Slave................................................................................63
Figure 30: Table de routage «PFSENSE  Slave».....................................................................................63
Figure 31: Ajout d’un tunnel IPSEC.......................................................................................................64

Rapport P.F.E Page 4


Figure 32: Configuration IPSEC-Master................................................................................................65
Figure 33: Configuration du FIREWALL IPSEC.......................................................................................66
Figure 34: SPD MASTER........................................................................................................................67
Figure 35: SPD SLAVE............................................................................................................................67
Figure 36: SAD......................................................................................................................................68
Figure 37: Statut IPSEC MASTER...........................................................................................................68
Figure 38: Statut IPSEC SLAVE..............................................................................................................68
Figure 39: Mesure sans VPN IPSEC.......................................................................................................71
Figure 40: Mesure avec VPN IPSEC « DES »..........................................................................................72
Figure 41: Mesure VPN IPSEC « 3DES »................................................................................................73
Figure 42: Mesure VPN IPSEC « AES-256 »...........................................................................................74
Figure 43: Mesure VPN IPSEC « Blowfish »...........................................................................................75

Rapport P.F.E Page 5


LISTE DES TABLEAUX

Tableau 1: Comparaison des algorithmes de chiffrement....................................................................53


Tableau 2: Comparaison des mesures..................................................................................................76

Rapport P.F.E Page 6


INTRODUCTION GENERALE

La cryptographie, c'est la science du chiffrement et du déchiffrement d'informations,


dans le but de les rendre illisibles par des non initiés. Cependant, le chiffrement est toujours
déchiffrable et la durée de vie de la confidentialité dépendra de l'investissement sur la force
du chiffrement.
En informatique, c'est la base de tout échange sécurisé. La notion de sécurité inclut
non seulement l'aspect confidentiel, mais également l'authentification des partenaires. C'est
une science très hautement mathématique et nous n'aborderons pas cet aspect dans le
présent travail, Nous verrons plutôt comment mettre en œuvre de tels procédés et dans quel
cadre les utiliser, car la cryptographie n'est finalement qu'une fonctionnalité. Elle peut être
appliquée à peu près à tous les niveaux du modèle OSI, principalement au niveau IP (avec
par exemple IPSEC) et au niveau des applications. Les principaux protocoles de haut niveau
(HTTP, FTP, POP, IMAP...) peuvent recourir à la cryptographie. Il y a également SSH, le
SHELL distant sécurisé, qui permet, entre autres, de disposer d'un terminal distant, un peu
comme TELNET, mais avec plus de sécurité. Une application des plus intéressantes dans le
domaine des réseaux est certainement la réalisation d'un tunnel sécurisé. Un tel procédé
permet l'établissement d'un "réseau privé virtuel" (VPN) à travers un réseau de faible
sécurité, comme l'internet, en créant une liaison point à point entre deux hôtes. La
cryptographie intervient pour sécuriser cette liaison, pour la rendre "étanche". Plusieurs
travaux ont été entrepris dans le contexte des VPN.
Dans le cadre de ce projet de fin d’étude, nous allons effectuer une étude comparative de
différents algorithmes de chiffrement par rapport a l’OVERHEAD. Cette étude se fera dans le
contexte de VPN.
Ce travail comprend trois grands volets :
Le premier est d’ordre théorique dans lequel nous allons présenter les grandes
généralités liées aux VPN, y compris les services fondamentaux d’un VPN, catégories des
VPN et les protocoles utilisés pour une connexion VPN.
Le deuxième volet nous allons présenter des généralités liées à la cryptographie y
compris les différents types d’algorithmes de cryptographie et leurs domaines d’applications.

Rapport P.F.E Page 7


Le troisième volet est dédié à l’installation et la mise en œuvre de PFSENSE, à la
création d’une liaison VPN et à l’étude comparative des différents algorithmes de
chiffrement.
Enfin nous allons terminer par une conclusion générale.

CHAPITRE I: INTRODUCTION AUX VPN

1. Introduction
Les applications et les systèmes distribués font de plus en plus partie intégrante du
paysage d'un grand nombre d'entreprises. Ces technologies ont pu se développer grâce aux
performances toujours plus importantes des réseaux locaux. Mais le succès de ces
applications a fait aussi apparaître un de leur écueil. En effet si les applications distribuées
deviennent le principal outil du système d'information de l'entreprise, comment assurer leur
accès sécurisé au sein de structures parfois réparties sur de grandes distances
géographiques et comment une succursale d'une entreprise peut-elle accéder aux données
situées sur un serveur de la maison mère distant de plusieurs milliers de kilomètres ? Les
VPN ont commencé à être mis en place pour répondre à ce type de problématique. Mais
d'autres problématiques sont apparues et les VPN ont aujourd'hui pris une place importante
dans les réseaux informatique et l'informatique distribuées. Nous verrons ici quelles sont les
principales caractéristiques des VPN à travers un certain nombre d'utilisation type.

2. Principe de fonctionnement 

2.1. Définition et concept  

Un réseau VPN repose sur un protocole appelé "protocole de tunneling". Un concept


de tunneling permet de faire circuler les informations de l'entreprise de façon cryptée d'un
bout à l'autre du tunnel. Ainsi, les utilisateurs ont l'impression de se connecter directement
sur le réseau de leur entreprise. 
Le principe de tunneling consiste à construire un chemin virtuel après avoir identifié
l'émetteur et le destinataire. Par la suite, la source chiffre les données et les achemine en
empruntant Ce chemin virtuel. Afin d'assurer un accès aisé et peu coûteux aux intranets ou
aux extranets d'entreprise, les réseaux privés virtuels d'accès simulent un réseau privé, alors
qu'ils utilisent en réalité une infrastructure d'accès partagée, comme Internet.

Rapport P.F.E Page 8


Les données à transmettre peuvent être prises en charge par un protocole différent d'IP.
Dans Ce cas, le protocole de tunneling encapsule les données en ajoutant une en-tête. Le
tunneling est l'ensemble des processus d'encapsulation, de transmission et de dés-
encapsulation.

2.2. Services fondamentaux d'un VPN

Un système de VPN doit pouvoir mettre en œuvre les fonctionnalités suivantes :

- Authentification d'utilisateur. Seuls les utilisateurs autorisés doivent pouvoir s'identifier


sur le réseau virtuel. De plus, un historique des connexions et des actions effectuées
sur le réseau doit être conservé.
- Gestion d'adresses. Chaque client sur le réseau doit avoir une adresse privée. Cette
adresse privée doit rester confidentielle. Un nouveau client doit pourvoir se connecter
facilement au réseau et recevoir une adresse.
- Cryptage des données. Lors de leurs transports sur le réseau public les données
doivent être protégées par un cryptage efficace.
- Gestion de clés. Les clés de cryptage pour le client et le serveur doivent pouvoir être
générées et régénérées.
- Prise en charge multi protocole. La solution VPN doit supporter les protocoles les plus
utilisés sur les réseaux publics en particulier IP.

2.3. Catégories des VPN

Il existe 3 types standards d'utilisation des VPN. En étudiant ces schémas d'utilisation, il est
possible d'isoler les fonctionnalités indispensables des VPN.

2.3.1. VPN d’accès

Rapport P.F.E Page 9


Figure 1: VPN d’accès

Le VPN d'accès est utilisé pour permettre à des utilisateurs itinérants d'accéder au
réseau privé. L'utilisateur se sert d'une connexion Internet pour établir la connexion Vpn. Il
existe deux cas:
L'utilisateur demande au fournisseur d'accès de lui établir une connexion cryptée vers
le serveur distant : il communique avec le NAS (Network Access Server) du fournisseur
d'accès et c'est le NAS qui établit la connexion cryptée.

L'utilisateur possède son propre logiciel client pour le VPN auquel cas il établit
directement la communication de manière cryptée vers le réseau de l'entreprise.
Les deux méthodes possèdent chacune leurs avantages et leurs inconvénients :
La première permet à l'utilisateur de communiquer sur plusieurs réseaux en créant
plusieurs tunnels, mais nécessite un fournisseur d'accès proposant un NAS compatible avec
la solution VPN choisie par l'entreprise. De plus, la demande de connexion par le NAS n'est
pas cryptée Ce qui peut poser des problèmes de sécurité.

Sur la deuxième méthode Ce problème disparaît puisque l'intégralité des informations


sera cryptée dès l'établissement de la connexion. Par contre, cette solution nécessite que
chaque client transporte avec lui le logiciel, lui permettant d'établir une communication
cryptée. Nous verrons que pour pallier Ce problème certaines entreprises mettent en place
des VPN à base de SSL, technologie implémentée dans la majorité des navigateurs Internet
du marché.

Rapport P.F.E Page 10


Quelle que soit la méthode de connexion choisie, Ce type d'utilisation montre bien
l'importance dans le VPN d'avoir une authentification forte des utilisateurs. Cette
authentification peut se faire par une vérification "login / mot de passe", par un algorithme dit
"Tokens sécurisés" (utilisation de mots de passe aléatoires) ou par certificats numériques. [1]

2.3.2. VPN intranet

Figure 2: VPN intranet

L'intranet VPN est utilisé pour relier au moins deux intranets entre eux. Ce type de
réseau est particulièrement utile au sein d'une entreprise possédant plusieurs sites distants.
Le plus important dans Ce type de réseau est de garantir la sécurité et l'intégrité des
données. Certaines données très sensibles peuvent être amenées à transiter sur le VPN
(base de données clients, informations financières...). Des techniques de cryptographie sont
mises en œuvre pour vérifier que les données n'ont pas été altérées. Il s'agit d'une

Rapport P.F.E Page 11


authentification au niveau paquet pour assurer la validité des données, de l'identification de
leur source ainsi que leur non-répudiation. La plupart des algorithmes utilisés font appel à
des signatures numériques qui sont ajoutées aux paquets. La confidentialité des données
est, elle aussi, basée sur des algorithmes de cryptographie. La technologie en la matière est
suffisamment avancée pour permettre une sécurité quasi parfaite. Le coût matériel des
équipements de cryptage et décryptage ainsi que les limites légales interdisent l'utilisation
d'un codage " infaillible ". Généralement pour la confidentialité, le codage en lui-même
pourra être moyen à faible, mais sera combiné avec d'autres techniques comme
l'encapsulation IP dans IP pour assurer une sécurité raisonnable. [1]

2.3.3. VPN Extranet

Figure 3: VPN extranet

Une entreprise peut utiliser le VPN pour communiquer avec ses clients et ses
partenaires. Elle ouvre alors son réseau local à ces derniers. Dans Ce cadre, il est
fondamental que l'administrateur du VPN puisse tracer les clients sur le réseau et gérer les
droits de chacun sur celui-ci. [1]

3. Protocoles de tunneling
Nous pouvons classer les protocoles que nous allons étudier en trois catégories:

Rapport P.F.E Page 12


- Les protocoles de niveau 2 comme PPTP et L2TP.
- Les protocoles de niveau 3 comme IPSEC.
- Les protocoles de niveau 4 comme SSL

Les protocoles de couche 2 dépendent des fonctionnalités spécifiées pour PPP


(Point to Point Protocol), c'est pourquoi nous allons tout d'abord rappeler le fonctionnement
de Ce protocole. [1]

3.1. PPP (Point to Point Protocol)

PPP (Point to Point Protocol) est un protocole qui permet de transférer des données
sur un lien synchrone ou asynchrone. Il est full duplex et garantit l'ordre d'arrivée des
paquets. Il encapsule les paquets IP, IPX et Netbeui dans des trames PPP, puis transmet
ces paquets encapsulés au travers de la liaison point à point. PPP est employé
généralement entre un client d'accès à distance et un serveur d'accès réseau (NAS).

Une connexion PPP est composée principalement de trois parties :

- Une méthode pour encapsuler les datagrammes sur la liaison série. Ppp utilise le
format de trame HDLC (Hight Data Level Control) de l'ISO (International Standartization
Organisation).
- Un protocole de contrôle de liaison (LCP - Link Control Protocol) pour établir, configurer
et tester la connexion de liaison de données.
- Plusieurs protocoles de contrôle de réseaux (NCPS - Network Control Protocol) pour
établir et configurer les différents protocoles de couche réseau.

3.1.1. Format d’une trame PPP

Rapport P.F.E Page 13


Figure 4: Trame PPP

- Fanion : Séparateur de trame égale à la valeur 01111110. Un seul drapeau est


nécessaire entre 2 trames.
- Adresse : Ppp ne permet pas un adressage individuel des stations donc Ce champ doit
être à 0xFF (toutes les stations). Toute adresse non reconnue entraînera la destruction
de la trame.
- Contrôle : Le champ contrôle doit être à 0x03
- Protocole : La valeur contenue dans Ce champ doit être impaire (l'octet de poids fort
étant pair). Ce champ identifie le protocole encapsulé dans le champ informations de la
trame. Les différentes valeurs utilisables sont définies dans la RFC « assign number »
et représentent les différents protocoles supportés par PPP (OSI, IP, Decnet IV, IPX...),
les NCP associés ainsi que les LCP
- Données : De longueur comprise entre 0 et 1500 octets, Ce champ contient le
datagramme du protocole supérieur indiqué dans le champ "protocole". Sa longueur est
détectée par le drapeau de fin de trame, moins deux octets de contrôle.
- FCS (Frame Check Sequence) : Ce champ contient la valeur du checksum de la trame.
Ppp vérifie le contenu du FCS lorsqu'il reçoit un paquet. Le contrôle d'erreur appliqué
par Ppp est conforme à X25. [B1]

3.1.2. Les différentes phases d'une connexion PPP

Rapport P.F.E Page 14


Toute connexion PPP commence et finit par une phase dite de "liaison morte". Dès
qu'un événement externe indique que la couche physique est prête, la connexion passe à la
phase suivante, à savoir l'établissement de la liaison. Comme Ppp doit être supporté par un
grand nombre d'environnements, un protocole spécifique a été élaboré et intégré à Ppp pour
toute la phase de connexion ; il s'agit de LCP (Link Control Protocol). LCP est un protocole
utilisé pour établir, configurer, tester, et terminer la connexion PPP. Il permet de manipuler
des tailles variables de paquets et effectue un certain nombre de tests sur la configuration. Il
permet notamment de détecter un lien bouclé sur lui-même.
La connexion PPP passe ensuite à une phase d'authentification. Cette étape est facultative
et doit être spécifiée lors de la phase précédente.

Si l'authentification réussie ou qu'elle n'a pas été demandée, la connexion passe en


phase de "Protocole réseau". C'est lors de cette étape que les différents protocoles réseaux
sont configurés. Cette configuration s'effectue séparément pour chaque protocole réseau.
Elle est assurée par le protocole de contrôle de réseau (NCP) approprié. A Ce moment, le
transfert des données est possible. Les NPC peuvent à tout moment ouvrir ou fermer une
connexion. PPP peut terminer une liaison à tout moment, parce qu'une authentification a
échouée, que la qualité de la ligne est mauvaise ou pour toute autre raison. C'est le LCP qui
assure la fermeture de la liaison à l'aide de paquets de terminaison. Les NCP sont alors
informés par PPP de la fermeture de la liaison. [B1]

3.2. Le protocole PPTP

PPTP est un protocole qui utilise une connexion PPP à travers un réseau IP en
créant un réseau privé virtuel (VPN). Microsoft a implémenté ses propres algorithmes afin de
l'intégrer dans ses versions de Windows. Ainsi, PPTP est une solution très employée dans
les produits VPN commerciaux à cause de son intégration au sein des systèmes
d'exploitation Windows. PPTP est un protocole de niveau 2 qui permet l'encryptage des
données ainsi que leur compression. L'authentification se fait grâce au protocole Ms-Chap
de Microsoft qui, après la cryptanalyse de sa version 1, a révélé publiquement des failles
importantes. Microsoft a corrigé ces défaillances et propose aujourd'hui une version 2 de Ms-
Chap plus sûre. La partie chiffrement des données s'effectue grâce au protocole MPPE
(Microsoft Point-to-Point Encryption).

Le principe du protocole PPTP est de créer des paquets sous le protocole PPP et de
les encapsuler dans des datagrammes IP. PPTP crée ainsi un tunnel de niveau 3 défini par
le protocole GRE (Generic Routing Encapsulation). Le tunnel PPTP se caractérise par une

Rapport P.F.E Page 15


initialisation du client, une connexion de contrôle entre le client et le serveur ainsi que par la
clôture du tunnel par le serveur. Lors de l'établissement de la connexion, le client effectue
d'abord une connexion avec son fournisseur d'accès Internet. Cette première connexion
établie une connexion de type PPP et permet de faire circuler des données sur Internet. Par
la suite, une deuxième connexion dial-up est établie. Elle permet d'encapsuler les paquets
Ppp dans des datagrammes IP. C'est cette deuxième connexion qui forme le tunnel PPTP.
Tout trafic client conçu pour Internet emprunte la connexion physique normale, alors que le
trafic conçu pour le réseau privé distant, passe par la connexion virtuelle de PPTP.

Figure 5: Protocole PPTP

Plusieurs protocoles peuvent être associés à PPTP afin de sécuriser les données ou
de les compresser. On retrouve évidement les protocoles développés par Microsoft et cités
précédemment. Ainsi, pour le processus d'identification, il est possible d'utiliser les
protocoles PAP (Password Authentification Protocol) ou MsChap. Pour l'encryptage des
données, il est possible d'utiliser les fonctions de MPPE (Microsoft Point to Point
Encryption). Enfin, une compression de bout en bout peut être réalisée par MPPC
(Microsoft Point to Point Compression). Ces divers protocoles permettent de réaliser une
connexion VPN complète, mais les protocoles suivants permettent un niveau de
performance et de fiabilité bien meilleur. [B1]

3.3. Le protocole L2TP

L2TP est issu de la convergence des protocoles PPTP et L2F. Il est actuellement
développé et évalué conjointement par Cisco Systems, Microsoft, Ascend, 3Com ainsi que
d'autres acteurs clés du marché des réseaux. Il permet l'encapsulation des paquets PPP au
niveau des couches 2 (Frame Relay et ATM) et 3 (IP). Lorsqu'il est configuré pour
transporter les données sur IP, L2TP peut être utilisé pour faire du tunnelling sur Internet.
L2TP repose sur deux concepts : les concentrateurs d'accès L2TP (Lac : L2TP Access
Concentrator) et les serveurs réseau L2TP (LNS : L2TP Network Server). L2TP n'intègre

Rapport P.F.E Page 16


pas directement de protocole pour le chiffrement des données. C'est pourquoi L'IETF
préconise l'utilisation conjointe d'IPSEC et L2TP. [B1]

Figure 6: Tunnel L2TP

3.3.1. Concentrateurs d'accès L2TP (LAC : L2TP Access


Concentrator)

Les périphériques Lac fournissent un support physique aux connexions L2TP. Le


trafic étant alors transféré sur les serveurs réseau L2TP. Ces serveurs peuvent s'intégrer à
la structure d'un réseau commuté RTC ou alors à un système d'extrémité PPP prenant en
charge le protocole L2TP. Ils assurent le fractionnement en canaux de tous les protocoles
basés sur PPP. Le LAC est l'émetteur des appels entrants et le destinataire des appels
sortants.

3.3.2. Serveur réseau L2TP (LNS : L2TP Network Server)

Les serveurs réseau L2TP ou LNS peuvent fonctionner sur toute plate-forme prenant
en charge la terminaison PPP. Le LNS gère le protocole L2TP côté serveur. Le protocole
L2TP n'utilise qu'un seul support, sur lequel arrivent les canaux L2TP. C'est pourquoi, les
serveurs réseau LNS, ne peuvent avoir qu'une seule interface de réseau local (LAN) ou
étendu (WAN). Ils sont cependant capables de terminer les appels en provenance de
n'importe quelle interface PPP du concentrateur d'accès Lac : ASYNC., RNIS, PPP sur
ATM ou PPP sur relais de trame. Le LNS est l'émetteur des appels sortants et le

Rapport P.F.E Page 17


destinataire des appels entrants. C'est le LNS qui sera responsable de l'authentification du
tunnel.

3.4. Le protocole IPSEC

IPSEC est un protocole qui vise à sécuriser l'échange de données au niveau de la


couche réseau. Le réseau IPv4 étant largement déployé et la migration vers IPv6 étant
inévitable, mais néanmoins longue, il est apparu intéressant de développer des techniques
de protection des données communes à IPv4 et IPv6. Ces mécanismes sont couramment
désignés par le terme IPSEC (IP Security Protocols). IPSEC est basé sur deux
mécanismes. Le premier, AH, pour Authentification Header vise à assurer l'intégrité et
l'authenticité des datagrammes IP. Il ne fournit par contre aucune confidentialité : les
données fournies et transmises par Ce protocole ne sont pas encodées. Le second, ESP
(Encapsulating Security Payload) peut aussi permettre l'authentification des données mais
est principalement utilisé pour le cryptage des informations. Bien qu'indépendants ces deux
mécanismes sont presque toujours utilisés conjointement. Enfin, le protocole Ike permet de
gérer les échanges ou les associations entre protocoles de sécurité. Avant de décrire ces
différents protocoles, nous allons exposer les différents éléments utilisés dans IPSEC. [2]

3.4.1. Vue d'ensemble

Les mécanismes mentionnés ci-dessus font bien sûr appel à la cryptographie et


utilisent donc un certain nombre de paramètres (algorithmes de chiffrement utilisés, clefs,
mécanismes sélectionnés...) sur lesquels les tiers communicants doivent se mettre
d'accord. Afin de gérer ces paramètres, IPSEC a recours à la notion d'association de
sécurité (Security Association, SA).
Une association de sécurité IPSEC est une "connexion" simplexe qui fournit des
services de sécurité au trafic qu'elle transporte. On peut aussi la considérer comme une
structure de données servant à stocker l'ensemble des paramètres associés à une
communication donnée.
Une SA est unidirectionnelle ; en conséquence, protéger les deux sens d'une
communication classique requiert deux associations, une dans chaque sens. Les services
de sécurité sont fournis par l'utilisation soit d’AH soit de ESP. Si AH et ESP sont tout deux
appliqués au trafic en question, deux SA (voire plus) sont créées ; on parle alors de paquet
(bundle) de SA.

Chaque association est identifiée de manière unique à l'aide d'un triplet composé de:

Rapport P.F.E Page 18


- L'adresse de destination des paquets
- L'identifiant du protocole de sécurité utilisé (AH ou Esp)
- Un index des paramètres de sécurité (Security Parameter Index, SPI). Un SPI est un
bloc de 32 bits inscrit en clair dans l'en-tête de chaque paquet échangé ; il est choisi par
le récepteur
Pour gérer les associations de sécurités actives, on utilise une "base de données
des associations de sécurité" (Security Association Database, SAD). Elle contient tous les
paramètres relatifs à chaque SA et sera consultée pour savoir comment traiter chaque
paquet reçu ou à émettre.
Les protections offertes par IPSEC sont basées sur des choix définis dans une "base
de données de politique de sécurité" (Security Policy Database, SPD). Cette base de
données est établie et maintenue par un utilisateur, un administrateur système ou une
application mise en place par ceux-ci. Elle permet de décider, pour chaque paquet, s'il se
verra apporter des services de sécurité, s'il sera autorisé à passer ou rejeté. [2]

3.4.2. Principe de fonctionnement

Le schéma ci-dessous représente tous les éléments présentés ci-dessus (en bleu),
leurs positions et leurs interactions :

Rapport P.F.E Page 19


Figure 7: Fonctionnement du protocole IPSEC

On distingue deux situations :

- Trafic sortant :

Lorsque la couche IPSEC reçoit des données à envoyer, elle commence par consulter
la base de données des politiques de sécurité (SPD) pour savoir comment traiter ces
données. Si cette base lui indique que le trafic doit se voir appliquer des mécanismes
de sécurité, elle récupère les caractéristiques requises pour la SA correspondante et va
consulter la base des SA (SAD). Si la SA nécessaire existe déjà, elle est utilisée pour
traiter le trafic en question. Dans le cas contraire, IPSEC fait appel à IKE pour établir
une nouvelle SA avec les caractéristiques requises.

- Trafic entrant :

Rapport P.F.E Page 20


Lorsque la couche IPSEC reçoit un paquet en provenance du réseau, elle examine l'en-
tête pour savoir si Ce paquet s'est vu appliquer un ou plusieurs services IPSEC et si
oui, quelles sont les références de la SA. Elle consulte alors la SAD pour connaître les
paramètres à utiliser pour la vérification et/ou le déchiffrement du paquet. Une fois le
paquet vérifié et/ou déchiffré, la SPD est consultée pour savoir si l'association de
sécurité appliquée au paquet correspondait bien à celle requise par les politiques de
sécurité.

Dans le cas où le paquet reçu est un paquet IP classique, la Spd permet de savoir
s'il a néanmoins le droit de passer. Par exemple, les paquets IKE sont une exception. Ils
sont traités par Ike, qui peut envoyer des alertes administratives en cas de tentative de
connexion infructueuse. [2]

3.4.3. Le protocole AH (Authentication Header)

L'absence de confidentialité permet de s'assurer que Ce standard pourra être


largement répandu sur Internet, y compris dans les endroits où l'exportation, l'importation
ou l'utilisation du chiffrement dans des buts de confidentialité est restreint par la loi.

Son principe est d'adjoindre au datagramme IP classique un champ supplémentaire


permettant à la réception de vérifier l'authenticité des données incluses dans le
datagramme. Ce bloc de données est appelé "valeur de vérification d'intégrité" (Intégrity
Check Value, ICV). La protection contre le rejet se fait grâce à un numéro de séquence.
[B1]

Rapport P.F.E Page 21


Figure 8: Protocole AH

3.4.4. Protocol ESP (Encapsulating Security Payload)

Esp peut assurer au choix, un ou plusieurs des services suivants :

- Confidentialité (confidentialité des données et protection partielle contre l'analyse du


trafic si l'on utilise le mode tunnel).
- Intégrité des données en mode non connecté et authentification de l'origine des
données, protection contre le rejeu.

La confidentialité peut être sélectionnée indépendamment des autres services, mais son
utilisation sans intégrité/authentification (directement dans Esp ou avec AH) rend le trafic
vulnérable à certains types d'attaques actives qui pourraient affaiblir le service de
confidentialité.

Figure 9: Protocole ESP

Le champ bourrage peut être nécessaire pour les algorithmes de chiffrement par
blocs ou pour aligner le texte chiffré sur une limite de 4 octets. Les données d'authentification
ne sont présentes que si Ce service a été sélectionné. Voyons maintenant comment est
appliquée la confidentialité dans ESP. [B1]

Rapport P.F.E Page 22


L'expéditeur :

- Encapsule, dans le champ charge utile de ESP, les données transportées par le
datagramme original et éventuellement l'en-tête IP (mode tunnel).
- Ajoute si nécessaire un bourrage.

- Chiffre le résultat (données, bourrage, champs longueur et en-tête suivant).

- Ajoute éventuellement des données de synchronisation cryptographiques (vecteur


d'initialisation) au début du champ charge utile.

3.5. Le protocole SSL


Récemment arrivé dans le monde des VPN, les VPN à base de SSL présente une
alternative séduisante face aux technologies contraignantes que sont les VPN présentés
jusqu’ici. Les VPN SSL présentent en effet le gros avantage de ne pas nécessiter du coté
client plus qu'un navigateur Internet classique. En effet le protocole SSL utilisé pour la
sécurisation des échanges commerciaux sur Internet est implémenté en standard dans les
navigateurs modernes. [3]

SSL est un protocole de couche 4 (niveau transport) utilisé par une application pour
établir un canal de communication sécurisé avec une autre application.

SSL a deux grandes fonctionnalités : l'authentification du serveur et du client à


l'établissement de la connexion et le chiffrement des données durant la connexion.

 Fonctionnement

Le protocole SSL et TLS est subdivise en quatre sous protocoles :

Rapport P.F.E Page 23


- Handshake Protocol - Ce protocole négocie les paramètres de cryptage qui seront
l'œuvre lors de la connexion.
- Change Cipher Spec Protocol - Ce protocole annonce la n du protocole de négociation.

- Alarm Protocol - C'est le protocole de signalement d'erreurs et d'alertes.

- Record Protocol - Ce protocole se place entre les autres et la couche 4.

C'est lui qui assure le rôle de communication de SSL et TLS.

Ils s'organisent comme présente dans le schéma suivant :

Figure 10: Fonctionnement du protocole SSL

Le protocole SSL Handshake : débute une communication SSL. Suite à la requête


du client, le serveur envoie son certificat ainsi que la liste des algorithmes qu'il Souhaite
utiliser. Le client commence par vérifier la validité du certificat du serveur. Cela se fait à l'aide
de la clé publique de l'autorité de certification contenue dans le navigateur du client. Le client
vérifie aussi la date de validité du certificat et peut également consulter une CRL (Certificate

Rapport P.F.E Page 24


Revocation List). Si toutes les vérifications sont passées, le client génère une clé symétrique
et l'envoie au serveur. Le serveur peut alors envoyer un test au client, que le client doit
signer avec sa clé privée correspondant à son propre certificat. Ceci est fait de façon à ce
que le serveur puisse authentifier le client.

De nombreux paramètres sont échangés durant cette phase : type de clé, valeur de
la clé, algorithme de chiffrage ...

La phase suivante consiste en l'échange de données cryptées (protocole SSL


Records). Les clés générées avec le protocole Handshake sont utilisées pour garantir
l'intégrité et la confidentialité des données échangées. Les différentes phases du protocole
sont :

Compression (mais peu implémente dans la réalité)

- Ajout du résultat de la fonction de hachage compose de la clé de


- Cryptage, du numéro de message, de la longueur du message, de

- Données ...

- Chiffrement des paquets et du résultat du hachage a l'aide de la clé

- Symétrique générée lors du Handshake.

- Ajout d'un en-tête SSL au paquet.

Le protocole SSL Record protocole : Une fois négociés, ils chiffrent toutes les
informations échangées et effectuent divers contrôles. Ce protocole chapeaute les autres
protocoles de SSL et TLS, en fournissant une interface unifiée pour la transmission des
données.

Le protocole Change Cipher Spec : Ce protocole contient un seul message :


Change_Cipher_Spec. Il est envoyé par les deux parties la n du protocole de négociation.
Ce message transite chiffre par l'algorithme symétrique précédemment négocie.

Le protocole Alarm : Ce protocole spécifie les messages d'erreur que peuvent


s'envoyer clients et serveurs. Les messages sont composes de deux octets. Le premier est
soit warning soit fatal. Si le niveau est fatal, la connexion est abandonnée. Les autres
connexions sur la même session ne sont pas coupées mais on ne peut pas en établir de
nouvelles. Le deuxième octet donne le code d'erreur.

Rapport P.F.E Page 25


Le domaine d’utilisation : SSL peut être utilise pour sécuriser pratiquement n'importe
quel protocole utilisant TCP/IP.

Certains protocoles ont été spécialement modifies pour supporter SSL:

- HTTPS: c'est HTTP+SSL. Ce protocole est inclus dans pratiquement tous les
navigateurs, et vous permet (par exemple) de consulter vos comptes bancaires par le
web de façon sécurisée.
- FTPS est une extension de FTP (File Transfer Protocol) utilisant SSL.

- SSH (Secure Shell): c'est une sorte de Telnet (ou rlogin) sécurisé. Cela permet de se
connecter a un ordinateur distant de façon sure et d'avoir une ligne de commande. SSL
possède des extensions pour sécuriser d'autres protocoles

- (FTP, POP3 ou même X Windows).

Il est possible de sécuriser des protocoles en créant des tunnels SSL. Une fois le
tunnel crée, vous pouvez faire passer n'importe quel protocole dedans (SMTP, POP3,
HTTP...). Toutes les données échangées sont automatiquement chiffrées. [3]

3. Conclusion
Cette étude des solutions VPN met en évidence une forte concurrence entres les
différents protocoles pouvant être utilisés. Néanmoins, il est possible de distinguer deux
rivaux sortant leurs épingles du jeu, à savoir IPSEC et MPLS. Ce dernier est supérieur sur
bien des points, mais il assure, en outre, simultanément, la séparation des flux et leur
confidentialité. Le développement rapide du marché pourrait bien cependant donner
l'avantage au second. En effet, la mise en place de VPN par IP entre généralement dans une
politique de réduction des coûts liés à l'infrastructure réseau des entreprises. Les VPN sur IP
permettent en effet de se passer des liaisons louées de type ATM ou Frame Relay. Le coût
des VPN IP est actuellement assez intéressant pour motiver de nombreuses entreprises à
franchir le pas. A performance égales un VPN MPLS coûte deux fois moins cher qu'une ligne
ATM.

Mais si les solutions à base de MPLS prennent actuellement le devant face aux
technologies IPSEC c'est principalement grâce à l'intégration possible de solution de
téléphonie sur IP. La qualité de service offerte par le MPLS autorise en effet Ce type
d'utilisation, toutefois MPLS n’offre pas de service de sécurité, il ne sera pas considéré dans
le présent travail.

Rapport P.F.E Page 26


Le marché des VPN profite donc de l'engouement actuel pour ces technologies qui
permettent elles aussi de réduire les coûts des infrastructures de communication. Les VPN
sont donc amenés à prendre de plus en plus de place dans les réseaux informatiques vu
qu’ils garantissent un certain niveau de sécurité et principalement par les algorithmes de
cryptographies qu’on va détailler dans le deuxième chapitre.

CHAPITRE II: INTRODUCTION A LA


CRYPTOGRAPHIE
1. Introduction
La cryptographie a pour but d’assurer la sécurité des communications et des données
stockées en présence d’un adversaire. Elle propose un ensemble de techniques permettant
d’offrir des services de confidentialité, d’authentification et d’intégrité. La cryptologie, appelée
aussi la Science du Secret regroupe la cryptographie et la cryptanalyse. Alors que le rôle
des cryptographes est de construire et prouver, entre autres, des systèmes de chiffrement
ou de signature, l’objectif des cryptanalyses est de “casser” ces systèmes. L’histoire de la
cryptologie a vu tour à tour les victoires des uns et des autres. L’histoire de la cryptographie
a été pendant longtemps l’histoire des codes secrets et depuis l’antiquité, ils ont décidé du
sort des hommes et des nations. En effet, jusque dans les années 70, l’unique objectif de la
cryptographie était de construire des systèmes de chiffrement. Grâce à la cryptanalyse, les
militaires et les cabinets noirs des diplomates ont pu mener leurs guerres dans l’ombre en
découvrant les correspondances de leurs ennemis et en contrôlant les réseaux de
communications. Les codes sauvèrent les Grecs des Perses, accompagnèrent César dans
ses conquêtes, firent arrêter et décapiter Marie Stuart, décidèrent Wilson à rejoindre les
alliés, et permirent d’épargner des milliers de vie pendant la seconde guerre mondiale.
La révolution d’Internet et l’utilisation de plus en plus massive d’informations sous
forme numérique facilitent les communications et rendent de ce fait plus fragiles les

Rapport P.F.E Page 27


informations que l’on détient. En effet, les réseaux “ouverts” créent des brèches de sécurité
et il est plus aisé à un adversaire d’accéder aux informations. De même, le remplacement de
l’homme par des machines rend les relations beaucoup plus anonymes alors qu’en même
temps l’accès aux données demande des moyens d’authentification forts.
De plus, la dématérialisation change les moyens de preuves juridiques : les signatures
numériques, ou plus généralement les preuves de l’écrit électronique doivent remplir
certaines exigences que nous ne connaissions pas avec les signatures manuscrites. Ainsi, la
révolution numérique des communications et de l’information a ouvert de nombreux champs
d’investigation à la cryptographie, de sorte que celle-ci a envahi notre vie quotidienne : carte
à puce, transaction bancaire, internet, téléphone cellulaire...
Commençons par voir quels sont les services de sécurité que peut garantir la
cryptographie et ses applications dans la vie “réelle”.

 Objectifs de sécurité :

La cryptographie ne permet pas de résoudre tous les problèmes de sécurité


informatique. Cependant, elle apporte des garanties et des briques de base sur lesquelles
des produits de sécurité peuvent être construits. Il est bien connu que la sécurité d’un
système de sécurité se mesure à son maillon le plus faible. En général, le maillon le plus
faible d’un système de sécurité informatique n’est pas le système cryptographique mais par
exemple son implémentation informatique.
En outre, il existe diverses attaques contre lesquelles la cryptographie n’est pas d’un
grand secours, comme les virus informatiques ou les chevaux de Troie logiciels qui profitent
de la confiance exagérée des utilisateurs dans les messages ou logiciels qu’ils reçoivent.
La cryptographie participe à la sécurité informatique en proposant des primitives qui
permettent d’atteindre les objectifs d’authentification, de confidentialité et de protection en
intégrité. Au-delà de cette trilogie, la cryptographie apporte aussi certaines réponses à des
problématiques de disponibilité de service et de résistance aux fautes sur certains protocoles
cryptographiques.

 Authentification :

L’authentification d’un écrit est un problème ancien qui a trouvé des réponses dans les
analyses graphologiques et d’études des divers types de support. La cryptographie apporte
des techniques permettant d’authentifier l’émetteur d’un document ou d’un écrit électronique.
En cryptographie, l’authentification regroupe l’authentification de données qui permet

Rapport P.F.E Page 28


de garantir que les données transmises proviennent bien d’un émetteur désigné, et
l’identification de personne qui consiste à prouver son identité.
C’est par exemple le cas lors d’un retrait d’argent. Lorsque vous mettez votre carte à
puce dans le distributeur ou un terminal de paiement électronique, un protocole
d’authentification vise à vérifier qu’il s’agit bien d’une carte bancaire. Pour ce faire, une
signature basée sur des informations contenues dans la carte est vérifiée. Une signature est
une donnée publiquement vérifiable permettant d’identifier sans ambiguïté le signataire. Les
informations de la carte sont signées avec la clé GIE CB. Une vérification correcte de cette
signature prouve que la carte est bien une carte bancaire car seul le GIE CB peut générer de
telles signatures. Puis, une identification permet d’assurer que l’utilisateur est bien le
détenteur légitime de la carte. Pour ce faire, le possesseur connaît un code personnel
d’identification, appelé code PIN, composé de 4 chiffres. Lorsqu’il tape son code PIN sur le
clavier, le code est envoyé à la carte qui en possède un double. La puce effectue une
comparaison entre le code envoyé et celui sauvegardé et enfin répond par un bit
d’information indiquant si le code est bon ou mauvais. Ce faisant, le système “carte bleue” a
identifié la carte et le fait que le porteur de la carte est bien son détenteur légal.
Il existe d’autres systèmes d’identification permettant par exemple l’entrée sur un
système informatique ou l’accès à certaines informations sur un site web. Dans ce cas,
l’utilisateur rentre son nom et son mot de passe. En tapant son login, l’utilisateur déclare une
identité. Le système acceptera l’utilisateur si ce dernier peut fournir une preuve de cette
identité en révélant par exemple un mot de passe correct.
Le mot de passe sera alors comparé à celui conservé par le système soit de manière
centralisée, soit de manière locale comme dans la carte à puce dans le paragraphe
précédent. Lors d’une authentification centralisée, un adversaire espionnant le réseau peut
intercepter le login et le mot de passe et se faire passer pour cette personne. Ultérieurement,
afin de protéger l’identification d’un utilisateur, la cryptographie a apporté une réponse
originale en proposant le concept de preuve d’identité “zero knowledge”.
Il s’agit de mécanismes qui permettent à une personne de prouver son identité sans
avoir à divulguer son secret. On peut prouver que le système qui authentifie ne peut
apprendre aucune information sur le secret qui représente la personne lors d’une instance
de ce protocole. Ceci est fondamental dans de nombreux protocoles cryptographiques. On
peut dire que la cryptographie sépare le pouvoir de conviction du pouvoir d’explication. C’est-
à-dire, on peut convaincre un interlocuteur que l’on connaît une preuve d’un théorème sans
avoir besoin de donner la démonstration ! La conséquence de cette technique est de briser
la chaîne de transmission d’une preuve. La personne convaincue est incapable de
convaincre une autre personne du théorème mathématique. C’est exactement le type de
propriété que l’on souhaite pour construire un système d’identification. [4]

Rapport P.F.E Page 29


 Intégrité :

Le problème de l’intégrité est également un problème ancien qui s’est accentué avec
l’émergence de l’écrit sous forme électronique. En effet, la copie, la modification puis la
diffusion du document sont des opérations facilement réalisables. De même, l’intégrité de
certaines données de sécurité est sensible.
C’est par exemple, le cas du mot de passe qui doit être stocké sur la carte à puce ou
dans l’ordinateur. Si ce mot de passe venait à être modifié, la personne ne pourrait plus
s’authentifier sur le système. En outre, lorsque l’on télécharge sur Internet un document, on
veut être certain que le document reçu correspond bien à celui que le site web présentait. De
manière plus générale, le problème de l’intégrité peut apparaître dans le cas du partage de
ressources et dans le cas de l’envoi de messages sur un canal non sécurisé.
Pour résoudre ce problème, on utilise des fonctions de hachage qui réduisent des
données de longueur variable en une “empreinte” de petite taille, appelé haché ou
condensat. Cette empreinte peut être stockée sur un autre support que l’ordinateur par
exemple sur papier, et permet à l’utilisateur à chaque fois qu’il utilise sa machine de vérifier
si une personne a modifié les données ou de vérifier que l’information envoyée n’a pas été
altérée en route. [4]

 Confidentialité :

La confidentialité est le problème le plus ancien auquel la cryptographie ait tenté de


trouver une réponse. Le problème à résoudre est le suivant : deux personnes veulent
communiquer et utilisent pour cela un canal public qui peut être espionné par un adversaire.
La solution consiste à transformer les données de sorte à les rendre illisibles à l’adversaire
tout en assurant que le destinataire pourra appliquer la transformation inverse pour retrouver
les données originelles.
Le chiffrement est l’opération qui consiste à transformer un message à transmettre, dit
“message clair”, en un autre message inintelligible pour un tiers, dit “message chiffré”, en
vue d’assurer le secret de la transmission. Le déchiffrement est l’opération inverse du
chiffrement et consiste en une transformation des données chiffrées en une forme intelligible.
Chiffrement et déchiffrement exigent généralement l’utilisation d’une information secrète
appelée la clé.
On distingue le chiffrement symétrique qui utilise la même clé pour chiffrer et déchiffrer
et le chiffrement asymétrique ou à clé publique où les clés utilisées sont différentes mais
reliées entre elles par une relation mathématique. Dans ce dernier système de chiffrement,

Rapport P.F.E Page 30


la clé de chiffrement est dite “publique” et peut être connue de tout le monde, alors que la clé
“privée” doit être maintenue de manière sûre par son possesseur. Dans ce modèle, toute
personne qui a accès à la clé publique d’un utilisateur peut lui envoyer des messages, alors
que ce dernier sera le seul à pouvoir les déchiffrer. On peut remarquer que la sécurité d’un
système ne provient pas de la difficulté à chiffrer, n’importe qui doit pouvoir chiffrer, mais de
la difficulté à déchiffrer. C’est cette asymétrie qui est au cœur du concept de cryptographie à
clé publique.
L’inconvénient des crypto systèmes symétriques est que les personnes doivent se
rencontrer pour échanger la clé de chiffrement avant de pouvoir l’utiliser. Dans une
communauté fermée d’utilisateurs, ceci peut être réalisé, mais dans le cas d’Internet, où les
personnes ne se connaissent pas forcément avant d’établir une communication et souhaitent
tout de même pouvoir échanger des informations confidentiellement, ce type de système
n’est pas adapté. De plus, chaque utilisateur doit posséder une clé avec toutes les
personnes avec qui il souhaite communiquer. On voit que la cryptographie à clé publique
permet de résoudre ces problèmes car les clés publiques peuvent être publiées dans des
annuaires informatisés. Ce sont l’équivalent d’annuaires téléphoniques qui associent une clé
publique à chaque personne, au lieu d’un numéro de téléphone. Les systèmes à clés
publiques résolvent le problème de l’échange de clé en utilisant des annuaires publiquement
consultables. Historiquement, c’est à partir du problème crucial de la distribution de clé de
chiffrement symétrique qu’a été découvert le concept de cryptographie à clé publique.
Cependant, la cryptographie à clé publique souffre d’un défaut majeur quand la quantité
d’informations à transmettre devient grande. En effet, ces systèmes sont plus lents que les
crypto systèmes symétriques et sont plus gourmands en temps de calcul, ce qui pénalise les
performances quand beaucoup d’opérations de chiffrement et déchiffrement doivent être
effectuées (comme sur des serveurs). Enfin, un système “hybride” tire profit de la
cryptographie à clé publique en échangeant une clé de session de petite taille, 128 bits par
exemple, et de la cryptographie symétrique pour chiffrer les données à transmettre en
utilisant la clé de session. Les systèmes hybrides résolvent le problème de la “lenteur” de la
cryptographie à clé publique pour chiffrer de longs messages et de l’échange de clé pour le
système de chiffrement symétrique.
Comme exemples de crypto systèmes symétriques, on peut citer le DES (Data
Encryption Standard) qui depuis 1977 est l’algorithme le plus utilisé dans le monde. En
octobre 2000, le NIST a proposé un successeur au DES. Le DES a résisté pendant 20 ans
aux assauts de la recherche publique. Cependant la taille des clés DES fixée à 56 bits a
permis à la recherche exhaustive et à la conception de puce de venir à bout de l’espace de
recherche. L’AES (Advanced Encryption Standard), alias Rijndael, est le remplaçant du DES.
Il s’agit d’un système de chiffrement symétrique utilisant des blocs de 128 bits et pouvant

Rapport P.F.E Page 31


utiliser des clés de 128, 192, et 256 bits. Ayant participé à de nombreuses opérations autour
de l’algorithme CS- 18 Cipher (CS-Cipher Challenge, soumission NESSIE, implémentation
de l’algorithme en FPGA dans un commutateur ATM8 de la société CS Télécom,
implémentation en C++ dans les produits de la société CS Systèmes d’Information), je ne
peux manquer de parler de cet algorithme développé par la société CS Communication et
Systèmes en collaboration avec Jacques Stern et Serge Vaudenay.
Enfin, parmi les exemples de crypto systèmes à clé publique, on peut citer le RSA qui
fut le premier système à clé publique, proposé par Rivest, Shamir et Adleman en 1977, et les
systèmes
El Gamal, Paillier, NTRU (basé sur le problème de trouver des vecteurs courts dans
certains réseaux), ceux basés sur le problème du sac-à-dos et enfin celui de Mac Eliece
(problèmes de codes correcteurs d’erreurs). [4]

 Disponibilité de service

La disponibilité de service est souvent oubliée dans les avantages que peut offrir la
cryptographie. En effet, seules les applications cryptographiques peuvent profiter de cette
fonction de sécurité. Cependant, ce service est crucial pour certaines applications pratiques
qui exigent un fort niveau de sécurité et qui doivent tourner en permanence. En effet,
l’indisponibilité d’un service comme le réseau de carte bancaire ou l’accès à des sites web
peut avoir des conséquences économiques importantes.
La cryptographie apporte une solution qui ne permet pas de répondre entièrement à la
problématique du déni de service qui est actuellement le problème le plus épineux sur
l’Internet avec l’invasion des virus.
Le déni de service a fait tomber de nombreux sites commerciaux comme
Amazone.com ou E-Bay.com en février 2000. Ces attaques de déni de service distribuées
consistent à inonder de demandes un site web en envoyant plus de demandes de
connexions que ne peut en servir le site. Les conséquences économiques ont été énormes
pour ces sites. Cependant, il n’existe aujourd’hui pas de solution satisfaisante pour résister à
ce type d’attaques.
La solution cryptographique ne résout pas le problème du déni de service mais résout
partiellement le problème de la tolérance aux pannes. Elle garantit que si parmi n serveurs,
seule une minorité t < n est attaquée, alors le système cryptographique (de déchiffrement ou
de signature) sera toujours opérationnel.
Ces solutions de redondance sont importantes dans les systèmes très sensibles
comme par exemple la clé de signature d’une autorité de certification ou la clé de
déchiffrement d’une autorité de recouvrement.

Rapport P.F.E Page 32


Imaginons donc un service de recouvrement qui consiste à retrouver la clé privée d’un
utilisateur. Ces clés sont conservées sous forme chiffrée dans une base de données. La clé
de déchiffrement de l’autorité est sensible car elle permet de retrouver toutes les clés privées
des utilisateurs. Par conséquent, si la clé était confiée entièrement à un employé
malintentionné, ce dernier pourrait déchiffrer la clé de tous les utilisateurs et lire les
messages de tout le monde. Afin, d’éviter une telle tentation, la clé est séparée en plusieurs
parts de sorte que l’intervention d’au moins la majorité des parts soit nécessaire pour
déchiffrer la clé d’un utilisateur. Ce genre de partage est aussi utilisé dans de nombreuses
banques où l’intervention du directeur de la banque avec un des deux sous-directeurs par
exemple est nécessaire. La cryptographie force alors l’intervention de plusieurs personnes
en faisant comme hypothèse qu’il n’y aura pas trop de personnes malintentionnées qui se
coalisent pour attaquer le système.
De même, des serveurs en panne peuvent être vus comme des personnes absentes et
tant qu’il y a une majorité de serveurs en marche, le service de recouvrement par exemple
peut être assuré. Ce type de partage a été implémenté dans le produit de recouvrement de
clé de la société CS Systèmes d’Information. [4]

2. Historique

2.1. Le chiffre de César

Le chiffre de César est la méthode de cryptographie la plus ancienne communément


admise par l'histoire. Il consiste en une substitution mono-alphabétique : chaque lettre est
remplacée ("substitution") par une seule autre ("mono-alphabétique"), selon un certain
décalage dans l'alphabet ou de façon arbitraire. D'après Suétone, César avait coutume
d'utiliser un décalage de 3 lettres : A devient D, B devient E, C devient F, etc. Il écrivait donc
son message normalement, puis remplaçait chaque lettre par celle qui lui correspondait :[5]

CLAIR A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

-> décalage = 3

CODE D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Exemple : d'après cette méthode, "VIVE LES MATHS" devient donc "YLYH OHV PDWKV"

Rapport P.F.E Page 33


 Sécurité
Niveau sécurité, le chiffre de César n'est pas fiable du tout, et ce pour deux raisons :

- Il n'existe que 26 façons différentes de crypter un message : puisqu'on ne


dispose que de 26 lettres, il n'y a que 26 décalages possibles. Dès lors,
des attaques exhaustives (tester toutes les décalages un à un) ne
demanderaient que très peu de temps.
- Le chiffre de César est très vulnérable à l'analyse des fréquences

2.2. La machine Enigma

La machine allemande Enigma a joué un grand rôle pendant la guerre de l'Atlantique,


et son décryptement par les Alliés leur a assuré bon nombre de victoires (notamment parce
que les Allemands ne se doutaient pas que leurs messages étaient déchiffrés).
Enigma ressemble à une machine à écrire : on frappe le clair sur un clavier, et des
petites lampes s'allument pour éclairer les lettres résultant du chiffrement.
Le principe de chiffrement qu'utilise Enigma est à la fois simple et astucieux. Simple,
car il ne s'agit ni plus ni moins d'une substitution de lettres : par exemple, A devient Q, P
devient N, etc. Et astucieux, parce que la substitution change d'une lettre à une autre : si
la lettre A correspond à Q la première fois qu'on la saisit, elle pourrait correspondre à M, K,
H, ou tout autre lettre différente de Q à la fois suivante (ce principe est possible grâce à un
système de rotors). De plus, un autre avantage non négligeable que possède Enigma est la
réversibilité : si on tape le message clair, on obtient le message code, et avec le message
codé, on obtient le message clair.  L'inconvénient majeur est que jamais la lettre A ne sera
codée par A. [5]

Rapport P.F.E Page 34


Figure 11: Fonctionnement de la machine ENIGMA

2.3. Le chiffre du Che

Première phase
Le Che utilise une substitution de lettres (par des chiffres cependant) telle que : 

CLAIR A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

CODE 6 38 32 4 8 30 36 34 39 31 78 72 70 76 9 79 71 58 2 0 52 50 56 54 1 59

Exemple  : BONJOUR devient 38 9 76 31 9 52 58

Deuxième phase

Les chiffres des messages sont découpés en blocs de 5 chiffres.

Rapport P.F.E Page 35


Exemple  : BONJOUR devient 38976 31952 58

Troisième phase
Le Che additionne en modulo 10* le message obtenu avec un nombre de 5 chiffres
(même taille que le message donc, c'est important) connu de lui et de Fidel Castro
seulement. Ce nombre a été choisi au préalable aléatoirement et constitue la clé secrète.
Choisissons par exemple 25638 comme clé secrète et chiffrons les deux premiers blocs de
BONJOUR ("clair" désigne les blocs obtenus en phase 2) : 

#BLOC 1#
38976 [clair]
25638 [clé]
------ 
53504 [crypté]

#BLOC 2#
31952 [clair]
25638 [clé]
------ 
56580 [crypté]

L'addition en modulo 10 signifie qu'on ne prend pas en compte les retenues : 6 + 6 = 2,


3 + 7 = 0, 8 + 9 = 7, etc. Et que fait-on du "58" isolé en fin de message ? On le groupe avec
le bloc suivant, etc...

Quatrième phase
Envoi de tous les blocs cryptés à Fidel Castro. Et destruction du brouillon ayant servi à
faire les calculs, si possible ! Car quiconque mettait la main sur le papier, prenait par la
même occasion connaissance de la clé, et le déchiffrement en devenait ridiculement facile : il
suffisait en effet de soustraire au message crypté la même clé. Et je ne parle même pas du
cas de figure où le calcul est écrit en détail sur la feuille, de telle sorte qu'il suffit de lire le
message en clair. [5]

3. La cryptographie

3.1. Chiffrement et déchiffrement

Rapport P.F.E Page 36


Les données qui peuvent être lues et comprises sans mesures spéciales sont
appelées texte clair (ou libellé). Le procédé qui consiste à dissimuler du texte clair de façon à
cacher sa substance est appelée chiffrement [dans le langage courant on parle plutôt de
cryptage et de ses dérivés: crypter, décrypter]. Chiffrer du texte clair produit un charabia
illisible appelé texte chiffré (ou cryptogramme). Vous utilisez le chiffrement pour garantir que
l’information est cachée à quiconque elle n’est pas destinée, même ceux qui peuvent lire les
données chiffrées. Le processus de retour du texte chiffré à son texte clair originel est appelé
déchiffrement. [6]

Figure 12: Chiffrement et déchiffrement

3.2. La cryptographie forte

“Il y a deux sortes de cryptographie dans ce monde: la cryptographie qui empêchera


votre petite sœur de lire vos fichiers, et la cryptographie qui empêchera les grands
gouvernements de lire vos fichiers. Ce livre traite de la seconde.”

PGP traite aussi de la seconde sorte de cryptographie. La cryptographie peut être forte
ou faible, comme expliqué ci-dessus. La force de la cryptographie est mesurée par le temps
et les ressources qui seraient nécessaires pour retrouver le texte clair. Le résultat de la
cryptographie forte est un texte chiffré qui est très difficile à déchiffrer sans la possession de
l’outil de déchiffrement approprié. A quel point est-ce difficile? Même en utilisant toute la
puissance informatique disponible dans le monde aujourd’hui à plein temps – même avec un
milliard d’ordinateurs effectuant chacun un milliard de vérifications à la seconde – il serait
impossible de déchiffrer le résultat d’une cryptographie forte avant la fin de l’univers.
Certains penseront, alors, que la cryptographie forte devrait tenir plutôt bien même contre un
cryptanalyste extrêmement déterminé. Qui peut le dire vraiment? Personne n’a pu prouver
que le plus fort chiffrement qu’on puisse se procurer aujourd’hui tiendra devant la puissance

Rapport P.F.E Page 37


informatique de demain. Cependant, la cryptographie forte employée par PGP est la
meilleure disponible aujourd’hui. La vigilance et le conservatisme vous protégeront mieux,
toutefois, que toute prétention d’impénétrabilité. [7]

3.3. Fonctionnement de la cryptographie

Un algorithme cryptographique, ou chiffre, est une fonction mathématique utilisée dans


le processus de chiffrement et de déchiffrement. Un algorithme cryptographique fonctionne
en combinaison avec une clé – un mot, un nombre, ou une phrase – pour chiffrer le texte
clair. Le même texte clair se chiffre en un texte chiffré différent si l’on utilise des clés
différentes. La sécurité des données chiffrées est entièrement dépendante de deux choses:
la force de l’algorithme cryptographique et le secret de la clé. Un algorithme cryptographique,
plus toutes les clés possibles et tous les protocoles qui le font fonctionner constitue un crypto
système. PGP est un crypto système.

3.4. Cryptographie symétrique

Le chiffrement à clé privée, aussi appelé chiffrement symétrique ou chiffrement à clé


secrète, consiste à utiliser la même clé pour le chiffrement et le déchiffrement. 
Si A veut envoyer un message à B, tous deux doivent au préalable s’être transmis la
clé.  Celle-ci est identique chez l’émetteur et le destinataire du message. Les deux parties
doivent se communiquer la clé à un  moment ou à un autre, ce qui constitue un risque non
négligeable d'interception. Elle peut servir pour plusieurs messages ou être modifiée à
chaque échange. Dans le premier cas, elle repose sur la confiance en l'utilisateur. 
Les systèmes à clé privée posent un second problème. Si une clé différente est mise en
œuvre pour chaque paire d’utilisateurs du réseau, le nombre total des clés augmente
beaucoup plus rapidement que celui de protagonistes. [8]

Rapport P.F.E Page 38


Figure 13: Cryptographie symétrique (clé privée)

3.5. Cryptographie asymétrique

La cryptographie asymétrique, ou cryptographie à clé publique, est une méthode


de chiffrement qui s'oppose à la cryptographie symétrique. Elle repose sur l'utilisation d'une
clé publique (qui est diffusée) et d'une clé privée (gardée secrète), l'une permettant de coder
le message et l'autre de le décoder. Ainsi, l'expéditeur peut utiliser la clé publique du
destinataire pour coder un message que seul le destinataire (en possession de la clé privée)
peut décoder, garantissant la confidentialité du contenu. Inversement, l'expéditeur peut
utiliser sa propre clé privée pour coder un message que le destinataire peut décoder avec la
clé publique ; c'est le mécanisme utilisé par la signature numérique pour authentifier l'auteur
d'un message.[9]

Rapport P.F.E Page 39


Figure 14: Cryptographie asymétrique (clé public)

3.6. Cryptographie hybride

PGP combine à la fois les meilleures fonctionnalités de la cryptographie


conventionnelle et de la cryptographie à clé publique. PGP est un crypto système hybride.
Quand un utilisateur chiffre du texte clair avec PGP, PGP compresse d’abord le texte clair.
La compression de données économise du temps de transmission par modem et de l’espace
disque et, ce qui est plus important, renforce la sécurité cryptographique. La plupart des
techniques de cryptanalyse exploitent les redondances trouvées dans le texte clair pour
craquer le texte chiffré. La compression réduit ces redondances dans le texte clair, ce qui
augmente grandement la résistance à la cryptanalyse. (Les fichiers qui sont trop petits pour
être compressés ou qui ne se compressent pas bien ne sont pas compressés.) PGP crée
ensuite une clé de session, qui est une clé secrète qui ne sert qu’une fois. Cette clé est un
nombre aléatoire généré à partir des mouvements aléatoires de votre souris et des touches
du clavier sur lesquelles vous tapez. Cette clé de session fonctionne avec un algorithme de
chiffrement conventionnel très sûr et rapide qui chiffre le texte clair; le résultat est le texte
chiffré. Une fois que les données sont chiffrées, la clé de session est elle-même chiffrée
avec la clé publique du destinataire. Cette clé de session chiffrée par la clé publique est
transmise avec le texte chiffré au destinataire.

Rapport P.F.E Page 40


Figure 15: Processus du chiffrement PGP

Le déchiffrement fonctionne de la manière inverse. La copie de PGP du destinataire


utilise la clé privée de celui-ci pour retrouver la clé de session temporaire, que PGP utilise
ensuite pour déchiffrer le texte chiffré de manière conventionnelle.

Figure 16: Processus du déchiffrement PGP

La combinaison des deux méthodes de chiffrement associe la commodité du


chiffrement à clé publique avec la vitesse du chiffrement conventionnel. Le chiffrement
conventionnel est environ 1000 fois plus rapide que le chiffrement à clé publique. Le

Rapport P.F.E Page 41


chiffrement à clé publique fournit quant à lui une solution aux problèmes de distribution de la
clé et de transmission des données. Utilisées toutes les deux, la performance et la
distribution de la clé sont améliorées sans aucun sacrifice sur la sécurité. [Ref2]

3.7. Les clés

Une clé est une valeur qui est utilisée avec un algorithme cryptographique pour
produire un texte chiffré spécifique. Les clés sont, à la base, de très, très, très grands
nombres. La taille d’une clé se mesure en bits; et le nombre qui peut être représenté par une
clé de 1024 bits est vraiment immense. En matière de cryptographie à clé publique, plus la
clé est grande, plus le chiffrement est sûr. Cependant, la taille d’une clé publique n’est
absolument pas comparable avec la taille des clés secrètes employées en cryptographie
conventionnelle. Une clé conventionnelle de 80 bits offre une sécurité équivalente à celle
d’une clé publique de 1024 bits. Une clé conventionnelle de 128 bits équivaut à une clé
publique de 3000 bits. Encore une fois, plus grande est la clé, plus grande est la sécurité,
mais les algorithmes utilisés pour chaque type de cryptographie sont très différents, et donc,
comparer les tailles de clés revient à comparer des pommes et des oranges. Bien que la clé
publique et la clé privée soient liées, il est très difficile de déduire la clé privée en partant de
la seule clé publique; toutefois, il est toujours possible de déduire la clé privée si l’on dispose
de suffisamment de temps et de puissance de calcul. Il est donc très important de choisir
une clé d’une taille convenable; assez grande pour être sûre, mais suffisamment petite pour
pouvoir être utilisée relativement rapidement. De surcroît, vous devez prendre en
considération la nature des attaquants susceptibles de vouloir lire vos fichiers, leur
détermination, le temps dont ils disposent, et leurs ressources éventuelles. Les clés les plus
grandes resteront cryptographiquement sûres pour une plus longue période. Si ce que vous
chiffrez doit rester caché de nombreuses années, vous voudrez sans doute utiliser une clé
très grande. Qui peut dire en effet combien de temps il faudra pour casser votre clé en
utilisant les ordinateurs du futur, plus rapides et plus efficaces? Il fut un temps où une clé
symétrique de 56 bits était considérée comme extrêmement sûre. Les clés sont stockées
sous forme chiffrée. PGP stocke les clés dans deux fichiers sur votre disque dur; l’un pour
les clés publiques et l’autre pour les clés privées. Ces fichiers sont appelés des trousseaux
de clés. Quand vous utiliserez PGP, vous ajouterez les clés publiques de vos
correspondants à votre trousseau public. Vos clés privées sont stockées dans votre
trousseau privé. Si vous perdez votre trousseau privé, vous serez incapable de déchiffrer
tout message destiné à l’une des clés qui était dans ce trousseau. [B2]

Rapport P.F.E Page 42


3.8. Signature numérique

Un des avantages majeurs de la cryptographie à clé publique est qu’elle procure une
méthode permettant d’utiliser des signatures numériques. Les signatures numériques
permettent à la personne qui reçoit une information de contrôler l’authenticité de son origine,
et également de vérifier que l’information en question est intacte. Ainsi, les signatures
numériques des systèmes à clé publique permettent l’authentification et le contrôle d’intégrité
des données. Une signature numérique procure également la non répudiation, ce qui signifie
qu’elle empêche l’expéditeur de contester ultérieurement qu’il a bien émis cette information.
Ces éléments sont au moins aussi importants que le chiffrement des données, sinon
davantage.
Une signature numérique a le même objet qu’une signature manuelle. Toutefois, une
signature manuelle est facile à contrefaire. Une signature numérique est supérieure à une
signature manuelle en ce qu’elle est pratiquement impossible à contrefaire et, de plus, elle
atteste le contenu de l’information autant que l’identité du signataire. Certaines personnes
utilisent les signatures plus qu’elles n’utilisent le chiffrement. Par exemple, vous pouvez vous
moquer que quelqu’un puisse savoir que vous venez de déposer 10.000 F sur votre compte
bancaire, mais vous voudrez être absolument certain que c’est bien avec votre banquier que
vous avez traité.
La méthode de base utilisée pour créer des signatures numériques est illustrée sur la
Figure ci-dessous. Au lieu de chiffrer l’information en utilisant la clé publique d’autrui, vous la
chiffrez avec votre propre clé privée. Si l’information peut être déchiffrée avec votre clé
publique, c’est qu’elle provient bien de vous. [B2]

Figure 17: Signature numérique simple

Rapport P.F.E Page 43


3.9. Fonction de hachage

Une fonction de hachage est aussi appelée fonction de hachage à sens unique ou
"one-way hash function" en anglais. Ce type de fonction est très utilisé en cryptographie,
principalement dans le but de réduire la taille des données à traiter par l'algorithme de
chiffrement. En effet, la caractéristique principale d'une fonction de hachage est de produire
un haché des données, c'est-à-dire un condensé de ces données. Ce condensé est de taille
fixe, dont la valeur diffère suivant la fonction utilisée.
Fonctions de hachage usuelles :
- MD4 et MD5 (Message Digest) furent développées par Ron Rivest. MD5 produit des
hachés de 128 bits en travaillant les données originales par blocs de 512 bits.
- SHA-1 (Secure Hash Algorithm 1), comme MD5, est basé sur MD4. Il fonctionne
également à partir de blocs de 512 bits de données et produit par contre des
condensés de 160 bits en sortie. Il nécessite donc plus de ressources que MD5.
- SHA-2 (Secure Hash Algorithm 2) a été publié récemment et est destiné à remplacer
SHA-1. Les différences principales résident dans les tailles de hachés possibles : 256,
384 ou 512 bits. Il sera bientôt la nouvelle référence en termes de fonction de hachage.
- RIPEMD-160 (Ripe Message Digest) est la dernière version de l'algorithme RIPEMD.
La version précédente produisait des condensés de 128 bits mais présentait des failles
de sécurité importantes. La version actuelle reste pour l'instant sure; elle produit comme
son nom l'indique des condensés de 160 bits. Un dernier point la concernant est sa
relative gourmandise en termes de ressources et en comparaison avec SHA-1 qui est
son principal concurrent.
- Tiger : Tiger est une fonction de hachage cryptographique conçue par Ross Anderson
et Eli Biham en 1996. Tiger fournit une empreinte sur 192 bits mais des versions sur
128 et 160 bits existent aussi. Ces versions raccourcies prennent simplement les
premiers bits de la signature de 192 bits. [B2]

Rapport P.F.E Page 44


Figure 18: Signature numérique sécurisées

3.10. Certificats numériques

Lors de l'utilisation des systèmes de cryptographie de clé publique, les utilisateurs


doivent constamment vérifier qu'ils cryptent vers la clé du bon utilisateur, ce qui constitue un
problème. Dans un environnement où le libre échange de clés via des serveurs publics est
sécurisé, toute attaque menée par une personne intermédiaire, encore appelée un
intercepteur, représente une menace éventuelle. Dans ce type d'attaque, une personne
place une fausse clé comportant le nom et l'ID utilisateur du destinataire. Les données
cryptées (et interceptées) vers le détenteur réel de cette clé erronée sont dorénavant entre
de mauvaises mains. Dans un environnement de clé publique, il est essentiel de s'assurer
que la clé publique vers laquelle vous cryptez les données est celle du destinataire
concerné et non une contrefaçon. Vous pouvez crypter uniquement vers les clés qui vous
ont été distribuées physiquement. Supposons maintenant que vous devez échanger des

Rapport P.F.E Page 45


informations avec des personnes que vous ne connaissez pas, comment savoir que vous
êtes en possession de la bonne clé ?
Les certificats numériques ou certificats simplifient la tâche qui consiste à déterminer si
une clé publique appartient réellement à son détenteur supposé. Un certificat correspond à
une référence. Il peut s'agir par exemple de votre permis de conduire, de votre carte de
sécurité sociale ou de votre certificat de naissance. Chacun de ces éléments contient des
informations vous identifiant et déclarant qu'une autre personne a confirmé votre identité.
Certains certificats, tels que votre passeport, représentent une confirmation de votre identité
suffisamment importante pour ne pas les perdre, de crainte qu'une autre personne ne les
utilise pour usurper votre identité. Un certificat numérique contient des données similaires à
celles d'un certificat physique. Il contient des informations associées à la clé publique d'une
personne, aidant d'autres personnes à vérifier qu'une clé est authentique ou valide. Les
certificats numériques permettent de contrecarrer les tentatives de substitution de la clé
d'une personne par une autre.
Un certificat numérique se compose de trois éléments :

 Une clé publique.

 Des informations sur le certificat. (Informations sur l'« identité » de l'utilisateur,


telles que son nom, son ID utilisateur, etc.)

 Une ou plusieurs signatures numériques.

La signature numérique d'un certificat permet de déclarer que ses informations ont été
attestées par une autre personne ou entité. La signature numérique ne garantit pas
totalement l'authenticité du certificat. Elle confirme uniquement que les informations
d'identification signées correspondent ou sont liées à la clé publique.
Ainsi, un certificat équivaut en réalité à une clé publique comportant un ou deux types
d'ID joints ainsi qu'une estampille agréée par d'autres personnes fiables. [B2]

3.11. Cryptanalyse

On appelle cryptanalyse la reconstruction d'un message chiffré en clair à l'aide de


méthodes mathématiques. Ainsi, tout crypto-système doit nécessairement être résistant aux
méthodes de cryptanalyse. Lorsqu'une méthode de cryptanalyse permet de déchiffrer un
message chiffré à l'aide d'un crypto-système, on dit alors que l'algorithme de chiffrement a
été « cassé ».
On distingue habituellement quatre méthodes de cryptanalyse :

Rapport P.F.E Page 46


 Une attaque sur texte chiffré seulement consiste à retrouver la clé de
déchiffrement à partir d'un ou plusieurs textes chiffrés.
 Une attaque sur texte clair connu consiste à retrouver la clé de déchiffrement à
partir d'un ou plusieurs textes chiffrés, connaissant le texte en clair
correspondant 

 Une attaque sur texte clair choisi consiste à retrouver la clé de déchiffrement à


partir d'un ou plusieurs textes chiffrés, l'attaquant ayant la possibilité de les
générer à partir de textes en clair 

 Une attaque sur texte chiffré choisi consiste à retrouver la clé de déchiffrement à


partir d'un ou plusieurs textes chiffrés, l'attaquant ayant la possibilité de les
générer à partir de textes en clair. [B2]

4. Les algorithmes de cryptographie

4.1. Les algorithmes de cryptographie symétriques

4.1.1. DES

Le DES est née, en 1976, des recherches qui suivirent l'appel d'offres lancé par le NBS
(National Bureau of Standards). Ce système, destiné aux civils, devait répondre au cahier
des charges suivant:

 l'algorithme repose sur une clé assez petite, qui sert au chiffrement et au
déchiffrement.

 l'algorithme doit être rapide et facile à implémenter, pour les logiciels et


matériellement.

 le chiffrement doit avoir un haut niveau de sûreté, uniquement lié à la clé, et non à la
confidentialité de l'algorithme.

Grâce aux efforts d'IBM (qui propose Lucifer fin 1974), et de la NSA (National Security
Agency), le DES (Data Encryption Standard) est créé. Il a été l'algorithme de chiffrement le
plus utilisé au monde durant le dernier quart du XXème siècle.

Rapport P.F.E Page 47


 Méthode de chiffrement :
Le DES repose sur le cryptage séparé de parties du texte en clair. Nous ne détaillerons
pas plus ce système puisqu'il fait appel à des connaissances dans l'encodage des fichiers en
informatique, et la manipulation des bits (succession de 0 et de 1).

 Les limites du DES


Le DES admet 256 clés possibles, soit environ 72 millions de milliards possibilités. Et
pourtant, le 17 juin 1997, le DES est cassé en trois semaines par une fédération de petites
machines sur internet. Maintenant, on estime (selon un rapport présenté au Sénat
Américain) le temps nécessaire, à un Etat, pour décrypter un message chiffré avec le DES à
seulement quelques secondes. Le temps du DES était donc révolu. Pour pallier ce problème
le triple DES à été adopté: c'est l'application du DES trois fois de suite avec 2 clés
différentes. [10]

4.1.2. 3DES

Le tripleDES (3DES) est en fait l'algorithme DES appliqué trois fois sur les données. Il
a été conçu par Whitfield Diffie, Martin Hellman et Walt Tuchmann en 1978. L'algorithme
utilise une taille de clé comprise entre 128 bits et 192 bits. La taille des blocs est de 8 octets
(64 bits). Le tripleDES a été approuvé FIPS (Federal Information Processing Standards) par
le NIST et donc peut être utilisé par les organisations gouvernementales. [11]

4.1.3. AES

AES (Advanced Encryption Standard), en français « standard de chiffrement avancé


». Il s'agit d'un algorithme de chiffrement symétrique, choisi en octobre 2000 par le NIST
pour être le nouveau standard de chiffrement pour les organisations du gouvernement des
États-Unis. Il est issu d'un appel d'offre international lancé en janvier 1997 et ayant reçu 15
propositions. Parmi ces 15 algorithmes, 5 furent choisis pour une évaluation plus poussée en
avril 1999, MARS, RC6, Rijndael, Serpent, et Twofish. Au bout de cette évaluation, ce fut
finalement le candidat Rijndael, du nom de ses deux concepteurs Joan Daemen et Vincent
Rijmen (tous les deux de nationalité belge) qui a été choisi. Ces deux experts en
cryptographie étaient déjà les auteurs d'un autre algorithme : Square. Le terme d'AES
remplace désormais celui de Rijndael mais l'algorithme n'a pas été modifié. Ceci n'est pas
tout à fait vrai, AES est un sous-ensemble de Rijndael puisque il ne travaille qu'avec des
blocs de 128 bits alors que Rijndael offre des tailles de blocs et de clefs qui sont des
multiples de 32 (compris entre 128 et 256 bits).

Rapport P.F.E Page 48


Ce faisant, l'AES remplace le DES (choisi comme standard dans les années 1970)
qui de nos jours devenait obsolète, car il utilisait des clefs de 56 bits seulement. L'AES a été
adopté par le NIST (National Institute of Standards and Technology) en 2001. De plus, son
utilisation est très pratique car il consomme peu de mémoire et n'étant pas basé sur des
schémas de Feistel, sa complexité est moindre et il est plus facile à implémenter. [12]

4.1.4. Blowfish

Blowfish a été conçu par Bruce Schneier en 1993 comme étant une alternative aux
algorithmes existants, en étant rapide et gratuit. Blowfish est sensiblement plus rapide que le
DES. Il est un chiffrement Feistel, utilisant itérativement une fonction de chiffrement 16 fois.
La grandeur des blocs est de 64 bits. Il peut prendre une longueur de clé variant entre 32
bits et 448 bits. Depuis sa conception il a été grandement analysé et est aujourd'hui
considéré comme étant un algorithme de chiffrement robuste. Il n'est pas breveté et ainsi son
utilisation est libre et gratuite. [13]

4.2. Les algorithmes de cryptographie asymétriques

4.2.1. RSA

La méthode de cryptographie RSA a été inventée en 1977 par Ron Rivest, Adi
Shamir et Len Adleman, à la suite de la découverte de la cryptographie à clé publique par
Diffie Hallman, d’où le sigle RSA. RSA a été breveté par le MIT en 1983 aux Etas-Unis
d’Amérique, mais le brevet a expiré le 21 septembre 2000. Au départ, Rivest, Shamir et
Adleman voulaient prouver que tout système à clé publique possède une faille.

En fait, la sécurité de cet algorithme repose sur deux conjonctures : casser RSA
nécessite la factorisation du nombre n et la factorisation est un problème difficile. Par difficile,
on entend qu’il n’existe pas d’algorithme rapide pour résoudre cette question. Si l’on veut
être un peu plus précis, on pense qu’il n’existe pas d’algorithme ayant une complexité
polynomiale en temps qui donne les facteurs premiers d’un nombre quelconque. Il est
possible que l’une des deux conjectures soit fausse, voire que les deux le soient. Si c’est le
cas, alors RSA n’est pas sûr. Cela fait néanmoins maintenant plus de 20 ans que RSA est
cryptanalysé et celui-ci n’a pas encore été cassé, on peut donc raisonnablement le
considérer comme un algorithme sûr. Ce pendant si une personne venait à trouver un moyen
rapide de factoriser ce nombre n, tous les algorithmes de chiffrement fondés sur ce principe
seraient remis en cause et rendus non sûrs, remettant en cause par la même occasion
toutes les données chiffrées auparavant à l’aide de ces algorithmes. [14]

Rapport P.F.E Page 49


5. Cryptographie sur les courbes elliptiques
En cryptographie, les courbes elliptiques, des objets mathématiques, peuvent être
utilisées pour des opérations asymétriques comme des échanges de clés sur un canal non-
sécurisé ou un chiffrement asymétrique, on parle alors de cryptographie sur les courbes
elliptiques ou ECC (de l'acronyme anglais Elliptic curve cryptography). L'usage des courbes
elliptiques en cryptographie a été suggéré, de manière indépendante, par Neal Koblitz et
Victor Miller en 1985.

Les clés employées pour un chiffrement par courbe elliptique sont plus courtes


qu'avec un système fondé sur le problème de la factorisation comme RSA. De plus l'ECC
procure un niveau de sécurité équivalent ou supérieur aux autres méthodes. Un autre attrait
de l'ECC est qu'un opérateur bilinéaire peut être défini entre les groupes. Cet opérateur se
base sur le couplage de Weil ou le couplage de Tate. Les opérateurs bilinéaires se sont
récemment vus appliqués de nombreuses façons en cryptographie, par exemple pour le
chiffrement basé sur l'identité. Un point négatif est que les opérations de chiffrement et de
déchiffrement peuvent avoir une plus grande complexité que pour d'autres méthodes.

La résistance d'un système fondé sur les courbes elliptiques repose sur le problème
du logarithme discret dans le groupe correspondant à la courbe elliptique. Les
développements théoriques sur les courbes étant relativement récents, la cryptographie sur
courbe elliptique n'est pas très connue et souffre d'un grand nombre de brevets qui
empêchent son développement. [B2]

6. Cryptographie Quantique
Le chiffrement parfait existe: il s'agit du "One-Time Pad" de Vernam, dit aussi masque
jetable, utilise notamment pour chiffrer le téléphone rouge entre Moscou et Washington
pendant la guerre froide. Le problème principal de ce protocole est le transport des clés:
celles- ci doivent être aussi grandes que le message, et la valise diplomatique n'est pas a la
portée du particulier. Les algorithmes a clé publique, développes auparavant, permettent de
résoudre ce problème mais rien ne stipule qu'ils sont inviolables. Le protocole utilise ici
permet la création d'un canal d'échange de clé dont la sureté repose sur des lois physiques
inviolables.

La physique classique (a notre échelle) permet la mesure de toutes les propriétés


physiques. L’information est codée a l'aide de propriétés physique mesurables d'un objet ou

Rapport P.F.E Page 50


d'un signal (papier, bande magnétique, signal radio...), un espion pourrait mesurer ces
propriétés sans qu'il soit possible de s'en rendre compte.

Dans le monde quantique (a très petite échelle), cette possibilité disparait. Les effets
quantiques se manifestent pour des objets microscopiques, comme les atomes ou les
photons ("particules" de lumière), ou l'acte de mesurer n'est alors pas uniquement un
processus passif. Il est alors possible de concevoir un canal quantique - qui transporte des
signaux bases sur des phénomènes quantiques - ou l'écoute même de ces signaux perturbe
irrémédiablement ces derniers, ce qui rend impossible de lire deux fois l'information. C'est
une des conséquences du principe de Verner Heisenberg.

 Photons et polarisation

La plus petite unité de la lumière, le photon, peut être assimilée à un minuscule


champ électrique oscillant. La direction de l'oscillation est la polarisation du photon. La
lumière naturelle est compose de photons dont les polarisations sont quelconques,
cependant, en faisant passer cette lumière dans un filtre polariseur, il est possible de ne
garder que les photons dont la polarisation est parallèle au filtre.

Nous sommes donc capables d'émettre des photons ayant une polarisation de 0°,
45°, 90°, et 135°. On peut détecter d'une façon certaine grâce a un cristal de calcite place a
0° la polarisation de photons polarises a 0° ou 90°.

Si le photon possède une polarisation de 45° ou de 135° avec un cristal toujours a 0°,
le résultat sera aléatoire, il donnera 0° ou 90°. Maintenant, si le cristal est place a 45°, il
permet de détecter de façon certaine les polarisations diagonales mais de manière aléatoire
les polarisations rectilignes (0° ou 90°). De plus, il est impossible de lire la polarisation sans
la modifier (principe d'incertitude de Heisenberg), on ne peut donc pas effectuer plusieurs
mesures sur un même photon, et donc connaitre de façon certaine la polarisation de
n'importe quel photon. Voici les bases avec lesquelles nous allons construire un protocole
parfaitement sur. Dans la suite, pour simplifier le fonctionnement du cristal, on le considérera
comme un filtre (et on le nommera ainsi) laissant ou non passer le photon suivant sa polarité.
D’un objet ou d'un signal sans que ces propriétés ne soient perturbées.

 Description du protocole

Voici un exemple de protocole permettant de transmettre une clé composée de bits


d'Alice à Bob. Ils possèdent deux canaux: un quantique avec lequel ils peuvent échanger
des photons polarises et un canal classique non sécurisé ou ils peuvent discuter. Ils

Rapport P.F.E Page 51


conviennent que les photons polarises a 0° ou 45° représentent 0, et ceux polarises a 90° ou
135° représentent 1. Alice émet, sur le canal quantique, une suite de photons polarises au
hasard parmi 0°, 45°, 90° et 135°. A l'autre bout, Bob reçoit les photons et mesure
aléatoirement soit leur polarisation rectiligne (filtre place a 0°), soit leur polarisation diagonale
(filtre place a 45°). Si le photon traverse le filtre, Bob note 0, sinon il note 1.

Bien sur, certaines mesures de Bob (en moyenne, une sur deux) n'ont pas d'intérêt : il
a pu essayer de mesurer la polarisation rectiligne d'un photon polarise a 45°, ce qui n'a pas
de sens et donne un résultat aléatoire (par exemple, le photon a été bloque par le filtre, Bob
note donc 1 alors qu'Alice avait envoyé 0). Pour éliminer ces bits sans sens, il indique à
Alice, par le canal radio, quel type de mesure (rectiligne ou diagonale) il a fait pour chaque
photon. Par le même canal radio, Alice lui indique quelles sont les mesures correctes
(photon polarise a 0° ou 90° avec filtre rectiligne, photon a 45° ou 135° avec filtre diagonal).

Il faut encore vérifier que ce protocole est sur. Si caroline écoute le canal quantique,
elle peut faire la même chose que Bob, c'est à dire intercepter les photons en plaçant un
filtre polarisant tantôt rectiligne, tantôt diagonal. Pour que Bob ne se doute de rien, elle doit
remettre un photon polarise. Elle va essayer d'envoyer le même photon qu'Alice, mais
comme elle a une chance sur deux d'avoir choisi le mauvais filtre, elle a une chance sur
deux de se tromper. Quand Bob reçoit le photon, s'il est mal polarise par Caroline, il a une
chance sur deux d'avoir un résultat différent d'avec le photon original, et finalement, pour
chaque photon intercepte par Caroline, il y a une chance sur 4 que Bob reçoive une
information erronée. Alice et Bob décident alors de "sacrifier" une partie de leur clé
commune. Parmi tous les bits qu'ils ont en commun, ils en choisissent quelques-uns au
hasard, et les compare publiquement par le canal radio : s'ils sont différents, ils ont une
preuve qu'ils ont été écoutes, et ils oublient vite cette clé. En comparant suffisamment de
bits, ils ont une garantie presque absolue de ne pas avoir écoute. [B2]

7. Domaines d’application
Sans même forcement le savoir, la cryptographie est très présente dans la vie de
tous les jours et tend à le devenir de plus en plus. Voici des domaines bien connus ou elle
est utilisée massivement :

- Armée, Gouvernements qui sont bien sûr les mieux équipes.


- Système bancaire. La machine Enigma a été initialement développée pour les banques
et il y en a bien sur dans les cartes bleues.

Rapport P.F.E Page 52


- Internet (achats, identisation). En effet, les communications sur internet circulent dans
des infrastructures ou on ne peut pas garantir la fiabilité et la confidentialité, ils font
donc les sécuriser.

Remarque importante:

Si, comme dans la plupart des cas, le site est sécurisé (un petit cadenas apparaît en
bas ou en haut de votre navigateur) vous courrez infiniment moins de risque en effectuant
vos achats sur internet qu'en mettant le pied dehors (et je ne parle pas de retirer de l'argent
à un guichet automatique). Il faut bien se dire que si quelqu'un était capable de casser le
protocole cryptographique qui protège votre numéro de carte bancaire il aura bien mieux à
faire (niveau rentabilité) que de s'en servir pour vous attaquer ...

- Téléphones portables
- TV payante

- Cartes d'identités électroniques

- Vote électronique

- Authentification carte bancaire

- VoIP

- Paiement électronique

Au même titre que les protocoles précédemment évoqués, cette liste n'est pas du tout
exhaustif. On peut par exemple trouver des protocoles cryptographiques très complexes
dans un hôpital pour les dossiers médicaux. En effet ceux-ci Doivent être tenus secrets. Et
non pas secret pour tout le monde sinon vous ne serez jamais soigné et surtout ils ne sont
pas secrets au même niveau pour tous les personnels de l'hôpital. Quand on voit le nombre
de personnes avec leurs compétences différentes (et donc un niveau d'accessibilité au
dossier différent) qui gravitent autour d'un patient et le nombre de patients qu'il peut y avoir
dans un hôpital, on se dit, comme probablement la plupart des hôpitaux que c'est quand
même plus simple quand le dossier n'est pas secret et que la femme de ménage sait que
votre arrière grand mère n'était pas mariée quand elle a eu votre grand père. Heureusement
que les américains sont là pour faire des procès aux hôpitaux et donc donner du travail aux
cryptographes.

Rapport P.F.E Page 53


8. Tableau comparatif
Depuis des décennies, les algorithmes de chiffrement et de hachage ont sans cesse
été découverts, améliorés, et cassés. Le tableau ci-dessous retrace un historique des
diverses algorithmes, ceux qui sont cassés, et ce qui ne le sont pas encore. Cela permet de
faire le point sur les algorithmes encore considérés comme sûrs. [15]

Année
Année Type de Taille de Domaine
de
d’apparition l’algorithme clés d’application
cassage
- transmission
des données
informatique
DES 1976 Symétrique 64 Bits 1997
- était utilisé
par l’armée
américaine

Pas Même domaine


128 à
3DES 1978 Symétrique encore d’application du
192 Bits
cassé DES
cryptage de chaine
32 à 448
BLOWFISH 1993 Symétrique - de télévision à
Bits
péage
AES-
128 Bits
128
Pas Domaine médical
AES-
AES 1999 Symétrique 192 Bits encore (transfert sécurisé
192
cassé d’image médicale)
AES-
256 Bits
256

RSA-
100 Bits 1991
100
- Carte
RSA- bancaire
130 Bits 1996
130
RSA 1977 Asymétrique
RSA-
155 Bits 1999
155 - Paiement
électronique
RSA-
768 Bits 2010
768

Rapport P.F.E Page 54


Tableau 1: Comparaison des algorithmes de chiffrement

Si on regarde de prêt le cassage de l'algorithme RSA, voici ce que l'on a :

Figure 19: Graphe de cassage de l'algorithme RSA

Voici ce que l'on remarque :

-De 1990 à 2002 : Une courbe très linéaire ! Pourquoi ? La difficulté à casser un
algorithme est une courbe exponentielle d'un algorithme à l'autre. Cependant, cette courbe
est fortement atténuée par cette autre courbe exponentielle que tout le monde connait : la
puissance des ordinateurs d'une année à l'autre 

-En 2003 : Une rupture ! Pourquoi cette rupture ? Parce qu'à la courbe exponentielle
de la puissance de calcul s'ajoute l'évolution des Mathématiques ! Des avancées énormes
en terme de théories de factorisation des grands nombres ont permit de bondir vers le
cassage des algorithmes RSA pour des nombres de 576 et 640 chiffres !

Nous vous conseillons Pour vos applications cryptographiques (VPN, chiffrement de


documents..) nous vous conseillons actuellement de choisir AES et RSA-1024 pour le
chiffrement. Triple-DES vit certainement ses dernières années de robustesse...

Rapport P.F.E Page 55


9. Conclusion
Les cryptographes n'ont cessé de redoubler d'ingéniosité, faisant se succéder des
dizaines de systèmes de chiffrement plus recherchés les uns que les autres. Se livrant
bataille pour la gloire ou l'argent, ils n'ont cessé de faire évoluer cette science qu'est la
cryptographie. Avec d'abord une mécanisation (notamment la machine Enigma), puis grâce
à l'avènement des ordinateurs, et avec eux une puissance de calcul surpassant de loin le
niveau humain, la cryptographie a su trouver son chemin dans les dédales du progrès.

Progrès qui ne s'arrête jamais, déjà maintenant, d'autres voies, encore obscures, se
dessinent :

 Les ordinateurs quantiques : ils procureraient une puissance de calcul colossale, et


une sécurité infaillible ! Cependant, la théorie est là, mais la mise en œuvre semble
très difficile... pour l'instant.
 la cryptographie multi variable quadratique : des multiples équations faisant intervenir
jusqu'à 120 variables

 Des méthodes fondées sur les courbes elliptiques

Rapport P.F.E Page 56


CHAPITRE III : MISE EN PLACE DE LA
PLATEFORME

1. Introduction
L’étude que nous avons réalisée dans les chapitres précédents nous a permis de
définir les grandes généralités, services, catégories et protocoles liées aux VPN, et de
présenter les différents types de chiffrement.

L’objectif de ce projet est de comparer les différents algorithmes de chiffrement dans


un réseau VPN.

Pour permettre l’établissement d’un VPN, on a utilisé un système FREE BSD


«PFSENSE », il permet aussi l’utilisation de nombreux algorithmes de chiffrement tel que
DES, 3DES, BLOWFISH, AES …

2. Mise en place de la maquette

2.1. Schéma de principe

Avant tout, voici le schéma général de l’installation mis en place (bien entendu,
toutes les adresses IP sont à adapter) :

Rapport P.F.E Page 57


Figure 20: Schéma de principe

2.2. Configuration de PFSENSE


Après la mise en place du réseau on doit configurer les 2 serveurs PFSENSE via une
interface web.

2.2.1. Configuration de Master PFSENSE

Connectez une machine sur la carte réseau de PFSENSE (cote LAN). Ouvrez ensuite
votre navigateur Web, puis entrez http : //192.168.1.1 (dans notre cas).

Entrez ensuite le login (par défaut admin, mot de passe : pfsense).

On accède alors à l’interface de configuration de PFSENSE :

Rapport P.F.E Page 58


Figure 21: Interface PFSENSE

 Coté WAN :

Nous allons maintenant configurer l’interface WAN. Sélectionnez l’onglet suivant :

Figure 22: Accès à l’interface WAN

Rapport P.F.E Page 59


Sélectionnez le «  SelectedType » «  Static », l’adresse IP de la carte

IP : 192.168.3.2

Décochez les deux cases «  bloc… » tout en bas :

Figure 23: Configuration de l’interface WAN MASTER

 Coté LAN :

Rapport P.F.E Page 60


Il faut ensuite configurer l’interface LAN pour y accéder sélectionnez l’onglet
suivant :

Figure 24: Accès à l’interface LAN Master

Afin que notre interface LAN puisse communiquer avec la plage d’adresse WAN
192.168.3.0/24, il faut changer le « Bridge with » en « WAN ».

Figure 25: Configuration de l’interface LAN Master

 Routage :

Pour que les réseaux LAN 1 (192.168.1.0/24) et LAN 2 (192.168.2.0/24) puissent


communiquer ensemble, on doit créer une route statique vers LAN 2, en utilisant
l’interface WAN PFSENSE slave comme passerelle (192.168.3.1/24).

Rapport P.F.E Page 61


Figure 26: Table de routage «PFSENSE  Master »

 Firewall :

Par défaut le firewall bloque tous le trafic, Dans notre cas ou la simplicité de mise en
place est recherchée, il est possible d’autoriser tous les ports en sortie pour tout les
protocoles coté LAN et coté WAN. Pour un fonctionnement plus sur et mieux maitrise, seuls
les ports nécessaires seront ouverts. Il sera alors nécessaire de faire l’inventaire exhaustif de
tous les services nécessaires, ce qui représente un travail important.

Rapport P.F.E Page 62


Figure 27: Configuration du firewall Master

Rapport P.F.E Page 63


2.2.2. Configuration de Slave PFSENSE

Connectez une machine sur la carte réseau de PFSENSE (cote LAN). Ouvrez ensuite
votre navigateur Web, puis entrez http : //192.168.2.1 (dans notre cas).

 Coté WAN :

Sélectionnez le «  SelectedType » «  Static », l’adresse IP de la carte


IP : 192.168.3.1
Décochez les deux cases «  bloc… » Tout en bas :

Figure 28: Configuration de l’interface WAN Slave

Rapport P.F.E Page 64


 Coté LAN :

Figure 29: Configuration de l’interface LAN Slave

 Routage :

Pour que les réseaux LAN 1 (192.168.1.0/24) et LAN 2 (192.168.2.0/24) puissent


communiquer ensemble, on doit créer une route statique vers LAN 1, en utilisant
l’interface WAN PFSENSE MASTER comme passerelle (192.168.3.2/24).

Figure 30: Table de routage «PFSENSE  Slave»

 Firewall :

La configuration du firewall sur PFSENSE Slave est similaire que celle sur Master

Rapport P.F.E Page 65


3. Mise en place des serveurs VPN IPSEC
IPSEC (Internet Protocol Security) est un ensemble de protocoles (couche 3 modèle OSI)
utilisant les algorithmes permettant le transport de données sécurisées sur un réseau IP.
Son objectif est d’authentifier et de chiffrer les données : le flux ne pourra être
compréhensible que par le destinataire final (chiffrement) et la modification des données par
des intermédiaires ne pourra être possible (intégrité).
Pour ce faire, le tunnel VPN sera établi entre deux PFSENSE comme on dit LAN-to-LAN.

3.1. Master PFSENSE

Dans le menu « VPN->tunnels->IPSEC ». On présente ci-dessous la configuration


requise pour le MASTER PFSENSE y inclus le mode VPN, l’algorithme de hachage et la clé
partagée comme on souhaite adopter le chiffrement symétrique.

Figure 31: Ajout d’un tunnel IPSEC

Remplissez les champs généraux suivants (toujours en adaptant avec vos adresses IP) :

 Interface : LAN.
 Local subnet : LAN subnet (sous réseau LAN de Master-PFSENSE).
 Remote subnet : 192.168.2.0/24 (sous réseau LAN de Slave-PFSENSE).
 Remote gateway: 192.168.3.1 (@IP WAN Slave-PFSENSE).
 Négociation mode : main.
 My identifier : My IP address.
 Encryption algorithm : 3DES.
 Hash Algorithm : SHA1.
 DH Key Group : 2.
 Lifetime : 28800.
 Pre-Shared Key : SELIMRAMZI
 Protocol : ESP (une règle Firewall sera créée pour autoriser en entrée ESP).
 Encryption algorithms : 3DES (décochez les autres possibilités).

Rapport P.F.E Page 66


 Hash algorithms : SHA1.
 PFS key group : 2.
 Lifetime : 3600.

Figure 32: Configuration IPSEC-Master

Rapport P.F.E Page 67


3.2. Slave PFSENSE

Par analogie se configure le SLAVE PFSENSE.

Répétez les étapes énoncées précédemment en changeant bien sur les paramètres
suivants :

 Remote subnet : 192.168.1.0/24 (sous réseau LAN de Master-PFSENSE).


 Remote gateway: 192.168.3.2/24 (@IP WAN Master-PFSENSE).

3.3. Test du tunnel IPSEC

Ainsi, le tunnel IPSEC est établi. PFSENSE permet le filtrage en toute élégance de
flux issu du tunnel sécurisé ce que plusieurs pare-feux ne le permettent pas facilement.

On souhaite autoriser tout type de trafic dans ce VPN : la règle présenté ci-dessous le nous
autorise.

Figure 33: Configuration du FIREWALL IPSEC

Rapport P.F.E Page 68


Apres la configuration du tunnel, la commande « Status : IPSEC » permet de vérifier
que la configuration est correcte.

Ici les routes des sous-réseaux apparaissent dans la SPD (Security Policy Database).

Figure 34: SPD MASTER

Figure 35: SPD SLAVE

Il faut créer de l’activité dans le tunnel IPSEC pour voir apparaitre le SAD (Security
Association Database) qui est une base de données contenant les associations de
sécurité.

Rapport P.F.E Page 69


Figure 36: SAD

Dans le résumé du statut IPSEC on voit que le tunnel est bien activé (statut au vert).

Figure 37: Statut IPSEC MASTER

Figure 38: Statut IPSEC SLAVE

Rapport P.F.E Page 70


4. Mesures et interprétations

4.1. Mesures

Partant de la plateforme réalisée précédemment, on souhaite reproduire une série de


test pour mesurer la métrique de la qualité de service : la latence vis-à-vis de notre approche
logique de sécurité pour notre tunnel IPSEC dans un réseau LAN.
On a donc intérêt à opter pour une démarche passive de métrologie où on se base
dans nos interprétations sur les traces et les fonctionnalités du système PFSENSE.
Les différents scénarios objet d’études et d’interprétations sont définis ci-dessous, ils
sont en fonction de la nature de l’algorithme de chiffrement implémenté : DES, 3DES, AES…

 Scénario 1 : Sans un tunnel VPN IPSEC.

 Scénario 2 : Avec un tunnel VPN IPSEC et « DES » comme algorithme de

chiffrement.

 Scénario 3 : Avec un tunnel VPN IPSEC et « 3DES » comme algorithme de

chiffrement.

 Scénario 4 : Avec un tunnel VPN IPSEC et « AES-256 » comme algorithme de

chiffrement.

 Scénario 5 : Avec un tunnel VPN IPSEC et « Blowfish-448 » comme algorithme de

chiffrement.

L’expérience consiste à injecter des paquets ICMP du LAN 2 (192.168.2.1) vers le


LAN 1 (192.168.1.2), le flux sera chiffré selon le type de l’algorithme de chiffrement
sélectionné sur PFSENSE.

Rapport P.F.E Page 71


La métrique est le RTT mesurée avec ICMP:

Source
Destinataire

T1 REQUEST

LATENCE

RTT ----------------------------------------------

T2 ACK

RTT = T2 – T1 avec T2 = le temps de réception de l’accusé.

T1 = le temps de l’envoi des données.

Latence = RTT / 2 = (T2 – T1) / 2

4.1.1. Scénario 1 : Sans VPN IPSEC

Rapport P.F.E Page 72


Figure 39: Mesure sans VPN IPSEC

Le but de ce scénario est de mesurer la RTT entre nos deux réseaux locaux sans
passer par le tunnel IPSEC (sans chiffrement), en envoyant des paquets ICMP :

Adresse source : 192.168.2.1


Adresse du destinataire : 192.168.1.2

Pour une mesure plus précise, on a envoyé 10 paquets, on obtient 10 RTT


différentes à partir desquelles on calcule la RTT moyenne.

Résultats :

RTTmoyenne = 0.371 ms

Latence = RTTmoyenne / 2 = 0.185 ms

4.1.2. Scénario 2 : avec VPN IPSEC « DES »

Rapport P.F.E Page 73


Figure 40: Mesure avec VPN IPSEC « DES »

Le but de ce scénario est de mesurer la RTT entre nos deux réseaux locaux en
passant par le tunnel IPSEC et comme algorithme de chiffrement le DES (Data Encryption
Standard), en envoyant des paquets ICMP :
Adresse source : 192.168.2.1
Adresse du destinataire : 192.168.1.2
Pour une mesure plus précise, on a envoyé 10 paquets, on obtient 10 RTT
différentes à partir desquelles on calcule la RTT moyenne.

Résultats : RTTmoyenne = 0.481 ms, Latence = RTTmoyenne / 2 = 0.240 ms

4.1.3. Scénario 3 : Avec VPN IPSEC « 3DES »

Rapport P.F.E Page 74


Figure 41: Mesure VPN IPSEC « 3DES »

Le but de ce scénario est de mesurer la RTT entre nos deux réseaux locaux en
passant par le tunnel IPSEC et comme algorithme de chiffrement le 3DES (Triple Data
Encryption Standard), en envoyant des paquets ICMP :
Adresse source : 192.168.2.1
Adresse du destinataire : 192.168.1.2
Pour une mesure plus précise, on a envoyé 10 paquets, on obtient 10 RTT
différentes à partir desquelles on calcule la RTT moyenne.
Résultats : RTTmoyenne = 0.485 ms, Latence = RTTmoyenne / 2 = 0.242 ms

4.1.4. Scénario 4 : Avec VPN IPSEC « AES-256 »

Rapport P.F.E Page 75


Figure 42: Mesure VPN IPSEC « AES-256 »

Le but de ce scénario est de mesurer la RTT entre nos deux réseaux locaux en
passant par le tunnel IPSEC et comme algorithme de chiffrement le AES-256 (Advanced
Encryption Standard), en envoyant des paquets ICMP :
Adresse source : 192.168.2.1
Adresse du destinataire : 192.168.1.2
Pour une mesure plus précise, on a envoyé 10 paquets, on obtient 10 RTT
différentes à partir desquelles on calcule la RTT moyenne.
Résultats : RTTmoyenne = 0.494 ms, Latence = RTTmoyenne / 2 = 0.247 ms

4.1.5. Scénario 5 : Avec VPN IPSEC « Blowfish »

Rapport P.F.E Page 76


Figure 43: Mesure VPN IPSEC « Blowfish »

Le but de ce scénario est de mesurer la RTT entre nos deux réseaux locaux en
passant par le tunnel IPSEC et comme algorithme de chiffrement le BLOWFISH, en
envoyant des paquets ICMP :
Adresse source : 192.168.2.1
Adresse du destinataire : 192.168.1.2
Pour une mesure plus précise, on a envoyé 10 paquets, on obtient 10 RTT
différentes à partir desquelles on calcule la RTT moyenne.
Résultats : RTTmoyenne = 0.515 ms, Latence = RTTmoyenne / 2 = 0.257 ms

4.2. Récapitulation

Rapport P.F.E Page 77


Type de Sans
DES 3DES AES Blowfish
l’algorithme chiffrement
Taille de la
- 64 192 256 448
clé (Bits)
Latence
moyenne 0.185 0.240 0.242 0.247 0.257
(ms)

Tableau 2: Comparaison des mesures

D’après les mesures obtenues, pour l’envoi des paquets de même taille avec des
algorithmes de chiffrement différents, on constate que plus la taille de la clé de l’algorithme
testé est longue plus la latence est élevée, mais cette différence de temps se mesure en
millièmes de seconde, elle est négligeable devant l’importance de la taille de la clé de
l’algorithme choisi vu que plus la taille est grande plus la sécurité est assurée car le cassage
devient difficile voir impossible à réaliser.
Citons l’exemple de l’AES-128 (Advanced Encryption Standard) qui est beaucoup plus
robuste que le DES (Data Encryption Standard) : la même méthode permettant de craquer
une clé DES à 56 bits en 1 seconde, mettrais 149 trillion d'années pour craquer une clé AES
à 128 bits.

5. Conclusion
L'algorithme de chiffrement joue un rôle important aussi bien au niveau de la sécurité que
des performances. Dans le cas de configurations réseaux importantes, le choix d'un
algorithme devient judicieux.

CONCLUSION GENERALE

Rapport P.F.E Page 78


La cryptographie a toujours été utilisée par les gouvernements, l'armée et les
services de renseignements. Pourtant la première utilisation démilitarisée remonte à 1976,
avec le DES. Cette date est aujourd'hui considérée comme l'année de commencement de la
cryptologie moderne. Elle marque en effet le début de la cryptographie sûr, et destinée à
tous.

Mais la cryptographie répond aussi à un besoin de confidentialité croissant depuis


internet. Avec les flux d'informations permanent, la sécurisation des échanges est devenue
un enjeu majeur dans notre société, que ce soit pour la télévision (Canal+, TPS, …), les
cartes bancaires, les moyens de communications (réseaux pour GSM, internet,...), etc. Les
Etats, les entreprises, et certains particuliers utilisent déjà le cryptage pour sécuriser leurs
échanges. En effet, le cryptage est devenu un simple outil que tout le monde utilise et
beaucoup sans le savoir.

Avec la Loi de Moore qui spécifie que, depuis les années 70, la puissance des
ordinateurs double tous les 2 ans, il faut s'attendre à une boucle sans fin : d'anciens
algorithmes seront cassés, de nouveaux devront apparaître.

Si tous les algorithmes de chiffrement et de hachage sont cassés sans qu'il n'y ait de
nouveaux, alors, fini le VPN, fini HTTPS, fini les mails cryptés, il n'y aura plus de sécurité
possible dans l'informatique...

Heureusement, dans l'état actuel des choses, il y a encore quelques dizaines


d'années devant nous avant que cela arrive !

Des recherches sur de nouveaux procédés de cryptage ont lieu, notamment sur la
cryptographie quantique (les atomes). La cryptographie quantique rendra quasiment
inviolable les messages cryptés.

BIBLIOGRAPHIE

Rapport P.F.E Page 79


[B1] Les VPN, Jean-Paul Archier, Eni, 2010

[B2] Cryptographie appliquée, BRUCE SCHNEIER, 2ème édition,


LAURENT VIENNOT

WEBOGRAPHIE

Rapport P.F.E Page 80


[1] http://www.frameip.com/vpn/

[2] http://www.frameip.com/ipsec/

[3] http://www.securiteinfo.com/cryptographie/ssl.shtml

[4] http://www.securite-
informatique.gouv.fr/autoformations/cryptologie/co/Cryptologie_1.html

[5] http://www.cryptage.org/

[6] http://www.rd.cri74.org/repository/securite/algo_chiffrement.pdf

[7] http://www.minelinks.com/supercode/crypto_principles_fr.html

[8] http://www.pps.jussieu.fr/~roziere/crypto/crypto.pdf

[9] http://perso.citi.insa-lyon.fr/claurado/asymetrique.pdf

[10] http://www.gaudry.be/crypto-des.html

[11] http://www.tropsoft.com/strongenc/des3.html

[12] http://www.securiteinfo.com/cryptographie/aes.shtml

[13] http://www.schneier.com/blowfish.html

[14] http://www.gaudry.be/crypto-rsa.html

[15] http://www.securiteinfo.com/cryptographie/cracked.shtml

Rapport P.F.E Page 81


ANNEXE: INSTALLATION DE « PFSENSE »

Rapport P.F.E Page 82


- Téléchargez la dernière version stable dans la rubrique « download » du site
PfSense
http://www.pfsense.org/

- Le miroir français qui permet de télécharger la dernière version de PFSENSE :


http://pfsense.bol2riz.com/downloads/

- Gravez l’image télécharge sur un CD bootable

- Débranchez les câbles réseau de votre futur firewall PFSENSE (ils seront rebranches
plus tard).

- Bootez l’ordinateur avec le CD PFSENSE.


Vous allez ensuite avoir l'écran de démarrage de Free BSD. Vous avez plusieurs choix
possibles.

Vous allez choisir ici l'option 1 (défaut) :

Appuyez sur «n » au prochain écran, et faites ENTRER.

Ensuite vient la configuration des interfaces réseau. Choisissez quelle interface sera
le LAN et l'autre le WAN.
A la question « enter the LAN interface name or ‘a’ for auto-detection», taper « a ».
Ne faites pas « Entrer » pour le moment, mais branchez votre câble réseau sur votre carte
réseau destinée au LAN (dans notre exemple: lnc0). Ensuite, vous pouvez faire « Entrer ».
Faites de même pour la carte réseau qui sera reliée au WAN (dans notre exemple lnc1) :

Rapport P.F.E Page 83


A la ligne suivante (Optional interface) ne mettez rien et appuyez sur entrer.
Vous aurez ensuite un récapitulatif de la configuration et devrez la valider en tapant « y ».
Free BSD se charge ensuite et nous entrons dans le menu. Nous allons donc passer a
l'installation sur le disque dur en tapant le choix "99" :

Nous allons voir en détail comment se décompose l'installation de PFSENSE (le


choix à faire est celui surligne en bleu)

Rapport P.F.E Page 84


Le changement de configuration du clavier en français ne fonctionne pas, la
modification pourra être faite après l’installation.
Choisissez le disque dur sur lequel vous souhaitez installer votre PFSENSE:

Si nécessaire, nous allons voir comment formater le disque dur, pour cela allez sur
« Format this Disk », sinon vous pouvez sauter l'étape en allant sur « Skip this step »:

Ici allez directement a « Use this geometry », « Format ad0 », puis « Partition Disk » :

Rapport P.F.E Page 85


Vous pouvez ici soit garder la taille de la partition (par défaut il utilisera tout le disque
dur), ou bien lui définir une taille. Allez ensuite sur « Accept and Create », « Yes partition
ad0 », puis OK:

Rapport P.F.E Page 86


Sélectionnez la partition sur laquelle installer PFSENSE, faites OK, puis « Accept and
Create » pour établir le Swap :

Rapport P.F.E Page 87


L’installation de PFSENSE va commencer :

Nous allons maintenant créer le "BOOT" du disque dur. Cela va permettre de démarrer la
machine directement sur PFSENSE.
Faites «Accept and install Bootblocks», OK et «Uniprocessor kernel»:

Rapport P.F.E Page 88


A la fin de l’installation de PFSENSE, vous pouvez retirer le CD et redémarrer la machine en
allant sur « reboot ».

Configuration :

Rapport P.F.E Page 89


PFSENSE est en marche. Nous allons maintenant passer à la configuration.
Dans ce chapitre, nous configurons à titre d'exemple la machine Master-PFSENSE du
schéma de principe.
Pour avoir le clavier français, taper 8) Shell puis « kbdcontrol –l fr.iso.kbd »
Pour une configuration permanente, il faudra placer la ligne dans le service « shellcmd » qu’il
est possible d’ajouter a partir des packages disponibles.
Ensuite, il faut changer l'IP sur la carte réseau LAN (réseau admin) de PFSENSE.
Pour cela, dans le menu, tapez le choix 2 (« Set LAN IP address »). Entrez l'adresse IP
correspondante a votre LAN ainsi que le masque (24 en général) :

Apres avoir configure les cartes réseau, vous devriez avoir une étoile prés du nom
des interfaces, indiquant la bonne connexion des câbles réseau.

Rapport P.F.E Page 90


Rapport P.F.E Page 91