Académique Documents
Professionnel Documents
Culture Documents
CM3
1.
1/68 NSI Tle générale (spécialité). Hachette.
Le chirement symétrique
Le protocole HTTPS
2/68
Le chirement symétrique
Principe du chirement symétrique
Méthode de construction
Le protocole HTTPS
3/68
Le chirement symétrique
Principe du chirement symétrique
Méthode de construction
4/68
Principe du chirement symétrique
Tous les schémas de chirement utilisés jusque dans les
années 1970 sont dits symétriques, ce qui signie que la
même clef est utilisée pour chirer et pour déchirer.
On les appelle également schémas de chirement à
clef secrète.
Une analogie couramment utilisée est celle du core-fort :
l'expéditeur et le destinataire utilisent un core-fort
partagée pour s'échanger des messages.
Tous deux ont accès à la clef, aussi bien pour déposer des
messages que pour en retirer.
5/68
Principe. . .
Les systèmes de chirement symétrique sont composés
de trois algorithmes :
▶ un algorithme de génération de clef, qui retourne en
sortie une clef secrète K partagée entre les deux
utilisateurs ;
▶ un algorithme de chirement, qui prend en entrée un
message m (secret) et la clef secrète K et renvoie
un message chiré C public ;
▶ un algorithme de déchirement, qui prend en entrée
un message chiré C public et la clef secrète K
et renvoie le message message m secret.
6/68
Principe. . .
Chirement symétrique
7/68
Le système est correct si on a la propriété suivante :
dechiffrement(chiffrement(m,K),K)=m
Il est sûr s'il est impossible de retrouver de l'information
sur m à partir de C sans la connaissance de la clef K.
8/68
Par exemple, le chirement de Vernam (aussi appelé
masque jetable ou one-time-pad ) consiste à combiner
le message clair et la clef à l'aide de la fonction logique
XOR.
Dans ce cas particulier, l'algorithme de déchirement
est le même : il sut de combiner une nouvelle fois le
message chiré et la clef avec le XOR pour retrouver le
message clair.
9/68
Remarque
Le XOR ( ou exclusif en français) est une fonction qui
prend 2 bits en paramètre et qui renvoie 0 s'ils ont la
même valeur et 1 sinon.
C'est l'addition modulo 2 et sa table de vérité est la
suivante :
x y x XOR y
0 0 0
0 1 1
1 0 1
1 1 0
En pratique, on utilise souvent la fonction XOR par octet
et non bit par bit. La fonction XOR s'écrit en Python.
10/68
Shannon a prouvé en 1949 que ce chirement est
inconditionnellement sûr (c'est-à-dire qu'il résiste à
n'importe quel attaquant tout-puissant), sous réserve que
les trois propriétés suivantes soient vériées :
▶ la clef est une suite de caractères au moins aussi
longue que le message à chirer ;
▶ la clef est totalement aléatoire ;
▶ chaque clef (ou masque) n'est utilisée qu'une seule
fois.
11/68
Repère historique
Shannon est un mathématicien américain à l'origine de la
théorie de l'information.
Il a déni la notion d'entropie en théorie de l'information.
L'entropie de Shannon :
▶ mesure la quantité d'information contenue dans un
chier informatique.
▶ permet de quantier le nombre minimum de bits à
utiliser dans un certain nombre d'applications,
comme la compression, l'imagerie ou l'apprentissage
automatique.
12/68
La sécurité (inconditionnelle) vient du fait qu'étant donné
un message chiré, on peut toujours trouver une clef
telle que le chiré puisse correspondre à n'importe quel
message clair.
Bien entendu, l'inconvénient est que cette méthode est
totalement inutilisable en pratique, du fait de la gestion
des clefs.
13/68
Le chirement symétrique
Principe du chirement symétrique
Méthode de construction
Chirement par ots
Chirement par blocs
14/68
Méthode de construction
15/68
Chirement par ots
Dans un chirement par ots, les bits du message clair
sont chirés un à un, en utilisant à chaque fois un bit de
masque, sur le modèle du chirement de Vernam.
Le masque est appelé suite chirante et doit être
généré de façon pseudo-aléatoire (à défaut de
totalement aléatoire) à partir de la clef.
Diverses techniques peuvent être utilisées pour cela, par
exemple celle des registres à décalage à rétroaction linéaire
(LFSR, de l'anglais linear feedback shift register ).
Le chirement par ots le plus utilisé actuellement est
sans doute ChaCha20, par exemple dans les dernières
versions de la TLS (Transport Layer Security ou
Sécurité de la couche de transport ).
16/68
Chirement par blocs
Les chirements par blocs consistent à découper le
message en morceaux de taille xe (les blocs) et à
chirer chaque bloc à l'aide de la clef correspondant au
bloc, dérivée de la clef initiale.
Les chirements par blocs procèdent en général de façon
itérative, en un certain nombre de tours.
Si le chirement est bien construit, la meilleure attaque
connue est la recherche exhaustive de la clef.
Comme on considère actuellement que les schémas de
chirement doivent résister à des attaquants en 2128
opérations, cela impose des clefs de plus de 128 bits.
17/68
Chirement par blocs
(Suite. . .)
18/68
Le fonctionnement d'un tour de AES est assez complexe,
mais dans les grandes lignes, le principe de
fonctionnement est le suivant :
▶ on ajoute d'abord la clef avec le XOR ;
▶ on applique une substitution non-linéaire (appelée
S-box ) à des petits morceaux de bloc pour créer de la
confusion dans le message chiré ;
▶ à l'aide de permutations et d'opération linéaires,
on mélange le résultat obtenu pour diuser la
confusion obtenue à l'étape précédente à tout le bloc.
19/68
Remarque
20/68
Image d'origine, puis chirée avec ECB
Le chirement symétrique
Le protocole HTTPS
22/68
La cryptographie asymétrique pour distribuer des clefs
Problème de la distribution des clefs
Chirement asymétrique et distribution de clefs
Échange de clefs asymétrique
Signature électronique et authentication
23/68
Problème de la distribution des clefs
24/68
Problème de la distribution des clefs
(Suite. . .)
25/68
Problème de la distribution des clefs
(Suite. . .)
27/68
Chirement asymétrique et distribution de
clefs
Dans un système de chirement symétrique, Alice et
Bob doivent s'être mis d'accord sur la clef secrète à
utiliser.
Une conséquence est que seule Alice peut envoyer à Bob
des messages déchirables avec cette clef.
A l'inverse, dans un système de chirement
asymétrique (également appelé chirement à clef
publique), n'importe qui peut envoyer des messages à
Bob, et lui seul pourra les déchirer.
Cela permet de s'aranchir de la mise en accord initiale de
clef.
28/68
Chirement asymétrique. . .
29/68
Chirement asymétrique. . .
Un système de chirement asymétrique vers Bob est
donc composé de trois algorithmes :
▶ un algorithme de génération de clef, qui retourne en
sortie une clef publique pk et la clef privée sk
associée (uniquement envoyée à Bob) ;
▶ un algorithme de chirement qui prend en entrée
un message m secret et la clef publique pk et
renvoie un message chiré C public ;
▶ un algorithme de déchirement qui prend en entrée
un message chiré C public et la clef privée sk
et renvoie à Bob le message clair m secret.
30/68
Chirement asymétrique. . .
Chirement asymétrique
31/68
Chirement asymétrique. . .
32/68
Chirement asymétrique. . .
Les systèmes de chirement asymétrique reposent sur
l'existence de fonctions à sens unique à trappe. Ceci
signie que l'opération de chirement est facile, tandis
que l'opération inverse de déchirement est dicile.
La fonction de chirement est ainsi dite à sens
unique.
Mais Bob doit être en mesure de déchirer les messages
reçus, donc il existe une trappe (construite à partir de la
clef privée connue de lui seul) lui permettant d'inverser
la fonction de chirement pour obtenir la fonction de
déchirement.
33/68
Chirement asymétrique. . .
Cette propriété rend les systèmes asymétriques
vulnérables à des attaquants tout puissants (qui sauraient
retrouver la trappe).
On dit qu'ils sont calculatoirement sûrs, ce qui
suppose qu'ils sont sûrs contre des attaquants ne pouvant
pas dépasser une certaine puissance de calcul.
Une conséquence est que les paramètres utilisés sont
souvent plus grands qu'en chirement symétrique (de
256 bits pour les courbes elliptiques à 2 048 bits pour
RSA).
34/68
Chirement asymétrique RSA
Le système de chirement asymétrique le plus utilisé
actuellement est RSA, inventé en 1978 par Rivest,
Shamir et Adleman. Il exploite les propriétés de
l'arithmétique modulaire de la façon suivante.
Étant donnés un entier n (par exemple n = 77) et un
entier e (par exemple e = 13), il est facile de calculer le
message chiré correspondant à un message clair
(assimilé à un entier m < n) par la formule C ≡ me
mod n.
Par exemple, m = 35 se chire en C = 63.
35/68
En revanche, il est très dicile d'inverser ce procédé en
retrouvant m à partir de C et de la clef publique (n, e).
La fonction m 7→ me mod n est bien à sens unique.
Elle est également à trappe, car si l'on connaît la clef
privée (un entier d, ici d = 77, que l'on peut construire à
partir de e et de la factorisation de n), on est en mesure
de déchirer C à l'aide de la formule m ≡ C d mod n.
Ici, 63 se déchire bien en 35.
36/68
Remarque
37/68
La cryptographie asymétrique pour distribuer des clefs
Problème de la distribution des clefs
Chirement asymétrique et distribution de clefs
Échange de clefs asymétrique
Signature électronique et authentication
38/68
Échange de clefs asymétrique
L'objectif du protocole d'échange de clefs de
Die-Hellman est de permettre à Alice et Bob, sans
avoir jamais échangé d'information, de se mettre d'accord
sur une clef secrète.
Comme RSA, il est basé sur des propriétés d'arithmétique
modulaire.
Pour simplier sa description, on utilise souvent l'analogie
des pots de peinture :
▶ Alice et Bob se mettent d'accord publiquement sur
des paramètres publics, soit la peinture jaune.
39/68
Échange de clefs. . .
▶ Ils possèdent chacun une donnée privée, soit la
peintures orange (respectivement turquoise) pour
Alice (resp. Bob).
▶ Chacun en déduit une donnée publique, soit la
peinture saumon (resp. bleu) pour Alice (resp. Bob)
obtenue en mélangeant la peinture en commun jaune
et la peinture secrète orange (resp. turquoise).
Cette donnée publique obtenue est transmise
publiquement à l'autre.
On suppose que ce mélange est une fonction à sens
unique à trappe : il est facile de mélanger les
couleurs, mais très dicile de les dissocier ensuite,
40/68
même en connaissant les données publiques.
Échange de clefs. . .
41/68
L'analogie des pots de peinture pour l'échange de clefs Die-Hellman
La cryptographie asymétrique pour distribuer des clefs
Problème de la distribution des clefs
Chirement asymétrique et distribution de clefs
Échange de clefs asymétrique
Signature électronique et authentication
43/68
Signature électronique et authentication
44/68
Signature électronique. . .
45/68
Signature électronique. . .
Pour éviter cela, comme dans la vie réelle, Alice peut
signer les messages qu'elle envoie, cette signature étant
publiquement vériable (en particulier par Bob).
Un protocole de signature électronique est composé
de trois algorithmes :
▶ un algorithme de génération de clef, qui retourne en
sortie une clef publique de vérication pk et la clef
privée de signature sk associée (envoyée à Alice) ;
▶ un algorithme de signature, qui prend en entrée un
message m (public ou secret) et la clef sk
(privée) et renvoie une signature S (publique) ;
46/68
Signature électronique. . .
47/68
De même, dans l'échange de clefs de
Die-Hellman, Alice et Bob envoient leur mélange
public (resp. saumon et bleu) accompagné de leur
signature.
Avant d'utiliser le mélange qu'ils reçoivent, ils vérie la
signature pour s'assurer que c'est bien leur interlocuteur
qui a envoyé ce mélange.
48/68
Remarque
49/68
Un concours de standardisation par le NIST (National
Institute of Standards and Technology ) est en cours
(2016-2024) pour trouver des protocoles de chirement
et de signature résistants à un potentiel ordinateur
quantique. Ils sont dits post-quantiques.
50/68
Le chirement symétrique
Le protocole HTTPS
Principe de fonctionnement
Les autorités de certication
Initialisation de la connexion
51/68
Le protocole HTTPS
Principe de fonctionnement
Les autorités de certication
Initialisation de la connexion
52/68
Principe de fonctionnement
53/68
C'est pour cette raison qu'il existe une version sécurisée de
HTTP, nommée HTTPS, qui assure la condentialité
et l'intégrité des données, ainsi que l'authentication
côté serveur.
HTTPS est un protocole hybride qui combine algorithmes
de chirement symétrique et asymétrique
(distribution de clefs) permettant ainsi d'assurer la
sécurité de la communication sur Internet.
54/68
Voici les grandes lignes du mécanisme utilisé :
1. initialisation de la connexion client-serveur :
▶ le client eectue une requête HTTPS vers le serveur,
qui lui envoie en retour un certicat contenant sa clef
publique pour un protocole asymétrique ;
▶ le client et le serveur interagissent à l'aide de ce
protocole asymétrique pour se mettre d'accord sur une
clef secrète K de chirement symétrique ;
55/68
2. échange des données : elles seront toutes chirées
avec la clef K, ce qui garantit la condentialité
de la communication.
Un protocole de MAC (Message Authentication
Code ), non décrit dans ce cours, exploitera également
cette clef pour assurer l'intégrité des données.
56/68
Le protocole HTTPS
Principe de fonctionnement
Les autorités de certication
Exemple de certicat HTTPS
Initialisation de la connexion
57/68
Les autorités de certication
Le point faible du protocole HTTPS est que le client doit
avoir une garantie que la clef publique reçue est bien
celle du serveur.
Pour cela, le serveur fournit une preuve de son identité
dans un certicat d'authentication, qui est délivré
par une autorité habilitée.
Les vérications sont menées par le navigateur du client,
qui met un terme à la connexion en cas de certicat non
valide.
Le certicat fait au minimum apparaître l'identité du
serveur, sa clef publique, la date de validité, l'identité
de l'autorité de certication et sa signature.
58/68
Exemple de certicat HTTPS
Consultons le site Web de l'ANSSI (Agence Nationale de
la Sécurité des Systèmes d'Information).
Achons les informations du site en cliquant sur le
cadenas situé (à gauche) dans la barre d'adresse du
navigateur :
▶ nom de l'autorité émettrice du certicat
▶ dates de validité du certicat
▶ algorithme de chirement utilisé
▶ clef publique
59/68
Le protocole HTTPS
Principe de fonctionnement
Les autorités de certication
Initialisation de la connexion
Initialisation basée sur RSA
Initialisation basée sur Die-Hellman
60/68
Initialisation de la connexion
61/68
Initialisation basée sur RSA
❶ Le serveur possède une clef publique pk de
chirement RSA (certiée par une autorité) ainsi que
la clef privée de déchirement sk associée.
❷ La clef publique pk est envoyée par le serveur au
client.
❸ Le client choisit alors la clef secrète K de
chirement symétrique, la chire avec la clef pk et
envoie le chiré C obtenu au serveur.
Ce dernier peut alors déchirer C grâce à sa clef
privée sk et obtenir K.
62/68
Initialisation de HTTPS basée sur RSA
Initialisation basée sur Die-Hellman
64/68
Initialisation basée sur Die-Hellman
(Suite. . .)
67/68