• Nie Znaleziono Wyników

Bezpieczeństwo sygnatariuszy w komunikacji elektronicznej

N/A
N/A
Protected

Academic year: 2021

Share "Bezpieczeństwo sygnatariuszy w komunikacji elektronicznej"

Copied!
9
0
0

Pełen tekst

(1)

Spo³eczeñstwo informacyjne jest coraz bardziej uzale¿nione od wspó³czesnych technologii telekomuni-kacyjnych i systemów informatycznych. Wœród dobro-dziejstw, jakie nios¹ one dla ludzkoœci, trudno nie do-strzec, ¿e s¹ one tak¿e Ÿród³em nowych zagro¿eñ oraz narzêdziem wykorzystywanym przez œrodowiska prze-stêpcze, szczególnie terrorystyczne. Przyk³adem jest cyberterroryzm, rozumiany jako atak na informacjê komputerow¹, skutkuj¹cy u¿yciem przemocy wobec celów niewalcz¹cych1. Powszechnie wiadomo, ¿e wspó³czesne grupy terrorystyczne wykorzystuj¹ do pla-nowania i przeprowadzania ataków miêdzy innymi ta-kie techniki informatyczne jak steganografie, kana³y podprogowe czy systemy anonimizacji2. Te i wiele in-nych technik ochrony informacji stanowi¹ przyk³ady bardzo dynamicznie rozwijaj¹cej siê obecnie dziedziny nauki zwanej kryptologi¹. Jest ona oczkiem w g³owie nie tylko krajowych i miêdzynarodowych agencji bez-pieczeñstwa, lecz tak¿e œwiata przestêpczego i grup terrorystycznych.

Jednym z najbardziej zaawansowanych narzêdzi kryptograficznych wszechobecnych w komunikacji elektronicznej jest podpis cyfrowy3. Jest on wykorzy-stywany miêdzy innymi jako metoda potwierdzenia in-tegralnoœci danych, uwierzytelnienia podmiotów komu-nikacji elektronicznej, autoryzacji dostêpu do danych czy udowodnienie praw autorskich do wszelkiego ro-dzaju twórczoœci i wynalazczoœci na rynku us³ug elek-tronicznych4. Podstawowymi kryteriami przydatnoœci podpisu cyfrowego s¹ funkcjonalnoœæ i bezpieczeñ-stwo, którym poœwiêcona jest praca B. Ho³ysta i J. Po-myka³y5. W odniesieniu do funkcjonowania podpisu na polskim rynku obowi¹zuje Ustawa o podpisie elek-tronicznym z dnia 18 wrzeœnia 2001 roku. Jeszcze w tym roku ma byæ gotowa jej nowelizacja, która stwo-rzy warunki do upowszechnienia tego rozwi¹zania, a tak¿e umo¿liwi korzystanie z tzw. piecz¹tki elektro-nicznej6. Od pierwszego maja tego roku administracja pañstwowa ma ju¿ umo¿liwiæ przesy³anie podañ na elektronicznych formularzach. W tym artykule ak-centowane bêdzie g³ównie nie bezpieczeñstwo same-go schematu podpisu cyfrowesame-go, lecz bezpieczeñstwo jego sygnatariuszy. Taka perspektywa pokazuje nowe wyzwania (zazwyczaj niedostrzegalne w konwencjo-nalnych badaniach zagadnienia sygnatury cyfrowej) i nowe rozwi¹zania, którym w du¿ym stopniu

poœwiêco-na bêdzie dalsza czêœæ artyku³u. Punkt wyjœcia stano-wi¹ okolicznoœci sk³adania podpisu. Z informatycznego punktu widzenia efekt z³o¿enia podpisu dobrowolnego jest taki sam jak efekt z³o¿enia podpisu w warunkach wymuszenia (groŸba, szanta¿).

W niniejszej pracy autorzy wyka¿¹, ¿e w istocie tak byæ nie musi i, w szczególnoœci, omówiony zostanie nowy model podpisu cyfrowego, „wra¿liwy” na okolicz-noœci jego sk³adania. Zastosowanie odpowiedniego protoko³u mo¿e zwiêkszyæ bezpieczeñstwo sygnatariu-sza, a przede wszystkim ograniczyæ jego odpowiedzial-noœæ za skutki prawne z³o¿onego pod przymusem pod-pisu. Prezentowany tu pomys³ przypomina trochê ideê zastosowania kana³u podprogowego w podpisie cyfro-wym7. Jednak kontekst i realizacja s¹ zupe³nie inne, gdy¿ informacja o wymuszeniu dociera do zaufanej strony trzeciej w trakcie deszyfrowania podpisu. W tra-dycyjnym ujêciu kana³y podprogowe s¹ natomiast wy-korzystywane g³ównie jako Ÿród³o zagro¿enia ze stro-ny przeciwnika systemu (adwersarza)8.

Kolejny w¹tek bezpieczeñstwa sygnatariuszy podpi-su cyfrowego dotyczy problemu ich anonimowoœci. Podpisy anonimowe stosowane s¹ w przypadkach, gdy ujawnienie to¿samoœci podpisuj¹cego mo¿e byæ Ÿró-d³em jego zagro¿enia (np. ze strony przeciwników po-litycznych lub organizacji mafijnych), ale tak¿e dla za-pewnienia ochrony informacji w zwi¹zku z ustaw¹ o ochronie danych osobowych. Inspiracjê do wielu przemyœleñ w tym zakresie mo¿e stanowiæ praca Y. Desmedta i Y. Frankela9zwi¹zana z ogóln¹ koncepcj¹ demokracji w procesach wymiany i uwiarygodnienia in-formacji, a tak¿e wzajemnego zaufania podmiotów ko-munikacji. Rozpraszanie uprawnieñ (i odpowiedzialno-œci) indywidualnych podmiotów na grupy u¿ytkowników pozwala tworzyæ bezpieczne systemy podpisu, realizu-j¹c przy tym wymóg wy¿szego stopnia zaufania stron (sygnatariuszy), a tak¿e wy¿szej tolerancji na ewentu-alne b³êdy przypadkowe lub wynikaj¹ce z zamierzo-nych dzia³añ adwersarzy10. Szczególnie owocne s¹ tu zastosowania w ramach tzw. podpisów progowych i grupowych11 oraz sprawiedliwej wymiany informa-cji12. Zauwa¿my te¿, ¿e bezpieczeñstwo sygnatariuszy (w odró¿nieniu od ochrony danych osobowych lub przeciwdzia³ania szanta¿om, wy³udzeniom czy oszu-stwom) jest we wspó³czesnych transakcjach elektro-nicznych rozwi¹zywane czêsto za pomoc¹ tzw. œlepych Brunon Hołyst, Jacek Pomykała

