Vous êtes sur la page 1sur 85

Sécurité des réseaux informatiques

Université Alioune Diop de Bambey (UADB)


UFR SATIC-Département TIC

L3- AMRT

Année académique 2018-2019


Dr. B. DIOUF 1
Deuxième Partie

Parades ou moyens de prévention et de lutte


(défense) contre les attaques

Comment sécuriser ses informations?

Cryptographie

Dr. B. DIOUF 2
Défenses logicielles (software)
Tous les systèmes de défense utilisent des programmes ou des algorithmes pour
gérer essentiellement.
l'authentification,
le cryptage des données et
la détection de malwares.
Ces défenses logicielles sont mises en place sur des architectures matérielles, ex:
l'authentification sur une liaison point à point pour se connecter à son FAI,
le cryptage sur un tunnel VPN ou
l'antivirus sur les postes de travail.

Dr. B. DIOUF 3
Sécurisation de l’information
Dans le domaine de la transmission sécurisée de l'information :
Cryptographie : consiste en une écriture indéchiffrable d'un message ou d'une
information (ainsi rendue secrète);
But de la cryptographie est de garantir la confidentialité, l'authenticité et l'intégrité des
données échangées.
Cryptanalyse : consiste à retrouver le message chiffré ou la clé.
Stéganographie : cacher un message dans un contenu pour qu'il soit, non seulement
indéchiffrable, mais imperceptible;
Stéganalyse : technique pour déceler la présence d’un message caché
Tatouage : offre des solutions techniques pour faire face aux problèmes de
protection des droits et des copies.

Sécurité de l’information

Dissimulation

Cryptographie Stéganographie Tatouage


Dr. B. DIOUF 4
Défenses logicielles : Cryptographie
Terminologies
Chiffrement : algorithme utilisé pour transformer un texte en clair en texte chiffré.
Déchiffrement : inverse du chiffrement (transformer texte chiffré en texte en clair).
Clé : secret partagé utilisé pour chiffrer le texte en clair en texte chiffré et pour
déchiffrer le texte chiffré en texte en clair.
Cryptographie : ensemble des méthodes qui permettent de chiffrer et de déchiffrer
un texte en clair afin de le rendre incompréhensible pour quiconque n'est pas en
possession de la clé à utiliser pour le déchiffrer.
Cryptanalyse : art de révéler le texte en clair sans connaître la clé.
Un crypto-système est constitué
des ensembles finis de messages, de cryptogrammes et de clés
d'une application d'encryptage
∶ × →
et d'une application de décryptage
∶ × →
telles que, pour tout ∈ et ∈
( ( , ), ) =
Dr. B. DIOUF 5
Cryptographie : méthodes classiques
Deux grands principes (types ou classes) de chiffrement (ou cryptage):
le cryptage symétrique qui utilise une même clé partagée et
le cryptage asymétrique qui utilise deux clés distinctes.
Deux méthodes (ou approches) de cryptage :
Transpositions qui mélangent l'ordre des symboles contenus dans le message et
substitutions qui remplacent un symbole par un autre.
substitution simple ou mono-alphabétique : consiste à remplacer chaque lettre du
texte clair par une lettre, un signe ou un nombre.
substitution poly-alphabétique : consiste à changer une lettre par une autre, mais
cette dernière n'est pas toujours là même.
Multitudes de variantes basées sur ces deux approches, plus complexes, plus ou
moins efficaces.

Dr. B. DIOUF 6
Cryptographie symétrique : méthodes classiques
Substitution mono-alphabétique : Chiffre de César (ou chiffrement par décalage)
Une des premières techniques de cryptographie alphabétique proposé par Jules
César.
Chiffre avec un algorithme (substitution) et une clé
Rang du décalage alphabétique = 3 : la lettre A est remplacée par D, B par E…
Le Chiffre de César est considéré comme le plus ancien algorithme de chiffrage par
substitution.

Exemple :
Ici le message : CECI EST UN MESSAGE A CRYPTER
est crypté en FHFL HVW XQ PHVVDJH DUBSWHU
puis décrypté en : CECI EST UN MESSAGE A CRYPTER
Dr. B. DIOUF 7
Cryptographie symétrique : méthodes classiques
Substitution mono-alphabétique : Chiffre de César
Nombreuses variantes : exemples :
remplacer chacune des lettres du message par un nombre correspondant à sa
position dans l'alphabet (A par 0, le B par 1, …, Z par 25).
Ou changer de rang : exemple utilisé sur Internet algorithme ROT13
o décale les lettres d’un rang de 13.
o Son rôle : dissimuler l’information claire à une détection de clair simple (œil, logiciel
de recherche de mots clés, filtrage de proxy…).
o déchiffrement : même algorithme que chiffrement [M=ROT13(ROT13(M))].
Remplacer une lettre par n'importe quelle autre lettre de l'alphabet.

Exercice d’application:
a) Par exemple, avec une clé de cryptage égale à 3 le mot CHAMPION est codé par FKDPSLRQ.
b) Avec la même clé de cryptage, crypter votre prénom et décrypter le mot WURXYH.
c) Décrypter le texte suivant sachant que la clé de codage est 10 :
EBQOXD OVSWSXOB VK MSLVO.
d) Sachant que le texte en clair suivant : RENDEZ VOUS RUE DE LA PAIX donne :
MZIYZU QJPN MPZ YZ GV KVDS, déterminer la clé de cryptage.
a) Décrypter le texte suivant en supposant que le mot "ENNEMI" y figure :
STYWJ JSSJRN IJ YTZOTZWX JXY IJ WJYTZW
Dr. B. DIOUF 8
Cryptographie symétrique : méthodes classiques
Substitution mono-alphabétique : Cryptage affine
Chiffrement : à chiffrer chaque lettre, remplacer le nombre initial par nombre :
= , avec , ∈ , et ! , ".
Clé = #, $
Déchiffrement : remplacer par nombre :
%"
& , avec #%' inverse de # modulo 26.

Exercice d’application:
La clé (a;b) = (3;7)

a) Coder votre prénom avec la clé (3;7)


b) Décrypter la phrase RXF HPJJF avec la clé (3;7)
c) On prend maintenant pour clé (5;7). Coder alors le mot ENTIER. Quel problème
apparaît dans ce codage ?
Dr. B. DIOUF 9
Cryptographie symétrique : méthodes classiques
Substitution mono-alphabétique :
Méthodes de cryptanalyse : occurrence des lettres
BQPSNRSJXJNJXLDPCLDLPQBE_QRKJXHNKPKS
JPJIKSPUNBDKIQRBKPQPBQPZITEJQDQBTSKPEL
NIUNPHNKPBKPCKSSQWKPSLXJPSNVVXSQCCKD
JPBLDWPXBPSNWXJPGKPJKDXIPZLCEJKPGKSP
SJQJXSJXHNKSPGPLZZNIIKDZKPGKSPGXVVKIKD
JKSPBKJJIKS
Comment déchiffrer ce message?

Hypothèses:
Chaque lettre est chiffrée de la
même façon
Certaines lettres sont utilisées
plus souvent dans une langue
donnée

Dr. B. DIOUF 10
Cryptographie symétrique : méthodes classiques
Substitution mono-alphabétique :
Méthodes de cryptanalyse : occurrence des lettres

Dr. B. DIOUF 11
Cryptographie symétrique : méthodes classiques
Substitution mono-alphabétique :
Méthodes de cryptanalyse : occurrence des lettres

