Bezpieczeństwo podpisu progowego w grupach dynamicznych

Transkrypt

Bezpieczeństwo podpisu progowego w grupach dynamicznych
Brunon Ho³yst, Jacek Pomyka³a
Bezpieczeñstwo podpisu progowego
w grupach dynamicznych
Wiedza na temat tradycyjnego podpisu cyfrowego
jest w spo³eczeñstwie informacyjnym powszechna.
W gospodarce elektronicznej stosowane s¹ ró¿ne
schematy podpisu, np. standardy ANSI, takie jak DSA1,
RSA2 czy EC-DSA3. Wiele rozwiniêtych krajów œwiata
wprowadzi³o odpowiednie regulacje prawne4, zaœ
w niektórych pañstwach europejskich, np. skandynawskich, sprawnie funkcjonuje ju¿ infrastruktura podpisu
elektronicznego.
Tradycyjny podpis cyfrowy poddano g³êbokiej analizie i dokonano jego klasyfikacji w kategoriach bezpieczeñstwa. Aspekty kryminalistyczne, prawne i informatyczne by³y zaœ przedmiotem badañ omówionych we
wczeœniejszym artykule5. Niniejszy tekst jest jego kontynuacj¹ i ma ukazaæ nowe rozwi¹zania, które dotycz¹
bezpieczeñstwa podpisu progowego w grupach dynamicznych – zagadnienie szczególnie aktualne w odniesieniu do wspó³czesnych aplikacji internetowych i komunikacji w sieciach bezprzewodowych lub sieciach
sensorów.
Kwestia bezpieczeñstwa podpisu progowego wymaga niezbêdnych zmian i uœciœleñ w odniesieniu do pojêcia autentycznoœci podpisu. W podpisie tradycyjnym
oznacza ona, ¿e podpisuj¹cy jest identyfikowalny.
W podpisie progowym „autentycznoœæ” nie sprowadza
siê ju¿ do identyfikacji podpisuj¹cych, zatem w tym nowym modelu podpisu nale¿y doprecyzowaæ pojêcie fa³szerstwa.
Z fa³szerstwem mamy do czynienia wtedy, gdy poprawny podpis zostaje wygenerowany przez podgrupê
cz³onków (na ogó³ nieidentyfikowalnych) o liczbie
mniejszej ni¿ wymagana liczba progowa. Po drugie, dochodzi tu dodatkowy wymiar bezpieczeñstwa –
cz³onkowie skorumpowani nie s¹ w stanie uniemo¿liwiæ
uczciwym cz³onkom podgrupy z³o¿enie podpisu. Pozosta³e aspekty bezpieczeñstwa mo¿na zdefiniowaæ
w sposób tradycyjny, okreœlaj¹c fa³szerstwo jako odpowiedni¹ funkcjê typu ataku i poziomu sukcesu potencjalnego przeciwnika. Poziom sukcesu ataku prowadzi
do wyodrêbnienia nastêpuj¹cych kategorii: fa³szerstwo
egzystencjalne, selektywne, uniwersalne i totalne. Ten
model bezpieczeñstwa tradycyjnego podpisu opisano
dok³adnie w wielu podrêcznikach6. O wymiarze grupowym podpisu cyfrowego wspomniano zaœ w poprzednim artykule autorów niniejszego tekstu7. Poni¿ej roz-
16
winiemy ten temat, przeprowadzaj¹c analizê podpisu
progowego dla tzw. grup dynamicznych.
Kryptografia progowa
– podstawowe pojêcia i definicje
G³ównym wyzwaniem dla kryptografii progowej jest
ochrona informacji w ramach systemów z tolerancj¹
b³êdów (fault tolerantly distributing). Najwiêkszym problemem jest kwestia bezpiecznego dzielenia sekretu
(secure sharing of a secret), co polega na rozdzieleniu
czêœci sekretu (tajnej informacji) miêdzy wiele podmiotów (np. serwerów) tak, aby zosta³y spe³nione nastêpuj¹ce wymagania:
1) ¿adna grupa skorumpowanych graczy (cz³onków
grupy) w liczbie mniejszej ni¿ progowa nie jest w stanie
zrekonstruowaæ na podstawie tych czêœci tajnej informacji nawet w przypadku, gdy skorumpowani gracze
wspó³pracuj¹ ze sob¹,
2) w razie potrzeby rekonstrukcji tajnej informacji
mo¿e dokonaæ dowolna, dostatecznie du¿a grupa (co
najmniej w liczbie progowej) uczciwych graczy.
Dzielenie sekretu jest kluczowym elementem schematu podpisu progowego. Za³ó¿my, ¿e dany jest schemat podpisu cyfrowego (K, S, V), gdzie K jest algorytmem generacji kluczy, S algorytmem podpisywania,
zaœ V algorytmem weryfikacji podpisu. Odpowiedni
schemat podpisu progowego (TK, TS, V) ró¿ni siê dwoma pierwszymi algorytmami. TK jest algorytmem dystrybucji udzia³ów klucza, który na wejœciu ma dane publiczne cz³onków grupy, natomiast na wyjœciu klucz publiczny grupy pk i odpowiednie udzia³y (prywatne)
cz³onków grupy. Wymagane jest, aby rekonstrukcja
tych udzia³ów (zgodnie z punktem 2 powy¿ej) prowadzi³a do odpowiedniego klucza prywatnego sk danej grupy, takiego, ¿e para (sk, pk) jest par¹ odpowiedni¹ dla
algorytmu K. Co wiêcej, rozk³ad takich par dla algorytmu K jest taki sam jak dla algorytmu TK. Spe³nienie takiego wymagania eliminuje mo¿liwoœæ ataków polegaj¹cych na tzw. sterowaniu kluczem. Algorytm generacji
podpisu progowego TS sk³ada siê z dwóch etapów: generacji podpisów czêœciowych i fazy rekonstrukcji podpisu. W pierwszym etapie ka¿dy z graczy na podstawie
wiadomoœci i swojego udzia³u oblicza odpowiedni podpis czêœciowy, który w etapie drugim zostaje z³o¿ony do
PROBLEMY KRYMINALISTYKI 259 (styczeñ–marzec) 2008
pe³nego podpisu progowego grupy. Wymaganiem dla
algorytmu TS jest to, by dla dowolnej wiadomoœci z³o¿ony w ten sposób podpis by³ taki sam jak podpis otrzymany z u¿yciem algorytmu S.
Celem kryptografii progowej jest implementacja wydajnych protoko³ów gwarantuj¹cych najwy¿szy poziom
bezpieczeñstwa odpowiednich systemów kryptograficznych w mo¿liwie silnych modelach z tolerancj¹ b³êdów.
Realizacjê takiego celu osi¹ga siê z uwzglêdnieniem
nastêpuj¹cych warunków:
a) dopuszczalny poziom korupcji, który nie powoduje szkody w dzia³aniu ca³ego systemu,
b) wymagania wydajnoœci protoko³u, tj. zasoby (pamiêæ), koszty komunikacji i koszty obliczeñ,
c) przyjêty model komunikacji, tj. synchronicznoœæ
komunikacji, istnienie poufnych kana³ów komunikacji miêdzy cz³onkami grupy, istnienie publicznego, uwierzytelnionego kana³u informacyjnego
(broadcast channel),
d) typ przeciwnika okreœlaj¹cy, w jaki sposób mo¿e
on korumpowaæ graczy i jakie s¹ mo¿liwoœci obrony gracza przed przeciwnikiem (np. czy potrafi
skutecznie zlikwidowaæ posiadane zasoby, by nie
dopuœciæ do ich infiltracji przez atakuj¹cego),
e) identyfikacja zagro¿eñ, jakie mog¹ pojawiæ siê
w wyniku implementacji takich protoko³ów zarówno na platformie programowej, jak i sprzêtowej.
W dalszej czêœci pracy zajmiemy siê dok³adniej
schematami deszyfrowania oraz podpisu progowego
w grupach niestatycznych.
Grupy dynamiczne
Pojêcie „grupa dynamiczna” odnosiæ bêdziemy nie
tylko do zmiennoœci liczby jej cz³onków (dodawanie nowych, usuwanie skompromitowanych), lecz tak¿e
zmiennoœci ich to¿samoœci lub pe³nionych przez nich
funkcji. Przyk³adem dynamiki grupowej jest zmiana
przynale¿noœci cz³onka z jednej podgrupy do drugiej (w
ramach jednej rodziny grup). Dynamika mo¿e wymuszaæ zmiany sekretu grupy lub nie. Poniewa¿ generowanie nowego sekretu grupy jest zazwyczaj zwi¹zane
z ponown¹ inicjalizacj¹ systemu, takie rozwi¹zania s¹
w praktyce ma³o wydajne. Z tego powodu nie bêdziemy
poœwiêcaæ im uwagi. Za³ó¿my wiêc, ¿e dana jest a priori niewielka grupa G, której cz³onkowie maj¹ udzia³y
w sekrecie grupy s.
Niech zbiorem udzia³ów dla tajemnicy s bêdzie
zbiór {s1, s2,..., sm}. Jeœli do rekonstrukcji sekretu s
niezbêdne s¹ wszystkie udzia³y si, bêdziemy mówiæ
o rozk³adzie (splitting) sekretu s na udzia³y si, jeœli zaœ
wystarczy ich progowa liczba t (t < m), to powiemy
o progowym dzieleniu (threshold secret sharing) tajem-
PROBLEMY KRYMINALISTYKI 259 (styczeñ–marzec) 2008
nicy. Bêdziemy dalej zak³adaæ, ¿e grupa mo¿e zrekonstruowaæ tajemnicê s, tylko z u¿yciem co najmniej t
wartoœci udzia³ów. Typowym przyk³adem rozk³adu sekretu jest losowy wybór m–1 udzia³ów i zdefiniowanie
sm = s – (s1 + s2 +... sm–1). Jest to tzw. rozk³ad addytywny (dzielenie addytywne) w odró¿nieniu od dzielenia wielomianowego (interpolacyjnego).
Wzorcowym przyk³adem dzielenia progowego jest
schemat Shamira8 oparty na interpolacji Lagrange’a. Interpolowany wielomian ma wtedy stopieñ t–1, gdzie t
jest wartoœci¹ progu. Jakkolwiek rozk³ad sekretu mo¿na
zrealizowaæ jako skrajne dzielenie tajemnicy (t = m), nie
jest to rozs¹dne. Znaczenie schematów progowych pojawia siê dla t < m, jak zobaczymy w dalszej czêœci artyku³u.
Wed³ug standardowego scenariusza realizacji dynamiki do grup do³¹cza siê nowych cz³onków. W trakcie tego procesu mo¿e siê okazaæ, ¿e w grupie wyodrêbniaj¹ siê specyficzne podgrupy (np. ze wzglêdu na
specyfikacjê zadañ wykonywanych przez jej cz³onków). Jeœli od tak wyspecjalizowanych podgrup bêdziemy oczekiwaæ autoryzacji okreœlonych wiadomoœci, to bêdziemy mieæ do czynienia z podpisami cyfrowymi cz³onków w imieniu tych podgrup. Jeœli dodatkowo zbiory autoryzuj¹ce zawieraj¹ minimalne zbiory
(progowe), mówi siê o podpisach progowych dla danej
rodziny grup.
Do³¹czanie nowych cz³onków mo¿e odbywaæ siê
„lokalnie” (tzn. przez pojedynczych graczy ju¿ istniej¹cych w grupie) lub globalnie, tj. za wiedz¹ i zgod¹ quorum grupy. Jest przy tym jasne, ¿e proces do³¹czania
nowych cz³onków mo¿na realizowaæ, wykorzystuj¹c jeden z dwóch typów podzia³u tajemnicy omówionych
powy¿ej. Przypadek pierwszy badany w artykule R. Di
Pietra, L.V. Manciniego i G. Zanina9 mo¿na rozszerzyæ
tak¿e do badania systemów pe³nomocnictw cyfrowych,
którym poœwiêcona by³a praca J. Pomyka³y i S. Barabasza10. W modelu grupowym ma to oczywisty zwi¹zek z grupami hierarchicznymi11. Przypadek globalny
rozwa¿ano zaœ w artykule J. Pomyka³y i T. Warcho³a12.
Dynamika grup mo¿e byæ realizowana na ró¿ne
sposoby w zale¿noœci od wymagañ stawianych systemowi. Przyk³adowo, dynamika reprezentacji grup
w obrêbie wiêkszych rodzin zosta³a omówiona w powy¿szej pracy J. Pomyka³y i T. Warcho³a dziêki wprowadzeniu odpowiednich certyfikatów cyfrowych dla
cz³onków grupy. Wa¿nym elementem bezpiecznego
funkcjonowania grup dynamicznych s¹ przyjête za³o¿enia, np. dotycz¹ce istnienia zaufanych stron w protoko³ach, takich jak: diler rozdzielaj¹cy udzia³y dla cz³onków grupy, administrator przydzielaj¹cy certyfikaty czy
mened¿er weryfikuj¹cy poprawnoœæ udzia³ów lub certyfikatów. Im s³absze za³o¿enia, tym lepszy jest system
17
– pod warunkiem, ¿e umie siê dowieœæ jego bezpieczeñstwa.
Idea podpisu progowego zosta³a wprowadzona
przez Y. Desmedta13, a jego bezpieczny schemat dla
grupy statycznej zaproponowali R. Genarro, S. Jarecki,
H. Krawczyk i T. Rabin14. Bezpieczny schemat progowy podpisu dla rodziny grup dynamicznych w minimalnym modelu zaufania zosta³ omówiony we wspomnianej pracy J. Pomyka³y i T. Warcho³a15, zaœ kwestiê alternatywnego modelu podpisu progowego dla grupy dynamicznej poruszyli w swej pracy R. Di Pietro, L.V.
Mancini i G. Zanin16. Tego typu rozwi¹zanie jest szczególnie dogodne dla bezpiecznego gromadzenia i przekazywania informacji w rozleg³ych sieciach sensorowych17.
Kryptosystemy progowe
Kryptosystemy progowe realizuj¹ bezpieczn¹ i wydajn¹ wymianê informacji w strukturach grupowych.
Dwie kluczowe aplikacje s¹ zwi¹zane z podpisem progowym i tzw. deszyfrowaniem progowym w zale¿noœci
od tego, czy progowoœæ jest z kolei zwi¹zana z grupowym szyfrowaniem lub deszyfrowaniem. W obu sytuacjach progowoœæ jest szczególnym przypadkiem tzw.
ogólnych struktur dostêpu (access structures), w których do poprawnego zaszyfrowania lub odszyfrowania
wiadomoœci potrzebna jest grupa uprzywilejowana, bêd¹ca w tym przypadku dowoln¹ grup¹ posiadaj¹c¹ progow¹ liczbê udzia³ów w sekrecie grupy. Najbardziej typowymi schematami progowymi s¹ tzw. (t, n) schematy, gdzie n oznacza liczbê cz³onków grupy, natomiast t
liczbê udzia³ów niezbêdnych do odtworzenia sekretu
grupy (wartoœæ progu). G³ównym powodem tworzenia
tego typu systemów kryptograficznych jest zapewnianie
niezawodnoœci i wydajnoœci us³ug w systemach teleinformatycznych, zamiar zwiêkszenia zaufania podmiotów œwiadcz¹cych us³ugi, a tak¿e rozdzielanie odpowiedzialnoœci w uzgadnianiu odpowiednich decyzji.
W praktycznej realizacji protoko³u istotnym zadaniem
jest ustalenie poziomu progu dobieranego odpowiednio
do zak³adanego poziomu korupcji. Systemy deszyfrowania progowego typu (t, n) odgrywaj¹ wa¿n¹ rolê
w sytuacjach, gdy odszyfrowanie wiadomoœci nie mo¿e
byæ zale¿ne tylko od posiadania jednego klucza deszyfruj¹cego. Stwarza³oby to ryzyko, ¿e w wypadku jego
utracenia informacja nigdy nie zosta³aby odzyskana.
Z drugiej strony, w przypadku gdy szyfrowane informacje maj¹ np. klauzulê „œciœle tajne”, mo¿e byæ istotne,
aby ich zdeszyfrowanie mog³o byæ przeprowadzone
w obecnoœci kilku stron.
Omówimy teraz ideê deszyfrowania progowego
z wykorzystaniem systemu RSA. Pomys³ pochodzi od
J. Pieprzyka i wsp.18 i ma nastêpuj¹ce zalety:
18
a) system nie wymaga istnienia zaufanej strony,
b) system nie wymaga przekazywania udzia³ów podpisu bezpiecznymi kana³ami,
c) ka¿dy u¿ytkownik jest wyposa¿ony w parê kluczy:
prywatny i publiczny, przy czym klucz publiczny
jest przechowywany w pewnym publicznym rejestrze (tzw. white pages),
d) docelowa grupa odbiorców wiadomoœci oraz poziom progu odbiorców s¹ wybierane przez nadawcê,
e) kryptogram mo¿e byæ odczytany jedynie przy
wspó³pracy progowej liczby odbiorców z ustalonego przez nadawcê zbioru.
Protokó³ sk³ada siê z dwóch algorytmów:
szyfruj¹cego, który na wejœciu ma klucze publiczne u¿ytkowników, wiadomoœæ m i próg t, a na wyjœciu kryptogram, który jest podany do wiadomoœci
publicznej,
deszyfruj¹cego, który maj¹c na wejœciu kryptogram i klucze prywatne dowolnej progowej liczby
uczestników, oblicza wartoœæ odszyfrowanej wiadomoœci.
W pierwszym etapie deszyfrowania nadawca oblicza
iloczyn wyk³adników publicznych odpowiedniego zbioru
u¿ytkowników, do którego adresowana jest wiadomoœæ
oraz iloczyn N ich modu³ów RSA. Nastêpnie losuje wielomian f stopnia t–1 nad cia³em skoñczonym, którego
wyraz wolny s jest sekretem odbieraj¹cej grupy, po
czym dokonuje lokalizacji:
a) przygotowan¹ wiadomoœæ M (mniejsz¹ od iloczynu odpowiednich modu³ów) reprezentuje lokalnie
w postaci reszt modulo, a odpowiednie publiczne
modu³y odbiorców i odpowiednie reszty podnosi
lokalnie do potêgi s,
b) sekret grupy dzieli wielomianem f, otrzymuj¹c odpowiedni ci¹g udzia³ów (lokalna reprezentacja tajemnicy), który szyfruje nastêpnie za pomoc¹ wyk³adników publicznych odbiorców.
Tak uzyskane ci¹gi „skleja” modularnie, otrzymuj¹c
globaln¹ parê (C1, C2). Wyjœciem fazy szyfrowania jest
czwórka (N, t, C1, C2).
W drugim etapie cz³onkowie grupy najpierw lokalizuj¹ parê (C1, C2), a nastêpnie, u¿ywaj¹c swoich kluczy
prywatnych RSA, obliczaj¹ na podstawie C2 w grupie
progowej wartoœæ s, któr¹ podaj¹ do wiadomoœci publicznej. Teraz ka¿dy odbiorca odtwarza lokalnie wiadomoœæ M, korzystaj¹c ze znajomoœci zapadki dla „swojego” systemu RSA. Ostatni¹ faz¹ jest „sklejenie” wiadomoœci m na podstawie jej wartoœci lokalnych (reszt), które mo¿e siê odbyæ w dowolnej grupie progowej.
Podpis progowy to w istocie szyfrowanie progowe
kluczem prywatnym. Sk³ada siê z trzech algorytmów:
a) algorytmu generacji kluczy bêd¹cego interaktywnym protoko³em przeprowadzanym przez cz³on-
PROBLEMY KRYMINALISTYKI 259 (styczeñ–marzec) 2008
ków grupy, który na wejœciu ma dane publiczne
grupy, a na wyjœciu daje klucz publiczny grupy
wraz z odpowiednim udzia³em dla ka¿dego u¿ytkownika indywidualnie. Rekonstrukcja tych udzia³ów prowadzi do klucza prywatnego grupy bêd¹cego w odpowiednioœci z wygenerowanym kluczem publicznym,
b) algorytmu podpisywania maj¹cego na wejœciu
wiadomoœæ i klucze prywatne podpisuj¹cych,
z których najpierw generuje odpowiednie udzia³y
podpisu (faza generacji podpisów czêœciowych),
a nastêpnie ³¹czy je w ca³y podpis (faza rekonstrukcji podpisu),
c) algorytmu weryfikacji podpisu, który maj¹c na wejœciu klucz publiczny grupy i podpis pod zadan¹
wiadomoœci¹, daje na wyjœciu odpowiedŸ: akceptuj lub odrzuæ.
Ogólny przegl¹d kryptografii progowej zosta³ omówiony przez jednego z jej czo³owych twórców – Y. Desmedta w pracy „Threshold cryptography”19. Ze wzglêdu na powszechnie funkcjonuj¹ce obecnie modele zaufania w komunikacji elektronicznej trudno jest przeceniæ rolê bezpieczeñstwa danych i zastosowania protoko³ów wykorzystuj¹cych obliczenia wielopodmiotowe.
W nastêpnym paragrafie zdefiniujemy koncepcjê podpisu wieloprogowego, który odpowiada na nowe wyzwania wspó³czesnej komunikacji elektronicznej.
Podpis wieloprogowy
Jak wykazaliœmy, mo¿na efektywnie zaprojektowaæ
system deszyfrowania, w którym wartoœæ progu jest
ustalana razem z przygotowan¹ do zaszyfrowania wiadomoœci¹. W przypadku szyfrowania kluczem prywatnym grupa jest stron¹ autoryzuj¹c¹ wiadomoœæ. W takiej sytuacji, zmieniaj¹c próg dla danej wiadomoœci, wymusza siê te¿ zmianê wielomianu dziel¹cego sekret
grupy. Z punktu widzenia wydajnoœci jest to du¿e os³abienie systemu, gdy¿ wymaga czêstego zaanga¿owania generatora liczb pseudolosowych przy podpisywaniu ró¿nych wiadomoœci (z ró¿nym progiem). Rozwi¹zanie zaproponowane w pracy B. Nakielskiego, J. Pomyka³y i J.A. Pomyka³y20 jest nastêpuj¹ce: skoro nie
chcemy zmieniaæ wielomianu ka¿dorazowo przy podpisywaniu ró¿nych wiadomoœci, to ustalmy wielomian
wy¿szego stopnia, odpowiadaj¹cy wiêkszej grupie, której podgrupa bêdzie pe³ni³a rolê podpisuj¹cych. Prowadzi to do wyodrêbnienia dwóch grup: podpisuj¹cych
i uzupe³niaj¹cych.
Z punktu widzenia du¿ej grupy mamy do czynienia
ze zwyk³ym podpisem progowym, natomiast z punktu
widzenia jej podgrupy z podpisem o zmiennym progu,
czyli wieloprogowym. Taka elastycznoϾ w wyborze
progu mo¿e wskazywaæ na potencjalne zastosowania
PROBLEMY KRYMINALISTYKI 259 (styczeñ–marzec) 2008
np. dla podpisów wiadomoœci o ró¿nych „priorytetach”.
Co wiêcej, powy¿sza idea pozwala na realizacjê
zarówno podpisu anonimowego, jak te¿ z pe³n¹ identyfikacj¹ podpisuj¹cych. Drugi wariant mo¿na osi¹gn¹æ
przez prost¹ autoryzacjê podpisu „anonimowego”
z u¿yciem prywatnych kluczy podpisuj¹cych. Schemat
zaproponowany w powy¿ej cytowanej pracy sk³ada siê
z czterech nastêpuj¹cych faz:
a) algorytmu inicjalizacji systemu,
b) fazy podpisywania,
c) fazy autoryzacji,
d) fazy weryfikacji podpisu.
Omówiony powy¿ej podpis wieloprogowy bazuje na
systemie RSA i protokole Shamira dzielenia sekretu.
W kolejnym paragrafie wprowadzimy now¹ ideê zastosowania podpisów progowych dla rodziny grup dynamicznych z u¿yciem systemu certyfikatów cyfrowych.
Podpisy progowe dla grupy dynamicznej
Mo¿na wyró¿niæ dwa kluczowe i ca³kowicie odmienne podejœcia do realizacji takich schematów. Ka¿de
z nich inaczej reprezentuje ideê progowoœci. Jedno odnosi j¹ do dystrybucji niepowtarzalnych udzia³ów dla
poszczególnych cz³onków grupy, drugie zaœ do dystrybucji powtarzalnych udzia³ów w grupie. W obydwu przypadkach liczba ró¿nych udzia³ów decyduje o w³aœciwej
liczbie progowej.
Zacznijmy od drugiej idei zaprezentowanej np.
w pracy R. Di Pietra, L.V. Manciniego i G. Zanina21.
Podstawowym powodem zastosowania tego pomys³u
do sieci mobilnych s¹ nastêpuj¹ce uwarunkowania:
a) dynamiczne uczestnictwo w podpisywaniu,
b) dynamiczna struktura grupy,
c) ograniczonoœæ zasobów,
d) rozproszenie obliczeñ,
e) brak zaufanej infrastruktury,
f) potrzeba œwiadczenia us³ug i realizacji protoko³ów
grupowych,
g) minimalne za³o¿enia dotycz¹ce operacji w wêz³ach sieci (np. wyposa¿enie ka¿dego wêz³a
w generator liczb pseudolosowych i niewielkie wymagania co do lokalnych zdolnoœci obliczeniowych).
Udzia³y cz³onków s¹ rozdzielane w grupie z rozk³adem równomiernym (mo¿na to osi¹gn¹æ dziêki zastosowaniu odpowiedniej funkcji mieszaj¹cej). Do wygenerowania podpisu potrzeba zbioru wszystkich ró¿nych
udzia³ów rozproszonych w grupie. Jeœli wiele udzia³ów
jest powtarzalnych (równych), to istnieje du¿o odpowiednich podgrup progowych. Zapewnia to wiêc przede
wszystkim ci¹g³oœæ realizacji us³ug przez odpowiedni
system. Z drugiej strony przeciwnik mo¿e doprowadziæ
do zablokowania dzia³ania systemu jedynie w razie
19
przejêcia kontroli nad ca³¹ podgrup¹ cz³onków o jednakowych udzia³ach. Zatem w przypadku, gdy cz³onków
ca³ej grupy jest znacznie wiêcej ni¿ ró¿nych udzia³ów,
system ma wysoki poziom bezpieczeñstwa. Probabilistyczna analiza wydajnoœci przeprowadzona w pracy
dowodzi tak¿e jego przydatnoœci praktycznej.
Udzia³y dla nowych cz³onków grupy s¹ generowane
przez replikacjê jednej klasy (cz³onków o jednakowych
udzia³ach) przy wspó³udziale jakiejkolwiek innej klasy
koniecznej do aktualizacji danych w oparciu o pomys³
addytywnego dzielenia tajemnicy. Mocn¹ stron¹ tego
protoko³u jest fakt, ¿e dynamika (do³¹czanie nowych
graczy) odbywa siê przez replikacjê przy zaanga¿owaniu jedynie dowolnych dwóch cz³onków grupy z ró¿nych klas.
Pierwsza idea w grupie dynamicznej wykorzystuje
statyczny schemat wielomianowego dzielenia tajemnicy22 powo³uj¹cy siê na interpolacjê Lagrange’a.
Wszystkie rozdzielane udzia³y s¹ ró¿ne, zatem progowoœæ jest z ca³kowit¹ pewnoœci¹ (a nie tylko prawdopodobieñstwem) zagwarantowana przez liczebnoœæ odpowiedniej podgrupy. Mocn¹ stron¹ schematów opartych
na tej idei s¹:
a) orientacja na progowoœæ liczby podpisuj¹cych,
a nie liczby ró¿nych udzia³ów,
b) wiêksza elastycznoœæ w generowaniu sekretu
grupy (dzielenie wielomianowe, a nie addytywne),
c) rozdzielenie odpowiedzialnoœci podpisuj¹cych,
d) zapewnienie ci¹g³oœci podpisywania (eliminacja
w¹skich garde³),
e) wzmocnienie zaufania u¿ytkowników,
f) rozproszenie obliczeñ i podwy¿szenie wydajnoœci
systemu,
g) mo¿liwoœæ realizacji w grupach dynamicznych.
Ideê dynamiki w rodzinie grup zaproponowan¹ we
wspomnianej ju¿ pracy J. Pomyka³y i T. Warcho³a23
mo¿na wyraziæ nastêpuj¹co: mamy zadan¹ rodzinê, której cz³onkowie zaczynaj¹ siê dzieliæ na okreœlone kategorie (np. ze wzglêdu na specyfikê zadañ, jakie bêd¹
wykonywaæ). Aby wyró¿nione grupy mog³y podpisywaæ
wiadomoœci, wprowadzamy certyfikaty przynale¿noœci
do odpowiednich rodzin. Zak³ada to istnienie dynamiki
w zakresie wymiennoœci ról cz³onków ca³ej rodziny. Aby
wzmocniæ taki schemat o elastycznoœæ wyboru progu,
w omawianej pracy zastosowano pomys³ podpisu wieloprogowego. Niew¹tpliw¹ przewag¹ tego schematu
w porównaniu do schematu opartego na addytywnym
dzieleniu sekretu jest fakt, ¿e – pomijaj¹c cz³onków skorumpowanych – ka¿da podgrupa w iloœci progowej mo¿e poprawnie podpisaæ zadan¹ wiadomoœæ. Po drugie,
przy wysokim poziomie progu dla liczby koniecznych
udzia³ów system ten – w przeciwieñstwie do protoko³u
opisanego w pracy24 – jest ca³kowicie bezpieczny.
20
Analiza bezpieczeñstwa
Jak ju¿ pisaliœmy25, bezpieczeñstwo klasycznego
podpisu cyfrowego definiuje siê w odniesieniu do charakteru przeciwnika (adversary). Dok³adniej musimy
okreœliæ wiêc jego cel i œrodki, jakimi dysponuje.
W obecnej sytuacji przyjmujemy, ¿e przeciwnik jest
w stanie przej¹æ kontrolê (skorumpowaæ) nad – co najwy¿ej – k-graczami. Oznacza to przede wszystkim, ¿e
skorumpowani uczestnicy protoko³u mog¹ siê zachowywaæ tak, jak wymaga tego adwersarz, z przekazaniem mu swoich kluczy prywatnych w³¹cznie. Zak³adamy, ¿e w analizowanym modelu obliczeniowym przeciwnik dysponuje ograniczon¹ (wielomianow¹) pamiêci¹ i moc¹ obliczeniow¹. Celem adwersarza jest dzia³anie, które doprowadzi do sfa³szowania podpisu progowego lub nie doprowadzi do wygenerowania podpisu,
mimo ¿e w grupie istnieje progowa liczba uczestników
uczciwych.
Dowód bezpieczeñstwa schematu polega na przedstawieniu redukcji z³amania takiego schematu progowego do z³amania klasycznego schematu podpisu26
w zadanym modelu. Udowodnienie, ¿e przeciwnik nie
jest w stanie osi¹gn¹æ celu (z niepomijalnym prawdopodobieñstwem) bêdzie oznaczaæ, ¿e podpis jest niepodrabialny (unforgeable) i odporny (robust). Podrabialnoœæ bêd¹ca tu synonimem fa³szerstwa oznacza, ¿e
adwersarz jest w stanie wygenerowaæ podpis, który
przejdzie pomyœlnie weryfikacjê, choæ nie ma progowej
liczby udzia³ów podpisu od uczestników skorumpowanych.
Jeœli progiem jest t, a liczb¹ skorumpowanych k,
oznacza to, ¿e jeœli podpis jest poprawny, to co najmniej
t – k uczciwych (tj. nieskorumpowanych) cz³onków grupy musia³o uczestniczyæ (zaanga¿owaæ swoje udzia³y)
w protokole. Jeœli wymagamy, aby liczba uczciwych
podpisuj¹cych by³a co najmniej l, to otrzymujemy st¹d
nierównoœæ t > k + l – 1 okreœlaj¹c¹ wysokoœæ progu,
który gwarantuje niepodrabialnoœæ podpisu. Z drugiej
strony odpornoœæ schematu implikuje, ¿e wœród n
cz³onków grupy bêdzie co najmniej tylu uczciwych, ilu
potrzeba do wygenerowania poprawnego podpisu, tj.
co najmniej k. St¹d otrzymujemy drugi warunek bezpieczeñstwa (robustness): n – k > t – 1.
Poziom korupcji k nie mo¿e wiêc przekroczyæ po³owy liczby n – l. Przypadek, kiedy to l mo¿e byæ istotnie
wiêksze ni¿ 1 by³ rozwa¿any w pracy V. Shoupa27.
Udowodniono w niej, ¿e otrzymany schemat jest bezpieczny w modelu z losow¹ wyroczni¹, odwo³uj¹c siê
do bezpieczeñstwa klasycznego systemu podpisu
RSA28 (por. tak¿e rozdz. 8.5)29. W artykule J. Pomyka³y i T. Warcho³a30 omówiono zaœ zagadnienie redukcji
bezpieczeñstwa podpisu progowego w grupie dynamicznej, w odniesieniu do podpisu progowego w grupie
PROBLEMY KRYMINALISTYKI 259 (styczeñ–marzec) 2008
statycznej31. Warto dodaæ, ¿e zastosowanie arytmetyki
krzywych eliptycznych implikuje tu redukcjê bezpieczeñstwa systemu do potencjalnie trudniejszego problemu logarytmu dyskretnego na krzywej eliptycznej ni¿
w grupie modularnej.
Podsumowanie
W niniejszej pracy skoncentrowano siê na kwestii
bezpieczeñstwa progowego podpisu cyfrowego w grupach dynamicznych. Wnioski p³yn¹ce z przeprowadzonej analizy s¹ nastêpuj¹ce: charakteryzuj¹c rozwa¿ane
schematy czterema parametrami: (n, m, t, k), gdzie n
oznacza wielkoœæ grupy w danym momencie, m liczbê
ró¿nych udzia³ów w grupie, t progow¹ liczbê udzia³ów,
zaœ k maksymaln¹ liczbê skorumpowanych cz³onków,
stwierdzamy, ¿e schematy wykorzystuj¹ce dzielenie
addytywne odpowiadaj¹ przypadkowi, gdy m = t,
a schematy wykorzystuj¹ce dzielenie wielomianowe
przypadkowi, gdy m = n. Analiza bezpieczeñstwa przekonuje, ¿e pierwszy typ powinien byæ preferowany dla
ma³ych wartoœci t, gdy¿ wtedy mamy dobre ograniczenie na poziom korupcji: k < n/t, natomiast drugi dla du¿ych wartoœci t, gdy¿ wtedy mamy ograniczenie: k < t.
Ostatecznie wybór typu schematu zale¿y od œciœle
przeprowadzonej analizy wymagañ, bezpieczeñstwa
i wydajnoœci funkcjonalnej systemu.
PRZYPISY
1 DSA – digital signature algorithm, ANSI X9.30-1 standard;
2 RSA signature algorithm, ANSI X9.31-1 standard;
3 ECDSA – elliptic curve digital signature algorithm, IEEE
P1363/D2 (1998);
4 B. Ho³yst: Kryminalistyka, wyd. XI, LexisNexis, Warszawa 2007, s. 805;
5 B. Ho³yst, J. Pomyka³a: Podpis elektroniczny – aspekty kryminalistyczne, prawne i informatyczne, „Problemy
Kryminalistyki” 2007, nr 256, s. 5–22;
6 H. Delfs, H. Knebl: Introduction to cryptography, Springer 2002, s. 221–224;
7 B. Ho³yst, J. Pomyka³a: op.cit., s. 5–22;
8 A. Shamir: How to share a secret, „Communications of
the ACM” 1979, nr 22 (1), s. 612–613;
9 R. Di Pietro, L.V. Mancini, G. Zanin: Efficient and adaptive threshold signatures for ad hoc networks, „Electronic Notes in Theoretical Computer Science” 2007,
nr 171, s. 93–105;
10 J. Pomyka³a, S. Barabasz: Elliptic curve based threshold Proxy signature scheme with known signers, „Fundamenta Informaticae” 2006, nr 69 (4), s. 411–425;
11 J. Pomyka³a: On hierarchical structures and access
control, Proceedings of 5th International Conference
APLIMAT 2006, Bratislava, s. 135–145;
12 J. Pomyka³a, T. Warcho³: Threshold signatures in dynamic groups, Proceedings of Future Generation Communication and Networking 2007, IEEE Computer Science,
s. 32–37.
13 Y. Desmedt: Society and group oriented cryptography:
A new concept, CRYPTO ’87, LNCS 293, 1988,
s. 120–127;
14 R. Gennaro, S. Jarecki, H. Krawczyk, T. Rabin: Robust
threshold DSS signatures, Eurocrypt ’96, LNCS 1070,
1996, s. 354–371;
15 J. Pomyka³a, T. Warcho³: op.cit., s. 5–22;
16 R. Di Pietro, L.V. Mancini, G. Zanin: op.cit., s. 93–105;
17 B. Przydatek, D. Song, A. Perrig: SIA: Secure information aggregation in sensor networks, reprint 2003;
18 H. Ghodosi, J. Pieprzyk, R. Safavi–Naini: Dynamic
threshold cryptosystems: a new scheme in group oriented cryptography, Proceedings of PRAGOCRYPT ’96,
s. 370–379;
19 Y. Desmedt: Threshold cryptography, „European Transactions on Telecommunications” 1994, nr 5 (4),
s. 449–457;
20 B. Nakielski, J. Pomyka³a, J.A. Pomyka³a: A multi-threshold signature uka¿e siê w Journal of Telecommunication and Information Technology 2008 (1);
21 R. Di Pietro, L.V. Mancini, G. Zanin: op.cit., s. 93–105;
22 A. Boldyreva: Threshold signatures, multisignatures
and blind signatures based on the gap Diffie-Hellman
group signature scheme, LNCS 2567, 2003, s. 31–44;
23 J. Pomyka³a, T. Warcho³: op.cit., s. 5–22;
24 R. Di Pietro, L.V. Mancini, G. Zanin: op.cit., s. 93–105;
25 B. Ho³yst, J. Pomyka³a: op.cit., s. 5–22;
26 Ibidem;
27 V. Shoup: Practical threshold signatures, Eurocrypt
LNCS 1807, 2000, s. 207–220;
28 R. Rivest, A. Shamir, L.M. Adleman: A method for obtaining digital signatures and public key cryptosystems,
Communications of the ACM 1978, nr 21 (2), 120–126;
29 J. Pomyka³a, J.A. Pomyka³a: Systemy informacyjne.
Modelowanie i wybrane techniki kryptograficzne, MIKOM, Warszawa 1999; s. 149–163;
30 J. Pomyka³a, T. Warcho³: op.cit.;
31 A. Boldyreva: op.cit.
e-mail: [email protected]
PROBLEMY KRYMINALISTYKI 259 (styczeñ–marzec) 2008
21