Chapitre 21 : Sécurisation des données.

Introduction :

Alice veut envoyer un message confidentiel à Bob en passant par Internet. Sur ce réseau, n'importe quel message peut être intercepté par un tiers malveillant.

Comment Alice peut-elle s'assurer que seul Bob pourra lire son message, même si quelqu'un l'intercepte ? Faut-il qu'Alice et Bob se soient déjà mis d'accord en secret, ou peuvent-ils sécuriser leur échange sans jamais s'être rencontrés ?

1. Un premier chiffrement : le chiffrement par décalage ou encore appelé "chiffre de César".

L'humanité n'a pas attendu la naissance de l'informatique pour comprendre la nécessité de chiffrer ses messages.

Il consiste à décaler d'un rang bien déterminé les lettres de l'alphabet.

Si par exemple on décale avec le nombre 3, la lettre A deviendra D, B deviendra E etc.

2. Exercice : limites du chiffrement de César.

Quel est le défaut du code César ? Comment décoder un code chiffré ?

3. Le chiffrement symétrique

Le chiffrement symétrique est une méthode de sécurisation des communications qui utilise une seule clé secrète.

Cette même clé sert :

Principe de fonctionnement :

L’expéditeur et le destinataire doivent posséder la même clé secrète avant de communiquer. Si une personne non autorisée obtient cette clé, elle peut lire tous les messages.

Exemple :

Alice et Bob se mettent d’accord sur une clé secrète. Alice chiffre son message avec cette clé et l’envoie à Bob. Bob utilise la même clé pour déchiffrer le message.

Avantages :

Limite principale :

La clé secrète doit être partagée au préalable. Si elle est interceptée lors de l’échange, la sécurité est compromise.

Utilisation courante :

4. Le chiffrement asymétrique

Le chiffrement asymétrique est une méthode utilisée pour sécuriser les échanges d’informations sur un réseau, comme Internet.

Contrairement au chiffrement classique (dit symétrique), il repose sur l’utilisation de deux clés différentes mais mathématiquement liées :

Principe de fonctionnement :

Exemple concret :

Alice souhaite recevoir des messages secrets.

  1. Elle crée une paire de clés et publie sa clé publique.
  2. Bob récupère cette clé publique et chiffre son message.
  3. Même si quelqu’un intercepte le message, il ne pourra pas le lire.
  4. Seule Alice, grâce à sa clé privée, peut déchiffrer le message.

Avantage principal :

Il n’est pas nécessaire de partager un secret à l’avance. La clé publique suffit pour envoyer un message sécurisé.

Limite :

Le chiffrement asymétrique est plus lent que le chiffrement symétrique. C’est pourquoi, dans la pratique, il est souvent utilisé pour échanger une clé secrète, puis un chiffrement symétrique est utilisé pour la suite de la communication.

Applications courantes :

Une vidéo qui explique cela.

5. Exercice : chiffrement par masque jetable (XOR).

Cet exercice est extrait d'une épreuve de type BAC.

Pour une meilleure lisibilité, des espaces sont placées dans les écritures binaires des nombres. Il ne faut pas les prendre en compte dans les calculs.

Pour chiffrer un message, une méthode, dite du masque jetable, consiste à le combiner avec une chaîne de caractères de longueur comparable.

Une implémentation possible utilise l’opérateur XOR (ou exclusif) dont voici la table de vérité :

Dans la suite, les nombres écrits en binaire seront précédés du préfixe 0b.

  1. Pour chiffrer un message, on convertit chacun de ses caractères en binaire (à l’aide du format Unicode), et on réalise l’opération XOR bit à bit avec la clé. Après conversion en binaire, et avant que l’opération XOR bit à bit avec la clé n’ait été effectuée, Alice obtient le message suivant : $$ m = 0b\: 0110\: 0011\: 0100\: 0110 $$
    1. Le message m correspond à deux caractères codés chacun sur 8 bits : déterminer quels sont ces caractères. On fournit pour cela la table ci-dessous qui associe à l’écriture hexadécimale d’un octet le caractère correspondant. Exemple de lecture : le caractère correspondant à l’octet codé 4A en hexadécimal est la lettre J.
    2. Pour chiffrer le message d’Alice, on réalise l’opération XOR bit à bit avec la clé suivante : $$ k = 0b\: 1110\: 1110\: 1111\: 0000 $$

      Donner l'écriture binaire du message obtenu.

    1. Dresser la table de vérité de l’expression booléenne suivante : $$ (a\: XOR\: b)\: XOR\: b $$
    2. Bob connaît la chaîne de caractères utilisée par Alice pour chiffrer le message. Quelle opération doit-il réaliser pour déchiffrer son message ?

6. À retenir

Le chiffrement asymétrique étant plus lent que le chiffrement symétrique, il n'est en pratique pas utilisé pour chiffrer l'ensemble d'une communication. Il sert surtout à échanger en toute sécurité la clé secrète qui sera ensuite utilisée pour le chiffrement symétrique, plus rapide, du reste de la conversation.