
Grundprinzip
Das grundlegende Problem einer verschlüsselten Informationsübertragung ist, dass man zuerst ein Geheimnis austauschen muss, um dann ein Geheimnis austauschen zu können. Das heißt, sowohl derjenige, der die Daten verschlüsselt, als auch derjenige, der sie wieder entschlüsseln möchte, muss den Schlüssel kennen, der für die Verschlüsselung verwendet wird, aber niemand anderer darf diesen Schlüssel ebenfalls kennen. Nun könnte man sich zwar mit all jenen persönlich treffen, an die man verschlüsselte Nachrichten schicken möchte, und die Schlüssel dabei austauschen, ein sehr effektives Verfahren wäre dies aber nicht. Der direkte Austausch der Schlüssel zwischen Sender und Empfänger war jedoch die einzige Möglichkeit, Schlüssel zu vereinbaren, bis im Jahr 1977 die Mathematiker Ron Rivest, Adi Shamir und Leonard Adleman ein neues Verschlüsselungsverfahren vorstellten. Bei diesem gibt es einen öffentlichen Schlüssel, den man jedem zugänglich machen kann, und einen privaten, geheimen Schlüssel. Der öffentliche Schlüssel hat die Eigenschaft, dass sich alle damit verschlüsselten Informationen nur mit dem dazugehörigen privaten Schlüssel wieder entschlüsseln lassen. So kann jeder eine Nachricht mit dem öffentlichen Schlüssel einer Person verschlüsseln, die dann nur diese mit ihrem dazugehörigen privaten Schlüssel wieder entschlüsseln kann.
Verschlüsseln und signieren
Um eine mit der RSA-Methode verschlüsselte Nachricht an einen Empfänger zu versenden, benötigt man dessen öffentlichen Schlüssel. Diesen erhält man entweder vom Empfänger selbst zugesandt, oder man kann ihn im Internet aus einer Datenbank (Key Server) abrufen, wenn er dort abgelegt ist. Außer zum Verschlüsseln einer Nachricht dienen die Schlüssel auch zum Signieren einer E-Mail. Dazu verwendet man den eigenen privaten Schlüssel. Jeder, der im Besitz des dazugehörigen öffentlichen Schlüssels ist, kann dann prüfen, ob die Signatur echt ist. Denn nur der zur Signatur passende öffentliche Schlüssel erlaubt die Überprüfung der Signatur.
RSA-Verschlüsselung
Die RSA-Verschlüsselung basiert auf Primzahlen
Das von Rivest, Shamir und Adleman (RSA) entwickelte Verschlüsselungsverfahren beruht auf der Tatsache, dass sich das Produkt aus zwei Primzahlen zwar schnell berechnen, aber nur schwer wieder in die beiden Faktoren zerlegen lässt, wenn möglichst große Primzahlen verwendet werden. Das Produkt aus zwei zufällig gewählten, großen Primzahlen ist bei der RSA-Verschlüsselung deshalb die Basis, um daraus mit weiteren mathematischen Operationen den privaten und den öffentlichen Schlüssel zu berechnen. Mit den derzeit verfügbaren computertechnischen Mitteln kann man aus dem öffentlichen Schlüssel nicht den privaten berechnen, so dass die Bekanntgabe des öffentlichen Schlüssels keinerlei Gefahr darstellt. In der Praxis wird bei der Verschlüsselung von E-Mails nicht die gesamte Nachricht mit dem RSA-Verfahren kodiert, da die Berechnung sehr aufwendig ist. Stattdessen wird ein einmaliger Zufallsschlüssel erstellt, um die Nachricht zu verschlüsseln, und nur dieser Schlüssel wird mit dem öffentlichen Schlüssel des Empfängers verschlüsselt.
Um E-Mails zu signieren und zu verschlüsseln, lässt man sich entweder ein persönliches Zertifikat ausstellen, beispielsweise bei Thawte (siehe “Zertifikate”), oder installiert eine Verschlüsselungssoftware. Das kann entweder die kommerzielle Anwendung PGP Desktop sein oder die kostenlose Alternative GnuPG.
Signieren mit Zertifikat
Verwendet man Zertifikate, um E-Mails zu signieren und zu verschlüsseln, muss man keine zusätzliche Software installieren, wenn man Mail benutzt. Das Programm ist nahtlos in die Zertifikatsfunktion des Systems integriert. Sobald man im eigenen Schlüsselbund ein Zertifikat für ein E-Mail-Konto gespeichert hat, kann man beim Versenden der Nachricht für dieses Konto die elektronische Signatur einschalten. Dazu blendet Mail im Fenster einer neuen E-Mail ganz rechts zwei Symbole ein. Per Klick auf das Sonnensymbol wird die Signatur aktiviert, es erscheint dann dort ein Häkchen.

Beim Empfänger zeigt Mail im Kopf einer per Zertifikat signierten Nachricht “Signiert” bei “Sicherheit” an. Ein Klick auf das links daneben stehende Symbol blendet das Zertifikat des Absenders ein. Es wird zudem automatisch im Schlüsselbund “Anmeldung” des Empfängers abgelegt. Das gilt auch in der Gegenrichtung. Erhält man eine per Zertifikat signierte E-Mail, wird das Zertifikat des Absenders im eigenen Schlüsselbund “Anmeldung” gespeichert. Diese Zertifikate sind der öffentliche Schlüssel des jeweiligen Absenders.
Verschlüsseln mit Zertifikat

