btcduke.com · web viewtabela 1: porównanie wybranych, najczęściej opisywanych w literaturze...

34
Studium podpisów grupowych i pierścieniowych Sarah Meiklejohn 4 lutego, 2011r. Streszczenie Podpisy grupowe to współczesny kryptograficzny prymityw umożliwiający członkowi specjalnej grupy (takiej jak np. pracownicy Białego Domu" lub pracownicy Korporacji X zajmującej się publikacją komunikatów prasowych") podpisywanie wiadomości w imieniu całej grupy bez ujawniania tożsamości poszczególnych jej członków przy jednoczesnym zapewnieniu uczestnikom pewnego poziomu anonimowości i prywatności. Rozwiązanie to ma liczne potencjalne zastosowania (i zostało wprowadzone do najnowszej wersji Trusted Platform Module lub prościej TPM) i w dalszym ciągu znajduje się w fazie badawczej. W niniejszym opracowaniu zajmujemy się podpisami grupowymi oraz ich odmianami, które powstały od chwili ich wprowadzenia po raz w pierwszy w roku 1991 przez Chauma oraz van Heysta. W kolejnych rozdziałach omawiamy podstawowe prymitywy wykorzystywane do tworzenia podpisów grupowych oraz liczne definicje bezpieczeństwa z nimi związane; następnie przedstawiamy szkic konstrukcji generycznych podpisów grupowych (przedstawionych przez Bellare’a, Micciancio oraz Warinschiego), które osiągają najsilniejszy poziom bezpieczeństwa oraz zawierają intuicyjny obraz sposobu w jaki można tego dokonać. W uzupełnieniu do podpisów grupowych rozważamy również podpisy pierścieniowe, w których użytkownicy mogą zachować anonimowość zbliżoną do podpisów grupowych z tym, że umożliwiają one tworzenie grup w sposób przypadkowy – doraźny, tzn. bez żadnego ustawiania lub zgody wymagane od innych członków tych doraźnie tworzonych grup” inaczej nazywanych także pierścieniami. Następnie ponownie będziemy rozważać różne pojęcia związane z bezpieczeństwem oraz wariacje w zakresie oryginalnych koncepcji wprowadzonych przez Rivesta, Shamira i Taumana w 2001r. W dalszej kolejności przedstawiony zostanie ogólny opis konstrukcji podpisu pierścieniowego (opracowany przez Shachama i Watersa), który uważany jest za najbardziej bezpieczny; na koniec zaś prezentowane jest omówienie otwartych problemów związanych zarówno z podpisami grupowymi jak i pierścieniowymi. 1 Wstęp Schemat podpisów grupowych pierwotnie wprowadzony przez Chauma i van Heysta [42] umożliwia członkom szczególnej grupy składanie podpisów w imieniu całej grupy, tzn. bez ujawniania tożsamości jej członków, ale z zachowaniem ich członkostwa w odpowiedniej grupie. Członkowie danej grupy zatem zachowują anonimowość, co oznacza, że ich tożsamość jest trudna do ustalenia w oparciu o wygenerowany podpis. Prymityw ten

Upload: others

Post on 20-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

Studium podpisów grupowych i pierścieniowychSarah Meiklejohn4 lutego, 2011r.

Streszczenie

Podpisy grupowe to współczesny kryptograficzny prymityw umożliwiający członkowi specjalnej grupy (takiej jak np. pracownicy Białego Domu" lub pracownicy Korporacji X zajmującej się publikacją komunikatów prasowych") podpisywanie wiadomości w imieniu całej grupy bez ujawniania tożsamości poszczególnych jej członków przy jednoczesnym zapewnieniu uczestnikom pewnego poziomu anonimowości i prywatności. Rozwiązanie to ma liczne potencjalne zastosowania (i zostało wprowadzone do najnowszej wersji Trusted Platform Module lub prościej TPM) i w dalszym ciągu znajduje się w fazie badawczej. W niniejszym opracowaniu zajmujemy się podpisami grupowymi oraz ich odmianami, które powstały od chwili ich wprowadzenia po raz w pierwszy w roku 1991 przez Chauma oraz van Heysta. W kolejnych rozdziałach omawiamy podstawowe prymitywy wykorzystywane do tworzenia podpisów grupowych oraz liczne definicje bezpieczeństwa z nimi związane; następnie przedstawiamy szkic konstrukcji generycznych podpisów grupowych (przedstawionych przez Bellare’a, Micciancio oraz Warinschiego), które osiągają najsilniejszy poziom bezpieczeństwa oraz zawierają intuicyjny obraz sposobu w jaki można tego dokonać.

W uzupełnieniu do podpisów grupowych rozważamy również podpisy pierścieniowe, w których użytkownicy mogą zachować anonimowość zbliżoną do podpisów grupowych z tym, że umożliwiają one tworzenie grup w sposób przypadkowy – doraźny, tzn. bez żadnego ustawiania lub zgody wymagane od innych członków tych doraźnie tworzonych grup” inaczej nazywanych także pierścieniami. Następnie ponownie będziemy rozważać różne pojęcia związane z bezpieczeństwem oraz wariacje w zakresie oryginalnych koncepcji wprowadzonych przez Rivesta, Shamira i Taumana w 2001r. W dalszej kolejności przedstawiony zostanie ogólny opis konstrukcji podpisu pierścieniowego (opracowany przez Shachama i Watersa), który uważany jest za najbardziej bezpieczny; na koniec zaś prezentowane jest omówienie otwartych problemów związanych zarówno z podpisami grupowymi jak i pierścieniowymi.

1 Wstęp

Schemat podpisów grupowych pierwotnie wprowadzony przez Chauma i van Heysta [42] umożliwia członkom szczególnej grupy składanie podpisów w imieniu całej grupy, tzn. bez ujawniania tożsamości jej członków, ale z zachowaniem ich członkostwa w odpowiedniej grupie. Członkowie danej grupy zatem zachowują anonimowość, co oznacza, że ich tożsamość jest trudna do ustalenia w oparciu o wygenerowany podpis. Prymityw ten posiada liczne zastosowania i w rzeczywistości jest obecnie uruchamiany w dwóch środowiskach (ustawieniach) rzeczywistych. Pierwsze z tych zastosowań to weryfikacja (atestacja) anonimowa, w której serwer chce dokonać uwierzytelnienia zaufanej platformy działającej zdalnie na laptopie użytkownika, jednak użytkownik woli zachować prywatność ujawniając serwerowi informację o tym, że jest ważnym użytkownikiem zaufanej platformy, a nie kim jest naprawdę. Direct Anonymous Attestation (DAA) – Bezpośrednie Anonimowe Uwierzytelnienie [29], które to właśnie osiąga oparte jest na górnej części wariantu podpisu grupowego (oryginalny podpis grupowy zawdzięczamy Ateniese et al. [5], a odpowiednią wariację Brickellowi, Camenischowi oraz Chenowi [29]); zostały one przyjęte przez Trusted Computing Group w najnowszej wersji (wersja 1.2) ich Modułu zaufanej platformy - Trusted Platform Module (TPM) [89]. Innym sposobem wykorzystania (pierwszym opisanym przez Boneh, Boyen oraz Shachama [20]) podpisów grupowych mogą być1 systemy bezpiecznej korespondencji - Safety Communications (VSC) [66] umożliwiające zachowanie prywatności użytkowników. W systemach tych, pojazdy są wyposażane w dedykowane nadajniki krótkiego zasięgu, które następnie umożliwiają pojazdowi komunikowanie się w nagłych przypadkach z pozostałymi autami znajdującymi się na małym obszarze, np. aby ich poinformować o konieczności gwałtownego hamowania

1 Chociaż w tym podejściu mogą być wykorzystywane, w praktyce zastępczo stosuje się niektóre przybliżenia podpisów.

Page 2: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

lub wykonania podobnego manewru. Wykorzystywanie podpisu grupowego, w którym uczestnicy grupy są takimi pojazdami wyposażonymi w urządzenia umożliwiające wysyłanie tego typu komunikatów, pozwalają kierowcom chronić swoją prywatność bez konieczności ujawniania informacji o prędkości z jaką się poruszają, czy miejsca, w którym się znajdują w chwili wysyłania komunikatu bezpieczeństwa.

Mówiąc nieco bardziej ogólnie, podpisy grupowe są użyteczne w dowolnych aplikacjach, w których podpis pochodzi od całej grupy i nie ma żadnej korzyści z ujawnienia, który szczególny członek tej grupy go wygenerował. Podobnie jak w przypadku dowolnej aplikacji chroniącej tożsamość, chcielibyśmy zachować anonimowość użytkowników w jak najszerszym zakresie; nie mniej jednak zawsze musi istnieć mechanizm pozwalający na wychwycenie niesubordynowanych uczestników grupy (w przeciwnym razie nieuczciwi lub złośliwi członkowie mogą wykorzystać swoją anonimowość i bezkarnie dopuszczać się czynów niedozwolonych). Na przykład, jeżeli grupa składa się z członków pewnej korporacji odpowiedzialnych za publikację komunikatów prasowych, niezadowolony pracownik, który publikuje i podpisuje fałszywe lub szkodliwe komunikaty powinien być możliwy do wyśledzenia i identyfikacji (najprawdopodobniej) wyrzucony lub ukarany w inny sposób. Właściwość tę nazywamy możliwością wyśledzenia (traceability); warto zauważyć, że jedynie strona posiadająca szczególny rodzaj informacji powinna mieć możliwość śledzenia (w powyższym przykładzie, powinien być to szef lub bezpośredni przełożony pracownika); w przeciwnym razie, cecha anonimowości zostanie naruszona. Możemy również powiedzieć, że chcielibyśmy, aby takie uprawnienie było wykorzystywane wyłącznie w sytuacjach tego bezwzględnie wymagających; np. jeżeli informacja prasowa zawiera pewne słowa kluczowe lub ogólnie, jeżeli określona polityka nie jest przestrzegana; w przeciwnym razie śledzenie wiadomości będzie po prostu dokonywać się dowolnie. Chociaż kwestia ta nie jest często uregulowana w literaturze dotyczącej podpisów grupowych (z reguły strona śledząca zawsze uznawana jest za zaufaną), pojęcie „anonimowości kontraktowej" zostało wprowadzone przez Schwartza, Brumleya i McCune’a w 2010r. [86] w celu uporządkowania właśnie tej kwestii; zasadniczo mówi ono, że jeżeli użytkownicy przestrzegają danej polityki, to mają zagwarantowaną bezwarunkową anonimowość; w przeciwnym razie ich tożsamość zostaje ujawniona (zawsze jednak względem jednego tylko śledzącego).

Poza tymi dwiema zasadniczymi właściwościami, anonimowością oraz możliwością śledzenia, istnieje wiele cech w ramach podpisów grupowych, a także dodatkowe elementy, które możemy wziąć pod uwagę. W typowym schemacie podpisu grupowego, zaufany group master określa użytkowników i wystawia sekretne klucze pozostałym jej członkom; dodatkowo także udostępnia klucz publiczny dla całej grupy. Group master może także wziąć na siebie odpowiedzialność za wykonywanie operacji związanych ze śledzeniem, chociaż funkcjonalność ta może być także podzielona na dwa źródła ponoszące odpowiedzialność; należy podkreślić, że podział ten ma pewne pożądane cechy, które niekoniecznie muszą występować u osoby śledzącej, a mianowicie wszystkie informacje sekretne są dostępne kierownikowi grupy (group manager) (tak naprawdę, w praktyce oznacza to znacznie mniej). Dodatkowo, group manager może być wykorzystywany zamiast group mastera; manager różni się od funkcji group master w tym sensie, że wchodzi on w bezpośrednie interakcje z użytkownikami w zakresie tworzenia i udostępniania kluczy sekretnych, ale nie będzie się ich uczyć, zatem tylko właściwy użytkownik będzie posiadać dostęp do swojego własnego klucza. Członkowie grup mogą także mieć charakter statyczny, co oznacza, że mogą być predefiniowani na początku lub dynamiczni, czyli nowi członkowie mogą być oddawani przez cały okres ewolucji grupy. Na koniec, schematy wspierające anulację (unieważnienie) umożliwiają group master/manager anulowanie kluczy uczestników, którzy wykazują niepożądane zachowania, co oznacza, że nie będą mogli składać swoich podpisów w imieniu grupy. Wszystkie potencjalne rozszerzenia omawiamy bardziej szczegółowo w Rozdziale 4.

W przypadku schematu podpisu grupowego, który wspiera proces dynamicznego dodawania i usuwania użytkowników, istnieje tylko jedna wada o zasadniczym charakterze dotycząca elastyczności podpisu: w chwili umieszczenia podpisu w wiadomości, członkowie grupy stają tak naprawdę utrwaleni i statyczni; tzn. grup nie można tworzyć doraźnie w trybie signature-by-signature (podpis po podpisie). Aby wypełnić

Page 3: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

