minpic01.jpg

Wie CyberCash funktioniert

Fürs Netz geprägt

Stephan Dresen, Thomas Dunne

Wie man digitale Waren auch digital bezahlen kann, damit beschäftigt sich das Pilotprojekt von deutschen Banken mit dem dreigestaffelten System des Unternehmens CyberCash. Neben CyberCoins erlaubt es Lastschriftverfahren und Kreditkartenzahlungen.

Unterthema: iX-TRACT
Unterthema: CyberCash: Banken plus Hersteller
Unterthema: Wenn die Geldbörse zum Fenster wird ...
Unterthema: Probleme mit CyberCash
Unterthema: Was sind CyberCoins?
Unterthema: ZUM WEITERLESEN

Geklaute Kreditkartennummern sind Geld wert. Diese im Internet auszuspähen war ein Sport für Hacker - doch seit einiger Zeit haben TrustCenter und SecureHTTP diesem `Studentenulk' den Kampf angesagt. Die CyberCash GmbH geht einen großen Schritt weiter. Mit einem in Amerika entwickelten Verfahren sichert sie die zum Bezahlen notwendigen Informationen durch verschiedene symmetrische und asymmetrische Verschlüsselungsalgorithmen. Das gesamte Cash-System besteht aus drei großen Teilen: Der Wallet des Kunden, dem CashRegister auf dem Server des Händlers und der CyberCash Gateway-Server als `Clearing-Stelle' dazwischen. Die kritischen Daten gelangen verschlüsselt vom Kunden über den Händler zum Gateway-Server der CyberCash GmbH. Die Übertragung geschieht auf einem vom HTTP getrennten Protokoll.

Das Verfahren hat seinen Ursprung im Kreditkartenwesen. An vielen Stellen werden diese Wurzeln deutlich: Auf dem Rechner des Kunden läuft die `CyberCash-Wallet', die virtuelle Brieftasche. Als Geldbeutel im traditionellen Sinne kann diese Software allerdings nicht bezeichnet werden, denn sie enthält kein Geld, sondern - wie inzwischen auch in der realen Welt häufiger üblich - nur noch `Personalausweis', Kredit-, Bank- und Geldkarte. Zwar schreibt die CyberCash GmbH in der Dokumentation zur Software, daß sich `CyberCoins' in der Wallet befinden, doch gemeint ist damit nur eine Art Kontostandsanzeige für ein Schattenkonto. Im Unterschied zum ecash-System von DigiCash haben CyberCoins nichts mit digitalen Münzen zu tun, sondern sie sind vielmehr eine Mischform aus Geld- und Bankkarte. Ein Artikel in einem der folgenden Hefte wird die beiden Micropayment-Verfahren miteinander vergleichen.

Drei Zahlungsverfahren

Neben der Authentisierung bietet die zur Zeit unter Windows 3.1x, 95 und NT 4 lauffähige Wallet-Software drei Zahlungsverfahren an: per edd (electronic direct debit, einer Art von Lastschriftverfahren), per Kreditkarte (MasterCard, Visa, American Express) oder über das bei der Bank eingerichtete Schattenkonto (CyberCoins).

Bevor ein Händler in seinem ersten CyberShop die Jalousien hochziehen kann, muß er in seinen Merchant-Server das `CashRegister' implementieren. Dabei handelt es sich um ein ganzes Paket aus verschiedenen Softwarebausteinen, die er zu einem funktionstüchtigen Shop zusammensetzen muß. Mit CGI kann er die Software an die bereits bestehenden Web-Seiten anbinden. Die Schnittstellen sind unter anderem in Perl geschrieben, gut dokumentiert und lassen sich an besondere Anforderungen anpassen. Doch das gesamte Gebilde `CashRegister' ist recht komplex. Erste Erfahrungen zeigen: Die Hotline von CyberCash wird beim Aufbau häufiger Bauaufsicht spielen müssen.

