Freigeben über


Schrittweiser Austausch von Schlüsseln und Nachrichten (CNG-Beispiel)

Aktualisiert: Juli 2008

Kryptografische Lösungen mit privaten und öffentlichen Schlüsseln sind anfällig gegen Man-in-the-middle-Angriffe. Diese Angriffe nehmen eine Vielzahl von Formen an: Belauschen, Substitution, Denial of Service und Phishing. Das Beispiel für sichere CNG (Cryptography Next Generation)-Kommunikation erläutert die Substitution, bei dem sich eine dritte Partei (Mallory) zwischen zwei Kommunikationsendpunkte (Alice und Bob) schaltet.

In den folgenden Abschnitten finden Sie Hintergrundinformationen, Abbildungen und schrittweise Anweisungen für die fünf in Übersicht über das CNG-Beispiel besprochenen Sicherheitsversionen:

  • Version 1: Einfacher Nachrichtenaustausch

  • Version 2: Nicht signierter Schlüssel und nicht signierter Nachrichtenaustausch:

    • Ohne Abfangen

    • Mit Abfangen

  • Version 3: Signierter Schlüssel und signierter Nachrichtenaustausch

  • Version 4: Signierter Schlüssel und signierter Nachrichtenaustausch mit Erkennung

  • Version 5: Signierter Schlüssel und signierter Nachrichtenaustausch mit Beenden der Anwendung

Version 1: Einfacher Nachrichtenaustausch

In der folgenden Abbildung werden Alice und Bob dargestellt, die Nachrichten ohne einen Man-in-the-middle-Angriff senden. Die Nachrichten werden nicht verschlüsselt oder digital signiert. Im CNG-Beispiel wird dieses Verfahren veranschaulicht, wenn Sie Version 1 auswählen. Nach der Abbildung folgt eine schrittweise Beschreibung des Prozesses.

Version 1: Einfacher Nachrichtenaustausch

Alice und Bob senden unverschlüsselte, nicht signierte Nachrichten

1. Alice erstellt eine Nachricht.

2. Alice sendet die Nachricht an Bob.

3. Bob empfängt die Nachricht von Alice.

4. Bob erstellt eine Nachricht.

5. Bob sendet die Nachricht an Alice.

6. Alice empfängt die Nachricht von Bob.

Version 2: Nicht signierte Schlüssel und nicht signierte Nachrichten ohne Abfangen

Die folgende Abbildung zeigt Schlüssel- und Nachrichtenaustausch ohne einen Man-in-the-middle-Angriff. Im CNG-Beispiel wird dieses Verfahren veranschaulicht, wenn Sie Version 2 auswählen und das Abfangen durch Mallory deaktivieren. Nach der Abbildung folgt eine schrittweise Beschreibung des Prozesses.

Version 2: Nicht signierte Schlüssel und nicht signierte Nachrichten ohne Abfangen

Alice und Bob erstellen ihre Schlüssel

1. Alice erzeugt ein Paar aus öffentlichem und privatem Schlüssel.

2. Alice sendet ihren öffentlichen Schlüssel an Bob.

3. Bob speichert den öffentlichen Schlüssel von Alice.

4. Bob erzeugt ein Paar aus öffentlichem und privatem Schlüssel.

5. Bob sendet seinen öffentlichen Schlüssel an Alice.

6. Alice speichert den öffentlichen Schlüssel von Bob.

Alice und Bob leiten übereinstimmendes Schlüsselmaterial ab

7. Alice verwendet ihren privaten Schlüssel und Bobs öffentlichen Schlüssel, um einen gemeinsamen Geheimvertrag zu erzeugen. Sie verwendet den gemeinsamen Geheimvertrag, um das Schlüsselmaterial abzuleiten.

8. Bob verwendet seinen privaten Schlüssel und den öffentlichen Schlüssel von Alice, um den gleichen gemeinsamen Geheimvertrag zu erzeugen. Er verwendet den gemeinsamen Geheimvertrag, um das gleiche Schlüsselmaterial wie Alice abzuleiten.