Dr. B. DIOUF 12
Cryptographie symétrique : méthodes classiques
Substitution mono-alphabétique :
Méthodes de cryptanalyse : occurrence des lettres

Exercice : Décrypter le message


BKSMAMZCZMTFY KF OKATOCFZ ZHKY CYZIAMKIYKUKFZ AK UKYYCLK ATOK RTIY CRKP BHCFADM
IF XCY OKAMYMB RKHY SC YTSIZMTF BMFCSK OCFY AKZZK CAZMRMZK UCZDKUCZMGIK CI SCX.
Analyse fréquentielle d'un texte simple : http://www.cryptage.org/outil-crypto-frequences.html

Dr. B. DIOUF 13
Cryptographie symétrique : méthodes classiques
Substitution mono-alphabétique :
Autre cryptanalyse : fréquence des bigrammes
les plus fréquents en français : es le en de re nt on er te se et el qu an ne ou ai
Exemple : cryptanalyse du chiffre affine
1. Etablir la fréquence de chaque lettre du texte chiffré, par analyse de fréquence.
HGAHY RAEFT GAGRH DGAGM OEHIY RAAOT ZGAGJ GKFDG AZGSB INNTG KGRHE NNIRG
On dénombre 12 fois G et 8 fois A.
2. Ensuite dériver les équations correspondantes.
hypothèse : E, A, S, I, N: lettres plus fréquentes et bigramme ES est plus fréquent que EA

⟶1⟹3 1 4 ⟶ 6 ⟹ 3 4 6
Il en découle que :
4⟶5⟹3 4 5 18 ⟶ 0 ⟹ 3 18 0

3. On peut maintenant résoudre les équations pour retrouver # et $ ( = # $ () 26)

4# $ ≡ 6 () 26 # 7
3 4 6, 3 18 0 ⟹ ⟹ 14# ≡ &6 () 26 ⟹$ 4
18# $ ≡ 0 () 26

4. La fonction de déchiffrement est donc la suivante : 15 ∗ & 4 () 26.


Et donc le message est :
TESTONS A PRESENT LES EQUATIONS SUR DES EXEMPLES DE CHIFFREMENT AFFINE
Dr. B. DIOUF 14
Cryptographie symétrique : méthodes classiques
Substitution poly-alphabétique : Chiffre de Vigenère
Idée : appliquer un César à décalage variable dépendant d’une clé numérique.
Table de Vigenère : chiffrement se déroule en deux étapes.
Dans un premier temps, on choisit un message, par message
exemple «BONNE ANNEE» et une clé, par exemple
« AMRT »
En-dessous de chaque lettre du message, on écrit chaque
lettre de la clé, en répétant le motif autant de fois que
nécessaire.
Plaintext: BONNE ANNEE
Keyword: AMRTA MRTAM
Dans un second temps, le message correspondant aux
colonnes de la table, et la clé aux lignes
Lettre chiffrée = croisement colonne lettre du message et
ligne lettre de la clé.
Par exemple: ‘A’= croisement colonne ’O’ et ligne ‘M’, …
Ciphertext : BAEGE MEGEQ
Keyword: AMRTA MRTAM
Decryptedtext : BONNE ANNEE

Dr. B. DIOUF 15
Cryptographie symétrique : méthodes classiques
Substitution poly-alphabétique : Masque jetable (chiffre de Vernam ou One Time Pad)
Propriétés de la clé pour garantir une sécurité optimale (incassable).
le nombre de caractères de la clé doit être supérieur ou égal à celui du message ;
les caractères de la clé doivent avoir été choisis de manière aléatoire ;
chaque clé ne doit être utilisée qu'une seule fois.
Si elles sont respectées à la lettre, la sécurité garantie est absolue.
Exemple :
Message de 4 lettres : ZERO.
Une clé de 4 lettres au hasard : JRVG.
On attribue ensuite une valeur différente à chaque lettre de l'alphabet : 'A' vaut 0, 'B' vaut 1,
'C' vaut 2, etc. jusqu'à 'Z'=25.
Chiffrement : :;<<=; >?33=é; :;<<=; ;AA#B; :;<<=; Cé () 26
Déchiffrement : :;<<=; éD>?33=é; :;<<=; >?33=é; & :;<<=; Cé () 26

Chiffrement : Déchiffrement :
Z + J = 25 + 9 = 34 - 26 = 8 = I I - J = 8 - 9 = -1 + 26 = 25 = Z
E + R = 4 + 17 = 21 = V V - R = 21 - 17 = 4 = E
R + V= 17 + 21 = 38 – 26 = 12 = M M - V = 12 - 21 = -9 + 26 = 17 = R
0 + G= 14 + 6 = 20 = U U - G = 20 - 6 = 14 = O

Texte chiffré : IVMU Dr. B. DIOUF


Texte déchiffré : ZERO 16
Cryptographie symétrique : méthodes classiques
Substitution poly-alphabétique : Chiffrement par substitution polygramme
Chiffrer par groupe de E lettres (ex: Hill et Playfair par digramme)
Chiffre de Hill : chiffrement
Les lettres sont d’abord remplacées par leur rang dans l’alphabet.
Les lettres F' et FG deviennent ' et G .
K" L" K" ≡ L" L

K ! L K ≡ !L" L

a, b, c et d sont des entiers positifs et la matrice doit être inversible dans HGI .
Taille n’est pas fixée à 2; dépend du nombre de lettres à chiffrer simultanément.
Exemple de chiffrement :
Matrice 9 4 et Message : je vous aime
5 7
On remplace les lettres par leur rang dans l’alphabet (a=1, ...e=5, …, j=10, …)
o ' ≡ (9 ∗ 10 4 ∗ 5) ()26 110 ()26 6
o G ≡ 5 ∗ 10 7∗5 ()26 85 ()26 7
On fera de même avec les 3e et 4e lettres, 5e et 6e, etc. On obtient :

Dr. B. DIOUF 17
Cryptographie symétrique : méthodes classiques
Substitution poly-alphabétique : Chiffrement par substitution polygramme
Chiffre de Hill : déchiffrement
L" %" K" %"

" &
L K
! ! % ! &!

Cette matrice doit être l’inverse de la matrice de chiffrement (modulo 26).


Exemple de déchiffrement :
%'
9 4 ' 7 &4 %' 7 &4
= () 26 43 () 26
5 7 MN &5 9 &5 9
%' %'
Comme pgcd 43, 26 1, 43 existe dans HGI et 43 23.
%'
9 4 7 &4 161 &92 5 12
23 () 26 () 26 () 26
5 7 &5 9 &115 207 15 25
Soit le message "FGXGE DSPGV" à déchiffrer : (F=10, G=5, …)
o F' ≡ 5 ∗ 6 12 ∗ 7 ()26 114 ()26 10
o FG ≡ 5 ∗ 6 25 ∗ 7 ()26 265 ()26 5
Il fera de même avec les 3e et 4e lettres, 5e et 6e, etc. Il obtiendra:

Dr. B. DIOUF 18
Cryptographie symétrique : méthodes classiques
Substitution poly-alphabétique : Utilisation d’un OU exclusif (XOR)
Appliquer un « OU exclusif » (XOR) entre le texte à chiffrer et la clé.
L'opération logique XOR ne retourne 1 que si les deux bits comparés sont différents.
Implémentation :
1. On procède caractère par caractère,
2. (message ⨁ clé) = cipher Ex : (Prénom + Nom) = Message chiffré
3. Conversion en binaire : B = h42 = 66 : D = h44 = 68
4. (B = 01000010) ⨁ (D = 01000100) = (0E = 00001110)
5. 14 = 0E (shift out) ⟹ on remplace par 0E.
Les caractères non affichables sont remplacés par leur code en hexadécimal.
Processus est réversible : si on rechiffre un texte déjà chiffré, avec la même clé, on
obtient le texte en clair.