Für den fertigen Shop entstehen für den Händler - außer der Arbeitszeit - während des Pilotprojektes keine Kosten. Später im Vollbetrieb muß eine Anmeldepauschale von 350 DM bezahlt werden, hinzu kommen pro Transaktion Gebühren zwischen 1 bis 30 Prozent (30 % bei Micropayments). Das CashRegister ist wie die Wallet kostenlos verfügbar. Es besitzt drei große Schnittstellen: Es kann mit der Wallet des Kunden kommunizieren, mit dem Gateway-Server der CyberCash-GmbH und mit dem Händler und dessen Warenlager. Das CashRegister ist einem Point-of-Sale-System (POS) sehr ähnlich. Der Vorteil dieses Softwarepakets ist, daß es nicht unbedingt physikalisch auf dem Rechner des Händlers stehen muß. Für den größten Teil der Händler im bereits angelaufenen Pilotprojekt übernehmen die beteiligten Banken, zum Beispiel die Sächsische Landesbank, das Hosting des CashRegister. Auf diese Weise lösen sie elegant das Problem, daß die Software zur Zeit nur unter Sun Solaris 2.x und Windows NT läuft. Über 2/3 der Händler, alle mit Servern auf anderen Betriebssystemen (Linux, Ultrix, Irix), hätten sonst nicht am Pilotversuch teilnehmen können. Ein weiterer Vorteil, der sich aus dem flexiblen Konzept ergibt, ist, daß eine ganze Einkaufsstraße (virtuelle Shopping-Mall) mit einem einzigen CashRegister versorgt werden kann. Denn einmal implementiert, kann es von mehreren Online-Händlern gleichzeitig genutzt werden.

minpic02.jpg

Lotto spielen mit CyberCash: Circa 30 Händler und 5000 Bankkunden nehmen am Pilotprojekt teil. Im Internet zu finden sind erst sehr wenige Pilothändler (Abb. 1).

Die Aufgaben des CashRegister: Es autorisiert Transaktionen, erstellt elektronische Bestätigungen und bearbeitet Reklamationen. Den Kern der Software bildet aber eine automatische, unter anderem mit DES-Algorithmen (Data Encryption Standard) abgesicherte Verarbeitung der Kreditkarteninformationen. Da die Wallet des Kunden sie verschlüsselt zum Händler überträgt, bekommt dieser sie nie im Klartext zu sehen. Dazu dient ein DES (56 Bit) auf Basis eines zufällig generierten Transaktionsschlüssels und eine MD5-Prüfsumme, signiert mit dem privaten Schlüssel (1024 Bit) des Kunden. Beim Händler werden die verschlüsselten Angaben nur um seine Verkaufsdaten (Name des Shops, Ware, Preis, Datum) ergänzt und umgehend - wieder verschlüsselt - weitergeleitet zum CyberCash-Gateway-Server.

Top-secret: Kreditkartennummer

Neben diesen Funktionen hilft das CashRegister auch bei der Verwaltung des Shops: Es bietet die Möglichkeit, Kreditkartentransaktionen per Hand abzuwickeln. Der Händler kann einen Statusbericht von Transaktionen abfragen, und eine Datenbank hilft ihm bei der Buchhaltung. Durch das manuelle Eingreifen in Transaktionen ist es möglich, Bestellungen, die über Telefon, Fax oder EMail eintreffen, mit demselben System zu bearbeiten. Das alles geschieht, ohne daß die Kreditkarte dem Händler wirklich vorliegt.