Schickt man an eine Person, deren Zertifikat im eigenen Schlüsselbund abgelegt ist, eine Nachricht, kann man die E-Mail nicht nur mit dem eigenen Zertifikat signieren, sondern auch mit dem öffentlichen Schlüssel des Empfängers verschlüsseln. Mail aktiviert automatisch das Schloss im Kopf der neuen Nachricht, wenn es den zur Empfängeradresse passenden öffentlichen Schlüssel im Schlüsselbund findet. Dann genügt ein Mausklick auf das Schloss, um die Nachricht verschlüsselt zu versenden. Beim Empfänger entschlüsselt Mail die Nachricht automatisch mit dessen privatem Schlüssel und zeigt sie im Klartext an. Im Kopf der Nachricht erscheint “Verschlüsselt” bei “Sicherheit”.
Verschlüsseln mit GnuPG

GnuPG (GNU Privacy Guard) gibt es momentan in den älteren Varianten GnuPG 1.4.10 sowie in der neueren Version Mac GPG2. Bei diesen Programmen handelt es sich um Hintergrundanwendungen, die keine Bedienoberfläche haben. Man konfiguriert sie normalerweise über das Terminal. Da das nicht besonders bequem ist, installiert man außerdem GPG Keychain Access (GPG Schlüsselbund), um die Schlüssel zu erstellen und zu verwalten. Zum Verwenden der Schlüssel in Mail benötigt man als dritten Baustein GPG Mail.

Als Erstes installiert man GnuPG und startet den Mac neu. Danach installiert man GP Keychain Access, startet das Programm und legt einen neuen Schlüssel an. Möchte man E-Mails sowohl signieren als auch verschlüsseln, wählt man als Schlüsselart “DSA und ElGamal” aus und bestimmt danach die Schlüssellänge. Je länger der Schlüssel ist, desto sicherer ist er. Außerdem legt man noch ein Ablaufdatum für den Schlüssel fest, standardmäßig stellt das Programm ein Jahr ein. Anschließend sind noch der vollständige Name und die E-Mail-Adresse anzugeben. Beim Namen muss man darauf achten, dass er keine Umlaute enthält, sonst wird kein Schlüssel erzeugt. Im letzten Schritt ist die Angabe eines Passworts erforderlich, mit dem man dann auf den Schlüssel zugreifen kann. Hat man mehrere E-Mail-Konten, so erstellt man entsprechend viele Schlüssel, jeweils unter Angabe der jeweiligen E-Mail-Adresse. Als letzte Maßnahme ruft man “GPG > Schlüsselcache erneuern” auf. Dadurch wird das Terminal gestartet und der Befehl ausgeführt. Danach kann man das Terminal wieder beenden.
Schlüssel versenden
Damit Empfänger die Signatur prüfen und verschlüsselte Nachrichten an den Absender verschicken können, benötigen sie dessen öffentlichen Schlüssel. Um den eigenen öffentlichen Schlüssel weiterzugeben, markiert man im Programm GPG Schlüsselbund unter “Öffentlich” den Schlüssel und klickt auf “Exportieren”. Das Programm ist sicherheitshalber so eingerichtet, dass man nicht versehentlich den privaten Schlüssel exportiert. Sobald man zu “Geheim” wechselt, ist die Exportoption deaktiviert. Den exportierten öffentlichen Schlüssel fügt man einer E-Mail als Anhang an. Der Empfänger, der ebenfalls GnuPG installiert haben muss, übergibt dann die Schlüsseldatei an den GPG Schlüsselbund, was am einfachsten über “Öffnen mit > GPG Schlüsselbund” im Kontextmenü des Dateisymbols im Nachrichtenfenster geht. In der Schlüsselverwaltung ruft er außerdem noch “GPG > Schlüsselcache erneuern” auf.
Signieren und verschlüsseln
Ist GPG Mail installiert, erscheinen in einer neuen Nachricht die Optionen “Signieren” und “Verschlüsseln”, jeweils mit einem Aufklappmenü. Aktiviert man “Signieren”, werden alle privaten Schlüssel im Menü aufgelistet. Standardmäßig wählt GPG Mail den zur Absenderadresse passenden Schlüssel aus. Dieses Verhalten lässt sich in den Vorgaben von Mail unter “GPG > Schlüssel” ein- oder ausschalten. Hier kann man auch festlegen, ob beim Versenden jeweils das Passwort des Schlüssels abgefragt werden soll oder ob man das Kennwort im Schlüsselbund “Anmeldung” speichern möchte.
Um eine Nachricht zu verschlüsseln, muss der öffentliche Schlüssel des Empfängers im GPG Schlüsselbund vorhanden sein. GPG Mail wählt jeweils den für den Empfänger passenden Schlüssel aus, wenn “Schlüssel” (Automatische Auswahl) im Aufklappmenü bei “Verschlüsseln” eingestellt ist. Hat der Empfänger seinen öffentlichen Schlüssel auf einem Schlüsselserver abgelegt, sucht man den Schlüssel mit “Laden” auf einem der Server im Internet.
Verifizieren und entschlüsseln
Bekommt man eine mit GPG Mail signierte Nachricht, erscheint in Mail der Hinweis “Diese Nachricht wurde mit GPG signiert” sowie ein Button “Verifizieren”, sofern der öffentliche Schlüssel des Absenders auf dem Rechner gespeichert ist. Ein Klick auf den Button blendet den Namen und die E-Mail-Adresse des Absenders ein. Ein Klick auf das Dreieck erweitert die Anzeige um das Datum und den Fingerabdruck der Signatur. Diesen kann man dann mit dem Fingerabdruck des im GPG Schlüsselbund gespeicherten Schlüssels vergleichen. Erhält man eine verschlüsselte Nachricht, erscheint der Hinweis “Diese Nachricht wurde mit GPG verschlüsselt”. Nach einem Klick auf “Entschlüsseln” gibt man das Passwort für den eigenen privaten Schlüssel ein, woraufhin die Nachricht entschlüsselt und die Signatur des Absenders angezeigt wird.