Chapitre 2 : La sécurité par le chiffrement
III.1) Le chiffrement
Le chiffrement transforme tout ou partie d’un texte dit clair en cryptogramme, message
chiffré ou protégé. Si une communication utilise des dispositifs de chiffrement, les données
sont transmises sous une forme « brouillée », de manière qu’elles ne puissent être comprises
par un tiers
Fig III.1 : Du chiffrement au cryptogramme
Le mécanisme de chiffrement émet un message X sous une forme secrète au moyen d’une clé
K. L’émetteur dispose d’une fonction algorithmique E, qui, à X et K, associe E(K, X). On
utilise l’initiale E pour Encryption. Le récepteur reçoit E(K, X) [message chiffré émis] et le
déchiffre au moyen de sa clé K’ avec sa fonction algorithmique de déchiffrement D, qui à
E(K, X) et K’ associe X. On a alors : D(K’, E (K, X)) = X.
Les fonctions E et D peuvent être secrètes ou publiques. Il en est de même pour les clés K et
K’. L’existence d’un déchiffrement tient à la définition de l’algorithme donnant E et D et à la
méthode produisant et répartissant les clés K et K’. Les algorithmes utilisés ont évolué dans le
temps, les premiers étaient symétriques, les plus récents sont asymétriques.
II.1.1) Chiffrement symétrique
Historiquement, les premiers algorithmes de chiffrement étaient tels que K = K’ et D = E–1.
La clé K, unique, était secrète et l’algorithme du récepteur consistait à faire l’inverse de
l’algorithme de l’émetteur : il suffisait de connaître la clé K. On parle alors de chiffrement
symétrique car il n’y a qu’une clé. Les opérations de l’émetteur et celles du destinataire sont
les inverses les unes des autres.
II.1.1.a) Le problème de l’échange de clés : L’inconvénient d’un système de chiffrement
symétrique aussi sophistiqué soit-il est que la clé K doit être transmise entre l’émetteur et le
récepteur. Dans les années 1970 un chercheur indépendant et excentrique, Whitfield Diffie,
réfléchissait au moyen pour deux utilisateurs du réseau ARPANET d’échanger des courriers
électroniques chiffrés sans se rencontrer physiquement au préalable pour convenir de la clé de
chiffrement qu’ils utiliseraient.
Diffie et Hellman cherchaient une méthode pour convenir d’un secret partagé sans le faire
circuler entre les participants, en d’autres termes une fonction mathématique telle que les
participants puissent échanger des informations dont eux seuls pourraient déduire le secret.
1
Chapitre 2 : La sécurité par le chiffrement
Les caractéristiques souhaitées d’une telle fonction sont la relative facilité de calcul dans le
sens direct, et la quasi-impossibilité de calculer la fonction réciproque. Ainsi, si s est le secret
en clair, F la fonction de chiffrement, c le secret chiffré, D la fonction de déchiffrement, il
faut que c = F(s) soit facile à calculer, mais s = D(c) pratiquement impossible à calculer pour
tout autre que les participants.
II.1.1.b) Mise en œuvre de l’algorithme Diffie-Hellman :
Voici maintenant le protocole d’échange de clés de Diffie-Hellman, illustré par un exemple
avec de petits nombres pour pouvoir faire les calculs à la main. Le protocole repose sur une
fonction de la forme K = WX mod P, avec P premier et W < P. Une telle fonction est très
facile à calculer, mais la connaissance de K ne permet pas d’en déduire facilement X. Cette
fonction est publique, ainsi que les valeurs de W et P. Prenons W = 7 et P = 11, par exemple.
2
Chapitre 2 : La sécurité par le chiffrement
II.1.2) Chiffrement asymétrique à clé publique
La méthode de Diffie et Hellman permet l’échange de clés, mais elle impose une concertation
préalable entre les acteurs. Parfois ce n’est pas pratique. Whitfield Diffie avait eu une autre
idée, pour laquelle il n’avait pas trouvé de solution mathématique appropriée : un système où
l’on utiliserait une clé pour chiffrer et une autre pour déchiffrer.
La clé de chiffrement ne fonctionne que dans un sens, elle permet de créer des secrets mais
pas d’en dévoiler, et elle peut donc être publique, inscrite dans un annuaire ou sur un site
Web.
Fig III.2 : principe du chiffrement asymétrique
3
Chapitre 2 : La sécurité par le chiffrement
Si l’idée du chiffrement asymétrique à clés publiques revient à Diffie et Hellman, la
réalisation de cette idée revient à Rivest, Shamir et Adleman, : ils ont trouvé une solution
mathématique permettant sa mise en œuvre et nommé cette solution de leurs initiales : RSA.
Voyons ce que donne notre exemple. La clé publique de Boris est donc (7, 33). Aïcha veut lui
envoyer un message M, disons le nombre 19. Elle se procure la clé publique de Boris sur son
site Web et elle procède au chiffrement de son message M pour obtenir le chiffré C comme
ceci :
C = P(M) = Me mod n
C = P(19) = 197 mod 33 = 13
Pour obtenir le texte clair T, Boris décode avec sa clé secrète ainsi :
T = S(C) = Cd mod n
T = S(13) = 133 mod 33 = 19
4
Chapitre 2 : La sécurité par le chiffrement
II.2) La signature numérique
En combinant un système de cryptographie et une fonction de hachage, on peut à la fois
garantir l’intégrité du message et son authentification (MAC, Message Authentification
Code). Selon que l’on utilise un système de cryptographie à clé sécrète ou publique on obtient
une signature numérique dite symétrique ou asymétrique.
À titre d’exemple, la séquence d’échanges qui suit permet de chiffrer et de signer un message
à l’aide de l’algorithme RSA :
1. Avec la paire de clés générée (privée/publique), John peut créer une signature
électronique de son message certifiant que c’est bien lui qui a créé le message. Pour ce
faire, John passe le message à transmettre dans une fonction de hachage afin de créer
une empreinte unique du message.
2. John chiffre cette empreinte avec sa clé privée afin d’obtenir la signature électronique
de John pour le message à transmettre. La clé privée de John étant unique et non
diffusée, il est le seul à pouvoir obtenir cette signature.
3. Une fois le message signé, John envoie le message et la signature à Joe. John peut
aussi chiffrer le message avec la clé publique de Joe afin d’assurer la confidentialité
du message.).
4. Pour vérifier la signature électronique de John, Joe fait passer le message reçu dans la
même fonction de hachage que John.
5. En parallèle, il déchiffre la signature de John avec la clé publique de John.
6. Les deux actions précédentes lui permettent d’obtenir deux empreintes, celle du
message reçu et celle du message envoyé par John. Si les deux empreintes sont égales,
c’est le message original écrit par John. Sinon, il y a problème.
Fig III.3 : principe de la signature numérique
5
Chapitre 2 : La sécurité par le chiffrement
II.3) Infrastructure de clés publiques (PKI)
L’un des problèmes de la cryptographie à clef publique est la possible intervention d’une
tierce personne. Lorsque A veut entrer en relation avec B en utilisant un système de
cryptographie à clé publique, il doit demander à B sa clé publique. Cet échange peut être
intercepté par un intrus malveillant, qui peut répondre en lieu et place de B avec sa propre clé
publique «Man in the milde ».
Fig III.4 : intervention d’une tierce personne
Un certificat électronique est une assurance de sécurité sur l’identité électronique d’un
individu ou d’un système. Les infrastructures PKI (Public Key Infrastructure) sont conçues
pour mettre en œuvre l’architecture correspondante. Une PKI est une infrastructure composée
d’un ensemble de systèmes, de procédures et de politiques, dont les fonctions sont les
suivantes :
1. enregistrer les entités désirant obtenir des certificats électroniques ;
2. fabriquer des bi-clés, c’est-à-dire des paires de clés privée et publique ;
3. certifier des clés publiques afin de créer des certificats et de publier ces
derniers sur des annuaires publics, généralement des serveurs LDAP ;
4. révocation de certificats et gestion de listes de révocation.
De manière très simplifiée, l’utilisateur désirant obtenir un certificat électronique fait une
demande auprès de l’autorité d’enregistrement (AE). Après validation de l’identité du
demandeur, l’AE génère un couple de clés (publique, privée), envoie la clé privée suivant des
procédures sécurisées à l’utilisateur (chemin de confiance) et certifie la clé publique par
l’autorité de certification en apposant sa signature électronique sur le certificat. Le certificat
est alors installé sur un annuaire public accessible à tous.
Un certificat électronique, ou passeport numérique, contient toutes les informations relatives à
l’identité d’une personne, ainsi que d’autres champs non détaillés ci-dessous :
1. numéro de version associé au certificat, par exemple X.509 v3 ;
2. numéro de série fourni par l’autorité de certification ayant délivré le
certificat ;
6
Chapitre 2 : La sécurité par le chiffrement
3. algorithme utilisé pour la signature du certificat ;
4. nom de l’autorité ayant délivré le certificat ;
5. date de validité du certificat (dates de création et d’expiration) ;
6. nom de la personne de destination du certificat ;
7. clé publique de la personne certifiée.
Fig III.5 : infrastructure PKI
À partir de ces informations, dont l’autorité de certification vérifie préalablement la validité,
cette même autorité de certification génère une signature de certification en créant dans un
premier temps une empreinte de ces informations grâce à un algorithme de hachage et en
chiffrant cette empreinte par un algorithme de chiffrement asymétrique grâce à la clé privée
de l’autorité de certification.
Fig III.6 : Fonctionnement de PKI