tę lukę, Rivest, Shamir i Tauman zaproponowali wprowadzenie podpisów pierścieniowych w 2001r. [82], w których podpisujący wiadomość mogą określić pewien pierścień w chwili składania podpisu. Podpis ten gwarantuje ten samą poziom anonimowości autora podpisu, jak w przypadku podpisu grupowego; a mianowicie, odbiorca otrzyma informację, że wiadomość została podpisana przez uczestnika tego doraźnie utworzonego pierścienia, bez podawania informacji który z jego uczestników złożył podpis. Zamiast tego nieco uciążliwego i nieporęcznego kroku, niezbędnego w przypadku podpisów grupowych, podpisy pierścieniowe zakładają, że każdy uczestnik grupy będzie posiadać klucz publiczny opublikowany w odniesieniu do standardowego schematu podpisu cyfrowego; w niektórych schematach pierścieniowych, uczestnicy mogą nawet posiadać klucze pasujące do różnych schematów podpisu (taki przykład podaje Rivest et al., w którym dowolny schemat podpisu oparty na jednokierunkowych permutacjach typu trapdoor jest wystarczający).

W uzupełnieniu do braku wymaganych ustawień, podpisy pierścieniowe różnią się od podpisów grupowych w jeden zasadniczy sposób: anonimowość podpisujących jest gwarantowana bezwarunkowo, ponieważ nie ma tutaj żadnego uprawnionego elementu śledzącego. Dodatkowo, poszczególni użytkownicy posiadają precyzyjną kontrolę nad swoją własną anonimowością, ponieważ mogą wybrać pozostałych członków swojego pierścienia, za każdym razem, kiedy podpisują wiadomości (w odróżnieniu od podpisów grupowych, w których użytkownicy nie posiadają kontroli nad pozostałymi członkami grupy). Zakres potencjalnych zastosowań podpisów pierścieniowych różni się zatem od zakresu w jakim wykorzystywane są podpisy grupowe. Warto sobie w tym miejscu przypomnieć, że naszym celem było zachowanie prywatności w ramach określonych ustawień, w których nie ma żadnych korzyści lub potrzeby ujawniania tożsamości poszczególnych uczestników grupy. W schemacie podpisów pierścieniowych z drugiej strony, chcielibyśmy zachować prywatność w ustawieniach, w których jest niepożądane ujawnienie tożsamości sygnatariusza; na przykład, w swoim modelowym przykładzie, Rivest, Shamir i Tauman (a w zasadzie nawet w samym tytule ich pracy), zakłada się wykorzystanie podpisów pierścieniowych w celu kradzieży podpisu, gdzie użytkownik składający podpis pod wiadomością nie działa w imieniu żądnej organizacji/instytucji, ale w dalszym ciągu pragnie zachować anonimowość. Z przykładami podpisów pierścieniowych (wg Shachama i Watersa [87]) zapoznamy się w Rozdziale 7.

2 Perspektywa kryptograficzna

Podpisy grupowe i pierścieniowe to bardzo zaawansowane prymitywy – funkcje elementarne - zbudowane w oparciu o szeroki zestaw różnorodnych, podstawowych funkcji kryptograficznych. W niniejszym rozdziale, prezentujemy krótki opis często stosowanych funkcji (i zapoznamy się ze sposobem ich wykorzystywania w Rozdziale 6) oraz ich strukturę (budowę).

2.1 Szyfrowanie za pomocą klucza publicznego

Szyfrowanie za pomocą klucza publicznego (wraz całym zestawem narzędzi szyfrowania w oparciu o klucz publiczny) wprowadzono po raz pierwszy w latach 1970-tych [81, 75] jako sposób umożliwiający wyeliminowanie fundamentalnych wad szyfrowania za pomocą klucza symetrycznego, mianowicie faktu, że dwie strony, które chcą wysłać wiadomości sobie wzajemnie będą najpierw musiały znaleźć sposób na wymianę klucza sekretnego między sobą. Od tej pory szyfrowanie kluczem publicznym stało się jedną z najlepiej zbadanych i opisanych funkcji elementarnych w kryptografii [55, 49, 79, 88, 1, 30, 21, 22, 43, 65].

Z formalnego punktu widzenia schemat szyfrowania w oparciu o klucz publiczny składa się z trzech algorytmów: losowego algorytmu KeyGen, losowego algorytmu Enc oraz algorytmu deterministycznego Dec. Aby wygenerować klucze, użytkownik musi uruchomić algorytm KeyGen (w momencie

Page 4: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

wprowadzenia wybranego parametru bezpieczeństwa 1k) w celu pobrania publicznego klucza szyfrowania pk oraz sekretnego klucza dekodowania sk; następnie ten klucz publiczny może być wprowadzony w pewien punkt element i skojarzony z użytkownikiem. W sytuacji, gdy inna osoba będzie chciała zaszyfrować wiadomość m przeznaczoną dla tego użytkownika będzie mogła wyszukać klucz publiczny tej osoby oraz obliczyć wartość c ← Enc(pk, m), gdzie c stanowi szyfrogram. Mając ten szyfrogram, użytkownik może następnie odszyfrować wiadomość stosując sekretny klucz w celu odzyskania wartości (wiadomości) wyjściowej m = Dec(sk, c).

Jeżeli chodzi o bezpieczeństwo, istnieją dwa zasadnicze pojęcia uwzględniane w procesie szyfrowania: bezpieczeństwo IND-CPA, które jest krótkie w przypadku INDistinguishability w sytuacji ataku typu Chosen Plaintext Attack oraz zabezpieczenie IND-CCA, które jest krótkie w przypadku INDistinguishability zabezpieczającego przed atakiem typu Chosen Ciphertext Attack. Z nieco mniej formalnej perspektywy, pierwsze rozwiązanie mówi nam o tym, że adwersarz, mając do dyspozycji szyfrogram w jednej z dwóch wiadomości (wybranych przez adwersarza - stąd nazwa) nie może rozróżnić, która z nich jest zaszyfrowana i stanowi szyfrogram. Silniejsze pojęcie – zabezpieczenie IND-CCA [47, 43] mówi, że adwersarz w dalszym ciągu nie jest w stanie określić różnicy pomiędzy dwiema zaszyfrowanymi wiadomości, nawet jeśli ma możliwość zapoznania się z rozszyfrowanymi losowymi szyfrogramami (chociaż oczywiście nie samą wiadomość stanowiącą szyfrogram zawierający wyzwanie) zarówno przed jak i po otrzymaniu szyfrogramu wyzwania.

2.2 Podpisy cyfrowe

Podpisy cyfrowe zostały wprowadzone w tym samym czasie, co szyfrowanie w oparciu o klucz publiczny [81, 80] i mogą być określane, jako cyfrowa postać wersji analogowej podpisu fizycznego; to znaczy, że dostarczają one dowód na to, że dana wiadomość została napisana przez osobę, która mówi, że ją napisała. Podobnie jak w przypadku szyfrowania z użyciem klucza publicznego, rozwiązaniom tym poświecono wiele uwagi od chwili ich wprowadzenia [49, 76, 85, 18, 34, 57, 77, 3]. Ich zakres został także rozszerzony i udoskonalony na wiele sposobów [39, 88, 17, 23, 12, 41, 50, 74] w tym przez podpisy grupowe.

Z formalnego punktu widzenia mamy do czynienia z trzema algorytmami, które można wziąć pod uwagę w ustawieniach klucza publicznego: losowo wybranym algorytmem KeyGen, losowo wybranym (chociaż mającym charakter deterministyczny w przypadku podpisów unikalnych [73]) algorytmem Sign, a także deterministycznym algorytmem Verify. Użytkownik uruchamia algorytm KeyGen w celu wygenerowania dwóch kluczy: własnego klucza uwierzytelniającego pk oraz sekretnego klucza podpisu sk; klucz publiczny następnie zostanie opublikowany w określonym rejestrze kluczy publicznych. W sytuacji, gdy użytkownik zechce umieścić podpis pod wiadomością m, może także obliczyć wartość Sign(sk, m) w celu wygenerowania podpisu σ. Adresat wiadomości oraz jego podpis może wyszukać klucz publiczny dla użytkownika oraz obliczyć Verify (pk, σ, m). Jeżeli pozwolą one wygenerować dane wyjściowe 1, to odbiorca będzie mieć pewność, że wiadomości te rzeczywiście pochodzą od nadawcy; w przeciwnym razie, jeżeli wartość wynosi 0, odbiorca wie, że wiadomość została wysłana przez oszusta podejmującego próbę sfałszowania podpisu nadawcy (lub nieco mniej cynicznie, że podpis został w pewien sposób nieprawidłowo wygenerowany/skonstruowany).

Jeżeli chodzi o bezpieczeństwo, definicje podpisów zostały po raz pierwszy podane przez Goldwassera, Micali’ego oraz Rivesta [57]. Z nieformalnego punktu widzenia, chcielibyśmy stwierdzić, że podpisów nie można sfałszować, co oznacza, że nikt nie może sfałszować podpisów w imieniu innej osoby. Z nieco bardziej formalnego punktu widzenia, najsilniejsze pojęcie bezpieczeństwa omawiane przez Goldwasseraet al. jest znane jako zabezpieczenie EUF-CMA, które jest krótkie dla Existential Unforgeability zabezpieczającej przez atakiem typu Chosen Message Attack; zasadniczo jest to rozszerzenie naszej

Page 5: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

intuicji, które mówi, że nawet po zapoznaniu się z losowo wybranymi mnogimi podpisami pod różnymi wiadomościami wybranymi przez adwersarza nie będzie on w stanie wygenerować ważnego (działającego) fałszu (pod dowolną wiadomością).

2.3 Uwierzytelnienie w oparciu o wiedzę zerową (zero-knowledge proofs)

Uwierzytelnienie w oparciu o wiedzę zerową wprowadzono po raz pierwszy w latach 1980-tych [56, 54] jako sposób na umożliwienie wykazania, że określone stwierdzenie jest prawdziwe bez ujawniania żadnych dodatkowych informacji poza tym; już w tej pracy wykazano istnienie tego typu dowodów dla wszystkich języków w NP. Od tej pory wiele wysiłku włożono w udoskonalenie oraz rozszerzenie zakresu ich stosowania [37, 44, 52, 62, 71, 63, 84] i są one rzeczywiście szeroko wykorzystywane w różnych sytuacjach [60, 72, 31, 10, 40, 32, 9].

Bardzo przydatnym typem uwierzytelnienia w oparciu o wiedzę zerową jest nieinteraktywny dowód wiedzy zerowej (non-interactive zero-knowledge proof – NIZK) [16, 51], w którym wymagana jest interakcja pomiędzy osobą przedstawiającą dowód, a osobą uwierzytelniającą. NIZK jest w związku z tym pojedynczą wiadomością (dowodem) wysyłanym przez osobę przedstawiającą dowód P weryfikatorowi V, gdzie obie strony posiadają dostęp do pewnego losowego strumienia R.2 Przed wysłaniem wiadomości, powinien być uruchomiony algorytm ustawień (Setup algorithm) (albo przez stronę zaufaną lub, w niektórych przypadkach, wspólnie przez osobę przedstawiającą dowód, jak i przez osobę uwierzytelniającą) w celu uzyskania losowego strumienia R. Następnie będziemy wykorzystywać zapis π ← P(R, x, w), co oznacza, że dowód π obliczony przez osobę składającą podpis w odniesieniu do oświadczenia x wykorzystuje świadka w oraz V(R,x,w) oznaczają uwierzytelnienie dowodu π dla oświadczenia x (oraz obie strony posiadają dostęp do losowego strumienia R).

Jeżeli idzie o bezpieczeństwo, istnieją dwie zasadnicze cechy pożądane przez nas w przypadku dowodu wiedzy zerowej: niezawodność oraz wiedza zerowa. Z nieformalnego punktu widzenia, właściwość niezawodności gwarantuje, że osoba składająca dowód jest uczciwa; to znaczy, że nawet wszechmocna osoba przedstawiająca dowód nie może za pomocą sztuczki zmusi do założenia, że fałszywe oświadczenie może być prawdziwe. Z drugiej strony, cecha wiedzy zerowej chroni prywatność osoby składającej dowód i gwarantuje, że osoba weryfikującą nie uzyska żadnych dodatkowych informacji poza informacją dotyczącą ważności oświadczenia (w szczególności zaś, nie dowie się niczego poza sekretną informacją, do której może mieć dostęp osoba weryfikująca).

3 Definicje oraz notacja stosowana w przypadku podpisów grupowych i pierścieniowych

Zanim podamy formalne definicje podpisów grupowych i pierścieniowych, chcemy rozważyć dwa pojęcia, które są wykorzystywane w kryptografii. Pierwsze to funkcja pomijalna, która oznacza funkcję v(∙) taką, że dla wszystkich wartości k € N istnieje liczba całkowita x0 taka, że dla wszystkich x > x0, v(x) < 1/xk; innymi słowy, jest to funkcja, która rośnie wolniej, niż odwrotność dowolnego wielomianu. Możemy także uwzględnić adwersarzy, którzy mogą dokonywać losowych wyborów, ale którzy są ograniczeni do działania w wielomianach czasowych oraz w ramach rozmiarów swoich danych; do takich adwersarzy odnosimy się jako do probabilistycznych adwersarzy czasu wielomianowego - polynomial-time adversaries nazywanych w skrócie PPT.

2 W wielu przypadkach, wymagany jest tak naprawdę powszechnie stosowany strumień referencyjny, ale w dalszym ciągu trzymamy się modelu powszechnego strumienia losowego w celu uproszczenia prezentacji

.

Page 6: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

3.1 Podpisy grupowe