Weitere Informationen zu gemeinsamen Geheimverträgen und zur Schlüsselableitung finden Sie unter Übersicht über den ECDH-Algorithmus (CNG-Beispiel).

Alice und Bob senden einander Nachrichten

9. Alice erstellt eine Nachricht und verschlüsselt sie mit dem Schlüsselmaterial.

10. Alice sendet die verschlüsselte Nachricht an Bob.

11. Bob empfängt und entschlüsselt die Nachricht.

12. Bob erstellt eine Nachricht und verschlüsselt sie mit dem Schlüsselmaterial.

13. Bob sendet die Nachricht an Alice.

14. Alice empfängt und entschlüsselt die Nachricht.

Version 2: Nicht signierte Schlüssel und nicht signierte Nachrichten mit Abfangen

Die folgende Abbildung zeigt Schlüssel- und Nachrichtenaustausch mit einem Man-in-the-middle-Angriff. Im CNG-Beispiel wird dieses Verfahren veranschaulicht, wenn Sie Version 2 auswählen und Abfangen durch Mallory aktivieren.

Version 2: Nicht signierte Schlüssel und nicht signierte Nachrichten mit Abfangen

Mallory nimmt die Identität von Bob an

1. Alice erzeugt ein Paar aus öffentlichem und privatem Schlüssel.

2. Alice sendet ihren öffentlichen Schlüssel an Bob.

3. Mallory fängt den öffentlichen Schlüssel von Alice ab und speichert ihn.

4. Mallory generiert sein eigenes Paar aus öffentlichem und privatem Schlüssel zur Verwendung mit Alice.

5. Mallory sendet seinen öffentlichen Schlüssel an Alice und bringt sie so dazu, zu denken, er stamme von Bob.

6. Alice speichert den öffentlichen Schlüssel von Mallory und glaubt, dass es Bobs Schlüssel ist.

Mallory richtet erst einen Channel zu Bob ein, nachdem er den Schlüsselaustausch mit Alice beendet hat. Er geht so vor, da er den PublicChannel mit Alice (siehe Quellcodeübersicht) gemeinsam nutzt. Er muss Alice seinen Ersatzschlüssel senden, bevor er den PublicChannel schließen, erneut öffnen und eine Verbindung mit Bob herstellen kann.

Vergleichen Sie dies mit Schritt 17 bis 22, in denen von Alice gesendete Nachrichten ohne weiteres an Bob übertragen werden.

Mallory nimmt die Identität von Alice an

7. Mallory erzeugt ein zweites Paar aus öffentlichem und privatem Schlüssel zur Verwendung mit Bob.

8. Mallory sendet seinen öffentlichen Schlüssel an Bob.

9. Bob speichert den öffentlichen Schlüssel von Mallory und glaubt, dass es der Schlüssel von Alice ist.

10. Bob erzeugt ein Paar aus öffentlichem und privatem Schlüssel.

11. Bob sendet seinen öffentlichen Schlüssel an Alice.

12. Mallory fängt Bobs öffentlichen Schlüssel ab und speichert ihn.

Alice und Mallory leiten übereinstimmendes Schlüsselmaterial ab

13. Alice verwendet ihren privaten Schlüssel und den öffentlichen Schlüssel, von dem sie glaubt, dass er von Bob stammt (tatsächlich der öffentliche Schlüssel von Mallory/Alice), um einen gemeinsamen Geheimvertrag zu erzeugen. Sie verwendet den gemeinsamen Geheimvertrag, um das Mallory/Alice-Schlüsselmaterial abzuleiten.

14. Mallory verwendet seinen privaten Schlüssel und den öffentlichen Schlüssel von Alice, um den gleichen gemeinsamen Geheimvertrag zu erzeugen. Er verwendet dann den gemeinsamen Geheimvertrag, um das gleiche Schlüsselmaterial wie Alice abzuleiten.

