Fragen nach der sozialen Akzeptanz ``digitaler
Unterschriften'' in größeren Personenkreisen lassen sich bisher
kaum beanworten. Ursache dafür ist der verhältnismäßig
geringe Umfang des Einsatzes digitaler Signaturen in der Praxis. (Einige
Beispiele wurden im Kapitel ``Einsatz digitaler
Signaturen'' zusammengetragen.) Wo es dagegen einen relativ breiten
Einsatz digitaler Signaturen gibt, fehlen systematische Untersuchungen
zu den Erfolgen und Mißerfolgen. Generell läßt sich ein
Mangel an empirischer Forschung konstatieren, was angesichts der allerorten
prognostizierten Bedeutung digitaler Signaturen verwundert. Nicht zuletzt
hemmt der nur langsam vorankommende Aufbau von Trustcentern (siehe z.B.:
[Kempf 1998]) den erfolgreichen
Einsatz der digitalen Signatur.
In der Informatik gab und gibt es oft einen Mangel
an Speicherplatz oder verfügbarer Rechenzeit. Ein Ansatz, diesem Engpaß
zu begegnen, war und ist die Entwicklung von Hashfunktionen zur komprimierten
Speicherung und/oder zur Beschleunigung des Zugriffes auf gespeicherte
Daten. Aus diesem Ansatz wurde eine Klasse von Hashfunktionen unter dem
Kriterium der Kollisionsfreiheit
von Kryptologen entwickelt.
Für digitale Signaturen werden bestimmte Erkenntnisse
der Kryptologen zu Zahlentheorie
und Hashfunktionen kombiniert.
Die Basis für digitale Signaturen bildet die asymmetrischen
Verschlüsselung (auch Public Key-Verschlüsselung genannt).
Deren Charakteristika werden dargestellt und gegen die der klassischen,
symmetrischen Verschlüsselung abgegrenzt.
Der Übergang von der Theorie zur Praxis erfolgt
dabei fließend.
Konkrete Verfahren werden vorgestellt und an ihrem Beispiel Konzepte
verdeutlicht.
Ein umfassender Einsatz digitaler Signaturen in
der Praxis ist ohne einen geeigneten rechtlichen Rahmen nicht durchsetzbar.
Im Sommer 1997 hat der Bundestag mit der Beschließung des Signaturgesetzes
(SigG) einen Rahmen geschaffen.
Dessen Aussagen, Wirkungsbereich und Eignung sollen an geeigneter Stelle
untersucht werden.
``The scientific study of any discipline must be built upon rigorous definitions arising from fundamental concepts.'' [Menezes/Oorschot/Vanstone 1997], S. 11
``... nur auf dem Hintergrund von offengelegten Zwecken und Werten kann sinnvoll von Sicherheit gesprochen werden; ...'' [Biskup 1993]Unter Geheimhaltung (privacy, confidentiality) versteht man das Verbergen von Informationen vor allen Personen außer vor denjenigen, für die solche Informationen bestimmt sind. Sicherheit (security) ist das Ziel der Geheimhaltung, aber auch das Mittel. Ziel ist es insofern, als die Geheimhaltung einem Zweck dient, den es abzusichern gilt. Mittel ist in dem Sinne, daß nur sichere Systeme geeignet sind, Geheimhaltung zu ermöglichen.
Im kryptographischen Sinne wird der Begriff der
Sicherheit auf eingesetze Systeme, Verfahren und Protokolle bezogen.
Sicherheitskriterien (security criteria)
werden entworfen, um die Sicherheit von Systemen, Verfahren und Protokollen
einheitlich bewerten zu können. Oft werden sie in Katalogen zusammengefaßt
und so formalisiert wie z.B. in den ITSEC-Kriterien
oder im ``Orange book'' des
US-Departement of Defense (DoD).
``The confidence level in the amount of security provided by a primitive or protocol based on computational or ad hoc security increases with time and investigation of the scheme.'' [Menezes/Oorschot/Vanstone]Sicherheitsmodelle (security models) liegen dem Entwurf von Sicherheitskriterien zugrunde. Sie werden aus theoretischen Überlegungen oder den jeweiligen, konkreten Sicherheitsanforderungen abgeleitet. Erfahrungen aus der Praxis tragen ihren Teil zur Entwicklung der Modelle bei.
[Menezes/Oorschot/Vanstone], S. 42, 43 unterscheiden fünf Modelle zur Sicherheitsevaluierung:
- Uneingeschränkte Sicherheit (unconditional security), bei der ein potentieller Angreifer mit unbegrenzter Rechenleistung erfolglos bleibt;
- Komplexitätstheoretische Sicherheit (complexity-theoretic security), bei der ein potentieller Angreifer über polynomiale Rechenleistung verfügt und erfolglos bleibt;
- Überprüfbare Sicherheit (provable security), bei der ein Nachweis erbracht werden muß, daß sie der Lösung eines gut bekannten, schwierigen Problems entspricht (z.B. dem Faktorisierungsproblem);
- Berechenbare Sicherheit, bei der die notwendige Rechenleistung die höhstens verfügbare Rechenleistung eines potentiellen Angreifers signifikant übersteigt;
- Ad hoc-Sicherheit, bei der für einen potentiellen Angreifer ein gewisses, fixes Maß an verfügbarer Rechenleistung angenommen wird, und er dennoch erfolglos bleibt;
Alle Modelle zielen auf die Sicherheit eines Systems/Verfahrens/Protokolls ab.![]()
[Anmerkung: Genaugenommen handelt es sich bei den aufgeführten, konkreten Modellen nicht um Modelle. Dafür sind zu allgemein und abstrakt gehalten. Eine Charakterisierung als `Paradigmen' wäre vielleicht zutreffender.]
[Anmerkung: Anstelle von Unabweisbarkeit wird oft auch `Nachweisbarkeit' verwendet. Allerdings wird Nachweisbarkeit auch abweichend benutzt, so daß ich der Klarheit zuliebe bei `Unabweisbarkeit' bleiben werde. Der Begriff der Authentifizierung wird in vielen Zusammenhängen und sehr unterschiedlich benutzt. In einem engen Sinne bezieht er sich auf die bloße Herkunft einer Information. Etwas weiter ausgedehnt, umschließt er noch die Feststellung der Unverändertheit einer Information, d.h. die Sicherstellung ihrer Integrität. Maßgeblich ist, wie so oft, der Kontext des Gebrauchs.]
Entschlüsselung (decryption)
beschreibt den umgekehrten Vorgang, bei dem aus der unverständlichen
Nachricht die darin enthaltene Information zurückgewonnen wird. Auch
die Entschlüsselung ist eine parametrisierte Abbildung. Ihre Parameter
sind Schlüssel und Geheimtext.
Je nach Verfahren, handelt es sich um einen Schlüssel
in zwei Kopien oder um zwei unterschiedliche Schlüssel, die zum Einsatz
kommen.
Verschlüsselung/Entschlüsselung stellt
eine Möglichkeit dar, um Geheimhaltung (z.B. bei der Kommunikation)
zu wahren.
Ein Verschlüsselungsverfahren (encryption
scheme, cipher) setzt sich aus dem Verfahren für die Verschlüsselung
und dem für die Entschlüsselung zusammen. Damit folgen wir der
Definition in [Menezes/Oorschot/Vanstone
1997].
[Anmerkung: Verbal besteht da ein gewisser Widerspruch. Es ist aber einsichtig, daß eine Verschlüsselung ohne zugehörige Entschlüsselung sinnlos ist, da jegliche Information verloren gehen würde. Eine einzige sinnvolle, jedoch unpraktische Anwendung ist denkbar. Mann kann eine Information verschlüsseln und den entstehenden Geheimtext zusammen mit dem Klartext aufbewahren (übermitteln etc.). Zur Prüfung der Integrität kann man jederzeit den Klartext erneut verschlüsseln und das Resultat mit dem vorhandenen Geheimtext vergleichen. Zeigen sich keine Differenzen, so ist die Integrität gewahrt worden. Allerdings hat sich die zu handhabende Informationsmenge auf diesem Wege stark vergrößert. Der Einsatzbereich für solche Verfahren wird deshalb stark eingeschränkt sein (z.B. `challenge and response'-Verfahren)].
In der einen oder anderen Art und Weise wird der
Schlüssel für die Entschlüsselung zur Verfügung gestellt.
Dazu wird eine Vorgehensweise vereinbart, ein Protokoll (protocol).
Nahezu alle Abläufe bei verschlüsselter Kommunikation werden
durch Protokolle geregelt. So gibt es Festlegungen daß der Schlüssel
für die Verschlüsselung beim Inhaber zu verbleiben hat, um eine
unbeabsichtigte Aufdeckung, d.h. Kompromittierung (compromisation) möglichst
zu verhindern. Auch kann dadurch die Wahrscheinlichkeit eines unbefugten
Zugriffs (unauthorized access) auf den Schlüssel verringert werden.
Die abschätzbare, zeitliche Sicherheit eines
Verschlüsselungsverfahrens wird als Kryptoperiode (cryptoperiod)
bezeichnet. Schlüssellebensdauer und Kryptoperiode sind nicht gleichzusetzen.
Innerhalb der Kryptoperiode sollte ein Schlüssel mehrfach ausgewechselt
werden, um Angriffe zu erschweren.
Kryptographie (cryptography) beschäftigt sich mit der Geheimhaltung von Informationen durch Verschlüsselung.![]()
Die Kryptographie ist ein Gebiet der Kryptologie (cryptology). Das Wort ist griechischer Abstammung. `crypto graphein' bedeutet `geheimes Schreiben'. Wir verwenden im gleichen Sinne den Ausdruck `verschlüsseln' (encrypt), `chiffrieren' (encipher) oder auch `codieren' (encode).
Die Kryptologie umfaßt weiterhin das Gebiet der Kryptanalyse (cryptanalysis), die sich mit dem unbefugten Lesbarmachen verschlüsselter Nachrichten beschäftigt, sprich: mit dem Entschlüsseln (decrypt, decode, decipher).
![]()
Neuerdings kommt die Steganographie (steganography) hinzu, die sich -wortwörtlich- mit dem `versteckten Schreiben' (griechisch: `stegano graphein') befaßt. Dabei geht es darum, die Tatsache, daß eine Information übermittelt wird, geheimzuhalten.
![]()
[Anmerkung: Erreichen will man das z.B. durch die Modifikation von Bits in den Daten von Bildern. Nur, wer eingeweiht ist, kann den Bildern die Informationen wieder entnehmen.]
Eine Information liegt in unserem Verständnis
vor der Verschlüsselung als Klartext vor, nach der Verschlüsselung
als Geheimtext. Aus dem Geheimtext wird durch Entschlüsselung der
Klartext gewonnen. Der Geheimtext auf dem Weg vom Sender zum Empfänger
wird Nachricht genannt.
[Anmerkung: Verschiedentlich wird in der Fachliteratur nicht zwischen der verschlüsselten und der unverschlüsselten Form der Information unterschieden, wenn von Nachricht die Rede ist. Um Verwirrungen zu vermeiden, werden wir Nachricht immer, wenn nicht anders angegeben, für `verschlüsselte, versandte Information' verwenden. In unserem Sinne wird also durch Verschlüsselung und Absendung einer Information daraus eine Nachricht und durch Entschlüsselung aus einer empfangenen Nachricht eine Information.]
Das Klartextalphabet (plaintext alphabet) enthält die Menge aller Zeichen, aus denen ein Klartext bestehen kann. Beispiel: Ein Binärcomputer arbeitet mit Bitfolgen, d.h. sein Alphabet besteht aus der Menge {0,1}. Der Klartextraum (plaintext space) wird dann aus der Menge aller Zeichenfolgen gebildet, die für Sender und Empfänger eine sinnvolle Information darstellen, im Falle des Binärcomputers die Menge aller sinnvollen Folgen aus 0 und 1.![]()
Analog umfaßt das Geheimtextalphabet (ciphertext alphabet) alle Zeichen, aus denen ein Geheimtext gebildet werden kann. Alle Zeichenfolgen, die entstehen können, wenn die Zeichenfolgen aus dem Klartextraum verschlüsselt werden, bilden den Geheimtextraum (ciphertext space).
![]()
Klartextalphabet und Geheimtextalphabet können gleich sein, aber auch unterschiedlich.
![]()
[Anmerkung: Diese Definitionen decken sich nicht unbedingt mit verschiedenen Definitionen aus der Fachliteratur (siehe z.B. [Menezes/Oorschot/Vanstone 1997]). Dies hat den Grund, daß sie semantisch und nicht allein syntaktisch gegeben werden. Eine syntaktische Definition für den Klartextraum würde alle möglichen Zeichenfolgen aus dem Klartextalphabet zulassen, nicht nur alle sinnvollen. Gleiches gilt für den Geheimtextraum. Dies steht in gewissem Widerspruch zur Praxis.]
Der Angreifer (attacker, adversary) ist derjenige, der die Geheimhaltung unterlaufen will. Bei der Entwicklung eines Verschlüsselungsverfahrens (encryption scheme) stellt der Angreifer die Fiktion dar, an dessen gemutmaßtem Verhalten sich der Kryptograph (cryptographer) orientiert.
In der Praxis handelt es bei Angreifern sich um
reale Personen und Institutionen, die an geheime Informationen gelangen
wollen. Dazu führen sie eine z.B. Kryptanalyse (cryptanalysis) durch.
Derjenige, welcher diese vornimmt, heißt Kryptanalytiker (cryptanalyst).
Andere Angriffe sind Versuche, Schlüssel zu stehlen oder die Unachtsamkeit
im Umgang mit Schlüsseln auszunutzen.
Die meisten Angriffe sind passiv, d.h. sie zielen
darauf ab, Kenntnis von der Information zu erlangen, die sich in einer
Nachricht verbirgt. Solche Angriffe bezeichnet man als Lauschangriffe und
entsprechend den Angreifer als Lauscher (eavesdropper).
Aktive Angriffe stellen den Versuch dar, die Kommunikation
zu stören. Formen davon sind das Zurückhalten von Nachrichten
oder ihre (Ver-)Fälschung (Manipulation).
[Amerkung: Bezüglich der Zusammenstellung ließe sich diskutieren, ob man z.B. `Ausforschen' als eine Form der Manipulation ansehen sollte. Das führt an dieser Stelle jedoch zu weit.]
Beide Kopien des Schlüssels müssen geheim
bleiben. Aus diesem Grunde werden sie als private Schlüssel (private
keys) bezeichnet. Mancherorts findet man die Bezeichnung `symmetrische
Schlüssel', die verdeutlichen soll, daß die Schlüssel voneinander
ableitbar sind.
Private Key-Verschlüsselungsverfahren basieren
auf der Kombination und iterativen Wiederholung relativ simpler Verfahrensschritte.
Dazu gehören beispielsweise Permutation, Substitution, Transposititon,
XOR, Addition, Multiplikation und Modulus.
Die Operationen der Ver- und Entschlüsselung
sind prinzipiell symmetrisch, daher der Name `symmetrische Kryptographie'
(symmetric cryptography). Die Bezeichnung `Private Key-Kryptographie'
wurde unter Bezugnahme auf die notwendige Geheimhaltung des Schlüssels
gewählt. Beide Begriffe werden synonym verwandt.
Beim Einsatz symmetrischer Verschlüsselungsverfahren
liegt die große Schwierigkeit darin, daß vor der Übermittlung
der Nachricht ein Weg gefunden werden muß, den Schlüssel zu
übermitteln. Um zu verhindern, daß ein Angreifer in der Besitz
des Schlüssels gelangt, muß die Übermittlung über
einen sicheren Kanal erfolgen. Der Name für dieses Problem lautet
Schlüsselverteilungsproblem (key distribution problem).
Zu unterscheiden sind bei Substitutionen (nach [Schneier
1996], S.11, 12):
Durch Transposition werden die Zeichen des Klartextes
schematisch an eine andere Position gesetzt. Einfache Transpositionen sind:
[Anmerkung: Spalten- und Zeilentransposition kann man sich leicht anschaulich machen, wenn man eine Buchseite nimmt und z.B. jede gerade gegen jede ungerade Spalte bzw. Zeile austauscht. Wenn man anschließend versucht, den so entstandenen ``Geheimtext'' zu lesen, wird man verstehen, was Transposition bedeutet.]
Konfusion bezeichnet die `Verschleierung' der Zusammenhänge
zwischen Klartext, Schlüssel und Geheimtext. Mit Diffusion wird die
Verteilung der in einem Klartext enthaltenen Redundanzen im zugehörigen
Geheimtext beschrieben. In jeder Sprache tauchen z.B. bestimmte Buchstaben
mit gewissen Häufigkeiten auf, ebenso Buchstabenfolgen. Würden
diese Häufigkeiten unverändert im Geheimtext widergespielt werden,
hätten die Kryptanalytiker leichtes Spiel.
Substitutionen erzeugen Konfusion, Transpositionen
Diffusion. Die meisten symmetrischen Verschlüsselungsverfahren setzen
auf komplizierte Substitionen, weniger auf Transpositionen. Durch wiederholte
Anwendung der einzelnen Verfahrensschritte (in Runden/rounds) soll die
bestmögliche Verschlüsselung erreicht werden. Transpositionen
sind wegen ihres großen Speicherbedarfs von geringerer, praktischer
Bedeutung.
Vorteile, Nachteile von Private Key-Verfahren
Vorteile von Private Key-Verfahren sind vor allem zu sehen in:
- Gute Implementierbarkeit auf Basis einfacher Elementaroperationen;
- Hoher Datendurchsatz;
- Kurze Schlüssellänge;
- Sicheres, lange untersuchtes kryptologisches Fundament;
Nachteile existieren ebenfalls. Die wesentlichen sind:
- Das Schlüsselverteilungsproblem kann nur mit einem sicheren Kanal gelöst werden.
- Die Schlüssel müssen an zwei Stellen, bei Sender und Empfänger geheimgehalten werden
- Digitale Signaturen lassen sich nur schwer realisieren.
- Man benötigt neue Schlüssel für je ein Paar aus Sender und Empfänger.
Public Key-Kryptographie
Bei der Public Key-Kryptographie (public key cryptography) kommt für die Verschlüsselung ein Schlüssel zur Anwendung, für die Entschlüsselung ein anderer. Schlüssel werden als Paar benutzt. Ein Schlüssel aus dem Paar muß geheim bleiben. Dieser heißt privater Schlüssel (private key). Der andere Schlüssel, der nicht notwendig geheim bleiben muß heißt öffentlicher Schlüssel (public key). Die Ungleichheit der Schlüssel hat zu der Bezeichnung `asymmetrische Schlüssel' geführt.![]()
Ein alternativer Name für die Public Key-Kryptographie ist asymmetrische Kryptographie (asymmetric cryptography). Er spiegelt wider, daß die Operationen für Ent- und Verschlüsselung nicht symmetrisch, sondern asymmetrisch sind. Grundsätzlich handelt es sich um nichtidentische inverse Funktionen und nicht um involutorische Funktionen (involution), d.h. es gilt: d(e(x)) = x, wobei e ungleich (!) d ist.
![]()
Elementare Bedeutung für die Implementierung von Verfahren für die Public Key-Kryptographie haben Einweghashfunktionen und Einwegfunktionen mit Falltür.
Hashfunktion, Einwegfunktion, Einweghashfunktion, Einwegfunktion mit Falltür
Eine Hashfunktion (hash function) ist eine Komprimierungsfunktion für Informationen. Sie berechnet aus Eingabewerten (Informationen) mit beliebiger Länge Ausgabewerte (Informationen) mit fixer Länge. Dabei ist die Länge der Ausgabewerte im Mittel kürzer, als die der Eingaben. In der Regel ist die Menge der möglichen Ausgabewerte deutlich kleiner, als die Menge der möglichen Eingabewerte. Die Komprimierung ist fast immer mit einem Informationsverlust verbunden.![]()
[Anmerkung: Die Hashfunktion in der Kryptologie ist nur bedingt mit der informatischen Hashfunktion vergleichbar. Die oben gegebene Definition gilt für kryptographische Hashfunktionen.]
Einwegfunktionen (one-way function) sind Abbildungen, deren Umkehrung praktisch nicht bestimmbar ist. Es ist bei Einwegfunktionen relativ leicht, den Funktionswert f(x) zu berechnen. Das Inverse f-1(x) läßt sich im Gegensatz dazu höchstens unter unbezahlbarem Rechenaufwand ermitteln.![]()
Einweghashfunktionen (one-way hash function) vereinen die Eigenschaften beider vorgenannter Funktionstypen: Sie komprimieren ihre Eingabe, und aus der Ausgabe läßt sich nicht auf die Eingabe schließen.![]()
[Anmerkung: Anonyme Wahlen lassen sich in gewissem Sinne als Einweghashfunktionen interpretieren. Zuerst werden sämtliche Argumente pro oder contra Wahlgegenstand auf ein `dafür' oder `dagegen' reduziert, also komprimiert. Anschließend werden die `dafür'- und `dagegen'-``Ausgaben'' zusammengezählt, zum Wahlergebnis. Aus diesem läßt sich aber nicht mehr bestimmen, wer mit `dafür' und wer mit `dagegen' gestimmt hat, da es eine anonyme Wahl war.]
Einwegfunktionen mit Falltür (trapdoor one-way function) sind besondere Einwegfunktionen, bei denen es eine schlüsselgesteuerte, effektive Lösung für die Inversion gibt. In Unkenntnis des Schlüssels steht diese Lösung nicht zur Verfügung. Wegen dieser Eigenschaft spricht man oft auch von kryptographischen Falltüreinwegfunktionen. Einwegfunktionen mit Falltür sollten nicht mit Einweghashfunktionen verwechselt werden.![]()
Alle bedeutenden Public Key-Verschlüsselungsverfahren basieren auf Einwegfunktionen mit Falltür (z.B. RSA, ElGamal).
![]()
Digitale Signatur
Eine digitale Signatur (digital signature) ist eine Annotation (tag) zu einer Information. Die Annotation enthält verschlüsselte Aussagen zur Identität der Information. Anhand einer Überprüfung dieser Annotation, wozu ein Schlüssel benötigt wird, kann festgestellt werden, ob die Information unverändert geblieben ist. Die zu verschlüsselnden Aussagen über die Information erhält man durch die Anwendung einer Einweghashfunktion auf die Information.![]()
Digitale Signaturen dienen der Authentifizierung von Kommunikation und der Identifizierung von Informationen. Sicherheit können sie nur zusammen mit einer geeigneten Schlüsselverwaltung bieten.
![]()
[Anmerkung: Zwar gibt es auch Verfahren für digitale Signaturen, die auf symmetrischer Verschlüsselung basieren. Diese sind jedoch nicht für den Einsatz in offenen Netzen (z.B. Internet) geeignet. Dafür sind nur Public Key-Verfahren einsetzbar. Aus diesem Grunde werden `digitale Signaturen' im Rahmen der Public Key-Verschlüsselung eingeführt.]Vorteile, Nachteile von Public Key-Verfahren
Vorteile von Public Key-Verfahren sind zu sehen in:
- Der geringeren Menge an geheimzuhaltener Information (nur privater Schlüssel) ggü. Private Key-Verfahren;
- Ihrer guten Eignung für die Konstruktion von Verfahren für digitale Signaturen;
- Im geringeren Aufwand für die Schlüsselverwaltung;
- Ihrer leichten Softwareimplementierbarkeit;
- Der -nach bisherigem Kenntnisstand- extremen kryptologischen Unangreifbarkeit;
Als Nachteile müssen gelten:
- Die im Vergleich zu Private Key-Verfahren großen Schlüssellängen ;
- Ein geringer Datendurchsatz bei der Ver- und Entschlüsselung;
- Daß die Sicherheit nach bisherigem Kenntnisstand nicht beweisbar ist;
- Daß sie aus kryptologischer Sicht erst sehr kurze Zeit existieren;
- Der Patentschutz für nahezu alle wichtigen Verfahren;
Begriffsabgrenzung
Public Key-Kryptographie hat sich historisch gesehen als Konsequenz aus der Private Key-Kryptographie entwickelt. Am Anfang war alle Kryptographie Private Key-Kryptographie. Deshalb gibt es die verbale Unterscheidung in Public Key-Kryptographie und Private Key-Kryptographie erst seit relativ kurzer Zeit. Vorher sprach man nur von Kryptographie.Hybride Kryptographie
Von hybrider Kryptographie (hybrid cryptography) spricht man, wenn Public Key- und Private Key-Kryptographie kombiniert werden. Sie kommt zum Einsatz, um die Vorteile beider Arten auszunutzen und gleichzeitig ihre Nachteile zu kompensieren bzw. zu minimieren.
Es gibt vier Betriebsarten (modes of operation) für Blockverschlüsselungsverfahren:Diese Betriebsarten dienen unterschiedlichen Zwecken, wie z.B. Fehlerkorrektur oder statistischer Verschleierung der Zusammenhänge zwischen Klartextblöcken und Geheimtextblöcken.ECB - Electronic Codebook mode; CBC - Cipher-block Chaining mode; CFB - Cipher feedback mode; OFB - Output feedback;
[Anmerkung: In anderen Zusammenhängen ist auch viel von Zertifizierung und Zertifikaten die Rede, z.B. bei der Sicherheitsevaluierung von Computersystemen.]
``Als Chiffrierfehler bezeichnet man nicht nur den Gebrauch eines zu naheliegenden Schlüssels, sondern alles, was dem unberufenen Entzifferer die Arbeit leicht macht.'' [Bauer 1994], S.130Von einem Fehler kann man sprechen, wenn ein System/Protokoll in Gestaltung und/oder Bedienung nicht den Sicherheitsanforderungen gerecht wird, für die es konzipiert und entwickelt wurde. Durch das Ausnutzen von Fehlern können Angriffe erfolgreich durchgeführt werden.
In der Kryptologie lassen sich grundsätzlich
zwei Kategorien von Fehlern unterschieden:
Sollte ein Verfahren keine Fehler aufweisen, die
in die erste Kategorie fallen, so besteht nach den Erfahrungen aus der
Praxis immer noch eine große Wahrscheinlichkeit, daß Protokoll-
und/oder Gebrauchsfehler auftreten. Einer der häufigsten Fehler ist
die Kompromittierung eines geheimen Schlüssels. Andere, klassische
Fehler sind die Akzeptanz falscher Identitäten oder die fehlerhafte
Bedienung eines Verschlüsselungssystems (z.B. indem Schlüssel
seltener als notwendig gewechselt werden). Die Unterlassung von vorgeschriebenen
Überprüfungen ist gleichfalls ein `beliebter' Protokollfehler.
Im Einzelfall ist es nicht immer möglich,
einen auftretenden Fehler eindeutig einer der beiden Kategorien zuzuordnen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Hat man ein eindeutiges numerisches Alphabet festgelegt, lassen sich die notwendigen mathematischen Operationen darauf definieren. Naheliegend ist es, deren Definition an der Algebra auszurichten. Die Addition von Zeichen wird als Addition ihrer Stellen definiert. Da Überläufe unvermeidlich sind, wird das algebraische Alphabet als zyklisch definiert. Nach dem z folgt also wieder das a.
Beispiel:
(Identische Schlüssel haben im Bild dieselbe Gestalt.)
Der Ablauf des Protokolls teilt sich in folgende
Schritte auf (wenn zwischen Sender und Empfänger Einigkeit über
das Verschlüsselungsverfahren herrscht):
Die einzelnen Rundenschlüssel werden aus dem
Sitzungsschlüssel abgeleitet. Letzterer kann auf unterschiedliche
Arten zustande kommen, z.B. durch Festlegung oder durch Kombination aus
einem fixen Anteil und einer Zufallszahl.
Derartige Netzwerke arbeiten sehr schnell und ermöglichen
einen hohen Datendurchsatz. Die Verknüpfungsfunktion f kann dem jeweiligen
Sicherheitsbedürfnis entsprechend gewählt werden. Eine entsprechende
Anzahl von Runden mit ggf. unterschiedlichen Rundenschlüsseln und
Verknüpfungsfunktionen ermöglicht eine hohe Sicherheit der Verschlüsselung.
``Der Data Encryption Standard (DES) ... stellt seit zwanzig Jahren einen weltweiten Standard dar. DES zeigt zwar einige Alterserscheinungen, hat jedoch jahrelanger Kryptanalyse erstaunlich gut widerstanden und bietet immer noch Schutz vor den meisten Angreifern, sofern diese ihre Attacken nicht höchst aufwendig gestalten.'' [Schneier 1996], S.309``Eine Maschine zum Knacken von DES mittels Brute-Force, die einen Schlüssel in durchschnittlich 3,5 Stunden ermittelt, kostete 1993 nur 1 Mio. Dollar ...'' [Schneier 1996], S.349
DES wurde bereits in den 70'er Jahren entwickelt,
ist effizient und weit verbreitet, z.B. im Bankensektor. Allerdings kann
es bei kurzen Schlüssellängen nicht mehr als sicher gelten, wie
bei verschiedenen Aktionen im Internet demonstriert wurde (z.B. RSA-Challenge
[c't 6/1998]). Aus DES wurde
z.B. Triple-DES entwickelt, das mit dreifacher Verschlüsselung eine
etwas höhere Sicherheit bietet.
Aus dem Schlüssel K werden 16 Rundenschlüssel
abgeleitet. Klartextblöcke werden in zwei Hälften zerlegt. Eine
Hälfte wird über sogenannte S-Boxen transformiert und das Ergebnis
mit der verbleibenden Blockhälfte per XOR verknüpft. Dann werden
die entstehenden Hälften vertauscht.
Die S-Boxen sind in der Funktion f enthalten. Es
handelt sich dabei um nichtlineare, bitweise Abbildungen. Über ihr
Geheimnis wurde und wird unter Kryptologen viel diskutiert. Im Glossar,
unter dem Eintrag für `S-Boxen'
wird Näheres geschildert.
Aus- und Eingabepermutation sind nach Meinung fast
aller Experten überflüssig und in kommerziellen Implementierungen
häufig nicht enthalten.
Für die Entschlüsselung wird der Algorithmus
erneut in derselben Reihenfolge durchlaufen, wobei die Rundenschlüssel
in umgekehrter Reihenfolge zum Einsatz kommen. Darin ist ein wesentlicher
Grund für die gute Implementierbarkeit zu sehen.
Zu DES-Details siehe [Schneier
1996], S.310-350, sowie [Menezes/Oorschot/Vanstone
1997], S. 252-259. Ebenso kann im Glossar unter DES
nachgelesen werden.
[Anmerkung: Ausgefallenere Algorithmen setzen z.B. auf zelluläre Automaten ( z.B. CA-1.1). Nicht unbedingt erfolgreich. Von deren Betrachtung sehen wir an dieser Stelle ab.]
Verschlüsselungsverfahren werden seit DES
als sicher anerkannt, wenn sie trotz Veröffentlichung des Verfahrens
und der Entwurfskriterien einer breiten, andauernden Kryptanalyse widerstehen.
Von DES abstammende Blockverschlüsselungsverfahren
stellen die Majorität der symmetrischen Verschlüsselungsverfahren.
Sie sind schnell, gut implementierbar und bei ausreichender Schlüssellänge
sicher.
Die Basis der symmetrischen Verschlüsselungsverfahren
bilden einfache mathematische Operationen, die oft in Feistel-Netzwerken
ablaufen. Solche Operationen sind schnell und besonders geeignet für
die Verschlüsselung großer Datenmengen.
``Only the private key must be kept secret (authenticity of public keys must, however, be guaranteed).'' [Menezes/Oorschot/Vanstone 1997], S. 31
Die nächste Grafik stellt die sichere Nachrichtenübermittlung
unter dem Kriterium der Authentizität dar, d.h. die Empfängerin
soll sicher sein können, daß die Nachricht vom Besitzer des
privaten Schlüssels stammt.
Der Ablauf des Protokolls geht folgendermaßen vor sich (wenn beiderseitig Einvernehmen über das Verschlüsselungsverfahren herrscht):
Vor der Kommunikation:
Kehrt man die Richtung der Kommunikation um, so
erreicht man die Geheimhaltung der Information. Nachfolgende Grafik zeigt
das Vorgehensschema:
Das Protokoll wird wie folgt abgewickelt (wenn Einigkeit über das Verschlüsselungsverfahren herrscht):
Vor der Kommunikation:
``There are thousands of problems drawn from diverse fields such as combinatorics, number theory, and logic, that are known to be NP-complete.'' [Menezes/Oorschot/Vanstone 1997], S. 61
Der Begriff des `harten' mathematischen Problems
stammt aus der Komplexitätstheorie. Dort werden mathematische Problemstellungen
bezüglich des zu ihrer Lösung notwendigen Aufwandes untersucht
und klassifiziert. Man unterscheidet Probleme die nicht in polynomialer
Zeit lösbar sind (non polynomial = NP), und jene, für die in
polynomialer Zeit eine Lösung zu finden ist. Letztere gehören
der Klasse P an und heißen effizient lösbar, d.h. es gibt effiziente
Algorithmen zu ihrer Lösung.
Für viele Probleme die NP-klassifiziert sind, gibt es keinen Beweis,
daß sie der Klasse NP angehören.
Ein polynomialer Algorithmus erfordert im schlimmsten
Falle (worst case) einen Zeitaufwand zu seiner Lösung, der durch eine
Funktion der Art O(nk) beschränkt wird. n repräsentiert
in der Formel die Länge der Eingabe, k eine Konstante. Zu beachten
ist, daß die Funktion eine obere Schranke darstellt. Es ist gut möglich,
und in der Praxis häufig der Fall, daß ein Algorithmus für
den größten Teil seiner Eingaben die Lösung(en) mit deutlich
geringerem Aufwand findet.
Kryptologen interessieren sich besonders für
eine Teilmenge von NP-Problemen: NP-vollständige (NP-complete) Probleme.
Diese sind mindestens genauso schwer zu lösen, wie jedes beliebige
andere NP-Problem. D.h. sie sind signifikant schwerer lösbar, als
`leichte' NP-Probleme. Alle NP-vollständigen Probleme sind auch sogenannte
NP-`harte' (NP-hard) Probleme, womit die Abstammung des Begriffs der `harten'
Probleme erklärt wäre. Toleranter formuliert könnte man
sagen, daß für `harte' Probleme keine guten, allgemeinen Lösungen
bekannt sind und es sie vermutlich auch nicht gibt.
Beispiel (nach [Menezes/Oorschot/Vanstone],
S.61):
Diffie und Hellman hatten die erste
Idee (1976). Allerdings konnten sie anfangs noch kein Exemplar einer Falltürfunktion
vorführen. Das blieb Rivest, Shamir und Adleman
(1978) vorbehalten. Ihr Verfahren wurde als RSA
bekannt, patentiert, und stellt in unseren Tagen das meistapplizierte dar.
[Anmerkung: Die Private Key-Kryptographie ist im Vergleich zur Public Key-Kryptographie einfach. Nicht im Hinblick auf die Qualität der Verschlüsselung, sondern im Aufbau. Jedes Verfahren besteht aus einer Menge für sich verständlicher Schritte, und deren Hintereinanderschaltung läßt sich ganz gut nachvollziehen. Ganz anders die Public Key-Kryptographie. Wie kommt man auf die Idee für eine Falltür zu der Lösung eines NP-`harten' Problems? Mystik, Esoterik, Genie ... ? Jedenfalls gibt es nur wenige solcher Verfahren und noch weniger Entwickler, die wirksame Verfahren entworfen haben. Im Gegensatz zur symmetrischen Kryptographie kann man bei der asymmetrischen Kryptographie keine Systematik angeben, nur Beispiele.]
Das RSA zugrundeliegende `harte' mathematische
Problem ist das der Faktorisierung
(factoring, factorization), d.h. der Zerlegung von ganzen Zahlen in ihre
Primfaktoren. Bekanntlich läßt sich jede positive ganze Zahl
als Produkt aus den Potenzen ihrer Primfaktoren darstellen.
Beispiele:
528 ist mit Kopfrechnen schon schwieriger zu faktorisieren. 528 = 2
* 262 = 2 * 2 * 132 = 2 * 2 * 11 * 12 = 2 * 2 * 11 * 2 * 6 = 2 * 2 * 11
* 2 * 2 * 3 = 24 * 3 * 11. Geschafft.
In [Schneier 1996] findet
sich auf S. 299 die Faktorisierung von 2113 -1: 3391 *
23279 * 65993 * 1868569 * 106681832868207.
Wer Spaß daran findet, kann es jetzt mit
937 116 165 963 427 881 912 262 106 681 832 868 207 versuchen.
Überhaupt haben die Primzahlen trotz jahrtausendealtem
Interesse dafür wenig von ihren Geheimnissen hergegeben. Man weiß
weder, wieviele es gibt, noch wo sie auftauchen. Eines der ältesten
Verfahren, um Primzahlen zu finden, ist das ``Sieb
des Erathostenes''. Viel weiter ist man heute noch nicht.
Inzwischen gibt es zwar Verfahren wie das Zahlkörpersieb
(number field sieve) und das quadratische Sieb (quadratic sieve), mit denen
man verhältnismäßig große Zahlen faktorisieren kann.
Aber diese Verfahren brauchen auch verhältnismäßig lange,
um die Lösung zu präsentieren. Von einer guten allgemeinen Lösung
sind sie noch unendlich weit entfernt. [Damm
1995]
Rivest, Shamir und Adleman haben
nun einen Weg gefunden, das Faktorisierungsproblem mit einer Falltür
zu versehen und es für ein Verschlüsselungsverfahren nutzbar
zu machen - RSA. Dazu benutzen sie die Multiplikation zweier großer
Primzahlen.
Übliche Tests sind (z.B. nach [Damm
1995] und [Schneier 1996]):
Alle drei Verfahren stellen mit einer gewissen
Wahrscheinlichkeit fest, ob eine gegebene Zahl eine Primzahl ist, oder
nicht. Aufgrund der Einschränkung, daß mit Wahrscheinlichkeiten
operiert wird, sind derartige Verfahren deutlich schneller als Faktorisierungsverfahren.
Aus beiden Primzahlen, in der Literatur üblicherweise
mit p und q bezeichnet, wird das Produkt n berechnet:
Dann berechnet man das Produkt z der Vorgänger
von p und q:
Achtung:
p und q müssen unbedingt geheim bleiben! Wer ganz sicher gehen will,
sollte sie vernichten.
Damit hat man folgende Schlüssel erhalten:
Wenn zur Verschlüsselung anstelle des öffentlichen
Schlüssels e der geheime Schlüssel d verwendet wird, kann jeder,
der die Nachricht mit dem öffentlichen Schlüssel entschlüsselt,
sicher sein, daß die Nachricht vom Besitzer des geheimen Schlüssels
stammt. Das wurde bereits oben dargelegt. Aber wer ist dessen Besitzer?
Mehr dazu im Abschnitt über `Schlüsselbesitz'.
Die Sicherheit von RSA-verschlüsselten Nachrichten
ist eine vermutete. Die Kryptologen sind zu der Annahme gekommen, daß
die Berechnung des geheimen Schlüssels aus öffenlichem Schlüssel
und einem Geheimtext äquivalent zum Problem der Faktorisierung des
Produkts der beiden Primzahlen ist, aus denen die Schlüssel abgeleitet
worden sind. Einen Beleg für die Richtigkeit dieser Annahme gibt es
nicht! Statt dessen gibt es keinen vernünftigen Ansatz für die
Widerlegung dieser sogenannten kryptologischen Annahme (cryptologic assumption).
Unter der Annahme also, daß die Faktorisierung
zum Brechen der RSA-Verschlüsselung unumgänglich ist, wird klar,
daß die Schlüssellängen sehr groß sein müssen:
kleine Zahlen, d.h. Produkte kurzer Schlüssel, lassen sich gut faktorisieren.
RSA arbeitet aus diesem Grunde mit Schlüsseln von mindestens 512 Bit
Länge. Besser sind 1024 oder 2048 Bit, was leider einen erheblich
größeren Rechenaufwand nach sich zieht. Die angemessene Wahl
wird durch den Zweck bestimmt, ist eine Sicherheitsfrage.
Neben der großen Schlüssellänge
ist das modulare Rechnen daran beteiligt, den Rechenaufwand von RSA im
Vergleich zu DES um den Faktor 1000 (Hardware) bzw. 100 (Software) zu erhöhen.
Verschlüsselungen großer Datenmengen in Echtzeit sind damit
ausgeschlossen.
Als Vorteile sind zu nennen:
``The famous RSA scheme still is the de-facto-standard in all branches of public-key applications, but it is rapidly loosing its attractiveness.'' [Hess 1997]
Neuere Ansätze greifen auf diskrete Logarithmen
bei elliptischen Kurven zurück, nicht zuletzt um die fälligen
Patentgebühren zu vermeiden (z.B. [Hess
1997]). In der Praxis finden sie bisher noch keine große Anwendung.
Grundproblem der Schlüsselverwaltung bei symmetrischen
Verfahren ist die Geheimhaltung des privaten Schlüssels bei beiden
Kommunikationsteilnehmern. Public Key-Kryptographie mit ihrem Paar aus
privatem (geheimem) und öffentlichem Schlüssel umschifft diese
Klippe. Da liegt es nahe, zuerst ein Paar asymmetrischer Schlüssel
zu generieren. Der erzeugte öffentliche Schlüssel wird dann an
den zweiten Kommunikationsteilnehmer geschickt, öffentlich. Hat dieser
ihn erhalten, erzeugt er einen symmetrischen Schlüssel, verschlüsselt
ihn mit dem öffentlichen Schlüssel und schickt ihn an den Eigentümer
des privaten asymmetrischen Schlüssels zurück. Jener kann die
Sendung entschlüsseln und verfügt jetzt über eine Kopie
des symmetrischen Schlüssels. Die zweite Kopie kann sich ohne Zweifel
nur im Besitz des Senders befinden (falls dieser nicht noch mehr Kopien
verteilt). Nun steht einer schnellen symmetrischen Verschlüsselung
großer Datenmengen, z.B. mit DES, und ihrer Versendung über
einen unsicheren Kanal nichts mehr im Wege.
Nach diesem Modell arbeitet zum Beispiel PGP.
Für die Datenverschlüsselung kommt IDEA
als symmetrisches Verfahren zum Einsatz, die Schlüssel werden mit
RSA ``verpackt und versandfertig gemacht''. Das leidige Problem der Lizenzgebühren
für die RSA-Nutzung fällt bei einem privaten PGP-Einsatz nicht
zur Last. Der PGP-Entwickler Phil Zimmerman hat darüber eine
Vereinbarung mit RSADSI. Wer
auf PGP im kommerziellen Gebrauch setzt, muß allerdings eine entsprechende
Lizenz von PGP International
erwerben.
Trotzdem gibt es ein grundsätzliches Problem:
Der Empfänger einer Nachricht weiß nicht, ob diese tatsächlich
von der vorgeblichen Senderin stammt. Normalerweise haben noch andere Personen
Zugriff auf seinen öffentlichen Schlüssel. Diese könnten
einfach eine verschlüsselte Nachricht an ihn schicken und ihn in die
Irre führen.
Wenn die andere Richtung der Verschlüsselung
gewählt wird, d.h. der Sender chiffriert mit seinem geheimen Schlüssel
und schickt die Nachricht an die Empfängerin, so kann diese sich darauf
verlassen, daß nur der Inhaber des geheimen Schlüssels Urheber
der Nachricht sein kann. Den Fall der Schlüsselkompromittierung betrachten
wir einmal nicht. Die Empfängerin kann ebenso wie jeder andere Neugierige
den öffentlichen Schlüssel nehmen und die Nachricht lesbar machen.
Das war's mit der Geheimhaltung. Zudem weiß sie nur dann genau, wem
der öffentliche Schlüssel gehört, wenn sie diesen erstens
vom Eigentümer hat und zweitens jener ihr das Eigentum durch einen
Test nachgewiesen hat.
Asymmetrisch verschlüsselte Kommunikation
mit einem Paar Schlüssel führt zu dem Dilemma, daß entweder
der Nachrichteninhalt geheim bleibt oder die Urheberschaft belegt ist.
Das ist weder für geschäftliche Transaktionen hinnehmbar, noch
legitimen Bedürfnissen nach Privatheit angemessen.
Es steht die Frage der Authentizität der Schlüssel,
also einer authentischen Schlüsselverwaltung im Raum.
``Bei einem guten Kryptosystem hängt die Sicherheit vollständig von der Kenntnis des Schlüssels und nicht von der Kenntnis des Algorithmus' ab. Deshalb ist die Schlüsselverwaltung in der Kryptographie auch so wichtig.'' [Schneier 1996], S.33
Schlüsselgenerierung ist oft eng gekoppelt
mit Schlüsselvereinbarung (key agreement). Letztere stellt eine Schlüsselgenerierung
durch die beteiligten Parteien dar, d.h. eine Seite ist allein nicht in
der Lage, einen Schlüssel zu erzeugen. Verfahren der Schlüsselvereinbarung
kommen insbesondere dann zum Einsatz, wenn es gilt, geheime Schlüssel
zu generieren. Aus technischer Sicht gibt es große Schwierigkeiten,
praktikable Verfahren zu implementieren. Gelingt es jedoch, solche Verfahren
zu realisieren, bieten sie eine implizite Authentifizierung, da per definitionem
beide Kommunikationspartner zusammen den Schlüssel erzeugen. [Blake-Wilson/Johnson/Menezes
1997]
Soll die Verschlüsselung in einem (rechts-)verbindlichen
Rahmen eingesetzt werden, muß der Schlüsselinhaber registriert
werden. Im Falle der Public Key-Kryptographie wird dabei der öffentliche
Schlüssel bei einem vertrauenswürdigen Dritten hinterlegt (Kopie),
der sie öffentlich zugänglich macht. Über die Registrierung
von Benutzer und öffentlichem Schlüssel fertigt der vertrauenswürdige
Dritte ein Zertifikat aus, von dem der Benutzer eine Kopie erhält.
Eine ander Kopie wird ihrerseits öffentlich zugänglich gemacht.
Anhand der öffentlichen Kopie kann sich eine interessierte Partei
über die Authentizität eines Schlüssels informieren.
In einigen Fällen ist es sinnvoll, eine Schlüsselkopie
zu Reservezwecken an einem sicheren Ort aufzubewahren oder ein `key recovery'
vorzusehen. Dafür sollte zwischen einer privaten Nutzung und einer
nicht privaten (amtlichen/betrieblichen/funktionalen) Nutzung unterschieden
werden:
Nach der Benutzung, spätestens jedoch nach
Ablauf der Archivierungsfristen oder der Kryptoperiode, sollten sämtliche
Schlüssel zerstört werden. Nicht mehr im Gebrauch befindliche
Schlüssel sollten nicht länger in den öffentlich zugänglichen
Verzeichnissen der vertrauenswürdigen Dritten geführt werden.
Will ein registrierter Benutzer einen neuen Schlüssel benutzen, so
sollte dieser zusammen mit einem entsprechenden Vermerk (Zeitstempel) anstelle
des alten Schlüssels in das Zertifikat aufgenommen werden.
Schwierig gestaltet sich die eventuell notwendige
Rückrufaktion bzw. Widerrufsaktion (key
revocation), falls ein Schlüssel kompromittiert wurde oder verloren
gegangen ist. Bei ausschließlich privater Nutzung obliegen die notwendigen
Aktionen dem Benutzer. Eine Rückrufaktion erfordert entweder einen
Rundruf, wozu die Daten all' jener Kommunikationspartner, die den zugehörigen
öffentlichen Schlüssel benutzen, bereitgehalten werden müssen.
Oder die betroffenen Kommunikationspartner müssen von sich aus permanent
nachfragen, ob der Schlüssel noch gültig ist. Beide Varianten
stellen die Betroffenen vor erhebliche organisatorische Probleme.
Für ein öffentliches System zur Absicherung
digitaler Signaturen sind nicht alle im Schema abgebildeten Teile notwendig.
Einige Elemente, wie Schlüsselkopien (key
backup) oder Schlüsselwiederherstellung (key
recovery), dürfen für öffentliche Schlüssel (für
digitale Signaturen) gar nicht implementiert werden, wenn sichergestellt
sein soll, daß ein Paar aus privatem und öffentlichem Schlüssel
nur einmal existiert. Andernfalls wäre es möglich, mit einer
Kopie des privaten Schlüssels digitale Signaturen zu fälschen,
was die Bemühungen, Rechtssicherheit herzustellen konterkarieren würde.
Man beachte, daß in der Grafik keine Angaben über die Lokalisierung
der einzelnen Komponenten gemacht werden. Fragen der Implementierung bleiben
unberührt.
Wenn sich immer nur je zwei Personen einen Schlüssel
`teilen', d.h. über eine Kopie verfügen, kann der Empfänger
sicher sein, daß eine Nachricht authentisch ist. Solange der Schlüssel
geheim bleibt, muß man hinzufügen. Die Frage nach der Authentizität
der Kommunikation reduziert sich dann auf die Frage nach der Authentizität
des Schlüssels.
Die Besonderheit bei asymmetrischen Verschlüsselungsverfahren
besteht (s.o.) darin, daß was mit einem Schlüssel verschlüsselt
wurde, nur mit dem anderen entschlüsselt werden kann. Das Problem
der Geheimhaltung reduziert sich daher auf die notwendige Geheimhaltung
eines -des privaten- Schlüssels an einer Stelle, beim Inhaber. Dazu
kommt die authentische Übermittlung der öffentlichen Schlüssel
sowie deren authentische Zuordnung zum Inhaber.
Wir verstehen an dieser Stelle unter einer authentischen
Übermittlung eine solche, bei der sichergestellt ist, daß eine
Kopie des `echten' Schlüssels unverfälscht beim vorgesehenen
Empfänger ankommt. Die Übermittlung muß nicht geheim bleiben,
wie bei der symmetrischen Verschlüsselung, da der private Schlüssel
nicht transportiert wird, sondern einzig und allein dem Inhaber zur Verfügung
steht. Ein geheimer Kanal ist also verzichtbar. Die Übermittlung muß
jedoch unbeeinflußt bleiben.
[Anmerkung: Die erste Publizierung eines sicheren Verschlüsselungsverfahrens (DES 1975) und die Vorstellung der Idee der Public Key-Verschlüsselung (Diffie und Hellman 1976) folgten kurz aufeinander. Beide verkörpern auf ihre Art die Vorstellung von einer öffentlichen Kryptologie. Die Herstellung von Mitteln zum öffentlichen Einsatz dieser Technologie in öffentlich zugänglichen Computernetzen (Das Internet wurde ab 1973 entwickelt.) sind da nur eine logische Folge ... die nach zwanzig Jahren den Weg in die Praxis findet.]
Der Weg der unmittelbaren Übergabe des öffentlichen Schlüssels
scheidet im großen Rahmen aus. Im kleinen ist er durchaus zu empfehlen,
da er einem potentiellen Angreifer (auf das Übergabeprotokoll) weniger
Möglichkeiten bietet, als die indirekte Verteilung, die nun beschrieben
werden soll.
[Anmerkung: Phil Zimmerman hat etwas Ähnliches wie die unmittelbare Schlüsselübergabe in seinem Konzept für PGP vorgesehen. Er führt sogenannte PGP-Fingerprints ein. Diese sind kurz und können z.B. auf Visitenkarten aufgedruckt werden. Anhand dieser ist eine Überprüfung des öffentlichen Schlüssels möglich. Die Fachzeitschrift c't aus dem Heise-Verlag druckt in ihrem Impressum (z.B. c't 5/98) ihren Fingerprint ab:
Unter indirekter Verteilung versteht man das Komplement zur direkten Verteilung, d.h. die Schlüsselübergabe erfolgt nicht durch den Inhaber, sondern aus zweiter, dritter usw. Hand. Diese Art der Schlüsselgabe ist der normale Weg in verteilten Computernetzen, wo man einen Schlüssel von irgendeiner verwaltenden Stelle (server) abruft.KeyID: 1024/BB1D9f6Dc't magazine CERTIFICATE <pgpCA@heise.de>
22 09 55 9D 72 60 87 B0 02 C3 71 9C 4E 0E 07 77]
Damit steht man wieder vor einer Gewissensfrage:
Kann ich dem Lieferanten des Schlüssels trauen oder nicht. In unserem
Sinne also: Kann ich davon ausgehen, daß der öffentliche Schlüssel,
den mir Person X als den von Person Y übergibt, tatsächlich derjenige
von Person Y ist? Oder wenn der Schlüssel nicht von einer Person kommt,
sondern einer öffentlich zugänglichen Datenbank (trusted
public directory) entnommen wird: Stimmen die Angaben über den
Schlüssel in der Datenbank? Wer bürgt dafür? Wer haftet?
Auf der einen Seite gibt es den hierarchischen
Ansatz, auf der anderen Seite einen netzartigen Ansatz (auch `Digraphmodell'
genannt). Jede Variante hat ihre Vor- und Nachteile. Die Hierarchie setzt
auf klare Verantwortlichkeiten, die Netzstruktur auf Eigenverantwortlichkeiten.
Hierarchien lassen sich effektiv realisieren, Netzstrukturen brauchen Zeit
zum Wachsen. Hierarchien sind empfindlich gegen Fehler, Netzwerke sind
verhältnismäßig fehlertolerant. Nicht zuletzt benötigen
Hierarchien Bürokratien, wogegen Netzstrukturen weitgehend ohne solche
auskommen.
Im konkreten Fall von X.509
werden die Stellen in der Hierarchie von folgenden Elementen besetzt:
``Vertrauen ist eine grundlegende subjektive Leistung jedes Menschen in vielen Lebenssituationen, weil der einzelne von Mal zu Mal selbst entscheiden muß, ob er es gewährt. Vertrauen reduziert soziale Komplexität, wenn Entscheidungen trotz Unsicherheit über das Verhalten anderer Menschen oder unzureichenden Wissens getroffen werden müssen.''
``Die Vertrauenslücke kann mit Hilfe Dritter verkleinert werden, die die Identität von Teilnehmern zusichern oder Leistungen garantieren.'' [Hammer 1995]
[Hinweis: Im vorliegenden Text werden die Begriffe `Trusted Third Party', `vertrauenswürdiger Dritter', `vertrauenswürdige dritte Instanz' usw. synonym gebraucht.]Der Vertrauenswürdige Dritte
``Zwei Menschen, die sich allein und ohne Ausweis begegnen, können sich ihre Identität gegenseitig nicht beweisen. Sie brauchen dazu ein bestätigendes soziales Umfeld. Entweder sind sie von vertrauenswürdigen Instanzen, z.B. Einwohnermeldeämtern, mit Identitätsausweisen versehen worden, oder sie werden von einer vertrauenswürdigen dritten Person einander vorgestellt. Beide Verfahren setzen vertrauenswürdige Dritte ein.'' [Grimm 1996]
Gemeint ist eine Instanz mit unabhängiger
Stellung gegenüber zwei Parteien, die zueinander in einer bestimmten
Beziehung stehen. Für den Konfliktfall, Garantien, Interessenvertretung
oder notwendige treuhänderische Aufgaben bestimmen die beiden Parteien
diese Instanz zum Dritten und vereinbaren untereinander, deren Entscheidungen
zu akzeptieren. Werden Regeln oder ein Protokoll vereinbart, nach dem die
Parteien vorgehen wollen, wird eine unabhängige Instanz zur Überwachung
der Einhaltung der Regeln bestimmt. Oft wird von ihr auch die Abwicklung
der Protokolle gesteuert.
Beispiele:
Im Zusammenhang mit `digitalen Signaturen' sollen
Trusted Third Parties die Funktion der Certification Authorities in einer
Schlüsselverwaltungsinfrastruktur (key management infrastructure)
übernehmen. Dies wird später genauer ausgeführt werden.
Die moderne Kommunikation kann ohne Kopien gar
nicht mehr existieren. Permanent werden Daten zwischengespeichert, in papierner
oder in elektromagnetischer Form. Längst schon ist nicht mehr überschaubar,
wer wo und wie die Gelegenheit hat, elektronische Kommunikation zu belauschen,
zu verfälschen und zu verhindern. Und daß solche Möglichkeiten
weidlich ausgenutzt werden, zeigen z.B. die Berichte über das von
der NSA installierte Echelon-System (z.B. [Ruhmann/Schulzki-Haddouti
1998]).
Die Aufgabe der Zertifizierung kommt in einem hierarchischen
Modell dem ``vertrauenswürdigen Dritten'' (trusted third party) zu.
Nur unter dem Primat der Vertrauenswürdigkeit wird einerseits der
Schlüsselinhaber bereit sein, seinen öffentlichen Schlüssel
zertifizieren (beglaubigen) zu lassen und andererseits ein möglicher
Kommunikationspartner der Beglaubigung durch die Zertifizierungsinstanz
trauen. Im Englischen wird das unter dem Begriff ``establishing
trust between users in distinct [security] domains'' ([Menezes/Oorschot/Vanstone
1997], Seite 571) zusammengefaßt.
In einem netzartigen Modell zur Zertifizierung
entscheidet dagegen jeder Teilnehmer selbst über Vertrauen oder Ablehnung,
unmittelbar. Die Zertifizierung erfolgt, wie z.B. bei PGP,
gegenseitig. Damit ist einem möglicherweise in betrügerischer
Absicht handelnden Dritten sein Vorhaben erschwert, die Schlichtung im
Streitfalle jedoch ebenfalls. Ein Betrug zeigt nicht so gravierende Folgen
wie in einer Hierarchie. In jener zieht die Kompromittierung des Schlüssels
einer höheren Stufe lawinenartig die Wertlosigkeit der Zertifikate
aller ihr untergeordneten Stufen nach sich. Im Netz verfügt jeder
einzelne Teilnehmer nur über eine relativ geringe Anzahl von Schlüsseln.
Manipulationen daran können nie so große Auswirkungen haben
wie in einer Hierarchie.
[Hinweis: Insofern nicht explizit von privaten Schlüsseln die Rede ist, sind immer öffentliche Schlüssel gemeint, auch wenn es bloß Schlüssel heißt.]
In der Hierarchie sieht das anders aus. Es bietet
sich scheinbar an, die hierarchische Infrastruktur für Schlüssel
und Zertifikate gleichzeitig zu benutzen. Warum? Beide erfordern die Speicherung
in Datenbanken sowie die Möglichkeiten des externen Zugriffs. Die
öffentlichen Schlüssel müssen ebenso abgerufen werden können
wie die zugehörigen Zertifikate, in der Regel gleichzeitig. Eine gekoppelte
Verwaltung von Schlüsseln und Zertifikaten würde diesen Ablauf
erleichtern.
Es gibt auch die Möglichkeit, Zertifikate
und Schlüssel nicht auf Abruf zu liefern (pull
model), sondern in gewissen Zeiträumen automatisch an die Anwender
zu versenden (push model),
quasi im Abonnement ([Menezes/Oorschot/Vanstone
1997], Seite 577). Zusätzlich wären Zertifikatswiderrufe
(certificate revocation)
zu verschicken, falls Schlüssel kompromittiert oder Zertifikate manipuliert
worden sein sollten. In der Praxis ist dies für kleine, geschlossene
Gruppen durchführbar. Im weltweiten Verbund, mit Millionen Teilnehmern,
wird die notwendige Datenmenge zu groß.
Welche Argumente könnten dagegen sprechen,
Schlüssel und Zertifikate gemeinsam zu verwalten? Eine Grundregel
der Sicherheitspolitik lautet, das Risiko zu verteilen (``Doppelt hält
besser!''), um es zu minimieren. Und Risiken gibt es viele, wenn es um
Technik geht. Technik, die zentralisiert wird, ist bei einem Ausfall nicht
oder nur sehr schwer ersetzbar. Die Gefahr des Mißbrauches wächst,
wenn die Möglichkeiten dazu vereinfacht werden. Und ein zentraler
Zugriff ist leichter zu bewerkstelligen als mehrere dezentrale Zugriffe.
(Was gleichzeitig auch ein Argument für die gemeinsame Verwaltung
ist.)
Große und komplizierte Systeme haben die
Tendenz, unflexibel zu werden. Im Krisenfall fällt es ihnen meist
schwer, schnell und adäquat zu reagieren. Sie neigen eher dazu, die
Bekanntwerdung eines Problems zu verhindern, als sofortige Abhilfe zu schaffen.
Auch sind viele Fälle denkbar, in denen Zertifikate gar nicht benötigt
werden, sondern lediglich die Schlüssel. Oder es kann Fälle geben,
in denen nur interessant ist, ob es ein Zertifikat für eine Person
gibt. Vielfach wollen Anwender auch ihre Anonymität gesichert wissen.
Sie werden dann eher einer Instanz vertrauen, die ihre persönlichen
Angaben gar nicht erst erfahren hat, als einer Instanz, die beteuert, keine
Daten weiterzugeben, die sie gespeichert hat. Datenschutzgesetz hin oder
her; Beispiele für Mißbrauch oder Fahrlässigkeit gibt es
immer wieder.
Die Abwägung der Sicherheitsanforderungen gegen die Bequemlichkeiten
bei der Benutzung werden letztendlich ausschlaggebend für die Entscheidung
pro oder contra gemeinsame Verwaltung von Schlüsseln und Zertifikaten
sein. Wenn es um Rechtsverbindlichkeit geht, kommt man in vielen Fällen
sowieso nicht umhin, sich nach den Vorgaben des Signaturgesetzes (SigG),
der zugehören Verordnung (SigV) und des Maßnahmenkatalogs des
BSI zu verhalten. Was aber seinerseits keine Garantien für die Sicherheiten
bietet. Im Signaturgesetz geht es um die Schlüssel für digitale
Signaturen. Diese könnten jedoch auch für andere Zwecke eingesetzt
werden, wie zum Beispiel zur Datenverschlüsselung in hybriden Verfahren,
... wenn sie denn zugänglich sind.
![]() |
![]() |
Wesentliche Unterschiede gibt es im Umgang mit
ungültigen Zertifikaten. X.509
verlangt die Gültigkeit sämtlicher Zertifikate in der Zertifikatskette,
d.h. von der Wurzelinstanz bis zum Benutzer, um eine gültige Signatur
zu erzeugen. Die Umsetzung der Signaturverordnung zum Signaturgesetz ist
hier weniger strikt. Zur Verringerung des Verwaltungsaufwandes können
Zertifikate auch dann anerkannt werden, wenn übergeordnete Zertifikate
ungültig sind ([SigB]).
``(4) Die Zertifizierungsstelle hat Vorkehrungen zu treffen, damit Daten für Zertifikate nicht unbemerkt gefälscht oder verfälscht werden können. Sie hat weiter Vorkehrungen zu treffen, um die Geheimhaltung der privaten Signaturschlüssel zu gewährleisten. Eine Speicherung privater Signaturschlüssel bei der Zertifizierungsstelle ist unzulässig. '' [SigG], §5 (4)
Der zweite Satz räumt jedoch die Möglichkeit
ein, daß die Zertifizierungsstelle an die privaten Schlüssel
gelangt. Ein Aufdecken (Kompromittieren) der privaten Schlüssel ermöglicht
die beliebige Manipulation jeglicher damit verschlüsselter Kommunikation
und muß daher prinzipiell ausgeschlossen werden.
Der dritte Satz des Absatzes schließlich,
der eine Speicherung der privaten Schlüssel untersagt, ist nur notwendig,
wenn es überhaupt eine Möglichkeit der Speicherung und damit
der Kompromittierung gibt. Satz 1 des Absatzes steht also in eklatantem
Widerspruch zu den Sätzen 2 und 3. Und nicht nur dazu, sondern insbesondere
zu jedem Sicherheitsmodell für digitale Signaturen.
In der vorliegenden Form wird der Umgang mit privaten
(geheimen) Schlüsseln kryptologisch unsicher gemacht.
Handelt es sich um ein Versehen? Im Gesetz wird
nichts darüber gesagt, woher die Schlüssel, auf die Bezug genommen
wird, stammen. Noch ein Versehen? Ein Blick in die amtliche Begründung
klärt nicht auf. Dort findet sich folgende Aussage:
``Die jeweils einmaligen Schlüsselpaare (privater und öffentlicher Schlüssel) werden durch anerkannte Stellen natürlichen Personen fest zugeordnet. Die Zuordnung wird durch ein Signaturschlüssel-Zertifikat beglaubigt.'' [SigB]
``Der private Schlüssel sowie die Signiertechnik ist in der Regel auf einer Chipkarte gespeichert, die erst in Verbindung mit einer Personenidentifikationsnummer (PIN) eingesetzt werden kann.'' [SigB]
Worin die Intention der unklaren gesetzlichen Aussagen
zu sehen ist, kann man sich bei aufmerksammer Lektüre von Gesetz,
Verordnung und insbesondere amtlicher Begründung zusammenreimen.
Unter der Überschrift ``Wirksamer Informationsschutz''
findet sich in der Begründung zum Gesetz der Absatz:
``Ob unabhängig davon unter besonderen Aspekten spezielle >>Kryptoregelungen<< erforderlich sind, ist nicht Gegenstand des Gesetzentwurfs. Die Funktionen Signatur und Verschlüsselung sind technisch wie rechtlich völlig eigenständig zu betrachten. '' [SigB]
Andere Passagen im Gesetz und in der Begründung
lassen ähnliche Vermutungen zu. In der Begründung zu Paragraph
5 findet sich folgende Aussage:
``... da davon ausgegangen werden kann, daß der Markt jedem Interessenten die Möglichkeit eröffnen wird, bei einer Zertifizierungsstelle einen Signaturschlüssel zu erwerben.'' [SigB]
``Die in Satz 2 geforderte Geheimhaltung des Signaturschlüssels ist absolut. Es soll keine Person (auch nicht der Signaturschlüssel-Inhaber) Kenntnis vom privaten Signaturschlüssel erhalten, da andernfalls ein Mißbrauch des Signaturschlüssels nicht auszuschließen ist.'' [SigB]
Es folgt gleich darauf, in der Erläuterung
von Satz zwei, die Aussage:
Zieht man nun noch in Betracht, welche Anwendungen für digitale
Signaturen vom Gesetzgeber u.a. vorgesehen werden, nämlich ``digitaler
Ausweis'' ([SigB]) oder
``automatische Feststellung der Urheberschaft
elektronischer Post'' ([SigB])
muß man befürchten, daß das Recht auf informationelle
Selbstbestimmung der Bürger weiter ausgehöhlt wird. Dem Gesetzgeber
ist das durchaus bewußt, findet sich in der Begründung zu Signaturgesetz
doch die Aussage:
``Signierte Daten in Dateien und Netzen können das Erstellen von Persönlichkeitsprofilen ... erleichtern.'' [SigB]
Die Adäquatheit bestehender Haftungsregelungen
zu den Bedürfnissen, die aus dem neuen Gesetz erwachsen, ist zu bezweifeln.
Zum einen fehlt es an einer passenden Rechtsprechung, zum anderen an ausreichenden
Praxiserfahrungen mit vergleichbarer Technologie. Die vorliegenden Erfahrungen
im breiten Einsatz von Chipkarten (Telefonkarten, EC-Karten, Krankenkassenkarten)
sprechen eher gegen die Annahme, daß die Haftung bereits ausreichend
geregelt sei.
Die implizierte Klarheit der Verantwortlichkeiten
läßt sich meines Erachtens aus dem Gesetz nicht ableiten. Zwar
läßt sie sich für die (behördliche) Wurzelinstanz
erkennen. Für die nachgeordneten, privaten Zertifizierungsstellen
bleibt dagegen offen, welche Haftungsbestimmungen greifen. Was geschieht,
wenn sich die Genehmigungen der behördlichen Wurzelinstanz oder des
amtlich bestellten Prüfinstituts als Fehler herausstellen, sei es
in technischer oder in organisatorischer Hinsicht? Greift dann die Staatshaftung
für die Behörde oder sind die Verträge zwischen Benutzer
und Zertifizierungsstelle maßgeblich? Der Vergleich mit Kernkraftwerken,
wie ihn Wendelin Bieser in der Begründung zum Signaturgesetz ([SigB])
anstellt, wirkt in dieser Hinsicht nicht sehr beruhigend.
Die Patente schließen üblicherweise
die Schlüsselgenerierung
ein (siehe RSA). Die Folgerung
lautet, daß Schlüsselpaare nicht kostenlos erhältlich sein
werden. Da es nur sehr wenige praktikable Signaturverfahren gibt, haben
die Patentinhaber praktisch eine Monopolstellung inne. Das Gesetz sieht
diesbezüglich weder Beschränkungen, noch Öffnungsmaßnahmen
vor. Der Einsatz von digitalen Signaturen kann somit schon an der Kostenfrage
scheitern.
2. Der vorgesehene Umgang mit den privaten Schlüsseln
ist aus kryptologischer Sicht zumindest bedenklich (z.B. temporäre
Zwischenspeicherung). Verfahren, bei denen der geheime (private) Schlüssel
zeitgleich nur an einer einzigen Stelle existiert, sind nicht zwingend
vorgeschrieben. Der Schlüsselraum wird durch den Einsatz von PINs
(mit verhältnismäßig geringer Länge) anstelle von
einmaligen biometrischen Merkmalen stark eingeschränkt.
3. Die künstliche Trennung zwischen Signatur
und Verschlüsselung legen den Schluß nahe, daß Kryptographie
später -in einem anderen Gesetz- von staatlicher Seite eingeschränkt
werden soll. Aussagen des Bundesinnenministers und seines Staatssekretärs
weisen in dieselbe Richtung. (s. [Kanther
1997])
4. Eine Infrastruktur für Schlüsselverwaltung
und Zertifizierung im Sinne des Gesetzes kann jederzeit für ein umfassendes
`key recovery'/`key
escrow'-Programm eingesetzt werden. Damit kann die Wahrnehmung des
``Grundrechts auf Verschlüsselung'' ([Koch
1997]) behindert oder gar verhindert werden.
5. Schlüsselverwaltung und Signaturen im Sinne
des Gesetzes können zur Erstellung von Benutzer- und Bewegungsprofilen
ohne Kenntnis des Schlüsselinhabers benutzt werden. Der vorgeschlagene
Einsatz von Chipkarten als digitalem Ausweis gestattet dies. In der automatischen
Absenderkontrolle bei elektronischer Post liegt das Risiko einer De-Anonymisierung.
Eventuell gewünschte oder notwendige Vertraulichkeiten sind so u.U.
gefährdet.
6. In der Verordnung zum Signaturgesetz wird in
§13 verlangt, eine Kopie vom Ausweis
oder eines anderen Identitätsnachweises des Antragstellers anzufertigen
und aufzubewahren - für 35 Jahre. Diese Bestimmung verstößt
meines Erachtens gegen das Bundesdatenschutzgesetz, da mehr Daten erhoben
werden, als für die Durchführung der Geschäftstätigkeit
notwendig sind (vgl. BDSG §13
- Datenerhebung). Art und Weise der Kopie sind nicht genau spezifiziert,
könnten demnach auch elektronisch (z.B. durch Einscannen) angefertigt
werden. Einer unzulässigen Auswertung steht danach nichts mehr im
Wege, außer der Datenschutz.
7. Das Signaturgesetz sieht eine flache, zweistufige
Hierarchie mit einer Genehmigungsbehörde oben und lizenzierten Zertifizierungsstellen
unten vor. Die Behörde erteilt der Zertifizierungsstelle [4]
die Lizenz nach einer Evaluierung (z.B. durch das BSI)
[5]. Das Kontrollrecht liegt ausschließlich
bei der Behörde. Den Betroffenen (Schlüsselinhabern und Zertifkatsnachfragern)
ist eine Kontrolle nicht möglich. Es steht zu befürchten, daß
im Streitfalle der Bürger oder die Firma der Zertifizierungsstelle
wird nachweisen müssen, daß diese versagt hat (analog dem Verfahren
bei EC-Kartenvorfällen [6]). Ohne Einblick
in die internen Vorgänge und Abläufe wird das nicht möglich
sein und so geraten Bürger oder Firma in eine Ohnmachtsposition. Erfahrungen
dazu gibt es vom EC-Kartenbetrug und den Fällen überhöhter
Telefonrechnungen der Telekom in den letzten Jahren. Simulationsstudien
haben ihrerseits Schwachstellen nachgewiesen [7].
Im übrigen kehrt sich das Beweisverfahren um: Wo bei der einzelnen
Unterschrift im Zweifelsfalle nachgewiesen werden muß (z.B. durch
gutachterliche Untersuchungen), daß derjenige, von dem sie zu stammen
scheint, tatsächlich der Urheber ist, steht der Schlüsselinhaber
bei der digitalen Signatur in der Pflicht, da gemutmaßt wird, daß
er die Signatur erstellt hat. Eine klare Schwächung der Bürgerposition.
(C) Die Stellung der Patentinhaber wurde nicht
genügend beachtet. Zertifizierungsinstanzen kommen nach dem vorliegenden
Gesetz nicht umhin, Patente in Anspruch zu nehmen (mangels alternativer
Verfahren). So werden sie gezwungen sein, entsprechende Gebühren zu
zahlen. Die faktische Monopolstellung der Patentinhaber stellt den neuralgischen
Punkt dar. Ein fairer Wettbewerb zwischen ihnen ist nicht erkennbar.
(D) Das technische Fundament für die im Gesetz
festgeschriebene asymmetrische Verschlüsselung hat seine Tragfähigkeit
auf Dauer noch nicht unter Beweis gestellt. Bei einer unbeschränkten
Einführung digitaler Signaturen im großen Rahmen besteht die
Gefahr einer ernsthaften Gefährdung des Rechtsgefüges, sollten
sich die den Verfahren zugrundeliegenden kryptologischen Annahmen in näherer
oder fernerer Zukunft als falsch erweisen. Die Möglichkeit einer Rücknahme
der Entwicklung dürfte in wenigen Jahren nicht mehr bestehen.
(E) Einer Internationalisierung des elektronischen
Handels steht entgegen, daß das Gesetz die einschlägigen internationalen
Standards nicht als (rechts-)verbindlich vorsieht, sondern statt dessen
eine nationale Regelung schafft.
``For practical applications, digital signatures are one of the two most important cryptologic primitives. In particular with the rise of electronic commerce on the Internet and the World Wide Web, they may become even more important than the better-known schemes for message secrecy.'' [Pfitzmann 1996], Preface
Der Sender erzeugt dann ein Dokument und verschlüsselt
es mit seinem symmetrischen Schlüssel. Die resultierende Nachricht
übermittelt er der Trusted Third Party zusammen mit der `Adresse'
des Empfängers.
Sobald die Trusted Third Party eine Nachricht erhält,
entschlüsselt sie diese mit dem Duplikat des Senderschlüssels.
Eine erfolgreiche Entschlüsselung zeigt die Authentizität der
Nachricht an. Sodann nimmt sie das Duplikat des Empfängerschlüssels
und verschlüsselt die Information damit. Dadurch bekommt sie eine
Nachricht, die sie zusammen mit einem Vermerk über den Absender an
den Empfänger schickt.
Der Empfänger entschlüsselt die Nachricht
von der Trusted Third Party und vertraut dieser, daß die Nachricht
wirklich vom angegebenen Absender stammt und authentisch ist.
Ohne volles Vertrauen in die Trusted Third Party
läßt sich das Verfahren in der beschriebenen Form nicht abwickeln.
Ohne Trusted Third Party selbstverständlich auch nicht. Diese garantiert
die Authentizität der Kommunikation und die Sicherheit der geheimen
(symmetrischen) Schlüssel. Da die Trusted Third Party weiß,
wann von wem an wen welche Nachricht geschickt wurde, kann keine der Parteien
ihre Beteiligung abstreiten oder den Inhalt des Dokuments in Frage stellen.
Sender oder Empfänger können mit Hilfe der Trusted Third Party
gegenüber Außenstehenden nachweisen, welche Kommunikation stattgefunden
hat. Voraussetzung ist, daß Außenstehende die Trusted Third
Party ihrerseits als glaubwürdig akzeptieren.
Um ihre Aufgabe zu erfüllen, muß die
Trusted Third Party einen ziemlich hohen Aufwand für die Schlüsselverwaltung,
die Kommunikation mit den Teilnehmern und die Archivierung von Nachrichten
leisten. Die zentrale Verwaltung von Schlüsselkopien wird darüber
hinaus Begehrlichkeiten bei Unbefugten wecken. Viele Leute werden auch
nicht damit einverstanden sein, daß eine zentrale Stelle von ihren
Dokumenten Kenntnis erlangen kann, so sie will. Man sieht, für den
praktischen Einsatz weist diese Methode einige Unzulänglichkeiten
auf.
Im weiteren werden wir den Ansatz untersuchen,
der nicht nur die größte Verbreitung gefunden hat, sondern auch
durch das Signaturgesetz vorgesehen ist ([SigG
§2(1)]).
Um sicherzustellen, daß der Sender nicht
einen fremden öffentlichen Schlüssel als den seinigen ausgibt,
testet die Trusted Third Party den öffentlichen Schlüssel. Dazu
wird z.B. eine Zufallszahl mit dem öffentlichen Schlüssel verschlüsselt.
Anschließend muß der Antragsteller, d.h. der Sender, der ein
Zertifikat beantragt, die verschlüsselte Zufallszahl wieder entschlüsseln.
Schafft er das, so ist bewiesen, daß er über den geheimen Schlüssel
zu dem von ihm vorgelegten öffentlichen Schlüssel verfügt.
Nach der Überprüfung des Senders wird
das Zertifikat mit dem öffentlichen Schlüssel in ein öffentlich
zugängliches Verzeichnis auf dem Server der Trusted Third Party gelegt.
Je nach Struktur der Zertifikate werden Zeitmarken, Gültigkeitsbeschränkungen
etc. zusätzlich darin vermerkt.
Der Sender kann nun eine Nachricht mit seinem geheimen
Schlüssel signieren und an den Empfänger schicken. Will der Empfänger
überprüfen, ob die Nachricht vom vorgeblichen Sender stammt und
auch unverändert ist, verschafft er sich den öffentlichen Schlüssel
des Senders bei der Trusted Third Party. Damit testet er die Signatur des
Dokuments. Diesen Test kann er auch einem Außenstehenden vorführen
und diesem gegenüber die Herkunft der Nachricht beweisen.
Dieser Beweis hängt von der Qualität
der Signatur und der Zuverlässigkeit der Trusted Third Party ab. Erstere
wird durch das Signierverfahren abgesichert. Letztere hängt von angemessenen
technischen Maßnahmen und deren Kontrolle ab.
Folgende, schematische Darstellung zeigt den Vorgang
der Erzeugung einer digitalen Signatur zu einem Dokument.
Der Hashwert wird dann mit einem Public Key-Verfahren
verschlüsselt, wozu der private Schlüssel des Senders herangezogen
wird. Das Ergebnis der Verschlüsselung des Hashwertes stellt die digitale
Signatur des Dokumentes dar. Vom Sender wird diese Signatur an das Dokument
angefügt und der entstehende Verbund an den Empfänger geleitet.
Ist die Sendung beim Empfänger angekommen,
überprüft jener, was er erhalten hat, auf seine Richtigkeit:
Den schrittweisen Ablauf des Protokolles kann man etwas formaler so beschreiben:
Vor der Kommunikation:
Zu den Randbedingungen gehören in erster Linie
die Verwendung kollisionsfreier Hashfunktionen, exakte Zeitangaben, gute
Schlüssel und nachweisbar sichere Zertifikate.
Eine Schlüsselstellung hat bei digitalen Signaturen die Hashfunktion inne. Es handelt dabei sich nicht um eine gewöhnliche Hashfunktion, sondern um eine kollisionsfreie Einweg-Hashfunktion (collision-free one-way hash function, CFOWHF) mit fester Länge der Ausgabe.
``Hash functions ... are important tools to protect information integrity. Together with digital signature schemes, they play an important role for securing our electronic interactions, ...''
[Preneel 1997]
- Datenumfang für die Verschlüsselung und Übertragung möglichst gering halten;
- Integrität der Daten sicherstellen;
- Unwiderrufbarkeit des Dokumentes sichern (Beweisbarkeit der Zuordnung zum Absender);
[Anmerkung: Bei sehr kurzen Nachrichten kann auf eine Hashfunktion verzichtet werden, da der Hashwert unter Umständen länger als die Nachricht ausfällt. Statt dessen wird das Dokument direkt verschlüsselt und das Resultat an das unverschlüsselte Dokument angehangen. Bei geeigneter Wahl der Verschlüsselungsfunktion erfüllt dieser Appendix die Funktion des verschlüsselten Hashwertes ebensogut. In der Praxis werden die Anwendungsmöglichkeiten dafür beschränkt sein.]
Durch die Integration von Zeitmarken ins Protokoll
kann verhindert werden, daß der Sender nach Absendung des Dokuments
seinen geheimen Schlüssel veröffentlicht, d.h. mutwillig kompromittiert,
und anschließend behauptet, nicht der Absender des signierten Dokuments
zu sein. Anhand der Zeitmarke läßt sich herausfinden, ob der
`Schlüsselverlust' vor oder nach der Signierung stattfand.
`` ... in all publications in theory, it is assumed that participants generate their own secret keys, so that the keys deserve the attribute "secret". This procedure is also strongly recommended for practical applictions.'' [Pfitzmann 1996], S.17
Zu jedem Verschlüsselungsverfahren werden
bestimmte Schlüsselgenerierungsalgorithmen empfohlen. Insofern diese
Empfehlungen von Kryptologen ausgesprochen werden und in der Fachliteratur
gutgeheißen werden, kann man darauf zurückgreifen. Mißtrauen
ist gegenüber als ``neu und besonders sicher'' angepriesenen Verfahren
ohne entsprechende Referenzen angebracht.
``Forging a signature is as hard as in the most secure ordinary digital signature schemes, but if, for all that, someone succeeds in forging, the supposed signer can prove that this happened ...'' [Pfitzmann 1996], Preface
Noch relativ neu sind Fail-Stop-Signaturen, die auf Birgit Pfitzmann und Michael Waidner zurückgehen. Ihrem Design liegen zusätzlich zu den allgemeinen Sicherheitsansprüchen digitaler Signaturen noch weitere zugrunde:
- Signaturen sollen mit minimalem Aufwand getestet werden können.
- Fälschungen sollen feststellbar und nachweisbar sein.
- Das Protokoll soll möglichst ohne Trusted Third Party auskommen.
[Anmerkung: Außer in dem Buch von B. Pfitzmann ([Pfitzmann 1996]) finden sich in der aktuellen kryptologischen Fachliteratur nicht sehr viele Darstellungen zu Fail-Stop-Signaturen. Insbesondere findet sich keine gute, kompakte Darstellung.]
Bruce Schneier gibt in [Schneier 1996] auf den Seiten 102 und 103 einen kurzen Abriß der Idee (Zusammenfassung):Man benötigt einen Public Key-Verschlüsselungsalgorithmus, der zu jedem öffentlichen Schlüssel eine sehr große Anzahl geheimer Schlüssel benutzen kann. Der Aufwand, ein Paar aus geheimem und öffentlichem Schlüssel zu generieren, darf nicht wesentlich größer als bei anderen Signaturverfahren sein. Die Möglichkeit, einen bestimmten geheimen Schlüssel aus dieser großen Menge gezielt auswählen zu können, muß dagegen sehr klein, praktisch Null sein. Der Aufwand, aus einem signierten Dokument und einem öffentlichen Schlüssel einen passenden geheimen Schlüssel zu errechnen, sollte in die Komplexitätsklasse NP fallen. Jeder mögliche geheime Schlüssel führt zu einer anderen Signatur.![]()
Der Sender generiert ein Paar aus geheimem und öffentlichen Schlüssel. Der öffentliche Schlüssel wird wie üblich seiner Bestimmung zugeführt und veröffentlicht. Auch die Kommunikation wird wie gewöhnlich vorgenommen, d.h. signiert wird mit dem geheimen Schlüssel, getestet mit dem öffentlichen Schlüssel.
![]()
Falls es einem Angreifer gelingen sollte, zu dem öffentlichen Schlüssel einen passenden geheimen Schlüssel zu finden, so ist die Wahrscheinlichkeit, daß der gefundene Schlüssel derselbe ist wie der geheime Schlüssel des Senders, sehr gering. Praktisch ist es ausgeschlossen, denselben Schlüssel zu finden. Wenn mit dem gefundenen Schlüssel Dokumente signiert werden, so wird eine andere Signatur erzeugt, als mit dem richtigen (echten), geheimen Schlüssel des Senders. Das kann der Sender gegenüber Außenstehenden vorführen und so beweisen, daß die Signatur eine Fälschung ist. Eine Trusted Third Party zur Identifizierung ist deshalb verzichtbar.
Bruce Schneier definiert ihn so:
CRISIS bietet vielleicht die umfassendste Betrachtung:
...
Ensure that a party with whom they are transacting business is indeed the party he or she claims to be. Likewise, they may seek to authenticate their own identity ... In an electronic domain without face-to-face communiations or recognizable indicators such as voices and speech patterns (as used today in telephone calls), forgery of identity becomes increasingly easy.'' [CRISIS 1997], S. 42
[2] Zur netzartigen Struktur der Zertifizierung
bei PGP siehe z.B.: [Grimm
1996], [Wobst 1997 (I)]
Der Nachweis der Unikatssicherung von Schlüsselpaaren und der korrekten Ausgabeverfahren und Verzeichniseinträge ist gleichermaßen ein Validierungs- wie Revisionsproblem. ...
42 Zielkonflikte
ergeben sich dafür aus Interessen der inneren Sicherheit. ...''
[Hammer 1993]
[5] Eine solche Zertifizierung stellt allerdings
keine Garantie dar, daß ein System wirklich sicher ist. Siehe z.B.
[Versteegen 1997].
[6] Zu den ``Schwierigkeiten'' mit der
Sicherheit beim EC-Verfahren und ihren Konsequenzen siehe z.B.:
[OLG Hamm (31 U 72/96)]
, [Rossa 1997(I)], [Rossa
1997(II)], [Pausch 1997],
[Heine 1997], [SPIEGEL
36/1997]
[7] Siehe z.B. den Bericht zur provet/GMD-Simulationsstudie
von Volker Hammer:
``Werden dagegen elektronische Signaturen mit
Chipkarten gefälscht, gibt der Augenschein keinerlei Hinweis auf deren
Unechtheit. Ein betroffener Chipkarteninhaber kann allenfalls versuchen,
z.B. durch Zeugen zu belegen, daß die Signatur nicht von ihm stammen
kann.'' [Hammer 1993]