Bezpieczeństwo sygnatariuszy

w komunikacji elektronicznej

(2)

podpisów13oraz œlepych podpisów grupowych14. Sto-sowane metody uwiarygodniaj¹ klienta (sygnatariusza) jako cz³onka pewnej grupy, chroni¹c jednoczeœnie jego profile lub dane osobowe przed nieuczciwoœci¹ innych u¿ytkowników systemu.

Szczególnie aktualnym zagadnieniem zwi¹zanym z bezpieczeñstwem sygnatariuszy jest ryzyko utraty (kradzie¿y lub zgubienia) ich prywatnego klucza. W ta-kim przypadku ³¹czy siê to z zagro¿eniem utraty „to¿-samoœci” sygnatariusza. Czêœciowym rozwi¹zaniem tego problemu s¹ tzw. forward secure signatures – schematy, które uniemo¿liwiaj¹ (w przypadku przejê-cia klucza prywatnego sygnatariusza) adwersarzowi podpisanie wiadomoœci „wstecz”. Realizacja takiego podpisu jest oparta na procesie (okresowej) aktualiza-cji klucza prywatnego sygnatariusza za pomoc¹ funkaktualiza-cji jednokierunkowej. Ogólny schemat podpisu, spe³niaj¹-cego takie wymagania, przedstawiony bêdzie w na-stêpnym rozdziale.

Celem tej pracy jest omówienie kluczowych idei i za-stosowañ praktycznych zwi¹zanych z bezpieczeñ-stwem sygnatariuszy – uczestników komunikacji elek-tronicznej. Zaproponowane koncepcje wymagaj¹ pew-nej formalizacji matematyczpew-nej, s³u¿¹cej sprecyzowa-niu wa¿nych pojêæ, bez których zrozumienie tematu mog³oby zostaæ bardzo utrudnione. Odpowiednie przy-pisy pozwol¹ jednak na dope³nienie i szersze rozwiniê-cie prezentowanych tu idei kryptograficznych.

Podpis aktualizowany

Ten typ podpisu zapewnia sygnatariuszowi (w odró¿-nieniu od standardowej sygnatury cyfrowej) czêœciowe bezpieczeñstwo w przypadku, gdy jego prywatny klucz zostanie skompromitowany (zaginiêcie, kradzie¿ lub przypadkowe ujawnienie). Mianowicie posiadacz skom-promitowanego klucza prywatnego nie bêdzie w stanie podpisaæ w imieniu w³aœciciela tych wiadomoœci, które pochodz¹ z okresu wczeœniejszego. Dok³adniej klucze prywatne do podpisu s¹ aktualizowane co pewien czas, w sposób jednokierunkowy, wiêc fa³szerstwo podpisu pod wiadomoœciami pochodz¹cymi z okresu poprzed-niego wymaga³oby odwrócenia funkcji „jednokierunko-wej”, co jest praktycznie niewykonalne. Nale¿y zauwa-¿yæ, ¿e taki podpis jest zupe³nie czym innym ni¿ sygna-tura elektroniczna z systemem znakowania czasu. Ta ostatnia jest technologicznie skomplikowana i wymaga kosztownej aktualizacji czasu w trybie on-line. Tutaj od-bywa siê ona co pewien okres zale¿ny od wymagañ przyjêtych dla podpisu. Szczególnie interesuj¹ca jest wersja wielopodmiotowa, w przypadku której grupa po-dejmuje decyzje o aktualizacji klucza. Poni¿ej autorzy omówi¹ szkicowo schemat podstawowy pochodz¹cy od M. Bellare’a i S. Miner15.

Autorzy artyku³u zak³adaj¹, ¿e dany jest multiplika-tywny homomorfizm jednokierunkowy ƒ, którego j-t¹ iteracjê oznaczamy przez ƒj, oraz funkcja haszuj¹ca H. Przyjmujemy, ¿e przeciwdziedziny dla ƒ i H to: grupa multyplikatywna G, w której problem logarytmu dys-kretnego jest trudny, oraz pierœcieñ Zq odpowiednio. Schemat podstawowy sk³ada siê z czterech algoryt-mów:

Algorytm generowania kluczy, który maj¹c na wej-œciu parametry publiczne daje na wyjwej-œciu parê kluczy: (s, ƒT(s)); tutaj sk = s jest kluczem prywatnym, nato-miast pk = ƒT(s) kluczem publicznym, gdzie T oznacza liczbê okresów aktualizacyjnych.

Algorytm aktualizacji kluczy, który maj¹c na wejœciu numer okresu i j-ty klucz prywatny ƒj(s) daje na wyjœciu numer kolejnego okresu i wartoœci kolejnej aktualizacji ƒ (ƒj(s)) = ƒj + 1(s).

Algorytm podpisywania, który maj¹c na wejœciu wia-domoœæ m i j-ty klucz prywatny daje na wyjœciu wartoœæ podpisu równ¹ sigj(m) = (m, ƒj(s)H(m, j)).

Algorytm weryfikacji podpisu, który dla pary: (pod-pis, klucz publiczny) = (sigj(m), ƒT(s)) daje na wyjœciu odpowiedŸ: akceptacja lub odrzucenie w zale¿noœci od tego, czy prawdziwa jest równoœæ:

ƒT-j(sigj(m)) = ƒT(s)H(m, j)= (pk)H(m, j).

Z uwagi na homomorficznoœæ f widaæ, ¿e poprawny podpis zawsze przechodzi weryfikacjê.

