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
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
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.
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é.
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
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:
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 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.
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
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]
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
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
Chaque association est identifiée de manière unique à l'aide d'un triplet composé de:
Le schéma ci-dessous représente tous les éléments présentés ci-dessus (en bleu),
leurs positions et leurs interactions :
- 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 :
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]
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é.
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]
- 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.
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.
Fonctionnement
De nombreux paramètres sont échangés durant cette phase : type de clé, valeur de
la clé, algorithme de chiffrage ...
- Données ...
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.
- 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
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.
Objectifs de sécurité :
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
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é :
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.
2. Historique
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"
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
Deuxième phase
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é]
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
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
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]
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]
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]
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
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.
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.
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
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.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]
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.
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
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
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 :
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
- Vote électronique
- 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.
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
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
-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 !
Progrès qui ne s'arrête jamais, déjà maintenant, d'autres voies, encore obscures, se
dessinent :
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.
Avant tout, voici le schéma général de l’installation mis en place (bien entendu,
toutes les adresses IP sont à adapter) :
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).
Coté WAN :
IP : 192.168.3.2
Coté LAN :
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 ».
Routage :
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.
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 :
Routage :
Firewall :
La configuration du firewall sur PFSENSE Slave est similaire que celle sur Master
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).
Répétez les étapes énoncées précédemment en changeant bien sur les paramètres
suivants :
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.
Ici les routes des sous-réseaux apparaissent dans la SPD (Security Policy Database).
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é.
Dans le résumé du statut IPSEC on voit que le tunnel est bien activé (statut au vert).
4.1. Mesures
chiffrement.
chiffrement.
chiffrement.
chiffrement.
Source
Destinataire
T1 REQUEST
LATENCE
RTT ----------------------------------------------
T2 ACK
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 :
Résultats :
RTTmoyenne = 0.371 ms
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.
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
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
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
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
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...
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
WEBOGRAPHIE
[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
- Débranchez les câbles réseau de votre futur firewall PFSENSE (ils seront rebranches
plus tard).
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) :
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 » :
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»:
Configuration :
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.