Skip to content

Wer bewacht die Bewacher?

by Natanael Mignon on September 24th, 2013

Viele Artikel der letzten Wochen, die sich mit der Spionage durch Geheimdienste beschäftigt haben, enthielten hinweise darauf, dass Geheimdienste in der Lage seien unterschiedliche Verschlüsselungen zu knacken, darunter auch SSL.

In den Fachmedien hingegen hieß es, dass die mathematischen Verfahren welche z.B. bei aktuellen SSL Implementierungen zum Einsatz kommen, weiterhin sicher sind und noch nicht geknackt wurden.

Grundsätzlich besteht für Geheimdienste oder andere Organisation die Möglichkeit Verschlüsselungen zu knacken. Mit hoher Wahrscheinlichkeit trifft dies jedoch nur auf Verschlüsselungen zu, deren mathematische Funktionen als nicht mehr sicher bzw. gebrochen gelten oder deren Implementierung falsch umgesetzt wurde.

Was ist SSL eigentlich?

SSL selbst ist eine Protokollerweiterung, welche dafür Sorge trägt, dass der Datentransfer zwischen zwei Punkten, z.B. zwischen ihrem Browser und dem Server ihrer Bank, verschlüsselt wird. Man spricht daher von einer Transportverschlüsselung.

Einer der größten Vorteile von SSL besteht darin, dass es sich in Kombination mit vielen unterschiedlichen Diensten/Protokollen nutzen lässt und keine bzw. nur geringe Anpassungen am ursprünglichen Protokoll notwendig sind.

Für die Transportverschlüsselung werden SSL-Zertifikate und unterschiedliche mathematische Funktionen eingesetzt. Fast jeder Anwender im Internet verwendet SSL mehre Male täglich, bewusst oder unbewusst.

Wie funktionieren Zertifikate und SSL?

Um die Funktionsweise von SSL zu erklären, bleiben wir beim Beispiel Onlinebanking.

Ruft man im Browser die Seite einer Bank auf, wird man oft bereits beim Aufruf oder aber beim Login auf eine gesicherte Verbindung umgeleitet (HTTPS).

Eine SSL gesicherte Verbindung wird in den verschieden Browsern unterschiedlich dargestellt. Handelt es sich um eine verschlüsselte Verbindung, wird dies meistens durch ein Schloss-Symbol angezeigt. Nachfolgend beispielhaft für Internet Explorer und Firefox.

ie_top_bar

firefox_top_bar

Die grün hinterlegt Adressleiste im Internet Explorer und das grüne Schloss-Symbol inkl. Namen der Firma im linken Bereich des Firefox sind Zusatzfunktionen, die die Zertifizierungsstellen anbieten um hervorzuheben, dass es sich um eine verschlüsselte Verbindung handelt.

Für Anwender soll so einfacher zu erkennen sein, dass es sich um eine verschlüsselte Verbindung handelt. Eine erhöhte Sicherheit auf Ebene der Verschlüsselung bedeutet dies nicht.

Kommen wir zu den SSL-Zertifikaten: Wie im letzten Absatz bereits erwähnt, existieren Zertifizierungsstellen, auch CA  (Certification Authority) genannt, welche für die Ausstellung von Zertifikaten zuständig sind. Im öffentlichen Bereich sind dies meist kostenpflichtige Anbieter, bei denen Zertifikate für unterschiedliche Einsatzzwecke erworben werden können. Jede CA stellt die höchste Instanz der von ihr ausgegeben Zertifikate dar und bürgt für deren Korrektheit.

Wer als Anbieter, Firma oder Privatperson ein Zertifikat benötigt, kann von einer der verfügbaren CAs ein signiertes Zertifikat anfordern. Dieser Vorgang ist meist kostenpflichtig und erfordert eine Identifizierung des Käufers gegenüber der CA. Im einfachsten Fall reicht zur Identifizierung des Käufers eine E-Mail Adresse, abhängig von der gewünschten Klassifizierung des Zertifikats kann jedoch auch eine persönlichen Vorstellung notwendig sein.

Selbst-signierte Zertifikate

Neben dem Kauf von Zertifikaten bei einer CA, besteht die Möglicht der Erstellung von selbst-signierten Zertifikaten. Der Nachteil dieser Zertifikate besteht darin, dass keine Instanz für die Gültigkeit oder Korrektheit bürgt und Sie als Anwender selber prüfen müssen, ob das Zertifikat korrekt ist. Technisch gesehen gibt es im Bereich der Verschlüsselung keinen Unterschied.

Bei der Verwendung von selbst-signierten Zertifikaten werden Anwender jedoch mit hoher Wahrscheinlichkeit eine Warnung wie die nachfolgende erhalten. Bei gültigen, von einer anerkannten CA ausgestellten Zertifikaten gibt es keine Warnungen.