Dr. B. DIOUF 19
Cryptographie symétrique : méthodes classiques
Chiffrement par transposition
Les transpositions consistent à mélanger les symboles ou les groupes de symboles
d’un message clair suivant des règles déterminées par la clé de chiffrement.
Les symboles du message demeurent inchangés, mais leur ordre est permuté.
Système simple, mais peu sûre pour de très couts messages.
Lorsque le nombre de lettres croît, il devient de plus en plus difficile de retrouver le
texte original sans connaître le procédé de brouillage.

Dr. B. DIOUF 20
Cryptographie symétrique : méthodes classiques
Chiffrement par transposition
Ttransposition rectangulaire :
Ecrire le message dans les lignes de la grille rectangulaire sen fonction de la taille de la clé,
puis arranger les colonnes de cette grille selon la clé (l’ordre de lecture les colonnes).
Après avoir rempli la grille, s’il reste des cases vides, on peut les remplir avec des nulles
(selon les désirs des correspondants).
Exemple :.
K = 4 x 4, lecture des colonnes 2-4-1-3
M = INFORMATIQUES
1 2 3 4
I N F O
R M A T
I Q U E
S X X X

D’où le message chiffré est


C = NMQXOTEXIRISFAUX

Dr. B. DIOUF 21
Cryptographie symétrique : méthodes classiques
Chiffrement par transposition
Transposition rectangulaire :
Écriire la clé sur la première ligne de la grille rectangulaire;
écrire le message dans les lignes suivantes de la grille rectangulaire,
puis arranger les colonnes de cette grille selon la clé (le rang des lettres dans l’alphabet
donne l’agencement des colonnes).
Exemple :
K = UADB, p = 4
M = INFORMATIQUES

A B D U
U A D B
N O F I
I N F O
M T A R
R M A T
Q E U I
I Q U E
X X X S
S X X X

D’où le message chiffré est


C = IRISOTEXNMQXFAUX

Dr. B. DIOUF 22
Cryptographie symétrique : méthodes classiques
Chiffrement par transposition
Transposition par carré polybique (Polype) :
Tableau à deux entrées pour représenter chaque lettre par un nombre :

SECRET : 43 15 13 42 15 44 SECRET : 13 15 24 21 15 14

Dr. B. DIOUF 23
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : principe
Clé privée (ou algorithme) partagée entre les deux parties communicantes.
Même clé sert à crypter et à décrypter les messages.
Avantages : chiffrement efficace (longueurs de clés de 64 ou 128 bits suffisantes), rapide
et peu gourmand en puissance de calcul.
Difficulté : trouver un moyen sécurisé pour communiquer la clé aux deux entités.
Les risques de pertes et de vols sont aussi à considérer, il faudra donc la renouveler
souvent.

Choix de la clé secrète : souvent réduit à un mot de passe alphanumérique.


Indication : choisir un mot de passe complexe n’appartenant à aucun dictionnaire.

Dr. B. DIOUF 24
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : Modes de chiffrements
Deux modes de chiffrements utilisés par les algorithmes contemporains :
Cryptages par blocs : chiffrent des blocs clairs de taille fixe généralement identique à la taille de
la clé (128 ou 256 bits)
Cryptages par flot en continu (stream) : chiffrent les octets au fur et à mesure sans contrainte de
taille.
On distingue plusieurs approches dont les plus communes sont :

Dr. B. DIOUF 25
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : Modes de chiffrements
Mode par bloc : Electronic Code Book (ECB)
Chaque bloc clair est codé par le même bloc de chiffrement :
deux blocs clairs identiques produisent deux blocs chiffrés également identiques.
Il sera possible de détecter des motifs répétés, voir d’inter-changer ou de modifier ces
blocs.
Avantage : calcul simultané et rapide des blocs chiffrés.

DU = V U U = V DU

Chiffrement Déchiffrement
Dr. B. DIOUF 26
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : Modes de chiffrements
Mode par bloc : Cipher Block Chaining (CBC)
Plus efficace que ECB puisque qu’il utilise le bloc chiffré précédent pour xoriser le bloc
clair suivant avant son propre chiffrement.
Inconvénient : risque de propagation d’erreur ; une erreur affectant un bloc reçu se
répercutera sur le déchiffrement des blocs suivants.
De plus le calcul doit être réalisé bloc par bloc.
On applique au premier bloc un IV (Vecteur d’Initialisation) choisi de manière aléatoire et
transmis avec le message chiffré.

D%' = WX D%' WX
DU = V U ⨁DU%' U V DU ⨁DU%'

Chiffrement Déchiffrement
Dr. B. DIOUF 27
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : Modes de chiffrements
Mode par flot ou en continu :
Utilise un générateur de bits pseudo-aléatoire qui xorise les bits du message clair.
Utilisé entre autre par l’algorithme RC4.
Ces algorithmes sont en général coûteux et dépendent des conditions d’utilisation du
chiffre dans la liaison.

Dr. B. DIOUF 28
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : Modes de chiffrements
Mode par flot ou en continu : Cipher Feedback (CFB) Mode
Cryptage effectué bit-à-bit sans attendre la réception complète des données à
crypter : c'est le principe des "stream-ciphers ».
Performance :
le déchiffrement CFB peut être parallélisé et non le chiffrement CFB.
Le chiffrement et le déchiffrement utilisent tous deux la fonction V .
Résistance aux erreurs de transmission :
Si un bloc DU est modifié, seul le bloc U et quelques autres seront modifiés.
Sécurité :
le mode CFB est vulnérable aux attaques actives.

D%' = WX D%' = WX
DU = U⨁ V DU%' U = DU ⨁ V DU%'

Chiffrement Déchiffrement
Dr. B. DIOUF 29
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : Modes de chiffrements
Mode par flot ou en continu : Output Feedback (OFB) Mode
Si la valeur de IV a été convenue à l’avance, c’est un mode sans expansion
Performance :
Ni le chiffrement, ni le déchiffrement ne peut être parallélisé.
Le chiffrement et le déchiffrement utilisent tous deux la fonction V.
Résistance aux erreurs de transmission.
Si un bloc DU est modifié, seul le bloc U et quelques autres seront modifiés.
Si quelques bits sont perdus par la transmission, toute la fin du message est perdue.
Sécurité :
le mode CFB est vulnérable aux attaques actives.

A%' = WX AU = V AU%'

DU = U ⨁AU

U DU ⨁AU

Chiffrement ou déchiffrement en mode OFB


Dr. B. DIOUF 30
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : Modes de chiffrements
Mode par flot ou en continu : Counter (CTR) Mode
Le mode Counter (CTR) est similaire au mode OFB, avec une variation.
Il utilise des numéros de séquence appelés counters comme entrées de l'algorithme.
En général, une constante est utilisée comme valeur de compteur initiale et est
incrémentée (habituellement de 1) pour chaque itération.
Valeur IV convenue à l’avance, et calcule le flot V (WX), V (WX 1), V (WX + 2), ... qui
sert à chiffrer le message par ou exclusif.

AU = V WX + ?

DU = U ⨁AU

U = DU ⨁AU

Chiffrement ou déchiffrement en mode CTR


