• Keine Ergebnisse gefunden

CUBRID SHARD

2 Kryptographische Grundlagen

2.2 Digitale Signatur

2.2 Digitale Signatur

In umgekehrter Weise lassen sich mit asymmetrischen Verfahren auch digitale Signaturen erzeugen.

Der Schlüssel zum Überprüfen einer Signatur ist öffentlich, während der Schlüssel zum Signieren geheim gehalten werden muß.

Alice berechnet aus dem zu unterschreibenden Text m (evtl. zusammen mit Informationen über den Zeitpunkt der digitalen Signatur (siehe Kap. 2.5.4)) mit ihrem geheimen

Signierschlüssel dAlice und einem Signieralgorithmus S einen Wert sig: die sogenannte digitale Signatur. Diese Signatur wird auch Authentikator genannt.

sig = SdAlice(m)

Sie verschickt den Text zusammen mit der digitalen Signatur (m,sig) an Bob (siehe Abb. 2). Will dieser die Echtheit des bei ihm eingegangenen Textes überprüfen, so verifiziert er mit Hilfe eines

Verifikationsalgorithmus V und dem öffentlichen Schlüssel eAlice von Alice die digitale Signatur sig.

VeAlice(m) = sig ?

Die Vorgehensweise bei der Verifikation einer digitalen Signatur wird in Kapitel 4 ausführlicher beschrieben. In der Praxis bestimmt man zunächst, vor allem aus Performanz-Gründen, einen sogenannten Hashwert (siehe Kap. 2.3) aus dem zu signierenden Text und berechnet zu diesem eine digitale Signatur.

Abbildung 2: Erzeugen einer digitale Signatur

Voraussetzung für das Funktionieren dieses Konzeptes ist die authentische Kenntnis des öffentlichen Schlüssels des Kommunikationspartners. Erreicht werden kann dies durch eine direkte, persönliche Schlüsselübergabe oder durch ein digital signiertes Zertifikat (siehe Kap.

2.4) eines vertrauenswürdigen Dritten.

Durch eine digitale Signatur kann man die Verbindlichkeit des Inhalts für den Sender einer Nachricht sicherstellen.

2.3 Hashfunktionen

Eine Hashfunktion (genauer: Einweg-Hashfunktion) ist eine effizient zu berechnende, mathematische Funktion, die eine Zeichenkette variable Länge auf eine Zeichenkette fester Länge abbildet. Der Zweck liegt darin, einen "Fingerabdruck" der Eingabe zu erzeugen, der alle Bytes der Eingabe berücksichtigt. Der Hashwert selbst ist meist erheblich kürzer als der Text (typischerweise 128 - 126 bit lang). In der Kryptographie kann man anhand des Hashwertes eines Dokuments überprüfen, ob der Text verändert wurde.

Um dies zu ermöglichen, werden an eine Hashfunktion besondere Anforderungen gestellt: Sie muß kollisionsresistent sein, d.h. es muß eine ein-eindeutige Beziehung zwischen

Ursprungstext und Hashwert bestehen, was natürlich in der Realität nicht möglich ist, wenn eine Menge beliebig langer Zeichenketten auf eine (viel kleinere) Menge Zeichenketten fester Länge abgebildet wird. Zumindest muß es unmöglich (oder nicht effizient möglich) sein, zu einem gegebenen Hashwert einen Text zu finden, der diesen Hashwert erzeugt

(Einwegfunktion)2.

Beispiele für Hashfunktionen sind MD4, MD5, SHA-1 und RIPEMD-160.

2.4 Zertifikat

Ein Zertifikat ist im elektronischen Geschäftsverkehr das Äquivalent zum Personalausweis. Technisch gesehen besteht es im einfachsten Fall aus drei Komponenten: dem Namen und dem öffentlichen Schlüssel des Teilnehmers, sowie einer Angabe, wie lange das Zertifikat gültig ist.

Zertifikate bestätigen also die Authentizität (d.h. die Zugehörigkeit eines Schlüssels zu einer Person) und die Integrität (d.h. die Unverfälschtheit) dieses öffentlichen Schlüssels.

Der Aufbau und Inhalt von Zertifikaten wurde 1988 von CCITT (heute ITU) genormt. Nach mehrmaligen Überarbeitungen liegt der X.509-Standard heute in der Version 3 vor3. Ein Beispiel-Zertifikat sieht folgendermaßen aus:

Version: 2 (X.509v3-1996) X.509v3-Zertifikate schaffen Interoperabilität zwischen den einzelnen Komponenten einer

Zertifizierungsinfrastruktur (siehe Kap. 2.5). Wichtige Erweiterungen dieser dritten Version werden in Kapitel 5.2 beschrieben.

Neben Personen-Zertifikaten gibt noch eine andere Art von Zertifikaten: das Attribut-Zertifikat. Es bestätigt, daß eine Person mit öffentlichem Schlüssel xyz berechtigt ist, bestimmte Aufgaben zu erfüllen (z.B daß sie Arzt oder Rechtsanwalt ist, oder daß sie in einem Fall zeichnungsberechtigt ist). Es ist nur in Verbindung mit einem Personen-Zertifikat gültig. Ein Teilnehmer kann verschiedene Attributzertifikate besitzen und so in verschiedenen Rollen handeln.

2.5 Zertifizierungsinfrastruktur und Zertifizierungspfad

Die Infrastruktur zur Ausgabe und Verwaltung privater und öffentlicher Schlüssel wird

Zertifizierungsinfrastruktur (public-key-infrastructure (PKI)) genannt. Unmittelbar daran beteiligt sind die Zertifizierungsstellen (certification authority (CA)), die Registrierungsstellen (registration

authority (RA)) und die Kunden mit einem Signier- bzw. Verifiziersystem. Außerdem wird ein Verzeichnisdienst (directory service (DIR)) und ein Zeitstempeldienst (time stamping service (TSS)) benötigt.

