| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
| planung:kryptologie:asymmetrischekrypto [2023/03/24 14:52] – lehmannr | planung:kryptologie:asymmetrischekrypto [2023/03/24 15:16] (aktuell) – lehmannr |
|---|
| An der Internetadresse ist leicht zu erkennen, ob der Datenaustausch verschlüsselt oder unverschlüsselt passiert, denn die Internetadresse wechselt von http (Hypertext Transfer Protocol) auf https (Hypertext Transfer Protocol Secure). Zudem ist links neben der Internetadresse ein Symbol mit einem geschlossenen Schloss zu sehen. Betrachten wir z.B. den Aufruf der Seite Instagram: | An der Internetadresse ist leicht zu erkennen, ob der Datenaustausch verschlüsselt oder unverschlüsselt passiert, denn die Internetadresse wechselt von http (Hypertext Transfer Protocol) auf https (Hypertext Transfer Protocol Secure). Zudem ist links neben der Internetadresse ein Symbol mit einem geschlossenen Schloss zu sehen. Betrachten wir z.B. den Aufruf der Seite Instagram: |
| |
| {{ :planung:kryptologie:instagram.png?400|}} | {{:planung:kryptologie:instagram.png?400|}} |
| |
| Der Client (mein Browser z.B. Google Chrome/Safari/Firefox) verbindet sich mit dem Facebook-Server und sendet ein so genanntes „Client Hello“. Dies ist eine Startmeldung, die dem Server zu verstehen gibt, dass sich jemand mit ihm verschlüsselt „unterhalten will“. Nun müssen sich Chrome und der Facebook-Server darauf verständigen, welche Verschlüsselungsmethode und welcher Schlüssel verwendet werden. Theoretisch könnte der Server einfach seinen öffentlichen Schlüssel senden und der Client verschlüsselt die gesamten Daten mit diesem öffentlichen Schlüssel und schickt sie dem Server, doch bei grösseren Datenmengen ist dies recht ineffizient da es ziemlich aufwändig ist, viele Daten mit dem RSA-Verfahren auszutauschen. | Der Client (mein Browser z.B. Google Chrome/Safari/Firefox) verbindet sich mit dem Server von Instagram und sendet ein so genanntes „Client Hello“. Dies ist eine Startmeldung, die dem Server zu verstehen gibt, dass sich jemand mit ihm verschlüsselt „unterhalten will“. Nun müssen sich Chrome und der Instagram-Server darauf verständigen, welche Verschlüsselungsmethode und welcher Schlüssel verwendet werden. Theoretisch könnte der Server einfach seinen öffentlichen Schlüssel senden und der Client verschlüsselt die gesammten Daten mit diesem öffentlichen Schlüssel und schickt sie dem Server, doch bei grösseren Datenmengen ist dies recht ineffizient da es ziemlich aufwändig ist, viele Daten mit dem RSA-Verfahren auszutauschen. |
| Es wird daher von beiden Seiten ein symmetrisches Verfahren verwendet, welches von den beiden Partien zunächst abgemacht wird (DES, 3DES, Idea und RC4). Welches Verfahren verwendet wird, hängt davon ab, welche Verschlüsselung der Client und der Server beherrschen. Nun muss jedoch ein Schlüssel (Session-Key) ausgetauscht werden, so dass diese Verschlüsselung sicher ist. Dies geschieht mit dem RSA- oder mit dem Diffie-Hellman Verfahren. Beide Partien haben dann den Schlüssel, welcher für das Symmetrische Verfahren verwendet wird, ohne dass eine Drittperson, die alles mithört, den Schlüssel knacken kann. Nun wird der gesamte Nach¬richten¬verkehr dieser Session mit diesem Schlüssel verschlüsselt und bei jeder Neuverbindung wird ein neuer Schlüssel gewählt. | |
| Damit der Client sicher ist, dass er tatsächlich mit Facebook verbunden ist, schickt der Server noch ein Server-Zertifikat, welches bei einer Zertifizierungsstelle registriert ist (vgl. Abb 17.) Dies ist eine Digitale Signatur, die mit dem privaten Schlüssel des Facebook-Servers verschlüsselt wurde und mit dem öffentlichen Schlüssel des Servers kann man die Digitale Signatur entschlüsseln. Man weiss also, dass der Kommunikationspartner tatsächlich den privaten Schlüssel zum gelieferten öffentlichen Schlüssel besitzt. Eine unabhängige Schlüsselzertifizierungsstelle garantiert, dass es sich dabei tatsächlich um Facebook handelt. | Es wird daher von beiden Seiten ein symmetrisches Verfahren verwendet, welches zunächst abgemacht wird (DES, 3DES, Idea und RC4). Welches Verfahren verwendet wird, hängt davon ab, welche Verschlüsselung der Client und der Server beherrschen. Bevor aber symmetrisch verschlüsselt werden kann, muss zunächst ein Schlüssel (Session-Key) ausgetauscht werden. Dieser Schlüsseltausch geschieht mit dem RSA- oder mit dem Diffie-Hellman Verfahren. Sobald beiden Parteien den Schlüssel haben wird der gesamte Nachrichtenverkehr mit diesem Schlüssel verschlüsselt und bei jeder Neuverbindung wird ein neuer Schlüssel gewählt. |
| | |
| | Damit der Client sicher ist, dass er tatsächlich mit Instagram verbunden ist, schickt der Server noch ein Zertifikat, welches als Digitale Signatur dient. Dieses Zertifikat ist ausserdem bei einer Zertifizierungsstelle registriert, so dass man sicher ist, dass der entsprechende private Schlüssel auch tatsächlich Instagram gehört. |
| | |
| | <WRAP nicebox green> |
| | **Aufgabe ** |
| | |
| | - Was ist der grosse Unterschied zwischen einem symmetrischen und einem asymmetrischen Verschlüsselungssystem? |
| | - Was versteht man unter Integrität und Authentizität? |
| | - Wie kann man mit der Public-Key Kryptographie (z.B. RSA) eine digitale Unterschrift realisieren? |
| | - Warum benötigt man eine unabhängige Zertifizierungsstelle? |
| | - Klicke in Google Chrome bei einer gesicherten Verbindung rechts oben auf die drei Punkte und dann auf "Weitere Tools"->"Entwicklertools". Nun kannst du unter "Security" sehen, ob und wie deine Verbindung gesichert ist. ECDHE_RSA bedeutet z.B., dass (Elliptic-Curve)Diffie Hellman für den Schlüsseltausch und RSA für die Authentifizierung verwendet wird. AES_256 ist eine Spezifikation für die verwendete symmetrische Verschlüsselung. |
| | </WRAP> |
| |
| |
| Hier sieht man, welche Verschlüsselungsverfahren der Browser beherrscht. Die Abkürzungen enthalten sowohl die Methode, wie der Schlüssel ausgetauscht wird, als auch welche Symmetrische Verschlüsselung danach verwendet wird. Z.B. ECDHE = Elliptic Curve Diffie-Hellman (Schlüsseltausch) | Hier sieht man, welche Verschlüsselungsverfahren der Browser beherrscht. Die Abkürzungen enthalten sowohl die Methode, wie der Schlüssel ausgetauscht wird, als auch welche Symmetrische Verschlüsselung danach verwendet wird. Z.B. ECDHE = Elliptic Curve Diffie-Hellman (Schlüsseltausch) |
| Komplette Informationen z.B hier: https://ciphersuite.info/cs/TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256/ | Komplette Informationen z.B hier: https://ciphersuite.info/cs/TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256/ |
| | |
| | |
| |
| </WRAP> | </WRAP> |