S³aboœci¹ tego schematu mo¿e byæ fakt, ¿e te same wiadomoœci podpisane w tym samym okresie daj¹ tê sam¹ wartoœæ podpisu. W niektórych okolicznoœciach takie w³asnoœci os³abiaj¹ bezpieczeñstwo sygnatariu-szy. Rozwi¹zaniem jest tu randomizacja podpisu pole-gaj¹ca na losowym wyborze parametru rj anga¿owane-go jednorazowo do podpisywania ka¿dej wiadomoœci. Odpowiednia modyfikacja dotyczy wtedy procesu aktu-alizacji:

[rjƒj(s), ƒT – j(rj)] → [rj + 1ƒj + 1(s), ƒT – j – 1(rj + 1)] oraz podpisywania:

sigj(m) = [m, rjƒj(s)H(m, j), ƒ

T – j(rj), j]:= [m, a, b, j].

Podpis [m, a, b, j] jest akceptowany wtedy i tylko wtedy, gdy:

(3)

W przypadku schematu grupowego cz³onkowie gru-py sk³adaj¹ swoje podpisy czêœciowe, które s¹ nastêp-nie ³¹czone w jeden bezpieczny podpis aktualizowany. Aby dostatecznie du¿a podgrupa ca³ej grupy (tzn. mo-cy t lub wiêkszej) mog³a wygenerowaæ podpis w imie-niu ca³ej grupy, sekret s powinien byæ rozdzielony bez-piecznie w systemie (t, n) progowym. Takie wymagania realizuje protokó³ Shamira dzielenia sekretu16, wyko-rzystuj¹cy dobrze znany wzór interpolacyjny Lagran-ge’a dla wielomianów.

Z uwagi na fakt, ¿e podzia³ Shamira jest addytywny, a w podpisie wykorzystujemy homomorfizm multiplika-tywny ƒ, nale¿y dokonaæ transformacji sekretu s do S = gs, gdzie g jest odpowiednio wybranym elementem z dziedziny homomorfizmu ƒ (maj¹cej strukturê grupy abstrakcyjnej). Wtedy w dowolnym podzbiorze B mocy ≥ t interpolacja nowego sekretu S jest multiplikatywna, tzn. S jest iloczynem U(i) dla i ∈ B, U(i) = gu(i), gdzie u(i) = uB(i) to odpowiedni udzia³ i-tego cz³onka grupy (zale¿ny od wyboru podgrupy B). Dalsze postêpowanie jest analogiczne jak w przypadku podpisu indywidual-nego. Podpis zrandomizowany czêœciowy dla i-tego cz³onka w okresie j-tym ma postaæ:

sig(i, j) = [m, rjƒj(Si), ƒT – j(rj), j].

Podpis z³¹czony (w podgrupie B) w okresie j ma wiêc postaæ:

sig(j) = [m, rjƒj(S), ƒT – j(rj), j], poniewa¿:

Szczegó³owo realizacja podpisu progowego aktuali-zowanego z homomorfizmem ƒ(x) = x2jest przedstawio-na w pracy M. Abdalla, S. Miner, C. Namprempre’a17.

Podpis szyfrowany weryfikowalny

Ten typ podpisu jest z powodzeniem wykorzystywa-ny w kontraktach cyfrowych. Wystêpuje w nim dwóch sygnatariuszy A, B oraz zaufana trzecia strona T (któ-ra mo¿e odgrywaæ rolê zarówno pasywn¹, jak i aktyw-n¹). Przyk³adowo strona A przekazuje swoje prawa au-torskie stronie B w zamian za okreœlon¹ kwotê pieniê¿-n¹.

W przypadku aktywnej roli T, np. w transakcjach p³atniczych, podpis zaszyfrowany mo¿e byæ podstaw¹ do zablokowania okreœlonych œrodków pieniê¿nych na koncie d³u¿nika lub wykonania przelewu z ich bloka-d¹ na koncie wierzyciela. W³aœciwy podpis jest wtedy

podstaw¹ albo do wykonania przelewu, albo do odblo-kowania odpowiednich œrodków na koncie wierzyciela. Czêœciej wykorzystywanym typem kontraktu jest kontrakt z rol¹ T dzia³aj¹c¹ w trybie off-line (tylko w przypadku koniecznoœci rozstrzygniêcia sporów po-miêdzy A i B). Mo¿liwe s¹ nastêpuj¹ce podstawowe scenariusze:

1. Sygnatariusze A i B postêpuj¹ uczciwie, tj. A wy-sy³a podpis zaszyfrowany pod zawieranym kon-traktem stronie B, nastêpnie B wysy³a w³aœciwy podpis do A i ostatecznie A w³aœciwy podpis do B. 2. Jedna ze stron wys³a³a podpis zaszyfrowany, nie otrzymuj¹c podpisu w³aœciwego strony drugiej. W takim przypadku przekazuje go do strony T wraz z oskar¿eniem przeciwnej strony.

3. Jeœli obie strony wysunê³y podobne oskar¿enia, strona T odszyfrowuje podpisy i przekazuje je od-powiednio stronom A i B.

( )

i∈B

f

j

U

i

⎜⎜⎝

⎟⎟⎠

∈B i j

U

i

f

(

)

= = fj(S).

Ryc. 1. Schemat graficzny pasywnej roli T Fig. 1. Model of T passive role

Ryc. 2. Schemat graficzny dla aktywnej roli T Fig. 2. Model of T active role

(4)

4. Jeœli jedna ze stron „milczy”, T uznaje oskar¿enie drugiej za uzasadnione i anuluje kontrakt powia-damiaj¹c o tym druga stronê.

Odnieœmy teraz przypadek aktywnej roli T do strony podpisuj¹cej A i strony weryfikuj¹cej B (ryc. 2). W kro-ku (3) weryfikro-kuj¹cy zwraca siê do T z ¿¹daniem odszy-frowania podpisu, a w kroku (4) T zatwierdza podpis (odszyfrowuj¹c odpowiedni kryptogram).

Fazy podpisu szyfrowanego weryfikowalnego

 Faza inicjalizacji

