Einführung in Verschlüsselung

Mit Prism und Tempora ist jedem Menschen klar geworden, dass seine Nachrichten zu keiner Zeit vertraulich und privat sind. Seit Jahren haben einige davor gewarnt, nun wird diese Tatsache für uns alle zum anerkannten Fakt.

Dennoch haben viele Menschen das grundsätzliche Bedürfnis, dass ihre Privatsphäre respektiert wird. Sie möchten nicht immer darüber nachdenken müssen, was sie sagen und schreiben, weil sie Angst vor falschen Verdächtigungen, Nachstellungen und Störungen in ihrer Umwelt haben – oder zumindest haben sollten!

Ende-zu-Ende

Die Wege, die unsere Nachrichten im Internet nehmen, können wir nicht kontrollieren. Wir haben wieder einen Beweis erhalten, warum wir unserem eigenen Staat (und den “befreundeten” Staaten) nicht mehr trauen dürfen. Es ist deshalb Notwehr, die Daten direkt bei uns bis hin zum Empfänger durchgehend (Ende-zu-Ende) zu verschlüsseln.

Das Konzept der Ende-zu-Ende-Verschlüsselung sieht vor, dass nur der Sender und der Empfänger die Nachricht im Original kennen. Der Transport der Nachricht erfolgt über unsichere Wege, die transportierte Nachricht kann sogar leicht abgefangen werden. Aber sie kann nicht gelesen werden, sie ist unnütz, da nur Sender und Empfänger die Nachricht in ihr Original verwandeln können.

Der Schlüssel

Das Konzept ist dabei immer dasselbe. Die Nachricht wird mit Hilfe eines Schlüssels so verändert, dass nur der Besitzer des Schlüssels (oder einer Kopie davon) die Nachricht wieder herstellen kann.

Denken wir an den alten Cäsar Cipher. Der Name klingt unbekannt und doch haben viele als Kinder im Spiel diese Ersetzung benutzt: Man legt 2 Streifen mit dem Alphabet übereinander und verschiebt einen Streifen um, sagen wir, 4 Buchstaben. Beim Schreiben der geheimen Nachricht wird jeder Buchstabe des einen Streifens mit dem entsprechenden des anderen Streifens (4 Stellen weiter) ersetzt. A wird zu E, B wird zu F, C wird zu G und so weiter.

Um den Zugang zu einer Nachricht zu erschweren, braucht man also 2 Dinge:

  • Einen Schlüssel – beim Cäsar Ciper ist das die Anzahl der Stellen, um die wir das Alphabet verschieben
  • Den Verschlüsselungsalgorithmus – beim Cäsar Ciper ist das die Tatsache, dass wir das Verschieben von Alphabet-Streifen nutzen

Unsere Wohnung

Wenn wir unsere Haustür abschließen, passiert im Prinzip das gleiche. Wir erschweren den Zugang zu unseren Dingen, die im Haus lagern. Wir lagern diese Dinge in einem Gebäude mit einem Türschloss (Algorithmus). Mit Hilfe eines Schlüssels bekommen wir den Zugang zu unserem Inhalt.

Wir haben also einen Schlüssel und nur der Besitzer dieses Schlüssels kommt berechtigt in das Haus – also sozusagen an den Inhalt. Wichtig ist es, hierbei zu erkennen, dass wir den Zugang zu unserem Haus nicht absolut dicht machen können.

Der Einbrecher

Wir wissen, der Einbrecher nutzt unterschiedliche Techniken, um unbefugt in unser Haus zu kommen. Zum Beispiel:

  • Er macht sich eine Kopie von dem Schlüssel oder nutzt einen Originalschlüssel
  • Er knackt das Türschloss, ohne den Schlüssel zu besitzen
  • Er nutzt einen anderen Weg (z.B. Fenster) in das Haus.

Wir wissen, wenn jemand in das Haus hinein will, wird er auch einen Weg finden. Mit Hilfe von Fenstersicherungen, Alarmanlagen und Wachpersonal können wir diesen Weg in das Haus so schwer machen, dass für den Einbrecher der Aufwand in keinem Verhältnis mehr zum Nutzen steht. Es hängt also davon ab, für wie schützenswert wir die Dinge halten, die wir im Haus lagern.

Codebrecher

Ähnlich wie mit den Einbrechern in unser Haus ist es mit den Einbrechern in unsere digitale Kommunikation. Die Kryptoanalyse ist das Fachgebiet, welches sich mit der Entschlüsselung von Informationen beschäftigt, wenn KEIN berechtigter Zugang zur Information existiert. Menschen und Systeme, die sich mit diesen Techniken beschäftigen, sind sozusagen die Einbrecher in unser Haus.

Verschlüsselung einfach technisch