Z formalnego punktu widzenia, schematy podpisów grupowych3 składają się z czterech algorytmów: KeyGen, Sign, Verify oraz Trace, z których dwa pierwsze są losowe, a kolejne dwa deterministyczne. Algorytm KeyGen po wprowadzeniu parametru bezpieczeństwa 1k oraz liczby użytkowników 1n w grupie, generuje wyjściowo grupowy klucz publiczny pk, klucz sekretny msk przewidziany jedynie dla group

mastera oraz zbiór kluczy sekretnych, gdzie ski stanowi klucz sekretny użytkownika i. Algorytm Sign, po wprowadzeniu sekretnego klucza podpisu ski oraz wiadomości m, zwraca podpis σ pod m pod ski. Algorytm Verify, po wprowadzeniu grupowego klucza publicznego pk, podpisu σ oraz wiadomości m generuje albo 0, albo 1 w zależności od tego, czy σ zostało rzeczywiście utworzone przez członka grupy. Na koniec, algorytm Trace po wprowadzeniu sekretu master msk oraz podpisu σ pod wiadomością m generuje wyjściowo albo tożsamość użytkownika i lub , co oznacza niepowodzenie (tzn., że nie był w stanie ustalić, który użytkownik podpisał się pod wiadomością lub że σ nie był ważnym podpisem pod wiadomością m).Generalnie, chcemy, aby dwie główne cechy charakteryzowały podpisy grupowe: anonimowość oraz możliwość śledzenia. Intuicyjnie można powiedzieć, że właściwość anonimowości gwarantuje, że odbiorca podpisu grupowego nie będzie w stanie stwierdzić, który członek grupy stworzył podpis; z formalnego punktu widzenia mamy następującą definicję:

Definicja 3.1. [11] Dla schematu podpisu grupowego (KeyGen, Sign, Verify oraz Trace), dany adwersarz A oraz bit b f ← {0, 1} nieznane A, definiują poniższą grę:

Krok 1. (pk, msk, {ski}) ← KeyGen(1k, 1n). Krok 2. A otrzymuje teraz pk oraz {ski} i może złożyć dowolnie wiele zapytań do Oracle Trace

(msk, ∙ , ∙) w celu wyśledzenia wybranych przez siebie podpisów (tzn. ważne podpisy pod dowolną wiadomością m podpisana za pomocą dowolnego klucza sekretnego ski). Będzie ona także zawierać informacje o stanie s.

Krok 3. (m, i0, i1) ← A(pk, {ski}, s), gdzie mamy oraz . Krok 4. A otrzymuje teraz σ ←Sign(skib , m). Może także ponownie wygenerować zapytanie do

Oracle Trace(msk, ∙ , ∙) dość dowolnie, jednak tym razem z ograniczeniem takim, że nie może złożyć zapytania odnośnie do σ.

Krok 5. W końcu, A generuje wyjściowe wartości bit b’.

Mówimy, że podpis grupowy jest w pełni anonimowy, jeżeli dla wszystkich algorytmów PPT A istnieje funkcja pomijalna v(∙) oraz parametr zabezpieczeń k0 taki, że dla wszystkich k > k0 prawdopodobieństwo (nad wyborem b oraz losowością wykorzystywaną przez KeyGen oraz A) b’ = b wynosi najwyżej 1/2 + v(k).

Jak mieliśmy okazję przekonać się, definicja ta jest dość silna: podczas gry, adwersarz otrzymuje dostęp do poszczególnych kluczy sekretnych uczestników oraz pełny dostęp do śledzenia oracle zarówno przed jak i po tym, jak wybierze tożsamości, którym stawiane jest wyzwanie. Nieco słabsze ustawienie, w którym adwersarz nie posiada takie dostępu oracle okazuje się w dalszym ciągu mieć znaczenie (różnica pomiędzy dwoma ustawieniami jest analogiczna do różnicy pomiędzy szyfrowaniem z zabezpieczonym IND-CCA- i IND-CPA; patrz: Rozdział 2.1 w celu przypomnienia rozwiązania) i tak naprawdę jest

3 W tym miejscu stosujemy najbardziej podstawową definicję: grupa statyczna z tylko jednym group master (tzn. bez wydzielonej osoby śledzącej lub klucza śledzącego). Kolejne warianty oraz ich definicje są omówione w Rozdziale 4.

Page 7: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

ustawieniem wykorzystywanym (i wprowadzonym) przez Boneha, Boyena oraz Shachama [20] i Boyena i Watersa [27, 28].

W odniesieniu do możliwości śledzenia, intuicyjnie chcielibyśmy powiedzieć, że niewłaściwie zachowujący się członek grupy zostanie złapany nawet jeśli członkowie grupy podejmują próbę zmiany swoich własnych kluczy sekretnych lub wchodzą w zmowę, aby „wrobić” pozostałych członków w innych sposób odsunąć od siebie podejrzenie. Definicja jest następująca:

Definicja 3.2. [11] W odniesieniu do schematu podpisu grupowego (KeyGen, Sign, Verify, Trace) oraz danego adwersarza A, zdefiniuj poniższą grę:

Krok 1. (pk, msk, {ski}) ← KeyGen(1k, 1n). Krok 2. A otrzymuje teraz pk oraz msk i może wybrać dowolny podzbiór użytkowników C w celu

złamania. Dokonując wyboru zbioru C, A uzyskuje dostęp do oracle składającego podpis, któremu może nadać tożsamość oraz wiadomość m w celu uzyskania Sign(sk i;m); pod dokonaniu przez A wyboru użytkownika, otrzymuje on dostęp do klucza sekretnego tego użytkownika i może dokonać adaptacyjnego wyboru pozostałych użytkowników.

Krok 3. A może teraz zachować dostęp do oracle składającego podpis w Kroku 2 oraz dostęp do kluczy sekretnych naruszonych przez siebie użytkownika oraz głównego (master) klucza sekretnego msk. Pod koniec tego kroku, A generuje parę (m, σ).

Mówimy, że podpis grupowy jest w pełni możliwy do prześledzenia, jeżeli dla wszystkich tego typu algorytmów PPT A istnieje pomijalną funkcja v(∙) a parametr zabezpieczeń k0 taki, że dla wszystkich k > k0

prawdopodobieństwo (przy losowości wykorzystywanej w KeyGen, Sign oraz A) że Verify(pk, σ, m) = 1

oraz że istnieje takie i że (1) Trace (msk, σ) = i, (2) i C i (3) A nie złożył zapytania do swojego oracle składającego podpis dotyczącego (i, m) wynosi co najwyżej v(k).

3.2 Podpisy pierścieniowe

Podpisy pierścieniowe wprowadzone przez Rivesta, Shamira oraz Taumana [82] składają się z jedynie dwóch algorytmów: Sign oraz Verify; obejmują one intuicję, że podpisy pierścieniowe są zasadniczo podpisami wolnymi od ustawień (tzn. nie wymagają stosowania algorytmu KeyGen) oraz bezwarunkowo anonimowymi (z uwagi na brak algorytmu Trace). W nieco nowszych wersjach schematów podpisów pierścieniowych, algorytm KeyGen został wprowadzony jako gwarancja, że wszyscy użytkownicy będą posiadać ten sam rodzaj kluczy. Dlatego, dla celów definicji zabezpieczeń, zakładamy, że schemat podpisów pierścieniowych składa się z trzech algorytmów: KeyGen, Sign oraz Verify. Każdy użytkownik uruchamia KeyGen indywidualnie; algorytm ten po wprowadzeniu parametru zabezpieczeń 1k wygeneruje parę kluczy (pk, sk). Algorytm Sign po wprowadzenie klucza sekretnego sk, pierścień R (z reguły, jest to zwykła lista kluczy publicznych należących do członków pierścienia) oraz wiadomość m, generuje podpis σ pod m. Na koniec, algorytm Verify, na pierścieniu wejściowym R, podpisie σ oraz wiadomości m, generuje wartość wyjściową 1, jeżeli jeden członek R utworzył podpis σ pod m; w pozostałych sytuacjach wartość wynosi 0.

Intuicyjnie, chcielibyśmy, aby podpisy cyfrowe były zabezpieczane podobnie, jak to miało miejsce w przypadku podpisów grupowych. Okazuje się, że możemy osiągnąć anonimowość na poziomie zbliżonym do Definicji 3.1, ale bez algorytmu Trace oczywiści nie możemy mieć nadziei na osiągnięcie czegokolwiek, co przypominałoby możliwość śledzenia. Chcielibyśmy mieć pewność, że uczestnicy nie należący do pierścienia nie będą w stanie sfałszować podpisów i w związku z tym rozważamy nieco słabszą właściwość związaną z brakiem możliwości podrobienia (sfałszowania) podpisu. Obie właściwości zostały po raz pierwszy formalnie zdefiniowane przez Bendera, Katza oraz Morselliego [15].

Page 8: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

Zgodnie z definicją przedstawioną przez Bendera et al., istnieją trzy potencjalne poziomy anonimowości, które możemy osiągnąć: anonimowość podstawowa, w której adwersarz widzi tylko klucze publiczne; anonimowość dotycząca kluczy wybranych w sposób nieprzyjazny, dzięki którym adwersarz (jak sama nazwa wskazuje) może wybrać swoją własną parę kluczy i tym samym zasadniczo utworzyć swoich własnych użytkowników; oraz ostatecznie anonimowość w odniesieniu do pełnego ryzyka ekspozycji klucza, gdzie adwersarz może kontynuować wybór swoich własnych kluczy, ale także widzi klucze sekretne każdego innego uczestnika. Ponieważ ta ostatnia (i jednocześnie najsilniejsza) definicja jest najbardziej zbliżona do definicji podanej powyżej dla podpisów grupowych, przedstawiamy ją poniżej.

Definicja 3.3. [15] W przypadku schematu podpisu pierścieniowego (KeyGen, Sign oraz Verify), danego adwersarza A oraz bit b ← {0, 1} nieznanych A, zdefiniować grę zgodnie z poniższym:

Krok 1. Algorytm KeyGen jest uruchamiany m razy w celu uzyskania zbioru a ((pk1, sk1), … ,(pkm, skm)) pary kluczy.

Krok 2. A uzyskuje teraz dostęp do zbioru kluczy publicznych S = {pk i} oraz oracle składającego podpisu; np. oracle, który mając dany dowolny indeks i, dowolny pierścień R (zatem może się zdarzyć, że ) oraz dowolną wiadomość m wygeneruje dane wyjściowe Sign(sk, R, m). Pod koniec tego kroku, A będzie mógł zapisać niektóre informacje o stanie s.

Krok 3. (i0, i1, R, m) ← A(s). Należy podkreślić, że może znowu okazać się, że , ale musi być prawdą, że pki0 oraz pki1 będą znajdować się w pierścieniu R oraz że i0 ≠ i1 a .

Krok 4. b’ ← A(σ = Sign(skib, R, m), {ski}).

Mówimy, że podpis pierścieniowy jest anonimowy względem pełnej ekspozycji klucza, jeżeli dla wszystkich takich algorytmów PPT A istnieje funkcja pomijalna v(∙) oraz parametr zabezpieczeń k0 taki, że dla wszystkich wartości k > k0 prawdopodobieństwo (mając wybór b oraz losowość wykorzystywaną w KeyGen, Sign oraz A), że b’ = b równe jest najwyżej 1/2 + v(k).

Podobnie jak w przypadku anonimowości, możemy rozważyć w naszych definicjach różne poziomy siły i braku możliwości sfałszowania podpisu. Najsłabszy, tzn. brak możliwości sfałszowania przy zastosowaniu ataków typu fixed-ring dotyczy adwersarza, który nie wybiera swojego pierścienia R, ale raczej otrzymuje ten pierścień na samym początku gry. Nieco silniejszy jest brak możliwości sfałszowania przy ataku typu chosen-ring i dotyczy on adwersarza, który wybiera swój własny pierścień. Na koniec, najsilniejszy jest taki, w którym adwersarz może wybrać dowolny podzbiór uczestnika pierścienia w celu złamania, co oznacza, że otrzymuje on dostęp do ich kluczy sekretnych. I znowu, ta najmocniejsza definicja jest prawdopodobnie najbardziej zbliżona do podpisu grupowego (z Definicji 3.2) i dlatego przedstawiamy ją w tym miejscu.

Definicja 3.4. [15] Dla schematu podpisu pierścieniowego (KeyGen, Sign oraz Verify) i danego adwersarza A, zdefiniuj następująca grę:

Krok 1. Algorytm KeyGen jest uruchamiany m razy w celu uzyskania zbioru ((pk1, sk1), … , (pkm, skm)) pat kluczy.

Krok 2. A otrzymuje teraz S = {pkiI} i może wybrać dowolny podzbiór C użytkowników, który zechce sfałszować. Wybierając ten zbiór C, A otrzymuje dostęp do Oracle składającego podpis; tzn. oracle, który mając dany dowolny indeks i dowolny pierścień R (gdzie może być prawdą, że

) oraz wiadomość m wygenerują dane wyjściowe Sign(ski, R, m). Po dokonaniu przez A wyboru użytkownika, następnie otrzymuje on dostęp do klucza sekretnego danego użytkownika i może wybrać pozostałych użytkowników w sposób adaptacyjny. Pod koniec tego kroku, A będzie w stanie zapisać niektóre informacje dotyczące stanu s.

Krok 3. (R*, m*, σ*) ← A(s).

