Wykład 4. Schematy Identyfikacji

Podobne dokumenty
Podstawy systemów kryptograficznych z kluczem jawnym RSA

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 9

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA

Algorytmy asymetryczne

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 1

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

Liczby pierwsze na straży tajemnic

0 + 0 = 0, = 1, = 1, = 0.

Zarys algorytmów kryptograficznych

2 Kryptografia: algorytmy symetryczne

WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania

Wprowadzenie ciag dalszy

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp.

Modele uwierzytelniania, autoryzacji i kontroli dostępu do systemów komputerowych.

SSL (Secure Socket Layer)

Wykład VI. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Rachunek prawdopodobieństwa Rozdział 3. Prawdopodobieństwo warunkowe i niezależność zdarzeń.

Od Wydawcy Krzywe eliptyczne w kryptografii Wykorzystanie pakietu SAGE... 9

Spis treści. Od Wydawcy

KUS - KONFIGURACJA URZĄDZEŃ SIECIOWYCH - E.13 ZABEZPIECZANIE DOSTĘPU DO SYSTEMÓW OPERACYJNYCH KOMPUTERÓW PRACUJĄCYCH W SIECI.

Przewodnik użytkownika

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Bezpieczeństwo kart elektronicznych

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Wymagania edukacyjne z matematyki klasa II technikum

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Wykład z równań różnicowych

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Bezpieczeństwo systemów komputerowych. Podpis cyfrowy. Podpisy cyfrowe i inne protokoły pośrednie

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 7

WorkshopIT Komputer narzędziem w rękach prawnika

Luty 2001 Algorytmy (7) 2000/2001

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna

Laboratorium nr 1 Szyfrowanie i kontrola integralności

Algorytmy w teorii liczb

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność

Kryptografia-0. przykład ze starożytności: około 489 r. p.n.e. niewidzialny atrament (pisze o nim Pliniusz Starszy I wiek n.e.)

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 5

Outlook Instrukcja podpisywania i szyfrowania wiadomości certyfikatem niekwalifikowanym.

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Poufność (słaba) Integralność (niekryptograficzna) Uwierzytelnienie (słabe) Brak kontroli dostępu Brak zarządzania kluczami

Zaawansowane metody numeryczne

Kongruencje pierwsze kroki

Seminarium Katedry Radiokomunikacji, 8 lutego 2007r.

Matematyka dyskretna

Sieci komputerowe. Wykład 11: Podstawy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Przykładowe rozwiązania

WSIZ Copernicus we Wrocławiu

Lekcja 8, 9 i 10. Konspekt lekcji Poczta elektroniczna. Materiał z podręcznika: Rozdział 5. Poczta elektroniczna

Iteracyjne rozwiązywanie równań

Bezpieczeństwo informacji w zarządzaniu Pomocnicze materiały szkoleniowe. Podstawy uwierzytelnienia. dr Tomasz Barbaszewski Kraków, 2012

Bezpieczeństwo usług oraz informacje o certyfikatach

1. Wykład NWD, NWW i algorytm Euklidesa.

Macierze. Rozdział Działania na macierzach

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Parametry systemów klucza publicznego

Algorytmy i struktury danych. Wykład 4

Paradygmaty dowodzenia

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.

Metody numeryczne I Równania nieliniowe

Grupy. Permutacje 1. (G2) istnieje element jednostkowy (lub neutralny), tzn. taki element e G, że dla dowolnego a G zachodzi.

Certyfikat Certum Basic ID. Instrukcja dla użytkowników Windows Vista. wersja 1.3 UNIZETO TECHNOLOGIES SA

Instrukcja dla użytkowników Windows Vista Certyfikat Certum Basic ID

Zajęcia nr. 3 notatki