Der Aufnahmevorgang läuft prinzipiell wie folgt ab: Der Kunde beantragt bei der RA ein Zertifikat für digitale Signatur. Die RA prüft den Antrag und die Identität des Kunden und leitet ihn an die CA weiter. Nun gibt es zwei Alternativen: die CA erzeugt daraufhin das gewünschte Schlüsselpaar für den Kunden oder erhält alternativ vom Kunden den öffentlichen Schlüssel eines selbsterzeugten Schlüsselpaares4. Die CA darf in keinem Fälle technisch in der Lage sein, den privaten Schlüssel des Kunden zu lesen.

Der öffentliche Schlüssel wird von der CA in einem Zertifikat integriert. Im Zertifikat können zusätzliche Erweiterungen angegeben werden, die die Nutzung des Schlüssels einschränken (siehe Kapitel 5.2). Dieses Zertifikat wird mit dem privaten Schlüssel der CA signiert und kann damit nicht mehr verfälscht werden. Jedes von der CA ausgestellte Zertifikat erhält eine innhalb der CA eindeutige Seriennummer. Der private Schlüssel sollte mindestens

paßwortgeschützt auf der Festplatte des Kunden oder besser auf seiner SmartCard gespeichert werden.

Abbildung 3: Aufnahme in die Zertifizierungsinfrastruktur

Die zertifizierten Schlüssel werden in einem vom Verzeichnisdienst betriebenen allgemein zugänglichen Verzeichnis - beispielsweise nach dem X.500-Standard [ X.500 ]) abgelegt. Alle Teilnehmer können so das Zertifikat eines anderen Teilnehmers zum Prüfen einer Signatur abrufen.

In einer solchen Zertifizierungsinfrastruktur können Authentizität und Integrität zu

Zertifikaten fremder CAs geprüft werden, indem der öffentliche Prüfschlüssel der fremden CA anhand eines "Zertifikatspfades" überprüft wird5 . Unter einem Zertifizierungspfad

versteht man die Kette aller Zertifikate vom Teilnehmer-Zertifikat über das Zertifikat der CA, die das Teilnehmer-Zertifikat ausgestellt hat, bis zur höchsten Ebene in der CA-Hierarchie - der Root-CA. Die Root-CA ist die von allen anerkannte Wurzelinstanz der PKI

Das CCITT normte 1988 dieses Konzept des asymmetrischen Schlüsselmanagements im X.509-Standard (in einer überarbeiteten Version unter [X.509]).

2.5.1 Zertifizierungsstellen

Zertifizierungsstellen (CAs) sind dafür zuständig, Teilnehmerzertifikate auszustellen und damit Teilnehmern die authentische und verbindliche Kommunikation innerhalb der

Zertifizierungsinfrastruktur zu ermöglichen.

CAs können mit unterschiedlich starken Zertifizierungsrichtlinien ("Security Policies") betrieben werden (sogenannte Policy Certification Authorities (PCAs)). Die Policy beschreibt dabei die Sicherheitsanforderungen, denen eine CA unterliegt. Zum Beispiel wird darin beschrieben, wie stark die CA die Identität des Kunden geprüft hat.6

Die wohl bekannteste kommerzielle Zertifizierungsstellen betreibt die US-amerikanische Firma VeriSign.

2.5.2 Sperrliste

Jede CA führt eine Sperrliste (certificate revocation list (CRL)), auf die mit Hilfe des

Verzeichnisdienstes alle Teilnehmer Zugriff haben. Hier werden alle zurückgenommenen Zertifikate (anhand der Seriennummer) mit einem Rücknahmedatum abgespeichert. Gründe für eine

Rücknahme können beispielsweise der Verlust oder die Kompromittierung des privaten Schlüssels sein.

Beachtet werden sollte aber, daß abgelaufene Zertifikate, das sind Zertifikate, deren Gültigkeitszeitraum überschritten ist, nicht mehr in der CRL geführt werden. So wird zum Beispiel ein kompromittiertes Zertifikat nach Ablauf nirgendwo mehr als kompromittiert vermerkt.

2.5.3 Verzeichnisdienst

Die Aufgabe des Verzeichnisdienstes ist es, den Kunden der Zertifizierungsinfrastruktur, die Zertifikatsanfragen stellen, Zertifikate zu schicken. Die Sperrliste wird ebenfalls vom Verzeichnisdienst verwaltet und sollte jederzeit aktuell abrufbar sein.

2.5.4 Zeitstempeldienst

Zeitstempel werden in Verbindung mit digitale Signaturen dazu benutzt, das Dokument an einen bestimmten Zeitpunkt zu binden. Das Dokument wird dazu zuerst vom Urheber signiert und anschließend wird ein Zeitstempel angebracht. Dieser besteht dabei vereinfacht aus einer Signatur (erzeugt mit dem geheimen Schlüssel des TSS) von bestimmten Daten der Umwelt, die sich prüfen, nachträglich nicht fälschen und nicht vorherbestimmen lassen (z.B Temperatur-Angaben, Lottozahlen, Börsenkurse etc.) und einer Zeitangabe. Es gibt auch eine Möglichkeit, Zeitstempel ohne Signatur auszustellen. Weitere Informationen und eine kommerzielle Implementierung sind bei Surety Technologies7 erhältlich. Zeitstempel sind auch im Zusammenhang mit dem genauen Zeitpunkt der Sperrung eines Zertifikates, der

Nichtabstreitbarkeit einer geleisteten

Unterschrift und der Langzeitspeicherung von entscheidender Bedeutung8.

Abbildung 4: Zeitstempel