Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Post Reference Customers
Zastosowanie kryptosystemów opartych na krzywych eliptycznych nad ciałami skończonymi w zabezpieczaniu transakcji z wykorzystaniem kart inteligentnych mgr inż. Grzegorz Wojtenko / 1
2
Post Reference Customers
Zastosowanie kryptosystemów opartych na krzywych eliptycznych nad ciałami skończonymi w zabezpieczaniu transakcji z wykorzystaniem kart inteligentnych Post Reference Customers / 2
3
Post Reference Customers
Plan seminarium Post Reference Customers 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 / 3
4
Struktura płatności na świecie
Post Reference Customers Gotówka Czeki Karty eGotówka W sklepie 60% 10% 30% 0% W sieci 95% 5% Katalog/ telefon 70% / 4
5
Płatności w Polsce – Q3/Q4 2006 (źródło: NBP)
Post Reference Customers / 5
6
Przebieg transakcji płatniczej
Post Reference Customers Centrum rozliczeniowe Wydawca ISO8583 itd.. NDC/DDC/ Ap40/SPDH/ ISO8583 itd.. / 6
7
Karty inteligentne a karty magnetyczne
Post Reference Customers 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! / 7
8
Kryptosystemy – co się porównuje
Post Reference Customers 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 / 8
9
Post Reference Customers
ECC a RSA Post Reference Customers ECC RSA Weryfikacja podpisu Generacja podpisu Uzgodnienie kluczy Rozmiar klucza/podpisu Rozmiar kodu / 9
10
Czynniki decydujące o efektywności
Post Reference Customers 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 / 10
11
Post Reference Customers
Krotność punktu (1) Post Reference Customers Metody uniwersalne: metoda binarna (ang. Binary Method) metoda binarna ze znakiem (ang. Signed Binary Method) metoda Yacobiego (ang. Yacobi’s Method) metoda Bos-Costera (ang. Bos-Coster’s 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 / 11
12
Post Reference Customers
Krotność punktu (2) Post Reference Customers Metody bazujące na endomorfizmach: - Expansion Method ( - endomorfizm Frobeniusa) NAF- Expansion Method JSF - Expansion Method Endomorfizm Frobeniusa: / 12
13
Post Reference Customers
Ataki na krzywe Post Reference Customers 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) / 13
14
Zabezpieczenia przed atakami SSCA
Post Reference Customers 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. / 14
15
Zabezpieczenia przed atakami DSCA
Post Reference Customers 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 / 15
16
algorytm rho-Pollarda: dP=Q
Post Reference Customers / 16
17
rho-P. - przyspieszanie
Post Reference Customers 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 / 17
18
Obserwatorzy, kryterium cechy (1)
Post Reference Customers 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ą. / 18
19
Obserwatorzy, kryterium cechy (2)
Post Reference Customers 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 / 19
20
rho-P: cała grupa vs. „grupa” pkt. pierwszych
Post Reference Customers / 20
21
Redukcja złożoności rho-P:
Post Reference Customers / 21
22
Rozkład liczb pierwszych w zbiorze N
Post Reference Customers / 22
23
Post Reference Customers
Jumping champion (JC) Post Reference Customers JC – liczba całkowita, która jest najczęstszą różnicą kolejnych liczb pierwszych dla liczb od 1000 do 10e12 takim championem jest 6 / 23
24
Rozkłady punktów pierwszych na krzywych
Post Reference Customers / 24
25
Rozkład liczb pierwszych i pkt. pierwszych
Post Reference Customers / 25
26
Jak trafiać na punkty pierwsze? (1)
Post Reference Customers 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 / 26
27
Jak trafiać na punkty pierwsze ? (2)
Post Reference Customers 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! / 27
28
Post Reference Customers
Propozycja Post Reference Customers Doświadczalny wybór reguły funkcji iteracyjnej charakteryzującej się częstszym trafianiem na punktu spełniające kryterium cechy / 28
29
Post Reference Customers
Metoda alternatywna Post Reference Customers 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 / 29
30
Krok1: Wyznaczanie obserwatorów
Post Reference Customers 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ść / 30
31
Nowe kryterium zajścia kolizji
Post Reference Customers 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 / 31
32
Krok 2: Wyznaczanie reguły (1)
Post Reference Customers / 32
33
Krok 2: Wyznaczanie reguły (2)
Post Reference Customers / 33
34
Krok 2: Wyznaczanie reguły (3)
Rząd grupy Nr reguły Liczba punktów pierwszych/ liczba iteracji 262469 1 16,457% 2 15,361% 3 17,361% 4 16,239% 524203 16,219% 10,298% 13,033% 15,469% 14,349% 11,436% 15,400% 14,443% 14,231% 12,575% 13,073% 17,354% Post Reference Customers / 34
35
Post Reference Customers
Porównanie reguł Post Reference Customers / 35
36
Faza II: rho-P. z wybraną regułą
Post Reference Customers rząd grupy 65437 teoretyczna liczba iteracji 320 teoretyczny udział punktów pierwszych 18,40% udział punktów pierwszych dla reguły 18. 16,93% udział punktów pierwszych dla reguły 19. 23,61% do 80 rzeczywista liczba iteracji reguły 18. 368 300 rzeczywista liczba iteracji reguły 19. 360 170 / 36
37
Post Reference Customers
Przykład: Post Reference Customers / 37
38
Zrównoleglenie metody
Post Reference Customers / 38
39
Zastosowanie metody w różnych grupach
Post Reference Customers 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 / 39
40
Generatory oparte na krzywych - ECRNG
Post Reference Customers 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 przekształcająca reprezentację binarną współrzędnej x punktu P w liczbę całkowitą - funkcja odrzucenia części skrajnych bitów / 40
41
Propozycja – generator Pollard-ECRNG
Post Reference Customers 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. / 41
42
Post Reference Customers
Pytania? Post Reference Customers Dziękuję za uwagę / 42
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.