Ein weiterer Baustein im Gesamtkonzept von CyberCash ist der Gateway. Über ihn laufen alle Transaktionen, egal mit welcher Methode der Kunde zahlt. Auf diesem Rechner liegt die gesamte Systemlogik vor. Das Gateway authentifiziert den Kunden und den Händler, nur hier können alle Nachrichten und die unterschiedlichen Datenpakete entschlüsselt werden. Dazu hat es sowohl den DES-Session-Key des Händlers als auch den des Kunden übertragen bekommen. Die nur für eine Transaktion gültigen Schlüssel werden, jeweils mit 1024 Bit RSA (ein Public-Private-Key-Verfahren) verschlüsselt, von Händler und Kunde zum Gateway-Server gesendet. Dieser dekodiert die beiden gemeinsam eintreffenden Datenpakete mit den Kaufinformationen (Kunden- und Händlerdaten). Er vergleicht daraufhin die Daten und gibt, wenn beide Informationen übereinstimmen, das `OK' für den Handel. Sollte der Kunde schummeln und in seiner Anweisung einen niedrigeren Kaufpreis angegeben haben als der Händler, dann verweigert der Gateway-Server die Transaktion.

minpic03.jpg

CyberCash unterstützt 3 Zahlungsarten: Kreditkarten, CyberCoins und edd (Lastschrift) (Abb. 2).

Bisher erfuhr der Händler beim Bezahlen mit Kreditkarte neben Name und Anschrift seines Kunden auch sämtliche Kreditkarteninformationen. Im CyberCash-Verfahren muß er bei Softgoods noch nicht einmal den Namen seines Kunden erfahren. Über allem wacht als eine Art `Clearing-Stelle' die CyberCash GmbH. Sie sammelt im Gateway-Server sämtliche Daten in Logfiles. Die dabei entstehenden Datenbestände sind nicht nur für Marketing-Experten Gold wert. Das Ganze ähnelt den Datensammlungen der großen Kreditkartengesellschaften.

Während diese zum Teil die Daten ihrer Kunden kommerziell nutzen, sicherte die CyberCash GmbH Deutschland auf Anfrage zu, daß es nicht geplant sei, diese Daten auszuwerten oder gar Dritten zu verkaufen. Die Daten würden wie im Bankverkehr üblich für einige Zeit gespeichert, um eventuell aufkommende Konflikte zwischen Kunden und Händler klären zu können, danach würden sie gelöscht.

Das Gateway kann in drei Bereiche unterteilt werden: Der Firewall- und Front-End-Pay-Server schützt vor Angriffen aus dem Internet. Er akzeptiert nur HTTP-Anforderungen, alle anderen lehnt er ab. Außerdem protokolliert er alle Zugriffsversuche. Diese Protokolle dienen der Schwachstellensuche. Außerdem sorgt der Front-End-Pay-Server dafür, daß alle Antworten an die richtigen Adressen und über das richtige Protokoll gesendet werden. Dazu werden die eingehenden Nachrichten geprüft und in ein geeignetes Format für die Core-Prozessoren umgesetzt. Entsprechend ihrem Inhalt werden die Anfragen an den jeweiligen Core-Prozessor weitergeleitet. Den zweiten Bereich bilden die Server-Core-Prozessoren. Dort steckt die gesamte Systemlogik. Jeder Bereich (Kunden, Händler) hat einen spezifischen Prozessor. Diese führen alle Systemfunktionen, wie etwa die Autorisierung der Wallet-ID, das Einbinden eines neuen Zahlungsmittels in eine Wallet oder eine Belastung vor. Außerdem unterhalten sie die dazu notwendigen Datenbanken. Der dritte Bereich ist der Backend-Prozessor, der die Kommunikation der Core-Prozessoren mit dem Banknetz beziehungsweise als Clearing-Gateway mit den Kreditinstituten ermöglicht.(bl)

STEPHAN DRESEN

ist Leiter des Internet-Servicecenter (dpunkt.netlab) der Hüthig Fachverlage und Webmaster des dpunkt.verlags.

THOMAS DUNNE

studiert Mathematik an der Universität Heidelberg und arbeitet als System- und Web-Administrator bei dpunkt.netlab.

Literatur
[1] Andreas Furche, Graham Wrightson; Computer Money, Internet- und Kartensysteme, ein systematischer Überblick; dpunkt.verlag, 1996

[2] Klaus-Peter Boden, Michael Barabas (Hrsg.); Internet - von der Technologie zum Wirtschaftsfaktor, Deutscher Internet Kongreß 1997; dpunkt.verlag, 1997

[3] Markus Stolpmann; Elektronisches Geld im Internet; Grundlagen, Konzepte Perspektiven; O'Reilly, 1997