Bob und Mallory leiten übereinstimmendes Schlüsselmaterial ab

15. Mallory verwendet seinen privaten Schlüssel und Bobs öffentlichen Schlüssel, um einen gemeinsamen Geheimvertrag zu erzeugen. Er verwendet den gemeinsamen Geheimvertrag, um das Mallory/Bob-Schlüsselmaterial abzuleiten.

16. Bob verwendet seinen privaten Schlüssel und den öffentlichen Schlüssel, von dem er glaubt, dass er von Alice stammt (tatsächlich der öffentliche Schlüssel von Mallory/Bob), um den gleichen gemeinsamen Geheimvertrag zu erzeugen. Er verwendet dann den gemeinsamen Geheimvertrag, um das gleiche Schlüsselmaterial wie Mallory abzuleiten.

Hinweis:

Nach den Schritten 13 und 16, glauben Alice und Bob, dass sie das gleiche Schlüsselmaterial verwenden. Tatsächlich verwenden sie ihr Schlüsselmaterial nicht gemeinsam, sondern gemeinsam mit Mallory.

Alice sendet Bob eine Nachricht

Zu diesem Zeitpunkt kann sich Mallory an einer doppelten Unterhaltung beteiligen, da er zwei verfügbare offene Pipes verwenden kann. Dies unterscheidet sich von den Schritten 1 bis 6, in denen Mallory nur einen Channel öffnete, um den Verschlüsselungsschlüssel abzufangen.

17. Alice erzeugt eine Nachricht und verschlüsselt sie mithilfe des in Schritt 13 erzeugten Mallory/Alice-Schlüsselmaterials. Sie informiert Bob über einen potenziellen Vertriebskontakt.

18. Alice sendet die Nachricht an Bob.

19. Mallory fängt die Nachricht ab und entschlüsselt sie. Er stiehlt die Kontaktinformationen.

20. Mallory erzeugt eine falsche Nachricht, die auf der Nachricht von Alice basiert, ändert jedoch die Kontaktadresse. Er verschlüsselt die falsche Nachricht mit seinem gemeinsam verwendeten Mallory/Bob-Schlüsselmaterial.

21. Mallory sendet die Nachricht an Bob.

22. Bob entschlüsselt die Nachricht und glaubt, dass sie von Alice stammt.

Bob sendet Alice eine Nachricht

23. Bob erzeugt eine Nachricht und verschlüsselt sie mithilfe des in Schritt 16 erzeugten Mallory/Bob-Schlüsselmaterials. Er informiert Alice darüber, dass er sich auf ein Treffen mit der Kontaktperson freut.

24. Bob sendet die Nachricht an Alice.

25. Mallory fängt die Nachricht ab, entschlüsselt und verwirft sie.

26. Mallory erzeugt eine falsche Nachricht mit seinem gemeinsam verwendeten Mallory/Alice-Schlüsselmaterial. Er teilt Alice mit, dass er die Adresse der Kontaktperson für falsch hält, jedoch weiter versuchen wird, sie zu erreichen.

27. Mallory sendet die Nachricht an Alice.

28. Alice entschlüsselt die Nachricht und glaubt, dass sie von Bob stammt. Sie akzeptiert seine Erklärung und wendet sich anderen Kunden zu.

Version 3: Signierte Schlüssel und signierte Nachrichten mit Abfangen

In der folgenden Abbildung werden der Austausch von kryptografischem Schlüssel und Nachrichten, ein Man-in-the-middle-Angriff und die Verwendung von digitalen Signaturen zum Signieren von Schlüsseln und Nachrichten dargestellt. Im CNG-Beispiel wird dieses Szenario veranschaulicht, wenn Sie Version 3 auswählen und Abfangen durch Mallory aktivieren.

Version 3: Signierte Schlüssel und signierte Nachrichten mit Abfangen

