conIT Gesellschaft für Consulting, Software-Entwicklung und IT-Dienstleistungen mbH

Verfasser: Birger Holtermann
© 2005 – 2006 by conIT GmbH, Offenbach.

Vervielfältigung, Weitergabe oder Nutzung in anderen Publikationen dürfen ausschließlich mit schriftlicher Genehmigung der conIT GmbH erfolgen. Dieser Beitrag wurde zuletzt inhaltlich aktualisiert am 14.04.2006.

Für die Richtigkeit und Verwendbarkeit der hier beschriebenen Informationen übernehmen ohne bestehendes Kundenverhältnis keine Gewährleistung. Alle eventuell aufgeführten Warenzeichen oder Marken sind Eigentum der jeweiligen Markeninhaber.

Für Fragen, Anregungen, Kommentare oder sonstige Anmerkungen zu Beiträgen auf diesen Seiten nutzen Sie die Kontaktmöglichkeiten.

Schlüsselverwaltung bei Public-Key-Kryptographie

Datenübertragung per e-Mail kann prinzipbedingt wie eine Postkarte quasi von jedermann gelesen werden, auch im Falle einer irrtümlichen Zustellung an falsche Zieladressen. Möchte man zum Schutz seiner wertvollen Daten verschlüsselte Mails austauschen, muß man sich bei den modernen Verfahren mit öffentlichen Schlüsseln davon überzeugen, daß dieser Schlüssel wirklich dem vorgeblichen Absender gehört.

Dieser Artikel beschreibt die wesentlichen organisatorischen Maßnahmen und Möglichkeiten der Schlüsselauthentisierung.

Public-Key-Verfahren dienen zur sicheren Verschlüsselung und Signierung von Daten bei der Übertragung von einem Sender zu einem oder mehreren Empfängern. Hierbei handelt es sich um sogenannte asymmetrische Verfahren, bei der zum Verschlüsseln und Entschlüsseln der Daten verschiedene Schlüssel zum Einsatz kommen.

zum Seitenanfang Hilfe

Symmetrische Verfahren

Bei den symmetrischen Verfahren kommt beim Verschlüsseln und Entschlüsseln derselbe Schlüssel zum Einsatz. Damit ein Empfänger die verschlüsselten Daten des Senders dechiffrieren kann, muß zuvor der Schlüssel auf einem sicheren Wege zum Empfänger übermittelt werden. Sind Botschaften verschlüsselt an mehrere Empfänger zu schicken, so müssen die Schlüssel vorher zu allen vorgesehenen Empfängern gelangen. Bei der Übertragung des Schlüssels ist sicherzustellen, daß dieser dabei weder verfälscht oder gar ausgetauscht werden darf, und daß die Übermittlung nicht belauscht werden kann. Beide Forderungen sind nur schwer zu erfüllen; wenn ein sicherer Kanal für die Übertragung der Schlüssel zur Verfügung steht, könnte man diesen ja auch gleich für die Nachrichten verwenden.

Wird ein Schlüssel mehreren Personen bekanntgegeben, so tritt häufig auch der Fall auf, daß Einzelne aus der Gruppe der Berechtigten entfernt werden müssen, oder neue Mitglieder dazukommen. Muß im zweiten Fall den hinzugefügten Mitgliedern lediglich der vorhandene Schlüssel mitgeteilt werden, um die zu geschützten Informationen für sie verfügbar zu machen, so ist der erste Fall schwieriger handzuhaben. Um sicherzustellen, daß keiner der ehemals Berechtigten weiterhin Zugriff auf nach dem Ausscheiden übertragene Daten hat, muß im Prinzip ein neuer Schlüssel vereinbart und an alle verbliebenen Berechtigten übermittelt werden.

zum Seitenanfang Hilfe

Asymmetrische Verfahren

Der Schlüsselaustausch über einen sicheren Kanal kann im Einzelfall sehr schwierig sein, weil eine solche Kommunikationsmöglichkeit bisher nicht besteht und gerade durch die Einführung der Verschlüsselung geschaffen werden soll. Möchten sich zwei Personen über das Internet verschlüsselte Nachrichten zukommen lassen, so müßten sie bei einem symmetrischen Verfahren vorher den Schlüssel über ein anderes Medium austauschen, beispielsweise Briefpost, Telefon oder Telefax. Wenn sie sich hierbei nicht persönlich treffen, besteht immer noch die Möglichkeit, daß der Schlüssel während des Transportes ausgespäht, verändert oder verfälscht wird.

Der verschlüsselte Austausch von Informationen zwischen Personen, die vorher noch nie etwas miteinander zu tun hatten, gestaltet sich so entsprechend schwierig, auch unter dem Gesichtspunkt der Frage, ob der vereinbarte Schlüssel bei der Übertragung belauscht wurde.

