Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

17
1 Odwoływalna Anonimowość w Odwoływalna Anonimowość w schematach podpisu schematach podpisu grupowego grupowego Seminarium Doktoranckie Seminarium Doktoranckie Krystian Baniak Krystian Baniak 12.Maj.2009 12.Maj.2009

description

Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie. Krystian Baniak 12.Maj.2009. Agenda. Wprowadzenie Definicja podpisu grupowego Zastosowanie podpisu grupowego Typy podpisu grupowego Podejście praktyczne Zagadnienie odwoływalnej anonimowości Q&A. - PowerPoint PPT Presentation

Transcript of Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

Page 1: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

1

Odwoływalna Anonimowość w Odwoływalna Anonimowość w schematach podpisu grupowegoschematach podpisu grupowego

Seminarium DoktoranckieSeminarium Doktoranckie

Krystian BaniakKrystian Baniak12.Maj.200912.Maj.2009

Page 2: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

22

AgendaAgenda

WprowadzenieWprowadzenie Definicja podpisu grupowegoDefinicja podpisu grupowego Zastosowanie podpisu grupowegoZastosowanie podpisu grupowego Typy podpisu grupowegoTypy podpisu grupowego Podejście praktycznePodejście praktyczne Zagadnienie odwoływalnej Zagadnienie odwoływalnej

anonimowościanonimowości Q&AQ&A

Page 3: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

33

WprowadzenieWprowadzenie

Wielo agentowe systemy monitorowania i obserwacji Wielo agentowe systemy monitorowania i obserwacji zdarzeń borykają się z problemem prywatności zdarzeń borykają się z problemem prywatności obserwowanych podmiotówobserwowanych podmiotów

Z założenia podmiot powinien zostać anonimowy aż do Z założenia podmiot powinien zostać anonimowy aż do momentu spełnienia zestawu kryteriów Ki, które umożliwią momentu spełnienia zestawu kryteriów Ki, które umożliwią ujawnienie podmiotuujawnienie podmiotu• Kontrola treściKontrola treści• Kontrola zgodności z polityką bezpieczeństwaKontrola zgodności z polityką bezpieczeństwa• Kontrola nadużyć finansowychKontrola nadużyć finansowych

Page 4: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

44

WprowadzenieWprowadzenie Przykłady praktycznych problemówPrzykłady praktycznych problemów

• System sprawdzania legalności oprogramowania, gdzie OS System sprawdzania legalności oprogramowania, gdzie OS należąc do schematu podpisu grupowego może poinformować należąc do schematu podpisu grupowego może poinformować o fakcie posiadania licencji, bez ujawniania informacji o o fakcie posiadania licencji, bez ujawniania informacji o użytkowniku aplikacjiużytkowniku aplikacji

• System nadzoru ruchu sieciowego, który zbiera informacje o System nadzoru ruchu sieciowego, który zbiera informacje o profilach użytkowników i informuje centralę podpisując profilach użytkowników i informuje centralę podpisując komunikaty w sposób anonimowy zapewniając w ten sposób komunikaty w sposób anonimowy zapewniając w ten sposób anonimowość (na pewnym poziomie) obserwowanemu anonimowość (na pewnym poziomie) obserwowanemu internaucieinternaucie

Page 5: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

55

Podpis grupowyPodpis grupowy

PROBLEM:PROBLEM: Jak przekazać informację o zdarzeniu w sposób wiarygodny Jak przekazać informację o zdarzeniu w sposób wiarygodny

(z podpisem; weryfikowalną) nie zdradzając wysyłającego (z podpisem; weryfikowalną) nie zdradzając wysyłającego ani obiektu powiązanego ze zdarzeniemani obiektu powiązanego ze zdarzeniem

Podpis grupowy jest jednym z mechanizmów Podpis grupowy jest jednym z mechanizmów kryptograficznych mających zastosowanie w tej dziedziniekryptograficznych mających zastosowanie w tej dziedzinie• Podpis GrupowyPodpis Grupowy• Ring SignaturesRing Signatures• Threshold Signatures (t,k)Threshold Signatures (t,k)

