Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Zastosowanie kryptosystemów opartych na krzywych eliptycznych nad ciałami skończonymi w zabezpieczaniu transakcji z wykorzystaniem kart inteligentnych.

Podobne prezentacje


Prezentacja na temat: "Zastosowanie kryptosystemów opartych na krzywych eliptycznych nad ciałami skończonymi w zabezpieczaniu transakcji z wykorzystaniem kart inteligentnych."— Zapis prezentacji:

1 Zastosowanie kryptosystemów opartych na krzywych eliptycznych nad ciałami skończonymi w zabezpieczaniu transakcji z wykorzystaniem kart inteligentnych mgr inż. Grzegorz Wojtenko

2 Zastosowanie kryptosystemów opartych na krzywych eliptycznych nad ciałami skończonymi w zabezpieczaniu transakcji z wykorzystaniem kart inteligentnych

3 Plan seminarium Transakcje finansowe – tło i uwarunkowania Porównanie kryptosystemów Krzywe eliptyczne w kryptografii Ataki na kryptosystemy oparte na krzywych eliptycznych Algorytm rho-Pollarda Przyspieszanie rho-Pollarda Generatory oparte na krzywych eliptycznych Podsumowanie

4 Struktura płatności na świecie GotówkaCzekiKartyeGotówka W sklepie 60%10%30%0% W sieci 0% 95%5% Katalog/ telefon 0%30%70%0%

5 Płatności w Polsce – Q3/Q (źródło: NBP)

6 Przebieg transakcji płatniczej Centrum rozliczeniowe Wydawca NDC/DDC/ Ap40/SPDH/ ISO8583 itd..

7 Karty inteligentne a karty magnetyczne Przewaga kart mikroprocesorowych nad magnetycznymi: bezpieczeństwo przetwarzania i przechowywania danych większa pamięć wieloaplikacyjność bezstykowe rozwiązania ale karta mikroprocesorowa jest wielokrotnie droższa!

8 Kryptosystemy – co się porównuje długość kluczy długość podpisu cyfrowego oraz certyfikatu długość wiadomości konieczna do uzgodnienia klucza złożoność procesu generowania pary kluczy szybkość deszyfrowania i generowania podpisu łatwość walidacji parametrów bazowych, w tym klucza publicznego rozmiar kodu aplikacji

9 ECC a RSA ECCRSA Weryfikacja podpisu Generacja podpisu Uzgodnienie kluczy Rozmiar klucza/podpisu Rozmiar kodu

10 Czynniki decydujące o efektywności metoda znajdowania krotności punktu dP reprezentacja punktów na krzywej (rodzaj współrzędnych), rodzaj ciała odniesienia i związane z nim metody realizacji arytmetyki w ciele, platforma implementacji (dedykowana lub ogólnego przeznaczenia, sprzęt, oprogramowanie, w tym firmware i middleware) oraz dostępne zasoby sprzętowe, język implementacji i sposób programowania

11 Krotność punktu (1) Metody uniwersalne: metoda binarna (ang. Binary Method) metoda binarna ze znakiem (ang. Signed Binary Method) metoda Yacobiego (ang. Yacobis Method) metoda Bos-Costera (ang. Bos-Costers Method) metoda NAF (ang. Non-Adjacent Form method) metoda JSF (ang. Joint-Sparse Form method) metoda połowienia punktu (ang. Point Halving method) oraz ich rozwinięcia o obliczenia wstępne Cel: minimalizacja liczby Hamminga rozwinięcia mnożnika d

12 Krotność punktu (2) Metody bazujące na endomorfizmach: - Expansion Method ( - endomorfizm Frobeniusa) NAF- Expansion Method JSF - Expansion Method Endomorfizm Frobeniusa:

13 Ataki na krzywe naiwne przeszukiwanie Polinga-Hellmana (redukcja do podgrup) małych i dużych kroków (ang. baby step, giant step) rho-Pollarda: w oparciu o cykl Floyda Oorchota-Wienera (zrównoleglenie) redukcja MOV (redukcja do logarytmu dyskretnego w F) na bazie krzywych hipereliptycznych ataki SDA: SSCA (ang. Simple Side Channel Analysis) DSCA (ang. Differential Side Channel Analysis)

14 Zabezpieczenia przed atakami SSCA fikcyjne operacje arytmetyczne, nierozróżnialne lub zunifikowane formuły na dodawanie i podwojenie punktu, wykorzystanie algorytmów mnożenia punktu ze stałą liczbą operacji grupowych.

15 Zabezpieczenia przed atakami DSCA randomizacja mnożnika: zmiana reprezentacji (binarnej) mnożnika d zaciemnianie punktu, np.: dP = (d+k1+k2n)P-k1P randomizacja elementu bazowego: dP = d(P + R) – S, gdzie R tajne, takie że: S = dR np. metoda BRIP (binary expansion with random initial point ) alg. Kima: WADA: klasa algorytmów add-and-double always randomizacja przez nadmiarowość reprezentacji randomizacja przez wykorzystanie ciał izomorficznych

16 algorytm rho-Pollarda: dP=Q

17 rho-P. - przyspieszanie zrównoleglenie wg Oorschota-Wienera znajdowanie wielu logarytmów w tej samej grupie wyróżnienie klas równoważności: krzywe ABC punkty przeciwne niealgebraiczne zbiory – kryterium cechy

18 Obserwatorzy, kryterium cechy (1) Definicje: Obserwator – wyróżniony punkt w danej grupie cyklicznej, którego logarytm jest znany. Po napotkaniu obserwatora w wybranej metodzie poszukiwania logarytmu jej złożoność obliczeniowa staje się liniowa. Punkt pierwszy – punkt na krzywej, którego współrzędna x jest liczbą pierwszą.