W tej fazie tworzona jest grupa addytywna, cyklicz-na G = (G,+,0) o elementach P, Q, R, w której problem obliczeniowy Diffie-Hellmana jest trudny18. Zak³adamy, ¿e istnieje wydajny algorytm A, który rozstrzyga, czy dwie pary (P, Q) i (P’, Q’) s¹ kodowane tym samym klu-czem s, tj. czy Q = sP wtedy i tylko wtedy, gdy Q’ = sP’ (nie znajduj¹c jednak wartoœci samego s). W praktyce do stworzenia grupy G z odpowiednim algorytmem A wykorzystuje siê istnienie iloczynu dwuliniowego:

e: G x G → G’ tj. przekszta³cenia o w³asnoœci:

e(aP, bQ) = e(P, Q)ab

gdzie G’ jest okreœlon¹ grup¹ multiplikatywn¹. Zauwa¿-my, ¿e wtedy algorytm rozstrzygaj¹cy po prostu spraw-dza, czy:

e(P, Q’) = e(Q, P’).

W dalszym ci¹gu ustalamy punkt P, bêd¹cy genera-torem grupy G, a zadanie trójki (G, A, P) koñczy inicja-lizacjê systemu.

 Faza generowania kluczy

Najpierw generowane s¹ dwie pary kluczy (prywat-ny, publiczny) dla zaufanej strony T(x, X), gdzie X = xP. Klucz prywatny x bêdzie wykorzystany przy deszyfro-waniu podpisu, natomiast publiczny X przy jego sk³a-daniu. W systemie opartym na to¿samoœci (ang. Id-ba-sed digital signature) dla sygnatariusza (o to¿samoœci Id) generowana jest para kluczy (publiczny, prywatny) = (Q, sQ), gdzie Q = Q(Id) jest elementem grupy G oraz publikowany jest odpowiedni klucz systemu s³u¿¹cy do weryfikacji podpisu Ppub= sP.

 Faza podpisywania

Sygnatariusz generuje dwa losowe parametry r, v ze zbioru q = |G|-elementowego {0,1,..., q-1} i oblicza

pod-pis pod wiadomoœci¹ m równy [m, R, V, W], gdzie R = rP, V = vP, W = rPpub + h(m, R)sQ + vX:= S + vX, gdzie X jest kluczem publicznym strony T, S jest sk³ad-nikiem odpowiedzialnym za w³aœciwy podpis sygnata-riusza, natomiast vX powoduje, ¿e podpis staje siê nie-czytelny, ale umo¿liwiaj¹cy sprawdzenie jego popraw-noœci.

 Sprawdzenie poprawnoœci podpisu

W tej fazie dowolny podmiot mo¿e na podstawie podpisu [m, R, V, W] i kluczy publicznych Ppub i Q stwierdziæ, ¿e podpis zaszyfrowany jest poprawny. W tym celu sprawdza, ¿e para (R + h(m, R)Q, W) jest kodowana tym samym kluczem co (P, sP) oraz para (P, vX) tym samym kluczem co (P, V). Poniewa¿ war-toœæ vX jest ukryta w wartoœci W, sprawdzenie odbywa siê w oparciu o w³asnoœæ dwuliniowoœci iloczynu e, tj. ¿e:

e(P, W) = e(P, S)e(P, vX) = e(Ppub, R + h(m, R)Q) ⋅ e(V, X).

Pierwszy czynnik jest odpowiedzialny za weryfikacjê podpisu w³aœciwego, a drugi za szyfrowanie podpisu kluczem publicznym strony T.

 Odszyfrowanie podpisu

W tej fazie istotn¹ rolê odgrywa strona T, która na podstawie podpisu [m, R, V, W] (stosuj¹c odpowied-ni klucz prywatny x) oblicza wartoœæ xV i udostêpodpowied-nia w³aœciwy podpis [m, R, S], gdzie S = W – xV odpowied-niemu weryfikuj¹cemu.

 Weryfikacja w³aœciwego podpisu

Dowolny podmiot przeprowadza weryfikacjê podpi-su [m, R, S] za pomoc¹ kluczy publicznych Ppubi Q, sprawdzaj¹c, czy para (R + h(m, R)Q, S) jest kodowa-na tym samym kluczem co (P, Ppub).

Podpis odporny na wymuszenia

Bezpieczeñstwo sygnatariusza wi¹¿e siê nie tylko z bezpieczeñstwem samego podpisu, lecz tak¿e z oko-licznoœciami, w jakich wykonywany jest podpis. Trady-cyjny schemat podpisu nie jest zale¿ny od okoliczno-œci, w jakich jest sk³adany: jego weryfikacja przebiega identycznie.

W wyj¹tkowych okolicznoœciach (groŸba, wymusze-nie, szanta¿) idea³em jest stworzenie podpisu, który zawiera implicite dowód, ¿e sygnatariusz dzia³a³ pod presj¹. Tak¹ informacjê mo¿na by uznaæ za ³ago-dz¹ca ewentualne skutki prawne takiego podpisu. Na-turalny pomys³, który narzuca siê w tej sytuacji, polega na zastosowaniu dwóch ró¿nych par kluczy (prywatny,

(5)

publiczny) stosowanych zale¿nie od okolicznoœci sk³a-dania podpisu (wymuszenie/dobrowolnoœæ).

Aby odpowiednie klucze publiczne nie zdradza³y tych okolicznoœci, sygnatariusz i weryfikuj¹cy powinni posiadaæ im tylko wiadomy sposób ustalenia, który z kluczy jest w danym momencie uznany za dobrowol-ny, a który za wymuszony. To mo¿e powodowaæ jednak pewne komplikacje zwi¹zane z kosztami obliczeniowy-mi stosowanego protoko³u. Rozwi¹zanie przedstawio-ne w dalszej czêœci pracy opiera siê na zakodowaniu informacji o okolicznoœciach jego wykonania (wymu-szenie/dobrowolnoœæ) raczej w „nadmiarowoœci” sk³a-danego podpisu, ni¿ wyborze odpowiedniego klucza prywatnego. Podpis zaszyfrowany nie zdradza jednak charakteru tej „nadmiarowoœci” dla nikogo poza zaufa-n¹ strozaufa-n¹ T. Gdy weryfikuj¹cy podpis zwraca siê do T z ¿¹daniem odszyfrowania podpisu, informacja o ewentualnym wymuszeniu podpisu zostaje przekaza-na przez ni¹ odpowiednim organom œcigania. Formal-ny opis odpowiedniego protoko³u wraz z dowodem je-go bezpieczeñstwa zosta³ przedstawiony w pracy J. Pomyka³y i T. Trabszysa19. W dalszej czêœci autorzy przedstawi¹ schemat podpisu odpornego na wymusze-nia zrealizowany w systemie opartym na to¿samoœci (ang. Identity-based cryptosystems).

