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