ie_certificate_warning

Wichtig: Ihr Browser zeigt nicht nur Warnungen an, wenn es sich um ein selbst-signiertes Zertifikate handelt dem sie bzw. ihr Computer nicht vertraut. Sie erhalten vergleichbare Meldungen, wenn z.B. ein Zertifikat abgelaufen ist oder der Name der Website nicht mit der von Ihnen aufgerufenen Adresse übereinstimmt. Da sich diese Meldungen immer sehr ähnlich sehen, empfiehlt es sich den angezeigten Text genau zu lesen und im Zweifel den Vorgang abzubrechen oder den Anbieter zu kontaktieren.

Wofür das Zertifikat?

Der wichtigste Teil des Zertifikats ist der öffentlichen Schlüssel. Mit dem öffentlichen Schlüssel, auch public key genannt, lassen sich Daten verschlüsselt übertragen. Zum entschlüsseln dieser Daten wird hingegen der geheimen Schlüssel (private key) benötigt, die Entschlüsselung mit dem public key ist nicht möglich.

Der private Schlüssel wird nur dort benötigt, wo die Daten entschlüsselt werden müssen, z.B. auf dem Server der Bank. Im Idealfall ist dieser Teil somit nicht einmal der CA bekannt. Werden zum Ver- und Entschlüssel unterschiedlichen Schlüssel benötigt, spricht man von asymmetrischer Verschlüsselung.

Neben dem öffentlichen Schlüssel enthält dass Zertifikat zusätzliche Informationen, wie z.B. „seine eigene Gültigkeit“, „von wem es ausgestellt wurde“ oder „wofür es verwendet werden darf“. Diese Informationen werden beim Aufruf der Onlinebanking Website vom Browser auf ihrem Computer überprüft. Kommt es bei der Überprüfung zu Abweichungen oder ist das Zertifikat abgelaufen, zeigt ihr Browser eine entsprechende Warnung an.

Verschlüsselungsarten

Neben der asymmetrischen Verschlüsselung gibt es weitere Varianten wie die symmetrische und die hybrid Verschlüsselung. Die hybrid Verschlüsselung ist eine Kombination aus asymmetrischer und symmetrischer Verschlüsselung und kommt bei SSL zum Einsatz.

Der Vorteil der hybrid Verschlüsselung liegt in einem geringen Verbrauch von Ressourcen und einer höheren Geschwindigkeit im Vergleich zur reinen asymmetrischen Verschlüsselung, was unterm Strich Kosten und Aufwände spart.

Die symmetrische Verschlüsselung ist ein Verfahren bei dem beide Seiten ihre Daten mit dem selben geheimen Schlüssel ver- und entschlüsseln können. Jeder Dritte der Kenntnis über diesen Schlüssel erhält, ist in der Lage die verschlüsselten Daten zu entschlüsseln. Daher wird bei SSL-Verbindungen die Aushandlung des symmetrischen Schlüssels durch die asymmetrische Verschlüsselung geschützt.

Zur Erstellung von symmetrischen und asymmetrischen Schlüssel werden unterschiedliche mathematische Verfahren eingesetzt. Einige der früher eingesetzten und heute noch verfügbaren Verfahren gelten mittlerweile als unsicher und wurden durch neue Verfahren ergänzt.

Die verschlüsselte Verbindung

Sehr grob beschrieben wird eine SSL Verbindung wie folgt hergestellt.

  1. Beim Aufbau einer Verbindung ruft Ihr Browser das Zertifikat, welches den öffentlichen Schlüssel für die asymmetrische Verschlüsselung enthält, vom Server der Bank ab.
  2. Ihr Browser prüft das Zertifikat und beginnt nach erfolgreicher Prüfung über die asymmetrische Verschlüsselung die Aushandlung eines symmetrischen Schlüssels mit dem Server der Bank.
  3. Sobald der symmetrische Schlüssel ausgehandelt wurde ver- und entschlüsseln beide Seite die zu übertragenden Daten mit diesem. Der asymmetrische Schlüssel wird nur zum Schutz der Aushandlung verwendet.

simple_ssl_flow

Der symmetrische Schlüssel selbst wird für jede Verbindung oder Session neu generiert, meist in 2-Minuten-Intervallen erneuert und ist  nur für diese gültig. Somit kommt bei jeder neuen Verbindung oder Session ein bzw. mehrere neue symmetrische Schlüssel zum Einsatz.

Wie können nun Geheimdienste mitlesen

Vorausgesetzt das mathematische Verfahren ist sicher und unsere Bank verwendet eine korrekte Implementierung, welche Möglichkeiten haben Geheimdienste oder Dritte nun um an diese Daten mitzulesen?