Fazy podpisu odpornego na wymuszenia (ryc. 3)

W fazie inicjalizacji tworzony jest system (G, A, P). W fazie generacji kluczy zostaje obliczony i opubliko-wany klucz sP = Ppub s³u¿¹cy do weryfikacji podpisu, a sygnatariuszowi przydzielane s¹ dwa klucze: publicz-ny QIDoraz prywatny sQID. Jednoczeœnie zostaje wy-generowany sekret t wspó³dzielony przez sygnatariu-sza podpisu i zaufan¹ stronê T.

Faza podpisywania:

W odró¿nieniu od algorytmu podpisu szyfrowego sy-gnatariusz wybiera r, v i oblicza podpis [m, R, V, Z], gdzie R = rP, V = vP, Z = rPpub+ h(m, R)sQ + vX

S = rPpub+ h(m, R, V)D + vX.

Faza weryfikacji podpisu zaszyfrowanego Z prze-biega podobnie jak w schemacie podstawowym.

Faza deszyfrowania podpisu przez stronê T sk³ada siê z dwu czêœci: pierwszej, która polega na sprawdze-niu, czy w podpisie:

[m, R, V, Z]

zachodzi zwi¹zek V = tR (wtedy nastêpuje powiado-mienie o próbie wymuszenia) i drugiej polegaj¹cej na obliczaniu w³aœciwego podpisu:

S = Z – xV

i przekazaniu ¿¹daj¹cej stronie weryfikuj¹cej podpis. Faza weryfikacji w³aœciwego podpisu polega na sprawdzeniu, czy:

e(P, S) = e(Ppub, R + h(m, r)Q).

Podpis skumulowany

z łańcuchem pełnomocnictw

Ze schematem tego typu mamy do czynienia w przypadku delegowania uprawnieñ do podpisywania w imieniu w³aœciciela na jego pe³nomocnika lub grupê pe³nomocników. Bezpieczeñstwo pe³nomocnika lub w³aœciciela podpisu dotyczy tu z jednej strony szeroko rozumianej niepodrabialnoœci podpisu jakiegokolwiek sygnatariusza przez kogokolwiek innego (w tym w³a-œciciela delegowanego pe³nomocnictwa lub innych pe³-nomocników), z drugiej niezaprzeczalnoœci, która oznacza, ¿e jeœli sygnatariusz wykona³ podpis, to nie bêdzie móg³ póŸniej temu zaprzeczyæ. Poni¿ej autorzy zaprezentuj¹ rozszerzenie podpisu pe³nomocnicze-go20 na iteracjê (³añcuch) pe³nomocnictw z wykorzy-staniem podpisu skumulowanego21. Idea odpowied-niego podpisu skumulowanych pe³nomocnictw jest na-stêpuj¹ca:

Deleguj¹cy pe³nomocnictwo U0 przekazuje pe³no-mocnictwo sygnatariuszowi U1, ten z kolei U2 itd. (w praktyce schemat mo¿na zmodyfikowaæ tak, aby Ui, i = 1, 2,... by³y grupami pe³nomocników). Za³ó¿my te-raz, ¿e pe³nomocnik Unzamierza podpisaæ wiadomoœæ m. Aby podpis by³ wiarygodny, Unmusi udowodniæ, ¿e istnieje ³añcuch pe³nomocnictw L(0, 1), L(1, 2),..., Ryc. 3. Graficzny schemat omówionych faz podpisu

(6)

L(n – 1, n) autoryzowany przez kolejnych pe³nomocni-ków a¿ do n – 1. Odpowiednie pe³nomocnictwa to bê-d¹ wiadomoœci m(i, i + 1), i = 0,1,..., n – 1 podpisywa-ne przez odpowiednich sygnatariuszy, a z³o¿enie tych podpisów w jeden (akumulacja) bêdzie wartoœci¹ pod-pisu skumulowanego.

Opis schematu

Dany jest w³aœciciel podpisu U0i grupa pe³nomocni-ków {U1, U2,..., Un}. W systemie (G, A, P) ka¿dy sy-gnatariusz U posiada parê kluczy (certyfikowanych):

sk(U) = skii pk(U) = pki.

Podpis skumulowany pod wiadomoœci¹ m ma po-staæ:

[m, pk0, m(0,1), m(1,2),..., m(n – 1, n), sig0+...+ sign] gdzie:

sigi = skiH(m(i, i + 1)) i = 0, 1, ..., n – 1 sign = sknH(m)

m(i, i + 1) = (pki, pki +1, L(i, i + 1)).

Weryfikacja podpisu wykorzystuje w³asnoœæ dwuli-niowoœci iloczynu e i polega na sprawdzeniu, czy:

e(P, sig0+ ... + sign) = e(pk0, H(m(0,1))e(pk1, H(m (1,2)) ... e(pkn, H(m)).

Podpis anonimowy grupowy

Podpis tego rodzaju dotyczy relacji typu sygnata-riusz – grupa. Bezpieczeñstwo sygnatasygnata-riusza zale¿y od zaufania do menad¿era grupy, który ma mo¿liwoœæ zniesienia anonimowoœci sygnatariusza w szczegól-nych okolicznoœciach (ang. revoking the anonimity). W dalszej czêœci omówiony zostanie dok³adniej taki schemat.

Opis systemu

Dana jest grupa G = {U1, ..., Un} oraz jej mena-d¿er M. Celem jest stworzenie systemu podpisu anoni-mowego w imieniu grupy G, sk³adanego przez dowol-nego cz³onka grupy G (sygnatariusza). Anonimowoœæ sygnatariusza powinna byæ niepodwa¿alna i jedynie w wyj¹tkowych okolicznoœciach (podejrzenie o prze-stêpstwo) mo¿e zostaæ ujawniona w oparciu o informa-cje posiadane przez menad¿era M. W fazie inicjalizacji systemu tworzona jest trójka (G, A, P) (patrz rozdzia³ Podpis szyfrowany weryfikowalny). Faza generacji klu-czy jest dwuetapowa. Najpierw zaufana trzecia strona generuje (certyfikowane) pary kluczy

d³ugotermino-wych dla menad¿era (sk(M), pk(M)) oraz sygnatariuszy U ze zbioru G postaci:

(sk(U), pk(U)) = (s, sP).

Nastêpnie sygnatariusz tworzy okreœlon¹ liczbê par kluczy jednorazowych dla losowych wartoœci x postaci:

(xs, xsP)

wykorzystywanych do jednorazowych podpisów. Jako dowód powi¹zania klucza publicznego jednorazowego xsP z kluczem publicznym d³ugoterminowym sP sy-gnatariusz przedstawia menad¿erowi wartoœæ xP. Me-nad¿er sprawdza, czy pary (sP, xsP) oraz (P, xP) s¹ kodowane tym samym kluczem. Jeœli tak jest, to certy-fikuje jednorazowy klucz publiczny xsP swoim podpi-sem postaci:

sk(M)H(xsP),

gdzie H jest odpowiedni¹ bezpieczn¹ funkcj¹ haszuj¹-c¹. Podpisany certyfikat jest dalej u¿ywany przez sy-gnatariusza do wygenerowania podpisu grupowego pod wiadomoœci¹ m postaci:

sig(m) = [m, xsH(m), xsP, sk(M)H(xsP)]. Weryfikacja podpisu polega na sprawdzeniu, czy pary [H(m), xsH(m)] i [P, xsP] s¹ kodowane tym samym sekretem.

Zniesienie anonimowoœci sygnatariusza polega na upublicznieniu przez menad¿era wartoœci xP, która pozwala stwierdziæ, ¿e klucz publiczny jednorazowy xsP zawarty w odpowiednim certyfikacie sygnatariusza odpowiada kluczowi publicznemu d³ugoterminowemu sP.

Bezpieczeństwo podpisu grupowego

Podstawowe wymagania bezpieczeñstwa podpisu grupowego to:

 niepodrabialnoϾ,  anonimowoϾ,

 mo¿liwoœæ zniesienia anonimowoœci przez mena-d¿era.

Ostatni wymóg jest konsekwencj¹ tego, ¿e klucz d³ugoterminowy sP odpowiada kluczowi jednorazowe-mu xsP (dziêki kluczowi weryfikacyjnejednorazowe-mu xP).

Niepodrabialnoœæ podpisu xsH(m) przez nikogo po-za posiadaczem klucpo-za s lub klucpo-za x wynika z nastê-puj¹cej uwagi. Niech H(m) = aP, gdzie losowe a jest sy-mulowane przez wyroczniê obliczaj¹c¹ wartoœæ funkcji haszuj¹cej H. Maj¹c dostêpne dane publiczne: P, sP,

(7)

xP, xsP oraz H(m) = aP, próbujemy podrobiæ podpis xsaP. Mo¿liwe drogi s¹ nastêpuj¹ce:

P, aP, sP, xP→ xsaP lub

P, sP, xsP→ xsaP.

Ka¿da z nich napotyka jednak trudny problem obli-czeniowy Diffie-Hellmana, na którym bazuje bezpie-czeñstwo ca³ego systemu.

Anonimowoœæ z kolei oznacza, ¿e nikt poza mena-d¿erem grupy nie jest w stanie obliczyæ xP, maj¹c na wejœciu dane: P, aP, sP, xsP, xsaP. Warto zauwa-¿yæ, ¿e nie zmniejszaj¹c ogólnoœci mamy dwie drogi obliczenia xP:

P, sP, xsP, → xP, P, aP, sP, xsaP, → xP.

Ka¿da z nich napotyka problem nastêpuj¹cy: maj¹c dane P, aP, bP, gdzie b jest wielokrotnoœci¹ a, obliczyæ wartoœæ b/a P. Podstawiajc Q = a-2P, widaæ, ¿e problem (P, aP, bP, abP) redukuje siê do problemu (Q, a{-1}Q, ba{-2}Q, ba{-1}Q = baP). Powy¿sza redukcja pokazuje, ¿e obliczenie klucza weryfikacyjnego xP w oparciu o da-ne publiczda-ne jest praktycznie niemo¿liwe.

Podpis anonimowy skumulowany

Schemat ³¹czy w sobie idee podpisu grupowego i skumulowanego. Sygnatariusze reprezentuj¹ grupy U1, U2, ..., Uno menad¿erach M1, ..., Mnodpowiednio. Dowolny cz³onek podpisuje wiadomoœæ mi w imieniu grupy Ui. Aby ca³kowity podpis by³ wa¿ny, co najmniej jeden sygnatariusz z ka¿dej grupy musi wykonaæ odpo-wiedni podpis czêœciowy (autoryzowany przez mena-d¿era):

[mi, sixiP, sk(Mi)H(sixiP)] = [mi, pk(xi), sigi]. Otrzymane (anonimowe) podpisy czêœciowe s¹ na-stêpnie ³¹czone w jeden podpis skumulowany postaci:

[m, pk(x), sig], gdzie:

pk(x) = (pk(x1), ..., pk(xn)) m = (m1, ..., mn) sig = sig1+ sig2+ ... + sign.

Weryfikacja podpisu polega na sprawdzeniu równo-œci:

e(P, sig) = e(pk(x1), H(m1))e(pk(M1), H(x1s1P)) e(pk(x2), H(m2))e(pk(M2), H(x2s2P))... ...e(pk(xn), H(mn))e(pk(Mn), H(xnsnP)). Bezpieczeñstwo schematu wynika z bezpieczeñ-stwa podpisu grupowego oraz bezpieczeñbezpieczeñ-stwa podpi-su skumulowanego. Przyk³adem demonstruj¹cym wa¿-ne zastosowanie anonimowego podpisu skumulowa-nego jest system kontroli uprawnieñ do korzystania z zasobów baz danych. U¿ytkownicy maj¹ prawo do zachowania swojej anonimowoœci wobec zarz¹dcy grupy, zachowuj¹c swoje przywileje wydane przez nie-go dla wybranych grup (roli). Dok³adniej administrator udziela pozwolenia na dostêp do danych (w ramach okreœlonego profilu), jeœli na losowej wiadomoœci (we-zwaniu generowanym przez system) sygnatariusz wy-kona poprawny podpis czêœciowy oraz dodatkowo upo-wa¿nienie micz³onka innej grupy Uido podpisu w imie-niu grupy Ui. Upowa¿niaj¹cy za³¹cza z kolei podpis pod wiadomoœci¹ mjpotwierdzaj¹c¹ jego uprawnienie od cz³onka innej grupy Ujitd. Jeœli tak skonstruowany ³añcuch upowa¿nieñ prowadzi do upowa¿nienia wyda-nego przez zarz¹dcê systemu, to podpis skumulowany zostaje zweryfikowany pozytywnie.

Szyfrowany weryfikowalny

podpis anonimowy

Zaprezentowane zostan¹ teraz nowe propozycje podpisu cyfrowego, który mo¿e znaleŸæ zastosowanie w kontraktach elektronicznych zawieranych przez ano-nimowe podmioty z grup zarz¹dzanych przez odpo-wiednich menad¿erów. Menad¿er odgrywa w tym wy-padku przede wszystkim rolê zaufanej trzeciej strony, a dodatkowo mo¿e znieœæ anonimowoœæ odpowiednie-go podmiotu podpisuj¹ceodpowiednie-go kontrakt. Zatem sygnata-riusze pozostaj¹cy miêdzy sob¹ w relacji anonimowo-œci sk³adaj¹ podpisy zaszyfrowane (kluczami publicz-nymi swoich menad¿erów), których poprawnoœæ ka¿dy z nich mo¿e zweryfikowaæ. Ostatecznie kontrakt zosta-je (opcjonalnie) uprawomocniony przez menad¿erów odpowiednich grup, którzy, jeœli zachodzi taka potrze-ba, odkrywaj¹ równie¿ to¿samoœæ odpowiednich pod-miotów.

Opis schematu

 Inicjalizacja systemu

Tworzona jest trójka: (G, A, P) (patrz rozdzia³ Pod-pis szyfrowany weryfikowalny).

(8)

 Generowanie kluczy

Generowane s¹ pary kluczy (certyfikowanych) dla menad¿erów (pk(Mi), sk(Mi)), i = 1, 2 oraz dla sygnata-riuszy (si, siP). Nastêpnie ka¿dy cz³onek grupy generu-je parê generu-jednorazowych kluczy:

(xisi, xisiP)

a odpowiedni klucz weryfikacyjny xiP przekazuje swo-jemu menad¿erowi.

 Faza podpisywania

Dla danej wiadomoœci sygnatariusz ka¿dej grupy oblicza podpis zaszyfrowany:

[m, pk(xi), viP, sigi], gdzie:

pk(xi) = xisiP, sigzi= xisiH(m) + sk(M)H(pk(xi)) + + visk (Mi)P, i = 1,2

który przekazuje swojemu kontrahentowi.  Faza weryfikacji

Kontrahenci weryfikuj¹ podpisy zaszyfrowane sprawdzaj¹ce, czy:

e(P, sigzi) = e(pk(xi), H(m))e(pk(xi), pk(Mi)) e(viP, pk(Mi)), i = 1, 2

Jeœli weryfikacja zaakceptuje podpisy, s¹ one prze-kazywane menad¿erom odpowiednich grup, którzy ob-liczaj¹ w³aœciwe podpisy postaci:

sigi= sigzisk(Mi)viP, i = 1, 2

przekazuj¹c je odpowiednim kontrahentom, którzy przeprowadzaj¹ ich ostateczn¹ weryfikacjê sprawdza-j¹c, czy:

e(P, sigi) = e(pk(xi), H(m))e(pk(xi), pk(Mi)), i = 1, 2. Odpowiedni protokó³ kryptograficzny z formaln¹ analiz¹ bezpieczeñstwa jest opisany w pracy J. Pomy-ka³y i T. Trabszysa22.

Podpis pierścieniowy

Podpis pierœcieniowy jest rodzajem podpisu gwa-rantuj¹cego pe³n¹ anonimowoœæ sygnatariuszy23. W tym przypadku dowolny cz³onek grupy (np. stworzo-nej ad hoc) mo¿e, bez ryzyka identyfikacji, podpisaæ dowoln¹ wiadomoœæ w imieniu grupy. Co wiêcej pozo-stali cz³onkowie grupy mog¹ nawet nie wiedzieæ o

sa-mym fakcie wygenerowania podpisu przez jednego z jej cz³onków. W takiej sytuacji maj¹ jedynie takie sa-mo prawo do dementowania wiadosa-moœci fa³szywych (pomówieñ etc.) w imieniu ca³ej grupy.

Poni¿ej przedstawiony zostanie opis takiego sche-matu wykorzystuj¹cego strukturê (G, A, P). Dla uprosz-czenia autorzy przedstawi¹ schemat dla grupy z³o¿o-nej z trzech podmiotów.

 Faza inicjalizacji systemu

W tej fazie tworzona jest trójka (G, A, P) (patrz roz-dzia³ Podpis szyfrowany weryfikowalny).

 Faza generowania kluczy

W tej fazie ka¿demu sygnatariuszowi przydzielana jest para kluczy – prywatny/publiczny:

(ski, pki) = (si, siP) i = 1, 2, 3.  Faza podpisywania i weryfikacji

Przypuœæmy, ¿e sygnatariusz, posiadaj¹cy parê klu-czy (s1, s1P), zamierza wygenerowaæ podpis pod wia-domoœci¹ m. Wtedy wybiera losowe wartoœci r2i r3, pu-blikuje wskazówki r2P, r3P oraz oblicza podpis:

sig1= sig1(s1, r2, r3, m)

w ten sposób, by spe³niony by³ nastêpuj¹cy warunek (weryfikuj¹cy podpis):

e[P, H(m)] = e(s1P, sig1)e(s2P, r2P)e(s3P, r3P). Powy¿sza równoœæ jest podstaw¹ do w³aœciwego okreœlenia podpisu sig1. Mianowicie korzystaj¹c z dwu-liniowoœci e wiemy, ¿e jej prawa strona wynosi:

e(P, s1sig1+ r2s2P + r3s3P)

sk¹d (wykorzystuj¹c fakt, ¿e P jest generatorem grupy G) otrzymujemy, ¿e wartoœæ podpisu, który przejdzie weryfikacjê, wynosi:

sig1= 1/s1[H(m) – r2(s2P) – r3(s3P)].

Tym samym poprawnoœæ podpisu zosta³a wykaza-na.

PRZYPISY

1 B. Ho³yst: Zwalczanie cyberterroryzmu, [w:] Terroryzm, rozdzia³ II, w druku;

2 B. Ho³yst, J. Pomyka³a: Wykorzystywanie kryptografii przez œrodowiska terrorystyczne, „Prokuratura i Pra-wo” 2008, nr 2;

(9)

3 B. Ho³yst, J. Pomyka³a: Podpis elektroniczny – aspek-ty kryminalisaspek-tyczne, prawne i informaaspek-tyczne, „Problemy Kryminalistyki” 2008, nr 256, s. 5–21;

4 R. Anderson: In¿ynieria zabezpieczeñ, WNT 2005, s. 491–539;

5 B. Ho³yst, J. Pomyka³a: Bezpieczeñstwo podpisu pro-gowego w grupach dynamicznych, „Problemy Kryminali-styki” 2008, nr 259, s. 16–21;

6 M. Musia³: Rz¹d nadal szuka pomys³u na ³agodne wdro¿enie e-podpisu, „The Wall Street Journal. Pol-ska”, 25.04.2008, s. 12;

7 G.J. Simmons: Subliminal channels: past and present, IEEE European Trans. on Telecom. vol. 5, no 4, 1994, s. 459–473;

8 M. Kuty³owski, W.B. Strothmann: Kryptografia, teoria i praktyka zabezpieczania systemów komputerowych, Wyd. RM, Warszawa 1999, s. 121–123;

9 Y. Desmedt, Y. Frankel: Threshold cryptosystems, Adv. In Cryptology, – Crypto,’89, LNCS 435;

10 B. Nakielski, J. Pomyka³a, J.A. Pomyka³a: A multi--threshold signature scheme, „Journal of Telecomuni-cations and Information Technology” (1) 2008, s. 51–55; R. Anderson: Two remarks on public-key cryptography, Manuscript, Sep. 2008;

11 J. Pomyka³a, T. Warcho³: Threshold signatures in dy-namic groups, Proceedings of Future Communication and Networking 2007, IEEE Computer Science, s. 32–37;

12 N. Asokan, V. Shoup, M. Vaidner: Optimistic fair exchange of digital signatures, NCS 1403 (1998), s. 591–606;

13 D. Chaum: Blind signatures for untraceable payments, Adv. In Cryptology, Proceed. Od Crypto’82 (1983), s. 199–203;

14 A. Lysyanskaya, Z. Ramzan: Group blind digital si-gnatures: a scalable solution to electronic cash, LNCS 1465 (1998), s. 197–238;

15 M. Bellare, S. Miner: A forward – secure digital signa-ture scheme, LNCS 1666, s. 431–448;

16 A. Shamir: How to share a secret, Communications of the ACM, 22: s. 612–613, 1979;

17 M. Abdalla, S. Miner, Ch. Namprempre: Forward se-cure threshold signature schemes, LNCS 2020, (2001) p. 441–456;

18 D. Boneh, M. Franklin: Identity-based encryption from the Weil pairing, SIAM Journal on Computing, vol. 32, No. 3, 2003, s. 586–615;

19 J. Pomyka³a, T. Trabszys: Blackmail protected verifia-bly encrypted signature form bilinear pairing (praca wy-s³ana do publikacji);

20 J. Pomyka³a, B. Źra³ek: A model of Id-based proxy si-gnature scheme, Procedings of 6th Collecter Ibero-america: Collaborative Electronic Communications & eCommerce Tech and Research Conference, Ma-drid 2008;

21 D. Boneh, C. Gentry, B. Lynn, H. Shacham: Short si-gnatures from the Weil pairing, Journal of Cryptology, vol. 17, No. 4, 2004, s. 297–319;

22 J. Pomyka³a, T. Trabszys: Anonymous signer verifia-ble encrypted signature from bilinear paring, praca wy-s³ana do publikacji;

23 R.L. Rivest, A. Shamir, Y. Tauman: How to leak a se-cret, LNCS 2248, 2001, s. 552–565.

Czytelniku,

informujemy, że jest do nabycia

„Przewodnik po metodach wizualizacji śladów daktyloskopijnych”

w dwóch oprawach – broszurowej i segregatorowej, obie wersje w tej samej cenie – 54 zł.

Zamówienia można składać na adres: Biuro Logistyki Policji KGP

ul. Domaniewska 36/38, 02-672 Warszawa tel. (022) 60-129-45; faks (022) 60-130-59

Cytaty

Powiązane dokumenty

systemowej analizy wpłat korekcyjno-wyrównawczych poprzez omówienie konstytucyjnych podstaw finansowania JST oraz uczy- nienie wiodącym tematem orzecznictwa Trybunału Konstytucyj-

nych prawdopodobieństw w systemie Engseta ze stratami (roz- dział 7)» obliczania średniej liczby zajętych kanałów obsługi, określania związku między długością kolejki

W poni»szych zadaniach grupa oznacza grup¦ permutacji lub grup¦ ilorazow¡  albo po prostu zbiór z dziaªaniem o trzech wªasno±ciach: dziaªanie jest ª¡czne; istnieje

[r]

5 Poka», »e w przestrzeni Hausdora punkty s¡ domkni¦te, a ci¡gi zbie»ne maj¡ tylko jedn¡

Komutatorem grupy G jest podgrupa generowana przez ele- menty postaci ghg −1 h −1.. Wyznaczyć wszystkie z dokładnością do izomorofizmu grupy rzędu

Automorzmy wewn¦trzne grup: denicja, wªasno±ci i przykªady.. Opis relacji sprz¦»enia w przypadku

[r]