Wykład VIII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład 7. komputerowych Integralność i uwierzytelnianie danych - główne slajdy. 16 listopada 2011

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Informatyka kwantowa. Zaproszenie do fizyki. Zakład Optyki Nieliniowej. wykład z cyklu. Ryszard Tanaś. mailto:tanas@kielich.amu.edu.

W. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1

Kryptologia przykład metody RSA

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Matematyka dyskretna

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

LICZBY PIERWSZE. 14 marzec Jeśli matematyka jest królową nauk, to królową matematyki jest teoria liczb. C.F.

Rozdział 1. Wektory losowe. 1.1 Wektor losowy i jego rozkład

Bezpieczeństwo systemów komputerowych.

Wielomiany. dr Tadeusz Werbiński. Teoria

Protokoły zdalnego logowania Telnet i SSH

Podstawy Secure Sockets Layer

Sieci komputerowe Wykład 7. Bezpieczeństwo w sieci. Paweł Niewiadomski Katedra Informatyki Stosowanej Wydział Matematyki UŁ niewiap@math.uni.lodz.

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Wykład 9. komputerowych Głosowanie internetowe - główne slajdy. 23 listopada Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Program szkolenia: Bezpieczny kod - podstawy

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

Authenticated Encryption

Program zajęć pozalekcyjnych z matematyki poziom rozszerzony- realizowanych w ramach projektu Przez naukę i praktykę na Politechnikę

Transkrypt:

Teoria Protokołów Kryptograficznych 51103 Wykład 4 Schematy Identyfikacji Wykładowca: Stefan Dziembowski Skryba: Paulina Kania, Łukasz Osipiuk Streszczenie Wprowadzamy pojęcie systemu identyfikacji Przedstawiamy klasyczne metody stosowane do identyfikacji użytkowników w systemach komputerowych W dalszej części zajmujemy się nowoczesnymi technikami wykorzystującymi dowody wiedzy z wiedzą zerową [notatki częściowo oparte na [3] i Rozdziale 10 [1] oraz wykładzie [2]] 1 Wstęp Dzisiaj zajmiemy się schematami identyfikacji (ang: identification schemes) zwanymi też schematami uwierzytelniania podmiotu (ang: entity authentication) Jest to przykład zastosowania dowodów z wiedzą zerową Wykład będzie miał charakter bardziej praktyczny niż poprzednie Ogólnie: w identyfikacji mamy do czynienia z dwiema stronami: podmiotem uwierzytelnianym, którego dla wygody będziemy zwykle nazywać użytkownikiem podmiotem weryfikujacym, czyli weryfikatorem W skrócie: celem takiego schematu jest to, aby użytkownik udowodnił weryfikatorowi swoją tożsamość Pojęcia tego nie należy mylić z MACami, podpisami cyfrowymi oraz z autentyfikowanym uzgadnianiem klucza, choć te pojęcia są sobie bliskie Typowe zastosowania schematów identyfikacji obejmują: logowanie się do systemu komputerowego, do banku internetowego, pobieranie pieniędzy z bankomatu, itp Podmiotem uwierzytelnianym może być np klient banku, a weryfikatorem bankomat 1

