Partager via


Échange de clés et de messages étape par étape (Exemple CNG)

Les solutions de clés privées/publiques de chiffrement sont sensibles aux attaques de l'intercepteur.Ces attaques prennent diverses formes, notamment l'espionnage, la substitution, le déni de service et le hameçonnage.L'exemple de communication sécurisée CNG s'intéresse à la substitution, dans laquelle un tiers (Mallory) s'insère entre deux points de terminaison de communication (Alice et Bob).

Les sections suivantes fournissent des informations générales, des illustrations et des instructions détaillées pour les cinq versions de sécurité décrites dans la section Vue d'ensemble de l'exemple CNG:

  • Version 1 : échange de messages de base

  • Version 2 : échange de clés et de messages non signés

    • Sans interception

    • Avec interception

  • Version 3 : échange de clés et de messages signés

  • Version 4 : échange de clés et de messages signés avec détection

  • Version 5 : échange de clés et de messages signés avec arrêt de l'application

Version 1 : échange de messages de base

L'illustration suivante montre Alice et Bob envoyant des messages sans attaque de l'intercepteur.Les messages ne sont ni chiffrés ni signés numériquement.L'exemple CNG présente cette procédure lorsque vous sélectionnez la version 1.Une description détaillée du processus est fournie après l'illustration.

Version 1 : échange de messages de base

Version 1 : échange de messages de base

Alice et Bob envoient des messages non chiffrés et non signés

1.Alice crée un message.

2.Alice envoie le message à Bob.

3.Bob reçoit le message d'Alice.

4.Bob crée un message.

5.Bob envoie le message à Alice.

6.Alice reçoit le message de Bob.

Version 2 : clés et messages non signés sans interception

L'illustration suivante montre des échanges de clés et de messages sans attaque de l'intercepteur.L'exemple CNG présente cette procédure lorsque vous sélectionnez la version 2 et que vous désactivez l'interception par Mallory.Une description détaillée du processus est fournie après l'illustration.

Version 2 : clés et messages non signés sans interception

Version 2 : clés et messages non signés avec

Alice et Bob créent leurs clés

1.Alice génère une paire de clés publique/privée.

2.Alice envoie sa clé publique à Bob.

3.Bob stocke la clé publique d'Alice.

4.Bob génère une paire de clés publique/privée.

5.Bob envoie sa clé publique à Alice.

6.Alice stocke la clé publique de Bob.

Alice et Bob dérivent le matériel de clé correspondant

7.Alice utilise sa clé privée et la clé publique de Bob pour générer un accord secret partagé.Elle utilise cet accord pour dériver le matériel de clé.

8.Bob utilise sa clé privée et la clé publique d'Alice pour générer le même accord secret partagé.Il utilise cet accord pour dériver le même matériel de clé qu'Alice.

Pour plus d'informations sur les accords secrets partagés et la dérivation de clés, consultez Vue d'ensemble de l'algorithme ECDH (Exemple CNG).

Alice et Bob s'envoient des messages

9.Alice crée un message et le chiffre avec le matériel de clé.

10.Alice envoie le message chiffré à Bob.

11.Bob reçoit et déchiffre le message.

12.Bob crée un message et le chiffre avec le matériel de clé.

13.Bob envoie le message à Alice.

14.Alice reçoit et déchiffre le message.

Version 2 : clés et messages non signés avec interception

L'illustration suivante montre le flux de clés et de messages avec attaque de l'intercepteur.L'exemple de CNG illustre cette procédure lorsque vous sélectionnez la version 2 et que vous activez l'interception par Mallory.

Version 2 : clés et messages non signés avec interception

Version 2 : clés et messages non signés avec

Mallory emprunte l'identité de Bob

1.Alice génère une paire de clés publique/privée.

2.Alice envoie sa clé publique à Bob.

3.Mallory intercepte et stocke la clé publique d'Alice.

4.Mallory génère sa propre paire de clés publique/privée pour l'utiliser avec Alice.

5.Mallory envoie sa clé publique à Alice en lui faisant croire que Bob est l'expéditeur.

6.Alice stocke la clé publique de Mallory, croyant qu'il s'agit de la clé de Bob.

