300 likes | 492 Views
Bezahlen im Internet: ecash & Geldkarte. Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de. Public Key Systems. Öffentlich: [e, n] Geheim: [d, n]. x =. ( ) d mod n. x. e mod n. Alice. Bob. enc B. enc B ( ).
E N D
Bezahlen im Internet:ecash & Geldkarte Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de
Public Key Systems • Öffentlich: [e, n] • Geheim: [d, n] x = ( )d mod n x e mod n
Alice Bob encB encB ( ) y Nachricht verschlüsseln encB decB x y := decB ( ) x :=
Alice Bob encA y Nachricht signieren decA encA decA( ) x y := encA( ) x :=
ecash • erfunden von David Chaum • Firma Digicash • Firma ecash-Technologies • Alice besorgt sich von der Bank blind signierte Münzen • Alice transferiert die Münzen zum Kaufmann • Der Kaufmann läßt sie bei der Bank gutschreiben
Bank Alice encBank Schecknr Blendfaktor encBank( ) x r s Münzen erzeugen mit blinder Signatur encBank decBank s := • decBank( ) z := z z = (x• re)d mod n = xd• red mod n = xd• r mod n y:= z / r = xd mod n = decBank(x) BelasteKonto von Alicemit 1,- DM
Kaufmann Alice y Ware Bank y Münzen ausgeben y encBank( ) encBank( ) x := In Liste der verbrauchtenSchecks eintragen Kaufmann 1,- DM gutschreiben OK !
ecash-Demo • 1998: Deutsche Bank bietet ecash an • 2001: Deutsche Bank stellt ecash ein. • http://pixelworld.plusline.de/usa-sf.html
ecash offline • Bank signiert nur Münze C, in denen sich mit hoher Wahrscheinlichkeit Alice‘ Identität befindet • Kaufmann1 befragt Alice zur Münze C und erhält Response R1 • Kaufmann2 befragt Alice zur Münze C und erhält Response R2 • Aus R1 und R2 errechnet die Bank die Identität von Alice
Alice Bank f(.) mod n Blinde Signatur mit Einwegfunktion f(.) mod n s := r3• f(x) mod n s z := f 1/3( ) mod n z y := z/r y = f 1/3( x ) mod n
Alice Bank Münzen erzeugen für offline ecash 2k mal: aj, bj, cj , rj Bj := rj3f (g(U aj,bj) , g(aj,cj) ) Wähle W {1,2,...2k} aj, bj, cj , rj für j W Teste, ob U eingearbeitet B :=Bj1/3 mod n jW B C := B/rj mod n jW = gj 1/3 jW
offline ecash ausgeben • Alice schickt Münze C zum Kaufmann • Kaufmann wählt Binärstring z := z1, z2, ..., zk • Kaufmann schickt z als Challenge an Alice • Alice liefert (U aj,bj) und g(aj, cj) falls j=0 g(U aj,bj) und (aj, cj) falls j=1 • Kaufmann schickt C und Alice Antwort an Bank • Bank verifiziert C und speichert z und Sequenz U aj bzw. aj • Eine weitere Challenge bzgl. derselben Münze Cliefert mit hoher Wahrscheinlichkeit für ein j ein zu zj komplementäres Bit • Damit verfügt die Bank über U aj und aj und kann die IdentitätUvon Alice errechnen.
electronic cash POZ Kreditkarte Geldkarte à la card PIN Online garantiert 0,3 % Unterschrift Online nicht garantiert 10 Pf Unterschrift Online garantiert 5 % Chip Batch garantiert 0,3 %
Spur 1: read only 79 • 6 Bit Konto-Nr, Name, ... Spur 2: read only 40 • 4 Bit Konto-Nr, Verfallsdatum,... Spur 3: read/write 107 • 4 Bit Fehlbedienungszähler 3 Offsets Ec-Karte
Bankleitzahl Kontonummer Kartenfolgenummer 12345678 1234567890 1 DES-Algorithmus mit Institutsschlüssel 56 Bit 3EA2B79853C41FD6 1217 Altes ec-PIN-Verfahren (eigenes Institut) Umwandlung in 4 Dezimalzahlen ohne führende Null PIN
Bankleitzahl Kontonummer Kartenfolgenummer 12345678 1234567890 1 DES-Algorithmus mit Poolschlüssel 56 Bit 21AF9C1234CD3976 0592 + 1725 = 1217 Pool-PIN Offset PIN Altes ec-PIN-Verfahren (fremdes Institut) Umwandlung in 4 Dezimalzahlen mit führender Null
Schwächen des alten ec-PIN-Verfahrens • Schlüssellänge • Gefährdeter Poolschlüssel • Fehlbedienungszähler auf Karte • Ungleichverteilung von PIN-Ziffern
Zweites, drittes, viertes Zeichen: Hex-Symbol 0 1 2 3 4 5 6 7 8 9 A B C D E F PIN-Ziffer 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 Erstes Zeichen: Hex-Symbol 0 1 2 3 4 5 6 7 8 9 A B C D E F PIN-Ziffer 1 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 Verteilung der PIN-Ziffern typische PIN [1] [0..5] [0..5] [0..5] 1 • 6 • 6 • 6 = 216 Möglichkeiten bei 3 Versuchen beträgt die Trefferwahrscheinlichkeit statt 1:3000 nur noch 1:72
Gerichtsurteile • Wer haftet bei Mißbrauch einer entwendeten Karte ? • Amtsgericht Darmstadt, 24.2.1989,Ingeborg Winter gegen Dresdner Bank:Der Sachverständige Pausch, an dessen Sachkunde das Gericht keinerlei Zweifel hat, hat bei einem Versuch, bei welchem ihm 7 verschiedene Scheckkarten mit 5 bekannten und zwei unbekannten Geheimnummern zur Verfügung standen, mittels eines Heimcomputers binnen 8,5 Stunden Rechnerzeit die Geheimnummer errechnen können. • Die Beklagte wird verurteilt, an die Klägerin 900 DM nebst 4% Zinsen zu zahlen.
Neues ec-PIN-Verfahren (ab 1997) • PIN-Generierung: • würfeln oder wählen • PIN-Verifizierung: • Kein Poolschlüssel mehr im Automat • Eingabe der PIN • Onlineverbindung zum Institutsserver • dort Triple-DES unter Verwendung von PIN, Kartendaten, 2 x 128 Bit-Schlüssel • Vergleich mit Referenzwert auf Karte • Fehlversuchszähler nicht mehr auf Karte
Chip 21 mm2 Geldkarte • CPU 8 Bit 3.5 MHZ • ROM 32 K Betriebssystem • EEPROM 16 K Anwendung (Geldkarte, Fahrausweis, ...) • RAM 1 K Arbeitsspeicher
Geldkarte: Konten • Zähler Karte aktueller Saldo • Girokonto Bank Karten-Nr, Pers-Daten • Schattenkonto Evidenzzentrale aktueller Saldo • Börsen- Bank Summe allerverrechnungs- KartensaldenKonto
Terminal Chipkarte x y x Challenge Response Zufallszahl x y := DESBANK ( ) ?= DESBANK ( ) Problem: alle Karten enthalten globalen Schlüssel BANK
Terminal Chipkarte k x x y Challenge Response mit lokalem Schlüssel Kartennummerk lokal := DESMaster( ) vorberechneter Schlüssellokal Zufallszahlx y := DESlokal ( ) ?= DESlokal ( )
Geldkarte: reklamieren • Karte merkt sich die letzten 3 Ladeaktionen • die letzten 15 Bezahlvorgänge • Nach Ablauf der Laufzeit kann Guthaben erstattet werden. • Nach Anforderung des Kunden darf die Evidenz-Zentrale den Saldo an die Bank melden. • Auch bei weißen Karten ist Erstattung möglich, da auch ein Schattenkonto geführt wird.
Cashmouse • zertifiziert vom ZKA • Java-fähiger Web-Browser • vorher Software installieren • zum Shoppen zur Web-Seite des Händlers • zum Zahlen zur Web-Seite des Händlerkartenservers • Java-Applet laden, Kommunikation in HTTP, SSL • http://www.scard.de/shop/sh.htm
C:/CashmouseProtokoll • 20.04.2001 13:21:33 Zahlung Gebucht: EUR 0,05 Rest: EUR 51,08 Empfaenger: Computop Buchungsdatensatz01D1 00 01 67 25 72 90 02 11 00 00 62 9D 80 00 0131 00 00 05 00 00 05 00 51 08 00 01 20 01 04 2013 20 04 14 15 E7 83 57 C1 1F C9 D4 0067 29 20 18 03 00 04 92 92 8D 03 12 00 10 01 0280 45 55 52 01 2A 00 01
Literatur • www.ecash-technologies.com • Chaum, Fiat, Naor Untraceable electronic cash, CRYPTO 1988 • S. Brands Electronic Cash, Chapter 44 in Handbook on Algorithms and Theory of Computation, 1998 • Dresen/Dunne Penny Lane, iX 12/1997 • Rankl/Effing: Handbuch der Geldkarten • Sparkassenverlag: Verfahrensbeschreibung zum Geldkarte-System • H.-B. Beykirch: Chipgeld iX, 12/1998