Page 9: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

Mówimy, że podpis grupowy nie jest możliwy do sfałszowania w przypadku ujawnienia informacji poufnych, jeżeli dla wszystkich takich algorytmów PPTA istnieje pomijalna funkcja v(∙) oraz parametr zabezpieczeń k0 taki, że dla wszystkich k > k0 prawdopodobieństwo (przy losowości stosowanej w KeyGen, Sign oraz A), że Verify(R*, σ*, m*) = 1 oraz istnieje takie j, że (1) A nie zadał zapytania swoim oracle składającym podpis pod (j, R*, m*) i (2) R*_ wynosi co najwyżej v(k).

Dla obu zmiennych stopni anonimowości oraz możliwości sfałszowania, Bender et al. dowodzą słuszności wyników rozdzielenia; oznacza to, że definicje są oddzielne oraz na każdym kolejnym poziomie definicja jest znacznie silniejsza niż ta poniżej.

4 Wprowadzenie do podpisów grupowych i wariantów

W tym rozdziale, zajmujemy się wybranymi, potencjalnymi rozszerzeniami czterech podstawowych algorytmów(KeyGen, Sign, Verify oraz Trace), które wchodzą w skład schematu podpisu grupowego; w szczególności koncentrujemy się na wykorzystaniu grup dynamicznych z group managerem oraz na pojęciu anulowania (wycofania).

Zanim przystąpimy do omówienia tych wariantów, ważne jest, aby najpierw określić ich tło. Jak już wspomnieliśmy w Rozdziale 1, podpisy grupowe zostały po raz pierwszy wprowadzone przez Chauma oraz Heysta [42] w 1991r., którzy przedstawili je jako użyteczne prymitywy oraz przedstawili ich pierwsze konstrukcje. W 1997r., Camenisch oraz Stadler [36] zaproponowali pierwszy schemat podpisu grupowego, w którym rozmiar zarówno kluczy publicznych jak i podpisów nie był uzależniony wielkości grupy; tzn. ich wielkość była stała. Ich konstrukcja obejmuje połączenie różnych prymitywów kryptograficznych (które wymieniają Kiayias i Yung jako „pojedyncze wiadomości oraz paradygmaty typu podpis i odpowiedź" [70]) i tak naprawdę ta metoda konstrukcji została zastąpiona wieloma innymi schematami wiele lat później [5, 70, 6, 7, 20].

W 2003r. Bellare, Micciancio oraz Warinschi [11] wprowadzili unowocześnione definicje pojęcia bezpieczeństwa, które obecnie wykorzystujemy w podpisach grupowych (omówione nieco wcześniej w rozdziale 3.1); dodatkowo stanowiły one generyczną strukturę schematu, która spełniała te (bardzo mocne) funkcje zabezpieczeń. Schematy te, jak przekonamy się o tym w Rozdziale 6, łączą podpisy cyfrowe, szyfrowanie publicznym kluczem zabezpieczeń IND-CCA oraz nieinteraktywne dowody wiedzy zerowej, działają w grupach statycznych (tzn. grupach, w których zbiór użytkowników jest zdefiniowanych na początku) i posiadają group mastera. Podobnie jak struktura przedstawiona przez Camenischa-Stadlera, która okazała się być bardzo użyteczna; tak naprawdę, pierwszy schemat podpisów grupowych oparty na siatkach wprowadzony został niedawno, bo pod koniec 2010r. przez Gordona, Katza oraz Vaikuntanathana [59] i wykorzystuje dokładnie ten sam szkicowy zarys, który jest zastosowany w strukturze Bellare et al.

W świetle powyższego, właściwości bezpieczeństwa zdefiniowane przez Bellare’a et al. są dość silne i w zasadzie nie były realizowane w ramach żadnego wydajnego schematu aż do chwili opublikowania pracy przez Grotha w 2006r. [61].4 Dlatego, w 2004r., Boneh, Boyen oraz Shacham [20] wprowadził nieco słabszą definicję zabezpieczeń wraz ze schematem, który był zgodny z tą definicją. Jak wspomnieliśmy w Rozdziale 3, ich definicja po prostu eliminuje dostęp do śledzących elementów oracle z gry w Definicji 3.1. Boneh, Boyen oraz Shacham dowodzą, że w praktyce, dostęp do funkcjonalności śledzenia będzie podlegać ścisłej kontroli w związku z tym wymieniona definicja zabezpieczeń w dalszym ciągu zachowuje swoją ważność.4 Jak sam Groth zauważa, chociaż operacje wykonywane w ramach schematu mogą być uważane za wydajne, a podpisy mają stały rozmiar, to wielkość stała jest zbyt duża w odniesieniu do schematu, żeby mogła być w jakimkolwiek, choćby najbardziej odległym sensie, uznana za praktyczną.

Page 10: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

4.1 Grupy dynamiczne oraz kierownicy grup

Pojęcie group managera, który wspomaga proces wystawiania kluczy dla rejestrujących się członków, który jednak nie zapamiętuje tych kluczy, zostało przedstawione już w pracy Camenisch-Stadlera dotyczącej tego schematu [36], a następnie nieco bardziej pogłębione przez Kiayiasa oraz Yunga [69] i Kiayiasa, Tsiounisa oraz Yunga [68]. W roku 2005, Bellare, Shi oraz Zhang [14] przedstawili definicje formalne grup posiadających group managerów oraz grupy dynamiczne; tzn. grupy, w których nowi użytkownicy mogą być dodawani w miarę upływu czasu. Warto podkreślić, że w naszym zasadniczym schemacie podpisu grupowego, algorytm KeyGen był uruchamiany przez group mastera na samym początku, aby ustawić parametry dla tej grupy oraz klucze sekretne dla każdego uczestnika; każdy z tych sekretnych kluczy był następnie uznany za przekazany do odpowiedniego członka grupy w ramach bezpiecznego kanału. Wyróżnia się dwie zasadnicze wady związane z tą metodą: (1) grup master zna klucz sekretny każdego uczestnika oraz (2) członkowie grupy muszą być określeni na samym początku i nie podlegają zmianie wraz z upływem czasu.Zanim przejdziemy do omówienia przypadku szczególnego, w którym obydwa te problemy są szczęśliwie pominięte - rozwiązane, warto podkreślić, że właściwości te niekoniecznie muszą występować w tym samym czasie; oznacza to, że możemy mieć schemat, do którego użytkownicy mogą przystąpić w dowolnym momencie, ale po rejestracji po prostu otrzymują swoje klucze od group mastera. W praktyce, schemat ten może być w znacznie prostszy sposób naśladowany dzięki standardowej strukturze statycznej zgodnie z poniższym: podczas fazy KeyGen, group master po prostu określa liczbę uczestników danej grupy 1n, która jest maksymalną, przewidywaną liczbą uczestników; następnie powinien skonstruować wystarczającą liczbę kluczy przekazywanych uczestnikom w procesie ewolucji grupy.

Schemat Typ/operacje grupowe Master/manager? Przyjęte założeniaCS97 [36] Przyłączanie dynamiczne Manager DLP, silne RSABMW03 [11] Statyczne Master Permutacje trapdoor BBS04 [20] Przyłączanie statyczne z

możliwością anulowaniaMaster q-SDH, DLIN, losowy

oracleBW06 [27] Przyłączanie dynamiczne z

możliwością anulowaniaMaster CDH, SGH

Tabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub dynamiczne) oraz operacje wspierane (uzupełnienie lub anulowanie), niezależnie od tego, czy dana grupa posiada mastera lub managera oraz założenia kryptograficzne gwarantujące bezpieczeństwo schematu. Jeżeli idzie o same założenia, można zauważyć, że schemat Camenisch-Stadlera oparty jest na trudności Discrete Log Problem oraz silnego założenia Strong RSA [8]; bezpieczeństwo schematu Bellare-Micciancio-Warinschi oparte jest na obecności permutacji typu trapdoor; natomiast bezpieczeństwo schematu Boneh-Boyen-Shachama oparte jest na bezpieczeństwie q-SDH (które jest krótkie dla silnego Strong Diffie Hellmana oraz wprowadzone przez Boneh oraz Boyena [19]) i DLIN (krótkie dla Decision LINear i wprowadzone przez autorów) założenia, a także istnienie losowych oracles; na koniec, bezpieczeństwo schematu Boyen-Waters oparte jest na CDH (Computational Diffie Hellman) oraz SGH (krótkim dla SubGroup Hiding wprowadzonym przez Boneha, Goha oraz Nissima [24]).

Chociaż powyższy schemat wydaje się zawierać rozwiązanie kwestii dynamicznej rejestracji uczestników, pierwszy problem w dalszym ciągu pozostaje nierozwiązany. Aby znaleźć rozwiązanie dla obu kwestii jednocześnie, musimy wspomóc podstawowy schemat podpisu grupowego zgodnie z poniższym: algorytm KeyGen jest zastąpiony algorytmem Setup, który wyjściowo generuje klucz publiczny grupy pk oraz (potencjalnie) wybrane wspólne parametry w tym klucz sekretny group managera msk oraz oddzielny klucz śledzący tk. Dodatkowo, nowy interaktywny protokół Join() ↔ Enroll(msk) zostaje wprowadzony, który działa pomiędzy rejestrującym się uczestnikiem, a group managerem. Protokół ten

Page 11: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

jest zasadniczo bezpiecznym, dwustronnym układem obliczeniowym, pod koniec którego użytkownik i poznaje swój klucz sekretny ski , ale poza tym nic innego (w tym nic na temat klucza sekretnego managera msk), a group manager nie poznaje żadnych innych danych za wyjątkiem informacji o tym, że użytkownik stał się obecnie zarejestrowanym uczestnikiem. Na koniec, algorytm Trace jest modyfikowany, aby przyjąć klucz śledzący tk, a nie klucz sekretny managera msk, ponieważ zakłada się, że uprawniona do śledzenia osoba nie powinna być jednocześnie group managerem i tym samym pozbawiona możliwości rejestracji uczestników (i na odwrót).

Jak już wspomnieliśmy, ustawienia te zostały w pełni sformalizowane przez Bellare’a, Shi’a oraz Zhanga [14], którzy podkreślili, że przy słabszym wystawcy klucza (tzn. group manager w odróżnieniu od mastera), można uwzględnić nowe poziomy bezpieczeństwa.5 Definiują one pojęcie non-frameability (brak możliwości zrzucenia podejrzenia na innych)(także nazywane strong exculpability (silne przypisywanie winy) przez Boneha, Boyena oraz Shachama [20] i rozszerzenie nieformalnego pojęcia exculpability wprowadzone przez Ateniese’ego oraz Tsudika [6]), które mówi, że żadna koalicja skorumpowanych uczestników grupy, nawet jeżeli uczestniczy w niej group manager, nie jest w stanie wygenerować podpisu w imieniu innego uczestnika grupy.

Na koniec chcemy wspomnieć, że w uzupełnieniu do omówienia potencjalnie skorumpowanych group managerów, Bellare et al. (oraz inni po nich) także rozważają pojęcie potencjalnie skorumpowanych osób uprawnionych do śledzenia. W tym celu, w wielu schematach dynamicznych podpisów grupowych wprowadzono nowy algorytm w uzupełnieniu do wcześniej opisanych; a mianowicie algorytm typu Judge. Zasadniczo, algorytm Trace jest obecnie niezbędny, aby wygenerować nie tylko uczestnika, który w jego uznaniu wygenerował podpis, ale także dowód na to. Algorytm Judge może następnie podjąć decyzję o tym czy dowód ten jest prawdziwy, czy nie, po to, aby osoba upoważniona do śledzenia była w pewnym sensie zobowiązana do podejmowania uczciwych działań.

4.2 Anulacja/unieważnienie

Inną właściwością schematów podpisów grupowych jest możliwość anulowania/unieważnienia przywilejów związanych z podpisami przyznanych członkom wykazującym niepożądane zachowania [7, 25, 45, 6]; to znaczy wykonywanie pewnych operacji, które uniemożliwią uczestnikowi wykazującemu niepożądane zachowania składanie podpisów w imieniu grupy. Jako przykład wykorzystania tej opcji rozważmy sytuację, w której nawet jeśli członek grupy opublikuje swój klucz online (lub jeżeli klucz ten zostanie skradziony), cała grupa będzie w dalszym ciągu mogła kontynuować funkcjonowanie, ponieważ group master może po prostu anulować przywileje związane z podpisami danego członka. Właściwość ta jest w związku z tym dość pożądana w przypadku podpisu grupowego, gdyż oznacza, że dany schemat może sam siebie chronić i naprawiać w przypadku tego typu uszkodzeń/błędów. Jednym z bezpośrednich sposobów anulowania jest odtworzenie klucza publicznego przez group mastera (lub managera) w chwili wystąpienia tego typu zdarzenia u utworzenie nowego klucza sekretnego dla każdego członka pozostałego w grupie (lub, w przypadku managera, ponowne uruchomienie algorytmu Join/Enroll w odniesieniu do każdego uczestnika grupy); ci z uczestników grupy, którzy nie otrzymają nowego klucza są jednocześnie skutecznie odcięci od grupy. W praktyce, rozwiązanie to jest dość kosztowne, ponieważ wiadomość znajdująca się w bezpiecznym kanale musi być wysłana do każdego członka grupy, a każdy potencjalny weryfikator musi także otrzymać odpowiednie ogłoszenie dotyczące tej sytuacji.