Dr. B. DIOUF 31
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : Modes de chiffrements
Exercice d’application:
Soit M un message divisé en blocs {x0, x1, x2, …, xp-1} chacun de taille n bits et soit K une
clé de même taille que les blocs (n bits). Soit {c0, c1, c2, …cp-1} les cryptogrammes des blocs
obtenus en appliquant la clé K aux blocs. Le chiffrement des blocs se fait selon le schéma
suivant :
C-1= IV (valeur initiale) ; pour j de 0 à p-1, cj=EK(cj-1⊕ xj)
1. La fonction EK est inversible et son inverse est DK. Montrer que l’opération de
déchiffrement est xj=cj-1⊕DK(cj) (rappel : A⊕ ⊕A=0 ; A⊕ ⊕0=A, A⊕ ⊕B= B⊕ ⊕A)
2. Peut-on chiffrer un bloc quelconque du message M sans chiffrer les blocs qui le précèdent
? Expliquer ?
3. Peut-on déchiffrer un bloc quelconque cj sans déchiffrer les blocs qui le précèdent ?
Expliquer?
4. Peut-on déchiffrer un bloc cj en l’absence des autres blocs chiffrés ? Expliquer ?
5. Prenons le cas où EK(x)=DK(x) =K⊕ ⊕x. Supposons qu’un attaquant a pu récupérer deux
blocs consécutifs (xj-1,xj) ainsi que leurs cryptogrammes correspondants (cj-1,cj). Montrer
que cet attaquant peut en déduire la clé de chiffrement K.

Dr. B. DIOUF 32
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : algorithmes
Algorithmes de chiffrement symétrique les plus utilisés :
DES (Digital Encryption Standard) : avec des clés de 64 bits seulement et la puissance de calcul
actuelle, sa robustesse est mise en cause ;
AES (Advanced Encryption Standard) : utilise des clés de 128 bits, le plus efficace aujourd'hui
compte tenu des faibles ressources de calcul nécessaires.

Dr. B. DIOUF 33
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : DES (Data Encryption Standard)
Crée par IBM et adopté par les services de renseignement américain.
Particularités :
haut niveau de sécurité (en son temps),
complètement spécifié et facile à comprendre,
sécurité indépendante de l’algorithme lui-même,
disponible à tous, par le fait qu’il est public,
adaptable à diverses applications (logicielles et matérielles),
rapide et exportable,
repose sur une clé relativement petite, qui sert à la fois au chiffrement et déchiffrement,
facile à implémenter.

Dr. B. DIOUF 34
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : DES
Clef de longueur de 64 bits (8 caractères) dont seulement 56 bits sont utilisés.
L’entière sécurité de l’algorithme repose sur les clefs puisque l’algorithme est parfaitement
connu de tous.
La clef de 64 bits est utilisée pour générer 16 autres clefs (K’) de 48 bits chacune qu’on
utilisera lors de chacune des 16 itérations du D.E.S.
Le codage des blocs repose sur une succession d’opérations (en 3 étapes):
1. Permutation initiale;
2. Calcul médian (16 itérations) : application d’un algorithme complexe en fonction de la clé;
o Blocs de 64 bits sont découpés en demi-blocs et chacun subit une série de plusieurs.
o K’ : sous-clé dérivée de la clé de chiffrement et est différente pour chaque tour.
o F : fonction assurant une opération non linéaire de substitution sur le bloc d’entrée.
o La sortie de cette fonction est xorisée avec le premier demi-bloc.
3. Permutation finale

Dr. B. DIOUF 35
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : DES
1. Permutation initiale : des 64 bits du bloc d’entrée

Le premier bit sera le bit 58, le second le bit 50, etc.

2. Calcul médian : division en 2 blocs (L et R).


