Rozszerzone protokoły Diffiego Hellmana

Podobne dokumenty
Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

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

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

Problem logarytmu dyskretnego i protokół Diffiego-Hellmana. Mateusz Paluch

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

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Współczesna kryptografia schematy bazujące na parowaniu punktów krzywej eliptycznej

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

Parametry systemów klucza publicznego

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

Authenticated Encryption

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

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

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

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

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

Spis treści. Przedmowa... 9

6. Grupowe struktury dwuliniowe

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

Matematyka dyskretna. Wykład 11: Kryptografia z kluczem publicznym. Gniewomir Sarbicki

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Algorytmy asymetryczne

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

Szyfrowanie RSA (Podróż do krainy kryptografii)

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

Podstawy Secure Sockets Layer

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

Copyright by K. Trybicka-Francik 1

Bezpieczeństwo systemów komputerowych

Copyright by K. Trybicka-Francik 1

Zastosowania arytmetyki modularnej. Zastosowania arytmetyki modularnej

Wybrane zagadnienia teorii liczb

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

Bringing privacy back

Lista 0. Kamil Matuszewski 1 marca 2016

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

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

SSL (Secure Socket Layer)

Matematyka dyskretna

Kongruencje pierwsze kroki

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

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

Sprawozdanie nr 4. Ewa Wojtanowska

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

Prawdopodobieństwo i statystyka

Szczegółowy opis przedmiotu zamówienia:

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

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

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

Równania różniczkowe. Notatki z wykładu.

Zegar ten przedstawia reszty z dzielenia przez 6. Obrazuje on jak kolejne liczby można przyporządkować do odpowiednich pokazanych na zegarze grup.

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

Metody numeryczne w przykładach

Płatności CashBill - SOAP

Protokół wymiany sentencji, wersja 1

Analiza kongruencji. Kongruencje Wykład 3. Analiza kongruencji

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania

Bezpieczeństwo poczty elektronicznej

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

Metody ataków sieciowych

Bezpieczeństwo systemów komputerowych. Metody łamania szyfrów. Kryptoanaliza. Badane własności. Cel. Kryptoanaliza - szyfry przestawieniowe.

Bezpieczeństwo systemów komputerowych. Kryptoanaliza. Metody łamania szyfrów. Cel BSK_2003. Copyright by K.Trybicka-Francik 1

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

WSIZ Copernicus we Wrocławiu

GENEROWANIE RAPORTÓW Z INFORMACJAMI GOSPODRACZYMI

SET (Secure Electronic Transaction)

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

Kongruencje twierdzenie Wilsona

Kryptologia przykład metody RSA

Pharming zjawisko i metody ochrony

Losowość w rozproszonym modelu

MidpSSH - analiza bezpieczeństwa

Technika Próżniowa. Przyszłość zależy od dobrego wyboru produktu. Wydanie Specjalne.