2 Tradycyjne metody Tradycyjne metody korzystają z haseł lub PINów Polegają one na tym że każdy użytkownik systemu ma swoje hasło dostępowe 1 Aby się uwierzytelnić użytkownik wysyła swoje hasło do weryfikatora 2 weryfikator sprawdza, czy hasło się zgadza i akceptuje albo nie Wady tego rozwiązania: 1 Każdy, kto podsłucha rozmowę między a poznaje hasło i może się podszyć pod Można temu zaradzić korzystając z szyfrowanego połączenia 2 Każdy kto ma dostęp do pliku z hasłami, może się podszyć pod Można temu zaradzić w następujący sposób: zamiast przechowywać plik z hasłami zapisanymi tekstem jawnym, przechowujemy je zaszyfrowane Tak na prawdę, to nie są one zaszyfrowane, lecz po prostu przechowujemy wartości jakiejś funkcji jednokierunkowej na tych hasłach To cały czas nie jest do końca bezpieczne, bo: 3 Każdy kto ma dostęp do pliku z zaszyfrowanymi hasłami może próbować je łamać atakiem słownikowym, polegającym na zastosowaniu do wszystkich słów w danym słowniku i porównaniu wyników z wartościami w pliku z hasłami może zawierać wszystkie słowa w popularnych językach, słowa znalezione w internecie i ich proste modyfikacje Aby zapobiec atakom słownikowym stosuje się następujące metody: zmusza się użytkowników do wyboru trudnych haseł wybiera się funkcję, której obliczenie zajmuje trochę czasu soli się hasła Do otrzymanego hasła najpierw dopisujemy losowe bity, następnie przykładamy funkcję jednokierunkową i do otrzymanego w ten sposób wyniku ponownie dopisujemy te same losowe bity Dzięki temu, dla każdego użytkownika hash hasła jest inny, nawet jeśli dwóch użytkowników ma takie same hasła Takie podejście uniemożliwia stosowanie ataku słownikowego dla wszystkich użytkowników w bazie jednocześnie Dla każdego zaszyfrowanego hasła w bazie użytkowników i dla każdego słowa ze słownika trzeba osobno liczyć wartość funkcji 2

Jest to metoda stosowana w uniksie Funkcją jest lekko zmodyfikowana funkcja DES, tzn (w uproszczeniu) jest 25-krotnym złożeniem funkcji: Metoda ta jest bezpieczniejsza od niezmodyfikowanego DES, ponieważ uniemożliwia wykorzystywanie przy atakach sprzętowego dekodera DES 4 Nawet jeśli zastosuje się metodę z poprzedniego punktu, to i tak otrzymane hasło będzie przez jakiś czas znajdowało się w pamięci operacyjnej weryfikatora Więc nie jest w pełni bezpieczne 3 Nowoczesne metody uwierzytelniania Nowoczesne metody uwierzytelniania polegają na zasadzie wyzwanie-odpowiedź (ang: challenge-response) W skrócie działa to tak: 1 Weryfikator generuje jakąś wiadomość (wyzwanie ) i wysyła do Użytkownika 2 Użytkownik wysyła do weryfikatora odpowiedź 3 Na podstawie otrzymanej odpowiedzi weryfikator akceptuje albo nie 31 Identyfikacja oparta na kryptografii klucza publicznego Przykładem protokołu wyzwanie-odpowiedź jest następujący protokół oparty na kryptografii klucza publicznego (zakładamy, że Weryfikator posiada parę ): 1 Weryfikator wysyła do użytkownika losową (w miarę długą) wiadomość 2 Użytkownik podpisuje ją swoim kluczem prywatnym i wysyła podpis do Weryfikatora 3 Weryfikator akceptuje wtedy i tylko wtedy gdy podpis jest poprawny Jest to w miarę bezpieczne, ale ma następujące wady: Jeśli weryfikator jest nieuczciwy, to może wybrać dowolne (a nie losowe) W związku z tym może uzyskać podpis Użytkownika na dowolnie wybranej wiadomości (inaczej mówiąc: protokół nie ma właściwości wiedzy zerowej ) Zatem: klucze nie mogą być wykorzystane w innych celach 3

