Vollbildmodus: Seiteninhalt ohne Menus

SSL und TLS

Transport Layer Security (TLS) oder Secure Sockets Layer (SSL) ist ein hybrides Verschlüsselungsprotokoll für Datenübertragungen im Internet. TLS 1.0, 1.1 und 1.2 sind die standardisierten Weiterentwicklungen von SSL 3.0 (TLS 1.0 steht neu für SSL 3.1). SSL wird also nun unter dem Namen TLS weiterentwickelt. Hier wird die Abkürzung SSL für beide Bezeichnungen verwendet.

Zentral für die Sicherheit von verschlüsselten Verbindungen ist die Integrität der Stellen (Certificate Authorities = CAs) die Zertifikate ausgeben. Einbrüche bei diesen Anbieter führen dazu, dass gültige Zertifikate von unberechtigten Personen erstellt und für das Ausspähen dritter verwendet können 1).

Links

Man-in-the-middle Attacken gegen SSL

Man-in-the-middle (MITM)-Attacken sind im Zusammenhang mit SSL ein Problem, besonders wenn der Angreifer im gleichen (lokalen) Netz ist. Beide Partner glauben mit dem jeweils anderen Daten auszutauschen, dabei geht der Verkehr tatsächlich über den Angreifer. Der Client hat mit dem Angreifer und der Angreifer mit dem Server jeweils Verbindungen aufgebaut. Der Angreifer gibt sich jeweils als Partner aus und schickt dabei die Daten (ausspioniert) an den eigentlichen Adressaten weiter. Programme wie dsniff können die Prozedur automatisieren indem z.B. die DNS-Anfragen des Clients mit einer falschen Antwort (einer IP die vom Angreifer kontrolliert wird) beantwortet.

Da SSL auch auf einer Serverauthentifizierung basiert, ist es allerdings nicht unbemerkt möglich sich als Server auszugeben, da der Angreifer nicht im Besitz des geheimen Schlüssels des Servers ist. Der Angreifer kann vier Wege gehen (sortiert von 1. leicht bis 4. schwer):

  1. ein selbst-signiertes Zertifikat oder ein Zertifikat einer anderen Domain vorzeigen. Die Folge ist eine Fehlermeldung im Browser (Zertifikat nicht vertrauenswürdig, passt nicht zur Domain) die aber viele Nutzer leichtfertig wegklicken.
  2. den Client überzeugen, die eigene Root-CA (Zertifizierungsstelle) zu akzeptieren. Falls er gelingt ist der Angreifer in der Lage für sämmtliche Domains eigene (gültige und ohne Fehlermeldung akzeptierte) Zertifikate auszustellen. Das kann insbesondere bei (ungesicherten) öffentlichen Rechern sehr erfolgreich sein. Wenn man transparente SSL-Proxies verwendet, ist dies sogar nötig.
  3. eine Root-CA (Zertifizierungsstelle) dazu bewegen, ein Zertifikat für die Zielseite auszustellen. Das sollte schwer sein, denn jede Zertifizierungsstelle ist angehalten Zertifizierungsanträge (und die Identität des Antragstellers!) genau zu überprüfen.
  4. ein Zertifikat einer anerkannten Root-CA (Zertifizierungsstelle) zum Ausstellen von Zertifikaten benutzen. Das setzt vorraus, das man sich vorher ein solches gestohlen hat (z.B. durch einen korrupten Mitarbeiter).

Die einzige Lösung ist sowohl Server- als auch Clientauthentifizierung (letztere nicht durch Passwort). Das Problem ist auch eher die DNS-Anfrage die man im herkömmlichen DNS nicht verifizieren kann. Lösung: DNSSEC einsetzen.

:!: Der Vortrag “SSL-Datenübertragung - Lauschangriff“ demonstriert einen erfolgreichen Angriff.

SSL Zertifikate für Webserver

Ohne Warnung (die Zertifizierungsautorität bzw. root CA unbekannt) gehen bisher leider nur die teuren Zertifikate von

  • und Thawte.
  • Als „Preisbrecher“ kann man noch Geotrust aufführen, auch dieses Angebot kostet jedoch einen dreistelligen Euro-Betrag.
  • Günstiger sind PSW und InstantSSL, hier gehts schon zweistellig los.

Andere Anbieter:

Grund: Die Aussteller führen eine recht genaue Identitätsprüfung durch und lassen sich ihre besondere Stellung dann natürlich auch versilbern.

Alternativen

  1. selbst-signieren → dann hat man aber auf jeden Fall immer mindestens eine Warnmeldung.

Zertifikat erstellen

Liste der Root-Zertifikate

Bei Linux erkennt openSSL Root-zertifikate die unter /usr/share/ca-certificates liegen und die Endung .crt besitzen. Durch den Aufruf von

dpkg-reconfigure ca-certificates

wird die Liste unter /etc/ssl/certs aktualisiert. Dies sind vor allem symbolische Links auf die Dateien in /usr/share/ca-certificates.

 
netzwerke/ssl-und-tls.txt · Zuletzt geändert: 2011/09/06 18:36 von st
 
Backlinks: [[netzwerke:ssl-und-tls]]