Inhaltsverzeichnis         Kapitel 1         Kapitel 2         Kapitel 3         Kapitel 4         Kapitel 5         Kapitel 6         Literaturverzeichnis




3 Technische Konzepte zur Erfüllung der Anforderungen an ein sicheres elektronisches Zahlungssystem

3.1 Kryptographische Konzepte

3.1.1 Kryptosysteme

Ein Kryptosystem ist formal ein Tupel (K, C, S, Vs, Es) mit

-

der Menge der Klartexte K

-

der Menge der Chiffren (verschlüsselte Klartexte) C

-

der Menge der Schlüssel S

-

einer Familie von Verschlüsselungsfunktionen Vs: K->C mit s aus S

-

einer Familie von Entschlüsselungsfunktionen Es: C->K mit s aus S

An gute Kryptosysteme werden folgende Anforderungen gestellt:

-

Einfachheit der Berechnung: Für alle Klartexte k aus K und alle Schlüssel s aus S sind Vs(k)=c und Es(c)=k mit geringem Zeitaufwand zu berechnen.

-

Möglichst geringe Chiffrelänge: Für jeden Klartext k aus K ist der zugehörige verschlüsselte Text c=Vs(k) nicht wesentlich länger als der Klartext k.

-

Geheimhaltung: Aus dem verschlüsselten Text c aus C kann ohne Kenntnis von Es nicht oder nur sehr schwer der Klartext k aus K berechnet werden. Es soll unmöglich sein, aus der Kenntnis der zu einem Klartext k gehörenden Chiffre c=Vs(k) Es zu bestimmen.

-

Authentizität: Es kann keine Chiffre c bestimmt werden, so dass Es(c) einen gültigen Klartext aus K darstellt. Es soll unmöglich sein, aus der Kenntnis des zu einer Chiffre c gehörenden Klartextes k=Es(c) Vs zu bestimmen.

In Kryptosystemen besteht das Geheimnis nicht in dem Verfahren, sondern in den benutzten Schlüsseln. Der Schlüsselraum S sollte möglichst groß sein, damit ein Angreifer nicht durch Ausprobieren aller Schlüssel aus dem Schlüsselraum S in akzeptabler Zeit den Klartext erhalten kann. Desweiteren sollten die Schlüssel aus zufälligen Daten erzeugt werden.


3.1.2 Symmetrische Kryptosysteme (symmetric-key ciphers)

Abbildung 1: Symmetrisches Kryptosystem ([NET98])


Symmetrische Kryptosysteme haben folgende Eigenschaften (s aus S, k aus K und c aus C):

-

Die Verschlüsselung des Klartextes k und die Entschlüsselung der zugehörigen Chiffre können jeweils mit dem gleichen Schlüssel s erfolgen: Es(Vs(k))=k.

-

Seien s1 und s2 aus S mit s1<>s2. Dann gilt Es1(Vs2(k))<>k. Man muss also zum Ver- und Entschlüsseln denselben Schlüssel benutzen.

Das Problem ist der sichere Austausch des geheimen Schlüssels.

Wichtige symmetrische Kryptosysteme sind DES (data encryption standard), das im Bankwesen häufig eingesetzt wird, und IDEA (International Data Encryption Algorithm), das heute bei PGP (Pretty Good Privacy) zum sicheren Versenden von E-Mails verwendet wird. Problematisch an DES ist die geringe Schlüssellänge von 56 Bit, weshalb die einmalige Anwendung von DES heute als nicht mehr sicher gilt. Empfohlen wird die dreifache Anwendung von DES mit unterschiedlichen Schlüsseln.


3.1.3 Asymmetrische Kryptosysteme (public-key ciphers)

Abbildung 2: Asymmetrisches Kryptosystem ([NET98])


Bei asymmetrischen Kryptosystemen erfolgen Ver- und Entschlüsselung mit zwei verschiedenen Schlüsseln. Asymmetrische Kryptosysteme haben folgende Eigenschaften( (s1,s2) Schlüsselpaar mit s1, s2 aus S und s1<>s2, k aus K):

-