[
16 itérations (application fonction F):
:U = ZU%' \U :U ZU
ZU = :U%' ⨁[ ZU%' , U :U $' … $NG
U 1 ,? ZU $NN … $IM

3. Permutation finale : permutation inverse.

Dr. B. DIOUF 36
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : DES

[ Progression de la puissance des ordinateurs


a causé la mort du DES.
DES n’est plus jamais utilisé lorsque la
sécurité demandée est forte (utilisation
[ militaire, documents secrets, etc.).
Amélioration nécessaire

Dr. B. DIOUF 37
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : 3DES
Faiblesses liées à la taille de la clé de DES ont conduit à une version plus robuste triple DES
(DES3) = enchaînement de 3 DES successifs avec 3 clés différentes.
Il existe différentes approches de cette concaténation

= N, G, ( ' , F) F= ', G, ( N, )

Il était très robuste contre toutes les attaques faisables connues.


Cependant, il est beaucoup plus lent que le DES car on triple les opérations.

Dr. B. DIOUF 38
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : AES (Advanced Encryption Standard)
AES ou Rijndeal (Rijmen et Deamen) issu d’un concours international NIST.
3DES demeure toutefois une norme acceptée aux U.S.A.
Cahier des charges : critères de sélection:
La sécurité générale,
Différents participants au concours AES
Le coût en terme de calculs (rapidité),
La simplicité de l’algorithme et ses facilités
d’implémentation,
Une lecture facile de l’algorithme, puisqu’il
est destiné à être rendu public,
La résistance aux attaques connues,
Flexibilité/Portabilité : destiné à servir dans
les cartes à puces, processeurs 8 bits peu
puissants et processeurs spécialisés pour
chiffrer des milliers de communications.
Techniquement, le chiffrement doit se faire
par blocs de 128 bits, les clés comportant
128, 192 ou 256 bits.
Rijndael et RC6 étant les meilleurs.
NIST (National Institute of Standards and Technology)
Dr. B. DIOUF 39
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : AES ou Rijndeal
Le choix : Rijndael
A la suite de nombreux tests, c’est finalement Rijndael qui est choisi, et est ainsi devenu le
remplaçant officiel du DES.
Il possède les propriétés suivantes :
Plusieurs longueurs de clef et de bloc sont possibles : 128, 192, ou 256 bits ;
Nombre de cycles (rondes) varie (10 à 14) en fonction de la longueur des blocs et des clés;
Structure générale ne comprend qu’une série de transformations/permutations/sélections ;
Beaucoup plus performant que le DES ;
Facilement adaptable à des processeurs de 8 ou de 64 bits ;
Parallélisme peut être implémenté.

À chaque ronde, quatre transformations sont


appliquées :
1. substitution d’octets dans le tableau d’état;
2. décalage de rangées dans le tableau d’état;
3. déplacement de colonnes dans le tableau d’état (sauf
à la dernière ronde);
4. addition d’une "clef de ronde" qui varie à chaque
ronde

Dr. B. DIOUF 40
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (ou à clé privée) : AES ou Rijndeal
Avantages et limites
Les principaux avantages sont :
des performances très élevées,
la possibilité de réalisation en "Smart Card" avec peu de code,
la possibilité de parallélisme,
il ne comprend pas d’opérations arithmétiques : uniquement des décalages et des XOR,
il n’utilise pas de composants d’autres cryptosystèmes,
il n’est pas fondé sur des relations obscures entres opérations,
le nombre de rondes peut facilement être augmenté si c’est requis,
il ne possède pas de clés faibles,
il est résistant à la cryptanalyse différentielle et linéaire.
Il possède pourtant quelques inconvénients et limites :
code et tables différents pour le chiffrement et déchiffrement,
déchiffrement plus difficile à implanter en "Smart Card",
dans une réalisation matérielle, il y a peu de réutilisation des circuits de chiffrement pour effectuer le
déchiffrement.
Attaques
AES sensible à certaines attaques par canal auxiliaire, n’impliquant pas directement l’algo.
il est fort probable qu’à moyen terme, l’AES soit mis à mal.
Dr. B. DIOUF 41
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (à clé privée) : IDEA (International Data Encryption Algorithm)
Proposé en 1992 pour remplacer le DES.
Utilise une clé de 128 bits
Réalise un chiffrement par blocs de 64 bits, en opérant 8 rondes d'une même fonction
Utilise seulement 3 opérations (pas de permutations):
Ou exclusif (XOR).
Addition modulo 2'I .
Multiplication modulo 2'I 1.
Particulièrement adapté aux réalisations logicielles (même sur processeurs 16 bits).
IDEA constitue la partie "cryptographie à clé secrète" de PGP.

Dr. B. DIOUF 42
Cryptographie symétrique : méthodes modernes
Cryptage symétrique (à clé privée) : Principaux algorithmes

Problème avec le cryptage symétrique : partage sécurisé de la clé


Dr. B. DIOUF 43
Cryptographie asymétrique
Cryptage asymétrique
Le cryptage asymétrique utilise deux clés différentes pour chaque utilisateur :
la première est privée et n'est connue que de l'utilisateur qui a généré les clés ;
la deuxième est publique et peut être transmise sur Internet.
Les clés publique et privée sont mathématiquement liées par l'algorithme de cryptage de
telle manière qu'un message crypté avec une clé publique ne puisse être décrypté
qu'avec la clé privée correspondante et qu'il est impossible de déduire la clé privée à
partir de la clé publique.
Une clé est donc utilisée pour le cryptage et l'autre pour le décryptage.
Principal avantage: il résout en partie le problème du transfert de la clé
En revanche, il est plus coûteux en termes de temps de calcul et nécessite des tailles de
clé plus importantes (couramment 1 024 ou 2 048 bits).

Dr. B. DIOUF 44
Cryptographie asymétrique
Cryptage asymétrique
L'algorithme de chiffrement asymétrique le plus courant est l'algorithme RSA (Rivest,
Shamir, Adleman).
L'algorithme EIGamal : basé sur les logarithmes discrets. Il est également très utilisé pour
le chiffrement et la signature.
Le programme complet de cryptographie à clé publique le plus connu est PGP (Pretty
Good Privacy).
Le format OpenPGP est le standard ouvert de cryptographie issu de PGP.

Dr. B. DIOUF 45
Cryptographie asymétrique
RSA : fondé sur la difficulté de factoriser des grands nombres qui sont le produit de deux
grands nombres premiers.
Multiplier deux grands nombres premiers est une fonction à sens unique:
Il est facile de multiplier deux nombres pour obtenir un produit,
mais difficile de factoriser ce produit et de retrouver les deux grands nombres premiers.
Algorithme RSA
Choisir deux nombres premiers et ^, les deux étant plus grands que 10'__ .
Calculer E = ` a b (E est le modulus) et c E = (` & 1) · (b & 1) (fonction d’Euler)
Choisir e aléatoire premier avec c E (`BD) ;, c E 1).
Trouver tel que : ; ∗ ) 1 () c E (c-à-d ) ; %' () c E )
Clé publique : (E, ;).
Clé privée : (E, )) ou (`, b, )) si on désire garder ` et b.
Chiffrement:
f
L'expéditeur crée le texte chiffré D à partir du message : D () E
Déchiffrement:
Le destinataire reçoit D et effectue le déchiffrement : D g () E

c
c
Dr. B. DIOUF 46
Cryptographie asymétrique
RSA :
Exemple : procédé de chiffrement /déchiffrement :
Soit ` = 3 et b = 11,
on a donc E = ` ∗ b = 33;
Ainsi, c(E) = ` − 1 ∗ b − 1 = 2 ∗ 10 = 20;
On choisit aléatoirement ; = 3, qui n'a pas de facteur commun avec 20;
On cherche ) = ; %' () (20), soit ) = 7.
Si le texte à chiffrer est : "ASSEZ" en codant chaque lettre avec son numéro alphabétique :

Dr. B. DIOUF 47
Cryptographie asymétrique
RSA :
Pour un cryptanalyste, retrouver la clef privée à partir de la clef publique nécessite de
connaître c E = ` & 1 b − 1 = E + (` + b) + 1, donc de connaître ` et b.
Pour cela, il doit factoriser le grand nombre E.
Donc E doit être suffisamment grand pour que cela ne soit pas possible dans un temps
raisonnable par rapport au niveau de sécurité requis.
Actuellement, la longueur du module E varie généralement de 512 à 2048 bits suivant les
utilisations.
Compte tenu de l'augmentation des vitesses de calcul des ordinateurs et des avancées
mathématiques en matière de factorisation des grands nombres, la longueur minimale
des clefs doit augmenter au cours du temps.

Dr. B. DIOUF 48
Cryptographie asymétrique
Echange de clès: 2 méthodes pour résoudre l'échange de clé symétrique
Procédure :
on chiffre le message avec une clé symétrique,
on chiffre la clé symétrique avec la clé publique du destinataire,
on joint la clé symétrique chiffrée au message,
le destinataire déchiffre la clé symétrique avec sa clé privée, puis le message avec la clé
symétrique qu'il peut utiliser à son tour pour envoyer des messages chiffrés ;

Principale faiblesse : la clé


symétrique cryptée est
transmise sur le réseau et
donc susceptible d'être
interceptée et déchiffrée;
Dr. B. DIOUF 49
Cryptographie asymétrique
Echange de clès
Echange Diffie-Hellman (DH) (notamment utilisé dans le protocole SSH)
Clé symétrique générée par les deux extrémités; pas nécessaire de la transmettre.
Procédure :
Alice et Bob ont choisi un groupe de nombres et une génératrice B de ce groupe,
Alice choisit un nombre au hasard #, élève B à la puissance #, et transmet Bh à Bob,
Bob fait de même avec le nombre $ et transmet Bi à Alice,
Alice, en élevant le nombre reçu de Bob à la puissance #, obtient Bih et la clé ,
Bob fait le calcul analogue et obtient Bhi , et donc la même clé .
Il est très difficile d'inverser l'exponentiation dans un corps fini.
MiM (Man in the Middle) ne peut pas découvrir # et $, donc ne peut calculer Bhi .

Dr. B. DIOUF 50
Cryptographie asymétrique
Echange de clès
Echange Diffie-Hellman (DH) (notamment utilisé dans le protocole SSH)
Clé symétrique générée par les deux extrémités; pas nécessaire de la transmettre.
Procédure :
Alice et Bob ont choisi un groupe de nombres et une génératrice B de ce groupe,
Alice choisit un nombre au hasard #, élève B à la puissance #, et transmet Bh à Bob,
Bob fait de même avec le nombre $ et transmet Bi à Alice,
Alice, en élevant le nombre reçu de Bob à la puissance #, obtient Bih et la clé ,
Bob fait le calcul analogue et obtient Bhi , et donc la même clé .
Il est très difficile d'inverser l'exponentiation dans un corps fini.
MiM (Man in the Middle) ne peut pas découvrir # et $, donc ne peut calculer Bhi .

Dr. B. DIOUF 51
Cryptographie asymétrique
Echange de clès: Principaux algorithmes à clef publique

Dr. B. DIOUF 52
Cryptographie
Complexité en temps et en espace

Temps nécessaire pour “casser” un algorithme selon son ordre.

Dr. B. DIOUF 53
Intégrité des informations et Authentification
des utilisateurs
Hachage, Signature et Certificats ?

Dr. B. DIOUF 54
hash
Un algorithme de hachage est une fonction mathématique qui convertit une chaîne de
caractères d'une longueur quelconque en une chaîne de caractères de taille fixe appelée
empreinte ou hash ou encore digest.
Deux propriétés essentielles :
elle est irréversible : impossible de retrouver le message lorsqu'on connaît le hash ;
elle est résistante aux collisions : deux messages différents ne produiront jamais (en théorie) le
même hash.
Ce type de fonction cryptographique est donc conçu de façon qu'une modification même
infime du message initial entraîne une modification du hash.
Si un message est transmis avec son hash, le destinataire peut vérifier son intégrité en
recalculant son hash et en le comparant avec le hash reçu.

Dr. B. DIOUF 55
hash
Exemple :
Les algorithmes de hachage les plus utilisés sont :
MD5 (Message Digest) sur 128 bits et
SHA-1 (Secure Hash Algorithm) par le NIST Input message 264 octets (au max), output sur 160
bits.
D’autres fonctions de hashage :
MD2 (Message Digest 2) : opère sur des bloques de 16 octets, manipule des mots de 8 bits
output 128 bits.
MD4 (Message Digest 4) : manipule des mots de 32 bits, plus performant sur des processeurs 32
bits.

Dr. B. DIOUF 56
Signature
Equivalent électronique de la signature physique des documents papiers.
Elle garantit l'authenticité de l'expéditeur et l'intégrité du message reçu.
Pour signer électroniquement un message, il suffit de le chiffrer avec la clé privée.
Le déchiffrement avec la clé publique correspondante prouve que seul le détenteur de la
clé privée a pu créer la signature.
Pas nécessaire de chiffrer tout un document pour le signer, il suffit de chiffrer son hash.
Le destinataire pourra calculer à son tour le hash avec le même algorithme (le document
aura aussi été transmis) et comparer avec le hash reçu et déchiffré.
La résistance aux collisions de la fonction de hachage permet de garantir que c'est bien ce
document qui a été signé.
L'algorithme DSA (Digital Signature Algorithm) proche de RSA est souvent utilisé pour
générer une signature.

Dr. B. DIOUF 57
Signature
Signature RSA
Echange de clé RSA : Algorithme RSA
Initialisation:
Choisir deux nombres premiers et ^, les deux étant plus grands que 10'__ .
Calculer E = ` · b (E est le modulus) et c E = (` − 1) · (b − 1) (fonction d’Euler)
Choisir e aléatoire tel que ; et c E soient premiers entre eux (c-à-d `BD) ;, c E = 1).
Trouver tel que : ; ∗ ) = 1 ()(c E ) (c-à-d ; = ) %' ()(c E ))
Clé publique : (E, ;).
Clé privée : (E, )) ou (`, b, )) si on désire garder ` et b.
Chiffrement:
L'expéditeur signe le message avec sa clé privée :
g
A = ()(E)
Déchiffrement:
Le destinataire vérifie sa signature avec la clé publique de l’émetteur :

A) = A f ()(E)