[4] Stephan Dresen, Thomas Dunne; Elektronisches Geld; Penny Lane; Wie das ecash-Projekt der Deutschen Bank funktioniert; iX 12/97; S. 102 ff.

[5] Barbara Lange; Electronic Commerce; Mausklick-Preise; Abrechnung von Kleinstbeträgen im Internet; iX 1/98; S. 119 ff.

Kasten 1


iX-TRACT

Kasten 2

CyberCash: Banken plus Hersteller

Die CyberCash GmbH wurde am 7. Oktober 1997 als Joint-venture zwischen der amerikanischen CyberCash, Inc. (Reston/Virginia), und der Dresdner Bank AG sowie der Landesbank Sachsen gegründet. Die Firma mit Sitz in Frankfurt/Main versucht, auf dem deutschen Markt die von CyberCash in Amerika entwickelten und dort schon von 2000 Händlern eingesetzten Internet-Zahlungsinstrumente zu etablieren. Es steht in direkter Konkurrenz zu dem in den Niederlanden entwickelten DigiCash-Verfahren ecash, das die Deutsche Bank lizenziert hat und ihren Kunden in einem Pilotversuch seit Oktober letzten Jahres als Micropayment-System anbietet. Die CyberCash GmbH wird demgegenüber zunächst die Zahlungsvarianten CyberCoin, als System für Kleinstbeträge, sowie electronic direct debitting (edd), ein lastschriftbasiertes Zahlungsverfahren, auf den Markt bringen.

Im November/Dezember 97 begann die Einführungsphase. Zur Zeit läuft ein Pilotprojekt, an dem neben circa 30 Händlern zunächst bis zu 5000 Mitarbeiter und Privatkunden von Dresdner Bank und Sachsen LB teilnehmen können.

Offen im Einsatz hat die CyberCash-Software im Augenblick, soweit es im Internet auffindbar war, nur ein `Händler': Bei der Anzeigenannahme der SZ (Sächsischen Zeitung) erscheint der CyberCash-Button. Doch ein Klick auf diesen Knopf führte zu einem Bildschirm mit der Aufschrift: `Vorübergehende Störung'. Ab Ende Mai will die CyberCash GmbH ihre Dienstleistungen kommerziell anbieten. Ab dem 2. oder 3. Quartal 98 will sie ihr Angebot um Kreditkartenzahlungen ergänzen, die auf den von VISA und Mastercard initiierten Standard, SET Version 1.0 (Secure Electronic Transaction), basieren.

Kasten 3


Wenn die Geldbörse zum Fenster wird ...

Installationsprogramme sind wie Drogen - anders ist es nicht zu erklären, daß jemand freiwillig versucht, auf sechs Rechnern fast vier Stunden insgesamt 14mal die CyberCash Wallet zu installieren. Das Problem war, daß die Installation ständig mit einem schweren und gar nicht so seltenen `Ausnahmefehler' unter Windows 95 abbrach. Beim 15. Versuch wurde dann klar, woran es lag: Wer versuchte, die Börse in einem anderen Pfad als `c:\cyber' zu installieren, (also zum Beispiel einem Pfad, der Bestandteile enthält, die nicht der 8.3-DOS-Filenamenskonvention entsprechen), der verwirrte damit die Setup-Routinen derart, daß sie sich in einem blauen Bildschirm verflüchtigten.

Nach der Installation wird der neue Kunde durch insgesamt über 30 Wizard-Ebenen geführt, bis er alle nötigen Paßwörter, Identifikationen und Einstellungen eingeben hat. Die einzelnen Schritte sind selbsterklärend. Nachdem die Wallet dann etwas mühselig über eine `Maustastatur' (die Tastatur wird als Grafik dargestellt und muß durch Mausklicks bedient werden) mit allen Kontoinformationen gefüttert worden ist, kann man die Bank damit beauftragen, CyberCoins vom Girokonto auf ein Schattenkonto, das ebenfalls bei der Bank und nicht bei der CyberCash GmbH liegt, zu überweisen.

Der erste Buchungsvorgang ist für die Bank ähnlich wie das Einlösen eines Schecks, der auf eine andere Bank ausgestellt ist. Die Bank wartet dann oft mit der Gutschrift, bis die ausstellende Bank den Betrag überwiesen oder zumindest bestätigt hat. Beim ersten Laden der Wallet konnte dies bis zu sieben Tage dauern. In dieser Zeit erschien der `geladene' Betrag in der Wallet als `unbestätigt' und konnte noch nicht ausgegeben werden. Nach einer Entscheidung, die während der Recherche zu diesem Artikels getroffen wurde, fällt diese Wartezeit nun weg. Der Betrag wird sofort verfügbar, das Risiko übernimmt die Bank. Bei Einzahlungen mit Kreditkarte lag der Betrag grundsätzlich sofort in der Wallet bereit.

