Chapitre 9. Cryptographie
Cryptographie symétrique
Activité 1. Chiffre de César
- Diaporama
- Cahier Jupyter dans Capytale
Activité 2. Chiffre de Vigenère
- Diaporama
- Cahier Jupyter dans Capytale
Activité 3. Chiffre de Vernam
- Diaporama
- Cahier Jupyter dans Capytale
Cryptographie asymétrique
Principe général (Diaporama)
Activité. L’attaque de l’homme du milieu.
L’attaque de l’homme du milieu (ou man-in-the-middle attack) est une attaque permettant d’intercepter un message échangé par une méthode de chiffrement asymétrique et de le décrypter.
Nous allons voir dans cette activité quelle est la faille exploitée. Nous allons utiliser un générateur en ligne de couple de clés RSA et réaliser les transmissions par e-mail par la messagerie de l’ENT.
Copier-coller
Dans cette activité, il faudra réaliser de nombreux copier-coller. Pour éviter les erreurs, réaliser toujours ces étapes :
- Cliquer dans le cadre de texte contenant le texte à copier.
- Composer la combinaison Ctrl + A pour tout sélectionner.
- Composer la cominaison Ctrl + C pour tout copier.
- Cliquer dans le cadre de texte cible et composer la combinaison Ctrl + V pour coller le texte copié préalablement.
Partie 1. Formation des binômes et répartition des rôles.
- Choisir un ou une partenaire dans la classe pour former un binôme. Idéalement, il faut que les membres d’un même binôme soient éloignés l’un de l’autre pour simuler la distance qui les sépare pendant la transmission.
- Définir les rôles au sein de votre binôme : l’un joue le rôle du destinataire l’autre joue le role de l’expéditeur.
- On écrit l’ensemble des binômes au tableau.
Partie 2. Transmission du message sans espion
À faire par le destinataire
Étape 1. Le destinataire génère le couple de clés.
- Le destinataire se rend sur la page du générateur de clés RSA.
- Dans la rubrique Generate RSA Key Pair Online, dans liste déroulante nommée Select RSA Key Size, le destinataire choisit la taille minimum c’est-à-dire 515 bit.
- Le destinataire clique sur le bouton Generate RSA Key Pair Online.
-
Le destinataire copie-colle sa clé publique (public key) et sa clé privée (private key) dans les cadres ci-dessous.
Étape 2. Le destinataire envoie sa clé publique à l’expéditeur.
- Le destinataire copie sa clé publique.
- Le destinataire ouvre la messagerie de l’ENT et crée un nouvel e-mail.
- Il colle dans le corps du message sa clé publique et envoie l’e-mail à son partenaire.
À faire par l’expéditeur
Étape 3. L’expéditeur chiffre le message à envoyer.
-
L’expéditeur consulte sa messagerie de l’ENT et ouvre le message envoyé par son partenaire. Il copie la clé publique de son partenaire et la colle dans le cadre de code ci-dessous.
-
L’expéditeur se rend sur la page du générateur de clés RSA.
-
L’expéditeur choisit un mot qui servira de message clair (par exemple un nom d’animal ou de ville ou un prénom etc.) et l’écrit dans le cadre ci-dessous.
-
Dans la rubrique RSA encryption (à gauche), l’expéditeur copie-colle le message clair dans le cadre de texte Enter Plain Text to Encrypt.
- Dans la rubrique RSA encryption (à gauche), l’expéditeur copie-colle la clé publique qu’il a reçue dans le cadre de texte Enter Public/Private key.
- L’expéditeur vérifie que la case Public key est bien cochée juste en dessous du cadre précédent.
-
L’expéditeur clique sur bouton Encrypt et copie-colle ci-dessous le message chiffré obtenu.
Étape 4. L’expéditeur envoie le message chiffré au destinataire
- L’expéditeur copie le message chiffré.
- L’expéditeur ouvre la messagerie de l’ENT et crée un nouvel e-mail.
- Il colle dans le corps du message le message chiffré et envoie l’e-mail à son partenaire.
À faire par le destinataire
Étape 5. Le destinataire déchiffre le message chiffré reçu.
-
Le destinataire consulte sa messagerie de l’ENT et ouvre le message envoyé par son partenaire. Il copie le message chiffré envoyé par son partenaire et le colle dans le cadre de code ci-dessous.
-
Le destinataire retourn sur la page du générateur de clés RSA qu’il a déjà ouverte.
- Dans la rubrique RSA Decryption (à droite), le destinataire copie-colle le message chiffré dans le cadre de texte Enter Encrypted Text to Decrypt (Base64).
- Dans la rubrique RSA Decryption (à gauche), le destinataire copie-colle sa clé privée (qu’il a générée précédemement) dans le cadre de texte Enter Public/Private key.
- Le destinataire vérifie que la case Private key est bien cochée juste en dessous du cadre précédent.
-
L’expéditeur clique sur le bouton Decrypt et copie-colle ci-dessous le message clair obtenu.
Bilan collectif
Étape 6. On vérifie que les binômes ont bien réussi leur échange.
Partie 3. Attaque de l’homme du milieu.
Dans cette partie, un binôme se porte volontaire pour jouer le rôle de “cobaye” pour l’attaque de l’homme du milieu. On suppose dans cette partie que les partenaires ne peuvent pas s’envoyer directement des e-mails et doivent passer par l’intermédiaire du professeur qui joue donc le rôle d’homme du milieu.
Les membres du binômes répètent l’ensemble des étapes de la partie 2. avec cependant les changements suivants :
- de nouvelles clés sont générés par le destinataire
- un nouveau message clair est choisi par l’expéditeur
- les e-mails sont tous envoyés au professeur qui va jouer le rôle d’intermédiaire. Ainsi les membres du binôme recevront des messages du professeur.
Partie 4. Explications
Comment le professeur a-t-il pu décryter et altérer le message alors qu’à aucun moment la clé privée du destinataire n’a été révélée ? Consulter ce diaporama pour comprendre.
À retenir
Définition. Cryptologie, cryptographie et cryptanalyse
La cryptologie, étymologiquement la science du secret est la science dont les objets sont :
- les méthodes de transmision de messages secrets (la cryptologie)
- l’analyse de ces méthodes afin de les rendre plus sûres ou de les casser (la cryptanalyse)
Définition. Cryptographie
Une méthode de cryptographie permet de garantir la transmission sécurisé de message en repectant 3 buts principaux (aide mnémotechnique : CAI) :
- la confidentialité du message : le message doit être intelligible pendant sa transmission pour de potentiels attaquants
- l’authenticité du message : le destinataire du message doit pouvoir vérifier l’identité de l’émetteur du message.
- l’intégrité du message : le destinaire du message doit pouvoir vérifier que le message n’a pas été altéré pendant la transmission (par exemple véfirier que le message n’a pas été tronqué)
Contrairement à la sténographie qui s’appuie sur la dissimulation du message pour garantir sa transmission secrète, la cryptographie s’appuie sur le chiffrement du message. Pendant sa transimission, le message est visible par un attaquant potentiel mais est chiffré c’est-à-dire qu’il est inintelligible pour les personnes ne disposant pas d’un secret (appelé clé) permettant le déchiffrement du message.
On oppose le message lisible dit message clair au message inintelligible dit message chiffré.
Définition Cryptographie symétrique
Une méthode de chiffrement symétrique est une méthode de cryptographie dans laquelle la même clé est utilisée pour chiffrer et déchiffrer le message.
Il existe de nombreux exemples de chiffrement symétriques simples utilisés depuis l’antiquité (chiffre de César, Vigenère par exemple). Ils sont devenus aujourd’hui obsolètes.
Des méthodes de chiffrements symétriques modernes sont omniprésentes aujourd’hui par exemple pour la transmission d’information sécurisée par Internet. On peut citer par exemple AES (Advanced Encryption Standard, littéralement “Standard de chiffrement avancé”) devenu la référence depuis l’an 2000. Son algorithme complexe n’est pas au programme.
L’avantage des méthodes de chiffrement symétrique est le besoin réduit en calcul de leurs algorithmes : les étapes de chiffrement et déchiffrement sont ainsi très rapides.
Le défaut des méthodes de chiffrement symétrique est la nécessité aux personnes impliquées dans la transmission du message de détenir au préalable la même clé. On parle du problème de l‘“échange de clé”. Cela peut nécessiter que les personnes en communication se retrouvent en un même lieu pour décider d’une clé commune.
Ainsi, utilisée seule, une méthode de chiffrement symétrique n’est pas adaptée à la transmission d’information sécurisée sur un réseau comme Internet où les utilisateurs sont très nombreux, distants les uns des autres et s’échangent des informations à fréquence élevée.
Définition Cryptographie asymétrique
Une méthode de chiffrement asymétrique est une méthode de cryptographie qui utilise deux clés distinctes mais mathématiquement liées : une clé publique et une clé privée.
- Clé publique. Cette clé est accessible à tous (en particulier à l’emetteur du message) et est utilisée pour chiffrer le message.
- Clé privée. Cette clé est gardée secrète par son propriétaire (le destinataire du message) et est utilisée pour déchiffrer le message chiffré transmis par l’émetteur.
On peut citer deux exemples de méthodes de chiffrement asymétriques modernes couremment utilisées :
- Le chiffrement RSA (décrit en 1977, voir l’activité Attaque de l’homme du milieu).
- Diffie-Hellmann (décrit en 1976, voir cette page pour plus de détails)
Le chiffrement RSA nécessite le stockage de clés privées de grande taille ce qui représente un coup de stockage et un risque de sécurité à long terme. En effet, des messages chiffrés interceptés peuvent être stockés par un attaquant. En cas de fuite des clés de chiffrement, les messages interceptés sont susceptibles d’être déchiffrés à l’avenir.
Au contraire, avec Diffie-Hellmann, un secret partagé à usage unique est coconstruit à distance par les personnes en communication avant chaque échange. Cela garantie une “confidentialité persistante” (forward secrecy en anglais).
Les méthodes de chiffrement asymétriques ont pour avantage de s’affranchir de l’étape d’échange de clé ce qui en fait une méthode adaptée pour les comunications à distance sans rencontre préalable.
Cependant, le défaut des méthodes de chiffrement asymétrique est le coût élevé de leurs algorithmes de chiffrement et déchiffrement. Ainsi, en pratique, les communications sécurisée à distance (par exemple sur le Web avec le protocole HTTPS) utilisent une combinaison des méthodes de chiffrement symétrique et asymétrique :
- Étape 1. L’échange de clé. Une clé de chiffrement symétrique pour la seconde étape est échangée par chiffrement asymétrique.
- Étape 2. La transmision du message. La transmission est réalisée par chiffrement symétrique avecla clé échangée à l’étape 1.
À l’étape 1, la clé représente un petit volume d’information donc les temps de chiffrement et déchiffrement asymétriques ne sont pas excessifs malgré des algorithmes lents. Par contre, le message représente un grand volume d’information à chiffrer et déchiffrer : les algorithmes de chiffrement symétriques très rapides sont donc pertinents à l’étape 2.
Pour aller plus loin, idées de grand oral
- la cryptographie homomorphe (vidéo de 6 minutes)