Blind signatures: Difference between revisions
No edit summary |
No edit summary |
||
Line 60: | Line 60: | ||
• ''Bob'' versendet nun die bestellt Ware, gibt alle Daten der ''Bank'' und der entsprechende Betrag wird ihm gutgeschrieben |
• ''Bob'' versendet nun die bestellt Ware, gibt alle Daten der ''Bank'' und der entsprechende Betrag wird ihm gutgeschrieben |
||
''' |
|||
Eigenschaften des Protokolls''' |
'''Eigenschaften des Protokolls''' |
||
Die Anonymität von Alice gegenüber der Bank ist gewährleistet, denn die Bank kann aus den von Bob erhaltenen Daten nicht aus Alice schließen, d.h. die Bank weiß nicht, dass Alice bei Bobe Waren bestellt hat. |
Die Anonymität von Alice gegenüber der Bank ist gewährleistet, denn die Bank kann aus den von Bob erhaltenen Daten nicht aus Alice schließen, d.h. die Bank weiß nicht, dass Alice bei Bobe Waren bestellt hat. |
Revision as of 18:50, 5 July 2007
INItalic text BEARBEITUNG!!!
Zahlungssystem
Blinde Signaturen finden eine breite Anwendung in elektronischen Zahlungssystemen wie z.B. einem online Casino. Natürlich stellt sowohl der Betreiber des Casinos als auch der Benutzer gewisse Anforderungen an das System wie Kontrolle und Sicherung der Zahlung oder Fälschungssicherheit des elektronischen Geldes. Eine andere Anwendung von elektronischen Zahlungsmitteln könnte ein Internetshop wie Amazon sein. Dabei könnte man sich vorstellen, dass man sich im Vorfeld von der Bank elektronisches Geld holt (natürlich im Austausch gegen echtes Geld), um damit dann seine Waren zu bezahlen. Ein einfacher Ablauf könnte wie folgt aussehen :
In solch einem System ist es wünschenswert, dass der Zahler seine Anonymität wahrt, d.h. die Bank soll nicht wissen was er wann und bei wem gekauft hat. Dies ist in sofern wichtig, da die Gefahr besteht, dass die Bank ein Kundenprofil vom Kunden anlegt und ggf. die Daten dann gegen ihn verwendet (z.B. bei der Kreditvergabe). Desweiteren muss sichergestellt werden, dass die Echtheit des Geldes leicht verifizierbar ist, denn dies erleichtert die Transaktion für den Verkäufer und fördert Vertrauen. Außerdem soll es unter gewissen Umständen (z.B. Betrug) die Identität des Zahlers zurück zu verfolgen. Es ist zu beachten, dass die letzte Eigenschaft mit der Anonymität nicht in Konflikt steht.
Arten vom digitalen Geld
Digitale Münze
Hierbei handelt es sich um ein Onlineprotokoll, denn eine Münze trägt keine Identifikationsnummer, so dass jedes Mal die Bank die Echtheit der Münze verifizieren muss. Das führt zu einer hohen Netzlast und ist somit für den praktischen Großeinsatz eher nicht geeignet. Ein weiterer Nachteil dieser Münzen ist deren Anonymität, denn dies führt dazu, dass schmutziges Geld (aus Erpressungen, Geldwäsche) nicht mehr zurück zu verfolgen ist. Außerdem besteht ein Problem des Wechselgeldes, so dass ein Münzwert in der Praxis nicht ausreicht.
Digitale Schecks
Bei digitalen Schecks kann der Händler alle Schecks des Kunden sammeln und diese dann gebündelt bei der Bank einreichen, es handelt sich somit um ein Offlineprotokoll. Bei dieser Art vom elektronischen Geld ist ein Betrug des Kunden oder Händlers aufdeckbar. Natürlich muss außerdem sichergestellt werden, dass der Scheck gedeckt ist.
Protokoll von Chaum / Fiat / Naor
Definitionen
• Alice ist der Käufer, Bob der Verkäufer und die Bank ist für die Ausgabe bzw. Aufnahme der digitalen Geldes zuständig.
• Alice stellt zuerst ihre Person als eine Zahl I dar (z.B. ein Hashwert ihrer wichtigsten Daten)
• Sei R die Schecknummer (eine sehr lange Zufallszahl), von Alice erzeugt
• Seien (ai), (bi), (ci) gleichlange Zufallszahlenfolgen , von Alice erzeugt
• Sei h ein Hashfunktion (von der Bank vorgegeben) und xi = h(ai,bi) , yi = h(ai + I, ci) zwei Zahlenfolgen
Ablauf
• Alice erzeugt I, R, (ai), (bi), (ci)
• Die Bank übermittelt die Zahl N und die Hashfunktion h an Alice
• Alice bildet xi = h(ai,bi) , yi = h(ai + I, ci) und übermittelt N Schecks (verblendet) an die Bank, wobei jeder Scheck den Betrag, R, xi und yi enthält
• Die Bank wählt nun N-1 Schecks aus und erfragt die Blindfaktoren, (ai), (bi), (ci) bei Alice, nun kann die Bank auch prüfen, ob Alice wirklich die Wahrheit sagt
• Wenn alle N-1 Schecks in Ordnung sind unterschreibt die Bank den N-ten Scheck blind
• Nun kann Alice mit den unterschriebenen Scheck bei Bob bezahlen
• Bob kann die Unterschrift der Bank mit deren öffentlichen Schlüssel überprüfen
• Bob sendet nun eine N-Bit Zahlenfolge zi an Alice, die für jedes Bit entweder ai, bi und yi (falls zi = 1) oder (ai + 1), ci und xi (falls zi = 0) verrät
• Bob kann nun (xi) und (yi) errechnen und somit den Hashwert des Schecks prüfen
• Bob versendet nun die bestellt Ware, gibt alle Daten der Bank und der entsprechende Betrag wird ihm gutgeschrieben
Eigenschaften des Protokolls
Die Anonymität von Alice gegenüber der Bank ist gewährleistet, denn die Bank kann aus den von Bob erhaltenen Daten nicht aus Alice schließen, d.h. die Bank weiß nicht, dass Alice bei Bobe Waren bestellt hat. Ein Betrug kann aufgedeckt werden, denn wenn Alice mit der selben Münze zwei Mal bezahlt, dann kann die Bank Alice Identität mit großer Wahrscheinlichkeit herausfinden, denn es ist sehr wahrscheinlich, dass die beiden zi sich in einer Stelle unterscheiden. In diesen Fall ist der Bank sowohl ai als auch ai + I bekannt, so dass der Bank I bekannt ist. Dennoch hat das Protokoll einige Restprobleme, denn es besteht ein Sicherheitsrisiko bei weiteren beteiligten (kann durch Verschlüsselung beseitigt werden), die Netzbelastung ist relativ hoch und die Einnahmen von Bob sind nicht anonym, was aber bei Händlern auch nicht der Fall ist. Außerdem besteht das Wechselgeldproblem weiterhin.
Erweiterungen und Fazit
Das Protokoll müsste an die Praxis angepasst werden, denn es müsste mit mehreren Teilnehmern umgehen können. Außerdem ist eine Dezentralisierung und feinere Aufteilung wünschenswert, denn man hat in der realen Welt nicht nur eine zentrale Bank.
Nichtsdestotrotz sind blinde Unterschriften ein relativ neues Forschungsgebiet in der Kryptologie mit einem großen Zukunftspotenzial. Das Unterscheidungsmerkmal von andern z.B. total anonymen Protokollen ist die Sicherstellung und Kontrolle der Transaktionen trotz Anonymität. Diese Eigenschaft ist von besonderer Bedeutung für den Internetverkehr, denn sie deckt Betrügereien auf und macht den Internetzahlungsverkehr sicherer.