Zum Inhalt springen

Rund um SSL - Verständnissfragen


unliked

Empfohlene Beiträge

Hallo zusammen,

ich bin neu hier im Forum und hoffe erstmal das ich das richtige Subforum erwischt habe. Wenn nicht bitte ich darum das ganze in das korrekte zu verschieben.

Ich bin momenten dabei mich in das Thema SSL einzuarbeiten. Ich denke jeder der das schon getan hat, weiß das dies nicht unbedingt zu den leichtesten Aufgaben gehört. Jedenfalls möchte Ich euch hiermit mein Verständnis von der Materie darbieten, die sicherlich noch nicht ganz korrekt sein wird.

Ich hoffe Ihr könnt mir dabei helfen.

Ok, ich geb mein bestes das ganze hier einmal zu strukturieren:

Wofür benötige ich SSL (bezogen auf HTTPS)?

Den meisten dürfte klar sein das, bei der Verwendung von HTTP Daten unverschlüsselt übertragen werden. Durch die Verwendung von SSL kann ein verschlüsselter Kanal zwischen Kommunikationspartnern aufgebaut werden. Somit ist es dritten nicht möglich, bzw. bis zum maximum erschwert, Daten abzuhören.

Verschlüsselungsmethoden:

Asymetrisch beim SSL Handshake und symetrisch beim SSL Record

Grund:

Asymetrisch ist durch die Verwendung von Public und Priivate Key die sichere aber auch langsamere Variante.

Daher wird nach einem erfolgreichen SSL Handshake und austauschen des symetrischen Schlüssels die semtrische, weil schnellere, Variante benutzt

Jedes verschlüsselte Pakete enthällt die digitale Unterschrift des anderen. Damit kann sichergestellt werden, dass die Pakete die ich empfagen auch von dem korrekten Absender sind.

Die digitale Unterschrift wird gebildet aus dem Hash eines Paketes. Dieser Hash Wert wird anschließend noch mit dem privaten Schlüssel signiert.

Der Empfänger vollzieht den Schritt in umgekehrter Reihenfolge. Ist der Hash Wert dem der digitalen Unterschrift gleich, kann sicher davon ausgegangen werden, dass das Paket nicht manipuliert wurde.

Zertifikate:

Das Zertifikat dient im eigentlichen lediglich der Beglaubigung der Instituation (z.B. der Webseite) und dem bereitstellen des Public Keys. Der Austeller des Zertifikats ist dafür verantwortlich, dass die Institution auch die ist, die sie vorgibt zu sein.

Der SSL Record:

Dieser ist für die Übertragung der DAten zuständig. Dies geschieht wie folgt: Nimmt Daten beliebiger Größe entgegen -> frangmentiert diese -> wendetr Komprimierungsalgorythmus an -> wendet Verschlüsselungsalgorythmus an -> signiert die Daten und gibt diese anschließend an die TCP/IP Layer weiter.

Beim Empfänger geschieht dies genau anders herum.

Welche Komprimierungs- und Verschlüsselungsalgorythmen verwendet werden, wird bereits im SSL Handshake ausgehandelt/vereinbart.

Fragen:

1) Ich habe bestimmt wichtige Punkte vergessen o.ä., welche sind das?

2) Das mein Webserver, welcher das Zertifikat enthällt einen Public und einen Private Key hat ist mir klar. Aber wo bekommt der Client diese beiden her?

3) Wie erfolgt der eigentliche SSL Handshake? Server tauscht mit dem Client seine Public Keys aus. Anschließend werden die Verfahren bestimmt und dann werden diese verschlüsselt und signiert übertragen? Oder fehlt da noch etwas (bestimmt)?

Link zu diesem Kommentar
Auf anderen Seiten teilen

2) Das mein Webserver, welcher das Zertifikat enthällt einen Public und einen Private Key hat ist mir klar. Aber wo bekommt der Client diese beiden her?

Der Client hat in den meisten Fällen kein von einer CA ausgestelltes Zertifikat, wie es der Server hat. Beim normalen HTTPS ist nur die Identität des Servers sichergestellt nicht die des Clients. Der Server kann ggf. beim Handshake ein Client-Zertifikat verlangen, welches aber optional ist.

Bearbeitet von lupo49
Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Client hat in den meisten Fällen kein von einer CA ausgestelltes Zertifikat, wie es der Server hat. Beim normalen HTTPS ist nur die Identität des Servers sichergestellt nicht die des Clients. Der Server kann ggf. beim Handshake ein Client-Zertifikat verlangen, welches aber optional ist.

Okay,

d.h. also folgendes?

Der Clients muss demnach keine Daten signieren die er an den Server schickt? Also z.B. wenn ich über einen SSL gesicherten Webmailer Text für eine E-Mail tippe? Wie darf ich mir das vorstellen?

Weil die verschlüsselten Daten werden doch mit dem private Key des senden verschlüsselt!?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hier mal schauen: http://upload.wikimedia.org/wikipedia/commons/a/ae/SSL_handshake_with_two_way_authentication_with_certificates.svg

Du musst unterschieden zwischen dem Aufbau der SSL-Verbindung und der eigentlichen Übertragung der Nutzdaten. Wenn du in deinem Webmail einer E-Mail tippst, dann werden die Zeichen bereits mit dem zufällig generierten Schlüssel verschlüsselt.

http://de.wikipedia.org/wiki/Transport_Layer_Security#SSL_Handshake_Protocol - Punkt 3 ist hier interessant.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also so wie ich es nach dem Artikel verstehe, sendet der Client das er kein Zertifikat hat. Hat er in dem Fall wie ich es überlege auch nicht, bzw. bei dem Szenario welches ich vor Augen habe. Aber der Client schickt doch auch Befehle an den Server.

Wie läuft das ganze, dass ist mir noch nicht klar?

Also während des HandShakes wird dann halt der pre-master key mit dem Server public Key verschlüsselt - soweit richtig ja? Wenn dieser pre master Key ausgetauscht ist, ist man gegen Replay Attacken gesichert. Nun wird nur noch der symmetrische Schlüssel ausgetauscht, womit dann die eigentlichen Daten verschlüsselt werden? D.h. der Client würde rein theoretisch nur beim Handshake ein Zertifikat benötigen, welches aber nicht zwingend ist, da das auch mit dem Public Key des Servers erfolgen kann? Soweit richtig?

Wenn nicht bitte korrigieren.

Soweit erst einmal vielen Dank.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...