Aus einer Erklärung an einen Freund:
Oberbegriff ist die asymmetrische Verschlüsselung mit einem
öffentlichen Schlüssel, den jeder sehen darf, und einem
privaten, der die Mails so durchnudelt, daß man nur mit dem
öffentlichen Schlüssel die Unterschrift prüfen kann. Der öffentliche Schlüssel (public key) dechiffriert zuverlässig Nachrichten, die mit dem geheimen Schlüssel (private key) verschlüsselt worden sind,
ohne daß dieser geheime Schlüssel zum Vergleich vorliegen muß.
So einen asymmetrischen Schlüssel habe ich mit Linux-GPG auf
meinem System erzeugen lassen und signiere seitdem mail1@(...) damit.
Der private Teil ist irgendwo auf meiner Festplatte versteckt. Der
öffentliche ist von mir auf die standardmäßigen
Keyserver im Internet hochgeladen, sodaß jeder meine Unterschrift
prüfen kann.
So weit funktioniert das ja alles, aber das Programm (ich meine nicht den
gleichnamigen Algorithmus) PGP ist ein Verfahren für Freaks, denn sie
müssen wissen, daß sie sich den öffentlichen Key
für jeden einzelnen Absender irgendwo runterladen müssen, und
wie sie das tun können, und sie müssen einen Mailclienten
haben, der das auch zuwege bringt (Outlook Express kann's nicht).
Ob der öffentliche Schlüssel dann wirklich von mir stammt,
kann der Empfänger ferner nicht wissen. Du kannst hingehen und ein
Account bei GMX namens mail1 beantragen und mit dieser E-Mail-Adresse
ein Schlüsselpaar erzeugen. Dann verschickst Du signierte Mails
und behauptest, sie seien von mir. Jeder, der sich den zugehörigen
öffentlichen Schlüssel von einem Keyserver runtergeladen hat,
kriegt angezeigt, dass die Signatur
korrekt ist. Ist sie auch, aber sie ist nicht von mir.
Also fehlt noch ein Glied in der Kette. Entweder holst Du Dir den
öffentlichen Schlüssel zu meinen Mails nicht von irgend 'nem
Server, sondern lässt ihn Dir auf Diskette von mir in die Hand
geben. Dann kann wirklich nichts passieren. Oder Du nützt einen
Mechanismus aus, den es meistens nur für Geld gibt: ich bringe
eine vertrauenswürdige öffentliche Institution dazu, meinen
öffentlichen Schlüssel zu bestätigen. Die
Möglichkeit dazu ist elektronisch in das System eingebaut und
nennt sich Zertifikat. Der Heise Verlag beispielsweise macht und
veröffentlicht solche Zertifikate kostenlos, wenn man es selber auf
einer Messe für seine E-Mail-Adresse beantragt und auch einen Personalausweis vorzeigen kann. Bei
Zertifizierungsstellen wie TC Trustcenter oder bei Globalsign kriegt
man dasselbe, in verschiedenen Sicherheitsstufen, für eine
Jahresgebühr.
Damit ist die Frage nur verlagert - nämlich, woher weiß ich,
ob dieses Trustcenter existiert und die Bestätigung (das
Zertifikat) meines Signaturkeys echt ist. Also brauche ich, um die
Kette zu schließen, ein Oberzertifikat über die paar Dutzend
staatlich registrierten Trustcenter auf der Welt. Und diese
Oberzertifikate kommen gottseidank schon in die Browser und
Mailclienten eingebaut. Du kannst sie in irgend einem Menüpunkt
wie Einstellungen-->Internetsicherheit-->Zertifikatsverwaltung
sehen und fehlende von deren Websites runterladen.
Also ist die Kette geschlossen und ich will mir nun meinen
öffentlichen Schlüssel nicht selber machen, wie er jetzt
existiert, sondern ich will einen von einem Trustcenter
bestätigten haben.
Ich dachte, daß dann das Schlüsselpaar von dem Trustcenter
erzeugt wird und den öffentlichen halten die für mich auf
ihrem Server bereit, den privaten kriege ich auf einer Diskette oder
ausgedruckt zum Abtippen oder ich lade ihn mir über eine
SSL-Verbindung runter.
Aber das heisst ja, daß die Angestellten der Trustcenter alle
privaten Schlüssel aller Personen, Firmen und Behörden zur
Verfügung haben, die bei ihnen Kunde sind, und das darf nicht
sein! Die Fachwelt will ja nicht mal dem CIA oder dem BKA zugestehen,
dass die eine Hintertür zu den Verschlüsselungsverfahren
kriegen. Da hat es schon mächtig Ärger für den Erfinder
des unknackbaren Verfahrens, Phil Zimmermann, gegeben.
Es ist komplizierter, als ich dachte:
Neuzeitliche Browser haben ein Kryptografie-Modul. Das kann, genau wie die Programme PGP oder GPG und wie sie alle heissen, Schlüsselpaare erzeugen und verwalten. Dieses Modul wird in der
Online-Session durch das angewählte Trustcenter aufgerufen und
generiert das Schlüsselpaar - auf meinem Computer. Der private
bleibt auf meiner Festplatte und sonst nirgendwoanders. Nur der
öffentliche wird automatisch an das Trustcenter hochgeladen.
Jetzt schicke ich den Vertrag und eine Ausweiskopie an das Trustcenter
oder mache, was-auch-immer für die beantragte Sicherheitsstufe
notwendig ist (z.B. Post-Ident-Verfahren). Die vom Trustcenter
installieren alles und schicken mir dann irgend eine Kundennummer, PIN
oder sowas, womit ich mich bei denen einwähle. Jetzt tritt wieder
mein Browser in Aktion und lädt das
fertige Zertifikat runter, sowie fragt mich, ob ich meinen private Key
versteckt lassen will oder ob ich ihn auf meinem Computer exportierbar
mache, damit ich ihn z.B. zur Datensicherung auf einer CD in den Safe
legen kann.
Damit keine Verwirrung vermieden wird, machen die Trustcenter das nicht
für die PGP-Software, die es als Freeware gibt, sondern nach einem
ähnlichen aber inkompatiblen Verfahren "S/MIME". Das war
eigentlich die schlechte Nachricht, aber die gute ist, daß S/MIME
in die weitverbreiteten Mailclienten wie Outlook Express oder
Thunderbird schon eingebaut ist.
Zurück zu "Public-Key"