Generowanie liczb o zadanym rozkładzie. ln(1 F (y) λ

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Klient-Serwer Komunikacja przy pomocy gniazd

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

Bezpieczeństwo systemów komputerowych

Metody zabezpieczania transmisji w sieci Ethernet

Protokół SSL/TLS. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2009/10. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

Seminarium Katedry Radiokomunikacji, 8 lutego 2007r.

Modyfikacja schematu SCPF obliczeń energii polaryzacji

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

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

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

Zależności funkcyjne

Macierze. Rozdział Działania na macierzach

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

Marcin Szeliga Sieć

Statystyka i eksploracja danych

Algorytmy i Struktury Danych, 9. ćwiczenia

INTERNET - Wrocław Usługi bezpieczeństwa w rozproszonych strukturach obliczeniowych typu grid

Algorytmy w teorii liczb

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

Protokół SSL/TLS. Algorytmy wymiany klucza motywacja

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

E-learning - matematyka - poziom rozszerzony. Funkcja wykładnicza. Materiały merytoryczne do kursu

Autor: Piotr Ignał Opiekun: prof. dr hab. inż. Zbigniew Kotulski

Ataki na algorytm RSA

Transkrypt:

Rozszerzone protokoły Diffiego Hellmana Aleksandra Kamińska, na podstawie: 1. An authenticated Diffie Hellman Key Agreement Protocol Shouichi Hirose, Susumu Yoshida 2. Enhanced of Key Agreement Protocols Resistant to a Denial of Service Attack,, Min Shiang Hwang, Jung Wen Lo, Chia Hsin Liu

Rozszerzone protokoły Diffiego Hellmana Tytułem wstępu: Rozszerzone protokoły Diffiego Hellmana to określenie na protokoły uzgadniania klucza oparte o schemat Diffiego Hellmana. Protokół Diffiego Hellmana nie jest odporny na atak z człowiekiem pośrodku. Ten referat ma na celu zapoznanie słuchaczy z wybranymi protokołami opartymi o schemat DH, odpornymi na takie ataki, jak również z protokołami odpornymi na atak denial of service.

Zagadnienia referatu: protokół Diffiego Hellmana protokół odporny na aktywne i pasywne ataki KAP protokół Hiros Matsura protokoły odporne na ataki DoS KAP1 i KAP2

Podstawowy protokół Diffiego Hellmana (za Handbook of Applied Cryptograpy )

Podstawowy protokół Diffiego Hellmana Cechy: Pierwsze praktyczne rozwiązanie problemu dystrybucji klucza Odporny na ataki pasywne Nieodporny na ataki aktywne brak autentykacji kluczy/ przesyłanych informacji Bezpieczeństwo protokołu opiera się na złożoności obliczeniowej problemu Diffiego Hellmana, a co za tym idzie na złożoności problemu logarytmu dyskretnego.

Protokół KAP Autorzy: Schouichi Hirose, Susumu Yoshida Obserwacja: W protokole Diffiego Hellmana, jeżeli informacja, którą dostaje strona A gwarantuje, że B otrzymał u A = x B wysłał u B = y w odpowiedzi na u A = x B zna x logarytm dyskretny u B, to B rzeczywiście jest w stanie obliczyć K B =K A =K.

Protokół KAP Założenia: p, q duże liczby pierwsze, t.że q p 1; g element grupy cyklicznej rzędu p (czyli GF(p)), o rzędzie qk, dla pewnego k naturalnego. h bezkolizyjna funkcja haszująca, z przeciwdziedziną Z q s i element Z q, klucz prywatny strony i v i =g s i mod p klucz publiczny uzytkownika i. I i reprezentuje identyfikator użytkownika p,q,g,h,v i są znane publiczne, i w szczególności przez wszystkich użytkowników

Protokół KAP

Inicjator: A Odpowiadajacy: B Krok 0 losowane: k A, r A z Z q obliczane: u A, x A losowane: k B, r B z Z q obliczane: u B, x B u Krok 1 A A B Krok 2 obliczane: e B,w B u B,e B,w B Krok 3 A B Krok 4 obliczane: z B,e A,w A porównanie: e B z h(z B,...) e B,w B Krok 5 A B Krok 6 obliczane: K A obliczane: z A,K B porównanie: e A z h(z A,...)

Idea stojąca za protokołem KAP Wiadomość (u B,e B,w B ) można traktować jako podpis (sygnaturę) dla informacji (u A,I B,I A ). Ta sygnatura zawiera informację gwarantującą, że strona B jest w stanie obliczyć wspólny klucz ze stroną A zgodnie z obserwacją dotyczącą protokołu Diffiego Hellmana, zawiera informację że strona B dostała wiadomość u A, że u B jest odpowiedzią strony B na u A, oraz że strona B zna ( k B ), czyli logarytm dyskretny u B. e B = h(x B,u B,u A,I B,I A ) w B = r B + e B k B + e B 2s B mod q, z własności funkcji h e B identyfikuje jednoznacznie (u A,I B,I A ), natomiast wykorzystanie w w B klucza prywatnego strony B zapewnia że wiadomość (u B,e B,w B ) pochodzi od strony B. Warto zwrócić uwagę, że klucze K A i K B są potwierdzane bez wyliczania tychże kluczy.

Zagadnienia złożone obliczeniowo, istotne dla protokołu KAP Problem logarytmu dyskretnego (DLP) Mając daną liczbę pierwszą p, generator α grupy Z p *, oraz element β tej grupy, znaleźć liczbę całkowitą x, 0 x p 2, t.że α x β (mod p) Uogólniony problem logarytmu dyskretnego (GDLP) Mając daną skończoną cykliczną grupę G rzędu n, generator α grupy G, oraz element β tej grupy, znaleźć liczbę całkowitą x, 0 x n 1, t.że α x =β Problem Diffiego Hellmana Mając daną liczbę pierwszą p, generator g grupy Z p *, oraz elementy (g a mod p) i (g b mod p), znaleźć (g ab mod p)

Dzielenie klucza bez komunikacji Korzystając ze schematu redundantnego podpisu (czyli schematu używanego w protokole KAP), można doprowadzić do dzielenia klucza bez komunikacji między stronami. W poniższym schemacie korzysta się jedynie z publicznie dostępnych informacji.

Jednoczesne uzgadnianie wielu kluczy Protokół KAP można również, wprowadzając drobne modyfikacje, stosować do uzgadniania wielu kluczy (MKAP). MKAP można traktować jako ciekawostkę autorzy twierdzą że nie znaleźli jeszcze dobrego zastosowania dla tej wersji protokołu.

Jednoczesne uzgadnianie wielu kluczy

KAP odporny na atak denial of service Atak denial of service (DoS) ma na celu wyczerpanie zasobów serwera oraz zapchanie łącza do serwera, w celu uniemożliwienia dostępu do serwera uczciwym użytkownikom. Użytkownik przeprowadzający atak zgłasza jak najwięcej żądań uzgodnienia klucza, które następnie pozostawia bez odpowiedzi. W ten sposób złośliwy użytkownik chce wyczerpać zasoby obliczeniowe (wiele kosztownych obliczeń) lub pamięciowe (przechowywanie stanu operacji w trakcie uzgadniania) serwera. Do schematów, które można stosować w celu zapewnienia odporności na atak DoS należą m.in.: korzystanie z ciasteczek (cookies), bezstanowe połączenia (informacje niezbędne w każdym kroku są pozyskiwane z informacji przesyłanych między stronami), obciążanie klienta wstępnymi kosztami (w celu nawiązania połączenia klient musi wykonać pewne stosunkowo kosztowne obliczenia; serwer może sprawdzić poprawność obliczeń). Serwer może również wysyłać klientowi informacje, z użyciem których klient musi wykonać obliczenia i odpowiedzieć, a następnie łatwo weryfikować poprawność odpowiedzi.

KAP odporny na atak denial of service W protokole KAP najbardziej kosztowną (ze względu na czas) operacją jest potęgowanie modulo p. Dlatego ważne jest, aby odkładać wyliczanie wyrażeń z potęgowaniem (z A ) do momentu, gdy serwer jest pewien tożsamości klienta.

Bezpieczeństwo protokołu KAP Można udowodnić odporność protokołu KAP na aktywne i pasywne ataki w modelu z wyrocznią (losową). Odporoność na ataki pasywne oparta jest na trudności problemu Diffiego Hellmana. Przy dowodzie odporności na ataki aktywne korzysta się z trudności problemu logarytmu dyskretnego. Ataki rozważane dla KAP: bierne podłuchiwanie zakłócanie atak aktywny współdzielenie nieznanego klucza także atak aktywny

Podsłuchiwanie KAP Problem pasywnego podsłuchiwania (PEP) Niech t ver ilość kroków przy weryfikacji podpisu. Istnieje twierdzenie: Jeśli istnieje probabilistyczna maszyna Turinga M, która rozwiązuje problem PEP w co najwyżej t krokach z prawdopodobieństwem co najmniej ε, to istnieje probabilistyczna maszyna Turinga M rozwiązująca DHP w co najwyżej (t+2t ver ) krokach z prawdopodobieństwem co najmniej ε.

Podsłuchiwanie KAP Dowód: Dla instancji problemu DHP (p,q,g,a,b) maszyna M wykonuje następujące kroki: 1. Przyjmuje u A =g a oraz u B =g b. 2. Losuje pary (s A,v A ) oraz (s B,v B ). 3. Losuje e B,w B (z Z q ), oblicza x B =g w Bu B e B v B e B 2, określa h(xb,u B,u A,I B,I A )=x B 4. Wykonuje punkt czwarty dla danych z indeksami A. 5. Symuluje M'z wejściem p,q,g,i A,I B,(s A,v A ),(s B,v B ),(u A ;u B,e B,w B ;e A,w A ). 6. Podaje na wyjściu wynik maszyny M'.

Zakłócanie KAP Zakłócanie (interference) to aktywny atak, w czasie którego zmieniane są wiadomości wymieniane przez uczestników. Ma na celu uzyskanie informacji o kluczach prywatnych, albo doprowadzenie do nieuzgodnienia klucza przez strony. Zdefiniujemy Problem fałszowania sygnatury(sfp), który okazuje się być bardziej złożony niż problem logarytmu dyskretnego: wejście: p,q,g,v, gdzie v jest losowo wybrane spośród {g 0,...,g q 1 } wyjście: Msg,u,e,w, gdzie Msg jest wiadomością, a (u,e,w) jest prawidłową sygnaturą dla Msg, ze względu na klucz publiczny v.

Zakłócanie KAP c.d. Następnie zdefiniujmy problem interferencji (IP) : wejście: p,q,g,v, gdzie v jest losowo wybrane spośród {g 0,...,g q 1 } wyjście: I,I',u',u,e,w, gdzie u' {g 0,...,g q 1 } I,I'to ciągi {0,1} kowe (u,e,w) jest prawidłową sygnaturą dla (u',i,i') IP zakłada, że atakujący może sam wybrać wiadomość. Zauważmy że zakłócanie jest co najmniej tak trudne jak problem IP w IP I,I',u'mogą być dowolnie wybrane, natomiast przy zakłócaniu I'oraz u'są dane.s

Współdzielenie nieznanego klucza Przykład ataku unknown key share C próbuje przekonać B, że klucz jest uzgodniony z C, mimo że naprawdę jest uzgodniony z A. I ponownie bezpieczeństwo protokołu KAP na atak unknown key share opiera się na trudności logarytmu dyskretnego, z analogicznym lematem i dowodem jak dla zakłócania.

Podsumowanie KAP odporny na ataki pasywne i aktywne intuicyjny sposób uzgadniania kluczy (jak w protokole Diffiego Hellmana) stosowanie schematu podpisu przesyłanych danych (rozszerzenie schamatu podpisu Schnorra) przy każdym wykonaniu każdy uczestnik musi wygenerować dwie losowe liczby z Z q w normalnych warunkach (bez ataku) wymaga nieco więcej potęgowań niż inne protokoły z potwierdzaniem klucza

Protokół Hirosa Matsury oparty o schemat Diffiego Hellmana uzgadniania klucza odporny na atak DoS (zarówno obliczeniowy jak i pamięciowy) korzysta z idei bezstanowych połączeń dokonuje walidacji klucza bez jego wyliczania korzysta z szyfrowania symetrycznego do przechowywania prywatnych informacji wykorzystuje funkcje jednokierunkowe do unikania ataku obliczeniowego bezstanowość połączeń zwiększa ilość przesyłanych każdorazowo danych

Protokół Hiros'a Matsur'y schemat Inicjator: A Odpowiadajacy: B Krok 0 losowane: k A, r A z Z q obliczane: u A =g k A mod p, x A = g r A mod p losowane: k B, r B z Z q obliczane: u B =g k B mod p, x B = g r B mod p u Krok 1 A, ID A A B Krok 2 obliczane: e B =h(x B,u B,u A ), w B =r B +e B k B +e B2 s B mod q c B = E B (u B,x B ) u B,e B,w B, c B, ID B Krok 3 A B

Protokół Hiros'a Matsur'y schemat Krok 4 obliczenie: z B =g w Bu B e B v B e B 2 mod p sprawdzenie: e B?=h(z B,u B,u A ), obliczenie: a A =h(z B,u A,u B ) e A =h(x A,u B,u A,z B ) w A =r A +e A k A +e A2 s A mod q u A,e A,w A,a A,u B,e B,c B,ID A Krok 5 A B Krok 6 K A =u B k A mod p obliczenie: (u B,x B )=D B (c B ) sprawdzenie: e B?=h(z B,u B,u A ), a A?=h(z B,u A,u B ) obliczenie: z A =g w Au A e A v A e A 2 mod p sprawdzenie: e A?=h(z A,u B,u A,x B ) obliczenie: K B =u A k B mod p

Ulepszenie protokołu Hirosa Matsury KAP 1 obniża koszt walidacji klucza oraz zmniejsza liczbę operacji wykładniczych zakłada, że obie strony korzystają z tej samej jednokierunkowej funkcji oraz synchronicznych stempli czasowych nie korzysta z dodatkowego kryptosystemu korzysta z bezstanowych połączeń korzysta z wartości sekretów zależnych od aktualnego czasu (h(s B,t)) uzgadnianie klucza nie może się przeciągać

Ulepszenie protokołu Hirosa Matsury KAP 1 Zmiany w stosunku do protokołu Hirosa Matsury: (1) W kroku nr 2 zamiast w B =r B +e B k B +e B 2 s B mod q c B = E B (u B,x B ) obliczane są w B =r B +e B k B +s B h(t) mod q c B = x B h(s B,t) (2) W kroku nr 3 w wiadomości od B do A przesyłany jest dodatkowo stempel czasowy T: (u B,e B,w B, c B, ID B,T) (3) W kroku nr 4: nie jest wyliczana wartość a A

Ulepszenie protokołu Hiros'a Matsur'y KAP 1 c.d. zamiast z B =g w Bu B e B v B e B 2 mod p w A =r A +e A k A +e A 2 s A mod q obliczane są z B =g w Bu B e B v B h(t) mod p w A =r A +k A +s A mod q (4) W kroku nr 5 nie jest przesyłane a A u A,e A,w A,u B,e B,c B,ID A (5) W kroku nr 6 obliczane jest x B = c B h(s B,t) zamiast e B?=h(z B,u B,u A ) sprawdzane jest e B?=h(x B,u B,u A ); zamiast z A =g w Au A e A v A e A 2 mod p jest z A =g w Au A v A mod p

Ulepszenie protokołu Hiros'a Matsur'y KAP 2 Protokół KAP 1, korzystając z połączeń bezstanowych, przekazuje stosunkowo dużo informacji, co przy serwerach z niską przepustowością łączy może również ograniczyć zdolność serwera do współpracy z klientami Protokół KAP 2 stara się sprawdzić tożsamość klienta przed akceptacją żądania sprawdzenie tożsamości jest pierwszą operacja wykonywaną przez serwer.

Ulepszenie protokołu Hiros'a Matsur'y KAP 1 Zmiany w stosunku do protokołu KAP 2: (1) W kroku nr 0 obliczana jest wartość f A =g h(t)+s Av B mod p, która w kroku nr 1 przekazywana jest wraz ze stemplem czasowym w wiadomości stronie B: (u A, ID A,T,f A ) (2) W kroku nr 2 pierwszą akcją jest sprawdzenie czy g h(t) =f A v A g s B mod p i zamiast w B =r B +e B k B +s B h(t) mod q obliczane są w B =r B +e B k B +s B h(t') mod q

Bezpieczeństwo protokołów KAP 1 i KAP 2 Bezpieczeństwo wobec ataków pasywnych (aktywnych też) wynika w prosty sposób z trudności problemu logarytmu dyskretnego. Ponadto korzystanie ze stempli czasowych i wartości aktualnego czasu zapobiega atakom replay attacks.