Historia Alicji i Boba
Transkrypt
Historia Alicji i Boba
Historia Alicji i Boba Stefan Dziembowski http://www.mimuw.edu.pl/ std Instytut Informatyki Uniwersytet Warszawski Stefan Dziembowski Historia Alicji i Boba – p.1/54 Zarys historii kryptografii Kryptografia rozwija sie˛ od czasów starożytnych. Poczatkowo ˛ celem było zapewnienie bezieczeństwa komunikacji. Stefan Dziembowski Historia Alicji i Boba – p.2/54 Zarys historii kryptografii Kryptografia rozwija sie˛ od czasów starożytnych. Poczatkowo ˛ celem było zapewnienie bezieczeństwa komunikacji. Obecnie kryptografia przeżywa burzliwy rozwój. W dużej mierze zwiazany ˛ z zastosowaniami w e-gospodarce. Stefan Dziembowski Historia Alicji i Boba – p.2/54 Tradycyjny cel kryptografii [1/2] bezpieczna komunikacja. Stefan Dziembowski Historia Alicji i Boba – p.3/54 Tradycyjny cel kryptografii [1/2] bezpieczna komunikacja. Zwykle zakładamy, że komunikujace ˛ sie˛ strony to Alicja Bob Stefan Dziembowski Historia Alicji i Boba – p.3/54 Tradycyjny cel kryptografii [1/2] bezpieczna komunikacja. Zwykle zakładamy, że komunikujace ˛ sie˛ strony to Alicja Bob Komunikaty przesyłane pomiedzy ˛ nimi przeciwnik Ewa może podsłuchiwać, modyfikować i fabrykować. Stefan Dziembowski Historia Alicji i Boba – p.3/54 Tradycyjny cel kryptografii [2/2] Stworzenie protokołów zabezpieczajacych ˛ przed podsłuchem: szyfrowanie oraz przed modyfikowaniem i fabrykowaniem: autentykacja Stefan Dziembowski Historia Alicji i Boba – p.4/54 Co to jest protokół Protokół dla Alicji i Boba to para programów komputerowych: program dla Alicji program dla Boba. W każdym z tych programów Alicja możne użyć komend: i . (podobnie w przypadku Boba). Za pomoca˛ tych komend odbywa sie˛ komunikacja miedzy ˛ Alicja˛ i Bobem. Stefan Dziembowski Historia Alicji i Boba – p.5/54 Co jeszcze moga˛ robić Alicja i Bob? Ogólnie: Alicja i Bob moga˛ wykonywać wspólnie jakieś zadanie nie ufajac ˛ sobie nawzajem. Stefan Dziembowski Historia Alicji i Boba – p.6/54 Co jeszcze moga˛ robić Alicja i Bob? Ogólnie: Alicja i Bob moga˛ wykonywać wspólnie jakieś zadanie nie ufajac ˛ sobie nawzajem. (Zakładany, że Alicja i Bob maja˛ do dyspozycji bezpieczne łacze). ˛ Stefan Dziembowski Historia Alicji i Boba – p.6/54 Co jeszcze moga˛ robić Alicja i Bob? Ogólnie: Alicja i Bob moga˛ wykonywać wspólnie jakieś zadanie nie ufajac ˛ sobie nawzajem. (Zakładany, że Alicja i Bob maja˛ do dyspozycji bezpieczne łacze). ˛ Ten dział kryptografii nazywa sie˛ bezpieczne obliczenia wielopodmiotowe (ang. secure multiparty computations). Stefan Dziembowski Historia Alicji i Boba – p.6/54 Plan 1. Wstep ˛ . 2. Przykłady bezpieczne obliczeń wielopodmiotowych. 3. Definicje i przeglad ˛ modeli. 4. Implementacje. 5. Ogólna dyskusja o założeniach potrzebnych do dowiedzenia bezpieczeństwia. Stefan Dziembowski Historia Alicji i Boba – p.7/54 Przykłady Stefan Dziembowski Historia Alicji i Boba – p.8/54 Przykład 1: Problem miłosny[1/3] Alicja i Bob chca˛ sprawdzić, czy sie˛ nawzajem kochaja˛ nie ujawniajac ˛ sobie swoich uczuć. Stefan Dziembowski Historia Alicji i Boba – p.9/54 Przykład 1: Problem miłosny[1/3] Alicja i Bob chca˛ sprawdzić, czy sie˛ nawzajem kochaja˛ nie ujawniajac ˛ sobie swoich uczuć. Niech: jeśli Alicja kocha Boba jeśli Alicja nie kocha Boba jeśli Bob kocha Alicje˛ jeśli Bob nie kocha Alicji Stefan Dziembowski Historia Alicji i Boba – p.9/54 Przykład 1: Problem miłosny[2/3] i . Jeśli , to tajemnicy nie ma mowy. bez ujawniania sobie nawzajem wartości Celem Alicji i Boba jest poznanie wartości funkcji i o żadnej Stefan Dziembowski Historia Alicji i Boba – p.10/54 Przykład 1: Problem miłosny[2/3] i . bez ujawniania sobie nawzajem wartości Celem Alicji i Boba jest poznanie wartości funkcji i o żadnej Jeśli , to tajemnicy nie ma mowy. Ale, jeśli , to , niezależnie od wartości . Zatem Alicja nie bedzie ˛ wiedzieć, czy Bob ja˛ kocha, czy nie. Stefan Dziembowski Historia Alicji i Boba – p.10/54 Przykład 1: Problem miłosny[3/3] Jak to zrobić? Metoda tradycyjna: Stefan Dziembowski Historia Alicji i Boba – p.11/54 Przykład 1: Problem miłosny[3/3] Jak to zrobić? Metoda tradycyjna: Użyć zaufanej strony trzeciej. Stefan Dziembowski Historia Alicji i Boba – p.11/54 Przykład 1: Problem miłosny[3/3] Jak to zrobić? Metoda tradycyjna: Użyć zaufanej strony trzeciej. Metoda kryptograficzna: Stefan Dziembowski Historia Alicji i Boba – p.11/54 Przykład 1: Problem miłosny[3/3] Jak to zrobić? Metoda tradycyjna: Użyć zaufanej strony trzeciej. Metoda kryptograficzna: Skonstruować protokół! Taki protokół istnieje. Stefan Dziembowski Historia Alicji i Boba – p.11/54 Przykład 2: Rozwód Alicja i Bob musza˛ zdecydować o podziale majatku. ˛ Aby zdecydować o tym kto dostanie samochód postanawiaja˛ rzucić moneta. ˛ Stefan Dziembowski Historia Alicji i Boba – p.12/54 Przykład 2: Rozwód Alicja i Bob musza˛ zdecydować o podziale majatku. ˛ Aby zdecydować o tym kto dostanie samochód postanawiaja˛ rzucić moneta. ˛ Problem: jak to zrobić bez spotykania sie˛ (kontaktujac ˛ sie˛ wyłacznie ˛ przez telefon)? Stefan Dziembowski Historia Alicji i Boba – p.12/54 Przykład 2: Rozwód Alicja i Bob musza˛ zdecydować o podziale majatku. ˛ Aby zdecydować o tym kto dostanie samochód postanawiaja˛ rzucić moneta. ˛ Problem: jak to zrobić bez spotykania sie˛ (kontaktujac ˛ sie˛ wyłacznie ˛ przez telefon)? Rozwiazanie: ˛ użyć protokołu kryptograficznego. Taki protokół istnieje! Stefan Dziembowski Historia Alicji i Boba – p.12/54 Ogólniejszy przykład Czy można grać w karty przez telefon? Stefan Dziembowski Historia Alicji i Boba – p.13/54 Ogólniejszy przykład Czy można grać w karty przez telefon? Tak (istnieje protokół kryptograficzny). Stefan Dziembowski Historia Alicji i Boba – p.13/54 Wi˛eksze grupy uczestników Ogólniej, zamiast pary Alicja, Bob ma swój prywatny Z których każdy argument . możemy rozważać wieksze ˛ grupy uczestników: Stefan Dziembowski Historia Alicji i Boba – p.14/54 Przykład 3: Problem miłosny Ten problem można uogólnić na grupe˛ osób Stefan Dziembowski Historia Alicji i Boba – p.15/54 Przykład 3: Problem miłosny Ten problem można uogólnić na grupe˛ osób Każda osoba które kocha. w nastepuj ˛ acy ˛ sposób: ma swoja˛ prywatna˛ liste˛ osób Wynikiem działania protokołu jest lista pasujacych ˛ par. Taki protokół istnieje. Stefan Dziembowski Historia Alicji i Boba – p.15/54 Przykład 4: Problem milionerów Grupa milionerów chce sprawdzić który jest najwiecej ˛ zarabia. Nie chca˛ przy tym zdradzić wysokości swoich zarobków. Stefan Dziembowski Historia Alicji i Boba – p.16/54 Przykład 5: Głosowanie[1/2] jest za wejściem RP do UE jest przeciwny wejściu RP do UE jeśli jeśli Każdy uczestnik określa wartość swojego argumentu w nastepuj ˛ acy ˛ sposób: Obliczana funkcja jest suma˛ argumentów: Stefan Dziembowski Historia Alicji i Boba – p.17/54 Przykład 5: Głosowanie[2/2] Protokoły kryptograficzne protokoły do głosowania elektronicznego istnieja˛ i moga˛ być użyte w praktyce. Stefan Dziembowski Historia Alicji i Boba – p.18/54 Przykład 5: Głosowanie[2/2] Protokoły kryptograficzne protokoły do głosowania elektronicznego istnieja˛ i moga˛ być użyte w praktyce. Pewnym problemem jest zaewnienie niepokwitowalności Stefan Dziembowski Historia Alicji i Boba – p.18/54 Przykład 6: Szpitale [1/3] Szpitale sa˛ zobowiazane ˛ do zachowania tajności danych swoich pacjentów. Dla potrzeb medycznych potrzeba przeprowadzać badania statystyczne na tych danych. Stefan Dziembowski Historia Alicji i Boba – p.19/54 Przykład 6: Szpitale [1/3] Szpitale sa˛ zobowiazane ˛ do zachowania tajności danych swoich pacjentów. Dla potrzeb medycznych potrzeba przeprowadzać badania statystyczne na tych danych. Na przykład: chcemy wiedzieć ilu pacjentów chorujacych ˛ na raka leczyło sie˛ psychiatrycznie. (Mogli sie˛ leczyć w różnych szpitalach.) Stefan Dziembowski Historia Alicji i Boba – p.19/54 Przykład 6: Szpitale [2/3] Problem ten rozwiazuje ˛ sie˛ obecnie za pomoca˛ zaufanej strony trzeciej. Stefan Dziembowski Historia Alicji i Boba – p.20/54 Przykład 6: Szpitale [2/3] Problem ten rozwiazuje ˛ sie˛ obecnie za pomoca˛ zaufanej strony trzeciej. Roziazanie ˛ to wiaże ˛ sie˛ z nastepuj ˛ acymi ˛ niedogodnościami: jest kosztowne, i podatne na oszustwa. Stefan Dziembowski Historia Alicji i Boba – p.20/54 Przykład 6: Szpitale [3/3] Czy da sie˛ to zrobić bez zaufanej strony trzeciej? W zasadzie: Tak. Stefan Dziembowski Historia Alicji i Boba – p.21/54 Przykład 6: Szpitale [3/3] Czy da sie˛ to zrobić bez zaufanej strony trzeciej? W zasadzie: Tak. W praktyce: Nie . . . Problemem sa˛ bardzo duże rozmiary danych. Stefan Dziembowski Historia Alicji i Boba – p.21/54 -podział sekretu Przykład 7: oraz Ustalmy grupe˛ osób: . parametr Załóżmy, że znamy tajna˛ liczbe˛ . Stefan Dziembowski Historia Alicji i Boba – p.22/54 -podział sekretu Przykład 7: Ustalmy grupe˛ osób: oraz . parametr Załóżmy, że znamy tajna˛ liczbe˛ . Chcemy żeby: osób dowolna grupa co najmniej potrafiła obliczyć . dowolna grupa maksymalnie osób nie miała żadnej wiedzy na temat , oraz Istnieje odpowiedni protokół (pokażemy go za chwile). ˛ Stefan Dziembowski Historia Alicji i Boba – p.22/54 Prywatne pozyskiwanie danych Załóżmy, że mamy baz˛e danych reprezentowana˛ jako wektor bitów: Chcemy poznać jedna˛ ze współrz˛ednych w taki sposób, że baza danych nie bedzie ˛ wiedziała o która˛ współrz˛edna˛ nam chodzi. Stefan Dziembowski Historia Alicji i Boba – p.23/54 Prywatne pozyskiwanie danych Załóżmy, że mamy baz˛e danych reprezentowana˛ jako wektor bitów: Chcemy poznać jedna˛ ze współrz˛ednych w taki sposób, że baza danych nie bedzie ˛ wiedziała o która˛ współrz˛edna˛ nam chodzi. Baza danych wysyła nam Trywialne rozwiazanie: ˛ cała˛ swoja˛ zawartość. Stefan Dziembowski Historia Alicji i Boba – p.23/54 Prywatne pozyskiwanie danych Załóżmy, że mamy baz˛e danych reprezentowana˛ jako wektor bitów: Chcemy poznać jedna˛ ze współrz˛ednych w taki sposób, że baza danych nie bedzie ˛ wiedziała o która˛ współrz˛edna˛ nam chodzi. Baza danych wysyła nam Trywialne rozwiazanie: ˛ cała˛ swoja˛ zawartość. Istnieje protokół kryptograficzny, który ma złożoność komunikacyjna˛ znacznie niższa˛ niż . Stefan Dziembowski Historia Alicji i Boba – p.23/54 Definicje i modele Stefan Dziembowski Historia Alicji i Boba – p.24/54 Definicje Co to znaczy, że dany protokół dla graczy bezpiecznie oblicza funkcje˛ ? Stefan Dziembowski Historia Alicji i Boba – p.25/54 Definicje Co to znaczy, że dany protokół dla graczy bezpiecznie oblicza funkcje˛ ? Nieformalnie: Oszukujacy ˛ gracz nie może zaszkodzić bardziej niż jakby funkcja była obliczona przez zaufana˛ strone˛ trzecia. Stefan Dziembowski Historia Alicji i Boba – p.25/54 Definicje Co to znaczy, że dany protokół dla graczy bezpiecznie oblicza funkcje˛ ? Nieformalnie: Oszukujacy ˛ gracz nie może zaszkodzić bardziej niż jakby funkcja była obliczona przez zaufana˛ strone˛ trzecia. W szczególności. Alicja może fałszywie zadeklarować, że kocha Boba. (Tego nie da sie˛ uniknać.) ˛ Stefan Dziembowski Historia Alicji i Boba – p.25/54 Modele Z reguły przyjmuje sie, ˛ że oszuści działaja˛ w koalicjach. Jaki jest maksymalny rozmiar takiej koalicji? Stefan Dziembowski Historia Alicji i Boba – p.26/54 Modele Z reguły przyjmuje sie, ˛ że oszuści działaja˛ w koalicjach. Jaki jest maksymalny rozmiar takiej koalicji? Czy oszuści działaja˛ zgodnie z protokołem (pasywnie), czy niezgodnie (aktywnie)? Stefan Dziembowski Historia Alicji i Boba – p.26/54 Modele Z reguły przyjmuje sie, ˛ że oszuści działaja˛ w koalicjach. Jaki jest maksymalny rozmiar takiej koalicji? Czy oszuści działaja˛ zgodnie z protokołem (pasywnie), czy niezgodnie (aktywnie)? Jaka˛ moca˛ obliczeniowa˛ dysponuja˛ oszuści? Stefan Dziembowski Historia Alicji i Boba – p.26/54 Modele Z reguły przyjmuje sie, ˛ że oszuści działaja˛ w koalicjach. Jaki jest maksymalny rozmiar takiej koalicji? Czy oszuści działaja˛ zgodnie z protokołem (pasywnie), czy niezgodnie (aktywnie)? Jaka˛ moca˛ obliczeniowa˛ dysponuja˛ oszuści? Czy kanały miedzy ˛ uczestnikami sa˛ bezpieczne? .. . Stefan Dziembowski Historia Alicji i Boba – p.26/54 Jak to zrobić? Stefan Dziembowski Historia Alicji i Boba – p.27/54 przez . 1. Alicja losuje bit Bob losuje bit Alicja i Bob chca˛ zalosować bit telefon. Pierwszy pomysł Losowanie bitu przez telefon [1/2] . Stefan Dziembowski Historia Alicji i Boba – p.28/54 przez . 1. Alicja losuje bit Bob losuje bit Alicja i Bob chca˛ zalosować bit telefon. Pierwszy pomysł Losowanie bitu przez telefon [1/2] . 2. Strony wysyłaja˛ sobie nawzajem to co wylosowały. Stefan Dziembowski Historia Alicji i Boba – p.28/54 przez . 1. Alicja losuje bit Bob losuje bit Alicja i Bob chca˛ zalosować bit telefon. Pierwszy pomysł Losowanie bitu przez telefon [1/2] . 2. Strony wysyłaja˛ sobie nawzajem to co wylosowały. ( . 3. Wynikiem losowania jest ) Stefan Dziembowski Historia Alicji i Boba – p.28/54 Losowanie bitu przez telefon [2/2] z prawdopodobieństwem z prawdopodobieństwem Stefan Dziembowski Zauważmy, że wystarczy, żeby co najmniej jedna z liczb i była wybrana losowo, żeby Historia Alicji i Boba – p.29/54 Losowanie bitu przez telefon [2/2] z prawdopodobieństwem z prawdopodobieństwem Zauważmy, że wystarczy, żeby co najmniej jedna z liczb i była wybrana losowo, żeby Protokół ma jednak pewien problem: Stefan Dziembowski Historia Alicji i Boba – p.29/54 Losowanie bitu przez telefon [2/2] z prawdopodobieństwem z prawdopodobieństwem Zauważmy, że wystarczy, żeby co najmniej jedna z liczb i była wybrana losowo, żeby Protokół ma jednak pewien problem: jak zagwarantować, żeby strony wysłały sobie bity i dokładnie w tym samym momencie? Stefan Dziembowski Historia Alicji i Boba – p.29/54 Losowanie bitu przez telefon [2/2] z prawdopodobieństwem z prawdopodobieństwem Zauważmy, że wystarczy, żeby co najmniej jedna z liczb i była wybrana losowo, żeby Protokół ma jednak pewien problem: jak zagwarantować, żeby strony wysłały sobie bity i dokładnie w tym samym momencie? w praktyce (internet, telefon) nie da sie˛ . . . Stefan Dziembowski Historia Alicji i Boba – p.29/54 Protokół zobowiazania ˛ bitowego Załóżmy, że Alicja wybrała bit . Zobowiazanie ˛ Alicja wysyła do Boba jaka˛ś informacje˛ . Na podstawie Bob nie potrafi obliczyć . Stefan Dziembowski Otworzenie Alicja wysyła do Boba informacje˛ , taka, ˛ że . Bob może obliczyć . Alicja nie jest w stanie podać takiego, że Historia Alicji i Boba – p.30/54 Protokół zobowiazania ˛ bitowego Załóżmy, że Alicja wybrała bit . Zobowiazanie ˛ Alicja wysyła do Boba jaka˛ś informacje˛ . Na podstawie Bob nie potrafi obliczyć . Otworzenie Alicja wysyła do Boba informacje˛ , taka, ˛ że . Bob może obliczyć . Alicja nie jest w stanie podać takiego, że Intuicja: jest pudełkiem w którym Alicja zamyka , liczba jest kluczem do tego pudełka. Stefan Dziembowski Historia Alicji i Boba – p.30/54 Przykład zobowiazania ˛ bitowego — funkcja szyfrowania w ustalonym kryptosystemie klucza publicznego. — bit Alicji. Zobowiazanie ˛ Alicja wybiera klucz publiczny oraz losowa˛ wiadomość . Niech i niech oznacza ostatni bit . i do Boba. Alicja wysyła Stefan Dziembowski Historia Alicji i Boba – p.31/54 Przykład zobowiazania ˛ bitowego — funkcja szyfrowania w ustalonym kryptosystemie klucza publicznego. — bit Alicji. Zobowiazanie ˛ Alicja wybiera klucz publiczny oraz losowa˛ wiadomość . Niech i niech oznacza ostatni bit . i do Boba. Alicja wysyła Otworzenie Alicja wysyła do Boba. Bob . Jeśli tak, to oblicza a. sprawdza, czy Stefan Dziembowski Historia Alicji i Boba – p.31/54 . 1. Alicja losuje bit Bob losuje bit Poprawiony protokół . Stefan Dziembowski Historia Alicji i Boba – p.32/54 . 1. Alicja losuje bit Bob losuje bit Poprawiony protokół . 2. Alicja zobowiazuje ˛ sie˛ do bitu . Stefan Dziembowski Historia Alicji i Boba – p.32/54 . 1. Alicja losuje bit Bob losuje bit Poprawiony protokół . 3. Bob wysyła do Alicji bit 2. Alicja zobowiazuje ˛ sie˛ do bitu . Stefan Dziembowski Historia Alicji i Boba – p.32/54 . 1. Alicja losuje bit Bob losuje bit Poprawiony protokół . 3. Bob wysyła do Alicji bit 2. Alicja zobowiazuje ˛ sie˛ do bitu . 4. Alicja otwiera zobowiazanie ˛ do Stefan Dziembowski Historia Alicji i Boba – p.32/54 . 1. Alicja losuje bit Bob losuje bit Poprawiony protokół . 3. Bob wysyła do Alicji bit 2. Alicja zobowiazuje ˛ sie˛ do bitu . 4. Alicja otwiera zobowiazanie ˛ do . 5. Wynikiem losowania jest Stefan Dziembowski Historia Alicji i Boba – p.32/54 . 1. Alicja losuje bit Bob losuje bit Poprawiony protokół . 3. Bob wysyła do Alicji bit 2. Alicja zobowiazuje ˛ sie˛ do bitu . 4. Alicja otwiera zobowiazanie ˛ do . 5. Wynikiem losowania jest Jeśli Alicja odmówiła otworzenia zobowiazania, ˛ to automatycznie przegrywa. Stefan Dziembowski Historia Alicji i Boba – p.32/54 . Aby -podzielić sekret Ustalmy ciało . -podział sekretu stopnia wysyłamy Do każdego gracza Wybieramy losowy wielomian maksymalnie taki, że . Stefan Dziembowski Historia Alicji i Boba – p.33/54 -podział sekretu: intuicja p s 1 2 3 4 ... Stefan Dziembowski Historia Alicji i Boba – p.34/54 -podział sekretu: rekonstrukcja Jeśli grupa graczy chce zrekonstruować sekret wówczas: każdy gracz oznajmia pozostałym liczbe, ˛ , która˛ otrzymał. na podstawie tych wartości gracze interpoluja˛ wartość wielomianu dla argumentu . Stefan Dziembowski Historia Alicji i Boba – p.35/54 -podział sekretu: prywatność Z właściwości wielomianów wynika, że dowolna grupa co najwyżej graczy nie ma żadnej informacji na temat sekretu. ˛ jeśli znamy tylko punktów Nieformalnie mówiac: wielomianu, to nic nie wiemy na temat jego wartości w zerze. Stefan Dziembowski Historia Alicji i Boba – p.36/54 -podział sekretu: prywatność Z właściwości wielomianów wynika, że dowolna grupa co najwyżej graczy nie ma żadnej informacji na temat sekretu. ˛ jeśli znamy tylko punktów Nieformalnie mówiac: wielomianu, to nic nie wiemy na temat jego wartości w zerze. Pytanie do zastanowienia sie: ˛ Jak to zformalizować? Stefan Dziembowski Historia Alicji i Boba – p.36/54 -podział sekretu: addytywność Powyższy protokół ma dodatkowa˛ własność: addytywność. Stefan Dziembowski Historia Alicji i Boba – p.37/54 -podział sekretu: addytywność Powyższy protokół ma dodatkowa˛ własność: addytywność. Załóżmy, że podzielone zostały dwa sekrety: i za pomoca˛ wielomianów i . Stefan Dziembowski Historia Alicji i Boba – p.37/54 -podział sekretu: addytywność Powyższy protokół ma dodatkowa˛ własność: addytywność. , -podział podstawi utworza˛ Jeśli każdy gracz to wartości . sekretu Załóżmy, że podzielone zostały dwa sekrety: i za pomoca˛ wielomianów i . Stefan Dziembowski Historia Alicji i Boba – p.37/54 -podział sekretu: addytywność Powyższy protokół ma dodatkowa˛ własność: addytywność. , -podział podstawi utworza˛ Jeśli każdy gracz to wartości . sekretu Załóżmy, że podzielone zostały dwa sekrety: i za pomoca˛ wielomianów i . Pytanie dodatkowe: Co z mnożeniem? Stefan Dziembowski Historia Alicji i Boba – p.37/54 Protokół głosowania Addytywności możemy użyć przy konstrukcji nastepuj ˛ acego ˛ protokołu do głosowania w grupie graczy: Każdy gracz -dzieli swój głos pomiedzy ˛ pozostałych graczy (za pomoca˛ wielomianu ). Stefan Dziembowski Historia Alicji i Boba – p.38/54 Protokół głosowania Addytywności możemy użyć przy konstrukcji nastepuj ˛ acego ˛ protokołu do głosowania w grupie graczy: Każdy gracz -dzieli swój głos pomiedzy ˛ pozostałych graczy (za pomoca˛ wielomianu ). Gracze wspólnie rekonstruuja˛ sekret interpolujac ˛ wielomian . Stefan Dziembowski Historia Alicji i Boba – p.38/54 Problem z protokołem głosowania Jeśli wszyscy gracze zachowuja˛ sie˛ zgodnie z protokołem, to wszystko jest OK. Stefan Dziembowski Historia Alicji i Boba – p.39/54 Problem z protokołem głosowania Jeśli wszyscy gracze zachowuja˛ sie˛ zgodnie z protokołem, to wszystko jest OK. Ale jeśli któryś z graczy zacznie aktywnie oszukiwać, wówczas może on zaburzyć wynik. Stefan Dziembowski Historia Alicji i Boba – p.39/54 Problem z protokołem głosowania Jeśli wszyscy gracze zachowuja˛ sie˛ zgodnie z protokołem, to wszystko jest OK. Ale jeśli któryś z graczy zacznie aktywnie oszukiwać, wówczas może on zaburzyć wynik. Protokól zabezpieczajacy ˛ przed aktywnymi oszustami istnieje, ale jest znacznie bardziej skomplikowany! Stefan Dziembowski Historia Alicji i Boba – p.39/54 Problem z protokołem głosowania Jeśli wszyscy gracze zachowuja˛ sie˛ zgodnie z protokołem, to wszystko jest OK. Ale jeśli któryś z graczy zacznie aktywnie oszukiwać, wówczas może on zaburzyć wynik. Protokól zabezpieczajacy ˛ przed aktywnymi oszustami istnieje, ale jest znacznie bardziej skomplikowany! Jest to przykład ogólnego zjawiska Stefan Dziembowski Historia Alicji i Boba – p.39/54 Modularność [1/2] Protokoły można konstruować modularnie: 1. Konstrujemy pod-protokół do wykonania konkretnego pod-zadania. 2. Użwamy tego pod-protokołu do skonstruowania głównego protokołu. Stefan Dziembowski Historia Alicji i Boba – p.40/54 Modularność [1/2] Protokoły można konstruować modularnie: 1. Konstrujemy pod-protokół do wykonania konkretnego pod-zadania. 2. Użwamy tego pod-protokołu do skonstruowania głównego protokołu. Przykład: Używamy protokołu zobowiazania ˛ bitowego do konstrukcji protokołu losowania bitu. Stefan Dziembowski Historia Alicji i Boba – p.40/54 Modularnośc [2/2] Okazuje sie, ˛ że w zasadzie dowolny protokół można skonstruować korzystajac ˛ z jednego protokołu. Stefan Dziembowski Historia Alicji i Boba – p.41/54 Modularnośc [2/2] Okazuje sie, ˛ że w zasadzie dowolny protokół można skonstruować korzystajac ˛ z jednego protokołu. Ten protokół, to transfer utajniony (ang. oblivious transfer). Stefan Dziembowski Historia Alicji i Boba – p.41/54 Transfer utajniony argument Boba: bit argument Alicji: pare˛ liczb Protokół transferu utajnionego działa w nastepuj ˛ acy ˛ sposób: . W wyniku wykonania protokołu. OT Bob poznaje liczbe˛ wiecej). ˛ Alicja nie dowiaduje sie˛ niczego. (i nic Stefan Dziembowski Historia Alicji i Boba – p.42/54 Problem miłosny Jak Alicja i Bob moga˛ obliczyć koninukcje˛ swoich argumentów (w modelu z pasywnymi oszustwami)? Stefan Dziembowski Historia Alicji i Boba – p.43/54 Problem miłosny Jak Alicja i Bob moga˛ obliczyć koninukcje˛ swoich argumentów (w modelu z pasywnymi oszustwami)? Bob wysyła wynik. Alicja i Bob wykonuja˛ protokół transferu dla Alicji i utajnionego z argumentem dla Boba. Niech OT bedzie ˛ wynikiem. do Alicji. Oboje uznaja˛ za Stefan Dziembowski Historia Alicji i Boba – p.43/54 i prywatny i wysyła Stefan Dziembowski Alicja wybiera klucz publiczny go do Boba. — argument Boba. – argument Alicji, Implementacja transferu utajnionego Historia Alicji i Boba – p.44/54 Bob wybiera losowo i , podstawia oraz i wysyła do Alicji. i wysyła i prywatny Alicja wybiera klucz publiczny go do Boba. — argument Boba. – argument Alicji, Implementacja transferu utajnionego Stefan Dziembowski Historia Alicji i Boba – p.44/54 Bob wybiera losowo i , podstawia oraz i wysyła do Alicji. i wysyła i prywatny Alicja wybiera klucz publiczny go do Boba. — argument Boba. – argument Alicji, Implementacja transferu utajnionego Alicja odszyfrowuje i . Niech beda˛ ostatnimi bitami odszyfrowanych wiadmości. Alicja wysyła Bobowi. Stefan Dziembowski Historia Alicji i Boba – p.44/54 Bob wybiera losowo i , podstawia oraz i wysyła do Alicji. i wysyła i prywatny Alicja wybiera klucz publiczny go do Boba. — argument Boba. – argument Alicji, Implementacja transferu utajnionego , wiec ˛ może obliczyć Bob zna Alicja odszyfrowuje i . Niech beda˛ ostatnimi bitami odszyfrowanych wiadmości. Alicja wysyła Bobowi. . Stefan Dziembowski Historia Alicji i Boba – p.44/54 Jak policzyć dowolna˛ funkcj˛e Dowolna˛ wydajnie obliczalna˛ -argumentowa˛ funkcje˛ można bezpiecznie obliczyć za pomoca˛ protokołu dla graczy ( ). Stefan Dziembowski Historia Alicji i Boba – p.45/54 Jak policzyć dowolna˛ funkcj˛e Dowolna˛ wydajnie obliczalna˛ -argumentowa˛ funkcje˛ można bezpiecznie obliczyć za pomoca˛ protokołu dla graczy ( ). Idea: przedstawiamy funkcje˛ jako obwód logiczny. Stefan Dziembowski Historia Alicji i Boba – p.45/54 Obwód logiczny wynik and and neg and and and and neg and argumenty Stefan Dziembowski Historia Alicji i Boba – p.46/54 Idea działania protokołu Na poczatku ˛ każdy uczestnik dzieli swój argument miedzy ˛ pozostałych uczestników. Tworzymy pod-protokoły, które na podstawie podziałów sekretów i pozwala graczom uzyskać podział negacji . Aby uzyskać wynik gracze używaja˛ protokołu rekonstrukcji sekretu. Stefan Dziembowski Historia Alicji i Boba – p.47/54 Protokół dla 2 graczy Sekret jest dzielony miedzy ˛ Alicje˛ i Boba przez wybranie losowej pary bitów takich, że . Bit jest przydzielany jest przydzielany Bobowi. Alicji, a bit Stefan Dziembowski Historia Alicji i Boba – p.48/54 Protokół dla 2 graczy Sekret jest dzielony miedzy ˛ Alicje˛ i Boba przez wybranie losowej pary bitów takich, że . Bit jest przydzielany jest przydzielany Bobowi. Alicji, a bit Rekonstrukcja jest trywialna. Stefan Dziembowski Historia Alicji i Boba – p.48/54 Protokół dla 2 graczy Sekret jest dzielony miedzy ˛ Alicje˛ i Boba przez wybranie losowej pary bitów takich, że . Bit jest przydzielany jest przydzielany Bobowi. Alicji, a bit Rekonstrukcja jest trywialna. Negacja też jest prosta: Alicja o prostu neguje swój bit, a Bob nic nie robi. Stefan Dziembowski Historia Alicji i Boba – p.48/54 OT a OT i . Wykonywane sa˛ protokoły: Alicja losuje bity Załóżmy, że mamy 2 sekrety i . Alicja zna bity i takie, że i Bob zna bity Protokół dla 2 graczy: mnożenie Stefan Dziembowski Historia Alicji i Boba – p.49/54 Podział OT a OT i . Wykonywane sa˛ protokoły: Alicja losuje bity Załóżmy, że mamy 2 sekrety i . Alicja zna bity i takie, że i Bob zna bity Protokół dla 2 graczy: mnożenie tworza: ˛ Stefan Dziembowski Historia Alicji i Boba – p.49/54 a . Cz˛eść Alicji: tworza: ˛ Podział OT i . Wykonywane sa˛ protokoły: Alicja losuje bity OT Załóżmy, że mamy 2 sekrety i . Alicja zna bity i takie, że i Bob zna bity Protokół dla 2 graczy: mnożenie Stefan Dziembowski Historia Alicji i Boba – p.49/54 Stefan Dziembowski Cz˛eść Boba: . Cz˛eść Alicji: tworza: ˛ Podział OT OT . Wykonywane sa˛ protokoły: Alicja losuje bity a i Załóżmy, że mamy 2 sekrety i . Alicja zna bity i takie, że i Bob zna bity Protokół dla 2 graczy: mnożenie . Historia Alicji i Boba – p.49/54 Ogólna dyskusja o założeniach potrzebnych do dowiedzenia bezpieczeństwia Stefan Dziembowski Historia Alicji i Boba – p.50/54 Założenia złożonościowe Praktycznie wszystki współczesne szyfry opieraja˛ swe bezpieczeństwo na założeniu, że moc obliczeniowa przeciwnika jest ograniczona. Stefan Dziembowski Historia Alicji i Boba – p.51/54 Założenia złożonościowe Praktycznie wszystki współczesne szyfry opieraja˛ swe bezpieczeństwo na założeniu, że moc obliczeniowa przeciwnika jest ograniczona. Jak pokazał Claude Schannon w latach 40tych takie założenie jest konieczne. Inaczej mówiac: ˛ nie ma praktycznych szyfrów, które byłyby bezpieczne bez takiego założenia. Stefan Dziembowski Historia Alicji i Boba – p.51/54 Nieudowodnione hipotezy Co gorsza: nikt nie potrafi dowieśc bezpieczeństwa żadnego praktycznego szyfru (w oparciu o założenie, że moc przeciwnika jest ograniczona). Stefan Dziembowski Historia Alicji i Boba – p.52/54 Nieudowodnione hipotezy Co gorsza: nikt nie potrafi dowieśc bezpieczeństwa żadnego praktycznego szyfru (w oparciu o założenie, że moc przeciwnika jest ograniczona). W praktyce opieramy wiec ˛ bezpieczeństwo na założeniu, że jakiś problem (np. faktoryzacja dużych liczb naturalnych) nie daje sie˛ rozwiaza ˛ ć za pomoca˛ praktycznie dostepnych ˛ mocy obliczeniowych. Stefan Dziembowski Historia Alicji i Boba – p.52/54 Nieudowodnione hipotezy Co gorsza: nikt nie potrafi dowieśc bezpieczeństwa żadnego praktycznego szyfru (w oparciu o założenie, że moc przeciwnika jest ograniczona). W praktyce opieramy wiec ˛ bezpieczeństwo na założeniu, że jakiś problem (np. faktoryzacja dużych liczb naturalnych) nie daje sie˛ rozwiaza ˛ ć za pomoca˛ praktycznie dostepnych ˛ mocy obliczeniowych. Pokazanie bezpieczeństwa jakiegokolwiek szyfru implikowałoby rozwiazanie ˛ problemu „P=NP”, który jest bardzo znanym problemem. Stefan Dziembowski Historia Alicji i Boba – p.52/54 Protokoły wielopodmiotowe (jeśli oszukuja˛ Liczba oszustów nie przekracza pasywnie). Liczba oszustów nie przekracza aktywnie). Nieco lepiej rzecz sie˛ ma z protokołami wielopodmiotowymi. Bez jakichkolwiek założeń możemy policzyć dowolna˛ funkcje˛ w gronie graczy, pod warunkiem, że: (jeśli oszukuja˛ Jeśli oszustów jest wiecej, ˛ to protokoły musza˛ opierać sie˛ na nieudowodnionych założeniach. Stefan Dziembowski Historia Alicji i Boba – p.53/54 Koniec Te slajdy zostana˛ umieszczone na stronie http://www.mimuw.edu.pl/ std. Stefan Dziembowski Historia Alicji i Boba – p.54/54