Page 6: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

66

Podpis GrupowyPodpis Grupowy Mechanizm kryptograficzny wprowadzony przez Chaum i van Heijst

[CvH91] w 1991

Schemat podpisu grupowegoSchemat podpisu grupowego definiujemy jako zbiór podmiotów, definiujemy jako zbiór podmiotów, gdzie każdy podmiot posiada własny klucz prywatny, i każdy zdolny gdzie każdy podmiot posiada własny klucz prywatny, i każdy zdolny jest generować podpis w imieniu całej grupy. Podpis jest jest generować podpis w imieniu całej grupy. Podpis jest weryfikowalny z użyciem klucza publicznego grupy. Schemat weryfikowalny z użyciem klucza publicznego grupy. Schemat zawiera także arbitra GM w postaci centrum certyfikującego i zawiera także arbitra GM w postaci centrum certyfikującego i weryfikującego tożsamość podmiotu podpisującego w razie weryfikującego tożsamość podmiotu podpisującego w razie potrzeby odwołania jego anonimowości.potrzeby odwołania jego anonimowości.

EEii – zbiór podmiotów, i <= n – zbiór podmiotów, i <= n

skskii – klucz prywatny E – klucz prywatny Eii

gpsk – klucz publiczny grupygpsk – klucz publiczny grupygmsk – klucz prywatny GM gmsk – klucz prywatny GM

W szczególności Schemat może zawierać dodatkowego arbitra W szczególności Schemat może zawierać dodatkowego arbitra będącego centrum weryfikacji podpisu w celu ustalenia tożsamości będącego centrum weryfikacji podpisu w celu ustalenia tożsamości podpisującego.podpisującego.

Page 7: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

77

Podpis grupowyPodpis grupowy Operacje podstawowe w ramach schematuOperacje podstawowe w ramach schematu

SETUP – inicjalizacja schematu; generacja kluczy skSETUP – inicjalizacja schematu; generacja kluczy sk ii,gpsk,gmsk,gpsk,gmsk

JOIN – dołączenie podmiotu do schematu JOIN – dołączenie podmiotu do schematu

SIGN – podpisanie przez podmiot w imieniu grupy wiadomości m SIGN – podpisanie przez podmiot w imieniu grupy wiadomości m

VERIFY – weryfikacja podpisu grupy w oparciu o VERIFY – weryfikacja podpisu grupy w oparciu o gpskgpsk

OPEN – sprawdzenie tożsamości podpisującego (revoke anonymity)OPEN – sprawdzenie tożsamości podpisującego (revoke anonymity)

Page 8: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

88

Podpis grupowyPodpis grupowy Cechy Schematu Popisu GrupowegoCechy Schematu Popisu Grupowego

CorrectnessCorrectness – – operacja SIGN musi być odwracalna przez VERIFYoperacja SIGN musi być odwracalna przez VERIFY

UnforgeabilityUnforgeability – – tylko należący do grupy mogą podpisywać w jej imieniutylko należący do grupy mogą podpisywać w jej imieniu

AnonymityAnonymity – – nie można skojarzyć podpisu z podpisującymnie można skojarzyć podpisu z podpisującym

UnlinkabilityUnlinkability – – nie można skojarzyć dwóch podpisów z danym podmiotemnie można skojarzyć dwóch podpisów z danym podmiotem

ExculpabilityExculpability – – nikt nie może podszyć się pod dany podmiotnikt nie może podszyć się pod dany podmiot

TraceabilityTraceability – – GM może ustalić tożsamość podpisującego w operacjiGM może ustalić tożsamość podpisującego w operacji OPEN OPEN

Coalition-resistantCoalition-resistant – – podmioty nie mogą stworzyć układu pozwalającego na podmioty nie mogą stworzyć układu pozwalającego na fałszowanie lub otworzenie podpisufałszowanie lub otworzenie podpisu

Page 9: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

