next up previous contents
Next: Weiteres wichtiges Zubehör Up: Grundlagen der Kryptographie Previous: Asymmetrische Chiffren   Contents

Subsections

Weitere notwendige Algorithmen

Einweg-Hashfunktionen

Ein wichtiges Werkzeug, das in vielen kryptographischen Protokollen Verwendung findet, sind Einweg-Hashfunktionen. Eine Hashfunktion $ H$ erzeugt aus einem beliebig großen Datenblock $ D$ einen eindeutigen Hashwert $ h=H(D)$ mit fester Länge $ m$. Hashfunktionen finden auch in anderen Bereichen der Informatik Verwendung. Um für kryptographische Anwendungen zweckmäßig zu sein, muß aber noch mehr von der Funktion gefordert werden: Zu einem gegebenen Datenblock $ D$ muß es einfach sein, den Hashwert $ h$ zu berechnen, aber die Umkehrung, aus einem Hashwert $ h'$ einen Datenblock $ D'$ zu generieren mit $ h'=H(D')$, sollte berechnungsmäßig unmöglich sein. Daher kommt auch die Bezeichnung ``Einweg''-Hashfunktion. Ebenfalls berechnungsmäßig unmöglich sollte es sein, zwei Datenblöcke $ D$ und $ D'$ mit dem selben Hashwert $ h=H(D)=H(D')$ zu finden. Daraus resultiert, dass auch kleinste Änderungen am Text zu unterschiedlichen Hashwerten führen müssen (Diffusion).