Nieco bardziej praktyczną techniką unieważnienia sformalizowaną przez Boneha i Shachama w 2004r. [25] jest verifier-local revocation (anulowanie przez lokalnego weryfikatora). Jak sama nazwa wskazuje, praca związana z weryfikacją i ustaleniem, czy nieważni użytkownicy nie tworzą podpisów spoczywa na 5 Nieco odmienne definicje bezpieczeństwa zostały wcześniej przedstawione przez Kiayiasa, Tsiounisa oraz Yunga [68], a także Kiayiasa i Yunga [69], nie mniej jednak w dalszym ciągu trzymamy stosujemy formalizację przedstawioną przez Bellare’a et al.

Page 12: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

weryfikatorach (żeby nie powiedzieć na pozostałych sygnatariuszach). Schemat standardowego podpisu grupowego jest w związku z tym wspierany poprzez udzielenie algorytmowi Verify nie tylko dostępu do klucza publicznego pk, podpisu σ oraz przedmiotowej wiadomości m, ale także do listy unieważnionych przywilejów RL zawierającej tokeny umożliwiające jednoznaczną identyfikację sygnatariuszy, którym cofnięto członkostwo i przywileje. Cofnięcie przywilejów powoduje utratę poczucia prywatności, ponieważ podpisy mogą być teraz połączone przez dowolnego weryfikatora, który uruchomi algorytm Verify bez listy, a następnie z listą unieważnień; wystąpienie pewnych podpisów zaliczających pozytywną weryfikację w pierwszym przypadku, ale negatywnie w drugim stanowi informację dla weryfikatora, że wiadomości zostały podpisane przez nieuprawnionego sygnatariusza. Z tego względu, Boneh i Shacham muszą zdefiniować na nowo pojęcie anonimowości, które nazywają selfless anonymity (altruistyczną anonimowością); intuicyjnie wyczuwamy, że dzieje się tak ponieważ użytkownik posiada zdolność do „auto-anulacji" co umożliwia mu sprawdzenie, czy (dzięki wyżej wymienionej technice) dany podpis został wygenerowany przy użyciu jego własnego klucza. Oprócz schematu wprowadzonego przez Boneha oraz Shachama w oparciu o formalne definicje, zaproponowano kilka schematów, które także spełniają wymóg unieważnienia [78, 4].

W nieco bardziej sformalizowanych układach, zostały także wprowadzone inne metody unieważnienia z reguły jako metody doraźne (ad-hoc). Boneh, Boyen oraz Shacham [20, Rozdział 6], na przykład, opisuję metodą unieważniania właściwą dla ich schematu (która z kolei przebiega zgodnie z mechanizmem anulacji Camenischa i Lysyanskaya [33, 35]), w którym unieważnienie jest także publikowane, ale tym razem informacja jest przekazywana zarówno do pozostałych uczestników grupy, jak i weryfikatorów. Następnie jest wykorzystywana w celu aktualizacji klucza publicznej dla danej grupy; dodatkowo, pozostali użytkownicy posiadają możliwość aktualizacji swoich kluczy sekretnych w celu uzgodnienia ich z nowym kluczem publicznym, której to możliwości nie mają zablokowani uczestnicy.

Na koniec, Boyen i Waters [27, Rozdział 5.4] opisuje także sposób, w jaki schemat można rozszerzyć, aby umożliwić wspieranie procesu anulowania. W uch ustawieniu, zarówno algorytm Sign, jak i Verify muszą być wspierane, aby ułatwić przedstawianie dowodu tworzonego przez sygnatariusza, że nie są zablokowanym uczestnikiem (a zatem musi także pojawić się publiczna lista zablokowanych członków); następnie weryfikator dokonuje uwierzytelnienia dowodu zanim przejdzie do autentykacji standardowej. Sygnatariusz musi utworzyć dowód dla każdego zablokowanego uczestnika; Boyen i Waters wspominają także, że kiedy liczba zablokowanych członków staje się zbyt duża i niepraktyczna, group master może zastosować podejście naiwne, o którym mowa na początku niniejszego artykułu, w ramach którego dane całej grupy są zasadniczo wprowadzane na nowo.

5 Uwarunkowania podpisów pierścieniowych

W tej części zajmujemy wcześniej wspomnianymi podpisami pierścieniowymi i działaniami z nimi związanymi. Chociaż, rozszerzenia podpisów pierścieniowych nie są tak zróżnicowane jak w przypadku podpisów grupowych, kwestia konstruowania bezpiecznego podpisu pierścieniowego jest w dalszym ciągu rozpatrywana pod różnymi kątami, które krótko omawiamy w tym Rozdziale.

5.1 Struktury generyczne i niegeneryczne

W oryginalnym schemacie Rivesta, Shamira i Taumana [82], założenia dotyczące ustawień są minimalne: zakłada się, że użytkownicy wygenerowali schemat, którego bezpieczeństwo oparte jest na obecności permutacji typu trapdoor. Oznacza to, że ich struktura jest zasadniczo generyczna, gdyż nie może być oparta na żadnych szczególnych właściwościach lub typach kluczy. Inna struktura generyczna opracowana przez Bendera, Katza oraz Morselliego [15] opublikowana w 2006r. spełnia nieco silniejsze warunki definicji bezpieczeństwa (te, które przedstawione zostały w Rozdziale 3.2). Ich struktura,

Page 13: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

zbliżona do struktury generycznej podpisu grupowego opracowana przez Bellare’a, Micciancio oraz Warinschi’ego [11] stanowi połączenie szyfrowania z użyciem klucza publicznego (chociaż wymagają one jedynie zabezpieczenia w postaci IND-CPA w odróżnieniu od IND-CCA), podpisów oraz prymitywu zbliżonego do dowodu wiedzy zerowej znanego pod nazwą ZAP [48].6 Na koniec, omawiamy inne wersje schematów generycznych podpisów pierścieniowych w oparciu o różne założenia uwzględniające także założenie dotyczące dyskretnego logu - discrete log - [2, 64], RSA [46] lub mieszanki obu [2].

Jest nieco zaskakujące, że literatura poświęcona podpisom pierścieniowym dysponującym wydajnymi protokołami jest mniej obszerna, niż ma to miejsce w przypadku struktur generycznych (należy podkreślić, że stanowią one odrębne pojęcia, ponieważ struktury generyczne nigdy nie są całkowicie wydajne). W roku 2003, Boneh, Gentry, Lynn, oraz Shacham [23] wprowadzili wydajny schemat podpisu pierścieniowego, który jest bezpieczny wyłącznie w modelu losowym oracle. W 2007r., Shacham i Waters [87] wprowadzili pierwszy wydajny schemat podpisu pierścieniowego, który był jednocześnie zabezpieczony w sposób inny, niż losowe oracles; zarys tego schematu jest przedstawiony w Rozdziale 7. Także w 2007r., Boyen wprowadził koncepcję podpisów siatkowych [26], które stanowią uogólnienie podpisów pierścieniowych. W terminologii stosowanej przez Boyena, podpisy pierścieniowe mogą być postrzegane jako dysjunkcja podpisów, w ramach której prezentowane jest twierdzenie, że co najmniej jedne członek pierścienia podpisał daną wiadomość (zatem albo Członek A albo Członek B lub ...). W przypadku podpisów siatkowych można wykorzystywać nieco bardziej złożone struktury i jednocześnie wspierany jest monofoniczna struktura dostępu (np., koniunkcja). Szczególnym przypadkiem podpisów siatkowych jest przedstawiany jako wydajny przez Boyena podpis pierścieniowy wykorzystujący mniej atrakcyjne założenia, niż przyjęte przez Shachama i Watersa, ale w dalszym ciągu gwarantujące bezpieczeństwo bez konieczności wykorzystania losowych oracles.

5.2 Rozmiar podpisu pierścieniowego

Niemal we wszystkich strukturach podpisów pierścieniowych, rozmiar pierścienia jest domyślnie uznany za liniowy pod względem liczby uczestników; jako naturalny sposób opisywania pierścienia stosuje się liczbę kluczy publicznych członków pierścienia. W efekcie, na podstawie publikacji Dodis, Kiayias, Nicolosi oraz Shoup [46], autorzy zdołali uniknąć kłopotu związanego z tą liniową zależnością twierdząc, że niektóre pierścienie posiadają krótkie opisy: np. „Pracownicy Białego Domu". Ponadto, dowodzą, że w praktyce, niektóre pierścienie mogą być często wielokrotnie wykorzystywane; jeżeli nie są tworzone na nowo dla każdego pojedynczego podpisu, to może im być przypisany pewien unikalny opis lub identyfikator. Wykorzystując tę intuicję, Dodis et al. opisują schemat podpisu pierścieniowego jako podpisu o stałej wielkości w odróżnieniu od podpisów o wielkościach linowych wykorzystywanych we wcześniejszych schematach. Istnieje pewna wada tych schematów, ponieważ ich bezpieczeństwo zasadniczo oparte jest na wykorzystaniu losowych oracles [13]. Aby rozwiązać ten problem, Chandran, Groth i Sahai [38] zaproponowali schemat, który pozwala na osiągnięcie rozmiaru sub-liniowego bez konieczności wykorzystywania losowych oracles; chociaż stanowi to udoskonalenie w stosunku do podpisów liniowych, to ich podpisy są stałej wielkości O(pN) (gdzie N jest liczbą uczestników pierścienia) w przeciwieństwie do wielkości stałej określonej przez Dodis et al.

6 Struktura generycznego podpisu grupowego

6 ZAP jest nieco słabszym dowodem niż dowód wiedzy zerowej, ponieważ osiąga on związaną właściwość nazywaną nierozróżnialnością świadka, która mówi, że weryfikator nie jest w stanie ustalić, który świadek został wykorzystywany w celu utworzenia dowodu, co nie oznacza, że osoba uwierzytelniająca nie dowie się niczego na temat świadka. Naszkicowany przez nich schemat wykorzystuje jedynie trzy prymitywy nie osiągając jednak najwyższego poziomu bezpieczeństwa, gdyż nie zachowuje pełnej anonimowości w przypadku całkowitej ekspozycji klucza. Aby ten poziom osiągnąć, konieczne jest wykorzystanie nieświadomego (oblivious) generatora klucza, który nie stanowi przedmiotu niniejszego opracowania.

Page 14: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

W niniejszym rozdziale przedstawiamy zarys struktury generycznego podpisu grupowego przedstawionego przez Bellare’ego, Micciancio oraz Warinschiego [11], która spełnia wymogi bezpieczeństwa opisane w Definicji 3.1. Struktura ta stanowi połączenie podpisów cyfrowych [58], szyfrowania z kluczem publicznym IND-CCA oraz poprawnej symulacji nieinteraktywnych dowodów wiedzy zerowej (NIZKs) [84]; w celu zapoznania się z podsumowaniami tych trzech prymitywów patrz: Rozdział 2.7

Intuicyjnie struktura ta działa w sposób następujący: algorytm KeyGen najpierw tworzy klucze dla schematu szyfrowania oraz podpisu oraz wspólnego losowego strumienia NIZK. Group master tworzy dla każdego uczestnika parę kluczy podpisu, a następnie podpis (w ramach sekretnego klucza podpisu mastera) dotyczący tożsamości użytkownika oraz klucza publicznego; podpis ten będzie zasadniczo pełnić rolę certyfikatu gwarantującego przypisanie przez group mastera pary kluczy. Wykorzystując klucz sekretny z tej pary kluczy, użytkownik może następnie podpisać wiadomość; nie ma możliwości ujawnienia swojego podpisu, ponieważ spowodowałoby to całkowite ujawnienie jego tożsamości. W związku z tym szyfruje swój podpis stosując schemat szyfrowania grupowego wraz z certyfikatem pochodzącym od group mastera aby ostatecznie utworzyć NIZK, który będzie zwierać szyfrogram z ważnym certyfikatem i podpisem. Końcowy podpis grupowy będzie następnie składać się z tego NIZK oraz szyfrogramu; odbiorca podpisy może następnie sprawdzić, czy dany NIZK jest poprawny I upewnić się, czy wiadomość została rzeczywiście podpisana przez uczestnika grupy. Z nieco bardziej formalnego punktu widzenia, schemat działa w sposób następujący:

KeyGen(1k, 1n): Obliczyć parę kluczy umożliwiającą złożenie podpisu oraz stosowanie schematów podpisu zgodnie z (pke, ske) ← KeyGene(1k) oraz (pks; sks) ← KeyGens(1k) w uzupełnieniu do wartości losowej R ← {0, 1}p(k) , która będzie zachowywać się jak wspólny strumień losowy (CRS) dla schematu NIZK. Określić pk = (R, pke, pks) oraz msk = (ske, sks). Teraz dla każdego poszczególnego klucza sekretnego należy obliczyć parę kluczy (pki, ski) ← KeyGens(1k) oraz certyfikat certi ← Sign(sks, (i; pki)), a następnie ustawić klucz sekretny i-tego użytkownika jako gski = (i; ski; certi).

