SSL









SSL Handshake

  1. Klient sendet SSL-Versions-Nummer, Verschlüsselungseinstellungen, Zufallsdaten und andere Informationen

  2. Server sendet zusätzlich sein Zertifikat, und beantragt (falls notwendig) das Klienten-Zertifikat.

  3. Server-Authentifizierung

  4. a) Erstellung des "premaster secret" durch den Klienten
    b) Verschluesselung durch public key des Servers
    c) Senden zum Server

  5. Falls Server Klient-Authentifizierung beantragt hat:
    a) Klient signiert einen Teil Daten, die einzigartig in diesem Handshake sind, und Client und Server bekannt sind
    b) Klient sendet sowohl die signierten Daten, sein eigenes Zertifikat, als auch das verschluesselte Premaster Sercret

  6. Server:
    a) Klienten Identifizierung erfolgreich
    b) Entschluesselung des Premaster Secret
    c) Generierung des Master Secret

  7. Server und Klient nutzen nun das Master Secret um "Session keys" zu generieren

  8. Klient sendet eine Nachricht zum Server, dass in Zukunft Nachrichten mit dem Session key verschluesselt werden

  9. Server macht dasselbe

  10. Das SSL-Handshake ist vollstaendig und die SSL-Sitzung hat begonnen


Client                                                                      Server

Hello                                   ====== = >

                                                                                 Hello
                                                                                 Certificate
                                                                                 KeyExchange
                                                                                 CertificateRequest
                                            <=======                  HelloDone
Certificate
KeyExchange
CertificateVerify
[ChangeCipherSpec]
Finished                             =======>                   [ChangeCipherSpec]
                                                                                  Finished
Application Data              <======>                   Application Data




weiter