05.11.2013 Aufrufe

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

6.2 <strong>SSL</strong>-Gr<strong>und</strong>lagen 319<br />

<strong>SSL</strong>-Upgrade im Anwendungsprotokoll<br />

Aus diesem Gr<strong>und</strong> ist man später dazu übergegangen, die Anwendungsprotokolle<br />

dahingehend zu erweitern, daß sie eine ungesicherte Netzwerkverbindung<br />

zu einer gesicherten Verbindung hochstufen können. Die Anwendungsprotokolle<br />

werden dazu in der Regel um einen STARTTLS genannten Befehl ergänzt,<br />

<strong>mit</strong> dem ein Client ein sogenanntes <strong>SSL</strong>-Upgrade beantragen kann. 14 Auf diese<br />

Weise wird die Absicherung der Netzwerkverbindung in das bestehende<br />

Protokoll integriert <strong>und</strong> die Zuweisung eines separaten Ports kann entfallen.<br />

Um dieses Verfahren zu verstehen, besprechen wir anhand eines Beispiels das<br />

in RFC 3207 [Hof02] beschriebene <strong>SSL</strong>-Upgrade für das Simple Mail Transfer<br />

Protocol (SMTP). Das Anwendungsprotokoll startet zunächst <strong>mit</strong> der uns<br />

bereits geläufigen Begrüßung zwischen Client <strong>und</strong> Server: 15<br />

Nachdem sich der Server gemeldet hat, schickt der Mailclient seinen EHLO-<br />

Gruß an den Server. Der Mailserver reagiert darauf <strong>mit</strong> einer Liste der von<br />

ihm unterstützten Serviceerweiterungen (hier SIZE, PIPELINING, STARTTLS<br />

<strong>und</strong> HELP). Der Client weiß nun u. a., daß der Server ein <strong>SSL</strong>-Upgrade über<br />

das STARTTLS-Kommando unterstützt <strong>und</strong> macht als nächstes freudig davon<br />

Gebrauch. In einer letzten unverschlüsselten Nachricht teilt der Server daraufhin<br />

<strong>mit</strong>, daß er dem Wunsch des Clients nach einer <strong>SSL</strong>-gesicherten Netzwerkverbindung<br />

stattgibt (220 TLS go ahead) <strong>und</strong> fordert den Client gleichzeitig<br />

auf, sofort den Aufbau der <strong>SSL</strong>-Verbindung zu initiieren. Danach beginnen<br />

beide Parteien über die bestehende TCP-Verbindung <strong>mit</strong> dem Aushandeln<br />

einer neuen <strong>SSL</strong>-Verbindung.<br />

220 manhattan ESMTP Exim 4.30 Tue, 14 Mar 2006 23:01:09 +0100<br />

EHLO indien<br />

250-manhattan Hello indien [192.168.1.1]<br />

250-SIZE 52428800<br />

250-PIPELINING<br />

250-STARTTLS<br />

250 HELP<br />

STARTTLS<br />

220 TLS go ahead<br />

<br />

EHLO indien<br />

14 Die Namenswahl für den STARTTLS-Befehl bedeutet übrigens nicht, daß es sich bei<br />

der gewünschten Verbindung im engeren Sinne um eine TLS-Verbindung handeln<br />

muß, sondern veranlaßt nur das wahlweise Aushandeln einer <strong>SSL</strong>v2-, <strong>SSL</strong>v3 oder<br />

TLS-Verbindung. Welche Protokollversionen dann tatsächlich zur Verfügung stehen,<br />

wird von der jeweiligen Client-/Server-Implementierung bestimmt.<br />

15 Alle Zeilen, die <strong>mit</strong> drei Ziffern beginnen, sind Ausgaben des Mailservers, die<br />

dieser an den Mailclient über<strong>mit</strong>telt. Die restlichen Zeilen zeigen die Mail-<br />

Kommandos des Clients an den Server.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!