Odwoływalna Anonimowość w schematach podpisu grupowego Seminarium Doktoranckie
description
Transcript of 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
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
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
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
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)
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.
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)
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
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
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
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
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)
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’
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
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)
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
1818
Dziękuję za uwagęDziękuję za uwagę[email protected]@elka.pw.edu.pl