Authentifizierung ohne Verschlüsselung mittels Einweg- Hashfunktionen
Einweg-Hashfunktionen eignen sich für eine einfache Möglichkeit zur Authentifizierung von Kommunikationspartnern. Die Voraussetzung dafür ist, dass die an der Kommunikation beteiligten Parteien ein Geheimnis $ G$ teilen. Zur Erläuterung des Vorgehens betrachte man folgende Situation: Alice will Bob überzeugen, dass eine Nachricht $ M$ von ihr stammt. Um dieses zu tun, bildet Alice $ h=H(M,G)$ also den Hashwert der Konkatenation der Nachricht und des Geheimnisses, wobei H eine Einweg-Hashfunktion ist, auf die sich Alice und Bob im Vorfeld geeinigt haben und $ G$ das gemeinsame Geheimnis. Alice sendet $ h$ zusammen mit $ M$ an Bob. Bob, der $ G$ kennt, kann ebenfalls $ H(M,G)$ bilden und das Ergebnis mit $ h$ vergleichen. Wenn die Werte übereinstimmen, weiß Bob, dass die Nachricht $ M$ wirklich von Alice geschickt wurde. Da nur er und Alice das Geheimnis $ G$ kennen, hätte niemand außer Alice den Hashwert $ h$ generieren können, und da $ H$ eine Einweg-Hashfunktion ist, ist es für dritte auch trotz der Kenntnis von $ h$ und $ M$ unmöglich $ G$ zu berechnen. Bob weiß außerdem, dass der Text $ M$ unverändert angekommen ist. Hätte eine dritte Partei die Nachricht $ M$ durch eine andere Nachricht $ M'$ ersetzt, wäre der resultierende Hashwert $ h'=H(M',G)$ unterschiedlich zu dem mitgeschickten $ h=H(M,G)$. Diese Art der Authentifizierung findet u.a. bei IPSec Verwendung.

Der Nachteil dieses Verfahrens ist, dass es Dritten gegenüber keine Authentifizierung bietet (non-repudiation). Alice kann sich zwar von der Identität Bobs überzeugen, hat aber keine Möglichkeit einer dritten Person Clara zu beweisen, dass die Nachricht tatsächlich von Bob stammt, da Clara weder das Geheimnis $ G$ kennt, noch, bei Offenlegung des Geheimnisses, aus $ G$ auf Bob schließen kann.

Einweghashfunktionen - Beispiele
Hier sollen zwei verbreitete Einweghashfunktionenkurz erwähnt werden, die als weitgehend sicher gelten:

Digitale Signaturen
Für viele Kommunikationsprotokolle hätte man gerne ein elektronisches Äquivalent zur menschlichen Unterschrift, also eine Möglichkeit, digitale Dokumente zu unterzeichnen. Die exakten Anforderungen an eine sogenannte digitale Signatur lassen sich wie folgt auflisten:

Es ist ersichtlich, dass, wenn alle diese Forderungen erfüllt sind, Vorgänge wie digitales Unterzeichnen von Verträgen und ähnliches möglich sind. Digitale Signaturen kann man weiterhin zur Authentifizierung von Kommunikationspartnern oder Autoren digitaler Dokumente einsetzen.


Digitale Signaturen mittels asymmetrischer Chiffren

Vorausgesetzt die Reihenfolge der Anwendungen des geheimen und öffentlichen Schlüssels ist unerheblich, eignen sich asymmetrische Chiffren gut, um digitale Signaturen zu erstellen. Dabei wird wie folgt vorgegangen: Alice chiffriert das betreffende Dokument mit ihrem geheimen Schlüssel. Danach sendet sie das so unterzeichnete Dokument an Bob. Bob dechiffriert das Dokument mit Alices öffentlichem Schlüssel. Betrachten wir kurz, ob alle unsere Anforderungen an digitale Signaturen bei einem derartigen Vorgehen erfüllt werden:

In der Praxis wird oftmals nicht das gesamte Dokument unterzeichnet, (also chiffriert) sondern nur der Hashwert des Dokuments. Dieses geschieht vor allem aus Gründen der Effizienz (außerdem bleibt so das Dokument selbst, auch ohne Überprüfung der digitalen Signatur, lesbar). Man kann sich davon überzeugen, dass bei Benutzung einer Einweg-Hashfunktion mit einem ausreichend großem Hashwert sich die Sicherheit der digitalen Signatur dabei nicht ändert.


Digitale Signaturen mittels DSA

Bei digitalen Signaturen mit asymmetrischen Chiffren geht mit der Signierung eine Verschlüsselung des Dokuments einher (falls das ganze Dokument und nicht nur der Hashwert signiert wird). Dies ist nicht in allen Fällen wünschenswert. Weiterhin muß man beachten, dass in manchen Ländern Benutzung oder Export von Software, die Verschlüsselung ermöglicht, restringiert ist. Also gibt es einen Bedarf nach Algorithmen, die digitale Signaturen ohne einhergehende Verschlüsselung ermöglichen. Der Digital Signature Algorithm (DSA), der 1991 von der NSA entwickelt wurde und Teil des DSS (Digital Signature Standard) ist, verfolgt einen derartigen Ansatz. Bei korrekter Implementation eignet er sich nur zum Signieren, aber nicht zum Verschlüsseln. Auch beim DSA wird mit öffentlichen und geheimen Schlüsseln gearbeitet und die Signatur wird auch hier unter Verwendung des öffentlichen Schlüssels überprüft. Die Sicherheit des DSA beruht auf der Schwierigkeit, den diskreten Logarithmus über endlichen Körpern zu berechnen. Die Schlüssellänge ist variabel zwischen 512 und 1024 Bit. Wie auch schon beim DES wurde dem DSA bei seiner Einführung mit Mißtrauen begegnet, da an seiner Entwicklung die NSA beteiligt war. Tatsächlich besteht bei maliziöser Implementation des Algorithmus die Möglichkeit, einen verdeckten Kanal in den DSA einzubauen, der nach und nach den geheimen Schlüssel des Anwenders nach außen schleust. Da ein solcher Kanal unmöglich zu entdecken ist, sollte man nur vertrauenswürdige Implementationen des DSA verwenden.


next up previous contents
Next: Weiteres wichtiges Zubehör Up: Grundlagen der Kryptographie Previous: Asymmetrische Chiffren   Contents
willemATkoram.de