99

Podpis grupowyPodpis grupowyZestaw właściwości akceptowalnego systemu podpisu Zestaw właściwości akceptowalnego systemu podpisu grupowego można zredukować do postaci pary z której grupowego można zredukować do postaci pary z której wynikają inne pożądane właściwości:wynikają inne pożądane właściwości:• Pełna Anonimowość (full-anonymity)Pełna Anonimowość (full-anonymity)

Anonymity; unlinakabilityAnonymity; unlinakability• Pełna Rozliczalność (full-traceability)Pełna Rozliczalność (full-traceability)

Unforgeability; (Weak) exculpability; Nonframing; Traceability; Coalition-resistance

Inne właściwościInne właściwości• Revocation of membersRevocation of members

Wymiana klucza gpskWymiana klucza gpsk CRLCRL Ograniczenia czasowe i schematoweOgraniczenia czasowe i schematowe

• DynamicznośćDynamiczność Operacja JOINOperacja JOIN

Page 10: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

1010

Podpis grupowyPodpis grupowy Schematy StatyczneSchematy Statyczne

• Zamknięte ze względu na liczbę członków grupyZamknięte ze względu na liczbę członków grupy• Materiał kryptograficzny tworzony w fazie inicjalizacji Materiał kryptograficzny tworzony w fazie inicjalizacji

schematu schematu • SSH ‘2004, BMW ‘2003SSH ‘2004, BMW ‘2003• Klucze powstałe w czasie inicjalizacji są znane przez GM!Klucze powstałe w czasie inicjalizacji są znane przez GM!

Schematy dynamiczneSchematy dynamiczne• Bardziej praktyczne, umożliwiają rozszerzanie (join) lub Bardziej praktyczne, umożliwiają rozszerzanie (join) lub

zmniejszanie(! revoke) schematu o daną liczbę członków zmniejszanie(! revoke) schematu o daną liczbę członków • ADJT ‘2000 ADJT ‘2000 • Klucz prywatny członka nie jest znany GM. Procedura JOIN Klucz prywatny członka nie jest znany GM. Procedura JOIN

może być wywołana w dowolnej chwilimoże być wywołana w dowolnej chwili

Page 11: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

1111

Podpis grupowyPodpis grupowy Przykład schematu statycznego BMW ’03 (Bellare, Micciano, Przykład schematu statycznego BMW ’03 (Bellare, Micciano,

Wanrinshi)Wanrinshi)

Setup(L,n), n – rozmiar grupySetup(L,n), n – rozmiar grupy

gpk, gmsk, skgpk, gmsk, sk11 … sk … skii

Sign(skSign(skii,M) ,M) S SVerify(gpk,S) Verify(gpk,S) {yes; no} {yes; no}Open(gmsk,S) Open(gmsk,S) i, i <=n || :fail i, i <=n || :fail

PrzykładPrzykład schematu dynamicznego ADJT ’00 + revocation schematu dynamicznego ADJT ’00 + revocation ’03’03

Setup() Setup() gpk, gmsk gpk, gmsk

Join(G(skJoin(G(skii)) )) (cert[Ai,ei]) (cert[Ai,ei])Sign(cert, M) Sign(cert, M) S SVerify(gpk, S) Verify(gpk, S) {true,false} {true,false}Open(gmsk,S) Open(gmsk,S) Ai AiRevoke(cert) Revoke(cert) gmsk, gpk, cert gmsk, gpk, cert

Page 12: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

1212

Podpis grupowyPodpis grupowy Mechanizmy kryptograficzne używane do realizacji podpisu Mechanizmy kryptograficzne używane do realizacji podpisu

grupowegogrupowego• DDH, q-SDHDDH, q-SDH• Strong RSAStrong RSA• Bilinear maps (2004, BB04, BBS04)Bilinear maps (2004, BB04, BBS04)

G, GG, GT T grupy cykliczne Zp równego rzędu, a,b należą do Z grupy cykliczne Zp równego rzędu, a,b należą do Z