Hier kommen jetzt die asymmetrischen Verfahren ins Spiel. Hierbei werden zum Verschlüsseln und Entschlüsseln der Daten unterschiedliche Schlüssel eingesetzt. Jeder beteiligte Partner an der Datenübertragung besitzt ein sogenanntes Schlüsselpaar, bestehend aus dem privaten und einem öffentlichen Schlüssel. Diese beiden Komponenten eines Schlüssels hängen über mathematische Verfahren voneinander ab; ein Schlüsselteil kann aber zur Zeit nicht mit praktisch realisierbarem Aufwand aus dem anderen abgeleitet werden. Dabei muß der private Schlüssel streng unter der Kontrolle des Besitzers bleiben und darf niemandem sonst zugänglich gemacht werden. Der öffentliche Schlüssel kann und muß dagegen möglichst weit verbreitet werden. Dies kann durch Hinterlegen einer Datei mit diesem öffentlichen Schlüssel im Internet-Auftritt geschehen, durch Versenden mit e-Mail, durch Bereitstellen zum FTP-Download oder durch Hochladen auf einen öffentlichen Schlüsselserver. Eine Nachricht wird zur Übertragung mit dem öffentlichen Schlüssel des Empfängers verschlüsselt. Ausschließlich dieser Empfänger kann die Nachricht mit Hilfe des geheimen, nur ihm bekannten Schlüssels wieder entschlüsseln.

Auf diese Weise ist es auch möglich, dieselbe Nachricht gleichzeitig für mehrere Empfänger zu verschlüsseln. Ändert sich die Gruppe der berechtigten Empfänger durch Zu- oder Abgänge, so ist lediglich die Liste der zur Verschlüsselung verwendeten öffentlichen Schlüssel entsprechend anzupassen. Eine verschlüsselte Nachrichtenübertragung ist also mit jedem Partner ohne vorherige gesicherte Verbindung möglich, wenn der öffentliche Schlüssel bekannt ist oder besorgt werden kann.

zum Seitenanfang Hilfe

Kann man dem öffentlichen Schlüssel vertrauen?

Auf die technischen Details und die mathematischen Grundlagen von Public-Key-Verfahren soll hier nicht eingegangen werden. Diese werden an anderen Stellen ausreichend erläutert, siehe bei Links. Statt dessen wollen wir hier die organisatorischen Gründe erläutern, warum diese asymmetrischen Verfahren trotz der öffentlichen Verbreitung von Schlüsseln sicher sind , und welche Maßnahmen ein Benutzer ergreifen muß, um ohne vorherigen Kontakt einen verschlüsselten Kommunikationskanal aufzubauen.

Grundsätzlich gilt: einem öffentlichen Schlüssel, den man auf elektronischem Wege irgendwo aus den Weiten des Internets erhält oder herunterlädt, darf man zunächst nicht vertrauen, ebenso wie den dahinter stehenden Schlüsselinhabern. Zu zahlreich sind die Möglichkeiten, daß dieser Schlüssel bei der Übertragung verändert, abgefangen oder anderweitig verfälscht worden ist. Durch verschiedene Prüfungen kann man nun testen, ob der Schlüssel wirklich authentisch ist, d. h., ob er vom angeblichen Absender stammt und auch dessen korrekten öffentlichen Key darstellt.

zum Seitenanfang Hilfe

"Web of Trust"

Analog zu der anarchischen Struktur des Internets gibt es daher bei der Handhabung von öffentlichen Schlüsseln ein sogenanntes "Web of Trust", ein Netzwerk des Vertrauens. Dieses wird dadurch eingerichtet, daß die Teilnehmer die öffentlichen Schlüssel gegenseitig "unterschreiben" (signieren), und damit bestätigen, daß dieser Schlüssel von dem angeblichen Besitzer stammt. Beim Erzeugen eines neuen Schlüsselpaares mit Hilfe von GnuPG wird dieser sofort mit sich selbst signiert. Dies verhindert bereits wirkungsvoll eine nachträgliche Veränderung des öffentlichen Schlüsselteils bei der Übertragung, denn dies würde die Signatur ungültig machen.

Wenn also jemand Ihren öffentlichen Schlüssel manipulieren möchte, bleibt also nur die Möglichkeit, diesen komplett auszutauschen ("man in the middle attack", Angriff durch einen "Menschen in der Mitte", zwischen den Kommunkationspartnern). Woher weiß man also nun, ob die angebliche Unterschrift "echt" ist und der Unterschreiber sich in ausreichendem Maße von der Echtheit des unterschriebenen Schlüssels überzeugt hat?

Antwort: man weiß leider nicht, wie sorgfältig andere Teilnehmer mit den Signaturen umgehen. Von daher sind die Unterschriften zunächst nur ein Baustein im Aufbau des "Vertrauensnetzwerkes".