Für die Verschlüsselung der eigenen Online-Kommunikation braucht es drei Dinge:

  • Eine Nachricht (zB. eMail)
  • Einen Verschlüsselungsalgorithmus (zB. AES )
  • Einen Schlüssel

Die Nachricht wird mit Hilfe des Verschlüsselungsalgorithmus und des Schlüssels so verfremdet, dass sie nicht mehr lesbar ist. Um sie wieder lesbar zu machen, braucht man den Algorithmus und den Schlüssel.

Das Problem mit dem Schlüssel

Das alles wäre soweit ganz einfach, wenn es da nicht ein Problem gäbe. Irgendwie müssen Sender und Empfänger den Schlüssel erst einmal austauschen. Bei unserem Haus geben wir den Schlüssel oder Kopien davon an Menschen, von denen wir wollen, dass sie auch in das Haus kommen. Wenn diese Menschen aber in Australien wohnen würden, wäre das mit der Schlüsselübergabe etwas schwieriger.

Mit den digitalen Schlüsseln ist es genau das gleiche Problem. Wie bekomme ich den Schlüssel vom Sender zum Empfänger? Per E-Mail scheidet aus. Hier könnte ich den Schlüssel gleich auf eine Postkarte kleben und in den Briefkasten werfen. Ebenso wissen wir seit den 80er Jahren von Programmen wie Echolon – so dass die Schlüsselübergabe per Telefonanruf auch nicht der sicherste Weg ist, da fast alle Kommunikation abgehört wird.

Das besondere Schlüsselsystem

Und an dieser Stelle wird die digitale Welt einzigartig. Wir bedienen uns speziellen mathematischen Funktionen, die es möglich machen, statt einen Schlüssel ein Schlüsselpaar zu bekommen. Von diesem Paar ist ein Schlüssel „öffentlich“ und der andere „privat“.

Statt wie bisher den gleichen Schlüssel zum Verschließen und Öffnen zu verwenden, kann jeder Teilschlüssel des Schlüsselpaars nur in eine Richtung verwendet werden. Entweder zum Verschließen oder zum Öffnen. Wir machen uns also keine Gedanken mehr, wem der „öffentliche“ Schlüssel in die Finger geraten könnte, denn damit kann man zwar verschlüsseln, aber nicht entschlüsseln.

Und so lösen wir das Problem wie der Schlüssel zum Empfänger kommt. Denn der benötigte Teilschlüssel (Publickey) ist ja jetzt öffentlich. Wir hinterlegen diesen öffentlichen Schlüssel einfach irgendwo im Netz. In der wirklichen Welt würde man sagen – irgendwo bei einem Notar oder einer Bank beispielsweise.

Das Versenden von Nachrichten

Wenn wir also eine Nachricht an jemanden senden wollen, müssen wir uns nicht mehr auf einen gemeinsamen Schlüssel einigen. Wir suchen einfach im Internet den öffentlichen Schlüssel des Empfängers und verschlüsseln die Nachricht damit.

Nur der Empfänger, der als einziger den privaten Schlüssel (Private Key) besitzen sollte, kann diese Nachricht wieder entschlüsseln. Dieses Verfahren heißt deshalb Public-Private-Key Verfahren oder asymetrische Verschlüsselung.

Digitale Signatur

Wir haben ein Schlüsselpaar aus einem privaten und einem öffentlichen Schlüssel. Bei Nachrichten, die verschlüsselt werden sollen, nutzt der Absender den öffentlichen Schlüssel des Empfängers. Interessant ist die Tatsache, dass die Schlüssel auch noch umgekehrt genutzt werden. Beim Unterschreiben will der Absender dem Empfänger ja mitteilen, dass genau er es war, der die Nachricht geschrieben hat. Und das wiederum kann der Absender nun mit seinem PRIVATEN Schlüssel tun. Und der Empfänger kann mit dem ÖFFENTLICHEN Schlüssel des Absenders überprüfen, ob die Nachricht tatsächlich vom Absender kam.

Also:

  • Verschlüsseln mit dem öffentlichen Schlüssel des Empfängers
  • Unterschreiben mit dem privaten Schlüssel des Absenders

Das Problem des Vertrauens

Wenn wir also eine Nachricht versenden wollen und wir finden irgendwo den öffentlichen Schlüssel des Empfängers. Woher wissen wir dann, dass der öffentliche Schlüssel TATSÄCHLICH dem Empfänger gehört? Hätte nicht unser Einbrecher einfach versuchen können, sich als der freundliche Nachbar von nebenan auszugeben um mich zu täuschen?

An dieser Stelle erkennen wir, dass am Ende immer irgendwo Vertrauen existieren muss. Wir müssen dem Nachbar vertrauen, dem wir den Schlüssel geben, oder dem Notar, der Bank oder dem Freund. Wir vertrauen ihnen, dass sie den Schlüssel für mich und andere sicher aufbewahren.

