Académique Documents
Professionnel Documents
Culture Documents
Support de cours
présenté par
Dr Radja Boukharrou
Maître de conférence B
20192020
Table des matières
1
TABLE DES MATIÈRES 2
2.6.5 Pare-feu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.6.6 Contrôle d'accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.6.7 Authentication réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.6.8 Bourrage de trac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.6.9 Chirement des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.6.10 Signature numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.6.11 Protection physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4 Cryptographie appliquées 37
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2 Formalisation des mécanismes de chirement . . . . . . . . . . . . . . . . . . . . . . . 37
4.3 Algorithmes de substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.4 Algorithmes de chirement symétrique . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.5 Algorithmes de chirement asymétrique . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.6 Problèmes liés au chirement asymétrique . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.6.1 Problème de la longueur des clés . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.6.2 Problème de la performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.6.3 Problème de l'échange de clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.6.4 Problème de l'authentication de l'expéditeur . . . . . . . . . . . . . . . . . . . 42
4.6.5 Problème du Man-in-the-middle . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.7 Certicats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.7.1 Dénition d'un certicat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.7.2 Infrastructure à clé publique (PKI) . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.8 Certicats X.509 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.8.1 Structure d'un certicat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.8.2 Cycle de vie d'un certicat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.8.3 Signature numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.8.4 Processus de certication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.9 Chaine de certicats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7 Messagerie sécurisée 78
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7.2 Messagerie électronique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7.2.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7.2.2 Principe de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.3 Acheminement des emails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
7.3.1 Protocole SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
7.3.2 Standard MIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7.4 Accès aux emails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.4.1 Protocole POP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.4.2 Protocole IMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.4.3 Comparaison entre POP et IMAP . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.5 Vulnérabilités et menaces dans la messagerie électronique . . . . . . . . . . . . . . . . 89
7.5.1 Absence de services de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
7.5.2 Relayage SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
7.5.3 Transport de contenus exécutables . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.5.4 Excès de privilèges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.5.5 Failles des logiciels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.5.6 Dénis de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.5.7 Atteinte à la vie privée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.6 Sécurisation du transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7.6.1 Chirement SSL/TLS explicite . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7.6.2 Chirement SSL/TLS implicite . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.6.3 Limites de la sécurisation du transport . . . . . . . . . . . . . . . . . . . . . . . 94
7.7 Sécurisation de client à client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
TABLE DES MATIÈRES 4
5
TABLE DES FIGURES 6
7
Préface
Description du module
L'objectif du module "Sécurité des réseaux" est de comprendre les menaces présentes dans les
réseaux informatiques et savoir comment protéger un réseau par des moyens techniques et organisa-
tionnels. En outre, ce module permet aux étudiants d'appréhender les stratégies et les technologies de
sécurisation des VPN comme les protocoles IPsec, SSL/TLS, et PGP.
Programme du module
En se basant sur la taxonomie des objectifs éducationnels de "Bloom", voici les objectifs de chacun
des chapitres de ce module :
Chapitre 1 : Introduction à la sécurité des réseaux
Être sensible à la problématique de la sécurité
Comprendre les concepts de base de la sécurité
Chapitre 2 : Menaces et mesures de protection
Exposer les risques et les menaces de sécurité potentielles
Connaître les types d'attaques d'un réseau
Connaître les types de services de sécurités
Apprendre les mécanismes de défense contre les menaces possibles
Chapitre 3 : Analyse de risques et politiques de sécurité
Apprendre à gérer la sécurité d'un système
8
LISTE DES TABLEAUX 9
Réseau d’entreprise
Communication
e-Commerce
L'intégration des réseaux locaux dans le système d'information d’une entreprise a conduit au concept de réseau
Figure
d'entreprise, dans lequel l'utilisateur peut1.1 Interconnexion
accéder des réseaux
à toutes les ressources de l’entreprise. Néanmoins, la
connexion du réseau d’entreprise à Internet rend l'ensemble de ses ordinateurs vulnérables aux menaces et aux
L'intégration des réseaux locaux dans le système d'information d'une entreprise a conduit au
intrusions. Elle oblige celle-ci à adopter des procédures de sécurité contraignantes pour tous les utilisateur,
concept de réseau lorsque
particulièrement d'entreprise, dans lequel
des ordinateurs l'utilisateur
externes, peutleaccéder
désirent utiliser réseau deàl'entreprise
toutes lesvia
ressources
Internet. de l'entre-
prise. Néanmoins, la connexion du réseau d'entreprise à Internet rend l'ensemble de ses ordinateurs
En effet, toutes les entreprises craignent des attaques informatiques, sans toujours savoir quelles formes
vulnérables aux menaces et aux intrusions. Elle oblige celle-ci à adopter des procédures de sécurité
celles-ci peuvent prendre. Dans ce module, nous identifierons les menaces les plus courantes d’un réseau, et
contraignantes pour tous les utilisateur, particulièrement lorsque des ordinateurs externes, désirent
nous apprenons comment le protéger avec les techniques existantes.
utiliser le réseau de l'entreprise via Internet.
En eet, toutes les entreprises craignent des attaques informatiques, sans toujours savoir quelles
1. Sécurité informatique
formes celles-ci peuvent prendre. Dans ce module, nous identierons les menaces les plus courantes
Il est courant que les systèmes informatiques ne sont pas infaillibles. Régulièrement, des « espions1 » internes
d'un réseau, et nous apprenons comment le protéger avec les techniques existantes.
ou externes, pénètrent des systèmes informatiques afin de les détruire, ou la plupart du temps, pour dérober de
l’information sensible, dans un but lucratif ou politique.
Certaines failles des systèmes, appelées vulnérabilités, conduisent au vol de données confidentielles, ou
permettent la prise de contrôle à distance d’équipements réseau. Ainsi, une vulnérabilité non corrigée dans une
entreprise peut lui causer des pertes financières, ou même un retard technologique majeur dû au vol de données
à haute valeur concurrentielle. 10
Chaque jour de nouvelles vulnérabilités sont découvertes et publiées, concernant différents éléments,
équipements et logiciels des systèmes informatiques. L’objectif de la veille de vulnérabilité est de corriger les
CHAPITRE 1. INTRODUCTION À LA SÉCURITÉ DES RÉSEAUX 11
internes ou externes, pénètrent des systèmes informatiques an de les détruire, ou la plupart du
temps, pour dérober de l'information sensible, dans un but lucratif ou politique.
Certaines failles des systèmes, appelées vulnérabilités, conduisent au vol de données condentielles,
ou permettent la prise de contrôle à distance d'équipements réseau. Ainsi, une vulnérabilité non corrigée
dans une entreprise peut lui causer des pertes nancières, ou même un retard technologique majeur dû
au vol de données à haute valeur concurrentielle.
Chaque jour de nouvelles vulnérabilités sont découvertes et publiées, concernant diérents éléments,
équipements et logiciels des systèmes informatiques. L'objectif de la veille de vulnérabilité est de
corriger les éléments vulnérables du système, en vériant la criticité des failles exploitables, et d'estimer
le risque de sécurité. La problématique étant de corriger ces vulnérabilités avant qu'elles ne puissent
être exploitées. Pour ce faire, diérentes méthodes, normes ou frameworks peuvent être appliqués, dans
le but de contrôler et améliorer la qualité du processus de protection du système d'information.
Dénitions :
La sécurité informatique est l'ensemble de moyens mis en ÷uvre pour éviter et/ou mini-
miser les défaillances naturelles dues à l'environnement ou au défaut du système d'infor-
mation et les attaques malveillantes intentionnelles dont les conséquences sont catastro-
phiques [7].
La sécurité d'un réseau est un niveau de garantie que les ordinateurs du réseau fonc-
tionnent de façon optimale et que les utilisateurs possèdent uniquement les droits qui
leurs ont été octroyés [53].
La cybersécurité est l'ensemble des outils, des politiques, des concepts et mécanismes de
sécurité, des méthodes de gestion des risques, et des technologies qui sont utilisés pour
protéger les systèmes informatiques matériels et logiciels des organisations (entreprises et
gouvernements) [29].
bilités connues, et les principaux risques sont identiques, notamment les injections SQL qui permettent
à un tiers malveillant de récupérer, voler, modier ou détruire des informations sensibles. .
En 2015, le Gartner Group estime que 80% des attaques réussies exploiteront des vulnérabilités
connues. En 2017, 300 000 ordinateurs dans 150 pays sont infectés par le logiciel malveillant WannaCry,
suite à l'exploitation d'une faille de Windows XP. Dans la même année, un malware destructeur, nommé
NotPetya, a envahi l'Europe, en causant des pertes qui dépassent 1,2 milliards de dollars aux entreprises
touchées.
Par ailleurs, en 2018, 5 millions d'emails internes et externes de l'entreprise suisse Deloitte sont
potentiellement compromis, y compris des échanges avec des centaines de très gros clients tels que la
FIFA et bien d'autres.
Ces attaques ne représentent qu'une inme partie des dégâts causés par la cybercriminalité. Donc,
il est de plus en plus nécessaire pour toute entreprise de se protéger ecacement en faisant appel à un
professionnel spécialiste en sécurité informatique, et particulièrement en sécurité des réseaux.
Il faut en moyenne 201 jours à une entreprise pour découvrir qu'elle a été victime d'une cybe-
rattaque,
Google a supprimé 1,7 milliard de publicités mensongères, illégales ou trompeuses en 2016 (2
fois plus qu'en 2015),
1,2 million d'attaques par phishing (faux sites Web, par exemple, gougle au lieu de google) ont
été enregistrées en 2016 (une hausse de 65 % par rapport à 2015),
Les particuliers sont 2 fois plus infectés que les professionnels, car les entreprises disposent de
moyens de défense plus élevés et plus sophistiqués (rewall, systèmes de sécurité. . . ) que les
simples individus.
Une entreprise subit 29 cyberattaques par an (c'est 2 fois plus qu'en 2015). Le ransomware est
le mode d'attaque favori des hackers,
Plus de 155 vulnérabilités sont déclarées chaque semaine. Le temps moyen entre la publication
de la vulnérabilité et de son exploitation est de 5,6 jours.
3. Un ransomware, appelé aussi rançongiciel, est un logiciel malveillant qui consiste à chirer des données personnelles
pour puis demander à leur propriétaire d'envoyer de l'argent en échange de la clé qui permettra de les déchirer.
CHAPITRE 1. INTRODUCTION À LA SÉCURITÉ DES RÉSEAUX 13
1. Analyse et audit : il s'agit de mener une première opération d'analyse et d'audit du système,
an d'identier les risques ainsi que de suggérer une politique performante de sécurisation ;
2. Mise en ÷uvre du plan et des outils de sécurisation : l'entreprise établit le plan d'ac-
tions recommandé, en mettant en place diérents niveaux de prestations : Mise en place des
méthodes et des outils de sécurité (antivirus, pare-feu, . . . ), Accompagnement et formation des
collaborateurs, et gestion et résolution en temps réel des incidents de sécurité ;
3. Action continue en aval : le rôle de l'entreprise ne s'arrête pas à la 2ème phase, mais continue
d'eectuer des actions tout au long de la collaboration avec le client. Des actions diverses peuvent
être eectuées telles que : initier un reporting régulier et détaillé des failles éventuelles et faire
évoluer les méthodes de sauvegarde et de sécurisation.
1.4 Conclusion
Le moyen le plus ecace pour gérer la sécurité d'un système informatique est de déterminer les
menaces et ensuite prendre les mesures adéquates.
Chapitre 2
2.2 Dénitions
2.2.1 Vulnérabilité
Une vulnérabilité, appelée parfois faille ou brèche, est une faiblesse dans un système informatique,
laissant à un assaillant l'opportunité de porter atteinte à l'intégrité de ce système en le rendant instable.
Analogiquement à une maison, cela revient à laisser une porte non-verrouillée. Du coup, cette porte
(faille) peut potentiellement être utilisée par des voleurs (hackers) pour accéder de façon illégitime à
la maison (au système) [36].
Les vulnérabilités résident souvent sur des programmes, car, tout ce qui est codé peut poten-
tiellement contenir des vulnérabilités : notamment les rmware, les hyperviseurs, les systèmes d'exploi-
tation, les librairies et les logiciels, etc. Sachant que les protocoles de communication sont implémentés
en des programmes, des vulnérabilités peuvent également y apparaître.
2.2.2 Menace
Une menace est une action potentielle susceptible de provoquer un dommage sur un système et
ayant un impact sur ses fonctionnalités, son intégrité ou sa disponibilité. De ce fait, une vulnérabilité
d'un système représente son niveau d'exposition face à une menace.
2.2.3 Risque
Un risque que peut provoquer une menace à un système est estimé en fonction de la sensibilité
et de la vulnérabilité de ce système. Il est donc important de mesurer le risque, non seulement en se
basant sur la probabilité ou sur la fréquence de son arrivée, mais aussi en mesurant son eet possible.
Donc, tout système (Actif ) présentant une vulnérabilité pourra être à tout moment exploitée par
un assaillant. Une attaque potentielle du système est vue comme une menace visant à nuire ce système.
2.2.4 Sensibilité
Dans un système informatique, plus une information est stratégique pour une entreprise, plus elle
a de la valeur, ce qui la rend sensible. De ce fait, si une information sensible est révélée au public,
cela nuirait à l'entreprise et à la vie privée des individus. Concrètement, la sensibilité de l'information
réside dans sa disponibilité, son intégrité et sa condentialité.
15
1.3. Risque
Un risque que peut provoquer une menace à un système est estimé en fonction de la sensibilité et de la
CHAPITRE 2. de
vulnérabilité MENACES
ce système. ET MESURES
Il est DE de
donc important PROTECTION
mesurer le risque, non seulement en se basant sur la 16
probabilité ou sur la fréquence de son arrivée, mais aussi en mesurant son effet possible.
vise
présente exploite
Donc, tout système (Actif) présentant une vulnérabilité pourra être à tout moment exploitée par un assaillant.
Figure
Une attaque potentielle du système2.1
est vue
Vulnérabilité et menaces des systèmes
comme une menace visant à nuire ce système.
2.2.51.4. Attaque
Sensibilité
Dans un système informatique, plus une information est stratégique pour une entreprise, plus elle a de la valeur,
Une attaque
ce qui la rend est une action
sensible. représentant
De ce fait, le moyen
si une information d'exploiter
sensible une
est révélée vulnérabilité
au public, pour
cela nuirait compromettre
à l’entreprise
la sécurité d'un
et à la vie système.
privée Il peut
des individus. y avoir plusieurs
Concrètement, attaques
la sensibilité pour une réside
de l'information même vulnérabilité
dans mais
sa disponibilité, sontoutes
les vulnérabilités ne sont pas exploitables.
intégrité et sa confidentialité.
2.2.61.5. Intrusion
Attaque
Une attaque est une action representant le moyen d'exploiter une vulnérabilité pour compromettre la sécurité
Une Intrusion est un ensemble d'actions entrainant la compromission de la sécurité d'une entreprise,
d’un système. Il peut y avoir plusieurs attaques pour une même vulnérabilité mais toutes les vulnérabilités ne
par exemple, accéder sans autorisation aux données du système et/ou du réseau de l'entreprise, en
sont pas exploitables.
contournant les dispositifs de sécurité mis en place. Les raisons des intrusions sont diverses, le but
pourrait être la modication ou le vol d'informations condentielles, ou bien la destruction des données
du système.
Donc, l'objectif principal de la détection d'intrusion est de repérer les actions d'un attaquant qui
© Dr. R. Boukharrou Page 2 sur 8
tente de ou qui tire partie des vulnérabilités du système. Il est indispensable de dénir précisément ce
qui est une intrusion, c'est à dire une défaillance de sécurité.
© Dr. R. Boukharrou
Figure 2.3 Classication des attaques réseaux Page 3 sur 8
© Dr. R. Boukharrou Page 3 sur 8
Attaques passives : consistent à écouter et à surveiller les transmissions sur un canal, sans mo-
dier les données dans un réseau. En eet, l'attaquant peut intercepter et capturer une donnée
transmise, ou bien analyser le trac d'un réseau dans le but de rechercher des informations sen-
sibles pouvant être utilisées pour d'autres types d'attaques, tels que les mots de passe [55]. Les
attaques passives sont généralement indétectables, mais une prévention est possible en cryptant
la transmission entre les n÷uds du réseau,
Attaques actives : consistent à modier les messages transmis, à s'introduire dans des équi-
pements d'un réseau, ou à perturber le bon fonctionnement de ce dernier. Contrairement aux
attaques passives, les attaques actives sont détectables dû aux dommages conséquents qu'elles
peuvent provoquer. Le but d'un attaquant est d'essayer de contourner ou d'entrer dans un
système sécurisé pour voler, modier, désactiver ou détruire des données sensibles. Voici les
attaques actives les plus connues [11] :
Par mascarade (ou usurpation d'identité) : Cette attaque a lieu lorsqu'une entité
prétend être une entité diérente. Ce type d'attaque est l'origine de toutes les autres attaques
actives,
Par rejeu : Ce type d'attaques consiste à capturer un message transmis (attaque passive),
ensuite à le retransmettre ultérieurement pour produire un eet non autorisé,
Par modication de message : Cette attaque permet de modier le contenu du message
ou de réordonner les messages pour produire un eet non autorisé,
Par déni de service : Le principe de cette attaque est de perturber ou d'interrompre
le service d'un réseau. Son but est de saturer le service avec des messages inutiles an de
dégrader les performances du service ou de provoquer la perte des messages.
Il est dicile de garantir une protection absolue contre les attaques actives à cause des vulné-
rabilités existantes au niveau matériel, logiciel et protocolaire, surtout si ces derniers n'ont pas
été vériés et validés formellement.
CHAPITRE 2. MENACES ET MESURES DE PROTECTION 18
3. Manipulation des utilisateurs pour obtenir un accès : Les employés de l'entreprise uti-
lisent parfois des mots de passe faciles à casser. Dans d'autres cas, ils peuvent être trompés par
des assaillants astucieux et leur fournissent des données d'accès sensibles ;
4. Escalade des privilèges : Une fois un accès de base obtenu, l'assaillant utilise ses compétences
pour augmenter ses privilèges d'accès au réseau, tout en essayant d'être indétectable par les
techniques sécuritaires de l'entreprise ;
5. Collecte d'autres mots de passe et secrets : Avec davantage de privilèges d'accès, l'as-
saillant se sert de ses talents pour accéder à des informations sensibles bien protégées, tels que
les rapports internes ou même les contrats numérisés de l'entreprise ;
6. Installation de portes dérobées (Backdoors) : Les portes dérobées sont des moyens per-
mettant à l'assaillant d'entrer secrètement dans le système sans être détecté, servant de faille
du système de l'entreprise. La porte dérobée la plus courante est le port TCP ou UDP ouverts
en écoute ;
Balayages de ports : Lorsque les adresses IP actives sont identiées, l'assaillant se sert d'un
outil de balayage des ports pour détecter les services réseau ou les ports ouverts sur chaque
adresse IP active. Nmap et Superscan sont des exemples d'outils de balayage conçus
pour détecter les ports ouverts sur un hôte du réseau. Concrètement l'outil de balayage interroge
les ports pour connaître le type et la version des applications, le type et la version du OS, etc.
Grâce à ces informations, l'assaillant peut déterminer s'il existe des vulnérabilités qu'il peut
exploiter,
Analyse des paquets : L'assaillant peut aussi intercepter les paquets TCP/IP ou les paquets
des autres protocoles et décoder leur contenu au moyen d'un analyseur de protocole comme
Wireshark. Une fois les paquets interceptés, ils peuvent être analysés pour y rechercher des
informations vulnérables. An de neutraliser l'analyse des paquets, il est conseillé de :
Utiliser des commutateurs au lieu de concentrateurs pour éviter de diuser le trac à tous
les hôtes du réseau,
Utiliser une méthode de chirement adéquate au système qui ne consomme pas beaucoup
de ressources,
Interdire l'utilisation de protocoles susceptibles d'être écoutés, comme le protocole SNMP.
1. La victime demande une page Web du site Web légitime, mais la machine de cette victime,
la demande auprès de la machine de l'assaillant ;
3. En cas d'une attaque active, l'assaillant modie la page d'origine et transforme à sa façon
CHAPITRE 2. MENACES ET MESURES DE PROTECTION 20
se distingue fondamentalement du ver par le fait qu'une interaction humaine est nécessaire pour
le propager. Cette propagation s'eectue principalement en trois phases : infection, activation,
et duplication. Les types de virus sont :
Virus parasite : s'attaque aux codes source des chiers exécutables et se réplique en
exécutant des derniers en cherchant s'il y a d'autre chiers exécutables à infecter,
Virus résidant en mémoire : hébergé en mémoire et considéré comme un programme du
système, il infecte tous les programmes qui s'exécutent,
Virus sur secteur de Boot (Boot Sector Virus) : infecte le secteur de boot du disque,
et se propage lorsque le système d'exploitation démarre.
Un ver (worm) : exécute un code et installe des copies de lui-même dans la mémoire de la
machine infectée, ce qui infecte par la suite d'autres machines hôtes. En eet, contrairement à
un virus, il est autonome et se duplique à travers un réseau, par exemples : Code Red et Blaster.
Les diérentes phases de l'attaque d'un ver sont :
2. Mécanisme de propagation : l'accès à l'hôte étant acquis, le ver s'y reproduit, puis choisie
d'autres cibles,
3. Charge : une fois l'hôte infecté par un ver, l'assaillant peut y accéder en tant qu'utilisateur
privilégié. Il peut utiliser une faille locale pour augmenter son niveau de privilège jusqu'à
celui de l'administrateur.
Un cheval de Troie (trojan) est un programme malveillant conçu pour ressembler à une
application normale et utile, alors qu'il s'agit d'un instrument d'attaque. Concrètment, c'est un
code non autorisé placé dans un programme sain, ce qui le rend dicile à détecter. De plus,
les fonctions non attendues d'un cheval de Troie ne s'exécutent qu'après une longue phase de
sommeil. Par ailleurs, les chevaux de Troie peuvent être des attaques informatives, des attaques
de DoS ou des attaques destructrices.
Comme exemple, le cheval de Troie courant Sub7 consiste à installer une porte dérobée sur
la machine des utilisateurs. Il est utilisé d'une part, en tant que menace non organisée, où les
assaillants inexpérimentés peuvent l'utiliser pour faire disparaître les pointeurs de souris. D'autre
part, il peut être utilisé comme une menace organisée, permettant aux assaillants d'installer un
enregistreur de frappes pour capturer la saisie des informations condentielles,
Un logiciel espion (espiogiciel ou spyware) est un logiciel ou un composant d'un logiciel
qui permet de collecter des informations sur l'utilisateur d'une machine sur lequel il est installé
an de les envoyer vers son concepteur. Le concepteur d'un spyware peut être, par exemple,
une société qui le diuse pour lui permettre de dresser le prol des internautes. Il n'est en
principe pas destiné à endommager une machine mais plutôt conçu pour le recueil de certaines
informations sensibles ou non. On distingue généralement deux types de spywares :
Spywares internes (ou intégrés) comportant directement des lignes de codes dédiées aux
fonctions de collecte de données,
Spywares externes correspondant à des programmes de collectes autonomes installés. Par
exemples : Alexa, Doubleclick, NewDotNet, Flashpoint/Flashtrack, Realplayer, SaveNow,
WebHancer, etc.
Le dé de la sécurité des réseaux auquel les administrateurs réseau doivent faire face est de trouver
un juste équilibre entre deux exigences importantes : (1) garder une certaine ouverture pour permettre
la prise en charge des opportunités de commerce évolutives ; et (2) protéger les données privées et
personnelles, ainsi que les données stratégiques des entreprises contre les diérentes attaques.
orent des qualités de service variables en terme de rapidité, abilité et de condentialité. En eet, les
échanges d'informations sont de plus en plus nombreux et importants, et la sécurité de ces échanges a
pris une importance particulière.
2.5.1 Condentialité
En partant du principe que les informations d'une entité n'appartiennent pas à tout le monde,
c'est-à-dire seuls ceux qui en ont le droit peuvent y accéder. Ceci signie que le système doit empêcher
les utilisateurs non-autorisés de lire une information condentielle, et aussi empêcher les utilisateurs
autorisés de divulguer une information à d'autres utilisateurs non-autorisés.
Le service de condentialité fournit des mesures de protection contre une divulgation non-autorisée
d'informations. Dans une communication réseau, ce type de service consiste à protéger les données
transmises contre les attaques, et protéger les ux de données contre l'analyse. Certaines informations
sensibles sont les adresses, la longueur des messages, et le contenu des messages. Les mécanismes utilisés
pour ce service sont le chirement et le contrôle d'accès.
2.5.2 Authenticité
Le service d'authenticité des entités consiste à vérier l'identité des parties participantes à une
communication, cela est eectué par un contrôle d'accès par exemple des techniques traditionnelles :
un mot de passe (Something you know), une carte à puce (Something you have), ou une empreinte
digitale (Something you are) [23]. Ces techniques permettent de s'assurer de la non usurpation de
l'identité d'une entité, dans le but de vérier que le message provient de la source réelle du message,
et aussi d'empêcher la perturbation de la connexion par une tierce partie qui se fait passer pour une
entité légitime.
2.5.3 Intégrité
Dans un système sain, les informations ne peuvent être modiées que par les personnes autori-
sées. Cela signie que le système, à travers le service de l'intégrité des données, doit empêcher toute
modication par des utilisateurs non-autorisés ou toute modication incorrecte par des utilisateurs
autorisés.
Dans une communication réseau, ce service consiste à assurer que les données transmises n'ont pas
été altérées, c'est-à-dire garantir que le message reçu est bien celui qui a été envoyé, et celui-ci n'a pas
été modié ou fabriqué.
Parmi les mécanismes utilisés, on distingue le chirement, la signature numérique, le contrôle
d'accès, et le contrôle d'intégrité.
CHAPITRE 2. MENACES ET MESURES DE PROTECTION 23
2.5.4 Non-répudiation
La répudiation en informatique, dénit le comportement d'une entité qui nie malhonnêtement avoir
reçu ou envoyé certaines informations au cours d'une transaction ou une communication au travers d'un
réseau [38]. Donc, le service de non-répudiation consiste à assurer que les acteurs impliqués dans la
communication ne peuvent nier y avoir participer, en d'autres termes, il vérie que l'émetteur et le
récepteur sont bien les parties qui ont respectivement envoyé ou reçu le message. Ce service permet
aussi de s'assurer qu'un contrat électronique, par exemple un achat en ligne, ne peut être remis en
cause par l'une des parties, c'est-à-dire garantir l'identité des deux parties.
La non-répudiation est extrêmement importante dans l'internet d'aujourd'hui, notamment pour
le commerce électronique. Actuellement, elle ne peut être assurée qu'en utilisant les mécanismes du
certicat et de la signature numériques.
2.5.5 Disponibilité
En assurant tous les services de sécurité précités, le système protégé doit assurer l'accès autorisé
aux données dans de bonnes conditions, c'est-à-dire l'accès permanent et sans faille durant les plages
d'utilisation prévues. De ce fait, le service de disponiblité des données permet de maintenir le bon
fonctionnement du système en fournissant de l'information aux utilisateurs autorisés aux moments
où ils en ont besoin, grâce notamment aux mécanismes de sauvegardes (répliquats) et de partage de
charge.
D'autres service peuvent s'ajouter à celles précitées an d'améliorer la qualité de sécurité d'un
système, tel que le service de traçabilité qui consiste à garantir que les accès aux données soient tracés
et que ces traces soient conservées et exploitables, pour le reporting.
2.6.2 Journalisation
La journalisation consiste à enregistrer les activités et les connexions de chaque acteur utilisant
un réseau. En eet, les journaux d'évènements (logs) constituent une brique technique indispensable
à la gestion de la sécurité des réseaux et plus généralement des systèmes. En eet, les journaux sont
une source d'information riche permettant de constater si des attaques ont eu lieu, de les analyser et
potentiellement de faire en sorte qu'elles ne se reproduisent pas.
Dans ce cas, les évènements constituant les journaux sont consultés et analysés en temps réel.
Les journaux peuvent également être employés a posteriori pour retrouver les traces d'un incident de
sécurité ; l'analyse des journaux d'un ensemble de composants (postes de travail, équipements réseaux,
serveurs, etc.) peut alors permettre de comprendre le cheminement d'une attaque et d'évaluer son
impact.
CHAPITRE 2. MENACES ET MESURES DE PROTECTION 24
2.6.3 Antivirus
Un antivirus est un logiciel permettant de protéger une machine contre les programmes/logiciels
néfastes ou les chiers potentiellement exécutables. De nos jours, les antivirus sont aussi des anti-
malwares c'est-à-dire il protègent aussi les machines contre tous les autres types de malwares à savoir
les vers et les chevaux de Troie. Il consiste à chercher les codes malveillants dans les logiciels infectés.
Cependant, un antivirus ne protège pas le réseau contre un intrus qui emploie un logiciel légitime, ou
contre un utilisateur légitime accédant à une ressource alors qu'il n'est pas autorisé à le faire.
2.6.5 Pare-feu
Un pare-feu (ou Firewall en anglais) est un système logiciel ou matériel installé sur une machine ou
un routeur, permettant de contrôler les communications qui traversent un réseau donné. Ce mécanisme
permet de protéger un réseau privé de certaines intrusions provenant d'un réseau externe (par exemple
internet), telles que les communications sortantes déclenchées par un malware installé. Par ailleurs,
il a pour fonction de faire respecter la politique de sécurité du réseau, qui dénit quelles sont les
communications autorisées ou interdites.
Concrètement, il s'agit d'une passerelle qui consiste à ltrer les paquets entrants et sortants en se
basant sur une interface pour le réseau à protéger, et une autre pour le réseau externe (souvent c'est
internet) [11]. Néanmoins, le pare-feu ne protège pas le réseau contre une attaque venant du réseau
intérieur (c'est-à-dire celui qui ne le traverse pas), et il n'empêche pas un attaquant d'utiliser une
connexion autorisée pour attaquer le système.
2.7 Conclusion
Comme conclusion, aucun des mécanismes de sécurité précités n'est susant par lui-même. An
de mieux sécuriser son réseau, il faut non seulement appliquer tous ces mécanismes mais aussi les faire
évoluer de jour en jour !
Chapitre 3
3.2.2 Fonctionnalités
Comme fonctionnalités, une politique de sécurité doit impérativement contrôler l'accès au système
avec la gestion des prols utilisateurs et prévenir contre les intrusions dans le but de protéger le système.
Par ailleurs, elle consiste aussi à gérer les crises sécuritaires en proposant des politiques de réaction et
de reprise.
An d'assurer le suivi de la politique de sécurité, des audits et des supervisions peuvent être
appliqués avec des mécanisme de sensibilisation.
Voici quelques procédures qu'un administrateur réseau doit suivre impérativement an de protéger
le système ainsi que le réseau géré :
26
CHAPITRE
Sécurité des3.réseaux
ANALYSE DES RISQUES – Semestre 2 DE SÉCURITÉ
ET POLITIQUE
2018-2019 Université Constantine 2 27
Classications de pare-feu
Plusieurs classications existent pour catégoriser les types de pare-feu. En eet, en termes de
ltrage, on distingue principalement deux types de pare-feu :
Pare-feu réseau (ou ltrage de paquets), fonctionnant au niveau des couches Internet
et Transport du modèle TCP/IP, en se basant sur le ltrage de paquets, c'est-à-dire autoriser
un paquet ou le refuser en fonction de son entête IP (Adresses IP source et destination, numéro
de port et protocole TCP/UDP), sans accéder à son contenu ce qui ne permet pas de recon-
naître l'identité de l'émetteur du paquet. Dans ce type de pare-feu, on distingue deux types de
ltrage [20] :
Filtrage simple de paquet (Stateless) : La plupart des routeurs d'aujourd'hui per-
mettent d'eectuer du ltrage simple de paquet. C'est la méthode de ltrage la plus simple,
car elle consiste à autoriser ou à refuser le passage de paquets d'un réseau à un autre en
se basant sur l'entête IP du paquet (Adresses IP source et destination, numéro de port et
protocole TCP/UDP). Cela nécessite de congurer le pare-feu par des règles de ltrages,
généralement appelées des ACL (Access Control Lists).
Parmi les limites du ltrage simple, ce dernier requiert une conguration poussée pour être
ecace, en plus de ralentir le débit de la bande passante qui le traverse. Par ailleurs, il ne
résiste pas à certaines attaques de type IP Spoong/IP Flooding, la déformation de paquet,
ou encore certaines attaques de type DoS.
Filtrage de paquet avec état (Stateful) : La diérence de ce ltrage par rapport au
ltrage simple, est la conservation de la trace des sessions et des connexions dans des
tables d'états internes au pare-feu. Ce dernier prend ses décisions en fonction des états
de connexions, et peut réagir dans le cas de situations protocolaires anormales. En outre,
ce ltrage permet aussi de se protéger face à certaines attaques de type DoS. En eet, les
connexions Internet sont contrôlées en n'autorisant que celles qui sont à la demande, et dans
le cas des protocoles UDP et ICMP, un certain délai est déni pour autoriser les réponses
légitimes aux paquets envoyés. Cependant, dès lors que l'accès à un service est autorisé par
ce type de pare-feu, il n'y aurait aucun contrôle eectué sur le ux qui concerne ce service.
Pare-feu applicatif (ou ltre d'application 1 ), fonctionne au niveau applicacatif du
modèle TCP/IP. En eet, il peut ltrer les ux non seulement en fonction des entêtes IP,
mais aussi en fonction des données contenues. Le ltrage d'application est réalisé grâce à un
programme, dit mandataire, qui permet de contrôler l'accès à chaque application en fonction
de l'utilisateur et de ses activités. Le principe de ce pare-feu est identique à celui d'un proxy,
c'est-à-dire, quand un utilisateur veut se connecter à un serveur externe, il se connecte d'abord
au programme mandataire, qui lui va relayer le ux vers le serveur demandé. Par exemple, la
connexion à internet à travers certains réseaux Wi-Fi d'entreprises exige une authentication au
préalable sur un pare-feu mandataire permettant à l'utilisateur de surfer mais passant toujours
à travers le proxy. Avec ce genre de ltre, une seule machine (le serveur mandataire) envoie des
requêtes vers l'extérieur en gardant trace du trac. Ce type de pare-feu est plus ecace car le
contenu des paquets est analysé, ce qui permet au ltre de laisser passer ou non suivant des
règles applicables au contenu.
En terme de déploiement, un pare-feu peut être un appareil physique, un logiciel ou les deux. En
eet, un pare-feu matériel, connu également sous le nom de pare-feu externe, est un équipement réseau
physique autonome, généralement placé entre le réseau local d'entreprise et le réseau externe (souvent
Internet), an de protéger le système de l'entreprise des diérentes menaces venant d'Internet. On peut
citer les équipements disponibles sur le marché : ASA 5505 de Cisco, FortiGate 900 de Fortinet, et
SRX 100 de Juniper.
Ce type de pare-feu est utile pour protéger les échanges de données sensibles circulant d'un réseau
à un autre. Certains équipements réseau tels que les routeurs, sont dotés de ce type de pare-feu comme
un service inclus, ce qui constitue une bonne solution pour les entreprises, leur évitant d'avoir deux
3 Autorisé
192.168.10.0/24
All TCP All 80
équipements séparés.
Par ailleurs, le pare-feu logiciel, appelé aussi pare-feu personnel, est un programme installé sur
une machine pour la protéger, en contrôlant les ux entrant et sortant. Certains systèmes d'exploitation
installés sur les machines comme Windows, sont dotés par défaut d'un pare-feu logiciel.
Pour une entreprise donnée, en terme d'ecacité, le pare-feu matériel ore une meilleure solution de
sécurité bien plus stable et performante, en revanche, un pare-feu logiciel est installé sur les machines
de l'entreprise, an de protéger uniquement la machine en question et pouvant être désactivé à tout
moment.
Recommandations
An qu'un pare-feu soit ecace, il faut appliquer les quelques recommandations suivantes :
Utilisation du pare-feu pour créer un périmètre délimité, appelé, une zone démilitarisée (DMZ) ;
Tout le trac traversant le pare-feu doit être refusé par défaut, puis accepté cas par cas à travers
ux 2018-2019 – Semestre 2 Université Constantine 2
les règles de ltrage en fonction des applications utilisées ;
Inspection régulière du journal du pare-feu pour détecter le trac anormal ;
mandations Conservation de la trace d'activité doit être activée, an de pouvoir analyser les vulnérabilités
et
ArchitecturesInternet
possibles Internet
Généralement, l'architecture DMZ la plus courante est basée sur un pare-feu à trois interfaces,
cependant si ce pare-feu est compromis, les accès externes ne seront plus contrôlés. Donc, une deuxième
Proxy deux pare-feux en cascade an d'éliminer tout risque d'intrusion. Par
architecture consisterait à utiliser
ailleurs, il existe une troisième architecture
Proxy Serveur DMZ qui est située entre le réseau Internet et le réseau local,
Proxy
Web
séparée de chacun de ces deux réseaux par un pare-feu. La gure 3.3 présente les trois cas possibles
Serveur
Web
pour la construction d'architecture DMZ [18].
Serveur
Web
Services oerts
Toute architecture DMZ doit orir au réseau de l'entreprise les services suivants :
Des services publics permettant de masquer les services et la topologie du réseau de l'entreprise ;
Un ltrage réseau entre les diérents sous-réseaux de l'entreprise grâce aux pare-feux ;
(a) (b) (c)
Des serveurs relais pour gérer le trac interne/externe ;
Des antivirus et/ou analyseurs de contenus pour journaliser les échanges et décontaminer les
ux entrants ou sortants.
Proxy
3.3.3 DMZSystème
2
de détection d'intrusion (IDS)
: Demilitarized Zone
3
Un système de détection d'intrusion (IDS ) est un mécanisme complémentaire à un pare-feu per-
mettant une analyse plus intelligente du trac. En eet, il consiste à écouter le trac réseau de manière
© Dr. R. Boukharrou Page 6 sur 12
discrète an de repérer des activités anormales ou suspectes, et permettre ainsi d'avoir une action de
prévention sur les risques d'intrusion.
Par analogie avec les contrôles routiers, un pare-feu se contenterait de regarder la plaque d'imma-
triculation du véhicule, tandis que l'IDS vériera l'attitude du conducteur et des passagers.
Concrètement, des assaillants arrivent parfois à passer à travers les règles de sécurité des pare-feux,
notamment en exploitant ses éventuelles failles de règles. Par ailleurs, un pare-feu ne protège jamais
contre les attaques internes. Comme solution aux limites des pare-feux, les IDS sont développés dans
le but d'analyser plus nement les informations pour détecter les véritables attaques et éviter ainsi les
fausses alertes.
Network-based IDS (N-IDS), opère au niveau d'un réseau en se basant sur un logiciel/ma-
tériel dédié installé uniquement à des points spéciques. Ce type d'IDS est un système capable
de contrôler les paquets circulant sur un ou plusieurs liens réseau dans le but de découvrir si
un acte malveillant ou anormal a lieu. Le N-IDS place une ou plusieurs interfaces réseau en
mode promiscuité (Promiscuous mode), c'est-à-dire ces interfaces sont congurées comme
furtives (discrètes) an qu'elles n'aient ni adresse IP, ni de pile protocolaire attachée. Il est
fréquent de trouver deux N-IDS sur le réseau en plaçant un N-IDS à l'extérieur du réseau an
d'étudier les tentatives d'attaques ainsi qu'un N-IDS en interne pour analyser les requêtes ayant
traversé le pare-feu ou bien menée depuis l'intérieur. On trouve plusieurs N-IDS sur le marché,
par exemple, Snort, Enterasys, et Check Point ;
Host-based IDS (H-IDS), est particulièrement ecace pour déterminer si un hôte a été
victime par une intrusion. Contrairement à un N-IDS, qui consiste à surveiller l'ensemble d'un
réseau, le périmètre d'opération d'un H-IDS est restreint à l'hôte où il est installé. Voici quelques
exemples de H-IDS : AIDE, DarkSpy, IceSword, et Rootkit Unhooker ;
IDS hybride, est basé sur une architecture distribuée, constituée de plusieurs composants N-
IDS et H-IDS coopératifs, permettant d'avoir des alertes plus globales et plus pertinentes. En
eet, chaque composant IDS unie son format d'envoi d'alerte pour être communiqués, en cas
de besoin, à d'autres composants IDS, ce qui permet d'extraire des alertes plus pertinentes avec
une analyse globale du réseau. Il existe plusieurs solutions d'IDS hybride tels que Prelude et
OSSIM.
L'utilisation d'IDS hybride constitue la meilleure façon de protéger un réseau en combinant les
deux technologies des N-IDS et des H-IDS.
Fonctionnement
Un VPN permet de construire un chemin virtuel entre deux machines, après avoir identié l'émet-
teur et le récepteur, en se basant sur un protocole de tunnelling, qui consiste à appliquer le processus
d'encapsulation, de transmission et de désencapsulation de données.
Concrètement, au niveau de l'émetteur, le protocole de tunnelling chire puis encapsule les données
en rajoutant une entête permettant le routage des trames dans le tunnel. Ensuite, les paquets sont
envoyés en empruntant le chemin virtuel. À l'autre extrémité du tunnel (au niveau du récepteur), les
données sont extraites du protocole de tunnelling et poursuivent leur chemin sous leur forme initiale.
3.4 Conclusion
Pour conclure, il n'y a pas une politique de sécurité unique, mais plusieurs architectures possibles
suivant ce que l'on veut protéger ou le niveau de sécurité que l'on veut atteindre. Le coût de déploie-
ment d'un pare-feu, les compétences nécessaires à la mise en ÷uvre, l'importance des informations
circulant sur le réseau privé d'une entreprise, sont autant d'éléments à prendre en considération avant
de concevoir une politique de sécurité. En eet, à travers ce chapitre, nous avons pu voir que l'on pou-
vait interdire l'accès aux réseaux privés et contrôler le ux sortant grâce au pare-feu, mais on pouvait
aussi y accéder à distance de manière sécurisée à travers les VPN.
Par ailleurs, Pr. Eugene Spaord, le fondateur et directeur du "Computer Operations, Audit and
Security Technology Laboratory", a très bien expliqué que la sécurisation d'un système informatique
ne peut jamais être assurée totalement : Le seul système informatique qui est vraiment sûr est un
système éteint et débranché, enfermé dans un blockhaus sous terre, entouré par des gaz mortels et des
gardiens hautement payés et armés. Même dans ces conditions, je ne parierais pas ma vie dessus .
Chapitre 4
Cryptographie appliquées
4.1 Introduction
La cryptographie est une discipline qui regroupe l'ensemble de procédés permettant de transformer
un message, dit en clair, en un autre message dit chiré, an de rendre celui-ci illisible. Avec la
cryptanalyse qui consiste à reconstruire un message chiré en clair à l'aide de méthodes mathématiques,
la cryptographie constitue la science de cryptologie .
Par ailleurs, le chirement d'un message est un procédé basé sur une clé
1 cryptographique dite
de chirement, qui rend sa compréhension impossible sans une clé de déchirement. Ce mécanisme
permet principalement de protéger les données transportées. D'après le principe de Kerckhos [40] [31],
la sécurité du système de chirement doit reposer uniquement sur le secret de la clé de chirement
et non sur celui de l'algorithme utilisé. Le principal but du chirement est de garantir les diérents
services de sécurité, telles que la condentialité, l'authenticité et l'intégrité des données.
Historiquement, jusqu'au début du 20ème siècle, la cryptographie n'a pas toujours joué un rôle
majeur, car la rapidité de transmission d'une information primait souvent sur son secret. Durant la
première guerre mondiale, les communications entre l'état-major et les troupes se faisaient essentiel-
lement par radio, ce qui permettait de communiquer rapidement sur une grande distance, mais ces
communications sont facilement interceptables par l'ennemi. Donc, des moyens de chirement basiques
ont été mis en ÷uvre, tels que les systèmes Ubchi et ABC, cependant ces derniers n'étaient pas très
ecaces car les messages pouvaient être décryptés à la main avec des méthodes mathématiques astu-
cieuses.
Durant la seconde guerre mondiale, une révolution technologique des méthodes cryptographiques a
émergé. Pour la première fois, les armées disposaient de moyens mécaniques qui permettent de conce-
voir des systèmes cryptographiques. En eet, pour leur coordination tactique, les troupes de l'armée
allemande s'échangaient de nombreux messages radios chirés à l'aide de la machine Enigma [41]. Mais,
une cryptanalyse d'Enigma a été réalisée et automatisée par le britannique Alan Turing, permettant
de décrypter les messages chirés par cette machine, ce qui a fait basculer la guerre en faveur des alliés.
C'était la naissance du premier ordinateur [67].
1. Selon le dictionnaire de l'académie française, le mot Clé est l'orthographe moderne du mot clef , qui est
considéré comme plus ancien.
37
CHAPITRE 4. CRYPTOGRAPHIE APPLIQUÉES 38
cas de chirement symétrique, tandis que le chirement asymétrique se base sur une paire de
clés diérentes (K, K
−1 ),
Clé de Clé de
chiffrement déchiffrement
Figure
Il existe
4.1principalement
Principe detrois types d’algorithmes
la transmission cryptographiques
sécurisée des messages : en
(1) seLes algorithmes
basant simples de
sur le chirement
substitution, (2) les algorithmes de chiffrement symétriques, et (3) les algorithmes de chiffrement
Il asymétriques. Le choix du système
existe principalement cryptographique
trois types dépend
d'algorithmes des tâches à accomplir
cryptographiques pour
: (1) sécuriser
Les les données.
algorithmes simples
de substitution, (2) les algorithmes de chirement symétriques, et (3) les algorithmes de chirement
2. Algorithmes de substitution
asymétriques. Le choix du système cryptographique dépend des tâches à accomplir pour sécuriser les
données.
Le chiffrement par substitution, ou chiffrement simple, consiste à remplacer dans un message une ou plusieurs
entités par une ou plusieurs autres entités. Une entité peut être une lettre, un octet, ou une suite binaire [6].
4.3 Algorithmes de substitution
Plusieurs types de chiffrement par substitution existent, on peut citer :
Chiffrement monoalphabétique, consistant à remplacer chaque caractère du message par un autre
caractère,
Le chirement par substitution, ou chirement simple, consiste à remplacer dans un message une
ou plusieurs Chiffrement polyalphabétique,
entités par une utilisantentités.
ou plusieurs autres une suite
Une de chiffres
entité peutmonoalphabétique réutilisée
être une lettre, un octet, ou
périodiquement,
une suite binaire [27]. Plusieurs types de chirement par substitution existent, on peut citer :
Chirement monoalphabétique
Chiffrement homophonique, permettant de faireàcorrespondre
, consistant remplacer àchaque
chaque caractère
caractère dudu
message un
message par
ensemble possible d'autres caractères,
un autre caractère,
Chirement
Chiffrementpolyalphabétique
polygrammes, consistant à substituer un groupe de caractères dans le message par un
, utilisant une suite de chires monoalphabétique réutilisée
autre groupe de caractères.
périodiquement,
Chirement
Depuis l’antiquité,homophonique
les êtres humains ont essayé de proposer
, permettant descorrespondre
de faire mécanismes deàchiffrement, notamment
chaque caractère du dans
message
leun
domaine militaire.
ensemble Les algorithmes
possible de chiffrement simples sont catégorisés selon : (1) le décalage de lettres
d'autres caractères,
Chirement polygrammes, consistant à substituer un groupe de caractères dans le message
dans l’alphabet, par exemple, le chiffre de César, ou le chiffre de Vigenère ; et selon (2) le remplacement des
lettres par des symboles, tels que le code Morse, le code musical, ou l’alphabet des templiers.
par un autre groupe de caractères.
DepuisParmi les limiteslesduêtres
l'antiquité, chiffrement par substitution,
humains ont essayé ce dedernier se casse
proposer desfacilement,
mécanismes car les
delettres sont toujours
chirement, notam-
ment codées
dans lededomaine manière. EnLes
la même militaire. effet, l’assaillant qui
algorithmes de ne possède quesimple
chirement le message
sont chiffré, peut réaliser
catégorisés selon une
: (1) le
cryptanalyse de la fréquence de chaque symbole ou chaque groupe de symboles pour en extraire le message en clair.
décalage de lettres dans l'alphabet, par exemple, le chire de César, ou le chire de Vigenère ; et selon
(2) le remplacement des lettres par des symboles, tels que le code Morse, le code musical, ou l'alphabet
des templiers.
Parmi les limites du chirement par substitution, ce dernier se casse facilement, car les lettres sont
toujours codées de la même manière. En eet, l'assaillant qui ne possède que le message chiré, peut
réaliser une cryptanalyse de la fréquence de chaque symbole ou chaque groupe de symboles pour en
extraire le message en clair.
Remarque :
Le chirement par bloc peut être converti en un chirement par ot grâce à un mode opératoire
qui permet de chaîner plusieurs blocs et traiter des données de taille variable.
La table 4.1 décrit les principaux algorithmes de chirement symétrique utilisés à ce jour.
Le principal avantage des algorithmes de chirement symétrique est leur temps de calcul qui est
nettement plus courts par rapport à leurs concurrents (algorithmes de chirement asymétrique). Ce-
pendant, ils possèdent les limites suivantes :
Longueur de la clé secrète : Selon Shannon (1940) [57], les systèmes de chirement symé-
trique doivent utiliser des clés d'une longueur au moins égale à celle du message à chirer, pour
CHAPITRE 4. CRYPTOGRAPHIE APPLIQUÉES 40
Téléphone rouge :
Pendant la guerre froide (1963-1990), les diplomates russes et américains prenaient l'avion avec
des valises contenant des cassettes de clés symétriques dans le but de les échanger dans les ambas-
sades. Ces clés servaient à chirer les communications téléphoniques entre les deux nations, c'est
ce qu'on appelais autrefois le téléphone rouge . La clé était changée à chaque communication
et détruite lorsque celle-ci était terminée.
nécessitant beaucoup d'opérations et un espace mémoire volumineux. En pratique, il est basé sur
la diculté de factoriser un grand nombre (généralement un nombre à 100 chires) en produit
de deux grands facteurs premiers [28].
En eet, le meilleur algorithme à ce jour peut factoriser des nombres de 150 bits, mais sa
complexité combinatoire est très grande. Donc, plus les nombres premiers choisis sont grands,
plus le système sera sécurisé. Actuellement, on estime que le plus rapide ordinateur que l'on
puisse construire utilisant la meilleure méthode exhaustive connue met plus de 1000 ans pour
retrouver la clé privée d'un système RSA utilisant une clé de 1024 bits.
2. En mathématiques, la factorisation consiste à écrire une expression algébrique, un nombre ou une matrice sous la
forme d'un produit.
CHAPITRE 4. CRYPTOGRAPHIE APPLIQUÉES 41
Chirement ElGamal : L'algorithme El Gamal fut présenté par T. ElGamal en 1985 dans [19].
Il est moins résistant que RSA entre termes de abilité contre les attaques, et son fonctionnement
est deux fois plus lent. Actuellement, il est utilisé dans certains logiciels libres de messagerie.
Comme pour RSA, la construction des deux clés est basée sur les nombres premiers. En eet,
la sécurité du système ElGamal repose sur la diculté de calculer la clé secrète. Cette opéra-
tion revient à retrouver une valeur à partir d'une formule logarithmique complexe, connu sous
le nom de calcul du logarithme discret [15]. Ce dernier est résoluble en se basant sur une re-
cherche exhaustive mais nécessite un temps relativement long. À l'heure actuelle, il n'existe pas
d'algorithme à complexité polynomiale eectuant cette opération.
Les limites auxquelles sourent les algorithmes de chirement asymétrique, sont :
Longueur des clés : Pour des raisons de robustesse, les algorithmes asymétriques nécessitent
de plus en plus de clés publiques plus longues (actuellement, on utilise des clés RSA de 1024
bits),
Vulnérabilité du chirement : par sa nature mathématique, la cryptographie asymétrique
est plus vulnérable par rapport à la cryptographie symétrique,
Performance de l'algorithme : les algorithmes à clés publiques sont plus complexes donc
plus lents que ceux à clés secrètes, qui tournent eux jusqu'à près de 1000 fois plus vite.
De ce fait, l'utilisation du chirement asymétrique pour transmettre une clé de session symétrique
est actuellement dépréciée. Une autre méthode d'échange de clés a été proposée par Whiteld Die
et Martin Hellman, en 1976. Cette méthode, dite d'échange de clés Die-Hellman, permet à deux
interlocuteurs, de négocier un secret partagé sans le communiquer explicitement lors de la négociation.
La clé privée du destinataire est utilisée pour signer et vérier la négociation, mais la clé de session
n'est jamais échangée. Comme pour l'algorithme ElGamal, La sécurité de l'algorithme Die-Hellman
réside dans la diculté de résoudre un problème du logarithme discret (Pour plus de détail, le lecteur
peut consulter le cours de Cryptographie et Sécurité de l'Information (CRSI)).
Mieux encore, pour réduire le risque de compromission des sessions précédentes, il est possible de
générer une nouvelle clé symétrique, dite "éphémère", à chaque nouvelle session et ignorer ainsi les clés
précédentes. Par conséquent, comme les clés éphémères ne sont jamais échangées et sont renégociées
pour chaque nouvelle session, le pire des cas est qu'un assaillant pourrait obtenir la clé éphémère d'une
session en cours, ce qui lui permet de déchirer uniquement les échanges de celle-ci. À cet eet, avec
la clé éphémère actuelle obtenue, l'assaillant ne pourrait déchirer ni les échanges précendents, ni ceux
qui sont futurs.
Actuellement, la combinaison de l'échange de clés Die-Hellman et des clés de sessions éphémères,
est le mécanisme le plus utilisé pour sécuriser les échanges sur Internet. Ce mécanisme permet d'assurer
la propriété du secret de transfert parfait, dite PFS (Perfect Forward Secrecy).
3. Hachage : Ce mot est utilisé par analogie avec la cuisine, qui signie la segmentation désordonnée des aliments.
CHAPITRE 4. CRYPTOGRAPHIE APPLIQUÉES 43
dernière est une fonction à sens unique permettant de calculer une chaine de caractères xe, appelée
empreinte numérique, à partir d'une donnée de taille arbitraire. l'intérêt de ce mécanisme est le fait
qu'il est pratiquement impossible à inverser, c'est-à-dire récupérer la donnée à partir de l'empreinte
numérique. Les algorithmes les plus utilisés actuellement sont : MD5, SHA1, et SHA-256.
Sécurité des réseaux 2018-2019 – Semestre 2 Université Constantine 2
Cas d'usage des fonctions de hachage :
La Sécurité
fonctiondes de hachage est principalement
réseaux utilisée– dans
2018-2019 les2 cas suivants :
Semestre Université Constantine 2
Cas d’usage des fonctions de hachage
La signature numérique des documents électroniques et des messages échangés,
fonction
La Le stockage sécurisé
de hachage des mots deutilisée
est principalement passe dans
danslesles
casbases de :données,
suivants
La vérication de l'intégrité des certicats et des paquets réseaux,
Cas d’usagenumérique
La signature des fonctions de hachage
des documents électroniques et des messages échangés,
La création d'une blockchain (le lecteur peut consulter le module ALDA M2 RSD, pour
La plusLe stockage
fonction sécurisé
estdes mots de passe dans les bases de données,
de de hachage
détails). principalement utilisée dans les cas suivants :
La vérification de l’intégrité des certificats et des paquets réseaux,
La signature numérique des documents électroniques et des messages échangés,
La création d’une blockchain (le lecteur peut consulter le module ALDA – M2 RSD, pour plus de détails).
En pratique, Le stockage sécurisé des
la combinaison des mots de passe dans
mécanismes deles bases de données,
l'empreinte et de signature numériques fournit un
En pratique,
moyen Lalavérification
très ecace combinaison dedes
pour garantirl’intégrité
mécanismes
l'intégrité de l’empreinte
des certificats et des et de signature
et l'authenticité
paquets numériqueséchangés.
des messages
réseaux, fournit un moyen très
Concrètement,
pourefficace
envoyer pour garantir l’intégrité et l’authenticité des messages échangés. Concrètement, pour
La création d’une blockchain (le lecteur peut consulter le module ALDA – M2 RSD, pour plus de détails).
un message signé, l'expéditeur doit suivre les étapes suivantes : envoyer un
message signé, l’expéditeur doit suivre les étapes suivantes :
1.EnUne empreinte
pratique, numérique,
la combinaison est généréede
des mécanismes à l’empreinte
partir du message en utilisant
et de signature numériquesun algorithme de hachage,
fournit un moyen très
1) Une
par
empreinte
exemple
numérique,
SHA-256 ;
est générée à partir du message en utilisant un algorithme de hachage, par
efficace pour garantir l’intégrité et l’authenticité des messages échangés. Concrètement, pour envoyer un
exemple SHA-256 ;
2.message signé, l’expéditeur
Cette empreinte doit suivre
est signée à l'aideles étapes
de la suivantes
clé privée : de l'expéditeur ;
2) Cette empreinte est signée à l'aide de la clé privée de l'expéditeur ;
3. Le3)1)message
LeUne empreinte
messageest est numérique,
joint par
joint parson
sonest générée à partir
empreinte
empreinte signée,
signée,dupour
message
pourêtre en
être utilisant
chiré
chiffré un
en en algorithme
utilisant
utilisant depublique
la cléla hachage,
clé par du
publique
du
exemple
destinataire. SHA-256
destinataire. ;
2) Cette empreinte est signée à l'aide de la clé privée de l'expéditeur ;
3) Le message est joint par son empreinte Exp signée, pour être chiffré en Destutilisant la clé publique du
destinataire.
Exp Dest
Hachage Chiffrement Chiffrement
Expéditeur Message Empreinte Signature Message Destinataire
numérique numérique Message
chiffré
signé
Hachage Chiffrement Chiffrement
À la réception du message,Figure
Expéditeur Message Empreinte Signature Message Destinataire
le 4.2 Signature
destinataire numérique
suivantes : des messages
Message
numérique suit les étapes
numérique chiffré
signé
1) À l’aide de sa clé privée, il déchiffre le message ;
À la réception du message, le destinataire suit les étapes suivantes :
2) réception
À la Afin de prouver l'identité
du message, de l'expéditeur,
le destinataire l’empreinte
suit les du message
étapes suivantes : est extraite de l'empreinte signée qui
1. À l'aide de sa cléleprivée,
a accompagné message,il en déchire le clé
utilisant la message
publique ; de l’expéditeur ;
3)1) En
2. An
À l’aide delesamême
deutilisant
prouver
clé privée,
l'identité
il
algorithmedéchiffre le message
de hachage,
de l'expéditeur,
;
ill'empreinte
génère une empreinte
du message à partir
estduextraite
message reçu, pour
de l'empreinte
2) être comparée
Afin de prouveravec l’empreinte
l'identité de signée.
l'expéditeur,Si l’empreinte
les deux du message
empreintes
signée qui a accompagné le message, en utilisant la clé publique de l'expéditeur ;
est
sont extraite de
identiques, l'empreinte
cela signée
signifie que qui
le
a accompagné
message le message,
est intègre et n'a pasenété altéré. la clé publique de l’expéditeur ;
utilisant
3. En utilisant le même algorithme de hachage, il génère une empreinte à partir du message reçu,
3) En utilisant le même algorithme de hachage, il génère une empreinte à partir du message reçu, pour
pour être comparée
être comparée avecavec l'empreinte
l’empreinte signée.
signée. Si lesSideuxles empreintes
deux empreintes sont identiques,
sont identiques, cela signifiecela
quesignie
le
que lemessage
messageest est intègre
intègre et n'a et
pasn'a
été pas été altéré.
altéré. Hachage
Dest
Message
Hachage
Dest
Déchiffrement ?
Comparaison
Déchiffrement Message
Signature Empreinte
Destinataire Message Message numérique
chiffré signé
Exp numérique
Déchiffrement ?
Comparaison
Déchiffrement
Signature Empreinte
Destinataire Message Message numérique numérique
4.5. Problème du Man-in-the-middle
chiffré Exp
signé
Le chiffrement de bout en bout consiste à transférer des données en toute sécurité entre les extrémités de la
communication.
4.5. Problème Figure
Cependant, au lieu d'essayer de casser le chiffrement (c’est-à-dire la clé de déchiffrement), un
du Man-in-the-middle
4.3 Vérication de la signature numérique des messages
assillant pourrait usurper l'identité du destinataire du message, par substitution de la clé publique du
Le chiffrement de bout en bout consiste à transférer des données en toute sécurité entre les extrémités de la
communication. Cependant, au lieu d'essayer de casser le chiffrement (c’est-à-dire la clé de déchiffrement), un
assillant pourrait usurper l'identité du destinataire du message, par substitution de la clé publique du
© Dr. R. Boukharrou Page 8 sur 9
CHAPITRE 4. CRYPTOGRAPHIE APPLIQUÉES 44
4.7 Certicats
La garantie qu'une clé publique provient bien de l'entité qu'elle prétend être, s'eectue via un cer-
ticat numérique d'authenticité attesté par un tiers de conance, appelé autorité de certication. Les
certicats interviennent principalement dans le processus de chirement à clé publique des messages et
dans le processus de signature des documents électroniques. La cryptographie asymétrique est égale-
ment utilisée pour créer le certicat, celui-ci contenant la clé publique de l'entité associée. La clé privée
étant condentielle à l'entité, elle est stockée exclusivement au niveau de celle-ci.
Par exemple, pour sécuriser un serveur Web sur Internet, l'autorité de certication consiste à lui
générer à sa demande, un certicat signé par celle-ci contenant sa clé publique. Après l'attribution du
certicat, l'autorité de certication va certier à tout demandeur (par exemple le client Web) que la
clé publique appartient bien à celui qui le prétend, c'est-à-dire le serveur Web.
Il existe plusieurs modèles et implémentations possibles de PKI : (1) une hiérarchie d'autorités
de certication, (2) une toile de conance, ou en utilisant (3) une certication décentralisée basée
sur une blockchain. L'implémentation de PKI la plus utilisée actuellement est celle où les éléments
sont organisés hiérarchiquement. Dans ce cas, la PKI est essentiellement composée d'une ou plusieurs
autorités de certication, d'une autorité d'enregistrement, et d'une autorité de dépôt :
Une autorité de certication (Certicate Authority CA), étant le composant décision-
nel du processus de certication, c'est une autorité morale qui consiste à créer des certicats en
dénissant leurs règles et modalités d'attribution. Cette autorité a pour rôle principal de gérer
le cycle de vie des certicats, en déterminant notamment leur durée de validité.
Une autorité d'enregistrement (Registration Authority RA), est l'entité servant
d'interface entre l'utilisateur et l'autorité de certication. En eet, elle est chargée de recueillir,
d'enregistrer et de vérier les demandes de certicats après avoir contrôler l'identité du deman-
deur en s'assurant que les règles d'attribution des certicats soient respectées. Après avoir rempli
toutesdes
Sécurité lesréseaux
modalités, la RA procède à2018-2019 – Semestrede
la récupération 2 la clé publiqueUniversité
auprès du demandeur.
Constantine 2
Une autorité de dépôt (Repository), est une entité ayant pour tâche de publier et d'organi-
ser les certicats émis par la CA, en les mettant à la disposition des utilisateurs. La publication
Une autorité de dépôt (Repository), est une entité ayant 4pour tâche de publier et d’organiser les
des certicats est faite en utilisant le protocole LDAP , et la liste des certicats expirés ou
certificats émis par la CA, en les mettant à la disposition des utilisateurs.5 La publication des certificats
révoqués est regroupée dans la structure
est faite en utilisant le protocole LDAP1, etdela données signée CRL . Par ailleurs, la vérication
liste des certificats expirés ou révoqués est regroupée
en ligne
dansdu statut d'un
la structure certicat
de données signéepeut
CRL2.seParfaire à travers
ailleurs, des requêtes/réponses
la vérification en ligne du statut d’undu protocole
certificat
6 . se faire à travers des requêtes/réponses du protocole OCSP3.
OCSPpeut
Les étapes du processus de certication sont illustrées dans la gure 4.4 :
Les étapes du processus de certification sont illustrées dans la figure suivante :
Envoi du
certificat
5
Utilisateur A Utilisateur B
7
Envoi de
messages 6 Contrôle de
Demande de 1 4 Attribution du chiffrés validité du
certificat certificat certificat
Autorité 3
Autorité de dépôt
d’enregistrement (RA) (Repository)
Publication du CRL
certificat
Validation du 2
certificat
Autorité de
certfication (CA)
Figure
Etant l’élément le plus important dans 4.4
unePKI, l’autoritédedecertication
Processus certification (CA) est le tiers de confiance
responsable de délivrer les certificats en mettant à la disposition de quiconque, le moyen de vérifier la validité
Étant
de cesl'élément
certificats le plusa fournis.
qu'elle important dans une PKI, l'autorité de certication (CA) est le tiers de
conance responsable de délivrer les certicats en mettant à la disposition de quiconque, le moyen de
Les services d’une PKI sont principalement utilisés via le protocole SSL/TLS pour sécuriser les
vérier la validité de ces certicats qu'elle a fourni.
communications Web (HTTPS) ou pour sécuriser les échanges par email (SMTP-TLS, SPOP3, et IMAPS).
Les services d'une PKI sont principalement utilisés via le protocole SSL/TLS pour sécuriser les
Par ailleurs, ils sont utilisés aussi pour la sécurisation des documents électroniques, par exemple au moyen de
communications Web (HTTPS)
signatures électroniques avancéesoutelles
pour quesécuriser
PAdES pour les des
échanges parPDF,
documents email (SMTP-TLS,
ou via SPOP3, et
le protocole S/MIME
IMAPS). Par ailleurs,
pour les emails. ils sont utilisés aussi pour la sécurisation des documents électroniques, par
exemple au moyen de signatures électroniques avancées telles que PAdES pour des documents PDF,
3. Certificats X.509
ou via le protocole S/MIME pour les emails.
4. LDAP : Lightweight
Le format Directory
de certificats X.509,Access créé et recommandé par l’ITU4 en 1988 et la version 3 est la version
a été Protocol.
5. CRL : Certicate
actuelle Revocation
depuis 1996, List.les versions antérieures sont toujours utilisées. Ayant fait l'objet de plusieurs
mais toutes
6. OCSP
RFC, :actuellement,
On-line Certicate Status
X.509 est Protocol.
le format de certificat le plus répandu sur Internet, car il repose sur un système
hiérarchique d'autorités de certification, à l'inverse de la toile de confiance d’OpenPGP, où n'importe qui peut
signer les certificats d'autrui. En outres, X.509 se base sur un algorithme robuste pour la validation de la chaine
de certification, avec la possibilité d’établir des listes de révocation de certificats.
CHAPITRE 4. CRYPTOGRAPHIE APPLIQUÉES 46
la version actuelle depuis 1996, mais toutes les versions antérieures sont toujours utilisées. Ayant fait
l'objet de plusieurs RFC, actuellement, X.509 est le format de certicat le plus répandu sur Internet,
car il repose sur un système hiérarchique d'autorités de certication, à l'inverse de la toile de conance
d'OpenPGP, où n'importe qui peut signer les certicats d'autrui. En outres, X.509 se base sur un
algorithme robuste pour la validation de la chaine de certication, avec la possibilité d'établir des listes
de révocation de certicats.
certificat.crt
1 Certificate :
2 Data :
3 Version : 3 (0 x2 )
4 Serial Number : fb : eb : a1 : e7 :87: a6 :28: bc
5 Signature Algorithm : sha256WithRSAEncryption
6 Issuer : C = DZ , ST = Constantine , L = Constantine , O = University , [...]
7 Validity
8 Not Before : Sep 5 13:01:21 2019 GMT
9 Not After : Sep 4 13:01:21 2020 GMT
10 Subject : C = DZ , ST = Constantine , L = Constantine , O = University , [...]
11 Subject Public Key Info :
12 Public Key Algorithm : rsaEncryption
13 Public - Key : (2048 bit )
14 Modulus :
15 00: c2 :28:6 c : bc :1 c :4 e :47:26: b9 : a4 :25: f9 :62:0 d : c4 :87:80:1 a : bb [...]
16 X509v3 extensions :
17 X509v3 Subject Key Identifier :
18 E8 : A1 :2 B :88:39:33:84:2 E :9 D : B5 :13: E8 : BA :78:00:40:71:68:6 E : CD
19 X509v3 Authority Key Identifier :
20 keyid : E8 : A1 :2 B :88:39:33:84:2 E :9 D : B5 :13: E8 : BA :78:00:40:71:68:6 E : CD
21 X509v3 Basic Constraints : critical
22 CA : TRUE
23 Signature Algorithm : sha256WithRSAEncryption
24 4 a :80:5 a :1 b :5 d : fc :02:23: a3 :3 d :4 c :7 d : cc :5 b :1 c :4 e :14:1 b :3 d :43: db :4 d : [...]
Demande Génération
Authentification
de certficat du certificat
Renouvellement
Une PKI utilise des mécanismes de signature numérique, telle que la fonction de hachage, afin d’assurer
4.8.3l’intégrité des certificats et par conséquent celle des clés publiques que ceux-ci contiennent. La signature
Signature numérique
numérique d'un message ainsi que le certificat de l'expéditeur, prouvent que l’entité identifiée par le certificat
Une PKIl’emettrice
est bien du message.
utilise des mécanismesEn plus
dedesignature
l'authentification, la signature
numérique, telledu certificat
que par la PKI
la fonction deassure aussi an
hachage,
la non-répudiation de l’expéditeur car c’est seule la PKI qui peut signer, avec sa clé privée,
d'assurer l'intégrité des certicats et par conséquent celle des clés publiques que ceux-ci contiennent.
le certificat de
l’expéditeur. En effet, à l’inverse du chiffrement asymétrique, la clé privée de la PKI est utilisée pour la
La signature numérique d'un message ainsi que le certicat de l'expéditeur, prouvent que l'entité
création de la signature du certificat et sa clé publique sert à la vérification de cette signature.
identiée par le certicat est bien l'émettrice du message. En plus de l'authentication, la signature
du certicat par la PKI assure aussi la non-répudiation de l'expéditeur car c'est seule la PKI qui peut
3.4. Processus de certification
signer, avec sa clé privée, le certicat de l'expéditeur. En eet, à l'inverse du chirement asymétrique,
Génération du certificat : Lorsqu'un serveur (par exemple un serveur Web) veut diffuser une clé
la clé privée publique,
de la PKI est utilisée
il effectue pour ladecréation
une demande de auprès
certification la signature du Cette
d'une PKI. certicat et reçoit
dernière sa cléetpublique
vérifie la sert
clé publique
à la vérication de cetteavec l'identité du
signature. demandeur. Après la validation par des moyens conventionnels, la PKI
place la clé publique dans un certificat qu'elle signe en utilisant sa clé privée. Ensuite, le certificat est
4.8.4 Processus de certication
publié puis renvoyé au serveur qui le conserve pour ses communications futures avec les clients.
Vérification du certificat : Si un client (par exemple un navigateur Web) demande une ressource
Génération
numériquedu certicat
au serveur Web, ce: Lorsqu'un
dernier lui envoie son certificat
serveur ainsi queun
(par exemple la ressource
serveur en question.
Web) veutSidiuser
la
signature
une clé du certificat
publique, du serveur
il eectue unecorrespond
demande à une
de PKI en qui le client
certication a confiance,
auprès d'unealors
PKI.le client
Cette vérifie
dernière
l'intégrité du certificat du serveur avec la clé publique du PKI. Cette vérification lui assure que l'identité
reçoit et vérie la clé publique avec l'identité du demandeur. Après la validation par des moyens
du serveur est authentique, c'est-à-dire que la clé publique et l'identité contenues dans le certificat du
conventionnels, la PKI place la clé publique dans un certicat qu'elle signe en utilisant sa
serveur sont garanties par la PKI. Le client peut alors utiliser la clé publique du serveur, incluse dans le
clé privée. pour envoyer
Ensuite,
certificat, des messages
le certicat est chiffrés,
publié en l’occurrence,
puis renvoyé une au clé secrète de
serveur quisession.
le conserve pour ses
communications futures avec les clients.
4.Vérication du certicat :
Chaine de certificats Si un client (par exemple un navigateur Web) demande une
ressource numérique au serveur Web, ce dernier lui envoie son certicat ainsi que la ressource
Sachant que les CA (ou plus généralement les PKI) sont des entités qui valident l'identité et l’intégrité des
en question. Si la signature du certicat du serveur correspond à une PKI en qui le client a
certificats. En effet, elles peuvent être des organismes indépendants ou des entreprises qui utilisent leur propre
conance,
logiciel alors
d'émission delecertificats.
client vérie l'intégrité du certicat du serveur avec la clé publique du PKI.
Cette vérication lui assure que l'identité du serveur est authentique, c'est-à-dire que la clé
Tout client (tel qu’un navigateur Web) qui supporte les certificats maintient une liste des certificats de
publique et l'identité contenues dans le certicat du serveur sont garanties par la PKI. Le client
CA de confiance. Dans le cas le plus simple, le client ne peut valider que les certificats émis par une des CA
peut alors utiliser la clé publique du serveur, incluse dans le certicat, pour envoyer des messages
pour lesquelles il possède le certificat. Il est également possible pour un certificat d'une CA de faire parti d'une
chirés, en l'occurrence, une clé secrète de session.
hiérarchie de certificats, chacun émis par la CA parente dans cette hiérarchie, appelé chaine de certificats. Cette
dernière trace le chemin des certificats d'une branche de la hiérarchie jusqu'au certificat racine. En effet, les
4.9 Chaine de certicats
grandes organisations de certification déléguent la responsabilité de l'émission des certificats à plusieurs CA,
pour plusieurs raisons [1] :
Sachant que les CA (ou plus généralement les PKI) sont des entités qui valident l'identité et
l'intégrité des certicats. En eet, elles peuvent être des organismes indépendants ou des entreprises
© Dr. R. Boukharrou Page 5 sur 6
CHAPITRE 4. CRYPTOGRAPHIE APPLIQUÉES 48
4.10 Conclusion
Malgré que la cryptanalyse permet de faire avancer la cryptographie avec des méthodes de chif-
frement toujours plus poussées, elle représente aussi un danger à l'échelle internationale. En eet,
qu'adviendrait-il si un mathématicien découvrait une technique mathématique permettant de casser
les algorithmes RSA ou AES. Toute la sécurité informatique d'aujourd'hui serait remise en question.
En outres, des attaques plus ecaces, basés sur la cryptanalyse sont en cours de développement,
notamment par des organismes de renseignement dans diérents pays.
Par ailleurs, les applications des ordinateurs quantiques permettent théoriquement de casser le RSA
par force brute, mais heureusement qu'actuellement ces ordinateurs sont toujours inecaces. De ce fait,
si on arrive dans un futur proche, à développer un ordinateur quantique permettant de décrypter des
messages chirés, alors toute la sécurité informatique qu'on connait aujourd'hui s'écroulera.
C'est pourquoi tout est mis en ÷uvre pour assurer la sécurité de demain avec des perspectives
telle que la cryptographie post-quantique, théoriquement incassable puisqu'elle serait une technique
similaire au chire de Vernam où la clé est aussi longue que le message.
Chapitre 5
au niveau de la couche Internet contrairement aux standards classiques qui opéraient au niveau de la
couche Application. En eet, il présente l'avantage d'une part, de rendre IPsec totalement indépendant
des applications, et d'autre part, de gérer sa sécurité sans aucune modication sur les terminaux. De
plus, IPsec est compatible à la fois à IPv4 et IPv6, au moyen d'entêtes supplémentaires.
IPsec comprend principalement cinq services fonctionnels [59] [65] :
1. L'authentication : garantit qu'un paquet IP reçu a été transmis par la partie identiée
comme source dans l'entête du paquet.
2. L'intégrité : consiste à s'assurer qu'un paquet n'a pas été altérée accidentellement ou fraudu-
leusement en transit ;
49
CHAPITRE 5. SÉCURITÉ AU NIVEAU RÉSEAU : PROTOCOLE IPSEC 50
5. La gestion des clés : s'occupe de la négociation et l'échange sécurisés des clés de chirement
ou de signature.
Ces services des sécurité sont basés sur des mécanismes cryptographiques modernes, à savoir les
chirement symétrique et asymétrique, les signatures numériques, les fonctions de hachage, et les
certicats.
Historiquement, Cisco a été l'un des premiers à proposer IPsec en tant que norme pour sécuriser
un réseau IP, en intégrant sa prise en charge dans les routeurs Cisco. En 1998, cela a été concrétisé par
sa normalisation par l'IETF comme un cadre de protocoles standards ouverts. En eet, la spécication
de IPsec comprend plusieurs documents, les plus importants d'entre eux, publiés dans la même année,
sont : (1) le RFC 2401, présentant l'architecture de sécurité pour le protocole IP ; (2) le RFC 2402,
incluant la description du protocole AH servant à l'authentication des paquets à IPv4 et IPv6 ; (3) le
RFC 2406, décrivant le protocole ESP dédié au chirement des paquets IPv4 et IPv6 ; et (4) les RFC
2408 et RFC 2409, spéciant les capacités de gestion et d'échange des clés.
AH servant à l'authentication des paquets à IPv4 et IPv6 ; (3) le RFC 2406, décrivant le protocole
ESP dédié au chirement des paquets IPv4 et IPv6 ; et (4) les RFC 2408 et RFC 2409, spéciant les
capacités de gestion et d'échange des clés.
1. Gestion et échange des paramètres de sécurité : Avant d'établir une connexion IPsec,
vue comme un tunnel sécurisé entre deux extrémités IP, les clés de sécurité sont d'abord négo-
ciées puis échangées en utilisant le protocole IKE. Par ailleurs, un autre sous-protocole appelé
ISAKMP, permet de dénir une association de sécurité (Security Association - SA) contenant
tous les paramètres utilisés pour la sécurisation des paquets émis et reçus ;
SAD. Cette base de données est consultée pour savoir comment appliquer les mécanismes de
sécurité sur les paquets IP. Par ailleurs, une autre base de données est aussi utilisée, dite SPD,
servant à savoir quelle stratégie il faut appliquer à chaque paquet IP reçu ou à émettre ;
3. Transmission sécurisée des paquets : Une fois les clés de sécurité négociées, échangées et
sauvegardées au niveau des extrémités IPsec, IPsec peut alors établir une connexion sécurisée
en utilisant l'un des deux protocoles AH et ESP : (1) Le protocole AH qui fournit les services
d'intégrité, d'authentication et de protection anti-rejeu ; et (2) le protocole ESP qui assure le
service de condentialité en plus des services fournis par le protocole AH.
Transport
Protocole IP
Accès-au-réseau
Figure
2.2. Mode "Tunnel"
5.1 Fonctionnement du mode "Transport" du protocole IPsec
En mode Tunnel, c'est tout le paquet IP qui est sécurisé (chiffré et/ou authentifié) puis encapsulé dans un
5.3.2nouveau
Mode "Tunnel"
paquet avec un nouvel entête IP. À cet effet, les protocoles de IPsec (AH ou ESP) opèrent après le
traitement du protocole IP comme il est illustré dans la figure suivante [5]. Ainsi, la protection est appliquée
Ensurmode
tous les champsc'est
Tunnel, du paquet
tout leIP paquet
arrivant IP
à l’entrée
qui estd’un tunnel,(chiré
sécurisé y compris sur les
et/ou champs de puis
authentié) l’entête IP.
encapsulé
dans Généralement,
un nouveau paquetce modeavec
est celui
un utilisé
nouvelpar les équipements
entête IP. À cet réseau
eet, (routeurs, pare-feu,
les protocoles de...) car il(AH
IPsec permet
oulaESP)
création de tunnels entre différents sites.
opèrent après le traitement du protocole IP comme il est illustré dans la gure 5.2 [39]. Ainsi, la
protection est appliquée sur tous les champs du paquet IP arrivant à l'entrée d'un tunnel, y compris
sur les champs
Sécurité de l'entête IP. Généralement,
des réseaux ce mode
2018-2019 est 2celui utilisé parUniversité
– Semestre les équipements
Constantine 2réseau
© Dr. R.
(routeurs, Boukharrou
pare-feu, ...) car il permet la création de tunnels entre diérents sites. Page 4 sur 8
Transport
Protocole IP
Internet
Accès-au-réseau
Afin d’indiquer le type de protocole de sécurité d’un paquet IPsec, le champ Protocol de l’entête IP résultant
Figure 5.2 Fonctionnement du mode "Tunnel" du protocole IPsec
contient le protocole utilisé, à savoir 50 pour ESP et 51 pour AH. Cette identification est utilisée pour les deux
modes de fonctionnement d’IPsec (Transport et Tunnel).
An d'indiquer le type de protocole de sécurité d'un paquet IPsec, le champ Protocol de l'entête
IP résultant contient le protocole utilisé, à savoir 50 pour ESP et 51 pour AH. Cette identication est
Mode "Nesting"
utilisée pour les deux modes de fonctionnement d'IPsec (Transport et Tunnel).
Il est possible d’appliquer un mode dit "Nesting", utilisant à la fois le mode Transport et le mode Tunnel.
Mode "Nesting"
Dans ce type : paquet IPSec (AH ou ESP) en mode Transport est encapsulé dans un autre paquet
de mode, un
IPSec en mode Tunnel.
Il est possible d'appliquer un mode dit "Nesting", utilisant à la fois le mode Transport et le mode
Tunnel. Dans ce type de mode, un paquet IPSec (AH ou ESP) en mode Transport est encapsulé
3. Protocoles de sécurité de IPsec
dans un autre paquet IPSec en mode Tunnel.
Les services de sécurité offerts par IPsec sont fournis au moyen de deux extensions du protocole IP appelées
AH et ESP. Ces deux protocoles peuvent être utilisées séparément ou combinées pour obtenir les services de
sécurité requis :
3.1. Protocole AH
Actuellement défini dans le RFC 4302, le protocole AH (Authentication Header) est un protocole IP de la suite
IPSec, conçu pour assurer l’authenticité des paquets IP, l'intégrité des données transférées ainsi qu’une
protection contre les attaques par rejeu. Le principe de AH est d’ajouter au paquet IP classique une entête
CHAPITRE 5. SÉCURITÉ AU NIVEAU RÉSEAU : PROTOCOLE IPSEC 53
5.4.1 Protocole AH
Actuellement déni dans le RFC 4302, le protocole AH (Authentication Header) est un protocole IP
de la suite IPSec, conçu pour assurer l'authenticité des paquets IP, l'intégrité des données transférées
ainsi qu'une protection contre les attaques par rejeu. Le principe de AH est d'ajouter au paquet IP
classique une entête supplémentaire, dite entête AH (AH header) permettant à la réception de vérifer
l'authenticité des données incluses dans le paquet.
Le protocole AH opère selon les deux modes de fonctionnement déni pour IPsec. De ce fait,
la gure 5.3 illustre la structure d'un paquet IP utilisant AH, selon ces deux modes : (1) En mode
Transport, un entête AH est ajouté entre l'entête IP d'origine et le payload, tandis que (2) en mode
Tunnel, l'entête AH est ajouté avant le paquet IP d'origine (entête IP + payload), puis précédé par un
nouvel entête IP. Ayant l'authentication comme principal service, celle-ci est appliquée sur les parties
Sécurité des réseaux 2018-2019 – Semestre 2 Université Constantine 2
illustrées dans la gure.
Paquet IP
IP hdr. Payload (TCP, UDP, …)
Sécurité des réseaux 2018-2019 – Semestre 2 (non sécurisé)
Université Constantine 2
Authentifié Paquet IP
IP hdr. Payload (TCP, UDP, …)
(non sécurisé)
Paquet IP
IP hdr. AH hdr. Payload (TCP, UDP, …)
(Mode Transport)
Authentifié
Authentifié Paquet IP
IP hdr. AH hdr. Payload (TCP, UDP, …)
(Mode Transport)
Paquet IP
New IP hdr. AH hdr. IP hdr. Payload (TCP, UDP, …)
(Mode Tunnel)
En utilisant le protocole AH, le service d'authentification est assuré grâce aux différents champs de l'entête
AH: (1) Le SPI Figure
(Security 5.3 Structure d'un Authentifié
Parameters Index) permet paquet IP sécurisé par le protoocle AH
de caractériser l'associationPaquet
de sécurité utilisée pour la
IP
communication New(SA)
IP hdr.; et (2)
AH hdr. IP hdr.
la valeur de vérification Payload (TCP, UDP,
d'intégrité (ICV…)2) permet de vérifier l'authenticité des
(Mode Tunnel)
En utilisant le protocole AH, le service d'authentication est assuré grâce aux diérents champs de
données du paquet. Par ailleurs, un numéro de séquence permet de contrer les attaques par rejeu. La structure
En AH
l'entête utilisant
d’un : (1)
entête le Le
AH protocole
estSPI
décrite AH, le service
(Security
comme : d'authentification
Parameters
suit est assurédegrâce
Index) permet aux différents
caractériser champs de de
l'association l'entête
sécurité
AH:pour
utilisée (1) Lela SPI (Security Parameters
communication (SA) Index)
; et (2)permet de caractériser
la valeur l'association
de vérication de sécurité(ICV
d'intégrité
2 ) pour
utilisée permetla de
communication Byte
(SA) ; et (2) la0 valeur de 1
vérification d'intégrité 2
(ICV 2
) permet
vérier l'authenticité des données du paquet. Par ailleurs, un numéro de séquence permet de contrer de 3
vérifier l'authenticité des
données du paquet. 0..3Par ailleurs,
Next header
un numéroPayload lengthpermet de contrer
de séquence
les attaques par rejeu. La structure d'un entête AH est décrite dans la gure 5.4 :
Reserved
les attaques par rejeu. La structure
d’un entête AH est 4..7décrite comme suit : Security Parameters index (SPI)
8..11
Byte 0 Sequence
1 number 2 3
12..n
0..3 Next header Authentication
Payload length data (variable)Reserved
4..7 (1 octet) : identifieSecurity
Next Header le typeParameters
du prochain index
entête(SPI)qui suit immédiatement cet entête.
Généralement,
8..11 il identifie le protocole deSequence plus haut niveau,
number
Payload12..n
Length (1 octet) : contientAuthentication
la longueur dedata l'entête d'authentification. En IPv4, cette longueur
(variable)
est calculée en termes de 4 octets moins 2, par exemple les valeurs de 0, 1 et 2 correspondent
Next Header (1
respectivement à 8octet)
octets,: 12
identifie
octets leet type
à 16 du prochain
octets. Dans le entête
cas dequipaquets
suit immédiatement
IPv6, la longueur cet entête.
de cet
Généralement, il Figure
identifie le 5.4
protocole Structure
de plus haut d'un
niveau, entête AH
entête doit être un multiple de 8 octets, c’est-à-dire les valeurs de 1, 2 et 3 correspondent
respectivement
Payload Length à 8(1octets,
octet)16 octets etlaàlongueur
: contient 24 octets.de l'entête d'authentification. En IPv4, cette longueur
Nextest Header
calculée (1 octet)
en termes :4identie le type du prochain entête qui0,suit
1 etimmédiatement cet
Reserved (2 octets) : ce de
champ octets moins
est réservé 2, par
pour uneexemple
utilisation lesfuture.
valeurs de
Actuellement, 2il correspondent
est mis à 0,
entête. Généralement,
respectivement à 8 il identie
octets, 12 le protocole
octets et à 16 de plus
octets. Dans haut
le cas niveau,
de paquets IPv6, la longueur de cet
Security Parameters Index (4 octets) : identifie une association de sécurité (SA), en fonction de
Payload entêteLength (1
un octet)
l'adressedoit être notions
IP (Les de SA :et
multiple decontient
8 octets,
SPI lac’est-à-dire
sont abordéeslongueur les
dans lede valeurs cours),
l'entête
prochaine ded'authentication.
1, 2 et 3 correspondent En IPv4,
respectivement à 8 octets, 16 octets et à 24 octets.
cette longueur est calculée en termes de 4 octets moins 2, par exemple les valeurs de 0, 1 et 2
Sequence Number (4 octets) : correspond à un numéro de séquence incrémenté de 1 pour chaque
Reserved
paquet IP (2 octets)
envoyé. Ce: numéro
ce champ deest réservépermet
séquence pour uneuneutilisation
protectionfuture.
contreActuellement,
les attaques paril est mis(replay
rejeu à 0,
2. ICV : Integrity Control Value.
Security
attacks), Parameters Index (4 octets) : identifie une association de sécurité (SA), en fonction de
l'adresse IP (Les notions de SA et SPI sont abordées dans le prochaine3 cours),
Authentication Data (taille variable) : contient un ICV, ou un MAC permettant de vérifier l'intégrité
Sequence
et Number
l’authenticité (4 octets)
du paquet IP. La: correspond
longueur deà ce unchamp
numéroestdevariable,
séquence incrémenté
donc dedoit
ce dernier 1 pour
être chaque
aligné
par un padding pour qu’il soit un multiple de 4 octets pour IPv4 et un multiple de 8 octets dans(replay
paquet IP envoyé. Ce numéro de séquence permet une protection contre les attaques par rejeu le cas
attacks),
de IPv6.
3
CHAPITRE 5. SÉCURITÉ AU NIVEAU RÉSEAU : PROTOCOLE IPSEC 54
vérier l'intégrité et l'authenticité du paquet IP. La longueur de ce champ est variable, donc ce
dernier doit être aligné par un padding pour qu'il soit un multiple de 4 octets pour IPv4 et un
multiple de 8 octets dans le cas de IPv6.
Authentifié
Chiffré
Paquet IP
IP hdr. ESP hdr. Payload (TCP, UDP, …) ESP trlr. ESP auth.
(Mode Transport)
Authentifié
Chiffré
Paquet IP
New IP hdr. ESP hdr. IP hdr. Payload (TCP, UDP, …) ESP trlr. ESP auth.
(Mode Tunnel)
Comme pour AH, l'authentification est fournie par ESP grâce à l'utilisation de données d'entête d’enqueue, à
savoir le SPI,Figure 5.5 Structure d'un paquet IP sécurisé par le protoocle ESP
et la ICV, et la protection anti-rejeu est assuré par un numéro de séquence. Par ailleurs, les
données chiffrées sont contenues dans le champ payload du paquet ESP. Du bourrage (padding), peut être
Comme pour AH, l'authentication est fournie par ESP grâce à l'utilisation de données d'entête
ajouté à la fin du payload (c’est-à-dire au début de l’enqueue ESP) pour permettant d’aligner le payload chiffré
d'enqueue, à savoir
pour obtenir uneletaille
SPI, deetbloc
la ICV, et la avec
compatible protection anti-rejeu
le chiffrement. est
Donc, laassuré par
structure un numéro
suivante de séquence.
correspond à un
Par ailleurs, les: données chirées sont contenues dans le champ payload du paquet ESP. Du bourrage
entête ESP
(padding), peut être ajouté à la n du payload (c'est-à-dire au début de l'enqueue ESP) pour permet-
Byte 0 1 2 3
tant d'aligner le payload chiré pour obtenir une taille de bloc compatible avec le chirement. Donc,
la
0..3 Security Parameters index (SPI)
structure de la gure 5.6 correspond à un entête ESP.
4..7 Sequence number
3. MAC : Message Authentication Code.
Security Parameters Index (4 octets) : identifie une association de sécurité (SA), en fonction de
l'adresse IP comme dans l’entête AH,
Sequence Number (4 octets) : correspond à un numéro de séquence incrémenté de 1 pour chaque
paquet IP envoyé, permet d’éviter les attaques par rejeu,
L’enqueue ESP est décrite par la structure suivante :
Comme pour AH, l'authentification est fournie par ESP grâce à l'utilisation de données d'entête d’enqueue, à
Authentifié
savoir le SPI, et la ICV, et la protection anti-rejeu Chiffréest assuré par un numéro de séquence. Par ailleurs, les
données chiffrées Paquet IP peut être
New IP hdr. ESP sont
hdr. contenues
IP hdr. dans lePayload
champ(TCP, payload du paquet ESP
UDP, …) ESP.
trlr.DuESP
bourrage
auth. (padding),
(Mode Tunnel)
ajouté à la fin du payload (c’est-à-dire au début de l’enqueue ESP) pour permettant d’aligner le payload chiffré
CHAPITRE
Comme 5.
pour obtenir SÉCURITÉ
pour une
AH,taille AU NIVEAU
de bloc compatible
l'authentification RÉSEAU
avecpar
est fournie le ESP : PROTOCOLE
chiffrement. IPSEC
Donc, la structure
grâce à l'utilisation d'entête
suivante
de données d’enqueue,
correspond à unà 55
entête ESP
savoir : et la ICV, et la protection anti-rejeu est assuré par un numéro de séquence. Par ailleurs, les
le SPI,
données chiffrées sont contenues dans le champ payload du paquet ESP. Du bourrage (padding), peut être
Byte 0 1 2 3
ajouté à la fin du payload (c’est-à-dire au début de l’enqueue ESP) pour permettant d’aligner le payload chiffré
pour obtenir une0..3taille de bloc compatibleSecurity
avec le Parameters
chiffrement.index
Donc, (SPI)
la structure suivante correspond à un
entête ESP : 4..7 Sequence number
SecurityByte
Parameters 0Index (4 octets) :1identifie une association
2 de sécurité
3 (SA), en fonction de
l'adresse IP comme dans
0..3
Figure
l’entête5.6
AH, Structure d'un entête ESP
Security Parameters index (SPI)
Sequence Number (4 octets) : correspond à un numéro de séquence incrémenté de 1 pour chaque
4..7 Sequence number
paquet IP envoyé, permet d’éviter les attaques par rejeu,
Security Parameters Index (4 octets) : identie une association de sécurité (SA), en fonc-
Security
L’enqueue ESP estParameters
décrite Index
par la (4 octets)
structure : identifie
suivante : une association de sécurité (SA), en fonction de
tion de l'adresse IP comme dans l'entête AH,
l'adresse IP comme dans l’entête AH,
Sequence Number (4 octets) : correspond à un numéro de séquence incrémenté de 1 pour
Sequence Byte
Number (4 0octets) : correspond 1 à un numéro de2 séquence incrémenté
3 de 1 pour chaque
chaque paquet IP envoyé, permet d'éviter les attaques par rejeu,
paquet IP0..3
envoyé, permet d’éviter les attaques par rejeu,
Payload
L'enqueue ESP est décrite dans la gure 5.7 :
4..7décrite par la structure
L’enqueue ESP est Padding
suivante : Padding length Next header
(≤ 255 octets)
PaddingByte 0 : contient un bourrage
1 de bits permettant
2 d’aligner3 le payload chiffré pour
obtenir une taille de bloc compatible avec le chiffrement,
0..3 Payload
Padding length (1 octet) : Longueur du padding exprimé en octets,
4..7 Padding Padding length Next header
Next Header (1 octet) : identifie le type du prochain entête.
Padding (≤ 255 octets) : contient un bourrage de bits permettant d’aligner le payload chiffré pour
obtenir une taille de Figure 5.7 avec
bloc compatible Structure d'un enqueue ESP
le chiffrement,
Padding length (1 octet) : Longueur du padding exprimé en octets,
Padding (≤ 255(1octets)
Next Header : contient
octet) : identifie un du
le type bourrage
prochainde bits permettant d'aligner le payload chiré
entête.
pour obtenir une taille de bloc compatible avec le chirement,
© Dr. R. Boukharrou Page 7 sur 8
Padding length (1 octet) : Longueur du padding exprimé en octets,
NextdesHeader
Sécurité réseaux (1 octet) : identie 2018-2019
le type du prochain
– Semestre 2 entête. Université Constantine 2
L'enqueue ESP est suivi par une authentication ESP, dont la structure est présentée dans la
gure©5.8.
Dr. R. Boukharrou Page 7 sur 8
L’enqueue ESP est suivi par une authentification ESP, comme suit :
Byte 0 1 2 3
0..n Authentication Data
Authentication Data (taille variable) : contient un ICV, ou un MAC permettant de vérifier l'intégrité
Figure
et l’authenticité du paquet 5.8 Structure
IP. Similairement d'un enqueue
au protocole ESP
AH, la longueur de ce champ est variable.
Afin de décrire le fonctionnement de IPsec, voici le déroulement de la sécurisation d’un paquet IP en utilisant
leAuthentication
protocole ESP en mode Data (taille
Transport : variable) : contient un ICV, ou un MAC permettant de vérier
l'intégrité et l'authenticité du paquet IP. Similairement au protocole AH, la longueur de ce
l’envoi d’un
Àchamp paquet IP :
est variable.
1) décrire
An de Le payload du paquet IP issu de
le fonctionnement de la couchevoici
IPsec, Transport (TCP, UDP, de
le déroulement …) la
estsécurisation
complété par une
d'unenqueue
paquet IP
ESP
en utilisant le pour être chiffré
protocole ESP en ; mode Transport :
À l'envoi2) Ensuite,
d'un paquetun entête
IP : ESP est ajouté au début du payload chiffré précédemment ;
3) Si l’option d’authentification est sélectionnée lors de la configuration du protocole ESP, un bloc
1. Le payload du paquet IP issu de la couche Transport (TCP, UDP, . . . ) est complété par une
d’authentification ESP est ajoutée à la fin, contenant le MAC du bloc constitué de l’entête ESP et du
enqueue ESP
payload pour; être chiré ;
chiffré
2. 4) Le bloc
Ensuite, un résultant
entête ESP est encapsulé avecau
est ajouté l’entête
début IP du
pourpayload
constituer le paquet
chiré IP final ;
précédemment ;
3.
5) Le paquet IP est enfin acheminé vers la destination ;
Si l'option d'authentication est sélectionnée lors de la conguration du protocole ESP, un bloc
Àd'authentication
la réception du paquetESP
IP : est ajoutée à la n, contenant le MAC du bloc constitué de l'entête ESP
et6)
duPendant
payload chiré ;
l’acheminement du paquet IP, chaque nœud intermédiaire du réseau (routeur) doit examiner
et traiter
4. Le bloc l'entêteest
résultant IP,encapsulé
et n'a pas besoin
avec d'examiner le payload
l'entête IP chiffré, toutefois,
pour constituer il peutIPexaminer
le paquet l’entête
nal ;
ESP et l’authentification ESP, car c’est le mode Transport qui est utilisé ;
5. Le paquet IP est enn acheminé vers la destination ;
7) À l’arrivée du paquet IP, le nœud de destination examine et traite l'entête IP ainsi que l’entête,
À l’enqueue
la réception et l’authentification
du paquet IP : ESP ;
8) Ensuite, l’authenticité de l’entête ESP et du payload chiffré est vérifié avec le MAC inclus dans le bloc
1. Pendant l'acheminement du paquet IP, chaque n÷ud intermédiaire du réseau (routeur) doit
authentification ESP. Cette opération est réalisée uniquement dans le cas où l’option d’authentification
examiner et traiter
est a été l'entête
sélectionnée IP,
lors de laet n'a pas besoin
configuration d'examiner
du protocole ESP avecle payload chiré,
l’expéditeur ; toutefois, il peut
examiner l'entête ESP et l'authentication ESP, car c'est le mode Transport qui est utilisé ;
9) Enfin, sur la base du SPI de l'entête ESP, le nœud de destination déchiffre le reste du paquet (payload
+ enqueue ESP) pour récupérer le payload en clair (segment de couche de Transport).
Ce processus est similaire pour le protocole AH, sauf que le payload n'est pas chiffré.
Liens utiles
CHAPITRE 5. SÉCURITÉ AU NIVEAU RÉSEAU : PROTOCOLE IPSEC 56
2. À l'arrivée du paquet IP, le n÷ud de destination examine et traite l'entête IP ainsi que l'entête,
l'enqueue et l'authentication ESP ;
3. Ensuite, l'authenticité de l'entête ESP et du payload chiré est vérié avec le MAC inclus dans
le bloc authentication ESP. Cette opération est réalisée uniquement dans le cas où l'option
d'authentication est a été sélectionnée lors de la conguration du protocole ESP avec l'expé-
diteur ;
4. Enn, sur la base du SPI de l'entête ESP, le n÷ud de destination déchire le reste du paquet
(payload + enqueue ESP) pour récupérer le payload en clair (segment de couche de Transport).
Ce processus
Sécurité des réseauxest similaire pour le protocole AH, –sauf
2018-2019 que le
Semestre 2 payload n'est pas chiré.Constantine
Université 2
Transport Payload
entrant
(TCP, UDP, …)
paquet la politique
Non
Trouvée Rechercher trouvée
une SA
Pas de
protection
Traiter le SAD Négocier
paquet
une SA (IKE)
(AH, ESP)
Transférer le
paquet via IP
Accès-au-réseau
Figureentrants
1.2. Traitement des paquets 5.9 Traitement des paquets IPsec sortants
À la réception de chaque paquet IP issu de la couche Accès-au-réseau, le protocole IPsec vérifie d’abord le
type du paquet. Si c’est un paquet IP, IPsec consulte la base de données SPD pour déterminer si une politique
est appliquée pour ce paquet. En effet, si la politique n’est pas trouvée alors le paquet est rejeté, sinon celui-ci,
n’ayant aucune protection, est délivré à la couche Transport.
Dans le cas où c’est un paquet IPsec, le protocole IPsec recherche la SA correspondante au paquet dans
CHAPITRE 5. SÉCURITÉ AU NIVEAU RÉSEAU : PROTOCOLE IPSEC 57
Traiter le
paquet
Pas de (AH, ESP)
protection
Trouvée
Non
Internet
Rechercher
Rejet Rejeter le trouvée Rechercher
une politique paquet une SA
SPD SAD
Déterminer le
IP type du paquet IPsec
Paquet IP
entrant
Accès-au-réseau
Paramètre Valeur
IP destination address 10.1.1.19
Security protocol esp
Security parameter index
9C163C4A
(SPI)
IPsec protocol mode tunnel
Cypher algorithm aes256
Cypher key 0xEB3345C150A34E. . .
Authentication algorithm sha1
Authentication key 0x124A34CD1B3876. . .
Sequence number 28
Anti-replay window 57
Lifetime 86400
Path MTU 2048
Concrètement, une SA IPsec est une bloc de données constituant un enregistrement (tuple) dans
une base de données dédiée aux SA actives, appelée SAD (SA Database). Chaque SA IPsec est identiée
de manière unique dans la SAD à l'aide d'un triplet composé de : (1) Un identiant du protocole de
sécurité (AH ou ESP), (2) un index de paramètre de sécurité (SPI), et (3) une destination IP, pouvant
être une adresse IP ou une socket [9].
4. Le MTU est la taille maximale d'un paquet pouvant être transmis sans fragmentation (en une seule fois).
CHAPITRE 5. SÉCURITÉ AU NIVEAU RÉSEAU : PROTOCOLE IPSEC 59
la SAD est consultée pour savoir quel est le protocole de sécurité à appliquer à chaque paquet reçu
ou à émettre. En eet, la SAD garantit que le paquet protégé sera reconnu par le récepteur à son
arrivée. Elle permet également au récepteur de récupérer par le SPI tous les paramètres nécessaire
pour déchirer la communication, et vérier que le paquet n'a pas été altérés [9].
Ainsi, pour envoyer un paquet sécurisé vers une adresse IP, l'émetteur recherche la SA IPsec cor-
respondante dans sa base SAD pour récupérer les paramètres de sécurisation du paquet, à savoir le
SPI, les clés et les algorithmes utilisés. De même, à la réception d'un paquet sécurisé, le SPI du paquet
est utilisé pour trouver la SA IPsec correspondante dans la base SAD du récepteur, contenant tous les
paramètres nécessaires pour déchirer le paquet.
1. Négociation des SA IKE : le protocole IKEv1 établie un premier tunnel, appelé "Tunnel
IKE", pour protéger les paramètres SA IKE, qui sert par la suite à sécuriser la négociation
CHAPITRE 5. SÉCURITÉ AU NIVEAU RÉSEAU : PROTOCOLE IPSEC 60
des SA IPsec. Dans cette phase, la SA IKE est bidirectionnelle c'est-à-dire qu'une seule SA est
établie par une paire d'entités IPsec ;
2. Négociation des SA IPsec : IKEv1 établie autant de tunnels IPsec que nécessaire (dits
secondaires), permettant à des paires d'entités IP de sécuriser leurs échanges. En eet, les
paramètres de sécurité SA IPsec, nécessaires aux protocoles AH et ESP, sont échangés pour
sécuriser la transmission des données.
La négociation des SA IKE peut s'eectuer selon deux modes, soit en utilisant le mode principal
(Main mode), ou soit en utilisant le mode agressif (Aggressive mode). Le mode principal de IKEv1
comporte trois paires de messages (6 messages) entre les extrémités IPSec, tandis que le mode agressif
ne comporte que trois échanges de messages. Le mode agressif permet d'accélérer la négociation, au
prix de la protection d'identité.
En outres, la deuxième phase de IKEv1 opérant en un seule mode, dit Quick Mode, n'a que trois
messages.
Sécurité desDans cette phase, l'objectif de IKEv1
réseaux est –
2018-2019 d'établir
Semestre deux
2 SA IPsec correspondant à chacune
Université Constantine 2
des extrémités parce que la SA IPsec est unidirectionnelle.
Phase 1 : SA IKE
Données Données
A B A B
protégées protégées
blir un tunnel IPsec entre deux extrémité IP, le protocole IKEv1 doit établir une SA
tte opération CHAPITRE
est nécessaire 5. SÉCURITÉ
pour sécuriser lesAU NIVEAU
échanges chaque paire
RÉSEAU
entre d’entités
: PROTOCOLE IPSEC 61
Figure
également un processus de négociation en deux phases5.12
sucessives : (1) La première
Phases du protocole IKEv2
NIT, consiste à protéger les paramètres SA IKE ; et (2) la deuxième phase, appelée
ermet de créer la SA Child qui est le terme que donne IKEv2 au SA IPsec. Durant
Le protocole IKEv2 a également un processus de négociation en deux phases sucessives : (1) La
de créer des SA Child supplémentaires en utilisant un nouveau tunnel. De nouvelles
première phase, appelée IKE_SA_INIT, consiste à protéger les paramètres SA IKE ; et (2) la deuxième
de nouvelles combinaisons d'algorithmes de chiffrement et de hachage peuvent être
phase, appelée CREATE_CHILD_SA, permet de créer la SA Child qui est le terme que donne IKEv2
e CREATE_CHILD_SA.
au SA IPsec. Durant cette phase, il est possible de créer des SA Child supplémentaires en utilisant
Le protocole ISAKMP (Internet Security Association and Key Management Protocol) consiste à
ns le RFC 2408, ISAKMP a été conçu en étant distingué des protocoles d'échange
dénir des procédures et des formats de paquets pour établir, négocier, modier et supprimer des SA
de séparer clairement
entre deuxlaextrémités
gestion desIPsec
SA et le mécanisme de l'échange des clés.
[46].
Initialement déni dans le RFC 2408, ISAKMP a été conçu en étant distingué des protocoles
d'échange de clés, tel que IKE, an de séparer clairement la gestion des SA et le mécanisme de l'échange
des clés. ISAKMP sert de cadre commun aux
Sécurité des réseaux 2018-2019 – Semestre
nombreux
Page 6et diérents
2 sur 8 protocoles d'échange
Université Constantine 2 de clés,
chacun avec des propriétés de sécurité diérentes. En eet, un cadre commun est nécessaire pour
accepter le format des attributs SA et pour négocier, modier et supprimer des SA. En centralisant
ISAKMP sert de cadre commun aux nombreux et différents protocoles d'échange de clés, chacun avec des
la gestion propriétés
des SA, deISAKMP réduit la
sécurité différentes. Enquantité de fonctionnalité
effet, un cadre reproduite
commun est nécessaire dans lechaque
pour accepter protocole de
format des
sécurité. attributs SA et pour négocier, modifier et supprimer des SA. En centralisant la gestion des SA, ISAKMP réduit
la quantité deISAKMP
Concrètement, fonctionnalité
estreproduite dans chaque
un protocole protocole de
applicatif sécurité. UDP sur le port 500. Il dénit des
utilisant
payloads pourConcrètement,
l'échange ISAKMP
des clésest
etunles données
protocole d'authentication.
applicatif Les500.
utilisant UDP sur le port formats
Il définitISAKMP
des payloadsfournissent
pour l’échange
un cadre cohérent pourdesle
clés et les données
transfert desd'authentification. Les formats ISAKMP
clés qui est indépendant de la fournissent
technique un de
cadre cohérent
génération de clés,
pour le transfert des clés qui est indépendant de la technique de génération de clés, de l'algorithme de
de l'algorithme de chirement et du mécanisme d'authentication. La structure d'un entête ISAKMP
chiffrement et du mécanisme d'authentification.
est présentée dans la gure 5.13.
La structure d’un entête ISAKMP est la suivante :
Byte 0 1 2 3
0..3
Initiator cookie
4..7
8..11
Responder cookie
12..15
16..19 Next payload Major ver. Minor ver. Exchange type Flags
20..23 Message ID
24..27 Length
Initiator cookie (8 octets) : le cookie de l'entité qui a initié l'établissement, la notification ou la
Figure
suppression de la SA, 5.13 Structure d'un entête ISAKMP
Responder cookie (8 octets) : le cookie de l'entité qui répond à une demande d'établissement, de
notification ou de suppression de la SA,
Next payload (1 octet) : le type du premier payload dans le message (0=None, 1=SA, 2=Proposal,
3=Transform, …),
Major version (1/2 octet) : la version maximale du protocole ISAKMP utilisée,
Minor version (1/2 octet) : la version minimale du protocole ISAKMP utilisée,
La structure d’un entête ISAKMP est la suivante :
Byte 0 1 2 3
0..3
Initiator cookie
4..7
CHAPITRE 5. SÉCURITÉ AU NIVEAU RÉSEAU : PROTOCOLE IPSEC 62
8..11
Responder cookie
12..15
Initiator cookie (8 octets) : le cookie de l'entité qui a initié l'établissement, la notication
16..19 Next payload Major ver. Minor ver. Exchange type Flags
ou la suppression
20..23 de la SA, Message ID
Responder
24..27 cookie (8 octets) : le cookie deLength
l'entité qui répond à une demande d'établissement,
de notication ou de suppression de la SA,
Initiator cookie (8 octets) : le cookie de l'entité qui a initié l'établissement, la notification ou la
Next payload
suppression(1 octet)
de la SA, : le type du premier payload dans le message (0=None, 1=SA,
2=Proposal, 3=Transform,
Responder . . . ),:
cookie (8 octets) le cookie de l'entité qui répond à une demande d'établissement, de
Major version
notification(1/2 octet) : dela laversion
ou de suppression SA, maximale du protocole ISAKMP utilisée,
Minor version (1/2 octet) : la version minimale
Next payload (1 octet) : le type du premier payload dansdu
le message (0=None,
protocole ISAKMP1=SA, 2=Proposal,
utilisée,
3=Transform, …),
Exchnage type (1 octet) : le type d'échange utilisé (0=None, 1=Base, 2=Identity protection,
Major version (1/2 octet) : la version maximale du protocole ISAKMP utilisée,
3=Authentication only, . . . ). Cela dicte les commandes de message et de payload dans les
Minor version (1/2 octet) : la version minimale du protocole ISAKMP utilisée,
échanges ISAKMP,
Exchnage type (1 octet) : le type d'échange utilisé (0=None, 1=Base, 2=Identity protection,
Flags (13=Authentication
octet) : les only,options…). Cela dicte les
dénies pourcommandes
l'échangede message
ISAKMP, et de payload dans les échanges
Message ID (4 octets) : une valeur unique aléatoire utilisée généré par l'initiateur de la
ISAKMP,
Flags (1 octet) : les options définies pour l'échange ISAKMP,
négociation pour identier l'état du protocole lors des négociations de la phase 2,
Length (4 octets) : la longueur totale (en octets) de l'entête ISAKMP et des payloads encap-
Message ID (4 octets) : une valeur unique aléatoire utilisée généré par l’initiateur de la négociation
pour identifier l'état du protocole lors des négociations de la phase 2,
sulées.
Length (4 octets) : la longueur totale (en octets) de l'entête ISAKMP et des payloads encapsulées.
Sachant que les données d'un message ISAKMP sont organisées en plusieurs payload. De ce fait,
Sachant que
l'entête ISAKMP lessuivi
est données d’unou
d'un message ISAKMP
plusieurs sont organisées
payloads dont la en structure
plusieurs payload. De ce fait,
est dénit dans l’entête
la gure 5.14.
ISAKMP est suivi d’un ou plusieurs payloads de la forme suivante :
Byte 0 1 2 3
0..3 Next payload Reserved Data length
4..n data
Next payload (1 octet) : le type du premier payload dans le message (0=None, 1=SA, 2=Proposal,
3=Transform, …), Figure 5.14 Structure d'un payload ISAKMP
Reserved (1 octet) : ce champ est réservé pour une utilisation future. Actuellement, il est mis à 0,
Next payload
Data length(1(1 octet)
octet) : La :longueur
le type(en du
octets) des données
premier du payload,
payload dans le message (0=None, 1=SA,
Data (taille variable) : les
2=Proposal, 3=Transform, . . . ), données du payload,
Reserved (1 octet) : ce champ est réservé pour une utilisation future. Actuellement, il est
mis à 0,
Data length (1 octet) : La longueur (en octets) des données du payload,
Data
© Dr.(taille variable) : les données du payload,
R. Boukharrou Page 7 sur 8
5.8 Conclusion
Le protocole IPsec permet de chirer les paquets IP qui quittent le réseau et d'authentier les pa-
quets qui y entrent. En eet, l'authentication et le chirement sont des services de sécurité nécessaires
dans les réseaux IP de nouvelle génération, tel que IPv6. En eet, en implémentant la sécurité au niveau
IP, l'entreprise peut garantir une mise en réseau sécurisée non seulement pour les applications dotées
de mécanismes de sécurité, mais également pour les nombreuses applications ignorant la sécurité.
Chapitre 6
sous le nom de SSL (Secure Socket Layer). Il a été intégré dans la plupart des navigateurs Web depuis
1. Depuis quelques années, SSL est devenu fondamentalement obsolète, car TLS ore un niveau de sécurité supérieur,
mais certaines personnes ont pris l'habitude de se référer au protocole SSL, c'est pourquoi, par abus de langage, on parle
de SSL/TLS pour désigner indiéremment SSL ou TLS.
63
CHAPITRE 6. CHIFFREMENT DE BOUT-EN-BOUT : PROTOCOLE SSL/TLS 64
1996. En 1999, la vesrion 3.1 de SSL est baptisée TLS (Transport Layer Security) en étant normalisé
à l'IETF dans le RFC 2246.
Aujourd'hui, TLS est adopté par l'ensemble des protocoles applicatifs sur Internet pour l'authen-
tication et le chirement des données entre clients et serveurs. En eet, il se place entre la couche
application et la couche transport du modèle TCP/IP, permettant d'assurer la condentialité, l'au-
thentication et l'intégrité des données lors de la transmission des données. Étant indépendant des
protocoles applicatifs, il est transparent pour l'utilisateur et ne nécessite pas de modication profonde
au niveau Application, ce qui a permis à l'utiliser aussi bien pour sécuriser une transaction Web, l'envoi
ou la réception d'email, ou même le transfert de chiers.
Le protocole se développe et évolue tout en étant indépendant des algorithmes de chirement et
d'authentication. Cela lui permet à tout moment de s'adapter aux besoins des utilisateurs et aux
législations en vigueur. En eet, SSL/TLS n'est pas soumis aux évolutions théoriques de la crypto-
graphie, c'est-à-dire si un chirement devient obsolète, le protocole reste exploitable en choisissant un
chirement réputé sûr, ce qui lui assure une meilleure sécurité [22].
SSL et TLS garantissent les services de sécurité suivants :
Authentication : Le client doit pouvoir s'assurer de l'identité du serveur à travers son cer-
ticat qui accompagne le message. Depuis SSL 3.0, le serveur peut aussi demander au client de
s'authentier ;
Condentialité : Le client et le serveur doivent avoir l'assurance que leur conversation ne
pourra pas être écoutée par un tiers. Cette fonctionnalité est assurée par les clés symétriques
de session ;
Identication et intégrité : Le client et le serveur doivent pouvoir s'assurer que les messages
transmis ne sont ni tronqués ni modiés, qu'ils proviennent bien de l'expéditeur attendu. Ceci
est assuré par la signature des données échangées.
SSL et TLS reposent donc sur la combinaison de plusieurs concepts cryptographiques, appelée suite
de chirement :
Certicats : pour l'authenticité de la clé publique du serveur et du client
Signature numérique : pour l'identication de l'émetteur des messages et des certicats
Fonction de hachage : pour l'intégrité des messages et des certicats
Chirement asymétrique : pour la signature numérique en utilisant la clé privée et pour la
condentialité des clés de session en utilisant la clé publique
Chirement symétrique : pour la condentialité des messages échangés
6.2.1 Historique
La première version (1.0) de SSL a été développée par Netscape Communication Corporation en
1994. L'objectif de Netscape était de créer un canal sécurisé où les données pourraient transiter entre un
client et un serveur, indépendamment de la plateforme et du système d'exploitation. Quoique SSL soit
destiné à l'origine à sécuriser uniquement les transactions entre un client et un serveur web (HTTP),
la spécication a été conçu de façon que les autres protocoles de niveau application puissent l'exploiter
comme FTP, Telnet, etc. La spécication SSL 1.0 n'avait servi qu'en interne et ne fut jamais publiée.
En février 1995, Netscape publie la version 2.0 du protocole en l'implémentant dans la première
version de son navigateur Web. SSL 2.0 permettait au client de vérier l'authentication du serveur
en utilisant un certicat serveur au format X.509v3. Par ailleurs, Cette version présente des lacunes
importantes, telle que l'attaque DROWN, ce qui a poussé à sa bannissement en 2011 (RFC 6176).
En novembre 1996, Conscient des faiblesses de SSL 2.0, Netscape publie la version 3.0. Par rapport
à la version 2.0, SSL 3.0 permettait en plus au serveur, d'authentier le client. En eet, le client pouvait
exploiter sa clé privée tout en fournissant son certicat qui prouve son authenticité. Cette version est
restée active et très largement utilisée pendant près de 18 ans, toutefois, elle a été bannie en 2014, à
la suite de la publication de la faille POODLE (RFC 7568) [47].
En janvier 1999, pour concilier les divergences entre Microsoft et Netscape concernant l'évolution
de SSL, le protocole est coné à l'IETF (Internet Engineering Task Force) pour poursuivre le déve-
loppement de SSL en le rebaptisant Transport Layer Security (TLS). TLS 1.0 ne constituait qu'une
CHAPITRE 6. CHIFFREMENT DE BOUT-EN-BOUT : PROTOCOLE SSL/TLS 65
évolution assez légère de SSLv3, en eet, en interne l'identication de version est SSL 3.1. TLS révise
cependant une partie de l'établissement de la liaison (le handshake) et apporte de la exibilité avec
l'introduction d'extensions optionnelles sous forme de RFC, qui permettent de faire évoluer le protocole
sans revoir ses bases et constamment réviser son numéro de version. D'ailleurs, en 2002, TLS 1.0 a
bénécié des nouvelles méthodes de chirement, tel que AES, qui a permi de remplacer le chirement
symétrique DES.
Depuis qu'il a été repris par l'IETF, le protocole SSL/TLS a connu trois nouvelles versions : TLS
1.1 en 2006, TLS 1.2 en 2008 et TLS 1.3 en 2018. Selon la RFC 4346, TLS 1.1 est une version de
transition qui consolide certaines RFC intermédiaires qui a amélioré le processus de génération de clés
pour une protection contre les attaques BEAST et CBC.
Etant actuellement la version la plus utilisée de SSL/TLS, TLS 1.2 a apporté plusieurs améliora-
tions en matière de sécurité par rapport à TLS 1.1 : (1) Utilisation des algorithmes de hachage plus
sécurisés tel que SHA-256 ; (2) l'ajout d'extensions TLS et des suites de chirement AES ; ainsi que (3)
l'utilisation de suites de chirement avancées prenant en charge la cryptographie à courbe elliptique
2
(ECC ) [30].
Bien que TLS 1.2 ait apporté d'importantes améliorations de sécurité par rapport à ses prédéces-
seurs, la version 1.3 vise à améliorer encore plus la sécurité et la performance du protocole. En eet,
TLS 1.3 ne prend plus en charge les chirements inutiles ou vulnérables, tels que le mode CBC et
le chirement RC4, car ces chirements sont sensibles aux attaques. Désormais, il utilise un nouveau
protocole de négociation amélioré appelé "Reprise du temps aller-retour à zéro, abrégé en 0-RTT".
Auparavant, avec TLS 1.2, un aller-retour était nécessaire pour les reprises de sessions. Par ailleurs,
la sécurité est renforcée en incluant de nouveaux algorithmes de chirement et de hachage, tels que
x25519, EdDSA, ChaCha20, etc.
Actuellement, toutes les versions de SSL sont bannis par Netscape, IETF, les systèmes d'exploita-
tion et les navigateurs Web en raison des failles de sécurité découvertes et des algorithmes de chirement
dépassés. Dans le cas de TLS, ses versions 1.0 et 1.1 sont dépréciées aussi depuis 2018 par l'IETF pour
la même raison [64], tandis que TLS 1.2 subira le même sort, quelques temps après le lancement de
TLS 1.3 en mars 2018, même si, aujourd'hui, TLS 1.2 est la version la plus utilisée. cinq ans après les
révélations d'Edward Snowden, TLS 1.3 apporte plus de simplicité, de vitesse et de sécurité.
L'ensemble des protocoles SSL et TLS est décrit dans l table récapitulative 6.1.
Application
Change Application
Handshake Alert
SSL / TLS
Record
Transport TCP
Internet IP
Accès-au-réseau
transport, plusieurs enregistrements TLS peuvent être encapsulés dans un même paquet TCP, si celui-
ci contient assez d'espace. Le protocole Record consiste principalement à manipuler un enregistrement
TLS, Sécurité
pour assurer la condentialité d'un message
des réseaux en– utilisant
2018-2019 Semestre 2 un algorithme de chirement,
Université ainsi
Constantine 2 que
l'intégrité du message en se basant sur un code d'authentication de message (MAC).
La structure d'un enregistrement TLS est décrite comme suit :
La structure d’un enregistrement TLS est décrite comme suit :
Byte 0 1 2 3
0 Content type
1..4 Version Length
5..n Payload
Sécurité des type (1 octet) : un identifiant2018-2019
réseaux
Content – Semestre
permettant de spécifier
2 le type de l’enregistrement c’est-à-dire2
Université Constantine
le protocole de la Figure
couche 6.2 Structure
supérieure d'un message "Record"
: change_cipher_spec(0x20), alert(0x21), handshake(0x22),
application_data(0x23) ;
Content
La structure type
d’un
Version (2 (1 octet)
enregistrement
octets) : version
: laTLS unestidentiant
décrite comme
de SSL/TLS suitutilisée
:
permettant :deSSLv3.0(0x0003),
spécier le typeTLSv1.0(0x0301),
de l'enregistrement
TLSv1.1(0x0302),
c'est-à-dire le protocole
Byte TLSv1.2(0x0303),
de
0 la couche TLSv1.3(0x0304)
supérieure
1 : ;
change_cipher_spec(0x20),
2 3 alert(0x21), hand-
Length (2application_data(0x23)
shake(0x22), octets) : La longueur
0 14 Content type en octets
; des données (Payload), ce qui impose une taille maximale
Version (2 octets) : la version de SSL/TLS utilisée : SSLv3.0(0x0003), TLSv1.0(0x0301),
de 16 Ko (2 ) à chaque enregistrement TLS ;
1..4 Version Length
Payload (≥ 1 octet)
TLSv1.1(0x0302), : Des données vuesTLSv1.3(0x0304)
TLSv1.2(0x0303), comme un bloc indépendant
; à traiter par le protocole de niveau
supérieur5..n
Length (2 octets) :
spécifié dans "Content type". Payload
La longueur en octets des données (Payload), ce qui impose une taille
1.2.2. Content de type
Protocole
maximale 16 Ko(1 octet)
(214): à
Handshake unchaque
identifiant permettant de spécifier
enregistrement TLS ; le type de l’enregistrement c’est-à-dire
Payload
Considéré
le (≥ 1leoctet)
protocole
comme protocole: de
de la
application_data(0x23)
couche
Des
supérieure : change_cipher_spec(0x20), alert(0x21), handshake(0x22),
données vues comme un bloc indépendant à traiter par le protocole
; configuration de SSL/TLS, le protocole Handshake se charge de la négociation
de niveau
entre supérieur
le client et spécié
le serveur et dans "Content
de leur authentification. Entype".
effet, il négocie les paramètres de chiffrement qui seront
Version (2 octets) : la version de SSL/TLS utilisée : SSLv3.0(0x0003), TLSv1.0(0x0301),
à l’œuvreTLSv1.1(0x0302),
lors de la connexion. Lorsqu'un client et un serveur
TLSv1.2(0x0303), TLSv1.3(0x0304) commencent
; à communiquer :
Protocole 1) Handshake
Ils se mettent
Length d’accord
(2 octets) : La sur une version
longueur de protocole
en octets ; (Payload), ce qui impose une taille maximale
des données
2) de 16
Ils Ko (214) à chaque
sélectionnent une enregistrement
suite de chiffrementTLS ; ensemble d’algorithmes de chiffrement) supportée par
(un
Considéré comme le protocole de conguration de SSL/TLS, le protocole Handshake se charge de
les deux parties
Payload ; : Des données vues comme un bloc indépendant à traiter par le protocole de niveau
(≥ 1 octet)
la négociation entre le client et le serveur et de leur authentication. En eet, il négocie les paramètres
supérieur spécifié dans eux
3) Ils s'authentifient entre "Content
; type".
de chirement qui seront à l'÷uvre lors de la connexion. Lorsqu'un client et un serveur commencent à
4) Protocole
1.2.2. Ils générentHandshake
des secrets partagés.
communiquer :
Ce protocole
Considéré est utilisé
comme pour ouvrir
le protocole une sessionde
de configuration sécurisé
SSL/TLS,avant
le l'envoi desHandshake
protocole données d'application.
se charge de la Il négociation
consiste en
1. Ils se mettent d'accord sur une version de protocole ;
une série
entre de messages
le client échangés
et le serveur parauthentification.
et de leur le client et le serveur, quiilont
En effet, tous les
négocie le format suivant
paramètres :
de chiffrement qui seront
2.à l’œuvre
Ils sélectionnent une suite
lors de la connexion. de chirement
Lorsqu'un client et un(un ensemble
serveur d'algorithmes
commencent de chirement)
à communiquer : supportée
Byte 0 1 2 3
par les deux parties ;
1) Ils se mettent0 d’accord
Handshake sur unetypeversion de protocole ; Length
3. Ils2)s'authentient
Ils sélectionnent entre eux ;
une suite de chiffrement (unContent ensemble d’algorithmes de chiffrement) supportée par
4..n
les deux des
4. Ils génèrent parties ;
secrets partagés.
Handshake
3) Ils type entre
s'authentifient (1 octet)
eux :; Un identifiant permettant de spécifier le type de message Handshake ;
Ce protocole est(2utilisé pour ouvrir une session sécurisé avant l'envoi des données d'application. Il
4) Ils générent des secrets partagés. en octets de Content ;
Length octets) : La longueur
consiste en une série de messages échangés par le client et le serveur, qui ont tous la structure de la
Content (≥ 0 octet) : Ensemble des paramètres du message Handshake selon le type. Le tableau
gureCe protocole est utilisé pour ouvrir une session sécurisé avant l'envoi des données d'application. Il consiste en
6.3. suivant énumère les types avec les paramètres nécessaires pour chacun des types [5] :
une série de messages échangés par le client et le serveur, qui ont tous le format suivant :
Handshake type Content (Paramètres)
Byte
hello_request(0) 0 / 1 2 3
client_hello(1)0 Handshake type version, random, session_id, Length
cipher_suite, compression_method
4..n
server_hello(2) Content
version, random, session_id, cipher_suite, compression_method
server_hello_done(14)
Handshake type (1 octet) : Un / identifiant permettant de spécifier le type de message Handshake ;
certificate(11)
Length (2 octets) Figure 6.3
: La longueur chain_of_x509_certificates
Structure
en octets ded'un message
Content ; "Handshake"
certificate_request(13) type, authorities
Content (≥ 0 octet) : Ensemble des paramètres du message Handshake selon le type. Le tableau
Handshake type (1
certificate_verify(15)
suivant énumère les octet)
types avec :signature
Un identiant
les paramètres permettant
nécessaires pourde spécier
chacun le type
des types [5] : de message Hand-
shakeserver_key_exchange(12)
; parameters, signature
Handshake type Content (Paramètres)
Length (2 octets)
client_key_exchange(16) : La longueur parameters, signature
en octets de Content ;
Content (≥ 0 octet) : Ensemble des paramètres du message Handshake selon le type. La
hello_request(0)
finished(20) /
hash_value
client_hello(1) version, random, session_id, cipher_suite, compression_method
table 6.2 énumère les types avec les paramètres nécessaires pour chacun des types [45].
server_hello(2) version, random, session_id, cipher_suite, compression_method
server_hello_done(14) /
certificate(11)
© Dr. R. Boukharrou chain_of_x509_certificates Page 6 sur 15
certificate_request(13) type, authorities
certificate_verify(15) signature
server_key_exchange(12) parameters, signature
CHAPITRE 6. CHIFFREMENT DE BOUT-EN-BOUT : PROTOCOLE SSL/TLS 68
Le processus de Handshake du protocole TLS 1.2, se déroule en quatre phases, comme illustré dans
la gure 6.4 :
Phase 1 : Établissement des capacités de sécurité
1. Le client envoie un message client_hello au serveur contenant les paramètres suivants :
version (2 octets) : Version la plus élevée et supportée du protocole,
random (32 octets) : Nonce composé d'un horodatage de 4 octets et d'une valeur aléatoire
de 28 octets générée par le client. La valeur obtenue servira comme signature des messages,
session_id : identiant de session de longueur variable, généralement de taille 32 octets,
cipher_suite : Liste des suites de chirement supportés par le client, classée par ordre
décroissant de préférence,
compression_method : liste des méthodes de compression prises en charge par le client,
par ordre décroissant de préférence.
2. Le serveur envoie un message server_hello au client avec les paramètres choisis, en particulier
la suite de chirement et la méthode de compression choisies ;
Client Serveur
Phase 1
Phase 2
Phase 3
Phase 4
Suite
1) Lede chirement
client (Cipher
envoie un message suite) :au serveur contenant les paramètres suivants :
client_hello
• version (2 octets) : Version la plus élevée et supportée du protocole,
Bien que les• versions
random précédentes codent
(32 octets) : Nonce en dur
composé certaines
d’un primitives
horodatage de 4 octetscryptographiques dans
et d’une valeur aléatoire de le
protocole, TLS1.2 est entièrement
28 octets congurable,
générée par le en obtenue
client. La valeur permettant
serviraune grande
comme exibilité
signature dans la mise
des messages,
en ÷uvre de •la sécurité souhaitée.
session_id : identifiant de session de longueur variable, généralement de taille 32 octets,
Une suite de •chirement est une
cipher_suite sélection
: Liste de primitives
des suites cryptographiques
de chiffrement supportés par le et d'autres
client, classéeparamètres,
par ordre
qui sont utilisésdécroissant de préférence,
pour établir une connexion SSL/TLS. Ces paramètres sont :
• compression_method
L'algorithme : liste
d'échange de clés des méthodes
: RSA, de compression
DH, DHE, ECDHE prises en charge par le client, par
ordre décroissant de préférence.
L'algorithme d'authentication : Anonymous, RSA, DSA, DSS, ECDSA
2)L'algorithme
Le serveur envoie
de un message server_hello
chirement au client de
avec la longueur avecclé
les paramètres
utilisée : choisis, en particulier la
DES(_40|_56|_128),
suite de chiffrement et la méthode de compression choisies ;
3DES_EDE(3), AES(_128|_256|_512), RC2(_128|_256), RC4(_40|_56), CAMILLA,
SEED
Suite de chiffrement (Cipher suite)
Le mode d'opération : ECB, CBC, GCM
Bien que les versionsdeprécédentes
L'algorithme générationcodent en dur: certaines
du MAC primitives
Null, MD5, SHA1, cryptographiques
SHA256, SHA384 dans le protocole,
TLS1.2 est entièrement configurable, en permettant une grande flexibilité dans la mise
En pratique, une suite de chirement est écrite sous forme d'une concaténation des noms des
en œuvre de la
sécurité souhaitée.
algorithmes utilisés, séparés par le caractère "_", par exemple :
La Une suite
suite de de chiffrementTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
chirement est une sélection de primitives cryptographiques et d'autres paramètres, qui sont
signie que :
TLS
utilisés pour(par
établirdéfaut) : est SSL/TLS.
une connexion Ces utilisé
le protocole paramètres
; sont :
ECDHE : correspond
L’algorithme d'échangeà de
l'algorithme utilisé
clés : RSA, DH, DHE,pour l'échange de clés. Il permet de générer
ECDHE
des paires de clés asymétriques temporaires pour l'échange de clé de session.
RSA : est l'algorithme utilisé pour la signature numérique ;
AES_128_GCM : correspond à l'algorithme utilisé pour le chirement symétrique basé
© Dr. R. Boukharrou Page 7 sur 15
sur une clé de 128 bits, en mode GCM (Galois Counter Mode) ;
SHA256 : est la fonction de hachage utilisé pour assurer l'intégrité des messages.
1. À la réception des messages du serveur, le client vérie que les paramètres de server_hello sont
acceptables, et son certicat est valide auprès de la CA qui l'a certié ;
2. Le client envoie son certicat (certicate) si celui-ci est demandé par le serveur. Si son certicat
n'est pas disponible, le client envoie une alerte no_certicate ;
3. La clé de session, appelée aussi Master Secret (MS), est calculée selon deux stratégies distinctes :
(a) Si la méthode d'échange de clés dénie dans la suite de chirement est l'algorithme RSA,
alors le client crée un secret préliminaire de 48 octets, appelé Pre-Master Secret (PMS), qui
servira à calculer la clé de session (MS). Ensuite, le client partage le secret PMS avec le
serveur dans un message client_key_exchange, après l'avoir chiré avec la clé publique du
serveur fournie dans le certicat ;
(b) Si la méthode d'échange de clés est basée sur l'algorithme Die-Hellman (ECDHE ), cela
3
signie que le secret PMS sera calculé conjointement et localement par les deux parties, le
client et le serveur. En eet, le client envoie ses paramètres d'échange de clés au serveur
dans un message client_key_exchange, sachant qu'auparavant le serveur avait envoyé ses
paramètres dans un message server_key_exchange ;
4. Le client et le serveur peuvent désormais générer la clé de session MS sur la base du secret PMS
et des deux nonces (Random) du client et du serveur ;
5. Si le client a envoyé auparavant son certicat au serveur, le client doit lui renvoyer un message
certicate_verify contenant sa signature pour une vérication explicite de son certicat.
Echange de clé :
L'échange de clés Die-Hellman basé sur les courbes elliptiques et les clés de session
éphémères (ECDHE), est la meilleure technique actuellement, car elle repose sur la per-
formance de l'algorithme des courbes elliptiques en termes de taille des clés et sur le secret
de transfert parfait (PFS) assuré par la combinaison de l'algorithme Die-Hellman et les
clés de session éphémères.
Aujourd'hui, tous les navigateurs populaires préfèrent le chirement qui repose sur
l'échange de clés ECDHE, ce qui rend l'utilisation de l'échange de clé basé sur RSA
dépréciée.
2. Le client envoie aussi au serveur un message nished chiré en utilisant la clé de session MS,
pour annoncer la n réussie du handshake ;
3. À son tour, après avoir récupèré la notifcation change_cipher_spec, le serveur envoie également
au client un une notication ChangeCipherSpec suivi d'un message chiré nished.
Maintenant que la connexion sécurisée est congurée, le client et le serveur peuvent désormais
s'échanger des données chirées issues de la couche application.
Données d’application
Fragmentation
Chiffrement
Message Application Data
Ajout d’une en-tête Record
Enregistrement TLS
À l’envoi d’un message issu de la couche Application, le protocole Application Data de l’émetteur effectue
Figure 6.7 Construction d'un message "Application Data"
les étapes suivantes en se basant sur la suite de chiffrement négociée lors du handshake :
1) Le protocole
À l'envoi Application
d'un message Data
issu de lareçoit
coucheles données issues du
Application, le protocole
protocole applicatif ;
Application Data de l'émetteur
14
eectue2)lesLes données
étapes reçues sont
suivantes en fragmentées en blocs
se basant sur de segment
la suite de 16 384 octets
de chirement maximum
négociée (2 handshake
lors du ); :
3. En option, chaque segment est compressé en utilisant la méthode de compression dénie lors
du handshake, sachant qu'il n'y a plus de compression, à partir de SSL 3.0 ;
4. Un MAC est calculé à partir du segment puis ajouté à celui-ci pour assurer son intégrité ;
CHAPITRE 6. CHIFFREMENT DE BOUT-EN-BOUT : PROTOCOLE SSL/TLS 72
Type Description
close_notify(0) Fin d'une connexion
unexpected_message(10) Message reçu inapproprié (F)
bad_record_mac(20) Enregistrement reçu avec un MAC incorrecte (F)
decryption_failed (21) Enregistrement déchiré de manière non valide (padding !)
record_overow(22) Enregistrement reçu d'une longueur supérieure à 16 Ko
Décompression échouée de l'enregistrement reçu (corrompu !)
decompression_failure(30) (F)
Impossible de négocier des paramètres de sécurité acceptables
handshake_failure(40) (F)
no_certicate (41) L'expéditeur n'a pas de certicat disponible
Certicat reçu corrompu ou contient des signatures
bad_certicate(42) non-vériables
unsupported_certicate(43) Type du certicat reçu non pris en charge
certicate_revoked(44) Certicat reçu révoqué par son signataire
certicate_expired(45) Certicat reçu expiré
certicate_unknown(46) Traitement du certicat reçu impossible
illegal_parameter(47) Paramètre mal-formatté ou inattendu (F)
unknown_ca(48) Certicat introuvable d'une des CA de la chaine des certicats
access_denied(49) L'expéditeur n'a pas procédé à la négociation
decode_error(50) Message reçu n'a pas pu être décodé (champ mal formatté !)
decrypt_error(51) Échec lors du déchirement d'un message
export_restriction (60) Négociation non conforme aux restrictions à l'exportation
protocol_version(70) Version du protocole non prise en charge
insucient_security(71) Chirements faibles proposés par le client
internal_error(80) Erreur interne non liée au protocole
user_canceled(90) Handshake annulée par l'utilisateur (suivie d'un close_notify)
no_renegotiation(100) L'expéditeur refuse une renégociation en réponse à un hello
unsuppor- Extension non supportée
ted_extension(110)
Table 6.3 Types d'alertes Warning et Fatal (F)
CHAPITRE 6. CHIFFREMENT DE BOUT-EN-BOUT : PROTOCOLE SSL/TLS 73
Sécurité des réseaux 2018-2019 – Semestre 2 Université Constantine 2
5. Le segment est complété ensuite avec un padding, si le chirement par bloc est utilisé ;
3) En option, chaque segment est compressé en utilisant la méthode de comprésession définie lors du
6. Constitué de données compressées, d'un MAC et d'un padding le segment est chiré à l'aide de
handshake, sachant qu’il n’y a plus de compression, à partir de SSL 3.0 ;
la clé de session (MS) calculée auparavent lors du handshake ;
4) Un MAC est calculé à partir du segment puis ajouté à celui-ci pour assurer son intégrité ;
5) 7.
Le Le segment
segment résultant
est complété est mis
ensuite avec dans un enregistrement
un padding, si le chiffrementTLS, enest
par bloc ajoutant
utilisé ; une en-tête de Record ;
Constitué
6) 8. Enn, de donnéesenregistrement
chaque compréessées, d’un
TLSMAC estettransmis
d’un padding le couche
à la segment inférieure
est chiffré à pour
l'aide de
le la
transport, en
clél'occurrence,
de session (MS)lecalculée auparavent
protocole TCP. lors du handshake ;
7) Le segment résultant est mis dans un enregistrement TLS, en ajoutant une en-tête de Record ;
Du côté du récepteur, le même ux de travail, mais en sens inverse, est appliqué par le destinataire.
8) Enfin, chaque enregistrement TLS est transmis à la couche inférieure pour le transport, en loccurence,
En eet, le protocole Application Data du destinataire eectue les étapes suivantes :
le protocole TCP.
Du côté1.duUn segment
récepteur, est extrait
le même flux de àtravail,
partir de en
mais chaque enregistrement
sens inverse, est appliquéTLS
par le; destinataire. En effet,
le protocole Application Data du destinataire effectue les étapes suivantes :
2. Le segment est déchiré en utilisant la suite de chirement négociée, pour donner comme résul-
2) 3.
Le À
segment
l'aideest
du déchiffré en utilisant la suiteles
MAC accompagnant de données
chiffrementcompressées,
négociée, pourl'intégrité
donner comme résultat, des
de celles-ci est vériée en
données compressées suivi d’un MAC
appliquant la même fonction de hachage ;
et d’un padding ;
3) À l’aide du MAC accompagnant les données compressées, l’intégrité de celles-ci est vérifiée en
4. Les données du segment sont décompressé à l'aide de la méthode de compression ;
appliquant la même fonction de hachage ;
4) 5.
LesLes données
données résultantes
du segment à l’aide depuis
sont réassemblées,
sont décompressé la méthode de compression
transmises par le protocole
; Record au protocole
5) Lesapplicatif de la couche
données résultantes sont supérieure.
réassemblées, puis tranmises par le protocole Record au protocole
applicatif de la couche supérieure.
La structure d'un message "Application Data", est décrite dans la gure 6.8.
La structure d’un message Application Data, est la suivante :
Byte 0 1 2 3
0..n Compressed fragment
Données
n..n+4 MAC
chiffrées
n+4..p Padding (block ciphers only)
Compressed Fragment (≤ 214 octets) : un fragment compressé issu de la fragmentation des données
d’application ; Figure 6.8 Structure d'un message "Application Data"
MAC (4 octets) : Un MAC4 est un code de taille fixe accompagnant le fragment dans le but d'assurer
sonCompressed
intégrité, ayant Fragment
le même rôle (qu’une
≤ 214fonction
octets) de :hachage. Le MAC
un fragment comprend issu
compressé également
de la un
fragmentation
numéro de séquence afin que
des données d'application ; la perte et la répétition des messages soient détectables ;
MAC(≤(432 octets)
Padding : Un
octets) : un remplissage
MAC
4 est
d’octets qui peut
un code de être ajouté
taille xe pour forcer la longueur
accompagnant du
le fragment dans le
message à être un multiple
but d'assurer de la longueur
son intégrité, ayant le du même
chiffrement
rôle de bloc, dans
qu'une le casde
fonction d’un chiffrement
hachage. Le MAC com-
symétrique par bloc. Sa longueur ne dépasse pas 20 octets pour SSLv3, TLS 1.0 et TLS 1.1, et 32
prend également un numéro de séquence an que la perte et la répétition des messages soient
octets pour TLS 1.2.
détectables ;
Padding
1.3. Avantages (≤ 32 octets) : un remplissage d'octets qui peut être ajouté pour forcer la longueur
et limites
du message à être un multiple de la longueur du chirement de bloc, dans le cas d'un chirement
La sécurisation des connexions en utilisant SSL/TLS offre de nombreux avantages :
symétrique par bloc. Sa longueur ne dépasse pas 20 octets pour SSLv3, TLS 1.0 et TLS 1.1, et
SSL/TLS est facile à implémenter, à déployer et à utiliser ;
32 octets pour TLS 1.2.
Il est indépendant de la suite de chiffrement utilisée, donc celle-ci peut être changée à tout moment
pour améliorer la sécurité ;
6.2.3Il ne Avantages et limites
nécessite aucune manipulation des données issues des protocoles applicatifs ;
LaIl est compatible avec
sécurisation les réseaux NAT
des connexions et les pare-feux
en utilisant ;
SSL/TLS ore de nombreux avantages :
Le SSL/TLS
MAC qui accompagne
est facile à lesimplémenter,
données permetàde détecter toute
déployer et à falsification
utiliser ; ;
Il est
Il possible d’authentifier
est indépendant delelaclient et ledeserveur
suite à travers utilisée,
chirement des certificats
donc ; celle-ci peut être changée à tout
moment
Il est possiblepour améliorer
de reprendre la sécurité
les anciennes ;
sessions dans les nouvelles connexions.
Il ne nécessite aucune manipulation des données issues des protocoles applicatifs ;
4
MAC Il estAuthentication
: Message compatibleCode.
avec les réseaux NAT et les pare-feux ;
Le MAC qui accompagne les données permet de détecter toute falsication ;
Il est possible d'authentier le client et le serveur à travers des certicats ;
© Dr. R. Boukharrou Page 11 sur 15
Il est possible de reprendre les anciennes sessions dans les nouvelles connexions.
Cependant, le protocole SSL/TLS possède les limites suivantes :
Étant implémenté entre la couche Transport et Application, SSL/TLS ne protège pas les entêtes
IP ;
Sachant que c'est un protocole stateful nécessitant toujours l'établissement d'une connexion,
SSL/TLS ne supporte pas les échanges sur UDP (stateless) ;
Il nécessite une implémentation spécique pour chacun des protocoles applicatifs, par exemple
HTTPS pour HTTP.
(a) Si le certicat du serveur est un certicat racine de conance ou signé par l'un des certicats
7
des CA de conance , en possession du navigateur ;
(b) Sinon, le navigateur envoie une requête OCSP au PKI signataire du certicat pour vérier
à distance la validité de celui-ci ;
3. Après que la phase TLS Handshake soit réussie, le navigateur et le serveur peuvent s'échanger
des messages chirés à travers le protocole Application Data de SSL/TLS.
Outil PuTTY :
PuTTY est un terminal client pour les protocoles SSH, Telnet et rlogin, ainsi que les
liaisons Serial RS-232. C'est un programme open source, développé et soutenu par S.
Tatham et un groupe de volontaires.
Lien : https://www.putty.org/
1. Comme dans SSL/TLS, le client et le serveur SSH eectuent une phase de négociation, an de
s'accorder sur les méthodes de chirement à utiliser ;
3. Le client génère une clé de session de 256 bits chirée grâce à la clé publique du serveur, et
l'envoie au serveur la clé de session chirée ;
4. Le serveur déchire la clé de session grâce à sa clé privée, et envoie un message de conrmation
chiré à l'aide de cette clé de session.
Une fois la connexion sécurisée mise en place entre le client et le serveur, le client doit s'identier
sur le serveur an d'obtenir un droit d'accès, selon deux méthodes diérentes :
Authentication par mots de passe : Après l'envoi du nom d'utilisateur et du mot de passe
par le client, le serveur vérie si l'utilisateur concerné a accès à la machine et si le mot de passe
fourni est valide ;
Authentication par clés publiques : Le serveur crée au préalable une paire de clé pu-
blique/privée pour chaque utilisateur. Si l'authentication par clé est choisie par le client, le
serveur vérie si la clé publique de l'utilisateur correspond bien à sa clé privée stockée au ni-
veau du serveur. Ceci permet au serveur de donner au client le droit d'accès correspondant à
l'utilisateur authentié.
d'authentication de SSH. Il a été conçu par le groupe de travail IETF SECSH, et docummenté dans
un RFC Draft. Ce protocole a été développé pour être indépendant de la plateforme d'utilisation pour
éviter les problèmes de compatibilité. Il fournit toutes les fonctionnalités oertes par FTP over SSL,
mais de manière encore plus sécurisée et plus able, avec une conguration plus facile. De plus, en
passant par un tunnel SSH, SFTP bénicie de tous les avantages qu'ore celui-ci.
6.6 Conclusion
Actuellement, le grand nombre d'entreprise, de banques, et de sites de commerce électronique
utilisent SSL/TLS pour protéger les transactions de leurs clients. Le succès de SSL/TLS a été soutenu
par les protocoles développés pour sécuriser les services applicatifs existants sur Internet tels que
HTTPS, FTPS et SMTP-TLS, POPS et IMAPS.
Chapitre 7
Messagerie sécurisée
7.1 Introduction
Ayant existée avant Internet, la messagerie électronique est l'un des services réseaux les plus utilisés
aujourd'hui. Il est responsable de la transmission des emails à travers Internet. En eet, depuis des
décennies, les emails sont devenus le moyen de communication principal pour de nombreuses entreprises
et personnes.
Un email, peut contenir du texte et des chiers, il est régi par diverses normes permettant d'éviter
les éventuels erreurs de compréhension ou de communication. Néanmoins, leur utilisation dans le cadre
de l'échange d'informations sensibles ou condentielles est exposée aux diérentes menaces, tels que
les spams et les virus.
78
CHAPITRE 7. MESSAGERIE SÉCURISÉE 79
et en 1994, Jim Clark et Marc Andreessen créent la société Netscape, dont le navigateur, incluait un
module de courrier électronique, appelé Netscape Mail. Ensuite, Jack Smith et Sabeer Bhatia lancent
un service de courrier électronique gratuit sur le Web baptisé Hotmail, en 1996. En quelques mois,
l'inscription de 100 000 utilisateurs a été dépassée. En 1997, Microsoft sort le client Outlook Express,
qui est devenu rapidement le leader dans sa catégorie, et en 1998, Microsoft rachète Hotmail avec 9
millions d'abonnés, qui avait atteint 30 millions d'abonnés une année plus tard.
En 2004. Google lance sa propre messagerie gratuite, Gmail, d'une capacité de 1 Go. En outres,
Gmail est le premier grand webmail à mettre en ÷uvre la technologie AJAX, qui permet une uidité
de l'interface
Sécurité desce qui la rapproche de celle 2018-2019
réseaux d'un client de messagerie
– Semestre 2 Desktop. Dans la
Université même année,
Constantine 2
la fondation Mozilla lance avec le navigateur Firefox, la première version du client Thunderbird, qui
visait à concurrencer la domination d'Outlook Express. En 2013, Microsoft renomme sa messagerie
d’Outlook et
Outlook.com Express. En 2013,
abandonne Microsoft renomme
dénitivement sa messagerie
la marque Outlook.com
Hotmail. et abandonne définitivement la
marque Hotmail.
7.2.21.2.Principe
Principe dede fonctionnement
fonctionnement
Le
Lefonctionnement ducourrier
fonctionnement du courrier électronique
électronique est basé
est basé sur l'utilisation
sur l'utilisation de boîtes
de boîtes auxstockés
aux lettres lettressur
stockés
des sur
des serveurs distants.
serveurs distants. Lors
Lors de l'envoi
de l'envoi d'un email,
d'un email, celui-ci celui-ci est acheminé
est acheminé deserveur
de serveur en serveur en serveur
jusqu'au serveurjusqu'au
de
messagerie
serveur du destinataire
de messagerie [4].
du destinataire [52].
Figured’un
Concrètement, l’acheminement 7.1email suit les étapes
Principe suivante :
de l'acheminement des emails
1) Lorsque un expéditeur veut envoyer un email, il doit utiliser un client de messagerie appelé MUA
Concrètement, l'acheminement
(Mail User d'un
Agent). Celui-ci se email
charge suit les étapes
de transmettre l’emailsuivantes
en utilisant comme il est
le protocole schématisé
SMTP ; dans
la gure 7.1 :
2) L’email est envoyé au serveur de courrier sortant chargé du transport, nommé MTA (Mail Transport
1.
Agent). L’email est ainsi acheminé jusqu'au MTA du destinataire, en transitant parfois par plusieurs
Lorsque un expéditeur veut envoyer un email, il doit utiliser un client de messagerie appelé MUA
MTA. Puisque les MTA communiquent entre eux grâce au protocole SMTP, les MTA terminaux sont
(Mail User Agent). Celui-ci se charge de transmettre l'email en utilisant le protocole SMTP ;
appelés serveurs SMTP, tandis que les MTA intérmédiaires sont dits relais SMTP ;
2. L'email est envoyé
3) Le serveur MTA du audestinataire
serveur de courrier
délivre l’email au
ensuitesortant serveurdu
chargé de transport,
courrier entrant,
nommé
nomméMTA MDA(Mail
(Mail Delivery
Transport Agent). Agent). Ce dernier
L'email est chargé
est ainsi du stockage
acheminé des emails
jusqu'au MTAet de la
dugestion des boîtes aux
destinataire, en lettres.
transitant
Pour des raisons d’authentification, l'accès
parfois par plusieurs MTA. Puisque les MTA communiquent entre eux grâce au protocole ;SMTP,
au MDA est protégé par un identifiant et un mot de passe
Si le MDA
les MTA du destinataire
terminaux est occupé
sont appelés ou temporairement
serveurs SMTP, tandis hors service
que les et MTA
que l’email ne peut donc sont
intérmédiaires être dits
livré,
relais SMTP ;
le MTA de l’expéditeur réessaye automatiquement de livrer l’email à intervalles réguliers. Cela
se produit jusqu’à ce que la livraison soit réussie ou que l’email soit finalement retourné à l’expéditeur
3. Le serveur
comme MTA dudistribué.
étant non destinataire délivre ensuite l'email au serveur de courrier entrant, nommé
MDA
4) Le destinataire, par Agent).
(Mail Delivery Ce dernier
l’intermédiaire de son est
MUA,chargé du stockage
demande au MDA des emails etemails
les nouveaux de la via
gestion
l’utilisation
des boîtes aux de l’un des
lettres. protocoles
Pour POP oud'authentication,
des raisons IMAP. Ainsi, les serveurs de courrier
l'accès au MDA entrant
est sont appelés
protégé par un
serveurs POP ou serveurs
identiant et un mot de passe ; IMAP, selon le protocole utilisé.
Si le MDA du destinataire est occupé ou temporairement hors service et que l'email ne peut
Types de MUA :
donc être livré, le MTA de l'expéditeur réessaye automatiquement de livrer l'email à intervalles
Lorsque
réguliers. le se
Cela MUA est un jusqu'à
produit logiciel lourd installé
ce que sur le système
la livraison de l'utilisateur,
soit réussie ou queonl'email
parle desoit
client de
nalement
messagerie.
retourné Les clients
à l'expéditeur de messagerie
comme les plus
étant non connus sont :
distribué. Microsoft Outlook (Windows), Mozilla
Thunderbird (Windows, Linux et Mac OS), K-9 Mail (Android), et Mail (Apple).
4. Le destinataire, par l'intermédiaire de son MUA, demande au MDA les nouveaux emails via
Lorsqu'il s'agit d'un site Web permettant de s'interfacer au serveur de courrier entrant, on parle alors
l'utilisation de l'un
de webmail, des protocoles
par exemples, POP ou IMAP.
Horde, Roundcube, Ainsi,
Mailpile, les serveurs
RainLoop, de courrier
SquirrelMail, … entrant sont
appelés serveurs POP ou serveurs IMAP, selon le protocole utilisé.
Par analogie avec le courrier postal, les MTA font office de bureaux de poste, englobant le centre de tri et le
facteur qui assure le transport, tandis que les MDA font office de boîtes aux lettres, permettant de stocker les
emails, jusqu'à ce que les destinataires les récupèrent.
Commande Description
HELO h Se connecter avec son nom de domaine h et démarrer la session
MAIL FROM : Indiquer l'adresse email de l'expéditeur x
<x>
RCPT TO : <y> Indiquer l'adresse email du destinataire y
DATA Initier la transmission de l'email
RSET Interrompre la transmission initiée, mais maintenir la connexion
VRFY/EXPN Vérier si le serveur est disponible pour la transmission de l'email
Demander une réponse du serveur pour éviter une déconnexion due à un
NOOP timeout
QUIT Terminer la session SMTP
Types de MUA :
Lorsque le MUA est un logiciel lourd installé sur le système de l'utilisateur, on parle de
client de messagerie. Les clients de messagerie les plus connus sont : Microsoft Outlook
(Windows), Mozilla Thunderbird (Windows, Linux et Mac OS), K-9 Mail (Android), et
Mail (Apple).
Lorsqu'il s'agit d'un site Web permettant de s'interfacer au serveur de courrier entrant,
on parle alors de webmail, par exemples, Horde, Roundcube, Mailpile, RainLoop, Squir-
relMail, ...
Par analogie avec le courrier postal, les MTA font oce de bureaux de poste, englobant le centre de
tri et le facteur qui assure le transport, tandis que les MDA font oce de boîtes aux lettres, permettant
de stocker les emails, jusqu'à ce que les destinataires les récupèrent.
Commande Description
Comme HELO, mais EHLO permet en plus de lister toutes les
EHLO h commandes prises en charge
AUTH Authentier l'expéditeur
STARTTLS Utiliser le chirement SSL/TLS pour les échanges de la session SMTP
8BITMIME Utiliser le format MIME (joindre des chiers multimédias aux emails)
Restreindre la taille des emails selon les paramètres par défaut du
SIZE serveur
HELP Indiquer les commandes SMTP disponibles
ATRN, CHUNKING, DSN, ETRN, PIPELINING, SMTPUTF8, BINARYMIME,
CHECKPOINT, ...
Table 7.2 Commandes de l'extension ESMTP
Code Message
200 (non standard success response)
220 Le serveur est prêt pour la session SMTP.
221 Le serveur met n à la connexion
235 Authentication réussie
250 OK Commande exécutée
334 Le serveur attend la réception d'un texte codé au format Base64
354 Le serveur démarre la réception de l'email
421 Serveur non disponible, la connexion est terminée
450 Commande non exécutée, messagerie non disponible
500 Erreur de syntaxe, commande inconnue
501 Erreur de syntaxe dans les paramètres ou arguments
502 La commande n`existe pas
503 Séquence de commandes invalide
530 Accès refusé
535 Identiants d'authentication invalides
554 Échec de la transmission
client et serveur :
Dans un premier temps, le client doit initier une phase de Handshake SMTP, en exécutant la com-
mande HELO ou EHLO suivie du nom de domaine du serveur (ligne 2). À la diérence de la commande
HELO, EHLO permet de lister toutes les commandes prises en charge par le serveur (lignes 4-9). Suite
à la prise de contact avec le serveur, le client doit s'authentier en lançant la commande AUTH. Une
fois ce message reçu par le serveur, celui-ci demandera les identiants du client, en l'occurence, son
username et son passowrd (lignes 11-15). Ces identiants doivent être codés au format Base64. Si
l'authentication est réussie, le serveur répond avec le code 235.
Format Base64 :
Base64 est un codage de l'information consistant à utiliser 64 caractères ASCII (codés sur 7 bits)
pour coder tout type de données codé sur 8 bits. Utilisé massivement dans les échanges d'email,
le format Base64 permet ainsi de transmettre n'importe quel type de données sous forme de
simples caractères (texte accentué, image, vidéo, chier audio, etc.) [51]. Les spécications du
format Base64 sont publiées dans RFC 3548.
Il existe un outil en ligne qui permet d'encoder/décoder un texte vers/depuis le format Base64 :
http://www.base64encode.org.
Après l'authentication du client, celui-ci spécie les adresses email de l'expéditeur et du destina-
taire, à l'aide des commandes MAIL FROM et RCPT TO (lignes 16-19). Dans certains serveurs SMTP
tel que Gmail, l'indication de l'adresse de l'expéditeur n'a pas d'importance, car le serveur la dénira
automatiquement depuis l'identiant username authentié préalablement. Par contre, l'adresse email
du destinataire est vériée, et dans le cas où cette adresse n'existe pas, l'expéditeur recevra dans sa
boîte aux lettres, un email indiquant l'alerte.
Désormais, le client peut initier la transmission de l'email en exécutant la commande DATA, sachant
que l'email est introduit sous forme d'enveloppe SMTP (lignes 22-29). Dans le cas nominal, le serveur
conrme la réception de l'email et l'ajoute à sa le d'attente (ligne 25).
Après avoir clôturé la session SMTP avec la commande QUIT (ligne 31), le serveur SMTP envoie
CHAPITRE 7. MESSAGERIE SÉCURISÉE 83
l'email via un ou plusieurs MTA jusqu'au serveur MTA du destinataire. Chacune des opérations de
transfert est eectuée en utilisant toujours le protocole SMTP. Le serveur MTA du destinataire délivre
l'email à la boite aux lettres de celui-ci qui est stockée dans son serveur MDA. Enn, le MUA du
destinataire récupère l'email via le protocole POP ou le protocole IMAP auprès du serveur MDA.
Pour un utilisateur lambda, l'échange SMTP reste invisible, puisqu'il est exécutée en arrière-plan
par le client de messagerie ou par le webmail. Cependant, il est nécessaire, dans certains clients de
messagerie, de congurer manuellement le protocole SMTP lors de la conguration du compte.
De manière similaire à un courrier postal, une enveloppe SMTP comprend deux composants : les
entêtes (headers) et le corps (body) de l'email. Les entêtes de l'enveloppe contiennent des informations
relatives à l'acheminement des données entre les serveurs MTA. Voici les entêtes les plus utilisées :
Return-Path : Adresse de retour en cas d'erreur,
Received : Informations d'acheminement, entre les diérents serveurs MTA, ajoutées par ceux-
ci,
From : Adresse de l'expéditeur,
To : Adresse du destinataire,
Cc : Adresse Copie Carbonne,
Reply-To : Adresse de réponse dans le cas échéant,
Subject : Sujet de l'email,
Date : Date d'envoi de l'email,
Message-Id : Identiant unique de l'email.
An que SMTP puisse détecter la n d'une enveloppe SMTP, celle-ci doit toujours être clôturée
par une ligne contenant uniquement un point ("."). Voici un exemple d'enveloppe SMTP :
Enveloppe SMTP
1 From : ali@univ - constantine2 . dz
2 To : brahim@univ - constantine2 . dz
3 Subject : test d ' encodage MIME
4 MIME - Version : 1.0
5 Content - Type : text / plain ;
6 Content - Transfer - Encoding : quoted - printable
7 Cc : contact@univ - constantine2 . dz
8 Reply - To : contact@univ - constantine2 . dz
9 Date : Mon 23 Oct 2019 15:06:54 GMT
10 Subject : Un exemple d ' un message SMTP
11 Message - ID : <4.1.20000623164823.009 f5e80@IMAP . GOOGLE . COM >
12 Return - Path : ali@univ - constantine2 . dz
13 Received :
14 from mail - f41 . google . com ( mail - f41 . google . com . [209.85.220.41])
15 by mx . google . com with SMTPS id s16sor4ybk .67.2019.09.22.04.00.52
16 for < ali@univ - constantine2 . dz >; Mon , 23 Oct 2019 15:06:59 GMT
17 CRLF
18 This is a very simple body .
19 .
L'inconvénient majeur du protocole SMTP de base est qu'il est relativement limité pour les besoins
actuels. À l'origine, SMTP était conçu pour ne transférer que des chiers textes (codés en ASCII),
ainsi, il ne gère pas les caractères non ASCII et il ne peut pas de transmettre des chiers binaires. De
ce fait, le standard MIME a été proposé pour résoudre ces problèmes.
Grâce à des entêtes SMTP spéciques, MIME propose de décrire le type de contenu de l'email et
le codage utilisé, en permettant (1) l'utilisation de caractères non ASCII et du texte enrichi (mise en
forme des messages, polices de caractères, couleurs, etc.) ; et (2) la possibilité d'avoir, dans un même
email, plusieurs pièces jointes de diérents types (exécutables, images, chiers compressés, etc).
Aujourd'hui, la plupart des serveurs SMTP acceptent MIME sur 8 bits, ce qui permet de transférer
des chiers binaires presque aussi facilement que du texte simple. Actuellement, les emails envoyés via
le protocole SMTP au format MIME, sont appelés emails SMTP/MIME.
Les cinq entêtes SMTP additionnels pour prendre en charge du contenu MIME sont :
MIME-Version : indique la version de MIME utilisée, sachant que la version 1.0 est la seule
utilisée actuellement,
Content-Type : décrit le type et le sous-type des données. Plusieurs combinaisons sont pos-
sibles, pour chacun des types suivants : text (text/plain, . . . ), image (image/png, . . . ), audio
(audio/basic, . . . ), video (video/mpeg, . . . ), et application (application/pdf, . . . ). La liste ex-
haustive des types MIME, normalisés par l'IANA peut être consultée dans [32] ;
Par ailleurs, le type multipart/mixed permet de dénir des messages composites, comportant
plusieurs pièces jointes. Pour ce faire, MIME permet de dénir un séparateur appelé boundary.
Il s'agit d'une chaîne arbitraire dénie en attribut de l'entête Content-type.
Content-Transfer-Encoding : dénit l'encodage utilisé dans le corps de l'email. Cinq formats
de codage peuvent être utilisés :
7bit (ASCII) : Format de texte codé sur 7 bits, pour les messages non accentués (Ex : "cet
été" est codé "cet iti") ;
quoted-printable : Format de texte accentué, codé sur 7 bits (Ex : "cet été" est codé "cet
=E9t=E9" ;
base64 (7bits) : Format de texte codé en Base64, recommandé pour l'envoi de chiers
binaires en pièce jointe (Ex : "cet été" est codé "Y2V0IOl06Qo=") ;
8bit : Format de texte codé sur 8 bits, en utilisant par exemple UTF8 (Ex : "cet été" est
codé "cet été") ;
binary : Format binaire dédié aux pièces jointes. Il est déconseillé pour SMTP.
Content-ID : représente un identicateur unique de partie de l'email ;
Content-Description (facultatif) : donne des informations complémentaires sur un objet
transmis dans l'email. Cet entête est nécessaire quand le contenu est un chier binaire (non
lisible) ;
Content-Disposition (facultatif) : dénit les paramètres de la pièce jointe, notamment le
nom associé au chier grâce à l'attribut lename.
Voici un exemple d'enveloppe SMTP/MIME contenant un corps codé en Quoted-printable :
Enveloppe SMTP/MIME
1 From : ali@univ - constantine2 . dz
2 To : brahim@univ - constantine2 . dz
3 Subject : test d ' encodage MIME
4 MIME - Version : 1.0
5 Content - Type : text / plain ;
6 Content - Transfer - Encoding : quoted - printable
7 CRLF
8 Ceci est un email qui contient des caract = E8res non ASCII , puis transform = C3 = A9
en ASCII par la m = C3 = A9thode " Quoted - Printable ".
9 .
Enveloppe SMTP/MIME
1 From : ali@univ - constantine2 . dz
2 To : brahim@univ - constantine2 . dz
3 Subject : test d ' encodage MIME
4 MIME - Version : 1.0
5 Content - Type : multipart / mixed ; boundary ="3 Pql8miugIZX0722 "
6 CRLF
7 - -3 Pql8miugIZX0722
8 Content - Type : text / plain
9 Content - Disposition : inline
10 Content - Transfer - Encoding : 8 bit
11 CRLF
12 Bonjour , vous trouverez un document pdf en piece jointe .
13 CRLF
14 - -3 Pql8miugIZX0722
15 Content - Type : application / pdf ;
16 Content - Disposition : attachement ; filename =" document . pdf "
17 Content - Transfer - Encoding : base64
18 JVBERi0xLjMKJcfsj6IKNiAwIG9iago8PC9MZW5ndGggNyAwIFIvRmlsdGVyIC9GbGF0ZURlY29kZT4 +
CnN0cmVhbQp4nN1aS4 / cxhG +81 fw6BhQp9 + Po4wYRoAIiLRr5BxM1paC ...
19 - -3 Pql8miugIZX0722
20 .
Commande Description
USER x Introduire le username x pour l'authentication
PASS y Introduire le password y pour l'authentication
Connaître le nombre d'emails présents sur le serveur ainsi que la taille totale
STAT des emails
Lister les emails sur le serveur, avec pour chacun, l'identiant (x) dans la le
LIST d'emails
RETR x Récupérer un email par son identiant x
TOP x n Récupérer les n premières lignes d'un email identié par x
LAST Indiquer l'identiant du dernier email récupéré
DELE x Supprimer un email par son identiant x
Demander une réponse du serveur pour éviter une déconnexion due à un
NOOP timeout
RSET Réinitialiser la session
UIDL Acher un identiant unique qui ne varie pas entre chaque session
QUIT Terminer la session avec le serveur
Dans un premier temps, le client doit s'authentier en indiquant son username et son password
(lignes 3 et 5), ainsi, le serveur répond par un message "+OK Logged in." ou "-ERR <raison>",
en fonction du résultat. À l'aide de la comande STAT, le client peut demander le nombre d'emails
présents dans la boite aux lettres de l'utilisatuer au niveau du serveur (ligne 7) et lister les identiants
des emails en utilisant la commande LIST (ligne 8). Pour acher l'enveloppe d'un email donné, il
sut d'envoyer la commande RETR en précisant son identiant (ligne 13), par contre, pour acher
les quelques premières lignes de l'email, il faut utiliser la commande TOP (ligne 15). La commande
DELE permet de supprimer un email depuis le serveur POP3. Enn, la commande QUIT permet de
fermer la session POP3.
Commande Description
LOGIN x y Authentier l'utilisateur avec son username x et son password y
CAPABILITY Lister les commandes que le serveur supporte
SELECT r Sélectionner un répertoire r de la boite aux lettres que l'on souhaite consulter
FETCH x p Obtenir des informations sur un(des) email(s) x en fonction des paramètres p
STARTTLS Utiliser le chirement SSL/TLS pour les échanges de la session IMAP
CREATE r Créer un nouveau répertoire r dans le répertoire sélectionnée
STORE x . . . Modier les "ags" attachés à un email x
EXPUNGE Détruire physiquement tous les emails marqués par \Deleted
Demander une réponse du serveur pour éviter une déconnexion due à un
NOOP timeout
LOGOUT Mettre n à la session IMAP
emails dans le serveur, ainsi, toutes les modications eectuées sur le client (MUA) sont répercutées
au niveau du MDA. En eet, IMAP assure une synchronisation constante de la boite aux lettres située
entre le MUA et le MDA, an de mieux gérer, trier et classer les emails. Historiquement, le protocole
IMAP a été conçu par M. Crispin en 1986, et plusieurs versions se sont succédé, jusqu'à la version 4
(4rev1 plus précisément) qui est utilisée aujourd'hui (RFC 1730).
Avec IMAP, il est possible de ne récupérer qu'une partie de l'enveloppe de l'email, par exemple
ses entêtes, ainsi, les emails peuvent être déplacés ou supprimés sans être entièrement récupérés par
le client. Des recherches dans le serveur peuvent être eectuées, pour savoir si un email est déjà lu
ou non. Toutefois, le protocole IMAP requiert plus de ressources côté serveur, par rapport à POP.
Lors des premières versions de IMAP, celui-ci nécessitait au client d'avoir une connexion permanente
avec le serveur, mais, depuis IMAP4, de nombreux MUA proposent un mode hors-ligne permettant de
récupérer les emails localement comme le fait POP.
Concrètement, le service IMAP4 est à l'écoute sur le port TCP 143. Comme pour SMTP et POP3,
le protocole IMAP4 utilise plus de 40 commandes pour communiquer avec le serveur. Le client peut
envoyer plusieurs commandes sans attendre simultanément la réponse du serveur. De ce fait, un tag
(c1, c2, . . . ), précédant chacune des commandes, doit être ajouté par le client an de lui permettre de
retrouver facilement la réponse à la commande exécutée. La table 7.5 décrit les commandes les plus
utilisées.
Pour avoir plus d'informations sur l'état des emails au niveau de la boite aux lettres, IMAP4 permet
d'attacher un ou plusieurs ags à chacun des emails :
\Seen : L'email a été lu,
\Answered : On a répondu à l'email,
\Flagged : L'email est mentionné comme étant urgent/spécial (par l'utilisateur),
\Deleted : L'email est considéré comme supprimé pour que plus tard un EXPUNGE puisse
l'enlever,
\Draft : L'email est marqué en tant que brouillon car il n'a pas été entièrement envoyé,
\Recent : L'email est arrivé récemment dans cette boîte aux lettres.
Voici un exemple d'échange entre un client et un serveur IMAP4 :
CHAPITRE 7. MESSAGERIE SÉCURISÉE 88
Initialement, le client doit s'authentier en indiquant son username et son password (lignes 2). Le
serveur répond par un message "Logged in" précédé par les commandes possibles en étant authentié. À
l'aide de la comande SELECT, le client peut sélectionner le répertoire à consulter, dans notre cas, c'est
le courrier entrant "INBOX" qui est choisi (ligne 4). On utilise la commande "FETCH * (ags, UID)"
pour lister les identiants des emails du répertoire sélectionné ainsi que les ags associés (ligne 11).
Pour acher l'enveloppe entière d'un email donné, il sut d'envoyer la commande FETCH en précisant
son identiant ainsi que le paramètre BODY[] (ligne 16), par contre, pour acher uniquement le sujet
de l'email, il faut préciser comme paramètre BODY[header.elds(Subject)] (ligne 19). Par ailleurs,
la commande STORE permet de modier les "ags" attachés à un email donné. Par exemple, pour
supprimer un email, il faut marquer celui-ci comme supprimé (\Deleted) à l'aide de la commande
STORE (ligne 23), puis le détruire physiquement en utilisant la commande EXPUNGE (ligne 26).
Enn, la commande LOGOUT permet de mettre n à la session IMAP4.
l'utilisateur utilise plusieurs machines clientes pour lire son courrier, la réception des emails s'eectuent
sur la base du "premier arrivé, premier servi", c'est-à-dire y aura une partie des emails sur chacune des
machines clientes. De plus, comme les emails ne sont sauvegardés que sur une seule machine cliente,
en cas de panne ou de vol de celle-ci, tous les emails, reçus et envoyés seront perdus.
Il est possible de remédier en partie aux limites auxquelles soure le protocole POP en modiant
la conguration du compte pour conserver les emails sur le serveur pendant une durée librement
paramétrable.
Généralement, si un tel relais ouvert est découvert, il est mis dans la liste noire des principaux
fournisseurs de messagerie Web, en quelques heures. À cet eet, il est de la responsabilité de l'admi-
nistrateur du serveur relais SMTP mal conguré, de corriger la vulnérabilité et de demander ensuite
la suppression de la liste noire.
Remarque :
Dénie dans le RFC 2817, HTTP met en ÷uvre sa propre procédure sécurisée explicite,
qui ressemble beaucoup à StartTLS. Cependant, de nos jours, HTTPS (RFC 2818) est
devenu le protocole le plus courant, en orant un chirement implicite.
En plus des protocoles de messagerie, StartTLS peut également lancer le chirement
explicite avec les protocoles LDAP (RFC 4511), FTP (RFC 4217), XMPP (RFC 6120) et
NNTP (RFC 4642).
Chez les fournisseurs d'accès, StartTLS est devenu le procédé de chirement des emails favori,
pour la raison qu'il ne fait pas obstacle à la communication avec les clients qui ne supportent pas le
chirement SSL/TLS.
CHAPITRE 7. MESSAGERIE SÉCURISÉE 92
Concrètement, les étapes permettant à un client SMTP d'initier une connexion TLS explicite sont :
1. Au moment du handshake SMTP entre le client et le serveur, celui-ci ache toutes les com-
mandes qu'il prend en charge, incluant la commande STARTTLS (ligne 6) ;
2. Le client demande donc au serveur, via la commande STARTTLS, s'il accepte le chirement
explicite ;
3. Si le retour est positif du serveur (go ahead), le handshake TLS peut commencer entre le client
et le serveur ;
4. Après la mise en place d'une connexion chirée explicitement, le client peut désormais s'au-
thentier en toute sécurité avant de procéder à l'envoi des emails (ligne 16).
Comme Telnet est un protocole applicatif non sécurisé, donc, il n'a pas la capacité d'établir un échange
de Handshake TLS. Par contre, l'outil OpenSSL le permet en utilisant la commande s_client avec le
paramètre -starttls, comme suit :
Protocole SMTP-TLS
SMTP-TLS (SMTP over TLS) est un protocole qui étent SMTP permettant à un serveur et à un
client SMTP de négocier une session sécurisée SSL/TLS avant de communiquer en SMTP (RFC 3207).
Le protocole SMTP-TLS est basé sur le port 465, sachant qu'actuellement la majorité des serveurs
SMTP orent ce port permettant une connexion chirée implicitement.
Protocole POP3S
POP3S (POP3 over SSL/TLS) est une version sécurisée implicitement du protocole POP3, écoutant
sur le port 995 par défaut (RFC 8314). Le protocole POP3S permet de chirer la communication avec
le serveur MDA au moyen de TLS. En eet, lorsqu'une connexion TCP est établie pour le service
POP3S, une négociation TLS commence immédiatement. Une fois la session TLS établie, les messages
de protocole POP3 sont échangés en tant que données d'application TLS pour le reste de la connexion
TCP.
Protocole IMAPS
Tout comme SMTP-TLS et POP3S, IMAPS (IMAP over SSL/TLS) est un protocole qui établit
une connexion TLS avant de s'échanger des message IMAP, en utilisant le port 993 par défaut (RFC
8314). En eet, une fois la session TLS établie, les messages du protocole IMAP sont échangés en tant
que données d'application TLS.
De nos jours, plusieurs serveurs de messagerie désactivent progressivement les protocoles SMTP (25
et 587), IMAP (port 143) et POP3 (port 110), de sorte que les clients doivent utiliser une connexion
chirée implicitement. En désactivant les ports de ces protocoles, l'extension StartTLS n'est plus
utilisable.
CHAPITRE 7. MESSAGERIE SÉCURISÉE 94
Nous décrivons dans cette section les protocoles les plus utilisés dans la sécurisation de client à
client.
En 1999, S/MIME est devenu un standard validé par l'IETF , dont les spécications sont décrites
dans le RFC 2630, sachant que les RFC 2632 et RFC 2633 décrivent S/MIME 3 et le RFC 3850 décrit
S/MIME 3.1.
Dans le cas où les certicats utilisés sont signés par une CA locale issue par exemple de l'enreprise,
il est nécessaire d'indiquer aussi le certicat auto-signé de la CA locale.
Fonctions de S/MIME
S/MIME repose sur la cryptographie à clé publique, pour chirer le contenu d'un email tout en
l'encapsulant dans une enveloppe SMTP/MIME. La signature de l'email est obtenue à l'aide de la clé
privée de l'expéditeur. Toute personne interceptant la communication ne peut lire que la signature de
l'email, et cela permet au destinataire de vérier l'identité de l'expéditeur tout en assurant l'intégrité
de l'email. Les étapes de création d'une entité MIME signée sont les suivantes :
2. Chirer le digest du message avec la clé privée asymétrique du signataire (DSS ou RSA) ;
3. Préparer un bloc appelé "SignerInfo" qui contient : (1) le certicat du signataire ainsi que les
certicats susants pour constituer une chaîne de certication de conance, (2) un identiant
de l'algorithme de hachage, (3) un identiant de l'algorithme utilisé pour chirer le digest du
message et (4) le digest du message chiré.
Par ailleurs, an de chirer un email en utilisant S/MIME, les diérentes parties de celui-ci sont
chacune chirée à l'aide d'une clé de session. Dans chaque entête de partie est insérée la clé de session,
chirée à l'aide de la clé publique du destinataire. Seul le destinataire peut déchirer la clé de session
à l'aide de sa clé privée, et ainsi ouvrir le contenu de l'email ce qui assure la condentialité de l'email
reçu [42]. Les étapes détaillées de création d'une entité MIME chirée sont les suivantes :
1. Générer une clé de session aléatoire pour un algorithme de chirement symétrique particulier
(AES, RC2/40 ou Triple DES) ;
2. Pour chaque destinataire, chirer la clé de session avec la clé publique du destinataire (RSA ou
DH) ;
3. Pour chaque destinataire, préparez un bloc appelé "RecipientInfo" qui contient : (1) un identi-
ant du certicat de clé publique du destinataire, (2) un identiant de l'algorithme utilisé pour
chirer la clé de session et (3) la clé de session chirée ;
Et voici un exemple d'enveloppe contenant un email signé et chiré avec S/MIME. En eet,
un message chiré par S/MIME est constitué d'une seule partie MIME contenant une pièce jointe
"smime.p7m".
Fonctions de PGP
Similairement à S/MIME, le protocole PGP fait partie des protocoles de cryptographie hybride
basés à la fois sur le chirement symétrique et asymétrique, en reposant sur une sélection des meilleurs
algorithmes : RSA, DSA, DH, 3DES, SHA-1, etc.
En utilisant PGP, l'authentication de l'expéditeur est assurée par le biais de la signature de l'email.
En eet, un email signé est obtenu à l'aide de la clé privée de l'expéditeur. Les étapes de signature
d'un email sont les suivantes :
1. Une empreinte (digest) du contenu de l'email est générée en utilisant une fonction de hachage
(SHA-1) ;
2. Le digest est ensuite chiré en utilisant la clé privée de l'expéditeur (RSA), et le résultat
correspond à la signature qui est ajouté au début de l'email ;
3. La signature peut être isolée dans le cas ou un email doit être signé par plusieurs personnes, un
contrat légal par exemple.
Par ailleurs, la condentialité d'un email est assurée en chirant celui-ci avant de le transmettre,
voici les étapes à suivre :
1. Le contenu de l'email est d'abord compressé (ZIP). Cette compression permet de réduire le
temps de transmission, d'économiser l'espace disque et de renforcer la sécurité cryptographique
contre les cryptanalyses ;
2. Une clé de session symétrique aléatoire (128 bits) est générée pour chaque email (CAST-128,
IDEA, TDEA, ou Triple DES) ;
4. Enn, la clé de session est chirée au moyen de la clé publique du destinataire (RSA ou DSS)
et est ajoutée au message.
Sécurité des réseaux 2018-2019 – Semestre 2 Université Constantine 2
ID clé destinataire
Clé de
session Clé de session Dest
Horodatage signature
ID clé expéditeur
Signature
2 octets tête empreinte
Empreinte Exp Compression
et chiffrement
Nom du fichier
Horodatage
Message
Données
Figure
Comme il est illustré dans la figure ci-dessus, un message PGP signé et chiffré se compose en trois parties :
7.2 Format d'un message PGP signé et chiré
La partie "Clé de session", comprend :
Comme•il Clé
est illustré dans
de session la gure
: permet 7.2, un message
de déchiffrer le reste duPGP signéAfin
message. et chiré se compose
de protéger cette cléen
de trois parties :
session,
La partie "Clé
celle-ci de session"
est chiffrée , comprend
avec la clé publique du: destinataire ;
• ID de clé publique du destinataire : correspond à l'identifiant de la clé publique du destinataire
qui a été utilisé par l'expéditeur pour chiffrer la clé de session, car le destinataire peut avoir plusieurs
paires de clés ;
La partie "Signature", inclue :
CHAPITRE 7. MESSAGERIE SÉCURISÉE 100
Clé de session : permet de déchirer le reste du message. An de protéger cette clé de
session, celle-ci est chirée avec la clé publique du destinataire ;
ID de clé publique du destinataire : correspond à l'identiant de la clé publique du
destinataire qui a été utilisé par l'expéditeur pour chirer la clé de session, car le destinataire
peut avoir plusieurs paires de clés ;
La partie "Signature", inclue :
Horodatage de signature : est le moment auquel la signature a été produite ;
ID de clé publique de l'expéditeur : Identie la clé publique qui doit être utilisée pour
déchiré l'empreinte et vérier ainsi la signature, car comme le destinataire, l'expéditeur
peut avoir aussi plusieurs paires de clés ;
Empreinte : est une empreinte de 160 bits obtenue en appliquant la fonction de hachage
SHA-1. Cette empreinte est calculée sur l'horodatage de signature concaténé avec les données
de la partie "Message". L'inclusion de l'horodatage de signature dans l'empreinte protège
contre les attaques de relecture. Cette empreinte est ensuite chirée avec la clé privée de
l'expéditeur correspondant à l'identiant de clé indiqué précédement.
2 octets tête de l'empreinte : contient les 2 premiers octets de l'empreinte générée avant
son chirement avec la clé privée de l'expéditeur. Cela permet au destinataire d'optimiser
la vérication de la signature de l'expéditeur, en comparant ces 2 premiers octets (2 octets
sont généralement susants pour éviter les collisions de hachage) de l'empreinte avec les 2
premiers octets du texte obtenu lors du déchirement de la signature.
La partie "Message", comprend :
Nom du chier : est le nom du chier dans le cas où PGP est utilisé pour chirer un
chier ;
Horodatage : moment auquel le message a été créé ;
Données : correspondent au contenu du message à transmettre.
Les parties "Signature" et "Message" peuvent être compressés à l'aide de la fonction ZIP et ensuite
elles sont chirées à l'aide de la clé de session.
L'exemple suivant illustre un email signé par PGP, englobant le contenu de l'email en clair suivi
de la signature de celui-ci (lignes 10-14). La fonction de hachage est indiquée dans la ligne 6 :
Et voici un exemple d'un email signé et chiré avec PGP. Le contenu de l'email chiré (lignes 11-12)
est précédé par la version du logiciel GnuPG (ligne 8) :
CHAPITRE 7. MESSAGERIE SÉCURISÉE 101
Enn, pour bénécier des capacités MIME tout en utilisant PGP, il est possible d'encapsuler un
message PGP au sein d'une enveloppe MIME, ce message est appelé PGP/MIME. Dans l'exemple
suivant, un email signé et chiré avec PGP/MIME est organisé en deux entités MIME : la description
du message PGP/MIME (lignes 8-12) suivie du contenu de l'email chiré (lignes 12-20) :
7.8 Conclusion
Avant, la communication et les échanges entre les serveurs et les clients de messagerie se se faisait en
clair. De ce fait, il est possible d'agir à deux niveaux diérents pour sécuriser la messagerie électronique :
D'une part, la sécurisation du transport consiste à sécuriser la communication entre le client et le serveur
de messagerie, ainsi que le relayage SMTP entre les MTA, en utilisant le protocole SSL/TLS. D'autre
part, la sécurisation de client à client permet de chirer les emails de bout en bout, indépendamment
des serveurs intermédiaires MTA ou MDA, en se basant sur le standard S/MIME ou le protocole
OpenPGP.
Bibliographie
[1] 1and1 IONOS. Starttls, 2019.
[2] 1and1 IONOS SARL. Qu'est-ce que smtp ? dénition et principes de bases, 2019.
[7] A. Chouara. Introduction à la sécurité des réseaux et des systèmes d'information, 2010.
[8] COMPANEO. Quel est le rôle d'une entreprise de sécurité informatique ?, 2019.
[10] Bernard Cousin. Sécurité des réseaux informatiques, 2018. Université de Rennes 1.
[13] T. Dierks. Rfc 5246 : The transport layer security (tls) protocol version 1.2, 2008.
[19] Taher Elgamal. A public key cryptosystem and a signature scheme based on discrete logarithms.
IEEE Transactions on Information Theory, 31(4) :469472, 1985.
[20] FrameIP.com. Les rewall, 2019.
[26] T. Hanada. What are dierences between ikev1 and ikev2 ? (ikev1 vs. ikev2), 2011.
[28] Daniel Lerch Hostalot. Attaque par factorisation contre rsa, 2019.
[31] Auguste Kerckhos. La cryptographie militaire. Journal des sciences militaires, IX :161191,
1883.
102
BIBLIOGRAPHIE 103
[34] Tout le numérique pour les entreprises. Qu'est-ce qu'un pare-feu ?, 2019.
[36] LinkByNet. Mais, comment une vulnérabilité devient-elle une menace ?, 2019.
[46] Inc. Network Sorcery. Isakmp, internet security association and key management protocol, 2018.
[47] CISA Department of Homeland Security. Ssl 3.0 protocol vulnerability and poodle attack, 2014.
[48] OmniSecu.com. Ikev1 protocol, ikev1 message exchange, ikev1 main, aggressive and quick modes,
2019.
[49] Kaushal Kumar Panday. Ssl/tls alert protocol & the alert codes, 2012.
[52] Jean-François Pillou. Fonctionnement du courrier électronique (mta, mda, mua), 2019.
[54] R. Rivest, A. Shamir, and L. Adleman. A method for obtaining digital signatures and public-key
cryptosystems. Communications ACM, 21(2) :120126, 1978.
[55] SécuritéInfo.com. Introduction et initiation à la sécurité informatique, 2019.
[56] SecuriteInfo. Ipsec : Internet protocol security, encapsulage et cryptage de vos communications,
2002.
[57] Shannon. Shannon's maxim. Encyclopedia of Cryptography and Security, pages 11941194, 2011.
[58] Silicon.fr. Cybersécurité : les 10 chires qui font peur, 2017.
[59] William Stallings. Cryptography and Network Security : Principles and Practices, 4th Edition.
Prentice Hall, USA, 2006.
[60] William Stallings. Cryptography and network security : Principles and practices, 4th edition,
2006.
[62] Je Tyson, Chris Pollette, and Stephanie Crawford. Remote-access vpn, 2019.
[66] Better Web. Mon compte email : choisir pop ou imap ?, 2013.
[67] Ch. Zeitoun. Alan turing et le décryptage des codes secrets nazis, 2012.
[68] Minhaz Fahim Zibran. Cryptographic security for emails :, 2011. University of Saskatchewan.