Next: 2 Biblioteka lib_eXnat
Up: 6 Implementacja
Previous: 6 Implementacja
  Spis rzeczy
1 Architektura systemu
W protokole anonimowych mikropłatności Wenbo Mao większość operacji sprowadza
się do składania częściowo ślepych podpisów cyfrowych lub podpisów cyfrowych
Schnorra. Protokół mikropłatności nie może zostać umieszczony w jednym miejscu
w kodzie aplikacji dokonującej tych płatności. Wynika to z tego, że między
początkiem a końcem transakcji następuje wiele operacji takich jak: żądanie
towaru, przekazywanie niewielkich kwot pieniędzy oraz przesyłanie zakupionego
towaru. Zatem realizacja bibliotek powinna umożliwiać właśnie taka ,,rozbitą''
implementację protokołu.
W mojej realizacji korzystam z trzech bibliotek dostarczanych z systemem Ocaml.
Są to nat, random i digest. Implementują one:
- nat -- operacje na dużych liczbach typu Nat.nat. Biblioteka pozwala na
częściową kontrolę nad wykorzystywaną pamiecią. Polega to na tym, iż
jawnie określa się czy należy utworzyć w pamięci obiekt reprezentujący dużą
liczbę i jaki jest jego rozmiar. Można również wypełnić obiekt określonymi
cyframi;
- random -- generator liczb;
pseudolosowych.
- digest -- między innymi funkcja haszująca MD5.
Na rysunku 6.1 przedstawiam schemat mojego rozwiązania. Najważniejszą
część projektu stanowi zestaw bibliotek: lib_eXnat, lib_format_cert i
lib_cert. Umożliwiają one realizację protokołu anonimowych mikropłatności
Wenbo Mao. Realizują one:
- lib_eXnat -- operacje na dużych liczbach, jest to znacznie
rozszerzony zestaw operacji udostępnionych przez biblioteke nat;
- lib_cert -- podpisy cyfrowe Schnorra, ślepe podpisy cyfrowe
Schnorra i częściowo ślepe podpisy cyfrowe;
- lib_format_cert -- konwertowanie typów jakimi posługują się
biblioteki lib_eXnat i lib_cert a napisami typu string.
Programy CA, bank, shop i user implementują cztery strony
protokołu Weno Mao. Komunikacja między nimi odbywa się przez gniazda protokołow
TCP/IP.
Rysunek 6.1:
Architektura bibliotek używanych w mikropłatnościach i aplikacji wykorzystujacej
protokół Wenbo Mao
|
Next: 2 Biblioteka lib_eXnat
Up: 6 Implementacja
Previous: 6 Implementacja
  Spis rzeczy
Piotr Kozieradzki
2003-05-16