19 Obserwatorzy, kryterium cechy (2) Cel: ograniczenie przestrzeni badanych punktów do punktów spełniających wybrane kryterium cechy Cecha powinna się charakteryzować: łatwość sprawdzenia determinizm pozwalający określić rozkład punktów o wybranej cesze pośród wszystkich punktów w grupie nieliczność, tzn. im mniejsza liczba elementów niealgebraicznej podgrupy, tym większa redukcja przeszukiwanej przestrzeni Kryterium podstawowe: pierwszość współrzędnej x punktu

20 rho-P: cała grupa vs. grupa pkt. pierwszych

21 Redukcja złożoności rho-P:

22 Rozkład liczb pierwszych w zbiorze N

23 Jumping champion (JC) JC – liczba całkowita, która jest najczęstszą różnicą kolejnych liczb pierwszych dla liczb od 1000 do 10e12 takim championem jest 6

24 Rozkłady punktów pierwszych na krzywych

25 Rozkład liczb pierwszych i pkt. pierwszych

26 Jak trafiać na punkty pierwsze? (1) d – zmienna losowa określająca liczbę punktów bazowych (odległość), które należy dodać do danego punktu pierwszego, aby uzyskać kolejny punkt pierwszy Zmienna d ma rozkład geometryczny

27 Jak trafiać na punkty pierwsze ? (2) Niech: n – rząd grupy punków, n – rząd grupy punktów pierwszych, k – liczba operacji grupowych, które trzeba wykonać, aby w trakcie wykonania jednej iteracji funkcji F trafić na punkt pierwszy, P* - prawdopodobieństwo, że wybrany punkt jest punktem pierwszym i wynosi: jeżeli to ale Statystyczne wyznaczanie pozycji punktów pierwszych jest zbyt drogie!

28 Propozycja Doświadczalny wybór reguły funkcji iteracyjnej charakteryzującej się częstszym trafianiem na punktu spełniające kryterium cechy

29 Metoda alternatywna Faza I – inicjalizacja Krok 1. Wyznaczyć zbiór obserwatorów Krok 2. Na losowej próbce punktów badanej krzywej wyznaczyć regułę, która statystycznie częściej, niż inne reguły trafia na wyróżnione punkty Faza II – zasadnicza Krok 3. Uruchomić algorytm rho-Pollarda, gdzie funkcją iteracyjną będzie reguła wyznaczona w Kroku 2

30 Krok1: Wyznaczanie obserwatorów sprawdź, czy dana liczba jest pierwsza i czy wyznacza punkt na krzywej retrospektywnie, dla działającego rho-P sprawdzaj, który z punktów jest pierwszy wyznacz punkt i sprawdź jego pierwszość

31 Nowe kryterium zajścia kolizji Wyliczenie jednej liczby reprezentującej wszystkich obserwatorów: Nowe kryterium: NWD(Obs_total, Xx), gdzie Xx jest współrzędną x punktu wygenerowanego przez funkcję iteracyjną F: NWD(Obs_total, Xx) =1 – brak kolizji NWD(Obs_total, Xx) = pi – zaszła poszukiwana kolizja NWD(Obs_total, Xx) 1 oraz NWD(Obs_total, X) pi – brak informacji

32 Krok 2: Wyznaczanie reguły (1)

33 Krok 2: Wyznaczanie reguły (2)

34 Krok 2: Wyznaczanie reguły (3) Rząd grupy Nr reguły Liczba punktów pierwszych/ liczba iteracji ,457% ,361% ,361% ,239% ,219% ,298% ,033% ,469% ,349% ,436% ,400% ,443% ,231% ,575% ,073% ,354%

35 Porównanie reguł

36 Faza II: rho-P. z wybraną regułą rząd grupy65437 teoretyczna liczba iteracji320 teoretyczny udział punktów pierwszych18,40% udział punktów pierwszych dla reguły 18.16,93% udział punktów pierwszych dla reguły 19.23,61%0do 80 rzeczywista liczba iteracji reguły rzeczywista liczba iteracji reguły

37 Przykład:

38 Zrównoleglenie metody

39 Zastosowanie metody w różnych grupach metoda nie zależy od struktury i charakteru grupy, w której poszukiwany jest logarytm, można ją stosować zarówno dla krzywych określonych nad ciałami złożonymi jak i do poszukiwania logarytmu dyskretnego w grupach multiplikatywnych w przypadku krzywych nad ciałami złożonymi odpowiednikiem liczb pierwszych są wielomiany moniczne

40 Generatory oparte na krzywych - ECRNG - funkcja przekształcająca reprezentację binarną współrzędnej x punktu P w liczbę całkowitą Q – parametr inicjalizacyjny będący losowo wybranym punktem na krzywej si – liczba całkowita otrzymana z reprezentacji bitowej współrzędnej x pewnego punktu P - funkcja odrzucenia części skrajnych bitów

41 Propozycja – generator Pollard-ECRNG Idea: zastąpienie formuły funkcją iteracyjną algorytmu rho-Pollarda Uproszczony algorytm Pollard-ECRNG 1. wybierz losowy punkt Q 2. wyznacz z formuły wg. Teske 3. wyznaczaj sekwencje, gdzie funkcje oraz jak w oryginalnym logarytmie ECRNG.

42 Pytania? Dziękuję za uwagę


Pobierz ppt "Zastosowanie kryptosystemów opartych na krzywych eliptycznych nad ciałami skończonymi w zabezpieczaniu transakcji z wykorzystaniem kart inteligentnych."

Podobne prezentacje


Reklamy Google