Version 3 ist identisch mit Version 2, mit der Ausnahme, dass die Verwendung einer digitalen Signatur zum Signieren von Nachrichten und Verschlüsselungsschlüsseln veranschaulicht wird.

In den Schritten 1 bis 6 sendet Alice den digitalen Signaturschlüssel über den unsicheren PublicChannel, auf dem er von Mallory abgefangen wird. Dieser verwendet ihn, um seine ersetzten Schlüssel und Nachrichten zu signieren. Das führt dazu, dass Alice, Bob und Mallory den gleichen digitalen Signaturschlüssel verwenden. Wenn Alice und Bob in den Schritten 15, 20, 35 und 42 die Schlüssel- und Nachrichtensignaturen überprüfen, erkennen sie die Abfangaktion von Mallory nicht.

Version 4: Signierte Schlüssel und signierte Nachrichten mit Erkennung

In der folgenden Abbildung werden der Austausch von kryptografischem Schlüssel und Nachrichten, ein Man-in-the-middle-Angriff und die Verwendung von digitalen Signaturen zum Signieren von Schlüsseln und Nachrichten dargestellt. Zusätzlich erkennt die Version 4 der Software ungültige Signaturen. Im CNG-Beispiel wird dieses Szenario veranschaulicht, wenn Sie Version 4 auswählen und Abfangen durch Mallory aktivieren.

Version 4: Signierte Schlüssel und signierte Nachrichten mit Erkennung

Version 4 unterscheidet sich folgendermaßen von Version 3:

  • Nur Alice und Bob erhalten die Version 4 der Software.

  • Version 4 sendet den in Version 3 verwendeten digitalen Signaturschlüssel, behandelt ihn jedoch als falschen Schlüssel.

  • In Version 4 kann Alice einen zweiten digitalen Signaturschlüssel über einen privaten Channel, von dem Mallory keine Kenntnis hat, an Bob senden. (Dies ist Schritt 0 in der vorherigen Abbildung.) Alice und Bob verwenden diese private digitale Signatur, um ihre Schlüssel und Nachrichten zu signieren.

  • Version 4 erkennt die ungültigen Signaturen von Mallory in den Schritten 15, 20, 35 und 42 und zeigt Sicherheitswarnungen an.

Mallory verwendet weiterhin die digitale Signatur der Version 3, um seine ersetzten Schlüssel und Nachrichten zu signieren. Ergebnis:

  • Er hat keine Kenntnis von dem privaten digitalen Signaturschlüssel der Version 4.

  • Er empfängt keine Sicherheitswarnungen.

  • Er weiß nicht, dass Alice und Bob seinen ungültigen Schlüssel und seine ungültigen Nachrichtensignaturen erkennen können.

Version 5: Signierte Schlüssel und signierte Nachrichten mit Beenden der Sitzung

In der folgenden Abbildung werden der Austausch von kryptografischem Schlüssel und Nachrichten, ein Man-in-the-middle-Angriff und die Verwendung von digitalen Signaturen zum Signieren von Schlüsseln und Nachrichten dargestellt. Wie in Version 4 werden ungültige Signaturen erkannt. Im CNG-Beispiel wird dieses Szenario veranschaulicht, wenn Sie Version 5 auswählen und Abfangen durch Mallory aktivieren.

Version 5: Signierter Schlüssel und signierte Nachrichten mit Beendigung

Version 5 ist identisch mit Version 4, mit der Ausnahme, dass die Sitzung beendet wird, wenn Alice und Bob öffentliche Verschlüsselungsschlüssel mit ungültigen digitalen Signaturen empfangen.

Siehe auch

Konzepte

Beispiel für sichere Cryptography Next Generation (CNG)-Kommunikation

Übersicht über Kryptografie

Änderungsprotokoll

Date

Versionsgeschichte

Grund

Juli 2008

Thema hinzugefügt.

Erweiterung