musimy założyć, że dany kryptosystem jest bezpieczny w bardzo silnym sensie (tzn względem ataku z wybraną wiadomością) Jest dość mało wydajne (np w przypadku zastosowania RSA wymaga podnoszenia do potęgi w ) 32 Protokoły uwierzytelniania z wiedza zerowa Pomysł jest taki: zamiast przesyłać hasło, użytkownik udowodni w zero-knowledge, że zna to hasło Np: w przypadku rozwiązania z funkcjami jednokierunkowymi: zamiast przesyłać (tże, dla jakiegoś znanego Weryfikatorowi) użytkownik udowodni (w zeroknowledge), że zna Na pierwszy rzut oka wydaje się to łatwe, bo język: jest w NP, więc istnieje dla niego generyczny dowód z wiedzą zerową Ale uwaga: to, że prover może udowodnić, że istnieje, tże nie musi oznaczać, że zna to Potrzebujemy więc silniejszego pojęcia, czyli dowodu wiedzy z wiedza zerową (ang: zero-knowledge proof of knowledge) 321 Wiedza maszyny Spróbujmy zdefiniować, co to znaczy, że maszyna coś wie Nieformalnie oznacza to, że istnieje wydajna maszyna, która używając innej maszyny jako wyroczni, wypisuje na wyjście to co wie maszyna Niech rozwiązaniem dla będzie relacją binarną Jeśli to nazwiemy Powiemy, że jest wielomianowo ograniczona, jeśli istnieje wielomian taki, że dla każdej pary Powiemy, że jest -relacja, jeśli jest wielomianowo ograniczona i dodatkowo istnieje algorytm działający w czasie wielomianowym, sprawdzający czy dana para należy do relacji ( jest sprawdzalna w czasie wielomianowym ) 4

Oznaczmy przez wiadomość wysłaną przez maszynę, przy wejściu wspólnym dla provera i weryfikatora, przy wejściu dodatkowym dla provera, przy wejściu losowym i po odebraniu wiadomości Maszyna z wyrocznią, mająca dostęp do funkcji będzie reprezentować wiedzę maszyny z wejściem wspólnym, wejściem dodatkowym i wejściem losowym Ta maszyna zwana knowledge extractor będzie starała się znaleźć rozwiązanie dla Czas działania extractora jest odwrotnie proporcjonalny do prawdopodobieństwa z jakim przekonuje nas 322 System dowodu wiedzy Definicja 1 (System dowodu wiedzy) Niech będzie binarna relacja i niech Mówimy, że jest weryfikatorem wiedzy dla relacji z błędem, jeśli zachodzą następujace warunki: Istnieje interaktywna maszyna taka, że dla dowolnej pary, po interakcji z (z wejściem wspólnym i dodatkowym ), akceptuje Istnieje wielomian i maszyna z wyrocznia taka, że dla dowolnej funkcji i dla dowolnego, majacego rozwiązanie, maszyna spełnia następujacy warunek: Niech będzie prawdopodobieństwem, że maszyna zaakceptuje, na wejściu wspólnym, podczas interakcji z proverem specyfikowanych przez Wtedy, jeśli to, na wejściu wspólnym, po dostępie do wyroczni, maszyna wypisuje rozwiązanie takie, że, w czasie oczekiwanym ograniczonym przez Maszyna z wyrocznią jest nazywana universal knowledge extractor Twierdzenie 2 Niech będzie relacja oraz niech będzie wielomianem takim, że z tego, że wynika Niech będzie systemem dowodu wiedzy dla z błędem "! $# Wtedy jest systemem dowodu wiedzy z błędem zero 5

Dowód: Rozważmy dwa przypadki: Jeśli, wtedy: Jeśli szacowanie! #, wtedy dzieląc obustronnie przez Oczekiwany czas działania: "! # uzyskujemy Wyjaśnimy teraz dlaczego protokół dla 3-kolorowania jest dowodem wiedzy (z błędem ) Aby to pokazać wystarczy zbudować knowledge extractor, który wielokrotnie uruchamia funkcję specyfikującą naszego provera zapytując ją o kolejne wierzchołki grafu W ten sposób jesteśmy w stanie przekonać się ze prover rzeczywiście znał 3- kolorowanie danego grafu 323 Protokół Fiata-Shamira Przykładem dowodu wiedzy z wiedzą zerową jest protokół Fiata-Shamira, który jest pewnym ulepszeniem dowodu dla reszt kwadratowych, który poznaliśmy na poprzednich ćwiczeniach Najpierw przypomnijmy algorytm z poprzedniego wykładu Aby dokonać identyfikacji prover będzie dowodził w zero knowledge, że zna pierwiastek liczby Kluczem prywatnym jest, a publicznym 1 Prover wybiera losowe i wysyła do weryfikatora 2 Weryfikator wybiera losowe i wysyła je do provera oznacza, że weryfikator prosi o pierwiastek z liczby!, w przeciwnym przypadku weryfikator prosi o pierwiastek z! 3 Prover odpowiada wysyłając 4 Weryfikator akceptuje, jeśli #" $% " % 6