Dr. B. DIOUF 58
Signature
Signature EIGamal
Clé publique Fk = ( , B, `)
` nombre premier
B<` (peuvent être partagé par un groupe d’utilisateurs)
= B m () `.
Clé privée 4k = ((ù < `).
secret généré de façon aléatoire et premier avec ` & 1 (`BD)( , ` − 1) = 1)
La signature représentée par (#, $) est calculée comme suit :
# = BV () `
$ tel que = ( # + $) () (` − 1) ($ = %' ( − #) () (` − 1))

Chiffrement Déchiffrement
D=( V
) () ` = (D/# m ) () `

Signature : valide si
=

Dr. B. DIOUF 59
Signature
Exemple 1: Signature RSA
1. Calculer le module E et l’entier c(E) associés aux nombres premiers p = 3 et q = 11.
2. Quel est l’exposant secret de signature associé à l’exposant public e =3?
3. Quelle est la signature de m = 10 ?
4. Montrer que la vérification fonctionne.
5. Répondre aux mêmes questions pour p = 17, q = 23, e = 13; m = 100.

Exemple 2 : Signature El Gamal


On considère la méthode de signature d’El Gamal, avec p = 11; g = 2; clé privé x = 8.
Bob veut envoyer le message RAS à Alice.
1. Justifier la validité du choix de p et g.
2. Calculer la clé publique = B m () `.
3. Calculer la signature du message m = 5 en utilisant la valeur aléatoire k = 9.
4. Vérifier que la vérification fonctionne.
5. Réaliser un protocole de chiffrement à la El Gamal avec votre voisin.
6. Répondre aux mêmes questions pour p = 97; g = 13; x = 45.

Dr. B. DIOUF 60
Authentification
Une autre méthode pour s'assurer de l'identité de l'expéditeur est d'utiliser un
chiffrement symétrique pour chiffrer le hash.
Dans ce cas, il s'agit d'une authentification et non d'une signature.
La clé symétrique utilisée pour vérifier le hash permet aussi de le créer.
Si cette clé n'est connue que par les deux partenaires, alors elle permet d'authentifier
l'expéditeur du message.
NB: la clé n'est pas utilisée directement pour chiffrer le hash mais elle intervient lors du
calcul du hash.
Un hash ainsi généré est appelé un MAC (Message Authentication Code).
Les algorithmes de hachage classiques sont utilisés : HMAC-SHA et HMAC-MD5.

Dr. B. DIOUF 61
Défenses logicielles : certificats
Intérêt des certificats
La transmission de clés publiques peut être sujette à l'interception sur le réseau par le
MiM.
Celui-ci peut:
1. intercepter la clé publique,
2. transmettre une fausse clé publique à l'expéditeur,
3. déchiffrer avec sa fausse clé privée correspondante les messages envoyés par l'expéditeur et
4. les retransmettre au destinataire après les avoir éventuellement modifiés.

Dr. B. DIOUF 62
Certificats
Intérêt des certificats
Le certificat réalise donc l'association d'une clé publique à une entité (personne,
machine...) afin d'en assurer la validité.
Nécessité : le certificat provienne d'un tiers de confiance.
C'est le mécanisme de signature qui est utilisé pour garantir l'identité de ce tiers.

Dr. B. DIOUF 63
Certificats
Intérêt des certificats
Bob ne transmet pas directement sa clé publique à Alice.
Il la transmet d'abord à Trent (1), le tiers de confiance.
Ce dernier dispose lui aussi d'une paire de clés asymétriques, il utilise sa clé privée pour signer le
certificat contenant la clé publique de Bob (2) et lui transmet celui-ci (3).
Bob peut alors envoyer le certificat signé à Alice (5).
Celle-ci, qui a également reçu la clé publique de Trent (4), peut vérifier la signature et être sûre
que la clé publique provient bien de Bob.
Ce mécanisme de certification n'élimine pas complètement les risques :
MiM peut toujours intercepter le certificat ou la clé publique de Trent mais
même s'il intercepte ces deux infos, il ne pourra générer un faux certificat sans la clé privée de
Trent.

Dr. B. DIOUF 64
Certificats
Les certificats sur internet
La génération et la distribution sur Internet des certificats sont organisées autour
d'infrastructures à clé publique PKI (Public Key Infrastructure).
Une PKI est constituée des éléments suivants :
1. une autorité d'enregistrement ou RA (Register Authority)
authentifier chaque nouveau participant.
générer une paire de clés publique/privée ;

2. une autorité de certification ou CA (Certification Authority)


crée et signe les certificats avec
l'identité du participant,
sa clé publique,
une date d'expiration et
sa propre signature.
fournit 1 copie de sa propre clé publique au participant.
Muni de son certificat et de la clé
publique de la CA, le nouveau
participant peut communiquer avec
tous les autres participants certifiés
par la même CA.
RA peut être intégrée à la CA ;
3. annuaire de certificats.
Dr. B. DIOUF 65
Certificats
Les certificats sur internet
Le cas d'utilisation le plus courant est la connexion à un site bancaire ou marchand à
partir de son navigateur. Ce site doit être certifié par une CA.
Les clés publiques des principales CA sont donc mémorisées (et éventuellement
révoquées) dans les navigateurs et ne nécessitent pas d'installation spécifique de la part
des usagers.
Plupart des certificats couramment utilisés sur Internet sont au format X.509 qui est
une norme de cryptographie de l'UIT, dédiée aux PKI.

Dr. B. DIOUF 66
Certificats
Les certificats sur internet
format X.509 : ce fichier transmis par
CA sur l'ordinateur du client contient
la clé publique de l'utilisateur,
la signature de la CA ,
différents champs normalisés qui
donnent
o l'identité de l'émetteur (CA),
o les dates de validité,
o les algorithmes de cryptage utilisés pour
la clé publique et
o la signature.
La signature est réalisée par
hash de tous les champs précédents du
certificat et
un chiffrement de ce hash par la clé
privée de la CA.
User possédant la clé publiq du CA peut
déchiffrer le hash et
le comparer au calcul de son propre
hash du certificat.
Dr. B. DIOUF 67
Protocoles de sécurité
Les protocoles qui utilisent les principes de cryptage, d'authentification ou de certification
permettent de mettre en place des solutions de sécurité pour
différentes architectures de réseau et
en intervenant à différents niveaux du modèle OSI.
Certains protocoles concernent
les VPN avec du cryptage aux niveaux 2 ou 3,
d'autres sont utilisés pour sécuriser les applications en cryptant toutes les données encapsulées
au niveau 7,
d'autres encore sont dédiés à l'authentification de l'utilisateur externe lors de l'accès à un réseau
privé.

Dr. B. DIOUF 68
Protocoles de sécurité: protocoles pour les tunnels VPN
Au niveau 2, les 2 protocoles les plus utilisés pour mettre en place un tunnel VPN sont:
PPTP (Point to Point Tunneling Protocol) proposé au départ par Microsoft et
L2TP (Layer 2 Tunneling Protocol) normalisé par l'IETF (Internet Engineering Task Force) et qui est
le résultat de la fusion
du protocole L2F (Layer 2 Forwarding) de Cisco et
de PPTP.
Au niveau 3, IPSec (IP Security) défini par l‘IETF permet de sécuriser les paquets IP et de
créer un tunnel sur la couche réseau.
Aux niveaux supérieurs, SSL/TLS (Secure Socket Layer/Transport Layer Security) et SSH
(Secure Shell) permettent de chiffrer les messages encapsulés dans des segments TCP et
donc de créer indirectement des VPN de niveau 7.
Le protocole AH (Authentication Header)
Le protocole ESP (Encapsulating Security Payload)
La gestion des clefs pour IPSEC : ISAKMP et IKE
ISAKMP (Internet Security Association and Key Management Protocol)
IKE (Internet Key Exchange)

Dr. B. DIOUF 69
Protocoles de sécurité: protocoles pour les tunnels VPN
Communication à travers un tunnel VPN : rôle des passerelles et gestion des adresses.
Le transfert se déroule en 4 étapes :
1. le PC1 (10.1.0.1) envoie un paquet vers le serveur web (10.2.0.2) comme il le ferait si ce dernier était sur le
même LAN ;
2. le routeur qui joue le rôle de passerelle VPN encrypte le paquet, ajoute l'en-tête VPN et un nouvel en-tête IP
avec les adresses publiques et relaie le paquet ;
3. à l'autre extrémité, le routeur/firewall reçoit le paquet, confirme l'identité de l'émetteur, confirme que le
paquet n'a pas été modifié, décapsule et décrypte le paquet original ;
4. le serveur web reçoit le paquet décrypté.

Dr. B. DIOUF 70
Protocoles de sécurité: protocoles pour les tunnels VPN
PPTP
Une trame PPTP est constituée :
du datagramme IP contenant les données utiles et les adresses IP de bout en bout ;
de l'en-tête PPP nécessaire pour toute connexion point à point ;
d'un en-tête GRE (Generic Routing Encapsulation) qui gère l'encapsulation et permet d'isoler les
flux IP privé et public ;
d'un nouvel en-tête IP contenant les adresses IP source et destination des passerelles VPN (client
et serveur VPN).

B. DIOUF 71
Protocoles de sécurité: protocoles pour les tunnels VPN
PPTP
La méthode standard pour accéder à distance à un réseau non sécurisé, par exemple à
l'Internet via son FAI, est de se connecter par un modem à un serveur d'accès distant RAS
(Remote Access Server) à l’aide du protocole PPP (Point to Point Protocol).
Dans le cas d'un VPN, le serveur RAS devient une passerelle VPN à laquelle on accède par
le protocole PPTP.
Le rôle de PPTP est donc de chiffrer et d’encapsuler, en les faisant passer par un tunnel
crypté, les datagrammes IP dans le cadre d'une connexion point à point.
Avant d'établir le tunnel GRE, une connexion TCP sur le port 1723 est réalisée.
Elle intègre
la négociation des paramètres et
l'authentification de l'utilisateur.

B. DIOUF 72
Protocoles de sécurité: protocoles pour les tunnels VPN
PPTP
Points faibles:
toute la partie négociation de la connexion n'est pas protégée.
De nombreuses implémentations de ce protocole, notamment celles de Microsoft, ont fait
l'objet de découvertes de vulnérabilités et d'incapacité à protéger efficacement les mots
de passe des utilisateurs.
Ce mécanisme offre par conséquent une authentification moins fiable que celle proposée
par IPSec.

B. DIOUF 73
Protocoles de sécurité: protocoles pour les tunnels VPN
IPSec
Ce protocole, lié à IPV4 et IPV6 et essentiellement employé dans les VPN, assure
l'authentification et l'encryptage des paquets IP au travers de l'Internet.
Il intervient donc au niveau 3.
IPSec peut être utilisé pour ne faire que de l'authentification : dans ce cas, l'ajout d'un en-
tête d'authentification AH (Authentification Header) permet de vérifier l'authenticité et
l'intégrité des paquets.
AH ne spécifie pas d'algorithme de signature particulier mais les signatures à l'aide des
fonctions de hachage MD5, SHA-1 et Kerberos sont les plus utilisés.

B. DIOUF 74
Protocoles de sécurité: protocoles pour les tunnels VPN
IPSec
Dans la plupart des applications IPSec, l'enveloppe ESP (Encapsulated Security Payload)
qui permet de chiffrer et d'authentifier les paquets est utilisée.
Le chiffrement ne porte que sur les données encapsulées et le trailer (pas sur les champs
de l'entête et données d'authentification)
L'authentification optionnelle porte sur l'entête ESP et tout ce qui suit, mais pas sur
l'entête IP.
ESP ne spécifie pas d'algorithmes de signature ou de chiffrement particuliers, ceux-ci sont
décrits séparément.
Cependant, la plupart des implémentations supportent les algorithmes de chiffrement
DES et les signatures à l'aide des fonctions de hachage MD5 et SHA-1.

B. DIOUF 75
Protocoles de sécurité: protocoles pour les tunnels VPN
IPSec
Deux modes correspondant à deux architectures sont possibles avec IPSec :
le mode transport qui ne protège (par authentification AH ou chiffrage ESP) que les données des
paquets transmis ;
le mode tunnel dans lequel le paquet entier est protégé (par authentification AH ou chiffrage
ESP) en l'encapsulant dans un nouveau paquet IP.

B. DIOUF 76
Protocoles de sécurité: protocoles pour les tunnels VPN
IPSec
Sur chaque système susceptible d'utiliser IPSec, une base de données nommée SPD
(Security Policy Database) doit être présente. Sa forme précise est laissée au choix de
l'implémentation ; elle permet de préciser la politique de sécurité à appliquer au système.
Une communication protégée entre deux systèmes à l'aide d'IPSec est appelée une SA
(Security Association).
Une SA est une entrée de la SPD, c'est-à-dire un enregistrement contenant des paramètres
de communication IPSec :
algorithmes,
types de clés,
durée de validité,
identité des partenaires.
Pour éviter d'avoir à gérer les clés de cryptage et d'authentification manuellement, IPSec
intègre un protocole d'échange automatique de clé nommé IKE (Internet Key Exchange).
IKE, utilisé dans la phase d'initialisation, négocie une SA (paramètres des clés pour AH ou
ESP) et échange les clés choisies via un certificat (ex: X509 ).

B. DIOUF 77
Protocoles de sécurité: pour sécuriser les applications
SSL/TLS
Le protocole SSL (Secure Socket Layer) a été proposé au départ par Netscape (jusqu'à la
version 2.0) pour permettre des connexions sécurisées sur des serveurs web.
La version 3.0 est standardisée par l'IETF.
TLS (Transport Layer Security), proposé par l'IETF, est la version 3.1 de SSL.
Le protocole TLS n'impose pas de méthodes de chiffrement spécifiques.
SSL intervient au-dessus de la couche transport et peut être utilisé pour sécuriser
pratiquement n'importe quel protocole utilisant TCP/IP (SMTP, POP3, IMAP...) en créant un
tunnel dans lequel toutes les données échangées seront automatiquement chiffrées.

Dr. B. DIOUF 78
Protocoles de sécurité: pour sécuriser les applications
SSL/TLS
Certains protocoles applicatifs ont été spécialement adaptés pour supporter SSL :
HTTPS (HTTP+SSL) est inclus dans tous les navigateurs et permet par exemple de consulter des
comptes bancaires par le web de façon sécurisée ;
FTPS est une extension de FTP utilisant SSL.
SSL/TLS utilise
un cryptage asymétrique par clé publique/clé privée pour
authentifier le serveur (et éventuellement le client) et
échanger la clé maîtresse.
Connue des deux extrémités, la clé maitresse permet un cryptage symétrique efficace des
données pendant toute la durée de la session.

Dr. B. DIOUF 79
Protocoles de sécurité: pour sécuriser les applications
SSL/TLS :
Différentes phases pour l’authentification et la génération de clé maîtresse:
Phase 1: après établissement de la connexion TCP, un 1er dialogue permet de choisir la version SSL et les
types de cryptage qui seront utilisés ;
Phase 2: au cours de ce dialogue, le serveur envoie au client un certificat X509 qui contient la clé
publique du serveur PK (Public Key) signée par une autorité de certification (CA) ; l'usage du certificat
n'est pas obligatoire mais est couramment réalisé ;
Phase 3: le client vérifie le certificat, génère une pré-clé maîtresse PMK (Primary Master Key) et calcule
la clé maîtresse MK à partir de PMK. Le client se sert de PK pour crypter PMK et transmet PMK cryptée
au serveur avec un message indiquant que le chiffrage est effectif côté client (Change Cipher Spec) ;
Phase 4: le serveur reçoit PMK
crypté, la décrypte avec sa clé
privée, calcule à son tour MK et
indique que le chiffrage est effectif
(Change Cipher Spec) ;
Phase 5: le tunnel sécurisé est créé,
toutes les données applicatives
seront cryptées et décryptées avec
la clé symétrique MK.

Pour sécuriser davantage, un


certificat peut aussi être
installé sur le client. Dr. B. DIOUF 80
Protocoles de sécurité: pour sécuriser les applications
SSL/TLS :
Principe de fonctionnement de SSL-Exemple du paiement en ligne

Dr. B. DIOUF 81
Protocoles de sécurité: pour sécuriser les applications
SSH
L'environnement SSH (Secure Shell) s'adresse aux utilisateurs qui souhaitent accéder de
manière sécurisée à des systèmes Linux distants.
Ses composants remplacent des programmes peu sécurisés comme
telnet pour établir à partir d'un terminal une session sur un serveur ou
FTP pour les échanges de fichiers.
La sécurité est garantie par une authentification à l'établissement de chaque connexion et
par l'encryptage des données (y compris les mots de passe).
SSH intervient donc au niveau 7, la connexion TCP est établie sur le port 22.
Une connexion SSH peut également être utilisée pour transporter un autre protocole, par
exemple SMTP. Il s'agit alors de la redirection de port.
Le modèle en couches n'est pas respecté mais le tunnel sécurisé dans lequel les
communications sont chiffrées permet, comme pour SSL, d'encapsuler n'importe quel
dialogue applicatif.

Dr. B. DIOUF 82
Protocoles de sécurité: pour sécuriser les applications
SSH
Deux protocoles de transfert ont été prévus pour fonctionner avec une connexion SSH :
SCP (Secure CoPy), utilisé généralement en mode commande, permet de télécharger des fichiers
de manière sécurisée dans un tunnel SSH ;
SFTP, version SSH de FTP, peut également être utilisée pour les transferts de fichiers. SFTP ne
nécessite pas de clients ou de serveur FTP puisque le transfert se fait par le « shell ».

Dr. B. DIOUF 83
Protocoles de sécurité: pour sécuriser les applications
SSH: différentes phases pour authentification et création de connexion sécurisée SSH
Phase 1: client demande un échange de clé de type Diffie-Hellman ou DH GEX Request (DH Group
EXchange Request) ;
Phase 2: serveur choisit deux nombres B et ` et les transmet au client (DH Key Exchange Reply);
Phase 3: client génère un nombre aléatoire #, calcule 5 = Bh () ` et transmet 5 (DH GEX Init);
Phase 4: serveur génère $, calcule \ Bi () ` et la clé de session 5i () `. Il calcule
également un hash p à partir d'un max d'infos partagées avec le client, signe p avec sa clé privée
RSA. Il transmet \, la signature A de p et la clé publique RSA Host Key (DH GEX Reply) ;

Dr. B. DIOUF 84
Protocoles de sécurité: pour sécuriser les applications
SSH: différentes phases pour authentification et création de connexion sécurisée SSH
Phase 5: le client décrypte A avec la clé publique reçue et compare le résultat avec son propre
calcul de p. Ce mécanisme évite d'avoir recours à un certificat. Le client qui a ainsi vérifié
l'authenticité du serveur peut alors calculer à son tour = 5i () ` ;
Phase 6: après confirmation du client (New Key), le reste des communications est chiffré grâce à
un algorithme de chiffrement symétrique utilisant la clé de session partagée par le client et le
serveur.

Dr. B. DIOUF 85

Vous aimerez peut-être aussi