Bevor der neue Kunde die Wallet benutzen kann, muß er bei der Bank einen Kundenvertrag unterschreiben und seinen Personalausweis oder Paß vorlegen. Dies ist nicht über das Internet möglich. Erst nach dieser `Offline-Registrierung' wird sein Account freigeschaltet. Die Wallet-Software ist ein kritischer Teil des CyberCash-Verfahrens, daher wird ihre Version bei jeder Transaktion überprüft. Wenn Sie nicht mehr aktuell ist, erscheint ein Hinweis, die aktuelle Version vom Internet zu laden. Problematisch ist dabei, daß bisher noch kein Programm auf abgesichertem Weg geliefert wird, das die Wallet-Software über Prüfsummenbildung auf Echtheit testet. So ist es für geschickte Hacker möglich, eine `gefälschte' Wallet unterzuschieben und damit Kreditkartendaten und Paßwörter abzuhören. Zum Vergleich: Innerhalb des ecash-Projekts liefert die Deutsche Bank für ihre Wallet ein solches Testprogramm auf der CD mit.

Kasten 4


Probleme mit CyberCash

Die Deutsche Bundesbank hat die CyberCash-Software jüngst dem BSI (Bundesamt für Sicherheit in der Informationstechnik) zur Prüfung vorgelegt. Ergebnis war, daß die Entwickler noch einmal an ihrer Software nachbessern müssen. Das symmetrische DES-Verfahren mit 56 Bit sei nicht mehr `Stand der Technik', stellte das BSI fest. Es sei durch ein Tripple-DES (128 Bit) zu ersetzten. Außerdem sei die Paßwortlänge mit 6 Ziffern für die Wallet zu klein, es sollte eine Mindestlänge von 8 Ziffern vorgeschrieben werden.

Ein weiterer Kritikpunkt war der `MD5-Hash'. So wird die Kurzinformation (digest) genannt, die einer kryptographisch gesicherten `Prüfsumme' ähnlich ist und die die `gehashten' Daten widerspiegelt, die sicher und unverändert vom Kunden/Händler zum CyberCash Gateway-Server übertragen werden sollen. Auch da gäbe es inzwischen Besseres. 90 Prozent der Kommunikation innerhalb des CyberCash-Verfahrens laufen verschlüsselt ab, für Hacker wenig Ansatzpunkte.

Einzig die `invoice', also der erste Schritt einer anlaufenden Transaktion, wird unverschlüsselt übertragen. Doch kann das CGI-Script, das dabei aufgerufen wird, natürlich mit einem SSL-Web-Server sicher übertragen werden, außerdem bietet sich dort vermutlich wenig Angriffsfläche.

Kasten 5


Was sind CyberCoins?