Beide Schlüssel können zum Ver- und Entschlüsseln eingesetzt werden: Es1(Vs2(k))=k und Es2(Vs1(k))=k.

-

Ver- und Entschlüsselungsfunktion können symmetrisch angewendet werden: Vs1(Es2(c))=c.

-

Zu einem gegebenen Schlüsselpaar (s1,s2) darf kein weiteres Schlüsselpaar (s,s2) oder (s1,s) existieren, für das obige Eigenschaften erfüllt sind.

Der Vorteil von asymmetrischen Kryptosystemen ist, dass ein Schlüssel öffentlich bekanntgegeben werden darf (Public Key), während der andere geheim bleiben muss (Private Key). Der Nachteil gegenüber symmetrischen Verfahren ist die erheblich geringere Ver- und Entschlüsselungsgeschwindigkeit. Außerdem ist die Zugehörigkeit des öffentlichen Schlüssels zu einer Person nicht sichergestellt (diese Problematik wird in Kapitel 3.2 aufgegriffen). Das bekannteste und am häufigsten eingesetzte asymmetrische Kryptosystem ist RSA.


3.1.4 Geheimhaltung von Nachrichten

Im folgenden wird ein unsicherer Kanal (z. B. ein Weg durch das Internet) betrachtet, über den der Sender A eine geheime Nachricht an den Empfänger B schicken will. Dazu benutzen beide ein asymmetrisches Kryptosystem: Zunächst sendet B seinen öffentlichen Schlüssel s1 an A. A bildet c=Vs1(k) und sendet c an B. B erhält den Klartext k durch k=Es2(c), also durch Entschlüsseln mit seinem privaten Schlüssel s2. Ein Problem ist, dass die Integrität des öffentlichen Schlüssels s1 nicht gewährleistet ist; s1 könnte auf dem Weg durch den unsicheren Kanal gefälscht werden (sog. Man-in-the-middle-Attack). Um dies zu verhindern, benötigt man das Konzept der digitalen Signaturen (Kapitel 3.1.5).


3.1.5 Digitale Signaturen

Abbildung 3: Digitale Signatur ([NET98])


Digitale Signaturen dienen zwei Zwecken: sie ermöglichen in Kombination mit Zertifikaten (Kapitel 3.2) die Feststellung der Identität des Senders A durch den Empfänger B und decken mögliche Manipulationen einer Nachricht auf ihrem Weg durch das Netzwerk auf. A bildet aus der zu sendenden Nachricht n1 einen sogenannten Hash-Wert h1=H(n1). Die Hashfunktion H muss folgende Eigenschaften besitzen:

-

H ist praktisch eineindeutig, d. h. es ist so gut wie unmöglich, dass zwei verschiedenen Nachrichten ein gleicher Hash-Wert zugeordnet wird: für alle n1, n2 folgt aus H(n1)=H(n2) n1=n2. Wenn sich doch zwei Nachrichten mit dem gleichen Hashwert finden lassen, liegt eine sog. Hashkollision vor. Theoretisch gibt es immer Hashkollisionen.

-

H ist eine Einwegfunktion, d. h. für gegebenen Hash-Wert h ist n=H-1(h) praktisch nicht zu berechnen.

A verschlüsselt den Hash-Wert h1 mit seinem privaten Schlüssel s1: c1=Vs1(h1); c1 ist die sog. digitale Signatur der Nachricht n1. A sendet die Nachricht n1 zusammen mit der digitalen Signatur c1 an B; B empfängt n2 und c2. B entschlüsselt c2 mit dem öffentlichen Schlüssel s2 von A (h2=Es2(n2)) und bildet seinerseits den Hash-Wert h2' der empfangenen Nachricht n2: h2'=H(n2). Sind h2 und h2' identisch, gilt auch n1=n2 wegen der Eineindeutigkeit von H, d. h. die Integrität der übertragenen Nachricht ist nachgewiesen. Andernfalls ist die Nachricht nicht so angekommen, wie der Empfänger sie abgeschickt hatte, oder die Nachricht stammt nicht vom Besitzer des passenden privaten Schlüssels. A könnte auch die zu sendende Nachricht direkt mit seinem privaten Schlüssel verschlüsseln (c1=Vs1(n1)) und n1 zusammen mit c1 an B schicken. Jedoch ist die verschlüsselte Nachricht im allgemeinen viel länger als der verschlüsselte Hash-Wert, somit würde die Benutzung der verschlüsselten Nachricht als Unterschrift zu einem erheblich höheren Datenaufkommen im Netzwerk führen.