Wenn Geheimdienste oder Dritte nicht in der Lage sind, die Verschlüsselungen zu brechen, bleibt Ihnen nur die Möglichkeiten zu tricksen und zu schummeln. Im Zweifelsfall mit Unterstützung durch Gesetzgeber. Ansatzpunkte um an benötigten Daten zu gelangen, gibt es bei gesetzlicher Rückendeckung leider viele. Mit dem knacken der Verschlüsselung haben die jedoch nichts mehr zutun.

Methode 1: Angriff auf ihren Computer

Ein Weg um an Ihre Daten zu kommen, besteht darin, diese abzufangen bevor sie verschlüsselt werden. Dazu können Dritte versuchen Zugriff auf Ihr System zu erlangen, z.B. durch Sicherheitslücken in Software oder durch von Herstellern eingebaute Hintertüren. Auch Infektionen mit einem Trojaner über Social Engineering ist denkbar. Besteht erst einmal Zugriff auf ihr System, kann keine Verschlüsselung den Schutz Ihrer Daten sicherstellen.

Gegenstelle zur Mitarbeit zwingen

Wie in Medienberichten zu lesen war, wurden anscheinend einige Anbieter – hauptsächlich in den USA – mit gerichtlichen Anordnungen zur Mitarbeit gezwungen. Dies würde bedeuten, dass die Daten nachdem sie vom Server der Bank empfangen wurden, an ein zusätzliches Ziel weitergeleitet und ausgewertet werden können.

Man-in-the-Middle Angriff

Bei einem Man-in-the-Middle Angriff setzt sich der Angreifer zwischen ihren Computer und den Server Ihrer Bank. Anschließend stellt er sich selbst als Server der Bank dar. Ihr Computer baut seine Verbindung somit nicht direkt zur Bank auf, sondern über ein System des Geheimdienstes.

Hat der Geheimdienst Zugriff auf den geheimen Schlüssel des Zertifikats bekommen, sieht es für Sie und ihren Browser so aus als würden sie mit dem Server der Bank kommunizieren.  In Wirklichkeit läuft die gesamte Verbindung jedoch zum System des Geheimdienstes. Hier werden die Daten mit Hilfe des geheimen Schlüssels entschlüsselt und bei Bedarf verändert. Anschließend werden die Daten neu verschlüsselt und an den Server der Bank geschickt. Der Rückweg ist analog dazu, ebenfalls über das System des Geheimdienstes. Weder Sie als Absender noch die Bank als Empfänger wissen, ob Daten mitgelesen oder verändert wurden.

nsa_in_the_middle

Erhält der Geheimdienst keine Unterstützung durch die Bank, weil diese z.B. im Ausland sitzt, besteht die Möglichkeit ein neues Zertifikat von einer CA mit den gleichen Eigenschaften wie das der Bank anzufordern. Dazu muss anstelle der Bank eine entsprechende CA mitmachen.

Wichtig damit ihr Computer der Verbindung vertraut, ist nur, dass ihr Computer der CA vertraut. Und welcher CA ihr Computer vertraut legen die Betriebssystem- oder Browserhersteller fest bzw. aktualisieren diese Daten durch Updates. Grundsätzlich kann jeder eine CA erstellen, das selbstsignierte Root Zertifikat muss nur an der richtigen Stelle im Computer abgelegt werden und schon vertraut ihr Computer allen weiteren Zertifikaten die von ihrem Root Zertifikat ausgestellt wurden. Auf dem gleichen Wege werden auch öffentlichen CAs zu vertrauenswürdigen Stellen.

Und jetzt?

Gegen vorsätzlich platzierte Hintertüren in Hard- oder Software kann man als Anwender kaum etwas unternehmen. Man muss sich auf die Versprechen der Hersteller verlassen, das in ihren Produkten keine Hintertüren eingebaut wurden. Ein gesundes Misstrauen ist mehr als angebracht, denn ohne CAs kommt man im Internet nicht weit.

SSL-Zertifikate, die durch eine CA ausgestellt wurden, sollten in Anbetracht der letzten Ereignisse genau so kritisch betrachtet werden, wie ein nicht durch sie selbst geprüftes selbstsigniertes Zertifikat.

Ansonsten kann man nur auf die Aussagen der Anbieter und Hersteller vertrauen und versuchen, seine Systeme auf einem aktuellen Stand zu halten. Standardschutzmaßnahmen wie eine Firewall und ein Antivirusprogramm sollten unabhängig davon grundsätzlich eingesetzt werden. Sollten Sie Ziel einer Überwachungsaktion/Ausspähaktion werden, können diese Produkte dem Angreifer vermutlich dennoch nicht viel entgegenstellen.

One Comment

Trackbacks & Pingbacks

  1. Wer bewacht die Bewacher? | faq-o-matic.net

Comments are closed.