e: G x G e: G x G G GTT => e(g => e(gaa,g,gbb) = e(g,g)) = e(g,g)abab

DDH jest słaby w BM, CDH jest równie mocnyDDH jest słaby w BM, CDH jest równie mocny

G typowo grupa abelowa nad jakimś ciałem skończonymG typowo grupa abelowa nad jakimś ciałem skończonym

umożliwia tworzenie podpisów o wielkości nieznacznie większej od umożliwia tworzenie podpisów o wielkości nieznacznie większej od RSA (do 50%)RSA (do 50%)

ZNK, NIZNK, zero knowledge proofZNK, NIZNK, zero knowledge proof• GoldwasserGoldwasser• Protokół QRProtokół QR

GM Node

join request

ZKP :: challenge

response

Certificate (A,e)

Page 13: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

1313

Podpis grupowyPodpis grupowy Procedura JOIN jest dowodem „zero knowledge” dla GM na znajomość

dyskretnego logarytmu pewnej liczby p – klucza prywatnego danego członka grupy.

Procedura SIGN jest dowodem „zero knowledge” na posiadanie certyfikatu uprawniającego do podpisu w imieniu grupy

Podpis (H(m||T1,T2,..TN,R1,R2,…RN),T1,T2..TN,s1,s2…sN)

Weryfikacja:

- odtworz R1,…Rn z T1..TN oraz s1…sN - oblicz H’

- przyjmij podpis o ile H = H’

Page 14: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

1414

Podpis grupowyPodpis grupowyZagadnienie anonimowości podpisującego Akceptowalny podpis grupowy zapewnia pełna rozliczalność i pełną

anonimowość Podpisujący jest nieznany do momentu dokonania na sygnaturze

operacji OPEN przez GM Inni członkowie grupy nie mogą wskazać autora podpisu

Problemy: Większość schematów ma wydzieloną jednostkę GM (Group Manager), która ma

uprawnienia do identyfikacji podpisującego. Poziom zaufania do zachowania anonimowości zależy od bezpieczeństwa GM czyli

sprowadza się to do kontroli klucza prywatnego gmsk. Operacja usuwania członków grupy jest słabym punktem schematu gdyż

zazwyczaj wymaga wymiany klucza publicznego i certyfikatów. • Problem weryfikacji podpisu uzależnia się od znajomości kluczy historycznych i czasu• Powstaje problem przechowywania kluczy historycznych dla potrzeb odwoływania

anonimowości

Page 15: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

1515

Podpis grupowyPodpis grupowy Praktyczne metody poprawy ochrony anonimowości

• Wydzielenie osobnej jednostki służącej do weryfikacji tożsamości (GOA Group Opening Authority)

• Zabezpieczenie klucza prywatnego grupy (GM) lub klucza otwierającego GOA przez mechanizmy kontroli dostępu

Podział sekretu dla odblokowania funkcji JOIN oraz OPEN PKI Ochrona bazy certyfikatów członków grupy – Procedura OPEN zazwyczaj musi

przeszukać bazę certyfikatów w celu dopasowania wartości otrzymanej w wyniku działania procedury

Przykład::

Podpis w schemacie ADJT (c, s1, s2, s3, s4, TT11, T, T22, T3), klucz prywatny grupy: x

Weryfikacja w ramach procedury OPEN:1. AAii = T1/T2T1/T2xx (mod n)

2. Przeszukaj bazę certyfikatów i podaj tożsamość I gdzie I(Ai)

Page 16: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

1616

Propozycja schematu odwoływalnej Propozycja schematu odwoływalnej anonimowości podpisującegoanonimowości podpisującego

gok – group opening key

ENCRYPTED BODY

Open(Sign,gok) ReleaseKey(Cert1,Cert2,…,CertN, GOK_HIVE)

gok

request

Identity Confirmed

Query(Ai)

Identity

Page 17: Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie

1818

Dziękuję za uwagęDziękuję za uwagę[email protected]@elka.pw.edu.pl