3.1.6 Blinde Signaturen

Das Konzept der blinden Signatur erlaubt das digitale Signieren von Nachrichten, ohne dass der Signierer den Inhalt der Nachricht lesen kann. Blinde Signaturen werden im elektronischen Zahlungssystem eCash (Kapitel 5.2) zur anonymen Geldausgabe eingesetzt. Angenommen Person A möchte eine Nachricht n1 von Person B blind signieren lassen. Dazu werden folgende Schritte ausgeführt:

1.

A "überblendet" die Nachricht mit einem zufällig erzeugten Faktor f: n1'=Üf(n1).

2.

A verschlüsselt die überblendete Nachricht n1' mit dem öffentlichen Schlüssel sB,1 von B (cn1'=VsB,1(n1')) und sendet c an B.

3.

B entschlüsselt die Nachricht n1' mit seinem privaten Schlüssel sB,2 (n1'=EsB,2(c), die Integrität von n1' sei vorausgesetzt), signiert sie mit seinem privaten Schlüssel sB,2 (n2'=VsB,2(n1')), verschlüsselt die signierte Nachricht n2' mit dem öffentlichen Schlüssel von A (cn2'=VsA,1(n2') und schickt cn2' an A zurück.

4.

A entschlüsselt cn2' mit seinem privaten Schlüssel sA,2 (n2'=EsA,2(cn2'), wobei wieder die Integrität von n2' vorausgesetzt wird) und entfernt die in Schritt 1 erzeugte Überblendung (n2f-1(n2')) Nun hat A die von B signierte Nachricht n2f-1(VsB,2f(n1))) vorliegen. Man sieht außerdem, dass die Funktion Üf die Bedingung VsB,2f(n1))=Üf(VsB,2(n1)) erfüllen muss (VsB,2 und Üf müssen vertauschbar sein).


3.2 Zertifikate

3.2.1 Was ist ein Zertifikat?

Ein Zertifikat ordnet einem öffentlichen Schlüssel eine Person, einen Server, ein Unternehmen oder andere Dinge der realen Welt zu. Zertifikate erfüllen die Forderungen Authentifizierung und Autorisierung; sie verhindern, dass jemand einen öffentlichen Schlüssel benutzt, der ihm gar nicht gehört. Der öffentliche Schlüssel des Zertifikats passt nur zu dem privaten Schlüssel, den der Inhaber des Zertifikats besitzt. Zertifikate werden von sogenannten CAs (Certificate Authorities) ausgestellt und von diesen mit ihrem privaten Schlüssel digital signiert. So kann der Benutzer des Zertifikats mit dem öffentlichen Schlüssel des CAs feststellen, ob das Zertifikat wirklich von diesem CA ausgestellt wurde. Um ein Zertifikat zu bekommen, muss die Identität des zu zertifizierenden Objektes nachgewiesen werden. Zum Beispiel können sich Privatpersonen in Deutschland kostenlos beim TC Trustcenter (http://www.trustcenter.de) zertifizieren lassen, wobei es hier verschiedene Zertifikatklassen gibt, die sich nach dem Grad der Identifizierung (E-Mail-Adresse, Personalausweis) richten.


3.2.2 Wo werden Zertifikate benutzt?

Zertifikate werden z. B. in folgenden Bereichen eingesetzt:

-

Autorisierung für den Zugriff auf Ressourcen (Kapitel 3.3)

-

Authentifizierung von Client und Server bei einer SSL-Kommunikation (Kapitel 4.4)

-

Bei S/MIME, um den Client durch den Mailserver zu identifizieren

-

Objekt-Signierung. Diese Objekte können z. B. Java- oder JavaScript-Code von Webseiten, Software oder beliebige Dateien sein.

-

Identifizierung von CAs (Kapitel 3.2.4)


3.2.3 Bestandteile eines Zertifikats

In diesem Kapitel wird der Aufbau eines Zertifikats nach dem X.509-Standard dargestellt. Ein solches Zertifikat enthält die folgenden Datenfelder [NET98]:


Name

Erläuterung

Datensektion

 

Version

Versionsnummer des X.509-Standards, der von diesem Zertifikat unterstützt wird

Seriennummer

Diese Seriennummer identifiziert eindeutig das Zertifikat aus der Menge der von dem ausstellenden CA ausgestellten Zertifikate.

Informationen über den öffentlichen Schlüssel des Zertifikatinhabers

Diese Informationen enthält das benutzte Kryptosystem und den öffentlichen Schlüssel selbst.

DN des ausstellenden CAs

Die DN enthält Informationen, die den CA identifizieren.

Gültigkeitszeitraum

 

DN des Zertifikatinhabers

Die DN enthält Informationen, die den Zertifikatinhaber identifizieren.

Zertifikaterweiterungen

 

Signatursektion

 

Kryptosystem, mit dem der CA das Zertifikat signiert

 

Digitale Signatur des CA

Aus den Daten des Zertifikats wird ein Hash-Wert generiert und dieser mit dem öffentlichen Schlüssel des CA verschlüsselt.

Tabelle 1: Zertifikat nach dem X.509-Standard ([NET98])


Hier ein Beispiel für ein X.509-Zertifikat in einer für Menschen lesbaren Form [NET98]:

Certificate:
  Data:
    Version: v3 (0x2)
    Serial Number: 3 (0x3)
    Signature Algorithm: PKCS #1 MD5 With RSA Encryption
    Issuer: OU=Ace Certificate Authority, O=Ace Industry, C=US
    Validity:
      Not Before: Fri Oct 17 18:36:25 1997
      Not After: Sun Oct 17 18:36:25 1999
    Subject: CN=Jane Doe, OU=Finance, O=Ace Industry, C=US
    Subject Public Key Info:
      Algorithm: PKCS #1 RSA Encryption
      Public Key:
        Modulus:
          00:ca:fa:79:98:8f:19:f8:d7:de:e4:49:80:48:e6:2a:2a:86:
          ed:27:40:4d:86:b3:05:c0:01:bb:50:15:c9:de:dc:85:19:22:
          43:7d:45:6d:71:4e:17:3d:f0:36:4b:5b:7f:a8:51:a3:a1:00:
          98:ce:7f:47:50:2c:93:36:7c:01:6e:cb:89:06:41:72:b5:e9:
          73:49:38:76:ef:b6:8f:ac:49:bb:63:0f:9b:ff:16:2a:e3:0e:
          9d:3b:af:ce:9a:3e:48:65:de:96:61:d5:0a:11:2a:a2:80:b0:
          7d:d8:99:cb:0c:99:34:c9:ab:25:06:a8:31:ad:8c:4b:aa:54:
          91:f4:15
        Public Exponent: 65537 (0x10001)
    Extensions:
      Identifier: Certificate Type
        Critical: no
        Certified Usage: SSL Client
      Identifier: Authority Key Identifier
        Critical: no
        Key Identifier:
          f2:f2:06:59:90:18:47:51:f5:89:33:5a:31:7a:e6:5c:fb:36:
          26:c9
  Signature:
    Algorithm: PKCS #1 MD5 With RSA Encryption
    Signature:
      6d:23:af:f3:d3:b6:7a:df:90:df:cd:7e:18:6c:01:69:8e:54:65:fc:06:
      30:43:34:d1:63:1f:06:7d:c3:40:a8:2a:82:c1:a4:83:2a:fb:2e:8f:fb:
      f0:6d:ff:75:a3:78:f7:52:47:46:62:97:1d:d9:c6:11:0a:02:a2:e0:cc:
      2a:75:6c:8b:b6:9b:87:00:7d:7c:84:76:79:ba:f8:b4:d2:62:58:c3:c5:
      b6:c1:43:ac:63:44:42:fd:af:c8:0f:2f:38:85:6d:d6:59:e8:41:42:a5:
      4a:e5:26:38:ff:32:78:a1:38:f1:ed:dc:0d:31:d1:b0:6d:67:e9:46:a8:
      dd:c4

3.2.4 Kette des Vertrauens durch CA-Zertifikate

Abbildung 4: CA-Hierarchie ([NET98])


Jede Software, die mit Zertifikaten umgehen kann, hat eine Liste von Zertifikaten von CAs, denen sie vertraut. Sie vertraut somit auf die Korrektheit aller Zertifikate, die von diesen CAs ausgestellt wurden und werden. Nun kann es sein, dass große Organisationen, die als CA auftreten, die Ausstellung von Zertifikaten an untergeordnete CAs delegieren, z. B. weil die Anzahl der Zertifikate zu groß ist, um von einem einzigen CA verwaltet werden zu können oder weil verschiedene Länder oder Organisationseinheiten verschiedene Identifizierungsmechanismen bedingen. Auf diese Weise entsteht eine sog. CA-Hierarchie (Abbildung 4).

In dem Beispiel sieht man die Aufteilung der CAs nach Regionen und Organisationsformen. Die Zertifikate von CAs, die einem anderen CA direkt untergeordnet sind, werden durch den übergeordneten CA signiert. Zum Beispiel werden in Abbildung 4 die Zertifikate von dem Asia CA, dem Europe CA und dem USA CA von dem Root CA signiert. Das Zertifikat des an der Spitze der Hierarchie stehenden CAs (hier der Root CA) wird von dem Root CA selbst signiert. Vertraut eine Software einem bestimmten CA, so vertraut sie allen Zertifikaten, die von diesem CA ausgestellt wurden, also auch allen ihm untergeordneten CAs. Es kann z. B. sein, dass die prüfende Software nur dem Root CA vertraut, nicht aber der ausstellenden Stelle, dem Engineering CA. Damit die Software dem Zertifikat trauen kann, muss in der Hierarchie eine "Kette des Vertrauens" von dem Engineering CA zum Root CA existieren. Der Verifizierungsprozess läuft am unteren Ende der Kette beginnend in folgenden Schritten ab:

1.

Das überprüfende Programm prüft, ob die aktuelle Zeit, die sie aus der Systemuhr liest, in dem Gültigkeitszeitraum des Zertifikats liegt.

2.

Das überprüfende Programm besorgt sich das Zertifikat des ausstellenden CAs, entweder aus der lokalen Datenbank der vertrauenswürdigen CAs oder durch direkte Kontaktierung des übergeordneten CAs.

3.

Das Zertifikat wird mit Hilfe seiner digitalen Signatur und des öffentlichen Schlüssels des ausstellenden CAs überprüft (Kapitel 3.1.5).

4.

Wenn der ausstellende CA in der Datenbank der vertrauten CAs des Überprüfenden steht, ist die Gültigkeit des Zertifikats erwiesen. Andernfalls geht es zurück zu Schritt 1, wobei diesmal das Zertifikat der ausstellenden Stelle überprüft wird.

In der folgenden Abbildung ist die Kette vom Engineering CA zum Root CA dargestellt:



Abbildung 5: CA-Kette ([NET98])


3.2.5 Gesetzliche Rahmenbedingungen - Das deutsche Signaturgesetz

Das deutsche Signaturgesetz wurde 1997 im Artikel 3 des Gesetzes zur Regelung der Rahmenbedingungen für Informations- und Kommunikationsdienste (IUKDG) formuliert. Dessen Ziel ist es, eine Sicherheitsinfrastruktur aufzubauen, die eine Zuordnung von öffentlichen Schlüsseln zu ihren Besitzern ermöglicht und damit die Grundlage für elektronische Unterschriften von Dokumenten legt. In § 2 wird eine Bestimmung des Begriffs der digitalen Signatur vorgenommen. Demnach ist eine digitale Signatur "...ein mit einem privaten Schlüssel erzeugtes Siegel zu digitalen Daten, das mit Hilfe eines zugehörigen öffentlichen Schlüssels, der mit einem Signaturschlüssel-Zertifikat einer Zertifizierungsstelle oder der Behörde nach § 3 versehen ist, den Inhaber des Signaturschlüssel und die Unverfälschbarkeit der Daten erkennen läßt ... " ([SIG97]). Das Ausstellen der Zertifikate für Nutzer (z. B. Privatpersonen oder Unternehmen) übernehmen Zertifizierungsstellen, die von der zuständigen Behörde eine entsprechende Genehmigung erhalten haben. Die Zertifikate der Zertifizierungsstellen werden von der zuständigen Behörde signiert. In § 16 wird die Bundesregierung dazu ermächtigt, Gesetze zu erlassen, die nähere Einzelheiten zu Genehmigungsverfahren, Anforderungen an die Zertifizierungsstellen, die Signierung von Dokumenten usw. regeln.


3.3 Autorisierungsmethoden

3.3.1 Passwortbasierte Autorisierung

Abbildung 6: Passwortbasierte Autorisierung ([NET98])


Der Benutzer gibt seinen Namen und sein Passwort ein und sendet es über das Netzwerk an den Server. Anhand des Passworts authentifiziert der Server die Identität des Client und autorisiert den Client für den Zugriff auf die gewünschte Ressource. Der Client hat dafür Sorge zu tragen, dass er sein Passwort geheimhält. Ein häufiges Problem ist die Benutzung von sog. schwachen Passwörtern, also Passwörtern, die aus gebräuchlichen Bezeichnungen bestehen und durch geschicktes Raten oder mit Hilfe von elektronischen Wörterbüchern ermittelt werden können. Eine weitere Schwachstelle ist die Übertragung von Name und Passwort über das Netzwerk, die bei den gebräuchlichen Internetprotokollen auf der Verarbeitungsschicht (Kapitel 4.1) unverschlüsselt erfolgt. Natürlich muss auch der Webserver gegen unberechtigten Zugriff abgesichert sein.


3.3.2 Zertifikatbasierte Autorisierung

Abbildung 7: Zertifikatbasierte Autorisierung bei einer SSL-Verbindung ([NET98])


Abbildung 7 zeigt die Schritte bei einer zertifikatbasierten Autorisierung während einer SSL-Verbindung (Kapitel 4.4):

1.

Der Benutzer gibt sein Passwort ein, um den Client zu ermächtigen, auf einen seiner privaten Schlüssel zuzugreifen. Diese Schlüssel speichert der Client lokal in einer Datenbank.

2.

Der Client benutzt den privaten Schlüssel, um eine digitale Signatur von zufällig generierten Daten zu generieren (Kapitel 3.1.5), die während des Handshakes (Kapitel 4.4) Client und Server bekannt gemacht werden. Die digitale Signatur soll verhindern, dass eine Person ein ihr nicht gehörendes Zertifikat benutzt.

3.

Der Client sendet sein Zertifikat, die zufällig generierten Daten und die digitale Signatur an den Server.

4.

Der Server authentifiziert den Client durch die Überprüfung des Zertifikats (Kapitel 3.2.4) und der digitalen Signatur mit dem öffentlichen Schlüssel des Client, der im Zertifikat steht.

5.

Der Server überprüft, ob der Benutzer berechtigt ist, auf die verlangte Ressource zuzugreifen und gewährt ggf. Zugang.

Der potenzielle Schwachpunkt des Systems ist das Passwort des Client zum Zugriff auf seine privaten Schlüssel. Desweiteren ist der Server vor unberechtigtem Zugriff zu schützen.


3.3.3 Andere Methoden

Bei "Zero Knowledge"-Protokollen besitzt der Benutzer ein Geheimnis, mit dem er sich authentifizieren kann, ohne das Geheimnis dem Kontrolleur preisgeben zu müssen. Das bekannteste Zero-Knowledge-Authentifizierungsverfahren ist das von Feige, Fiat und Shamir ([SCH96]). Die zur Autorisierung und Authentifizierung benötigten Daten können auf einer Chipkarte gespeichert werden (Beispiele: Student Identity Card der Universität Leipzig, GeldKarte, CAFE (Kapitel 5.3)). Eine weitere Möglichkeit stellt die Heranziehung von charakteristischen biometrischen Merkmalen einer Person zur deren eindeutigen Identifizierung dar. Geeignete physiologische Merkmale sind z. B. das Aussehen des Gesichtes, der Hand oder der Fingerkuppen (Fingerabdruck). Daneben gibt es eindeutige Verhaltensmerkmale, z. B. die Stimme oder die Schreibbewegung.


3.4 Schema einer fälschungssicheren und vertraulichen Nachrichtenübertragung

Abbildung 8: Nachrichtenübertragung ([SET99])


Abbildung 8 zeigt eine sichere Kommunikation zwischen den beiden fiktiven Personen Alice und Bob. Alice will eine Nachricht an Bob schicken. In einer elektronischen Zahlungsumgebung übernimmt Alice die Rolle einer Kundin, die ihre Order- und Zahlungsinformationen an den Händler Bob übermitteln will. Es werden dazu die folgenden Schritte durchgeführt:


1.

Alice generiert aus den Originaldaten den Hash-Wert (Message Digest).

2.

Sie verschlüsselt den Hash-Wert mit ihrem privaten Schlüssel und erhält so die digitale Signatur (Kapitel 3.1.5).

3.

Alice generiert einen zufälligen symmetrischen Schlüssel und verschlüsselt mit diesem die Originaldaten, die digitale Signatur und ihr Zertifikat, in dem u. a. ihr öffentlicher Schlüssel steht (Kapitel 3.2) und erhält so die verschlüsselte Nachricht.

4.

Aus Bob's Zertifikat entnimmt Alice Bob's öffentlichen Schlüssel und benutzt ihn, um den in Schritt 3 generierten symmetrischen Schlüssel zu verschlüsseln. Es entsteht der sog. digitale Briefumschlag.

5.

Alice sendet die verschlüsselte Nachricht zusammen mit dem elektronischen Briefumschlag an Bob.

Bob empfängt die Nachricht wie folgt:

6.

Aus dem digitalen Briefumschlag entnimmt Bob den symmetrischen Schlüssel durch Entschlüsselung mit seinem privaten Schlüssel.

7.

Mit dem symmetrischen Schlüssel entschlüsselt Bob die Originaldaten, die digitale Signatur und das Zertifikat von Alice.

8.

Bob entschlüsselt Alice's digitale Signatur mit ihrem öffentlichen Schlüssel, den er aus dem Zertifikat erhält. Heraus kommt der Hash-Wert der empfangenen Daten.

9.

Bob generiert mit dem gleichen Algorithmus wie Alice aus den empfangenen Daten den Hash-Wert.

10.

Bob vergleicht seinen Hash-Wert mit dem aus Alice's digitaler Signatur. Stimmen beide Werte überein, dann weiß Bob, dass die Nachricht während der Übertragung nicht verändert wurde und dass sie mit Alice's privatem Schlüssel unterschrieben wurde. Stimmen die Hash-Werte nicht überein, stammt die Nachricht nicht von Alice oder sie wurde während der Übertragung verändert.

Die gezeigte Kommunikation erfüllt weitgehend die in Kapitel 2 aufgestellten Sicherheitsanforderungen:

-

Die Vertraulichkeit ist durch die Benutzung des symmetrischen Schlüssels gewährleistet, da dieser Schlüssel nur Alice und Bob bekannt ist.

-

Die Integrität der Daten kann mit Alice's digitaler Signatur überprüft werden.

-

Die Authentifizierung geschieht mit Hilfe der Zertifikate von Alice und Bob.

-

Die Autorisierung hängt vom konkreten elektronischen Zahlungssystem ab und kann z. B. mit einem der in Kapitel 3.3 vorgestellten Verfahren erfolgen.

-

Alice kann nicht abstreiten, die Nachricht gesendet zu haben, allerdings kann Bob den Empfang der Nachricht leugnen. Hier wäre ein Notariatsdienst notwendig, der bestätigen kann, dass die Nachricht Bob zugestellt wurde. In SET wird die Notarfunktion von dem sog. Acquirer wahrgenommen (Kapitel 5.1).




Inhaltsverzeichnis         Kapitel 1         Kapitel 2         Kapitel 3         Kapitel 4         Kapitel 5         Kapitel 6         Literaturverzeichnis