Smartcard

SSL/TLS – Viel hilft viel?

Den Datenverkehr von Webseiten mit SSL bzw. TLS abzusichern wird immer mehr zum Standard. Für viele Seitenbetreiber steht zwar die Tatsache im Vordergrund, dass verschlüsselte Seiten von Google besser bewertet werden im Vordergrund, davon einmal abgesehen bieten die Zertifikate aber auch augenscheinlich anderen Nutzen:

  • Es wird (theoretisch) sichergestellt, dass der dem Anwender angezeigte Inhalt auch tatsächlich von dieser Webseite stammt, also authentisch ist.
  • Es wird (theoretisch) sichergestellt, dass die von der Webseite zum Anwender übertragenen Daten von niemandem sonst mitgelesen werden können, was beim Banking oder Shopping nicht die schlechteste aller Ideen ist.
  • Durch die Mechanismen zum Erwerb des Zertifikats wird (theoretisch) sichergestellt, dass der Besitzer des Zertifikats auch derjenige ist, für den er sich ausgibt.

Soweit ist das ja eine tolle Sache, aber die Webseite einfach mit einem Zertifikat auszustatten und dann bereitzustellen, ist möglicherweise etwas zu kurz gesprungen, denn wie so oft gibt es hier eine Menge potenzieller Inkompatibilitäten:

Problem 1: Eine IP pro Zertifikat

Zunächst wäre das Problem, dass man – bei klassischer Implementierung – jeder verschlüsselten Webseite eine eigene IP Zuweisen müsste. Dies ist darin begründet, dass die Verschlüsselung aufgebaut wird, bevor der Webserver überhaupt weiß, welche Seite er anzeigen soll. Ergo kann er nur die Ziel-IP als Richtschnur nutzen, was wiederum andere Probleme aufwirft: Wie sich sicherlich auch herumgesprochen hat, ist die Zahl der IPv4-Adressen auf knapp 4 Milliarden begrenzt, und die sind dummerweise schon vergeben. Wenn nun aber Millionen von Webservern plötzlich nicht mehr je eine IP brauchen sondern dutzende oder gar hunderte, so haben wir hier ein Problem.

Lösung 1: SNI?

Die Lösung ist SNI – Server Name Indication, bei der die Verschlüsselungsreihenfolge verändert wird und der Server somit in der Lage ist, die Anfrage der richtigen Webseite zuzuordnen (wie das genau funktioniert, steht hier). SNI funktioniert tadellos – aber nur mit dem richtigen Browser! Insbesondere ältere Versionen des Internet Explorer, nametlich alle vor Version 11, unterstützen SNI nicht und die Webseiten werden nicht angezeigt. Damit sind alle Windows Clients vor Windows 7 ohne zusätzlichen Browser außen vor – und solche Konfigurationen gibt es in großen Konzernen leider noch immer genauso wie in Kleinstunternehmen mit 2 Rechnern. Zwar beträgt laut Browserstatistik der Marktanteil des Internet Explorer nur noch rund 5,5% und davon macht der IE11 85% aus – doch was nutzt einem dies, wenn es sich hier möglicherweise um die Zielgruppe handelt…

Problem 2: Alte Algorithmen

Wenn wir heute von SSL sprechen meinen wir TLS (Transport Layer Security). Und auch davon meinen wir die neuste Version 1.2. Denn alle älteren Implementierungen weisen inzwischen mehr oder weniger einfach ausnutzbare Lücken auf. Glücklicherweise kann man mit mehr oder weniger Aufwand veraltete und unsichere Schlüsselverfahren einfach auf dem Webserver deaktivieren.

Lösung 2: kalkuliertes Risiko?

Und auch hier haben wir wieder das Problem der Kompatibilität, nur das diesmal die Betriebssysteme Ursächlich sind. Weil die Anzahl der problematischen Desktopbetriebssysteme nun endlich sinkt, kann der Administrator von heute seinen Blick auf mobile Geräte und das Internet der Dinge richten – doch hier sieht im Grunde noch verheerender aus, als bei den Desktopbetriebssystemen, denn wenn der kurze Entwicklungszyklus eines Smartphones oder Tabletts vorbei ist, wird in der Regel auch nicht mehr gepatcht – auch nicht Betriebssystemnahe Komponenten wie Browser. Wenn man also darauf angewiesen ist, veraltete Clients zu unterstützen, so kann man faktisch auf veraltetes und unsicheres SSL oder – noch schlimmer – RC4 nicht verzichten!

Problem 3: Zertifikatstellen

Das Internet unterliegt einem stetigem Wandel – das gilt auch für Zertifikate, die alle eine begrenzte Gültigkeit haben und die ausgebenden Zertifikatstellen. Der Markt ist lukrativ und viele Anbieter tummeln sich um Zertifikate zu verkaufen – letzlich kleine Textdateien mit einer Zeichenfolge, dem Schlüssel. Insbesondere kleine und / oder günstige Anbieter greifen beim Ausstellen der Zertifikate aber nicht auf ihre eigene – mehr oder  minder unbekannte – Zertifikatstelle zurück, sondern lassen sich ihre eigene Zertifikatstelle von einem anderen, großen Anbieter beglaubigen. SSL Zertifikate dieser Anbieter funktionieren in der Regel, es kann aber passieren, dass der Anwender die komplette Zertifikatkette (also: Webseitenzertifikat, Zertifikat des Ausstellers und Zertifikat der beglaubigenden Stelle) in seinen Zertifikatspeicher importieren muss, um eine Fehlermeldung bei der Anzeige zu vermeiden. Faustregel: Je kleiner der Anbieter und je älter das Betriebssystem, desto mehr Probleme!

Lösung: Händisch importieren?

Natürlich kann man das Problem – wie angerissen – durch ein händisches Kopieren in den Zertifikatspeicher des Betriebssystems lösen. In der Praxis sieht das aber anders aus: Gerade beim Online-Shoppen ist die Konkurrenz nur einen Klick entfernt! Ein Shop mit Zertifikatfehler ist einen Klick später schon wieder verlassen. Ist man auf maximale Kompatibilität angewiesen, wird man früher oder später in den sauren und teuren Apfel beißen müssen und sich bei den Platzhirschen ein Zertifikat kaufen müssen.

Glücklicherweise arbeitet die Zeit für uns, und Initiativen wie Let’s Encrypt, die kostenlose SSL Zertifikate für jedermann anbieten werden von immer mehr Browsern und Herstellern als Vertrauenswürdig eingestuft. Sollte dieser Trend anhalten, werden auch die Großen wohl oder übel ihre Preise senken müssen um konkurrenzfähig zu bleiben.

Und nun?

Man sieht: Auch vermeintlich einfachen Vorhaben wie dem Verschlüsseln einer Webseitenverbindung via SSL gibt es eine Menge zu beachten und abzuwägen. Betreibt man potenziell eine Spartenseite sollte man Let’s Encrypt durchaus einmal testen. Produktive Onlineshops müssen die Gratwanderung zwischen maximaler Kompatibilität, Kosten und Sicherheit wagen.

Schreibe einen Kommentar