Transakcje finansowe przy użyciu elektronicznej gotówki

19.01.2011 - Sebastian Bala, Tomasz Wasilczyk
TrudnośćTrudnośćTrudność

Alicja dokonuje transakcji

Alicja wreszcie może oddać się rozkoszy kupowania. Idzie w tym celu ze swoją elektroniczną portmonetką do sklepu Stefana. Najpierw przekazuje Stefanowi parę $ (D_p,D^B_p) $. Urządzenie płatnicze Stefana generuje ciąg stu losowych bitów. Następnie dla każdego bitu o numerach $ i=1,\ldots,100 $, każe ujawnić zobowiązanie bitowe: $ R_{i,p} $ jeśli $ i $-ty bit był zerem, lub $ ID_A \oplus R_{i,p} $, jeśli $ i $-ty bit był jedynką. To, co ujawniła Alicja zostaje zapisane. Stefan zarówno potrafi policzyć $ h(R_{i,p}) $, $ h(ID_A \oplus R_{i,p}) $, jak i zweryfikować podpis $ D^B_p $, gdyż Bank publikuje na swojej stronie algorytmy obliczające $ h $ i $ Wer_B $. Zatem Alicja nie ma możliwości manipulacji przy banknocie cyfrowym. Jeśli to zrobi, to Stefan nie wyda jej towaru.

Stefan składa w Banku banknot cyfrowy Alicji

Stefan chcąc, aby suma na jego koncie powiększyła się o $ y $, pokazuje w Banku parę $ (D_p,D^B_p) $, oraz zobowiązania bitowe przedstawione przez Alicję przed zakupem. Stefan wie, gdzie znajduje się Bank, bo jest to napisane w $ D_p $. Bank sprawdza w swojej bazie, czy banknot o identyfikato­rze $ x $ nie został już złożony. Jeśli $ x $ jest bardzo długie, wtedy z bardzo małym prawdopodobień­stwem powstały kiedykolwiek dwa banknoty o takim samym identyfikatorze. W przypadku, gdy nie znaleziono takiego banknotu, Bank przelewa kwotę $ y $ na konto Stefana. Zapisuje w swojej bazie parę $ (D_p,D^B_p) $.

Krótka analiza własności

Podstawowym problemem pieniądza cyfrowego jest to, że można go bardzo łatwo skopiować. Nieuczciwa Alicja mogłaby zapłacić tym samym banknotem w sklepie Stefana i Henryka. Jed­nakże z bardzo dużym prawdopodobieństwem kasa fiskalna Henryka i Stefana wylosuje dwa różne stu-bitowe ciągi. Dla różnych ciągów istnieje taki bit, powiedzmy $ k $-ty z kolei, że $ k $-ty bit Ste­fana jest (bez straty ogólności) zerem, a $ k $-ty bit Henryka jest jedynką. Alicja, aby odebrać towar od obu, musi ujawnić jednemu $ R_{k,p} $, a drugiemu $ ID_A\oplus R_{k,p} $. Prawie nieuniknione jest też, że wkrótce po zakupach Stefan i Henryk zgłoszą się z ujawnionymi zobowiązaniami bitowymi do Banku. Bank wtedy sprawdzi, że kopia tego samego banknotu została złożona dwukrotnie. Po­nadto, każdy potrafi uzyskać wynik działania $ R_{k,p} \oplus ID_A \oplus R_{k,p} = ID_A $. Zatem tożsamość Ali­cji przestanie być anonimowa. Bank zapamiętał sobie wcześniej dane osoby, której przydzielił $ ID_A $. Teraz będzie mógł zgłosić prokuraturze doniesienie na Alicję o próbie oszustwa. Jeśli jednak Ali­cja pozostanie uczciwa, nie ulegając pokusie dwukrotnego wykorzystania tego samego banknotu, pozostanie anonimowa. Wynika to z tego, że po pierwsze Bank nie zna $ R_{k,p} $, a po drugie Bank nie jest w stanie powiązać identyfikatora banknotu z tożsamością Alicji, gdyż wartość $ x $ była przedstawiana w Banku wyłącznie jako składowa banknotu zabezpieczonego kopertą.

Bardzo uważny czytelnik zauważy, że przy pewnych warunkach jest możliwa zmowa Banku i Stefana. Stefan mógłby przyjść do skorumpowanego dyrektora Banku z wartościami $ R_{i,p} $ i $ H:=h(ID_A\oplus R_{i,p}) $. Po sprawdzeniu równości $ H=h(ID_T\oplus R_{i,p}) $ dla każdego $ ID_T $ wydanego przez Bank jest możliwe ustalenie tożsamości Alicji lub co najmniej wyodrębnienie kilku osób, wśród których znajduje się Alicja. Przed taką zmową można zabezpieczyć się używając schematu haszowania z dodatkowym ciągiem losowym, tak jak pisaliśmy o tym przed uproszczeniem.

Stefan mógłby wykorzystać możliwość kopiowania i wydać banknot wielokrotnie. Nie potrafi jed­nak poprawnie ujawnić zobowiązania innego, niż otrzymał od Alicji. Zatem niczego nie kupi za powielane pieniądze. Mógłby również zgłosić dwie kopie tego samego banknotu do Banku, ale Bank nie przyjmie drugiej i dalszych kopii. Co więcej, Bank może zwrócić zainteresowanie prokuratury na to, co robi Stefan.

5
Twoja ocena: Brak Ocena: 5 (2 ocen)

Copyright © 2008-2010 Wrocławski Portal Informatyczny

design: rafalpolito.com