2017-12-15 8 views
0

Ich möchte einen Webserver erstellen, der sich über SSL/TLS verbinden kann.Wo speichert der Browser die SSL-Sitzungs-ID im Paket?

Da das HTTPS-Protokoll zustandslos ist, gehe ich davon aus, dass jedes Mal, wenn der Browser eine Verbindung zu einem Server herstellt, der Handshake ausgeführt wird. Ich möchte Remandshaking vermeiden, wenn es sich mit demselben Client-Browser verbindet und dieselben Informationen aus dem früheren Handshake verwendet.

Damit ein Server eine Verbindung zu einem früheren Browser erkennt, sollte die SSL-Sitzungs-ID verwendet werden. Wo finde ich die SSL-Sitzungs-ID im Paket?

Für den Server zu wissen, dass es eine Wiederverbindung ist, denke ich, ID sollte in dem Paket (d. H. TCP-Header) sein. Liege ich falsch?

Ich mache einen Server von Grund auf, also verwende ich keine Bibliothek. Ich manipuliere direkt Pakete. Ich habe bereits Klasse für die Manipulation von Paketen gemacht. Und die TLS-Schicht befindet sich oben auf der TCP-Schicht, so dass ich nicht viel Mühe brauche, um auf die TLS-Schichtdaten zuzugreifen. Ich habe die Datenstruktur der Datensatzschicht betrachtet, aber ich konnte die Sitzungs-ID nicht finden. Wo ist es?

Ich habe bereits HTML-Server-Teil abgeschlossen, und ich möchte SSL/TLS-Funktionalität hinzufügen.

Ich weiß, wie hallo Protokoll und Handshake durchgeführt wird. Ich möchte wissen, wie die kompromittierte SSL-Sitzungs-ID einem Server in den Paketen der folgenden Hauptdaten nach dem Handshake bekannt ist.

+0

TLS Die Sitzungszusammenfassung erfolgt auf der TLS-Ebene und nicht auf der TCP-Ebene. Dies bedeutet, dass die Informationen nicht im TCP-Header, sondern in den TLS-Nachrichten enthalten sind, insbesondere im TLS ClientHello. –

+0

Dann, wie können Web-Services ID trotz staatenlosen Service herausziehen? – Parker

+0

Ich denke, Sie vermischen SSL/TLS-Sitzungs-ID und HTTP-Sitzungs-ID. Beide sind völlig unterschiedliche Dinge für verschiedene Zwecke. Erstens wird auf TLS-Ebene übertragen, zweitens auf HTTP-Ebene (normalerweise als Cookies). –

Antwort

0

Ich beantworte meine eigene Frage. Ich denke meine Annahme ist falsch. Ich dachte hallo Protokoll und andere Verfahren später werden verschiedene Verbindungen verwenden.

Mein neuer Satz ist " Auch in HTTPS-Protokoll, die Verbindung während der Zeit von Handshake bis zu einem gewissen Betrag der Datenübertragung aufrechterhalten wird. Dies ist eine Einheit des https-Transfers. Also jede https-Verbindung von hallo Protokoll beginnen . "

Jedes Mal, wenn eine HTTPS-Verbindung hergestellt wird, kennt der Server die Sitzungs-ID aus dem hallo-Protokoll und sucht unter bereits eingerichteten Sitzungen nach der ID.

Ich habe keine eindeutige Erwähnung darüber gefunden. Aber aus Informationen, die ich gesammelt habe, habe ich diesen Weg abgeschlossen. Wenn jemand eine klare Antwort kennt, bitte hier posten.

Verwandte Themen