Sign(gski, m): Najpierw obliczyć podpis s ← Sign(ski, m). Następnie, obliczyć losowość r ← {0. 1}k, a następnie wykorzystać ją w celu obliczenia szyfrogramu c ← Enc(pke, (i, pki, certi, s); r). Następnie obliczyć dowód π ← P(R, (pke, pks, m, c), (i, pki, certi, s, r)); tzn., dowód, że certyfikat zawarty w szyfrogramie jest tak naprawdę podpisem pod wartością (i, pki). Na koniec utworzyć podpis grupowy jako σ = (c, π) i zwrócić tę wartość σ.

Verify(pk, σ, m): Return V (R; (pke, pks, m, c); π). Trace(msk, σ): Jeżeli V (R, (pke, pks, m, c), π) = 0 to zwrot wartości . W przeciwnym razie należy

obliczyć m = Dec(ske, c), przeprowadzić analizę składniową m = (i, pk,; certi, s) i zwrócić i.

Bezpieczeństwo schematu podpisu grupowego zasadniczo oparte jest na bezpieczeństwie prymitywów stanowiących jego podstawę (tzn. schematu podpisu, szyfrowania oraz silnej symulacji NIZK). Ponieważ wszystkie te prymitywy mogą być generycznie konstruowane na podstawie permutacji typu trapdoor [47, 83, 84, 51], Bellare, Micciancio oraz Warinschi są w stanie dowieść słuszności poniższego:

Teoremat 6.1. [11] Jeżeli istnieje rodzina permutacji typu trapdoor, to schemat podpisu grupowego naszkicowany powyżej jest całkowicie anonimowy oraz całkowicie możliwy do prześledzenia (zgodnie z Definicjami 3.1 oraz 3.2).

Z nieformalnego punktu widzenia, możemy opisać w jaki sposób bezpieczeństwo schematu oparte jest na bezpieczeństwie prymitywów stanowiących ich podstawę. Najpierw, rozważmy anonimowość, która

7 Należy pamiętać, że w Rozdziale 2, opisaliśmy standardowe NIZK, ale nie siłę symulacji. Ponieważ jest to definicja dość techniczna nie przedstawiamy jej tutaj, ale odsyłamy zainteresowanych czytelników do oryginału pracy Sahai [84].

Page 15: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

oparta jest na zabezpieczeniach IND-CCA schematu szyfrowania oraz właściwości wiedzy zerowej NIZK. Chociaż NIZK _jest podana bezpośrednio, właściwość wiedzy zerowej mówi nam, że odbiorca nie będzie w stanie dowiedzieć się niczego na temat świadka, który został wykorzystany w celu obliczenia dowodu (który pozwala całkowicie ujawnić tożsamość użytkownika). Podobnie, chociaż szyfrowanie certyfikatu c jest także podawane bezpośrednio, zabezpieczenie schematu szyfrowania IND-CCA gwarantuje, że odbiorca nie będzie w stanie dowiedzieć się, jaka jest treść szyfrogramu i tym samym nie dowie się jaki są inne treści (które z uwagi na to, że są identyczne dla świadka NIZK, ponownie mogą przyczynić się do całkowitego ujawnienia tożsamości użytkownika).

Jeżeli chodzi o możliwość śledzenia obecnie opieramy się na sile NIZK oraz braku możliwości sfałszowania schematu podpisu. Dzięki sile NIZK, wiemy że π nie zaliczy procesu uwierzytelnienia, chyba że certyfikat certi oraz podpisy są ważne (tzn., że certi naprawdę został podpisany przez group mastera, a s zostało naprawdę podpisane przez uczestnika grupy). Nie mniej jednak brak możliwości sfałszowania schematu podpisu gwarantuje, że jedynym sposobem, aby te dwie wartości zostały uznane za ważne jest ich podpisanie przez odpowiednie osoby (group mastera w przypadku pierwszym lub posiadacza ski w przypadku drugim), abyśmy mogli mieć pewność, że dowolny ważny podpis przekieruje nas do odpowiedniego członka grupy.

7 Struktura podpisu pierścieniowego

W niniejszym rozdziale przedstawimy szkic struktury podpisu pierścieniowego wg Shachama i Watersa [87]. W przeciwieństwie do struktury podpisu grupowego, z którą się właśnie zapoznaliśmy, obecnie prezentowana struktura nie jest generyczna, co oznacza, że wykorzystuje ona właściwość swoich kluczy i podpisów, co wymaga szczególnych form. Dodatkowo, schemat ten wykorzystuje pary, co wymaga wprowadzenie nieco bardziej rozbudowanej notacji. Mając daną wartość grupową G danego porządku N, możemy powiedzieć, że G stanowi dwuliniową (bilinearną) grupę, jeżeli jest cykliczne (co oznacza, że każdy element w G może być zapisany jako ga dla określonego generatora g oraz wykładnika a ⋲ Z=NZ) i jeżeli istnieje map e : G x G → GT takie, że e nie jest zdegenerowaną wartością, co oznacza, że jeżeli e(x; y) = 1 dla wszystkich y to musi być prawdziwe, że x = 1 oraz bilinearne, co oznacza, że jeżeli g jest generatorem dla G to otrzymujemy e(ga, gb) = e(g, g)ab dla wszystkich a, b ϵ Z=NZ.

W przypadku struktury Shachama-Watersa, będą nas szczególnie interesować bilinearne grupy o porządku N = pq, gdzie p oraz q są liczbami pierwszymi. Ze struktury teorematu dla skończonych grup abelowych, wiemy, że jeżeli |G| = N to G będzie posiadać własny rozkład na G = Gp x Gq, gdzie Gp stanowi podgrupę o porządku p a Gq stanowi podgrupę porządku q. Założenie Subgroup Hiding (SGH w skrócie wprowadzone przez Boneha, Goha oraz Nissima w 2005 [24]) mówi, że losowy element h z podgrupy Gq nie będzie możliwy do rozróżnienia od elementu losowego pełnej grupy G. Będziemy także potrzebować założenia obliczeniowego Diffie Hellmana (w skrócie CDH), które mówi, że mając daną ga, gb ϵ G dla losowej wartości a, b ← Z/NZ, trudno jest obliczyć gab.

Na koniec, struktura oparta jest na obecności odpornych na kolizję funkcji haszujących lub w skrócie. CRHF jest funkcją haszującą H : {0; 1}* : {0, 1}* dla wybranych stałych wartości i takich, że nie jest łatwe znalezienie dwóch wiadomości m1 oraz m2 takich że H(m1) = H(m2) ale m1≠ m2. Odporne na kolizję funkcje haszujące oraz ogólne funkcje haszujące zostały szeroko opisane w literaturze dotyczącej kryptografii; odsyłamy czytelnika do treści wprowadzenia do kryptografii (np. Goldreich [53] lub Katz i Lindell [67]) w celu uzyskania bliższych informacji.

Intuicyjnie struktura ta działa w sposób następujący: dwuliniowa grupa oraz związane wartości będą zbudowane przez zaufaną stronę trzecią w oparciu o algorytm Setup(1k), który wyjściowo generuje

Page 16: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

wspólny strumień referencyjny σcrs.8 Następnie użytkownicy mogą wygenerować swoje własne pary kluczy podpisów. W sytuacji, gdy użytkownik chce złożyć podpis po wiadomością m dla pierścienia R, najpierw szyfruje swój publiczny klucz uwierzytelnienia (wykorzystując szyfrowanie BGN [24], które jest zabezpieczone IND-CPA przyjmując założenie SGH), aby uzyskać szyfrogram C. Następnie tworzy dowód wiedzy zerowej π, który potwierdza, że wartość w tym szyfrogramie jest tak naprawdę dokładnie jedną z kluczy publicznych zawartych w R. Można to wykonać tworząc najpierw wersje “dummy" (atrapy) szyfrogramu dla każdego klucza publicznego w danym R, który do niego nie należy; te atrapy szyfrogramu Ci będą stanowić szyfrogramy elementu tożsamości dla G. Dla każdej wartości Ci, może on przedstawić następnie dowód wiedzy zerowej πi (wykorzystując NIZK specyficznie opracowane dla par zaadaptowanych z Grotha, Ostrovskyego i Sahaia [62], które są bezpieczne przy założeniu SGH), że wartość Ci jest albo tożsamością lub jego kluczem publicznym. Ponieważ schemat szyfrowania BGN jest multiplikatywnie homomorficzny oznacza to, że jeżeli C1 jest szyfrem m1 a I jest szyfrem m 2, to C1 ∙ C2 jest szyfrem m1 ∙m2, to szyfrogram C = ᴨ Ci będzie zatem poprawnym szyfrem klucza publicznego użytkownika o ile jego zachowanie było uczciwe (tzn. że zaszyfrował swój klucz publiczny dla odpowiedniego i oraz tożsamość dla pozostałych i), a szyfrowanie losowych śmieci przebiega w inny sposób. Na koniec, użytkownik podpisze wiadomość m wykorzystując swój klucz sekretny; w tym miejscu zastosujemy parowanie w oparciu o podpis Watersa [90], który jest bezpieczny przy założeniu CDH. Podpis pierścieniowy następnie będzie składać się z tego właśnie podpisu Watersa (S1, S2) oraz wszystkich szyfrogramów Ci oraz NIZK πi. Dla czytelników zainteresowanych szczegółami tego schematu przygotowaliśmy poniższy opis szkicowy:

