4. Electronic Cash

Aus den in diesem Vortrag vorgestellten Konzepten einer "Signatur" und einer "Hashfunktion" lassen sich bereits funktionierende eCash-Systeme entwickeln.

Zuvor seien jedoch die wünschenswerten Eigenschaften elektronischen Geldes zusammengefaßt:

Dies sind wünschenswerte Eigenschaften. In diesem Vortrag werden wir kein eCash-Verfahren vorstellen können, das allen diesen Forderungen genügt.

4.1 Das einfachste digitale Geld

Zum Einstieg in das Thema stellen wir zunächst ein ganz einfaches Verfahren für digitales Geld vor. Wir verwenden dabei die Begriffe "Zettel" und "aufschreiben", weil das Beispiel so anschaulicher wird; tatsächlich "digital" wird das Geld natürlich nur, wenn man eine elektronische Form der Nachrichtenspeicherung und -Übermittlung benutzt. Alle Protokolle funktionieren selbstverständlich auch papierlos.

Bei diesem simplen Verfahren tritt zunächst das Problem auf, daß Alice und Bob beliebig viele Kopien des Scheins anfertigen und ausgeben können. Die Bank muß also eine eindeutige "Seriennummer" einführen, die sie auf alle Scheine druckt.

Dadurch entstehen jedoch zwei neue Probleme:

4.2 Digitales Geld mit "Blinding Factor"

Der "Blinding Factor", den wir nun einführen wollen, ist eine erstaunliche Idee, die aber bei genauerem Hinsehen durchaus gut funktioniert. Wieder ziehen wir für unser Beispiel (genauer gesagt, ein Beispiel von David Chaum, dem Erfinder des "Blinding") Umschläge und Zettel heran, zu den mathematischen Grundlagen kommen wir später.

Diese Protokoll löst das Problem der Verfolgbarkeit; Alice kann nun ihr Geld ausgeben, ohne daß jemand später weiß, wo das geschah. "Offline-fähig" ist das neue Geld aber immer noch nicht, denn es ist nicht sichergestellt, daß Alice den gleichen Geldschein nicht mehrmals ausgibt. Auch Bob könnte das tun, und dann wäre nicht einmal klar, ob Alice oder Bob nun falsch spielen. Daher muß wie zuvor beim Bezahlen bereits die Bank gefragt werden, ob dieser Schein noch gültig ist.

4.3 Mathematische Erklärung des Blinding Factor

Legt man zur Verschlüsselung den asymmetrischen RSA-Algorithmus zugrunde, läßt sich das "Blinding" wie folgt mathematisch erklären:

Die Bank besitzt


Liebe HTML-Leser: Wenn das hier kaum leserlich scheint, weil die Exponenten nicht dargestellt werden, laden Sie bitte das entsprechende GIF-Bild!)

Verschlüsselt die Bank eine Nachricht m, so bildet sie üblicherweise md mod n und muß dazu natürlich die ursprüngliche Nachricht m im Klartext besitzen. Will Alice nun aber eine Nachricht von der Bank verschlüsseln lassen, ohne daß die Bank sie lesen kann, geht man so vor:

  1. Alice wählt eine beliebige Zahl k zwischen 1 und n. Dann verdeckt sie ihre Nachricht m durch
    t = mke mod n
  2. Die Bank verschlüsselt die verdeckte Nachricht t:
    td = (mke)d mod n
  3. Alice deckt td auf durch
    s = td/k mod n
  4. ...und sie erhält
    s = md mod n
(Zum Verständnis ist wichtig, daß gilt: (xe)d = x.) Alice besitzt also am Ende genau die Nachricht s, die sie auch erhalten hätte, wenn die Bank die ursprüngliche Nachricht m auf "normale Weise" mit Kenntnis des Klartexts verschlüsselt hätte; die Bank allerdings kann, da sie den "Blinding Factor" k nicht kennt, nicht sehen, was sie verschlüsselt.

4.4 Digitales Geld mit Schutz vor Mehrfach-Ausgabe

Zur Absicherung gegen das mehrfache Ausgeben desselben Geldscheins müssen wir zunächst ein neues Konzept einführen: Das sogenannte "Secret Splitting". Beim "Secret Splitting" wird eine Nachricht in beliebig viele einzelne Teile zerlegt und ist nur dann wieder lesbar, wenn man alle Teile besitzt. Dabei ist durch Kryptographie sichergestellt, daß man nicht, wie etwa bei einem zerissenen Blatt Papier, aus Teilen der Nachricht auf das Ganze schließen kann.

Wir sind nun an einem Punkt, an dem die "Papier-Analogie" nicht mehr hundertprozentig greift, weil inzwischen solche Datenmengen erzeugt werden müssen, daß niemand sie mehr auf einen Zettel schreiben kann; dennoch halten wir noch einmal daran fest.

Alice erzeugt für dieses Protokoll zunächst eine Information I, die ihre Identität verrät, z.B. "Ich bin Alice Ryder und wohne in der Bahnstraße 28 in 12345 Berlin". Mit einem Secret-Splitting-Protokoll erzeugt sie hieraus 10.000 mal ein Tupel (I1, I2)x. Kennt man zwei zusammengehörige I, kann man die Original-Information lesen; sonst nicht.



Zurück
Weiter