Powtarzajac ten protokół razy uzyskujemy dowód wiedzy z błędem Czyli jest to dowód wiedzy z wiedzą zerową Pierwszą poprawką jaką możemy wprowadzić jest zmniejszenie ilości przesyłanych komunikatów pomiędzy proverem i weryfikatorem (z do 2) Teraz kluczem prywatnym jest, a publicznym, gdzie, i Prover wybiera losowe, po czym wysyła do weryfikatora wektor taki, że % Weryfikator wybiera losowe i wysyła je do provera Prover odpowiada wysyłając iloczyn " Weryfikator akceptuje, jeśli " $% Drugim usprawnieniem, zaproponowanym przez Fiata i Shamira, jest wyliczenie wektora przy użyciu jednokierunkowej funkcji hashującej Weryfikator zamiast losować kolejne bity, wysyła do provera Dalsze usprawnienie protokołu polega na wyeliminowaniu interakcji pomiędzy weryfikatorem a proverem Prover wybiera losowe, po czym wysyła do weryfikatora wektor taki, że % Prover oblicza wektor taki, że Prover wysyła iloczyn " Weryfikator akceptuje, jeśli " $% (weryfikator może wyliczyć wektor na podstawie otrzymanego ) 7

Poprawność protokołu Fiata-Shamira (intuicja) Przeciwnik, bez znajomości, nie jest w stanie wyprodukować takich przyłożone do funkcji hashującej dadzą w wyniku wektor jest zbyt duże, a funkcja zachowuje się jak funkcja losowa, które, ponieważ Protokół Fiata-Shamira jest stosowany w praktyce, na przykład w kartach chipowych 324 Działanie przeciwnika jak drut Należy wspomnieć jeszcze o sytuacji, w której przeciwnik działa jak drut W tej sytuacji proverowi wydaje się, że rozmawia z weryfikatorem, podczas gdy na drodze stoi jeszcze wrogi komputer przekazujący dane w obie strony Może to grozić atakami następującej postaci: 1 Stawiamy fałszywy bankomat 2 Łączymy go drogą radiową ze specjalnie spreparowaną kartą bankową, którą wkładamy do prawdziwego bankomatu 3 Użytkownik wkłada swoją kartę do naszego podstawionego bankomatu Gdy użytkownik zautoryzuje się, możemy wyjąć pieniądze z prawdziwego bankomatu 4 Przykładowe inne zastosowanie dowodu wiedzy z wiedza zerowa Aby ulepszyć dowód nieizomorfizmu grafów i, tak aby był z wiedzą zerową, prover wysyła do weryfikatora nie tylko permutację któregoś z grafów, ale również udowadnia, że zna izomorfizm między wysłanym grafem a którymś z grafów lub (czyli że wysłana permutacja jest rzeczywiście permutacją lub ) Literatura [1] Handbook of Applied Cryptography dostępne pod: http://wwwcacrmathuwaterlooca/hac [2] Benny Chor Lecture "introduction to modern cryptography": Identification schemes zero knowledge proofs Dostępne pod adresem http://wwwcstauacil/ bchor/lecture12pdf [3] Oded Goldreich Zero-knowledge proof systems Dostępne pod adresem http://wwwwisdomweizmannacil/ oded/fraghtml 8