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 313<br />

Das via <strong>SSL</strong> übertragene HTTP-Protokoll, welches man im Webbrowser an<br />

den <strong>mit</strong> https:// beginnenden URLs erkennen kann, ist <strong>mit</strong> Sicherheit immer<br />

noch die bekannteste Anwendung des <strong>SSL</strong>-Protokolls. Da das <strong>SSL</strong>-Protokoll<br />

in die Transportschicht integriert ist, steht die Verwendung von <strong>SSL</strong> aber<br />

auch anderen Netzwerkanwendungen offen. So werden inzwischen auch immer<br />

öfter die Zugriffe auf das eigene E-Mail-Postfach (POP3 <strong>und</strong> IMAP) oder der<br />

E-Mail-Versand (SMTP) über <strong>SSL</strong>-verschlüsselte Verbindungen abgewickelt.<br />

Die Anwendungen (Clients <strong>und</strong> Server) müssen dazu allerdings explizit auf<br />

den Einsatz von <strong>SSL</strong>-Verbindungen abgestimmt werden. Die Aufgaben reichen<br />

von der Initialisierung des Pseudozufallszahlengenerators über den Verbindungsaufbau<br />

bis zur gewissenhaften Überprüfung der <strong>SSL</strong>-Zertifikate. In<br />

den nachfolgenden Abschnitten dieses Kapitels lernen wir deshalb, wie eigene<br />

Netzwerkanwendungen <strong>SSL</strong>-fähig werden.<br />

Absicherung in der Anwendungsschicht<br />

Als letztes ist es natürlich auch möglich, die Datenübertragung durch die<br />

Anwendung selbst abzusichern. Gelungene Beispiele für diese Idee sind z. B.<br />

die Secure Shell (SSH) für den sicheren Rechnerzugang über das Netzwerk <strong>und</strong><br />

Pretty Good Privacy (PGP) zur Verschlüsselung von E-Mails (oder anderen<br />

vertraulichen Daten).<br />

Die Absicherung in der Anwendungsschicht hat den Vorteil der un<strong>mit</strong>telbaren<br />

Nähe zur Anwendung. Die für die Sicherheit notwendigen Sicherheitsprotokolle<br />

können da<strong>mit</strong> individuell auf die Bedürfnisse der Anwendung abgestimmt<br />

werden. Andererseits müssen die Protokolle dann auch selbst entworfen <strong>und</strong><br />

implementiert werden. Dies birgt die große Gefahr, daß bereits kleine Fehler<br />

im Design oder in der Implementierung das Sicherheitsniveau der gesamten<br />

Anwendung ruinieren können.<br />

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

Mit dem <strong>SSL</strong>-Protokoll steht für Netzwerkanwendungen ein Sicherheitsprotokoll<br />

zur sicheren Datenübertragung über ein unsicheres Netz zur Verfügung.<br />

<strong>SSL</strong> stellt Vertraulichkeit, Authentizität <strong>und</strong> Integrität in der Transportschicht<br />

bereit <strong>und</strong> baut dabei auf ein zuverlässiges Transportprotokoll wie<br />

TCP. Zum Entstehungszeitpunkt dieses Buchs existieren zwei unterschiedliche,<br />

freie <strong>SSL</strong>-Implementierungen, die den <strong>SSL</strong>-gesicherten Datenaustausch<br />

über TCP ermöglichen: Open<strong>SSL</strong> 11 <strong>und</strong> GnuTLS 12 .<br />

11 Open<strong>SSL</strong>-Homepage: http://www.openssl.org/<br />

12 GnuTLS-Homepage: http://www.gnutls.org/

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!