Bezpieczeństwo sygnatariuszy w komunikacji elektronicznej

Transkrypt

Bezpieczeństwo sygnatariuszy w komunikacji elektronicznej
Brunon Hołyst, Jacek Pomykała
Bezpieczeństwo sygnatariuszy
w komunikacji elektronicznej
Spo³eczeñstwo informacyjne jest coraz bardziej
uzale¿nione od wspó³czesnych technologii telekomunikacyjnych i systemów informatycznych. Wœród dobrodziejstw, jakie nios¹ one dla ludzkoœci, trudno nie dostrzec, ¿e s¹ one tak¿e Ÿród³em nowych zagro¿eñ oraz
narzêdziem wykorzystywanym przez œrodowiska przestê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 planowania i przeprowadzania ataków miêdzy innymi takie techniki informatyczne jak steganografie, kana³y
podprogowe czy systemy anonimizacji2. Te i wiele innych 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 bezpieczeñ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 wykorzystywany miêdzy innymi jako metoda potwierdzenia integralnoœci danych, uwierzytelnienia podmiotów komunikacji elektronicznej, autoryzacji dostêpu do danych
czy udowodnienie praw autorskich do wszelkiego rodzaju twórczoœci i wynalazczoœci na rynku us³ug elektronicznych4. Podstawowymi kryteriami przydatnoœci
podpisu cyfrowego s¹ funkcjonalnoœæ i bezpieczeñstwo, którym poœwiêcona jest praca B. Ho³ysta i J. Pomyka³y5. W odniesieniu do funkcjonowania podpisu
na polskim rynku obowi¹zuje Ustawa o podpisie elektronicznym z dnia 18 wrzeœnia 2001 roku. Jeszcze
w tym roku ma byæ gotowa jej nowelizacja, która stworzy warunki do upowszechnienia tego rozwi¹zania,
a tak¿e umo¿liwi korzystanie z tzw. piecz¹tki elektronicznej6. Od pierwszego maja tego roku administracja
pañstwowa ma ju¿ umo¿liwiæ przesy³anie podañ
na elektronicznych formularzach. W tym artykule akcentowane bêdzie g³ównie nie bezpieczeñstwo samego schematu podpisu cyfrowego, lecz bezpieczeñstwo
jego sygnatariuszy. Taka perspektywa pokazuje nowe
wyzwania (zazwyczaj niedostrzegalne w konwencjonalnych badaniach zagadnienia sygnatury cyfrowej)
i nowe rozwi¹zania, którym w du¿ym stopniu poœwiêco-
PROBLEMY KRYMINALISTYKI 261 (lipiec–wrzesieñ) 2008
na bêdzie dalsza czêœæ artyku³u. Punkt wyjœcia stanowi¹ 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 okolicznoœci jego sk³adania. Zastosowanie odpowiedniego
protoko³u mo¿e zwiêkszyæ bezpieczeñstwo sygnatariusza, a przede wszystkim ograniczyæ jego odpowiedzialnoœæ za skutki prawne z³o¿onego pod przymusem podpisu. Prezentowany tu pomys³ przypomina trochê ideê
zastosowania kana³u podprogowego w podpisie cyfrowym7. Jednak kontekst i realizacja s¹ zupe³nie inne,
gdy¿ informacja o wymuszeniu dociera do zaufanej
strony trzeciej w trakcie deszyfrowania podpisu. W tradycyjnym ujêciu kana³y podprogowe s¹ natomiast wykorzystywane g³ównie jako Ÿród³o zagro¿enia ze strony przeciwnika systemu (adwersarza)8.
Kolejny w¹tek bezpieczeñstwa sygnatariuszy podpisu 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 politycznych lub organizacji mafijnych), ale tak¿e dla zapewnienia 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. Frankela9 zwi¹zana z ogóln¹ koncepcj¹
demokracji w procesach wymiany i uwiarygodnienia informacji, a tak¿e wzajemnego zaufania podmiotów komunikacji. Rozpraszanie uprawnieñ (i odpowiedzialnoœci) indywidualnych podmiotów na grupy u¿ytkowników
pozwala tworzyæ bezpieczne systemy podpisu, realizuj¹c przy tym wymóg wy¿szego stopnia zaufania stron
(sygnatariuszy), a tak¿e wy¿szej tolerancji na ewentualne b³êdy przypadkowe lub wynikaj¹ce z zamierzonych dzia³añ adwersarzy10. Szczególnie owocne s¹ tu
zastosowania w ramach tzw. podpisów progowych
i grupowych11 oraz sprawiedliwej wymiany informacji12. Zauwa¿my te¿, ¿e bezpieczeñstwo sygnatariuszy
(w odró¿nieniu od ochrony danych osobowych lub
przeciwdzia³ania szanta¿om, wy³udzeniom czy oszustwom) jest we wspó³czesnych transakcjach elektronicznych rozwi¹zywane czêsto za pomoc¹ tzw. œlepych
5
podpisów13 oraz œlepych podpisów grupowych14. Stosowane 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 takim 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) aktualizacji klucza prywatnego sygnatariusza za pomoc¹ funkcji
jednokierunkowej. Ogólny schemat podpisu, spe³niaj¹cego takie wymagania, przedstawiony bêdzie w nastêpnym rozdziale.
Celem tej pracy jest omówienie kluczowych idei i zastosowañ praktycznych zwi¹zanych z bezpieczeñstwem sygnatariuszy – uczestników komunikacji elektronicznej. Zaproponowane koncepcje wymagaj¹ pewnej formalizacji matematycznej, s³u¿¹cej sprecyzowaniu wa¿nych pojêæ, bez których zrozumienie tematu
mog³oby zostaæ bardzo utrudnione. Odpowiednie przypisy pozwol¹ jednak na dope³nienie i szersze rozwiniêcie prezentowanych tu idei kryptograficznych.
Autorzy artyku³u zak³adaj¹, ¿e dany jest multiplikatywny 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 dyskretnego jest trudny, oraz pierœcieñ Zq odpowiednio.
Schemat podstawowy sk³ada siê z czterech algorytmów:
Algorytm generowania kluczy, który maj¹c na wejœciu parametry publiczne daje na wyjœciu parê kluczy:
(s, ƒT (s)); tutaj sk = s jest kluczem prywatnym, natomiast 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 wiadomoœæ 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: (podpis, 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).
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 skompromitowanego 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 poprzedniego wymaga³oby odwrócenia funkcji „jednokierunkowej”, co jest praktycznie niewykonalne. Nale¿y zauwa¿yæ, ¿e taki podpis jest zupe³nie czym innym ni¿ sygnatura elektroniczna z systemem znakowania czasu. Ta
ostatnia jest technologicznie skomplikowana i wymaga
kosztownej aktualizacji czasu w trybie on-line. Tutaj odbywa 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 podejmuje decyzje o aktualizacji klucza. Poni¿ej autorzy
omówi¹ szkicowo schemat podstawowy pochodz¹cy
od M. Bellare’a i S. Miner15.
6
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 sygnatariuszy. Rozwi¹zaniem jest tu randomizacja podpisu polegaj¹ca na losowym wyborze parametru rj anga¿owanego jednorazowo do podpisywania ka¿dej wiadomoœci.
Odpowiednia modyfikacja dotyczy wtedy procesu aktualizacji:
[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:
ƒT – j(a) = b(pk)H(m, j).
PROBLEMY KRYMINALISTYKI 261 (lipiec–wrzesieñ) 2008
W przypadku schematu grupowego cz³onkowie grupy sk³adaj¹ swoje podpisy czêœciowe, które s¹ nastêpnie ³¹czone w jeden bezpieczny podpis aktualizowany.
Aby dostatecznie du¿a podgrupa ca³ej grupy (tzn. mocy t lub wiêkszej) mog³a wygenerowaæ podpis w imieniu ca³ej grupy, sekret s powinien byæ rozdzielony bezpiecznie w systemie (t, n) progowym. Takie wymagania
realizuje protokó³ Shamira dzielenia sekretu16, wykorzystuj¹cy dobrze znany wzór interpolacyjny Lagrange’a dla wielomianów.
Z uwagi na fakt, ¿e podzia³ Shamira jest addytywny,
a w podpisie wykorzystujemy homomorfizm multiplikatywny ƒ, 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 indywidualnego. Podpis zrandomizowany czêœciowy dla i-tego
cz³onka w okresie j-tym ma postaæ:
podstaw¹ albo do wykonania przelewu, albo do odblokowania 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 pomiêdzy A i B). Mo¿liwe s¹ nastêpuj¹ce podstawowe
scenariusze:
1. Sygnatariusze A i B postêpuj¹ uczciwie, tj. A wysy³a podpis zaszyfrowany pod zawieranym kontraktem 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 odpowiednio stronom A i B.
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¿:
∏ f (U )
j
i∈B
i
=
⎛
⎞
f j ⎜⎜ ∏ U (i ) ⎟⎟ = f (S).
j
⎝ i∈B
⎠
Szczegó³owo realizacja podpisu progowego aktualizowanego z homomorfizmem ƒ(x) = x2 jest przedstawiona w pracy M. Abdalla, S. Miner, C. Namprempre’a17.
Ryc. 1. Schemat graficzny pasywnej roli T
Fig. 1. Model of T passive role
Podpis szyfrowany weryfikowalny
Ten typ podpisu jest z powodzeniem wykorzystywany 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 aktywn¹). Przyk³adowo strona A przekazuje swoje prawa autorskie 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 blokad¹ na koncie wierzyciela. W³aœciwy podpis jest wtedy
PROBLEMY KRYMINALISTYKI 261 (lipiec–wrzesieñ) 2008
Ryc. 2. Schemat graficzny dla aktywnej roli T
Fig. 2. Model of T active role
7
4. Jeœli jedna ze stron „milczy”, T uznaje oskar¿enie
drugiej za uzasadnione i anuluje kontrakt powiadamiaj¹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 kroku (3) weryfikuj¹cy zwraca siê do T z ¿¹daniem odszyfrowania 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, cykliczna 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 kluczem 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 sprawdza, czy:
e(P, Q’) = e(Q, P’).
W dalszym ci¹gu ustalamy punkt P, bêd¹cy generatorem grupy G, a zadanie trójki (G, A, P) koñczy inicjalizacjê systemu.
Faza generowania kluczy
Najpierw generowane s¹ dwie pary kluczy (prywatny, publiczny) dla zaufanej strony T(x, X), gdzie X = xP.
Klucz prywatny x bêdzie wykorzystany przy deszyfrowaniu podpisu, natomiast publiczny X przy jego sk³adaniu. W systemie opartym na to¿samoœci (ang. Id-based 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-
8
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³adnikiem odpowiedzialnym za w³aœciwy podpis sygnatariusza, natomiast vX powoduje, ¿e podpis staje siê nieczytelny, ale umo¿liwiaj¹cy sprawdzenie jego poprawnoœ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¿ wartoœæ 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 odpowiedni klucz prywatny x) oblicza wartoœæ xV i udostêpnia
w³aœciwy podpis [m, R, S], gdzie S = W – xV odpowiedniemu weryfikuj¹cemu.
Weryfikacja w³aœciwego podpisu
Dowolny podmiot przeprowadza weryfikacjê podpisu [m, R, S] za pomoc¹ kluczy publicznych Ppub i Q,
sprawdzaj¹c, czy para (R + h(m, R)Q, S) jest kodowana 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 okolicznoœciami, w jakich wykonywany jest podpis. Tradycyjny 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, wymuszenie, 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 ³agodz¹ca ewentualne skutki prawne takiego podpisu. Naturalny pomys³, który narzuca siê w tej sytuacji, polega
na zastosowaniu dwóch ró¿nych par kluczy (prywatny,
PROBLEMY KRYMINALISTYKI 261 (lipiec–wrzesieñ) 2008
publiczny) stosowanych zale¿nie od okolicznoœci sk³adania 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 dobrowolny, a który za wymuszony. To mo¿e powodowaæ jednak
pewne komplikacje zwi¹zane z kosztami obliczeniowymi stosowanego protoko³u. Rozwi¹zanie przedstawione w dalszej czêœci pracy opiera siê na zakodowaniu
informacji o okolicznoœciach jego wykonania (wymuszenie/dobrowolnoœæ) raczej w „nadmiarowoœci” sk³adanego podpisu, ni¿ wyborze odpowiedniego klucza
prywatnego. Podpis zaszyfrowany nie zdradza jednak
charakteru tej „nadmiarowoœci” dla nikogo poza zaufan¹ stron¹ T. Gdy weryfikuj¹cy podpis zwraca siê do T
z ¿¹daniem odszyfrowania podpisu, informacja
o ewentualnym wymuszeniu podpisu zostaje przekazana przez ni¹ odpowiednim organom œcigania. Formalny opis odpowiedniego protoko³u wraz z dowodem jego bezpieczeñstwa zosta³ przedstawiony w pracy J.
Pomyka³y i T. Trabszysa19. W dalszej czêœci autorzy
przedstawi¹ schemat podpisu odpornego na wymuszenia zrealizowany w systemie opartym na to¿samoœci
(ang. Identity-based cryptosystems).
Faza podpisywania:
W odró¿nieniu od algorytmu podpisu szyfrowego sygnatariusz 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 przebiega podobnie jak w schemacie podstawowym.
Faza deszyfrowania podpisu przez stronê T sk³ada
siê z dwu czêœci: pierwszej, która polega na sprawdzeniu, czy w podpisie:
[m, R, V, Z]
zachodzi zwi¹zek V = tR (wtedy nastêpuje powiadomienie 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).
Fazy podpisu odpornego na wymuszenia (ryc. 3)
Podpis skumulowany
z łańcuchem pełnomocnictw
Ryc. 3. Graficzny schemat omówionych faz podpisu
Fig. 3. Scheme of discussed signature phases
W fazie inicjalizacji tworzony jest system (G, A, P).
W fazie generacji kluczy zostaje obliczony i opublikowany klucz sP = Ppub s³u¿¹cy do weryfikacji podpisu,
a sygnatariuszowi przydzielane s¹ dwa klucze: publiczny QID oraz prywatny sQID. Jednoczeœnie zostaje wygenerowany sekret t wspó³dzielony przez sygnatariusza podpisu i zaufan¹ stronê T.
PROBLEMY KRYMINALISTYKI 261 (lipiec–wrzesieñ) 2008
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³nomocniczego20 na iteracjê (³añcuch) pe³nomocnictw z wykorzystaniem podpisu skumulowanego21. Idea odpowiedniego podpisu skumulowanych pe³nomocnictw jest nastêpuj¹ca:
Deleguj¹cy pe³nomocnictwo U0 przekazuje pe³nomocnictwo 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 teraz, ¿e pe³nomocnik Un zamierza podpisaæ wiadomoœæ
m. Aby podpis by³ wiarygodny, Un musi udowodniæ, ¿e
istnieje ³añcuch pe³nomocnictw L(0, 1), L(1, 2),...,
9
L(n – 1, n) autoryzowany przez kolejnych pe³nomocników a¿ do n – 1. Odpowiednie pe³nomocnictwa to bêd¹ wiadomoœci m(i, i + 1), i = 0,1,..., n – 1 podpisywane przez odpowiednich sygnatariuszy, a z³o¿enie tych
podpisów w jeden (akumulacja) bêdzie wartoœci¹ podpisu skumulowanego.
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:
Opis schematu
(xs, xsP)
Dany jest w³aœciciel podpisu U0 i grupa pe³nomocników {U1, U2,..., Un}. W systemie (G, A, P) ka¿dy sygnatariusz U posiada parê kluczy (certyfikowanych):
sk(U) = ski i pk(U) = pki.
Podpis skumulowany pod wiadomoœci¹ m ma postaæ:
[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œæ dwuliniowoœci iloczynu e i polega na sprawdzeniu, czy:
wykorzystywanych do jednorazowych podpisów. Jako
dowód powi¹zania klucza publicznego jednorazowego
xsP z kluczem publicznym d³ugoterminowym sP sygnatariusz przedstawia menad¿erowi wartoœæ xP. Menad¿er sprawdza, czy pary (sP, xsP) oraz (P, xP) s¹
kodowane tym samym kluczem. Jeœli tak jest, to certyfikuje jednorazowy klucz publiczny xsP swoim podpisem postaci:
sk(M)H(xsP),
gdzie H jest odpowiedni¹ bezpieczn¹ funkcj¹ haszuj¹c¹. Podpisany certyfikat jest dalej u¿ywany przez sygnatariusza do wygenerowania podpisu grupowego
pod wiadomoœci¹ m postaci:
sig(m) = [m, xsH(m), xsP, sk(M)H(xsP)].
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 sygnatariusz – grupa. Bezpieczeñstwo sygnatariusza zale¿y
od zaufania do menad¿era grupy, który ma mo¿liwoœæ
zniesienia anonimowoœci sygnatariusza w szczególnych 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 menad¿er M. Celem jest stworzenie systemu podpisu anonimowego w imieniu grupy G, sk³adanego przez dowolnego cz³onka grupy G (sygnatariusza). Anonimowoœæ
sygnatariusza powinna byæ niepodwa¿alna i jedynie
w wyj¹tkowych okolicznoœciach (podejrzenie o przestêpstwo) mo¿e zostaæ ujawniona w oparciu o informacje posiadane przez menad¿era M. W fazie inicjalizacji
systemu tworzona jest trójka (G, A, P) (patrz rozdzia³
Podpis szyfrowany weryfikowalny). Faza generacji kluczy jest dwuetapowa. Najpierw zaufana trzecia strona
generuje (certyfikowane) pary kluczy d³ugotermino-
10
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 menad¿era.
Ostatni wymóg jest konsekwencj¹ tego, ¿e klucz
d³ugoterminowy sP odpowiada kluczowi jednorazowemu xsP (dziêki kluczowi weryfikacyjnemu xP).
Niepodrabialnoœæ podpisu xsH(m) przez nikogo poza posiadaczem klucza s lub klucza x wynika z nastêpuj¹cej uwagi. Niech H(m) = aP, gdzie losowe a jest symulowane przez wyroczniê obliczaj¹c¹ wartoœæ funkcji
haszuj¹cej H. Maj¹c dostêpne dane publiczne: P, sP,
PROBLEMY KRYMINALISTYKI 261 (lipiec–wrzesieñ) 2008
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 obliczeniowy Diffie-Hellmana, na którym bazuje bezpieczeñstwo ca³ego systemu.
Anonimowoœæ z kolei oznacza, ¿e nikt poza menad¿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 dane publiczne jest praktycznie niemo¿liwe.
Podpis anonimowy skumulowany
Schemat ³¹czy w sobie idee podpisu grupowego
i skumulowanego. Sygnatariusze reprezentuj¹ grupy
U1, U2, ..., Un o menad¿erach M1, ..., Mn odpowiednio.
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æ odpowiedni podpis czêœciowy (autoryzowany przez menad¿era):
[mi, sixiP, sk(Mi)H(sixiP)] = [mi, pk(xi), sigi].
Otrzymane (anonimowe) podpisy czêœciowe s¹ nastê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:
PROBLEMY KRYMINALISTYKI 261 (lipiec–wrzesieñ) 2008
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ñstwa podpisu skumulowanego. Przyk³adem demonstruj¹cym wa¿ne zastosowanie anonimowego podpisu skumulowanego 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 niego 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 (wezwaniu generowanym przez system) sygnatariusz wykona poprawny podpis czêœciowy oraz dodatkowo upowa¿nienie mi cz³onka innej grupy Ui do podpisu w imieniu grupy Ui. Upowa¿niaj¹cy za³¹cza z kolei podpis
pod wiadomoœci¹ mj potwierdzaj¹c¹ jego uprawnienie
od cz³onka innej grupy Uj itd. Jeœli tak skonstruowany
³añcuch upowa¿nieñ prowadzi do upowa¿nienia wydanego 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 anonimowe podmioty z grup zarz¹dzanych przez odpowiednich menad¿erów. Menad¿er odgrywa w tym wypadku przede wszystkim rolê zaufanej trzeciej strony,
a dodatkowo mo¿e znieœæ anonimowoœæ odpowiedniego podmiotu podpisuj¹cego kontrakt. Zatem sygnatariusze pozostaj¹cy miêdzy sob¹ w relacji anonimowoœci sk³adaj¹ podpisy zaszyfrowane (kluczami publicznymi swoich menad¿erów), których poprawnoœæ ka¿dy
z nich mo¿e zweryfikowaæ. Ostatecznie kontrakt zostaje (opcjonalnie) uprawomocniony przez menad¿erów
odpowiednich grup, którzy, jeœli zachodzi taka potrzeba, odkrywaj¹ równie¿ to¿samoœæ odpowiednich podmiotów.
Opis schematu
Inicjalizacja systemu
Tworzona jest trójka: (G, A, P) (patrz rozdzia³ Podpis szyfrowany weryfikowalny).
11
Generowanie kluczy
Generowane s¹ pary kluczy (certyfikowanych) dla
menad¿erów (pk(Mi), sk(Mi)), i = 1, 2 oraz dla sygnatariuszy (si, siP). Nastêpnie ka¿dy cz³onek grupy generuje parê jednorazowych kluczy:
(xisi, xisiP)
a odpowiedni klucz weryfikacyjny xiP przekazuje swojemu menad¿erowi.
Faza podpisywania
Dla danej wiadomoœci sygnatariusz ka¿dej grupy
oblicza podpis zaszyfrowany:
[m, pk(xi), viP, sigi],
mym fakcie wygenerowania podpisu przez jednego
z jej cz³onków. W takiej sytuacji maj¹ jedynie takie samo prawo do dementowania wiadomoœci fa³szywych
(pomówieñ etc.) w imieniu ca³ej grupy.
Poni¿ej przedstawiony zostanie opis takiego schematu wykorzystuj¹cego strukturê (G, A, P). Dla uproszczenia autorzy przedstawi¹ schemat dla grupy z³o¿onej z trzech podmiotów.
Faza inicjalizacji systemu
W tej fazie tworzona jest trójka (G, A, P) (patrz rozdzia³ Podpis szyfrowany weryfikowalny).
Faza generowania kluczy
W tej fazie ka¿demu sygnatariuszowi przydzielana
jest para kluczy – prywatny/publiczny:
gdzie:
(ski, pki) = (si, siP)
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:
i = 1, 2, 3.
Faza podpisywania i weryfikacji
Przypuœæmy, ¿e sygnatariusz, posiadaj¹cy parê kluczy (s1, s1P), zamierza wygenerowaæ podpis pod wiadomoœci¹ m. Wtedy wybiera losowe wartoœci r2 i r3, publikuje wskazówki r2P, r3P oraz oblicza podpis:
sig1 = sig1(s1, r2, r3, m)
e(P, sigzi) = e(pk(xi), H(m))e(pk(xi), pk(Mi))
e(viP, pk(Mi)), i = 1, 2
w ten sposób, by spe³niony by³ nastêpuj¹cy warunek
(weryfikuj¹cy podpis):
Jeœli weryfikacja zaakceptuje podpisy, s¹ one przekazywane menad¿erom odpowiednich grup, którzy obliczaj¹ w³aœciwe podpisy postaci:
e[P, H(m)] = e(s1P, sig1)e(s2P, r2P)e(s3P, r3P).
sigi = sigzisk(Mi)viP,
i = 1, 2
przekazuj¹c je odpowiednim kontrahentom, którzy
przeprowadzaj¹ ich ostateczn¹ weryfikacjê sprawdzaj¹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. Pomyka³y i T. Trabszysa22.
Powy¿sza równoœæ jest podstaw¹ do w³aœciwego
okreœlenia podpisu sig1. Mianowicie korzystaj¹c z dwuliniowoœci e wiemy, ¿e jej prawa strona wynosi:
e(P, s1 sig1 + 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 wykazana.
Podpis pierścieniowy
PRZYPISY
Podpis pierœcieniowy jest rodzajem podpisu gwarantuj¹cego pe³n¹ anonimowoœæ sygnatariuszy23.
W tym przypadku dowolny cz³onek grupy (np. stworzonej ad hoc) mo¿e, bez ryzyka identyfikacji, podpisaæ
dowoln¹ wiadomoœæ w imieniu grupy. Co wiêcej pozostali cz³onkowie grupy mog¹ nawet nie wiedzieæ o sa-
12
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 Prawo” 2008, nr 2;
PROBLEMY KRYMINALISTYKI 261 (lipiec–wrzesieñ) 2008
3 B. Ho³yst, J. Pomyka³a: Podpis elektroniczny – aspek-
13 D. Chaum: Blind signatures for untraceable payments,
ty kryminalistyczne, prawne i informatyczne, „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 progowego w grupach dynamicznych, „Problemy Kryminalistyki” 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. Polska”, 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 Telecomunications 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 dynamic 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;
Adv. In Cryptology, Proceed. Od Crypto’82 (1983),
s. 199–203;
14 A. Lysyanskaya, Z. Ramzan: Group blind digital signatures: a scalable solution to electronic cash,
LNCS 1465 (1998), s. 197–238;
15 M. Bellare, S. Miner: A forward – secure digital signature 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 secure 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 verifiably encrypted signature form bilinear pairing (praca wys³ana do publikacji);
20 J. Pomyka³a, B. Źra³ek: A model of Id-based proxy signature scheme, Procedings of 6th Collecter Iberoamerica: Collaborative Electronic Communications &
eCommerce Tech and Research Conference, Madrid 2008;
21 D. Boneh, C. Gentry, B. Lynn, H. Shacham: Short signatures from the Weil pairing, Journal of Cryptology,
vol. 17, No. 4, 2004, s. 297–319;
22 J. Pomyka³a, T. Trabszys: Anonymous signer verifiable encrypted signature from bilinear paring, praca wys³ana do publikacji;
23 R.L. Rivest, A. Shamir, Y. Tauman: How to leak a secret, 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
PROBLEMY KRYMINALISTYKI 261 (lipiec–wrzesieñ) 2008
13

Podobne dokumenty