. .

Verschlüsselungsverfahren – der Versuch einer allgemeinverständlichen Einführung

Um über das Internet verschickte Nachrichten vor ungewollten Mitlesern zu schützen, gibt es eigentlich nur eine Möglichkeit: die Verschlüsselung. Vorbehalte wegen vermeintlicher Umständlichkeit bestehen erstaunlicherweise auch bei technisch versierten Nutzern. Wie gezeigt werden soll, ist diese Ablehnung mittlerweile nur noch als Resultat mangelnder Auseinandersetzung mit dem Thema einzustufen. Denn das Verschlüsseln von E-Mails bedarf lediglich eines Klicks, den Rest übernimmt in der Regel vollautomatisch eine Software.

Um E-Mails verschlüsselt verschicken zu können, muss der Sender aber sicherstellen, dass der Empfänger in der Lage ist die E-Mail wieder zu entschlüsseln. Die Entscheidung Verschlüsselungsverfahren einzusetzen liegt demnach nicht allein bei mir, sondern auch bei den Menschen mit denen ich kommunizieren möchte. Aufgrund der von Edward Snowden aufgedeckten Spionage-Programme PRISM und Tempora, die eine flächendeckende Überwachung des Internets forcieren, ist es mir ein wichtiges Anliegen, meine E-Mail-Korrespondenz zu verschlüsseln.

Dieser Blog-Post klärt über die aktuell verwendeten Verschlüsselungsverfahren auf und versucht, deren Funktionsweise allgemeinverständlich zu erläutern. Dieses Wissen sollte eine ausreichende Grundlage für die Nutzung von Verschlüsselungsverfahren sein. In späteren Blog-Posts werde ich auf die praktische Anwendung eingehen und den Einsatz von Kryptosystemen konkret am Rechner erläutern. 

Motivation für die Verschlüsselung von Nachrichten.

Wenn per Post Briefe verschickt werden, werden diese über so genannte Briefzentren geleitet, die für die Verteilung zuständig sind. Die Post wird dort nach dem Postleitzahlenbereich des Empfängers sortiert. Im Briefzentrum Kassel beispielsweise wird ein Brief, der an eine Adresse in München verschickt werden soll, sicherlich anders einsortiert, als ein Brief, der nach Hamburg geschickt wird. Beim Ziel-Briefzentrum angekommen, wird nun der Brief für den richtigen Briefträger sortiert, der den Brief letztlich in unseren Briefkasten wirft.

Wie der klassische analoge Brief, wird auch die digitale E-Mail über verschiedene Zwischenstationen zu ihrem eigentlich Ziel geleitet, also das E-Mail-Postfach beim jeweiligen Provider (GMX, Yahoo, Hotmail, Google Mail etc.). Da eine E-Mail in der Regel in für jeden lesbarem Klartext verschickt wird, sind diese Zwischenstationen hervorragend geeignet, um die E-Mails abzufangen, maschinell auszuwerten, zu kopieren und/oder an Dritte weiterzuleiten. Den Brief schützt der Umschlag vor ungewollten Mitlesern, bei einer E-Mail gibt es einen solchen Umschlag aber nicht. Sie ist wie eine Postkarte, wer sie in die Hand bekommt, kann ihren Inhalt auch lesen.

Die E-Mail-Provider weisen normalerweise auch auf diese Tatsache in ihren jeweiligen AGBs hin. So steht beispielsweise in den AGBs von GMX E-Mail:

[…] Der Kunde weiß, dass der Provider die auf den Webservern gespeicherten Daten des Kunden aus technischer Sicht jederzeit einsehen kann. Auch andere Teilnehmer am Internet sind unter Umständen technisch in der Lage, unbefugt in die Netzsicherheit einzugreifen und den Nachrichtenverkehr zu kontrollieren. Für die Sicherheit und Sicherung der von ihm ins Internet übermittelten und auf Webservern gespeicherten Daten trägt der Kunde vollumfänglich selbst Sorge. (Abgerufen am 20. Juli 2013)

Damit behalten sich die Provider von vornherein vor, unsere E-Mails mitzuelesen, was vor dem Hintergrund der NSA-Affäre den Beigeschmack der totalen Durchsichtigkeit unserer Kommunikation hinterlässt.

Die Verschlüsselung von E-Mails erweist sich als einzige effektive Möglichkeit, elektronische Nachrichten wie mit einem Umschlag vor dem unerwünschten Mitlesen Dritter zu bewahren.

Symmetrische und asymmetrische Verschlüsselung

Symmetrische Verschlüsselungsverfahren. Symmetrische Verschlüsselungsverfahren gibt es bereits seit der Antike, die mittlerweile natürlich nicht mehr als sicher gelten. Ein derzeitig als sicher geltendes symmetrisches Verfahren ist AES (Advanced Encryption Standard).

Schaubild symmetrische Verschlüsselung.

Abb. 1: Schaubild symmetrische Verschlüsselung. Quelle: http://support.gpgtools.org/kb/how-to/introduction-to-cryptography

Allen symmetrischen Verfahren benötigen jeweils einen bestimmten Algorithmus (Verfahrensweise) zum Verschlüsseln und einen zum Entschlüsseln. Die Verfahrensweise/n ist/sind im Allgemeinen öffentlich bekannt. Darüber hinaus wird ein Schlüssel benötigt, der vom Algorithmus zum Ver- oder Entschlüsseln der Nachricht benötigt wird. Die Sicherheit wird also durch die Geheimhaltung des Schlüssels bewerkstelligt. Das ist zugleich der große Nachteil der symmetrischen Verschlüsselung. Um verschlüsselte Nachrichten (z.B. per E-Mail) austauschen zu können, müssen beide Seiten (also Sender und Empfänger) den Schlüssel kennen (vgl. Abb. 1).  Um die Schlüssel austauschen zu können, muss also ein sicherer Übertragungskanal vorhanden sein, den es im Falle der E-Mail-Kommunikation – wie am Anfang dargestellt – nicht gibt. Diese Lücke kann jedoch mithilfe der asymmetrischen Verschlüsselung geschlossen werden.

Asymmetrische Verschlüsselungsverfahren. Asymmetrische Verschlüsselungsverfahren sind relativ neu. Die kommunizierenden Parteien besitzen dabei jeweils ein Schlüsselpaar, das für einen vorher bestimmten Zeitraum gültig ist. Das Schlüsselpaar besteht immer aus einem öffentlichen (Public Key) und einem geheimen Schlüssel (Private Key). Der Public Key wird bekannt gegeben, der private Schlüssel muss aber unter allen Umständen geheim gehalten werden, denn eine mit einem Public Key verschlüsselte Nachricht kann nur mit dem dazugehörigen Private Key entschlüsselt werden. Der bekannteste Vertreter ist der RSA-Algorithmus, der nach seinen Erfindern Rivest, Shamir und Adleman benannt ist.

Asymmetrische Verschlüsselung. Quelle: http://support.gpgtools.org/kb/how-to/introduction-to-cryptography

Abb. 2: Schaubild asymmetrische Verschlüsselung. Quelle: http://support.gpgtools.org/kb/how-to/introduction-to-cryptography

In der praktischen Anwendung könnte das dann so aussehen: Wenn Alice an Bob eine verschlüsselte Nachricht schicken möchte, muss sie diese mit Bobs Public Key verschlüsseln. Diese Nachricht kann nur mit dem Private Key von Bob entschlüsselt werden. Da Bob seinen Private Key hütet, wie sein bestes Geheimnis, ist nur er in der Lage die Nachricht zu lesen.

Digitale Signaturen. Auch um Integrität und Authentizität des Senders sicher zu stellen, eignen sich asymmetrische Kryptosysteme. Damit Bob sicher gehen kann, dass die Nachricht auch wirklich von Alice verschickt wurde, versieht Alice die für Bob verschlüsselten Nachricht mit einer so genannten Signatur. Dabei verschlüsselt Alice den Originaltext mit ihrem Private Key. Diese Nachricht kann nun mit dem öffentlichen Schlüssel entschlüsselt werden. Unter der Annahme, dass Alice die einzige Person ist, die im Besitz des privaten Schlüssels ist und somit die einzige ist, die die Nachricht verschlüsseln konnte, ist ihre Authentizität als Absender sichergestellt (vgl. Abb. 3).

Asymmetrische Verschlüsselung. Quelle: http://support.gpgtools.org/kb/how-to/introduction-to-cryptography

Abb. 3: Schaubild Digitale Signaturen. Quelle: http://support.gpgtools.org/kb/how-to/introduction-to-cryptography

Das Problem ist nur, dass auf diese Weise nur eines geht: entweder Verschlüsseln oder Signieren. Es ergibt keinen Sinn, eine Nachricht für einen bestimmten Empfänger zu verschlüsseln, um die gleiche Nachricht als Signatur mitzuschicken, die für jeden mittels des öffentlich zugänglichen Public Keys entschlüsselbar und somit lesbar wäre. Dieses Problem ließe sich lösen, wenn man die Nachricht auf eine Prüfsumme abbilden würde, die die Rekonstruktion des ursprünglichen Inhalts nicht zuließe. Eine solche Abbildung gibt es natürlich und wird in der Informatik Hash-Funktion genannt. Eine Hash-Funktion wandelt eine Eingabe in eine Ausgabe fester Länge – den Hash – um. Die Rekonstruktion des ursprünglichen Inhalts  aus dem Hash-Wert ist nicht möglich. Damit das Prinzip funktioniert, muss die Hash-Funktion nahezu kollisionsfrei sein, das heißt, es muss praktisch unmöglich sein, zwei oder mehrere Nachrichten zu finden, deren Hash-Werte identisch sind.

Um die Signatur ihrer Nachricht zu erhalten, berechnet Alice also den Hash-Wert aus der Nachricht für Bob und verschlüsselt diesen mit ihrem Private Key. Nun verschlüsselt sie die Nachricht für Bob mit Bobs Public Key. Beides schickt sie jetzt per Mail ab. Bob erhält die E-Mail und entschlüsselt zunächst die Nachricht mit seinem Private Key und berechnet aus der Nachricht den Hash-Wert und merkt ihn sich. Nun entschlüsselt er die Signatur mit dem öffentlichen Schlüssel von Alice. Ist diese entschlüsselte Signatur nun identisch mit dem Hash der entschlüsselten Nachricht, kann Bob sicher sein, dass die E-Mail tatsächlich von Alice verschickt wurde.

Die heute verwendeten asymmetrischen Kryptosysteme gelten bei großer Schlüssellänge als die sichersten bekannten Verfahren für die verschlüsselte Datenübertragung. Der wesentliche Nachteil dieser Verfahren ist der hohe Rechenaufwand – man spricht von einem Faktor 1000 im Vergleich zu symmetrischen Verfahren. Werden nur kurze Textnachrichten verschickt, ist das bei heutiger Rechenleistung kein Problem. Problematisch wird es, wenn die E-Mails große Anhänge haben, z. B. Geschäftsberichte von mehreren Megabyte Größe. Hier braucht ein aktueller Rechner schon relative viel Zeit zum Ver- und Entschlüsseln. Auf Dauer sind diese Zeiten nicht zumutbar. Aber auch hierfür gibt es eine Lösung…

Der Hybrid aus symmetrischer und asymmetrischer Verschlüsselung. Um die Nachteile der sowohl symmetrischen als auch asymmetrischen Verschlüsselung zu umgehen, werden in der Praxis beide Systeme kombiniert. Die Idee ist, dass die eigentliche Nachricht mit dem symmetrischen AES-Algorithmus verschlüsselt und der Schlüssel wiederum asymmetrisch verschlüsselt wird (meist mit dem RSA-Algorithmus), damit dieser sicher mit der Nachricht übertragen werden kann. Der Empfänger entschlüsselt nach Empfang der Nachricht mit seinem Private Key also zunächst den asymmetrisch verschlüsselten AES-Schlüssel. Mit diesem kann er dann die eigentliche Nachricht entschlüsseln.

Durch diese Kombination beider Verfahren wird auf der einen Seite die lange Rechenzeit beim Ver- und Entschlüsseln umgangen und auf der anderen Seite die sichere Übertragung des Schlüssels bewerkstelligt.

Kommentare

Den Artikel kommentieren

  • (will not be published)

XHTML: Wenn du willst, kannst du folgende Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">