Jeder öffentliche Schlüssel trägt zwei Kennungen: eine sogenannte "ID" (Identifikationsnummer), und einen "Fingerprint". Die ID wird beim Generieren des Schlüsselpaares mit erzeugt ist mit hinreichender Wahrscheinlichkeit weltweit eindeutig. Der Fingerabdruck (Fingerprint) ist eine Prüfsumme, die aus dem öffentlichen Schlüsselteil berechnet ist. Wird der öffentliche Schlüssel bei der Übertragung verändert oder verfälscht, so ändert sich mit an Sicherheit grenzender Wahrscheinlichkeit auch dieser Fingerprint. Seit 1991, seit das PGP-Prinzip und -Protokoll bereits in Benutzung ist, ist es bisher erst einmal unter Laborbedingungen und mit hohem Aufwand gelungen, bei einem schwächeren Verfahren einen Schlüssel so zu verfälschen, daß der Fingerabdruck identisch zum Original geblieben ist. Es gibt allerdings verschiedene Algorithmen (Methoden), mit denen solche Fingerabdrücke berechnet werden können, und von der Benutzung der Verfahren SHA-0, SHA-1 und MD5 ist inzwischen abzuraten.

Bei ausreichend starken Verfahren kann man den Fingerabdruck sehr gut dazu verwenden, die Unversehrtheit des öffentlichen Schlüssels nach einer Übertragung zu überprüfen. Hierzu berechnet das Verschlüsselungsprogramm nach demselben Verfahren wie bei der ursprünglichen Erzeugung diese Prüfsumme über den öffentlichen Schlüssel. Bei einem korrekten Schlüssel muß diese Prüfsumme mit dem ursprünglichen Fingerabdruck übereinstimmen. Nun muß man lediglich sicherstellen, die garantiert unversehrte und authentische Prüfsumme (Fingerabdruck) vom Inhaber des Schlüssels zu erfahren. Dabei genügt ein vollelektronisch übertragener Fingerabdruck leider nicht - dieser kann dabei genauso verfälscht worden sein wie der öffentliche Schlüssel.

Um den öffentlichen Schlüssel zu verifizieren, hat man nun zwei Optionen:

GnuPG betrachtet einen öffentlichen Schlüssel dann als authentisch, wenn man ihn

Dem Inhaber jeden Schlüssels, den man selbst unterzeichnet, muß man eine Vertrauenstufe zuordnen, die eine Einschätzung der Sorgfalt des jeweiligen Inhabers angibt, mit der die betreffende Person oder Stelle Schlüssel vor der Signierung prüft. Die Skala reicht von "komplett unzuverlässig" über "normal sorgfältig" bis zu "vollem Vertrauen", wobei "unbekannt" die Voreinstellung ist. Bei "vollem Vertrauen" zählt die Unterschrift dieses Partners so viel wie die eigene.

Aus diesen "Vertrauenskennzahlen" ergibt sich nun ein "Netz des Vertrauens", das "Web of Trust". Über diese indirekten Schlüsselsignaturen kann man zu authentisierten Schlüsseln gelangen, ohne dem jeweiligen Kommunikationspartner jeweils persönlich begegnet zu sein.

zum Seitenanfang Hilfe

Was sind "unverfälschbare Kanäle"?

Die Besonderheit der asymmetrischen Verschlüsselungsverfahren ist, daß man den öffentlichen Schlüssel ebenfalls über die gleichen, unsicheren Kanäle erhalten kann, über die später die Nachrichten ausgetauscht werden sollen. Nur für eine eigene Überprüfung der Authentizität eines öffentlichen Schlüssels ist es notwendig, den Fingerabdruck über einen unverfälschbaren Kanal zu erhalten, falls man dies nicht anhand des "Web of Trust" sicherstellen kann. Diese "unverfälschbaren Kanäle" sind Übertragungsarten, die ein interessierter Angreifer nur mit großem Aufwand beeinflussen oder verändern kann. Zur Übertragung des Fingerabdrucks eignen sich daher:

Falls Sie den öffentlichen Schlüssel auf einem Datenträger (Diskette, Memory-Stick, CD-ROM usw.) direkt aus der Hand des betreffenden Inhabers erhalten, können Sie eigentlich von dessen Authentizität ausgehen, sofern Sie den Datenträger bis zur Verwendung nicht mehr aus den Augen lassen. Es kann aber auch in diesem Falle nicht schaden, den Fingerabdruck in gedruckter Form mit zu übernehmen und vor der Verwendung des Schlüssels zu prüfen, um eventuelle Fehler auf dem Datenträger zu erkennen.

In allen anderen Fällen kann man sich den eigentlichen Schlüssel vollelektronisch aus dem Internet oder allen anderen zur Verfügung stehenden Quellen besorgen, denn die Korrektheit läßt sich dann durch Vergleich mit dem authentischen Fingerabdruck beweisen.

zum Seitenanfang Hilfe

Links

zum Seitenanfang Hilfe

[Startseite] - [Kontakt] - [Profil] - [Produkte] - [Tips+Tricks] - [Sonstiges]