CyberCoins sind keine elektronischen Münzen wie im ecash-Verfahren von DigiCash. Der Name steht für ein Anzeigefeld in der CyberCash-Wallet, das ständig den aktuellen Kontostand eines Schattenkontos widerspiegelt. Da die CyberCash GmbH keine Bank ist, müssen diese Schattenkonten, auf denen sich das Geld für die Händler befindet, bei der jeweiligen `echten' Bank liegen. Braucht ein Kunde Geld zum Einkaufen im Internet, dann muß er von seiner Wallet aus an den CyberCash-Gateway-Server den Auftrag geben, einen Betrag bis zu 40 DM auf sein Schattenkonto zu laden. Der Betrag wird mittlerweile sofort freigegeben.

Will der Kunde eine digitale Ware kaufen, signalisiert er diese Absicht per Mausklick, wählt CyberCoins und bekommt die gewünschte Ware digital übertragen. Sie ist verschlüsselt, das heißt gebrauchsunfähig. Den Schlüssel, mit der er die Software benutzen kann, erhält er erst am Ende der CyberCoin-Transaktion. Das Verschlüsseln mit dem von CyberCash mitgelieferten Programm ccarc durch einen DES-Algorithmus läßt die `Softgood'-Ware (egal ob komprimiert oder unkomprimiert) kaum größer werden. Ein Test hat gezeigt, daß ein geziptes 2 MByte-tar-Archiv nach der Verschlüsselung nur um etwa 1 KByte größer wurde.

Sollte es ein Hacker schaffen (was sehr unwahrscheinlich ist), den DES-Algorithmus zu knacken, dann könnte er sich alle angebotenen Waren laden und freischalten, ohne zu bezahlen. Um dem vorzubeugen, hat CyberCash das Verschlüsselungsprogramm im CashRegister so installiert, daß es in Zukunft leicht gegen eine neue Version ausgetauscht werden kann.

Natürlich ist es für den Händler am besten, erst nach vollständiger Bezahlung zu liefern. Aus Sicht des Kunden ist es aber ein `Vertrauensbeweis' des Händlers, die Software bereits vor dem vollständigen Abschluß des Zahlungsvorgangs zu bekommen. Wertvoll wird die Ware erst nach dem Bezahlen und der Lieferung des Schlüssels. So können auch größere Softwareprodukte geliefert werden, ohne daß der Händler fürchten muß, daß der Kunden verärgert wird, weil die bezahlte Ware auf Grund eines Zusammenbruchs der Leitung nicht vollständig angekommen ist. Der CyberCash-Gateway überweist das Geld erst, wenn auch der Schlüssel die Wallet des Kunden erreicht hat.

Hat der Kunde die verschlüsselte Ware bekommen, seine Wallet mit Paßwort geöffnet und die Zahlungsaufforderung des Händlers erhalten, bestätigt er die Angaben auf der Überweisungsaufforderung und gibt damit die Bezahlung frei. Daraufhin überträgt die Wallet die Zahlungsverkehrsdaten verschlüsselt und elektronisch unterschrieben an den Server des Händlers, dessen Softare fügt Informationen wie den Kaufpreis hinzu, kodiert das gesamte Paket, unterschreibt es elektronisch und schickt es an den CyberCash-Gateway. Dort werden die Daten entschlüsselt und miteinander verglichen.

Sind die Daten korrekt, wird der Rechnungsbetrag vom `Schattenkonto' (Sammelkonto) auf das `Schattenkonto' des Händlers übertragen. Der Händler erhält eine Bestätigung und sein CashRegister übermittelt diese weiter an den Kunden. Zusätzlich fügt es den Schlüssel hinzu, damit die Wallet automatisch das Produkt `auspacken' (decodieren) kann. Der Vorgang wird auf allen Komponenten mitgeloggt und dauert insgesamt nur 5 bis 7 s. Im Vergleich dazu dauert die Bezahlung per edd 10 bis 15 s und mit Kreditkarte (auf Grund des Clearings mit dem Kreditkarteninstitut) bis zu 20 s. Für den Händler muß nach einiger Zeit das Geld beim `Kassenabschluß' von seinem `Schattenkonto' gelöscht und per Überweisung auf sein Bankkonto gutgeschrieben werden.

Kasten 6


ZUM WEITERLESEN

Listings zu diesem Artikelhttp://www.dpunkt.de/ix/cyber.html
CyberCashhttp://www.cybercash.de
http://www.cybercash.com/
Sachsenlbhttp://www.sachsenlb.de/
Dresdner Bankhttp://www.dresdner-bank.de/f_firmen/b_office/c_cash/home.htm
dpunkt.Verlaghttp://ecash.dpunkt.de