Transakcje finansowe przy użyciu elektronicznej gotówki

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

Ślepe podpisy cyfrowe

Ślepe podpisy cyfrowe to drugi, obok zobowiązania bitowego mechanizm, który zostanie wyko­rzystany do pokazania, jak można zaprojektować pieniądze cyfrowe, tak aby posiadały własno­ści przydatne w procesie dokonywania transakcji. Aby podpis był ślepy, musi spełniać kilka wy­magań:

  • Po pierwsze, Alicja przygotowując dokument do podpisu, nie powinna być w stanie sa­ma go podpisać (ani nikt inny, jeśli podpis przynależy do Boba).
  • Alicja musi umieć przygotować do podpisu dokument w taki sposób, aby Bob po otrzy­maniu dokumentu mógł wygenerować pod nim podpis nie poznając treści dokumentu. Można to sobie wyobrażać jako zamkniętą kopertę, z dokumentem w środku, wysyłaną do Boba. W kopercie umieszczona jest kalka, pozwalająca skopiować na kartkę doku­mentu to, co napisze na niej Bob.
  • Nieautoryzowany dostęp do zawartości koperty powinien być niemożliwy. Można myśleć, że koperta powinna ulec samospaleniu, jeśli Bob spróbuje ją otworzyć. Oczywiście w cyfrowym świecie nie potrzebujemy samospalających się kopert, ponieważ dyspo­nujemy technikami kryptograficznymi -- użyjemy tutaj szyfrowanie z zaślepianiem, które praktycznie uniemożliwia nieautoryzowane otwarcie koperty.
  • Przed podpisaniem Bob powinien wiedzieć, że to co podpisuje pochodzi od Alicji.
  • Alicja nato­miast powinna umieć otworzyć kopertę bez żadnych niespodzianek, wyma­gających użycia ga­śnicy.
  • Jeśli będzie chciała kiedyś pokazać Bobowi kartkę niezapakowaną, Bob musi umieć stwierdzić, czy dokument był podpisany przez niego.
  • Dodatkowo, jeśli Alicja z pewnych powo­dów musiałaby pokazać Bobowi kopię dokumentu, Bob powinien posiadać umiejętność weryfi­kacji, czy koperta którą otrzymał wcześniej od Alicji zawierała kopię tego dokumentu, czy nie.

W świecie cyfrowym wszystkie te własności posiada schemat podpisu wymyślony przez Davida Chauma. Dokument to po prostu ciąg bitów, koperta odpowiada szyfrowaniu z zaślepianiem. Zainteresowany czytelnik może przeczytać o tym w artykule Agaty Murawskiej "Nie wiesz, co pod­pisujesz – protokoły ślepych podpisów".

Dla naszych potrzeb wprowadzimy oznaczenia mechanizmów opisanych dokładniej we wspomnianym artykule:

  • $ K(c,X) $ – dokument $ X $ umieszczony w kopercie $ K() $ z dodatkowym elementem $ c $,
  • $ K^B(c,X) $ – koperta podpisana przez Boba,
  • $ X^B $ – dokument z podisem Boba (już bez koperty),
  • $ Wer_B(Z) $ – procedura weryfikująca podpis Boba na dokumencie $ Z $, która odpowiada $ TAK $ wtedy, gdy podpis został złożony ręką Boba, w przeciwnym przypadku $ NIE $.

Element $ c $ będzie mieć znaczenie, gdy Alicja będzie chciała przekonać Boba, że do­kument $ X $ jest w $ K(c,X) $. Przed weryfikacją Alicja podaje $ c $ i $ X $, a Bob sprawdza. Bez $ c $ Bob nie jest w stanie niczego stwierdzić.

Aby przybliżyć znaczenie symboli zawartych w napisie $ K(c,X) $, opiszemy jak koperta $ K(c,X) $ jest zrealizowana na poziomie kryptograficznym. Otóż $ K(c,X) $ jest równe liczbie $ X\cdot c^e \mod n $. Para $ (n,e) $ jest kluczem publicznym Boba dla szyfrowania RSA. $ c $ to liczba służąca zaciemnieniu dokumentu $ X $, który w świecie kryptografii interpretowany jest jako liczba naturalna.

Załóżmy, że Bob otrzymał w chwili $ t_0 $ liczbę $ X\cdot c^e \mod n $. Kiedy Bob zechce sprawdzić zawartość koperty w chwili $ t_1 $ późniejszej od $ t_0 $, może popoprosić Alicję o ujawnienie zawartości koperty. Alicja prześle mu wtedy parę $ (c,X) $. Bob potrafi sprawdzić czy liczba przysłana przez Alicję w chwili $ t_0 $ jest równa $ X\cdot c^e \mod n $. Bob potrafi wykonać szybko takie obliczenia gdyż umie mnożyć, podnosić do potęgi oraz zna $ n $ i $ e $ (bo są to składowe jego klucza publicznego). Alicja natomiast ma niewielkie szanse oszukania Boba. Mogłaby wysłać Bobowi inny dokument $ Y $ ale wtedy musiałaby obliczyć $ c' $, które jest tekstem jawnym dla szyfrogramu $ Y^{-1}\cdot  X \cdot c^e $. Znalezienie takiego $ c' $ jest równoważne ze złamaniem RSA co uznaje się za trudne w praktyce.

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

Copyright © 2008-2010 Wrocławski Portal Informatyczny

design: rafalpolito.com