Setup(1k): najpierw wygenerować bilinearną grupę G w [porządku N = pq wraz z generatorem g oraz dwuliniową map e : G x G → GT oraz elementem h takim, że h generuje Gq. Następnie, wybrać losowe wykładniki a, b0 ← Z=NZ oraz obliczyć A = ga, B0 = gb0 oraz  = ha. Następnie, wybrać losowe generatory u’, u1, u2, …, uk w oparciu o G oraz zdefiniować niektóre funkcje haszujące odporne na kolizję H : {0, 1}* → {0, 1}k. Wartość końcowa CRS będzie następująca: σcrs = (Z/NZ, G, g, e, h, A, B0, Â, u’, u1, …, uk, H).

KeyGen(_crs ): wybrać losowo wykładnik b ← Z=NZ oraz określić zbiór sk = b i pk = Ab. Sign(σcrs, sk, R, m): Obliczyć (m1, …, mk) = H(M, R). Niech n = |R| określa elementy R jako vi ϵ G

dla 1 ≤ i ≤ n; ponadto, niech i* będzie indeksem takim, że vi* = pk, gdzie pk jest kluczem publicznym odpowiadającym kluczowi podpisu sk. Obliczyć n-krotność bitów , gdzie

= 1 jeżeli i = i*, a w innym przypadku i = 0. Następnie, dla każdej wartości i, należy wybrać losowy wykładnik ti ← Z=NZ i obliczyć

oraz

Niech C oraz , Na koniec wybrać r ← Z=NZ i obliczyć

Wygenerować podpis σ = ((S1, S2), {(Ci, πi)}i).

Verify : obliczyć (m1, … , mk) = H(M,R) oraz ponownie umożliwić n = |R| przeprowadznie analizy składniowej elementów R jako vi ϵ G dla 1 ≤ i ≤ n; dodatkowo,

8 Używanie wspólnego strumienia odniesienia jest dość powszechne w schematach opartych na parowania i wiele z nich jest rzeczywiście bezpiecznych tylko w ramach tego co jest dość dobrze nazywane wspólnym modelem strumienia referencyjnego (common reference string model). Następnie zakładamy, że Setup zostaje uruchomiony przez stronę zaufaną, ponieważ jest to konieczne dla zachowania bezpieczeństwa oraz uniemożliwienia rozkładu na czynniki pierwsze porządku grupy N = pq.

Page 17: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

przeprowadzić analizę składniową podpisu . Najpierw sprawdzić, czy dowody są ważne weryfikując prawdziwość równania

dla wszystkich wartości i. Jeżeli którykolwiek z dowodów jest nieważny, należy odrzucić (tzn. wynik 0). W przeciwnym wypadku, ustawić i sprawdzić, czy poniższe równanie zostało spełnione:

Jeżeli tak uznać; w przeciwnym razie odrzucić.

Podobnie, jak w przypadku struktury generycznego podpisu grupowego, bezpieczeństwo schematu podpisu pierścieniowego polega zasadniczo na bezpieczeństwie prymitywów leżących u jego podstaw. Jak już wspomnieliśmy, zarówno szyfrowanie za pomocą BGN jak i GOS NIZK jest bezpieczne, jeżeli wykorzystywany jest SGH; schemat podpisu Watersa jest bezpieczny, jeżeli jest wykorzystywany CDH. Shacham i Waters mogą zatem dowieść słuszności poniższego teorematu:

Teoremat 7.1. [87] Jeżeli SGH jest trudne w grupie G, CDH jest trudne w Gp, a H jest odporne na kolizję, to powyższy schemat podpisu pierścieniowego jest anonimowy względem pełnego ujawnienia klucz i niemożliwy do sfałszowania w przypadku korupcji jednego z członków / uczestników (zgodnie z Definicjami 3.3 oraz 3.4).

I ponownie chcemy intuicyjnie dowieść, że podpis pierścieniowy jest bezpieczny, jeżeli jego prymitywy są bezpieczne. W odniesieniu do anonimowości, możemy powiedzieć, że klucz publiczny użytkownika może zostać wykradziony (ujawniony) albo w szyfrogramie C i , który go zawiera lub że NIZK πi która stanowi dowód jego prawdziwości jest wartością w Ci; z drugiej strony, klucz sekretny użytkownika może być ujawniony w ramach podpisu (S1, S2). W tym miejscu widzimy, że możemy wykorzystać SGH w sposób następujący: we wszystkich tych wartościach, aby zmienić h z generatora Gq na element losowy całej grupy G; z założenia, wiemy, że zmiany te pozostaną niewykryte. Teraz, każda z tych wartości jest po prostu losowym elementem G, co oznacza, że odpowiednia informacja (np. klucz publiczny lub sekretny) jest całkowicie zamaskowana przez h i nie można odzyskać żadnych związanych z nią danych (z kryptograficznego punktu widzenia, możemy powiedzieć, że szyfrogram /NIZK/wartość podpisu będzie informacją teoretycznie niezależną od klucza). Ponieważ działa niezależnie od tego, czy ktoś posiada wszystkie klucze sekretne, czy nie, mamy zatem zachowaną anonimowość względem pełnej ekspozycji klucza publicznego.

Aby dowieść braku możliwości sfałszowania, obecnie opieramy sią na odporności na kolizję funkcji haszującej oraz braku możliwości sfałszowania podpisu Watersa i sile NIZK. Po pierwsze należy zauważyć, że dla dowolnego potencjalnego fałszu (M*, R*), nie jest prawdziwe twierdzenie, że H(M*, R*) = H(M, R) ale (M*, R*) ≠ (M, R) (gdzie (M, R) oznacza pewne zapytanie skierowane przez adwersarza do oracle składającego podpis), gdyż to mogłoby naruszyć odporność H. Teraz możemy rozważyć dwa rodzaje fałszerstw: fałszerstwa takie, że adwersarz zaszyfrował albo zero, albo wartość większą niż jeden (tzn. niezupełnie jeden) z kluczy publicznych w R* lub fałsze, w których tak naprawdę zaszyfrował dokładnie jeden klucz publiczny. Drugi typ fałszerstwa można w bardzo prosty sposób zdyskontować, gdyż oznaczałoby również sfałszowanie podpisu Watersa, który uważamy za niemożliwy do sfałszowania. W przypadku fałszerstwa pierwszego typu, możemy albo dowieść, że narusza on siłę NIZK lub że “zanurza” w CRS wyzwanie CDH takie, że pierwszy typ fałszerstwa wygeneruje rozwiązanie dla tego wyzwania tym samym podważając założenie, że CDH jest wytrzymałe/trudne.

Page 18: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

8 Wnioski i problemy otwarte

W niniejszym dokumencie zapoznaliśmy się z ogólnym omówieniem schematów podpisów grupowych i pierścieniowych oraz z niektórymi potencjalnymi zastosowaniami tych podpisów. Przyglądając się wcześniejszym pracom na temat podpisów grupowych, pojawiają się natychmiast pewne problemy. Chociaż prace nad podpisami grupowymi są szeroko zakrojone i zróżnicowane nie powstał jeszcze system, który byłby absolutnym zwycięzcą lub schemat, który obaliły wszelkie inne. Swoisty “święty Graal" musiałby stanowić połączenie najlepszych cech wszystkich schematów i pozwolić generować wydajny schemat wspierający grupy dynamiczne z opcją group managera oraz anulowaniem, które byłyby bezpieczne przy łagodnym założeniu oraz bez konieczności użycia losowych oracles oraz przy zastosowaniu krótkich podpisów grupowych. Nieco mniej ambitne byłoby przyjęcie wydajnych schematów spierających pewien podzbiór tych cech (np. w pełni dynamiczny schemat z opcją group managera), ale spełniający definicje bezpieczeństwa, gdyż jedyne schematy, które są bliskie osiągnięcia tego poziomu elastyczność pozwalają uzyskać jedynie anonimowość CPA.

Jeżeli idzie o różnie odmiany podpisów, z którymi mieliśmy okazję się zapoznać, to techniki unieważniania wydają się pozostawać w tyle za dynamicznymi dodatkami lub właściwe dla group managerów. Wydaje się to nieco dziwne, ponieważ problem pozbywania się oszukujących uczestników w efektywny sposób jest równie ważny, jeśli nie ważniejszy, jak dynamiczny sposób dodawania użytkowników (i jak wspomniano w Rozdziale 4, dynamiczne dodawanie można zasadniczo “sfałszować" po prostu tworząc zbyt wiele kluczy na początku). Bliższe spojrzenie na unieważnienie i być może kilka formalnych definicji łączących ze sobą różne podejścia wydaje się stanowić pierwszy ważny krok w dobrym kierunku; dodatkowo warto by zobaczyć, czy istnieje struktura generyczna (w stylu struktury generyczne group managera/dynamicznego dodawania Bellare’a, Shi i Zhang [14]), które osiągnęły pewien poziom unieważnienia poza naiwnym wprowadzaniem całej grupy.

W odniesieniu do podpisów pierścieniowych, ponownie widzimy, że nie ma tutaj wyraźnie „dobrego" schematu. Najbardziej oczywistym celem będzie w związku z tym utworzenie “schematu Frankena", który ponownie połączy najlepsze cechy istniejących schematów oraz będzie stanowić wydajny schemat o minimalnych założeniach dotyczących ustawień (w którym uczestnicy pierścienia publikują klucze umożliwiające składanie podpisów, ale nie muszą one być dla tego samego schematu podpisu), bezpieczne wykorzystanie najsilniejszych definicji w ramach łagodnych założeń oraz bez konieczności stosowania losowych oracles i w oparciu o krótkie podpisy. W odróżnieniu od ambitnego analogu dla podpisów grupowych, schemat ten tak naprawdę wydaje się mocno nieprawdopodobny, gdyż dowolne niegeneryczne schematy (i tym samym wydajne) mogą być pod dużą presją obsługi kluczy, które nie mają żadnej określonej postaci; nie mniej jednak, nawet schemat, który wymaga, aby użytkownicy wszyscy posiadali ten same schemat podpisu, ale z zachowanie tych samych właściwości mógłby okazać się wielkim przełomem. Może nawet ważniejszym niż znalezienie rzeczywistego zastosowania dla podpisów pierścieniowych analogicznie do zastosowań DAA oraz VSC omawianych w kontekście podpisów grupowych w Rozdziale 1, co byłoby niezmiernie cenne i mogłoby jednocześnie stanowić inspirację do dalszych badań w tej dziedzinie.

Podziękowania

Pragnę podziękować Hovavowi Shachamowi, mojemu doradcy za sugestie dotyczące wyjściowego zestawu materiałów do przejrzenia oraz za rozmowy obecnie i w przyszłości. Pragnę także podziękować członkom mojego komitetu - Alexowi Snoerenowi oraz Stefanowi Savage’owi za czas, który poświęcili na zapoznanie się z treścią niniejszego opracowania oraz cenne wskazówki.

Page 19: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub
Page 20: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

Bibliografia[1] M. Abdalla, M. Bellare, D. Catalano, E. Kiltz, T. Kohno, T. Lange, J. Malone-Lee, G. Neven, P. Paillier, and H. Shi.Searchable encryption revisited: Consistency properties, relation to anonymous IBE, and extensions. Journal ofCryptology, 21(3), July 2008.[2] M. Abe, M. Ohkubo, and K. Suzuki. 1-out-of-n signatures from a variety of keys. In Y. Zheng, editor, Proceedingsof Asiacrypt 2002, volume 2501 of LNCS, pages 415{32. Springer-Verlag, Dec. 2002.[3] ANSI X9.62 and FIPS 186-2. Elliptic curve digital signature algorithm, 1998.[4] G. Ateniese, J. Camenisch, S. Hohenberger, and B. de Medeiros. Practical group signatures without random oracles,2005. http://eprint.iacr.org/2005/385.pdf.[5] G. Ateniese, J. Camenisch, M. Joye, and G. Tsudik. A practical and provably secure coalition-resistant groupsignature scheme. In M. Bellare, editor, Proceedings of Crypto 2000, volume 1880 of LNCS, pages 255{70. Springer-Verlag, Aug. 2000.[6] G. Ateniese and G. Tsudik. Some open issues and directions in group signatures. In M. Franklin, editor, Proceedingsof Financial Cryptography 1999, volume 1648 of LNCS, pages 196{211. Springer-Verlag, Feb. 1999.[7] G. Ateniese, G. Tsudik, and D. Song. Quasi-e_cient revocation of group signatures. In M. Blaze, editor, Proceedingsof Financial Cryptography 2002, volume 2357 of LNCS, pages 183{97. Springer-Verlag, 2003.[8] N. Baric and B. P_tzmann. Collision-free accumulators and fail-stop signature schemes without trees. In W. Fumy,editor, Proceedings of Eurocrypt 1997, volume 1233 of LNCS, pages 480{494. Springer-Verlag, May 1997.[9] M. Belenkiy, J. Camenisch, M. Chase, M. Kohlweiss, A. Lysyanskaya, and H. Shacham. Delegatable anonymouscredentials. In Proceedings of Crypto 2009, volume 5677 of Lecture Notes in Computer Science, pages 108{125.Springer-Verlag, 2009.[10] M. Belenkiy, M. Chase, C. Erway, J. Jannotti, A. Kup_cu, and A. Lysyanskaya. Incentivizing outsourced computation.� �In Proceedings of NetEcon 2008, pages 85{90, 2008.[11] M. Bellare, D. Micciancio, and B. Warinschi. Foundations of group signatures: Formal de_nitions, simpli_ed requirements,and a construction based on general assumptions. In E. Biham, editor, Proceedings of Eurocrypt 2003,volume 2656 of LNCS, pages 614{29. Springer-Verlag, May 2003.[12] M. Bellare and S. Miner. A forward-secure digital signature scheme. In Proceedings of Crypto 1999, volume 1666 ofLecture Notes in Computer Science, pages 431{448. Springer-Verlag, 1999.[13] M. Bellare and P. Rogaway. Random oracles are practical: a paradigm for designing e_cient protocols. In ACMConference on Computer and Communications Security (CCS) 1993, pages 62{73, 1993.[14] M. Bellare, H. Shi, and C. Zhang. Foundations of group signatures: The case of dynamic groups. In A. J. Menezes,editor, Proceedings of CT-RSA 2005, volume 3376 of LNCS, pages 136{53. Springer-Verlag, Feb. 2005.[15] A. Bender, J. Katz, and R. Morselli. Ring signatures: Stronger de_nitions, and constructions without random oracles.In S. Halevi and T. Rabin, editors, Proceedings of TCC 2006, volume 3876 of LNCS, pages 60{79. Springer-Verlag,Mar. 2006.[16] M. Blum, A. de Santis, S. Micali, and G. Persiano. Non-interactive zero-knowledge. SIAM Journal of Computing,20(6):1084{1118, 1991.[17] A. Boldyreva. Threshold signatures, multisignatures and blind signatures based on the gap-Di_e-Hellman-groupsignature scheme. In Y. Desmedt, editor, Proceedings of PKC 2003, volume 2567 of Lecture Notes in ComputerScience, pages 31{46. Springer-Verlag, Jan. 2003.[18] D. Boneh and X. Boyen. Short signatures without random oracles. In Proceedings of Eurocrypt 2004, volume 3027of Lecture Notes in Computer Science, pages 54{73. Springer-Verlag, 2004.[19] D. Boneh and X. Boyen. Short signatures without random oracles. In C. Cachin and J. Camenisch, editors,Proceedings of Eurocrypt 2004, volume 3027 of LNCS, pages 56{73. Springer-Verlag, May 2004.[20] D. Boneh, X. Boyen, and H. Shacham. Short group signatures. In M. Franklin, editor, Proceedings of Crypto 2004,volume 3152 of LNCS, pages 41{55. Springer-Verlag, Aug. 2004.[21] D. Boneh, R. Canetti, S. Halevi, and J. Katz. Chosen-ciphertext security from identity-based encryption. SIAM J.Computing, 36(5):1301{28, Dec. 2006.[22] D. Boneh and M. Franklin. Identity-based encryption from the Weil pairing. SIAM J. Computing, 32(3):586{615,2003. Extended abstract in Proceedings of Crypto 2001.[23] D. Boneh, C. Gentry, B. Lynn, and H. Shacham. Aggregate and veri_ably encrypted signatures from bilinear maps.In E. Biham, editor, Proceedings of Eurocrypt 2003, volume 2656 of LNCS, pages 416{32. Springer-Verlag, May 2003.[24] D. Boneh, E.-J. Goh, and K. Nissim. Evaluating 2-DNF formulas on ciphertexts. In J. Kilian, editor, Proceedings ofTCC 2005, number 3378 in LNCS, pages 325{41. Springer-Verlag, Feb. 2005.[25] D. Boneh and H. Shacham. Group signatures with veri_er-local revocation. In B. P_tzmann and P. Liu, editors,Proceedings of CCS 2004, pages 168{77. ACM Press, Oct. 2004.[26] X. Boyen. Mesh signatures: how to leak a secret with unwitting and unwilling participants. In Proceedings ofEurocrypt 2007, volume 4515 of Lecture Notes in Computer Science, pages 210{227. Springer-Verlag, 2007.[27] X. Boyen and B. Waters. Compact group signatures without random oracles. In S. Vaudenay, editor, Proceedings ofEurocrypt 2006, volume 4004 of LNCS, pages 427{44. Springer-Verlag, May 2006.[28] X. Boyen and B. Waters. Full-domain subgroup hiding and constant-size group signatures. In Proceedings of PKC

Page 21: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

2007, volume 4450 of Lecture Notes in Computer Science, pages 1{15. Springer-Verlag, 2007.[29] E. Brickell, J. Camenisch, and L. Chen. Direct anonymous attestation, Oct. 2004.[30] J. Camenisch and I. Damg_ard. Veri_able encryption, group encryption, and their applications to separable groupsignatures and signature sharing schemes. In Proceedings of Asiacrypt 2000, volume 1976 of Lecture Notes inComputer Science, pages 331{345. Springer-Verlag, 2000.[31] J. Camenisch, S. Hohenberger, M. Kohlweiss, A. Lysyanskaya, and M. Meyerovich. How to win the clonewars: e_cientperiodic n-times anonymous authentication. In ACM Conference on Computer and Communications Security (CCS)2006, pages 201{210, 2006.[32] J. Camenisch and A. Lysyanskaya. An e_cient system for non-transferable anonymous credentials with optionalanonymity revocation. In Proceedings of Eurocrypt 2001, volume 2045 of Lecture Notes in Computer Science, pages93{118. Springer-Verlag, 2001.[33] J. Camenisch and A. Lysyanskaya. Dynamic accumulators and application to e_cient revocation of anonymouscredentials. In M. Yung, editor, Proceedings of Crypto 2002, volume 2442 of LNCS, pages 61{76. Springer-Verlag,Aug. 2002.[34] J. Camenisch and A. Lysyanskaya. A signature scheme with e_cient protocols. In Proceedings of SCN 2002, volume2576 of Lecture Notes in Computer Science, pages 268{289. Springer-Verlag, 2002.[35] J. Camenisch and A. Lysyanskaya. Signature schemes and anonymous credentials from bilinear maps. In M. Franklin,editor, Proceedings of Crypto 2004, volume 3152 of LNCS, pages 56{72. Springer-Verlag, Aug. 2004.[36] J. Camenisch and M. Stadler. E_cient group signature schemes for large groups (extended abstract). In B. Kaliski,Jr., editor, Proceedings of Crypto 1997, volume 1294 of LNCS, pages 410{24. Springer-Verlag, Aug. 1997.[37] R. Canetti, O. Goldreich, S. Goldwasser, and S. Micali. Resettable zero-knowledge. In Proceedings of the 32stSymposium on the Theory of Computing (STOC), pages 235{244, 2001.[38] N. Chandran, J. Groth, and A. Sahai. Ring signatures of sub-linear size without random oracles. In Proceedings ofAutomata, Languages, and Programming 2007, volume 4596 of LNCS, pages 423{434. Springer-Verlag, 2007.[39] D. Chaum. Blind signatures for untraceable payments. In Proceedings of Crypto 1982, Lecture Notes in ComputerScience, pages 199{203. Springer-Verlag, 1982.[40] D. Chaum. Security without identi_cation: transaction systems to make big brother obsolete. Communications ofthe ACM, 28(10):1030{1044, 1985.[41] D. Chaum and H. van Antwerpen. Undeniable signatures. In Proceedings of Crypto 1989, volume 435 of LectureNotes in Computer Science, pages 212{216. Springer-Verlag, 1989.[42] D. Chaum and E. van Heyst. Group signatures. In D. W. Davies, editor, Proceedings of Eurocrypt 1991, volume 547of LNCS, pages 257{65. Springer-Verlag, Apr. 1991.[43] R. Cramer and V. Shoup. A practical public key encryption system provably secure against adaptive chosen ciphertextattack. In H. Krawczyk, editor, Proceedings of Crypto 1998, volume 1642 of LNCS, pages 13{25. Springer-Verlag,Aug. 1998.[44] I. Damg_ard. E_cient concurrent zero-knowledge in the auxiliary string model. In Proceedings of Eurocrypt 2000,volume 1807 of Lecture Notes in Computer Science, pages 418{430, 2000.[45] X. Ding, G. Tsudik, and S. Xu. Leak-free group signatures with immediate revocation. In T. Lai and K. Okada,editors, Proceedings of ICDCS 2004, Mar. 2004.[46] Y. Dodis, A. Kiayias, A. Nicolosi, and V. Shoup. Anonymous identi_cation in ad hoc groups. In C. Cachin andJ. Camenisch, editors, Proceedings of Eurocrypt 2004, volume 3027 of LNCS, pages 609{26. Springer-Verlag, May2004.[47] D. Dolev, C. Dwork, and M. Naor. Non-malleable cryptography. SIAM Journal of Computing, 30(2):391{437, 200.[48] C. Dwork and M. Naor. ZAPs and their applications. In Proceedings of the 41st Symposium on Foundations ofComputer Science (FOCS), pages 283{293, 2000.[49] T. ElGamal. A public-key cryptosystem and a signature scheme based on discrete logarithms. In Proceedings ofCrypto 1984, pages 10{18, 1984.[50] S. Even, O. Goldreich, and S. Micali. On-line/o_-line digital signatures. Journal of Cryptology, 9(1):35{67, 1996.[51] U. Feige, D. Lapidot, and A. Shamir. Multiple non-interactive zero-knowledge proofs based on a single randomstring. In Proceedings of the 31st Symposium on Theory of Computing (STOC), pages 308{317, 1990.[52] E. Fujisaki and T. Okamoto. Statistical zero knowledge protocols to prove modular polynomial relations. In Pro-ceedings of Crypto 1997, volume 1294 of Lecture Notes in Computer Science, pages 16{30. Springer-Verlag, 1997.[53] O. Goldreich. Foundations of Cryptography: Basic Tools. Cambridge University Press, Cambridge, 2001.[54] O. Goldreich, S. Micali, and A. Wigderson. Proofs that yield nothing but their validity or all languages in NP havezero-knowledge proof systems. Journal of the ACM, 38(3):691{729, 1991.[55] S. Goldwasser and S. Micali. Probabilistic encryption. Journal of Computer and System Sciences, 28(2):270{299,1984.[56] S. Goldwasser, S. Micali, and C. Racko_. The knowledge complexity of interactive proof systems. In Proceedings of17th Symposium on the Theory of Computing (STOC), pages 186{208, 1985.[57] S. Goldwasser, S. Micali, and R. Rivest. A digital signature scheme secure against adaptive chosen-message attacks.SIAM Journal of Computing, 17(2):281{308, 1988.[58] S. Goldwasser, S. Micali, and R. Rivest. A digital signature scheme secure against adaptive chosen-message attacks.

Page 22: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub

SIAM J. Computing, 17(2):281{308, 1988.[59] D. Gordon, J. Katz, and V. Vaikuntanathan. A group signature scheme from lattice assumptions. In Proceedings ofAsiacrypt 2010, volume 6477 of LNCS, pages 395{412. Springer-Verlag, 2010.[60] J. Groth. Non-interactive zero-knowledge arguments for voting. In ACNS, volume 3531 of Lecture Notes in ComputerScience, pages 467{482. Springer-Verlag, 2005.[61] J. Groth. Simulation-sound NIZK proofs for a practical language and constant size group signatures. In Proceedingsof Asiacrypt 2006, volume 4284 of Lecture Notes in Computer Science, pages 444{459. Springer-Verlag, 2006.[62] J. Groth, R. Ostrovsky, and A. Sahai. Perfect non-interactive zero-knowledge for NP. In Proceedings of Eurocrypt2006, volume 4004 of Lecture Notes in Computer Science, pages 339{358. Springer-Verlag, 2006.[63] J. Groth and A. Sahai. E_cient non-interactive proof systems for bilinear groups. In Proceedings of Eurocrypt 2008,volume 4965 of Lecture Notes in Computer Science, pages 415{432. Springer-Verlag, 2008.[64] J. Herranz and G. S_aez. Forking lemmas for ring signature schemes. In T. Johansson and S. Maitra, editors,Proceedings of Indocrypt 2003, volume 2904 of LNCS, pages 266{79. Springer-Verlag, Dec. 2003.[65] D. Hofheinz and E. Kiltz. Secure hybrid encryption from weakened key encapsulation. In A. Menezes, editor,Proceedings of Crypto 2007, volume 4622 of LNCS, pages 553{71. Springer-Verlag, Aug. 2007.[66] IEEE P1556 Working Group, VSC Project. Dedicated short range communications (DSRC), 2003.[67] J. Katz and Y. Lindell. An Introduction to Modern Cryptography. Chapman and Hall CRC, 2007.[68] A. Kiayias, Y. Tsiounis, and M. Yung. Traceable signatures. In C. Cachin and J. Camenisch, editors, Proceedingsof Eurocrypt 2004, volume 3027 of LNCS, pages 571{89. Springer-Verlag, May 2004.[69] A. Kiayias and M. Yung. E_cient secure group signatures with dynamic joins and keeping anonymity against groupmanagers. In E. Dawson and S. Vaudenay, editors, Proceedings of Mycrypt 2005, volume 3715 of LNCS, pages151{70. Springer-Verlag, Sept. 2005.[70] A. Kiayias and M. Yung. Group signatures with e_cient concurrent join. In R. Cramer, editor, Proceedings ofEurocrypt 2005, volume 3494 of LNCS, pages 198{214. Springer-Verlag, May 2005.[71] M. Lepinski, S. Micali, and abhi shelat. Fair zero knowledge. In Proceedings of 2nd Theory of Cryptography Conference(TCC), volume 3378 of Lecture Notes in Computer Science, pages 245{263. Springer-Verlag, 2005.[72] H. Lipmaa, N. Asokan, and V. Niemi. Secure vickrey auctions without threshold trust. In Proceedings of FinancialCryptography 2002, volume 2357 of Lecture Notes in Computer Science, pages 87{101. Springer-Verlag, 2002.[73] A. Lysyanskaya. Unique signatures and veri_able random functions from the DH-DDH separation. In M. Yung,editor, Proceedings of Crypto 2002, volume 2442 of LNCS, pages 597{612. Springer-Verlag, Aug. 2002.[74] A. Lysyanskaya, S. Micali, L. Reyzin, and H. Shacham. Sequential aggregate signatures from trapdoor permutations.In C. Cachin and J. Camenisch, editors, Proceedings of Eurocrypt 2004, volume 3027 of LNCS, pages 74{90. Springer-Verlag, May 2004.[75] R. Merkle. Secure communications over insecure channels. Communications of the ACM, 21(4):294{299, 1978.[76] R. Merkle. A digital signature based on a conventional encryption function. In Proceedings of Crypto 1988, volume293 of Lecture Notes in Computer Science, pages 369{378. Springer-Verlag, 1987.[77] I. Mironov. A short signature as secure as DSA. Unpublished manuscript, 2001.[78] T. Nakanishi and N. Funabiki. Veri_er-local revocation group signature schemes with backward unlinkability frombilinear maps. In B. Roy, editor, Proceedings of Asiacrypt 2005, volume 3788 of LNCS, pages 533{48. Springer-Verlag,Dec. 2005.[79] P. Paillier. Public-key cryptosystems based on composite degree residuosity classes. In Proceedings of Eurocrypt1999, volume 1592 of Lecture Notes in Computer Science, pages 223{238. Springer-Verlag, 1999.[80] M. Rabin. Digitalized signatures and public key functions as intractable as factorization. MIT Technical ReportMIT-LCS-TR-212, 1979.[81] R. Rivest, A. Shamir, and L. Adleman. A method for obtaining digital signatures and public key cryptosystems.Commun. ACM, 21(2):120{6, Feb. 1978.[82] R. Rivest, A. Shamir, and Y. Tauman. How to leak a secret. In C. Boyd, editor, Proceedings of Asiacrypt 2001,volume 2248 of LNCS, pages 552{65. Springer-Verlag, Dec. 2001.[83] J. Rompel. One-way functions are necessary and su_cient for secure signatures. In Proceedings of the 22nd Symposiumon Theory of Computing (STOC), pages 387{394. ACM Press, 1990.[84] A. Sahai. Non-malleable non-interactive zero knowledge and adaptive chosen-ciphertext security. In Proceedings ofthe 40th Symposium on the Foundations of Computer Science (FOCS), pages 543{553, 1999.[85] C.-P. Schnorr. E_cient signature generation by smart cards. Journal of Cryptology, 4(3):161{174, 1991.[86] E. Schwartz, D. Brumley, and J. McCune. Contractual anonymity. In Proceedings of NDSS 2010, 2010.[87] H. Shacham and B. Waters. E_cient ring signatures without random oracles. In Proceedings of PKC 2007, volume4450 of LNCS, pages 166{180. Springer-Verlag, 2007.[88] A. Shamir. Identity-based cryptosystems and signature schemes. In Proceedings of Crypto 1984, volume 7 of LectureNotes in Computer Science, pages 47{53. Springer-Verlag, 1984.[89] Trusted Computing Group. Trusted Computing Platform Alliance (TCPA) Main Speci_cation, 2003. Online: www.trustedcomputinggroup.org.[90] B. Waters. E_cient identity-based encryption without random oracles. In Proceedings of Eurocrypt 2005, volume3494 of Lecture Notes in Computer Science, pages 114{127. Springer-Verlag, 2005.

Page 23: btcduke.com · Web viewTabela 1: Porównanie wybranych, najczęściej opisywanych w literaturze schematów podpisów grupowych. Uwzględniono potencjalne typy grup (statyczne lub