Hallo Forum,
wünsche allen zuerst mal schöne und erholsame Feiertage.
Hatte letztens ein Thread gestartet, was ein Login betrifft:
http://forum.de.selfhtml.org/?t=181122&m=1197620
Befasse mich zurzeit etwas mit Sessions und hab auch viel über Https gelesen. Das ganze verwirrt mich aber
einwenig, da ich nicht so ganz fit bin mit den Fachbegriffen.
Kann man mir das so grob bestätigen oder Schrittweise etwas besser ausbauen:
1. Server erhält von Zertifizierungsstelle ein öffentliches Zertifikat, indem auch ein public-key enthalten ist.
2. Client hat ein private-key (Wird evtl. selber erzeugt oder von Zertifizierungsstelle
geholt?)
3. Client schickt bei erster Anfrage Zufallszahlen mit und erhält vom Server das Zertifikat, eine Session und eine ID.
Das Zertifikat kann durch Verbindung zur Zertifizierungsstelle überprüft werden.
4. Beim Client wird mit den Daten (Session, ID und dem davor geschickten Zufallszahl) ein Schlüssel generiert.
(Nennen wir es Premaster-Schlüssel)
Der Premaster-Schlüssel wird mit dem öffentlichen Schlüssel (public-key) verschlüsselt und an den Server geschickt.
5. (???) Wie erhält der Server nun den Premaster-Schlüssel? Wie entschlüsselt er zurück. Laut Wiki mit einem
eigenen Privaten-Schlüssel. Wo kommt der Private Schlüssel her? Wie konnte der Client den Privaten Schlüssel
berücksichtigen?
6. Server generiert dann mit dem Premaster-Schlüssel ein Master-Schlüssel und es geht auf dem gleichen Weg
zurück zum Client. Jetzt haben beide den Master-Schlüssel.
7. Dies wäre jetzt das SSL-Handschake und assymetrisch.
8. Da wir jetzt einen gemeinsamen Master-Schlüssel haben läuft der restliche eigentliche Datenaustausch dann
mit dem Master-Schlüssel symetrisch ab. (Hat der Master-Schlüssel nun einen öffentlichen und privaten Teil???)
Damit ich nun das folgende checke, muss ich die Punkte bis hierhin kapieren:
Client verschlüsselt Anfrage mit seinem privaten Key, welches der Server mit dem öffentlichen Key wieder
entschlüsseln kann. die Antwort kann er mit dem öffentlichen Schlüssen wieder entschlüsseln, wo anschließend nur
der Client mit dem privaten Schlüssel entschlüsseln kann.
Wie man sieht, bin ich etwas verwirrt ;)