Digitales Vertrauen

Für dieses Problem gibt es zwei grundsätzliche Lösungen in der digitalen Welt. Eines davon ist strikt hierarchisch aufgebaut. Es gibt eine zentrale Stelle, einen Notar oder eine Bank sozusagen. Ein Trustcenter. Wenn diese Stelle die Echtheit eines Schlüssels bestätigt, und wir dieser Stelle vertrauen, dann vertrauen wir auch dem Schlüssel selbst. Wir vererben praktisch das Vertrauen.

Dieses Verfahren kommt zum Beispiel bei Zertifikaten zum Einsatz. Wenn man ein solches Verfahren großflächig einsetzen möchte, spricht man von einer PKI – eine Public Key Infrastruktur. Denn was passiert zum Beispiel wenn ein Schüssel nicht länger gültig sein darf, weil der Einbrecher den privaten Schlüssel gefunden und kopiert hat?

In Finnland wird das ganze bereits in den 90er Jahren über ein staatliches Trustcenter umgesetzt. Alle Personalausweise haben einen privaten Schlüssel zu dem es einen öffentlichen Schlüssel bei diesem Trustcenter gibt. Dort kann man also ganz einfach die Echtheit eines Schlüssels überprüfen – wenn man dem Staat traut. Genau genommen ist in Finnland auf den Personalausweisen ein Zertifikat. Aber das führt hier zu weit.

Und damit sind wir bei der zweiten Lösung. Der Begriff heißt „Web-of-Trust“ oder Netz des Vertrauens. Das Prinzip beruht darauf, dass wir Menschen in unserer Umgebung unterschiedlich stark vertrauen. Menschen, denen wir besonders stark vertrauen glauben wir auch, wenn sie uns andere Menschen empfehlen. Durch solche Vertrauens- und Empfehlungsketten entsteht ein Netz des Vertrauens, und man kann Menschen vertrauen, die man gar nicht kennt.

In der Praxis wurde dieses Verfahren durch Phil Zimmermann’s PGP (Pretty Good Privacy – heute GPG) umgesetzt. Vermutlich spielte auch die gerade zu dieser Zeit gemachte Entdeckung eines speziellen NSA-Abhörchips für alle Computer (Clipper / Skipjack) eine Rolle, dass man grundsätzlich über die Frage des Vertrauens gegenüber Behörden nachdachte.

Abwägungen

Gegen das PKI-System spricht das Problem des Vertrauens in eine einzige zentrale Stelle, gegen das Web-of-Trust das Problem dieses zu verteilen und aufzubauen.

Im beruflichen Umfeld ziehe ich gegenwärtig die PKI-Lösung mit Zertifikaten vor, denn Zertifikate spielen in einigen anderen technischen Umsetzungen ebenfalls eine Rolle und das Handling von Zertifikaten ist bei einigen Betriebssystemen bereits integriert.

Im privaten Umfeld erscheint aber die PGP /GPG- Lösung geeigneter, da sie dezentral funktioniert und auch in anderen Open-Source Anwendungen umgesetzt werden kann. Es wird auf eine zentrale Vertrauensstelle verzichtet.

Dass ich im obigen Artikel nicht über die tatsächlich stattfindende hybride Verschlüsselung schreibe und manche Fakten arg strapaziert habe, möge mir der Experte verzeihen.

Fazit

Verschlüsselung ist einfacher, als man glaubt. Jeder, der das Internet für seine private Kommunikation nutzt, kann diese selbst verschlüsseln – damit der Staat ab morgen wieder klingeln muss, wenn er sich Zugang zu unserem privaten digitalen Wohnzimmer verschaffen möchte.

Allerdings fehlt immer noch ein Massenprodukt auf dem Markt, welches allen Anforderungen gerecht wird – speziell wenn es um die einfache Bedienbarkeit geht. Wichtig wäre es deshalb, wenn von öffentlicher Seite her die Forschung und Entwicklung an freier und im Quellcode offener Software und Diensten gefördert wird, die eine sichere Kommunikation und den Schutz unserer Privatsphäre im Netz sicherstellen.

Aktuell wird auf EU-Ebene das Horizon2020-Rahmenforschungsprogramm ausgestaltet. Das wäre die nächste große Chance für alle europäischen Regierungen, ihre Bürger in Zukunft besser zu schützen – auch wenn bezweifelt werden darf, dass es dafür von Regierungsseite ein ausreichendes Interesse gibt.

 

Über den Autor: Oliver Grube (43) ist CISSP (Certified Information System Security Professional) und verantwortet bei einem internationalen Lebensmittelhersteller die Netzwerksicherheit in Europa. Als Mitglied der Piratenpartei kandidiert er in Schleswig-Holstein für den Bundestag.

Related Images: