Sichere Mails - Grundlagen

Wer heute Mails sicher, d.h. gegen Abhören und Verändern geschützt, übertragen will, kommt an SMIME oder PGP nicht vorbei. Darum geht es auf dieser Seite.

Verschlüsseln - Was ist das ?

Verschlüsselung ist immer eine Sache zwischen zwei Endsystemen. Zwar können auch die Transportwege zwischen den Mailservern verschlüsseln (z.B. VPN, IPSEC, TLS, SSL) aber dies dient nur zur Sicherung der Übertragung selbst. Erst die Ende zu Ende Verschlüsselung schafft die Sicherheit, dass der Empfänger, die Person, die Nachricht sichtbar machen kann und auch der Absender als Person überprüfbar ist. Damit ist klar, dass die Verschlüsselung auf dem Arbeitsplatz ansetzt und damit bei dem Mailprogramm auf dem Arbeitsplatz.

Verschlüsseln funktioniert immer so, das eine Information mit einem Algorithmus und einem Schlüssel so verändert wird, dass sie nicht mehr lesbar ist und der richtige Schlüssel notwendig ist, um die Nachricht wieder zu dechiffrieren. Entsprechende Programme gibt es sehr viele auf dem Markt. Schon die Packroutine ZIP erlaubt es, die Dateien mit einem Kennwort zu versehen.

Symmetrische und asymmetrische Schlüssel

Nur das Ding mit dem Schlüssel ist auch wieder das größte Problem. Lange Zeit war es so , dass der Schlüssel wie ein Kennwort funktionierte. Der Code zum Verschlüsseln war der gleiche, wie zum entschlüsseln. Dies ist eine symmetrische Verschlüsselung. Die Daten waren solange relativ sicher, solange der Schlüssel nicht bekannt war. Aber beide Seiten mussten den gleichen Schlüssel besitzen. Und dazu musste auch der Schlüssel erst mal sicher zum Ziel gelangen. Damit ist schon klar, dass nicht jeder an einen Empfänger das Kennwort mit einem versiegelten Postbrief, per Telefon, per Kurier oder beim nächsten persönlichen Treffen übergeben will.

Der Durchbruch war dann der RSA Algorithmus. Hierbei wird ein Schlüsselpaar generiert, welches zueinander passt. Wird etwas mit dem einen Schlüssel verschlüsselt, kann es nur mit dem passenden Gegenschlüssel wieder entschlüsselt werden. Dies ist ein asymmetrisches Verfahren. Zudem kann man den einen Schlüssel können und kann den anderen daraus nicht ableiten. (zumindest mit der aktuell verfügbaren Rechenleistung). Es ist nun problemlos, einen der Schlüssel zu veröffentlichen (Public Key) , da niemand von diesem Schlüssel das Gegenstück (den privaten Schlüssel, Private Key) ermitteln kann. Am Ende hat jeder Person ein persönliches einmaliges Schlüsselpaar, von dem er einen als "privat" definiert und den anderen als "öffentlich". Den öffentlichen Schlüssel kann er nun ohne Bedenken weitergeben. Damit andere Personen diesem Schlüssel vertrauen, kann dieser von einer dritten Instanz zertifiziert werden. Wir haben dann ein Zertifikat, aber dazu später. Ausgangsmaterial für diese Schlüssel sind Primzahlen. Damit wird auch erklärbar, warum immer größere Primzahlen gesucht werden.

Nun ist die Verschlüsselung mit privaten und öffentlichen Schlüssel sehr rechenaufwändig. Daher verwendet man ein etwas kombiniertes Verfahren. Es wird ein Zufallsschlüssel erstellt und mit diesem die Nachricht "symmetrisch" nach DES oder einem anderen symmetrischen Verfahren verschlüsselt. Dieser Einmalschlüssel wird nun mit RSA der Nachricht beigefügt. Der Empfänger packt dann diesen Einmalschlüssel erst aus, um dann die eigentliche Nachricht zu decodieren. Hilfreich ist dies vor allem, wenn die Nachricht an viele Empfänger gehen soll. Die Nachricht muss nicht mehrfach codiert werden, sondern nur einmal und an die Nachricht wird der Einmalschlüssel für jeden Empfänger getrennt verschlüsselt angehängt. Es bietet sich an, den Einmalschlüssel auch einmal mit dem privaten Schlüssel des Absenders beizufügen, damit ich als Absender selbst meine Nachricht wieder lesbar machen kann.

Die Verschlüsselung ist nun recht einfach. Wir müssen uns nur wenige grundsätzliche Aussagen merken:

  • Signierung
    Alles was ich mit meinem geheimen Schlüssel verschlüsselt, kann JEDER lesen, der meinen öffentlichen Schlüssel hat. (Also JEDER). Das Ziel hierbei ist die sicherstellen, dass die Datei wirklich von mir kommt, da nur ich den geheimen Schlüssel haben kann.
  • Verschlüsseln
    Alls was ich mit dem öffentlichen Schlüssel des Empfängers verschlüssele, dann nur der Empfänger wieder dekodieren, denn nur dieser hat den passenden privaten Schlüssel. Dies ist sinnvoll für den sicheren Versand Informationen über unsichere Wege.
    Achtung: Ich selbst kann die Nachricht auch nicht mehr entschlüsseln, d.h. halten Sie sich eine Kopie vor !
  • Lokale Sicherung
    Alles was ich mir meinem öffentlichen Schlüssel codiere kann nur ich wieder lesen. Nicht sehr hilfreich im Internet, aber zur Sicherung eigener Daten auf lokalen Festplatten etc. hilfreich
  • Sichere Mail
    Ich verschlüssele eine Mail mit meinem geheimen Schlüssel und dann ein zweites Mal mit dem öffentlichen Schlüssel der Gegenseite.
    Nur die Gegenseite kann mit ihrem geheimen Schlüssel die Nachricht dekodieren und dann  mit einer weiteren Dekodierung mit meinem öffentlichen Schlüssel sicherstellen, dass ich auch der Absender gewesen bin.
    Achtung: Ich selbst kann die Nachricht auch nicht mehr entschlüsseln, d.h. halten Sie sich eine Kopie vor !

Und hier noch mal die Langform.

Signieren von Mails

Alles was ich mit meinem geheimen Schlüssel verschlüsselt, kann JEDER lesen, der meinen öffentlichen Schlüssel hat. (Also JEDER). Das Ziel hierbei ist die sicherstellen, dass die Datei wirklich von mir kommt, da nur ich den geheimen Schlüssel haben kann.

Die Signierung von Mails ist eine „elektronische unterschrift“. Die Nachricht selbst wird nicht verschlüsselt, aber mit einer Prüfsumme über die Nachricht versehen, die dann mit einem Schlüssel codiert und angehängt wird. Bei dieser Methode bleibt die Nachricht für jedermann lesbar, also auch für Empfänger, die mit der Signatur nicht umgehen können. Aber ein Empfänger kann, sofern er dies möchte, anhand der Signatur sicherstellen, dass die Nachricht nicht verändert wurde und der Absender auch verifiziert werden kann. Denn nur der richtige Absender kann eine gültige Signatur erstellen. Dieser Weg wird häufig genutzt, um „öffentliche“ Informationen, z.B. Pressemeldungen, SoftwareUpdates etc. zu verteilen. Anhand der Signatur können die Empfänger die Authentizität der Nachricht prüfen.

Verschlüsseln

In zweiter Stufe kann die gesamte Mail verschlüsselt werden. Dabei wird diese Nachricht dann durch alle Mailsysteme verschlüsselt gesandt. Einzig der „Umschlag“ mit den Angaben zum Absender, Empfänger, Datum, Betreff und den Zwischenstationen wird unverschlüsselt durchgereicht.

Der Trick hierbei ist, dass der Sender die Nachricht nicht mit seinem eigenen geheimen Schlüssel codiert, sondern den öffentlichen Schlüssel des Empfängers nimmt. Nur dann kann nur der Empfänger diese Nachricht öffnen und lesen. Fatalerweise kann nicht mal der Absender seine eigene Mail mehr decodieren. Er muss sich also selbst eine Kopie vorhanden, wenn er die Mail wieder einsehen will.

Damit der Empfänger eben so prüfen kann, ob der Absender der ist, für den er sich ausgibt, muss der Absender doppelt verschlüsseln. Einmal mit dem öffentlichen Schlüssel des Empfängers und dann mit seinem eigenen geheimen Schlüssel. Der Empfänger wiederum nutzt den öffentlichen Schlüssel des Absenders und im zweiten schritt seinen eigenen geheimen Schlüssel. Ist dann die Nachricht lesbar, dann ist sichergestellt, dass der Absender authentifiziert ist und der richtige Empfänger erreicht wurde.

Da die Verschlüsselung mit asymmetrischen Private Key/Public Key Verfahren (RSA) sehr aufwendig ist, wird oftmals eine Kombination beider Varianten angewendet. Die Information selbst wird mit einem zufällig gewählten langen Schlüssel symmetrische codiert und nur dieser einmalige Schlüssel mit dem aufwendigeren Verfahren verschlüsselt und als Teil der Mail mit übertragen. Die Sicherheit ist hierbei gleich gut. Der Empfänger kann so sicher einen Schlüssel erhalten, mit dem die eigentliche Nachricht decodiert werden kann. (DES)

Dies ist auch hilfreich, wenn eine Nachricht an viele Empfänger gesendet werden soll oder der Absender eine Kopie behalten will. Normalerweise müsste der Sender die Nachricht pro Empfänger mit dem passenden öffentlichen Schlüssel der Gegenseite codieren und absenden. Das ist für Verteiler nicht gut geeignet. Daher wird die Nachricht mit einem Zufallsschlüssel DES-codiert und dieser kurze Schlüssel wird mit dem öffentlichen Key jedes Empfängers und des Absenders getrennt verschlüsselt und als Liste der Mail beigefügt. Jeder Empfänger kann nun die Mail öffnen, das Mailprogramm nimmt die Sammlung des verschlüsselten Einmalschlüssels kann mit seinem geheimen Schlüssel genau eines der Briefchen öffnen. Nun liegt der Einmalschlüssel vor und die eigentliche Nachricht kann entsperrt werden.

Steganographie

Steganographie hat nichts mit "Verschlüsseln" zu tun, sondern mit Verbergen. Der Inhalt, der zu übertragen ist, wird in einem anderen Inhalt versteckt. Also wenn man in einem 100 Kilobyte JPG Bild einige Pixel nach einem bestimmten Muster verändert, kann man so Informationen übertragen. Jemand, der nicht weiß, dass was darin verborgen ist, wird einfach nur ein Bild sehen und die Veränderungen fallen nicht mal auf, also bei einem 16Mio Farben Bild ist zwischen ganz schwarz und 999,9% schwarz kein sichtbarer unterschied. 

Es ist demnach keine "Verschlüsselung" im Sinne von PGP, S/MIME etc. Zudem muss die Nutzdatenmenge sehr viel geringer sein, also das "Transportmittel". also um ne 1 K Mail zu senden sollte man schon vielleicht 10 oder 100k Bilder senden, damit es nicht gleich "auffällt". Und damit ist das nicht mehr geeignet für übliche "Verschlüsselung".

Weitere Links