Mallory n'établit pas de canal avec Bob avant d'avoir terminé son échange de clés avec Alice.En effet, il partage le PublicChannel avec Alice (consultez Vue d'ensemble du code source).Il doit donc envoyer sa clé de substitution à Alice pour pouvoir fermer PublicChannel, le rouvrir et se connecter avec Bob.

Effectuez un comparaison avec les étapes 17 à 22, dans lesquelles les messages envoyés par Alice sont transférés à Bob.

Mallory emprunte l'identité d'Alice

7.Mallory génère une deuxième paire de clés publique/privée pour l'utiliser avec Bob.

8.Mallory envoie sa clé publique à Bob.

9.Bob stocke la clé publique de Mallory, croyant qu'il s'agit de la clé d'Alice.

10.Bob génère une paire de clés publique/privée.

11.Bob envoie sa clé publique à Alice.

12.Mallory intercepte et stocke la clé publique de Bob.

Alice et Mallory dérivent le matériel de clé correspondant

13.Alice utilise sa clé privée et ce qu'elle croit être la clé publique de Bob (en réalité, la clé publique Mallory/Alice) pour générer un accord secret partagé.Elle utilise cet accord pour dériver le matériel de clé Mallory/Alice.

14.Mallory utilise sa clé privée et la clé publique d'Alice pour générer le même accord secret partagé.Il utilise ensuite cet accord pour dériver le même matériel de clé qu'Alice.

Bob et Mallory dérivent le matériel de clé correspondant

15.Mallory utilise sa clé privée et la clé publique de Bob pour générer un accord secret partagé.Il utilise cet accord pour dériver le matériel de clé Mallory/Bob.

16.Bob utilise sa clé privée et ce qu'il croit être la clé publique d'Alice (en réalité, la clé publique Mallory/Bob) pour générer le même accord secret partagé.Il utilise ensuite cet accord pour dériver le même matériel de clé que Mallory.

Notes

Après les étapes 13 et 16, Alice et Bob pensent qu'ils partagent le même matériel de clé.En réalité, ils le partagent avec Mallory.

Alice envoie un message à Bob

À ce stade, Mallory peut prendre part à une double conversation car il a deux canaux ouverts disponibles.La méthode diffère des étapes 1 à 6 dans lesquelles Mallory ouvre un seul canal à la fois pour intercepter les clés de chiffrement.

17.Alice génère un message et le chiffre à l'aide du matériel de clé Mallory/Alice qu'elle a généré à l'étape 13.Elle parle à Bob d'un contact commercial potentiel.

18.Alice envoie le message à Bob.

19.Mallory intercepte et déchiffre le message.Il vole les informations de contact.

20.Mallory génère un faux message basé sur le message d'Alice, mais il modifie l'adresse de contact.Il chiffre le message fictif à l'aide de son matériel de clé Mallory/Bob partagé.

21.Mallory envoie le message à Bob.

22.Bob déchiffre le message, croyant qu'il est envoyé par Alice.

Bob envoie un message à Alice

23.Bob génère un message et le chiffre à l'aide du matériel de clé Mallory/Bob qu'il a généré à l'étape 16Il indique à Alice qu'il souhaite rencontrer le contact.

24.Bob envoie le message à Alice.

25.Mallory intercepte, déchiffre et élimine le message.

26.Mallory génère un message fictif à l'aide du matériel de clé Mallory/Alice partagé.Il indique à Alice que l'adresse du contact commercial lui semble incorrecte, mais qu'il continue à tenter de le joindre.

27.Mallory envoie le message à Alice.

28.Alice déchiffre le message, croyant qu'il a été envoyé par Bob.Elle accepte son explication et passe à d'autres clients.

Version 3 : clés et messages signés avec interception

L'illustration suivante montre le flux des clés de chiffrement et des messages, une attaque de l'intercepteur et l'utilisation de signatures numériques pour signer les clés et les messages.L'exemple de CNG illustre ce scénario lorsque vous sélectionnez la version 3 et que vous activez l'interception par Mallory.

Version 3 : clés et messages signés avec interception

Version 3 : clés et messages signés avec int

La version 3 est identique à la version 2 sauf qu'elle présente l'utilisation d'une signature numérique pour signer les messages et les clés de chiffrement.

Dans les étapes 1 à 6, Alice envoie la clé de signature numérique sur le PublicChannel non sécurisé, où elle est interceptée par Mallory qui l'utilise pour signer ses clés et messages de substitution.Par conséquent, Alice, Bob et Mallory utilisent la même clé de signature numérique.Lorsque Alice et Bob valident la clé et les signatures de message aux étapes 15, 20, 35 et 42, ils ne détectent pas l'interception de Mallory.

Version 4 : clés et messages signés avec détection

L'illustration suivante montre le flux des clés de chiffrement et des messages, une attaque de l'intercepteur et l'utilisation de signatures numériques pour signer les clés et les messages.En outre, la version 4 du logiciel détecte des signatures non valides.L'exemple de CNG illustre ce scénario lorsque vous sélectionnez la version 4 et que vous activez l'interception par Mallory.

Version 4 : clés et messages signés avec détection

Version 4 : clés et messages signés avec dét

La version 4 présente les différences suivantes par rapport à la version 3 :

  • La version 4 du logiciel n'est transmise qu'à Alice et Bob.

  • La version 4 envoie la clé de signature numérique utilisée dans la version 3, mais la traite comme une clé fictive.

  • La version 4 permet à Alice d'envoyer une deuxième clé de signature numérique à Bob via un canal privé que Mallory ne connaît pas(il s'agit de l'étape 0 de l'illustration précédente). Alice et Bob utilisent cette signature numérique privée pour signer leurs clés et leurs messages.

  • La version 4 détecte les signatures non valides de Mallory aux étapes 15, 20, 35 et 42 et affiche des avertissements de sécurité.

Mallory continue à utiliser la signature numérique de la version 3 pour signer ses clés et ses messages de substitution.Par conséquent :

  • Il ne connaît pas la clé de signature numérique privée de la version 4.

  • Il ne reçoit pas d'avertissements de sécurité.

  • Il ne sait pas qu'Alice et Bob peuvent détecter ses clés et ses signatures de message non valides.

Version 5 : clés et messages signés avec arrêt de session

L'illustration suivante montre le flux des clés de chiffrement et des messages, une attaque de l'intercepteur et l'utilisation de signatures numériques pour signer les clés et les messages.Comme dans la version 4, les signatures non valides sont détectées.L'exemple de CNG illustre ce scénario lorsque vous sélectionnez la version 5 et que vous activez l'interception par Mallory.

Version 5 : clé et messages signés avec arrêt

Version 5 : clés et messages signés avec arrêt de sess

La version 5 est identique à la version 4 excepté que la session se termine lorsque Alice et Bob reçoivent des clés de chiffrement publiques avec des signatures numériques non valides.

Voir aussi

Concepts

Communication sécurisée Cryptography Next Generation (CNG), exemple

Services de chiffrement